• Please review our updated Terms and Rules here

Doom8088: Doom on a 286 / 8088

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 applaud the effort, but I do have one request: Since there is no way it will ever run acceptably on an 8088, is there any chance the name of the project could be changed to something much more representative of its tooling and plausible targets? Doom16 would be a much better name...
 
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. :(
 
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. :(

Even more reason to rename it Doom16, as that applies to both 8088 and 286.
 
Googling for Doom16 shows results about the 2016 Doom game. I've came across the misnomer Doom88 which I think is pretty funny. It's as if this port came out in 1988.

Anyway, in the last 10 months support has been added for Mode Y, and 80x25 and 40x25 16 color text modes. The WAD file is smaller and if it fits it's loaded into XMS memory. Pressing Alt, Shift and Space has the same effect as in vanilla Doom. The floors and ceilings have different colors than before.

Here's a video showing the 40x25 text mode in MartyPC running at 4.77 MHz. Yes, it's slow.
I did finish this version of the game on a 386 @ 20 MHz. I've also finished the 80x25 version on a Toshiba T3200 with a 286 running at 12 MHz and an orange monochrome screen. I guess I've played Doom so many times, my brain fills in the missing details. 😄
 
Fun stuff! Looks like it would actually be playable as-is on a 10MHz V20/V30 system, which did exist in the late 80s. Great work.

You didn't ask, but I toyed around with algorithmically-generated 40-col and 80-col text representations of the title screen:

doomtitle_out.png

doomtitle_out.png

If you'd like to use them, you can pick up the raw CGA memory dumps at http://archives.oldskool.org/pub/misc/temp/4f/
 
With some preprocessing of the title screen, the "Software" part of the id logo can be made readable.

titlepic40x25.pngtitlepic80x25.png

Using these text representations requires some code rewrites, because most of the code expects the video memory to be filled with the checkerboard character.
 

Attachments

  • titlepic40x25.png
    titlepic40x25.png
    8.3 KB · Views: 4
Doom8088 in everybody's favourite video mode: CGA 320x200 4 colors.

This actually looks much more decent than what I tought it would look like. I am salivating at thinking how would it look with custom CGA optimizied textures made by some pixel art profficient artist. But, it's playabale as it is. Nice job. :)

I've been following this project for quite a while on GitHub and am really enjoying every port. Also, I'm happy to have where to look into if I ever want to look under the hood how the things work. :)
 
Hello, now as it supports CGA and MDA I start to get courious and considering to try it on real hardware. What are currently the minimum requirements for CPU, RAM and hardisk size to run it on real hardware? Which WAD file to use? Is there a downsized WAD file, XT class MFM harddisks often only are 10..30 MB in size?
 
What are currently the minimum requirements for CPU, RAM and hardisk size to run it on real hardware? Which WAD file to use? Is there a downsized WAD file, XT class MFM harddisks often only are 10..30 MB in size?
If you go to the latest release in the releases page here: https://github.com/FrenkelS/Doom8088/releases then it seems like everything you need is included. I think you just need 640k of ram and a compatible video card to run it.
 
The minimum requirement for CPU is a 8088, for RAM I'm not sure, the more the better.
The 40x25 16 color text mode version is the fastest version. You might want to start with that one.

Preprocessed WAD files are included.

I'm a bit surprised the CGA version isn't that much slower than the VGA Mode Y one.
 
Wait, this would run on an HP 200LX, right? :love:

//edit: tested. Yes, it indeed runs on the 200LX. But very slow. Interestingly, both 8088 and 286 executables work, even though the CPU is a 80186.

As for the name, you could call it "D88M". ;)
 
Last edited:
//edit: tested. Yes, it indeed runs on the 200LX. But very slow. Interestingly, both 8088 and 286 executables work, even though the CPU is a 80186.;)

AFAIK, If a 80286 code doesn't use any protected mode shenanigans (only uses real mode instructions), it's a good chance it will work on 80186. :)
 
it's a good chance it will work on 80186
I will test that with the Olimarck. Probably it also can run on my M21/M24 with V30 CPU. Yesterday I already runned the 80x25 text mode 8088 version on the Olimarck and it's really slow and on the LCD not really visible. But that might also be because of the many disk accesses the game has during auto demo, the Olimarck has no harddisk, instead it uses a parallel port ZIP drive as C:.

Is there a benchmark in this version of the game? I remember in the original DOS version of doom for 386/486 and better there used to be a command prompt and something with a timedemo command which then displayed the fps...?
 
D286MY.EXE -timedemo demo3 is the command you're looking for.

There's also the IDRATE cheat which will show the current frame rate.
 
Back
Top