Date: Wed, 15 Nov 1995 21:18:15 -0800 From: Darryl Okahata <darrylo@hpnmhjw.sr.hp.com> To: Bruce Evans <bde@zeta.org.au> Cc: gwk@cray.com, sos@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: "Bug" in syscons? Message-ID: <199511160518.AA276929095@hpnmhjw.sr.hp.com>
index | next in thread | raw e-mail
> TS reg 4 bit 0x01 is "Reserved" for the ET4000. Better not use it.
> GDC reg 6 bit 0x01 is "Graphics mode enable"; bits 0x04 and 0x08
Bingo -- the magic bit is the GDC misc register (reg. 6) bit 0x01.
Leaving this bit set causes my video card to have corrupt fonts when
switching from graphics (X-windows) to text (syscons console). To the
end of this message, I've appended a minimal syscons patch (it's
relative to the original 2.0.5 syscons.c). I've tested it with an
Hercules Stingray VL (VLB video card) and a 2MB ISA-based Hercules
Dynamite Pro.
While attempting to fix this bug, I also tried resetting the
sequencer and adding splhigh()/splx() to set_font_mode(), but these
didn't do anything.
If other cards need bit 0x01 to be set, perhaps we can add some
kind of broken-video-card #if directives to optionally use code that
doesn't set bit #6?
For the record, my hardware config is (my earlier messages
contained slightly incorrect info regarding my Stingray VL card):
* Hercules Stingray VL. This is a 1MB, VLB video card based upon the
Avance Logic ALG2228 chip. The date code appears to be 9447. The DAC
appears to be marked as an Avance Logic ALG1201-OAL110, although
SuperProbe reports the presence of an "AcuMos ADAC1 15/16/24-bit DAC".
* NICE Super EISA rev. 1 motherboard with an Intel DX4/100.
I have also tested the included patch on the following video card:
* 2MB Hercules Dynamite Pro, ISA-bus version. This is an ET4000/W32i
rev. B-based card. The patch did not cause any problems with this
card, but it did not fix the problem that I had with it regarding the
XFree86 3.1.1 XF86_W32 server (yes, 3.1.1, and not 3.1.2). [ The
problem was that xdm would hang the console, after exiting an X
session. The system appeared to be fully functional, except that the
console was hung (pressing any key would just result in beeping).
Fortunately, Ctrl-Alt-Del still worked. ;-( ]
-- Darryl Okahata
Internet: darrylo@sr.hp.com
DISCLAIMER: this message is the author's personal opinion and does not
constitute the support, opinion or policy of Hewlett-Packard or of the
little green men that have been following him all day.
===============================================================================
*** syscons.c.orig Mon Nov 13 23:13:43 1995
--- syscons.c Wed Nov 15 20:12:06 1995
***************
*** 2807,2819 ****
outb(TSIDX, 0x04); outb(TSREG, 0x06);
outb(GDCIDX, 0x04); outb(GDCREG, 0x02);
outb(GDCIDX, 0x05); outb(GDCREG, 0x00);
! outb(GDCIDX, 0x06); outb(GDCREG, 0x05);
#else
outw(TSIDX, 0x0402);
outw(TSIDX, 0x0604);
outw(GDCIDX, 0x0204);
outw(GDCIDX, 0x0005);
! outw(GDCIDX, 0x0506); /* addr = a0000, 64kb */
#endif
}
--- 2807,2819 ----
outb(TSIDX, 0x04); outb(TSREG, 0x06);
outb(GDCIDX, 0x04); outb(GDCREG, 0x02);
outb(GDCIDX, 0x05); outb(GDCREG, 0x00);
! outb(GDCIDX, 0x06); outb(GDCREG, 0x04);
#else
outw(TSIDX, 0x0402);
outw(TSIDX, 0x0604);
outw(GDCIDX, 0x0204);
outw(GDCIDX, 0x0005);
! outw(GDCIDX, 0x0406); /* addr = a0000, 64kb */
#endif
}
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511160518.AA276929095>
