Re: vgacon & mdacon hercules related question

Gabor Lenart (lgb@oxygene.terra.vein.hu)
Mon, 31 May 1999 12:57:20 +0200


On Mon, May 31, 1999 at 12:12:26PM +0200, Martin Mares wrote:
> The problem is that the video memory size detection routines in mdacon.c
> are not 100% reliable. I've already seen several bug reports on this and it
> seems we'll have to add a optional parameter to override the size. I want
> vgacon (being the default console driver on PC's) to work perfectly with
> all cards, even if it means scrollback being unsupported on the HGC.

As far as I know there would be two ways to detect hercules :

* Detecting with different video memory size (write a byte, read back, compare)
* There is a bit on a hercules port which inditcated vertical (or horizontal)
retrace. This technique is used in mdacon to detect hercules.

(A nice question : what are hercules plus and hercules color ? I haven't
managed to seek any information on them ...)

> Anyway, we might try adding a command-line option for specifying the
> size manually or just detect HGC and assume minimum memory size possible
> for a HGC. This (and setting vga_hardscroll_enable to 1) should be enough
> to get a working hardware scrolling and scrollback.

I hard-wired some settings on my Linux machine with only a hercules display
(instead of auto detecting) :

display_desc="*HGC";
request_region(0x3b0,16,"hgc");
vga_vram_base=0xb0000;
vga_vram_address=0xb8000;
vga_hardscroll_enabled=1;

The result was strange ... On screen scrolling everything messed up :(
Changing VT away and back fix the problem till the next scroll event.
[Temporary I created a syscall to controll my kernel changes :) and without
enabling hardscroll on HGC everything worked OK with my console changes
too. So the problem is with hardscroll on hgc.]

However creating kernel parameter to force using HGC (with hardscroll)
is a good idea, I think.


> > The best thing would be separated mda and vga console code but it has
> > got one big disadvantage : kernel compiled to VGA console won't run
> > on hercules and vice versa. I think there should be a cleaning about
> > mda & vga console handling ... Also interesing things about dual heading
> > system (VGA/Hercules). Maybe we should have only ONE driver for mda (and
> > hercules too) / VGA with capability to handle multiple output (like VGA
> > and MDA) ?
>
> Current situation is:
>
> o vgacon supports MDA, HGC, EGA and VGA cards, but can be
> loaded only once.
> o mdacon supports MDA/HGC as a secondary display, but it can be
> also configured to take over the videocard and replace vgacon.
>
> It would be nice to have one driver which could be loaded multiple
> times, but it isn't trivial to implement.
>
> > Another question : is there way to reduce the effect to sound playing of
> > hercules displaying (for example using XF86_MONO ...) or this is the effect
> > of the famous "excellent" PC architecture ?
>
> It's probably because of poor shielding of the sound card :-(

I don't think so because this is not that type of noise. Playing can be skipped
for even seconds when scrolling display. Less agressive screen changing
casues only strange noise. I heard that it is casued by the ISA arhitecture
(it does not matter when I played with PCI/ISA pair of card instead of
ISA/ISA ...)


-- 
 ---[ LGB/DC ]------------[ University Of Veszprém ]------[ Lénárt Gábor ]---
 "The truth is out there"  "We're l{ea,i}ving together" "The future is dark."
 ---[ 88/422022(4602) ]---[ http://lgb.hal.vein.hu ]---------[ 87/477074 ]---
finger lgb@hal2000.hal.vein.hu for more information including my PGP&GEEK code

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/