Xref: news2.mv.net comp.os.msdos.djgpp:2816 From: Robert.Wagner Newsgroups: comp.os.msdos.djgpp Subject: Re: [Q] Homemade 16-bits-per-pixel gfx mode? Date: 16 Apr 1996 21:40:09 -0500 Organization: Louisiana State University Lines: 38 Sender: pswagn AT unix1 DOT sncc DOT lsu DOT edu Message-ID: <4l1lm9$4n9l@unix1.sncc.lsu.edu> NNTP-Posting-Host: unix1-t.sncc.lsu.edu To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp >I tried this out on my Cirrus VGA, and indeed something happened.. but >it doesn't seem to be exactly like that. After some experiments, I >found out that my VGA had entered a mode like this: > >- resolution: unchanged (320x200) >- bpp: unchanged (8bpp) >- write mode: 'direct', that is, what you write into video ram goes > directly to the DAC, regardless of the palette settings. Actually, > the bits in each video ram byte are organized as follows: > > IRRBBBGG > ^ ^ > msb lsb > This seemed really fun thing to play around with, and I got the following results: after reading the port $3c6 four or more times, the mode you enter depends apon what value you send to the port. Here are the unique ones I found: value written | resulting bitpattern | notes --------------|------------------------------------------- 0xc0 | IRRBBBGG | same as 0x80 0xc1 | RRRBBGGG | looks nicer, more gradients 0xc8 | greyscale | this is a 256 shade greyscale! 0xc5 | strange greyscale | " with first column redscale(strange) 0xc9 | IRRRGGBB | same as 0x80 but red has 8 shades 0x90 - 0x9f | *RRBBBGG | as 0x80, but entries 128-255 are | | the same as for normal mode 13h --------------|----------------------|-------------------------------------- (for all of the "modes" that are 0xc?, c can be replaced with d or e). Tweaking modes is fun :) -Rob