Wolfenstein 3D with a CGA Renderer
github.com
github.com
1. https://forum.vcfed.org/index.php?threads/wolfenstein-3d-sys...
The dithering (on a VGA card and modern LCD) sort of makes it hard to view; an EGA port might be interesting as 16 colours might be enough to make it workable without dithering. Although if they're using 2x2 blocks for dithering, they'd be effectively cutting the number of "pixels" to render by a factor of four, and that might make it viable.
However... there is a little known game that id Software did release that would run on an 8088. It's called Catacomb 3-D[1]. It was basically Wolfenstein with goblins and skeletons. Pretty sure that engine went on to become Wolf3d.
Despite the Wikipedia page saying it runs on a EGA I had a CGA monitor and was running it. Thinking I might be losing my mind I downloaded the source code on archive.org[2] and sure enough there is reference to CGA code all over the place.
The README in the project talks about "8088 support" being added, but the only thing I see in the commit log is the replacement of a stray 286 assembler directive.
Shift-by-immediate-value was introduced with the 80186 (and became broadly available with the 80286). https://en.wikipedia.org/wiki/Intel_80186#cite_ref-6
You need to decrease the window size a bit if want it to be playable on a 286, though. At full size, I tend to get a headache.
Germany has unbanned Wolfenstein in 2019 :)
The oldest kit I own is a Toshiba MSX PC. It can run MSX-DOS but wrong architecture for Wolf3d unfortunately.
I am working on FPGA-based converter to be able to show RGBI and composite CGA on modern VGA screens.
You can get it as one big 19M download or 11 separate 3.5 floppy downloads. =D
A few questions:
1. Is the Tandy mode compatible with Amstrad's PC1512 and PC1640 / Plantronics CGA extensions, or maybe these should get dedicated support?
2. Any plans to also implement "modifications" beyond the ones for the i8088 so it can also run on a Z80 or a ASCII corp R800?
Wolf3D has a much more limited renderer - only walls are rendered, no lighting (the shaded side for walls is actually different textures) and the viewport is fixed at the middle of the walls for example. On the other hand Wolf3D was much faster and responsive and had a larger render window than UU.
UU itself was not open sourced, however System Shock 1 which is based on the same engine was[0][1].