Hi Samuel,

I looked into this about a year ago, as I also have a 640x480x16
legacy DOS app I wanted to run under xdos.  Unfortunately, the X
interface for DOSEMU does not bother to implement the 16-color
graphics modes of the VGA - just 256 color modes or better.  When you
get down to it I guess, those 16-color modes haven't been used by many
people since the late 1980's for doing graphics mode stuff, so I can
understand the DOSEMU developers not putting any effort into it.

Having done most of my graphics related programming under DOS in the
late 1980's, I can tell you that the 16-color mode of the EGA/VGA is a
LOT more complicated than the 256 color modes.  256-color modes are
organized simply as a large array of bytes, with one byte per pixel,
along with a 256 entry palette table, saying what 24-bit color each of
the values 0-255 map to.  Nice and easy to implement.  The 16-color
modes of the EGA/VGA are implemented as 4 planes, with 1 bit per
plane, per pixel.  You have to do a lot of AND/OR bit level operations
across the planes to get the output color 0-15 for a specific pixel on
the output display.  This is just so much more complicated than
256-color and better VGA modes that it is ridiculous.

The only solution a year ago was to run those 16-color graphics apps
under DOSEMU in console mode, and it appears to still be the only
solution available under DOSEMU - unless someone want's to jump in and
implement it!  I am capable of doing it, and am very familiar with how
the 16-bit graphics hardware is implemented - but I sure don't have
the time to mess with it...

 --
If you have to think twice about it, you're wrong.
 --
/------------------------------------------------\
| Jim Morris  | Business:  [EMAIL PROTECTED] |
|             | Personal:  [EMAIL PROTECTED]        |
|------------------------------------------------|
|    World Wide Web:  http://Jim.Morris.net      |
|       AOL Instant Messenger:  JFM2001          |
\------------------------------------------------/

Reply via email to