I chose "Doom8088" over "Doom286" because I like it's 8 characters.
But now for every version I want to make (Mode Y, MCGA, EGA, Tandy, CGA, monochrome), I'll have to compile an 8088 version and a 286 version. :(
Texture mapped walls, the color of the floors and ceilings is based on the texture of the floors and the ceilings.
E1M1 is playable, sort of. E1M2 is a slideshow.
I've decreased the horizontal resolution from 120 to 60 pixels and I've made some performance improvements, but now it crashes sometimes because it's trying to divide by zero.
Here are two videos of Doom8088 running in 86box emulating a 286 @ 25 MHz.
GBADoom and Doom8088 render 120x128 pixels + a 240x32 status bar to a 240x160 buffer. This quick hack takes every third byte of that buffer and writes it to 0xb800, etc. This way you get 80 columns. To not end up with a bunch of vertical lines, the bytes for the odd lines are rotated 4 bits.
So...
To celebrate 40 years of PCjr, here's a quick hack of Doom8088 with 160x200 16 color PCjr graphics.
It's running in DOSBox with machine=pcjr and cycles=3000.
Right now it uses a back buffer that's copied to the screen every frame. I first want to see if using Mode X and double buffering improves the frame rate before I try CGA graphics.
GCC for 8088 jokes about compiling Doom with gcc-ia16.
Well, I got it working. In DOSBox at 50000 cycles I get 50 fps with gcc-ia16, 40 with Watcom.
Here's a video of Doom8088 on a real 386SX running at 20 MHz.
Doom on a 286 is "one of the most important milestone in Doom porting ever. Countless people have upgraded their 286s in the past for one reason - Doom didn't run on them.
And we're all know that basically 286 has practically the same power than 386 at the same frequency, so with a fast VGA...
The release has been updated. It now includes optimized versions for 286 and 386 processors. It also includes a 32-bit version.
When I run timedemo 3 in DOSBox, only the 8088 version optimized for space can run the whole demo without crashing due to memory issues :(
(BTW, the 32-bit version can...
New version
No textures and no status bar, but sprites are cached and the lookup tables are in memory all the time.
Benchmarking is possible by running DOOM8088.EXE -timedemo demo3.
P.S. I haven't run it on a real computer.