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 |
\------------------------------------------------/