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>
next in thread | raw e-mail | index | archive | help
> 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 }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511160518.AA276929095>