Maes
I like big butts!

Posts: 8661
Registered: 07-06 |
As you may know, the v0.4 Doom Alpha was suspected for a long time to have a HiColor mode, which however none was ever able to get to work to the best of my knowledge.
Among the various detail modes available in the Alpha, pressing "R" would turn the screen from normal (left) into something like this (right):
http://www.image-share.com/upload/1088/185m.png http://www.image-share.com/upload/1088/186m.png
Many thought this was a broken screen mode, but upon closer analysis, this turned out to be, indeed, the "lost" HiColor mode. In this mode, the Alpha does indeed write 16-bit 555 RGB pixels to the screen, only that the VGA screen mode is never changed to a proper 320x200 HiColor mode. The bands you see are actually the high and lower bytes of the 16-bit color blits interpreted as 8-bit indexes.
Luckily, there's a way to recomposite them into proper (well, almost) HiColor images: by saving the DOSBOX screenshots as BMP without any other change, the raw indexes (and thus the actual data in the VGA buffer) is preserved. Without any other changes, I tweaked the BMP file a bit so the bit depth was set to 16-bit, and the horizontal resolution to 160 pixels, while preserving the same data.
This is the result:
http://www.image-share.com/upload/1088/194m.png
As with my Mocha Doom HiColor experiment, the difference in color depth is hard to see with the naked eye, but The Gimp's ColorCube analysis doesn't lie:
- Normal mode screenshot: 130 unique colors;
- HiColor interpretation of garbled screenshot: 224 unique colors
More screenies:
http://www.image-share.com/upload/1088/188m.pnghttp://www.image-share.com/upload/1088/189m.pnghttp://www.image-share.com/upload/1088/206m.png
http://www.image-share.com/upload/1088/191m.pnghttp://www.image-share.com/upload/1088/192m.pnghttp://www.image-share.com/upload/1088/211m.png
Apparently, Doom only rendered to a 160x200 window in this mode, or there is data which is ending up in non-visible addresses of the VGA (perhaps only even columns are written in the first 64K of the VGA? Only a debugger could reveal whether this is the case). I have no idea if anyone has ever seen this mode working in practice, but under DOSBOX at least no graphics card emulation mode causes a switch to a proper mode: all give garbled stripes.
In any case, this is more proof that this mode wasn't worth the effort: it would double the video bandwidth for little or no gains in visuals, at least not in id levels and not at vanilla resolution, let alone that they'd probably have to bundle doom.exe with a host of different video drivers to support all kinds of different SVGAs at the time.
Last edited by Maes on 11-28-11 at 14:13
|