[comp.unix.microport] microport & Zenith 'VGA'

jim_d@cimcor.mn.org (Jim Dahlberg) (12/13/88)

I have a Zenith '386 with a Z449 'VGA' card and VGA monitor.  This is
usually advertised as a VGA card, but is really an enhanced EGA card,
although it does drive analog VGA monitors.  Anyway, my problem is that
microport does not support this configuration.  The startup files must
set the EGA hardware registers directly instead of through bios, because
the monitor goes out of sync.  I'm sure the CRT registers are set up for
the EGA 22 KHz sync rate, and my VGA monitor only understands 31 KHz. 
If the modes are set up thru bios, the EGA modes are simulated with 31KHz
sweep rates.  Anybody have a fix for this?

bill@twwells.uucp (T. William Wells) (12/19/88)

In article <619@cimcor.mn.org> jim_d@cimcor.mn.org (Jim Dahlberg) writes:
: I have a Zenith '386 with a Z449 'VGA' card and VGA monitor.  This is
: usually advertised as a VGA card, but is really an enhanced EGA card,
: although it does drive analog VGA monitors.  Anyway, my problem is that
: microport does not support this configuration.  The startup files must
: set the EGA hardware registers directly instead of through bios, because
: the monitor goes out of sync.  I'm sure the CRT registers are set up for
: the EGA 22 KHz sync rate, and my VGA monitor only understands 31 KHz.
: If the modes are set up thru bios, the EGA modes are simulated with 31KHz
: sweep rates.  Anybody have a fix for this?

I had a similar problem with my VGA, a Tecmar. John Plocher of
Microport suggested a kernel patch, which mostly fixed my problem:

	/etc/patch /unix -b kd_dontusebios 1

This must be done to the /unix file, not to the running kernel.

Here's the theory: the initialization routine, for no good reason,
doesn't use the standard method for finding the display card
parameter tables.  What it does is to hunt for them. If it finds them
all is well; if not, it uses a default. Now, the VGA in my Zenith
fakes out the routine: it thinks it found a valid parameter table but
it hasn't.  It uses those bogus parameters, with interesting but not
useful results.

The patch forces the initialization routines to use it's default,
instead of trying to find the table.

Caveat: while the parameter table might be OK in the initial mode, it
may not be OK in any other mode. You should experiment with mode
changes early on, so that you can discover what wierd effects will
occur, if any.

Oh, yeah, if this works, go bug Microport. Had the initialization code
been designed correctly, the driver would have been compatible with
many more display cards. This is not a flame at Microport; I'm just
noting that, if you don't bitch about bugs, they won't know that
anyone cares if they get fixed.

---
Bill
{uunet|novavax}!proxftl!twwells!bill