[ * Replying from comp.os.msdos.programmer * ]
On 2006-06-16
(E-Mail Removed) (Jordan Hazen) said:
> I'm having a problem with the integrated S3 ProSavage video chipset
> (VT8605) on an older Socket 370 motherboard. Any attempt to change the
> standard VGA palette (DAC color map) is silently ignored. I tried
> Linux's virtual-console escape sequence:
>
> (ESC) ] P c rr gg bb
>
> e.g. (ESC)]P7F0F0F0
>
> and also writing directly to the standard VGA DAC registers at 0x3c8,
> 0x3c9 using the code included below. Neither will work on this
> particular board. Graphical framebuffer console behave the same as
> text-mode.
>
> Booting off a DOS floppy and running shareware tools like "palpal.exe"
> also yield no change to the color table. With every other board, all
> these methods work fine.
>
> EGA Palette registers at 3c0, 3c1 do function correctly for remapping
> the 16 "CGA" colors to 64 standard EGA colors, but with only three
> luminance levels available, this doesn't help much in setting up
> grayscale palettes for a monochrome monitor.
>
> Does the VT8605 have a special "lock" register I need to clear before
> the VGA DAC palettes can be changed? Perhaps the DAC tables are mapped
> differently on this chip than on every other VGA card?
>
> Any insight would be appreciated...
>
> [ ... code snip ... ]
While I'm not familiar with this particular chipset, there are
certain universal true-isms that should apply to *all* VGA video.
Since some of these true-ism don't seem to apply to yours, here
are a few random thoughts:
1. The chipset or associated circuit components might be "broken."
2. It's remotely possible that the chipset simply doesn't support
changing the DAC color map. Some of those older "integrated"
video systems were pretty funky.
3. The chipset could be wildly proprietary, and originally have
required a memory-resident software "driver." Though rare,
this wasn't entirely unheard-of with older video hardware.
4. Have you tested to make absolutely certain that the video is
actually VGA? Under DOS, you can use INT 10h, Function 01Ah,
Sub-Function 0 (see Ralf Brown's Interrupt List, or any good
tech ref).
5. Have you tested to determine if the video system is VESA-
compatible? Under DOS, you can use INT 10h, Function 04Fh,
Sub-Function 0 (see Ralf Brown's Interrupt List, or any good
tech ref).
And if the system is VESA-compatible, have you tried using
VESA commands (INT 10h, Function 04Fh, various sub-functions),
rather than directly accessing the hardware?
6. If your ultimate goal is merely to make the display look good
with a monochrome VGA monitor, have you tried enabling
grayscale summing? This, alone, is often sufficient -- without
the need to futz with the DAC color map:
; Enable grayscale summing
mov ax,1200h
mov bl,33h
int 10h
; Disable grayscale summing
mov ax,1201h
mov bl,33h
int 10h
Good luck!
----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----