FrenkelS / Doom8088

Doom for 16-bit DOS computers
GNU General Public License v2.0
153 stars 5 forks source link

Tandy graphics (and CGA, EGA, ...) #20

Open FrenkelS opened 1 year ago

FrenkelS commented 1 year ago

September is #SepTandy month. Create a version that runs from a 720 kB floppy disk on a Tandy 1000 TL with a 286 running at 8 MHz and no hard disk.

See FastDoom for more inspiration for graphics modes like CGA and EGA.

FrenkelS commented 11 months ago

Quick 160x200 16 color PCjr graphics hack https://www.youtube.com/watch?v=2RdrLXblnlU

FrenkelS commented 11 months ago

320x200 4 color CGA https://www.youtube.com/watch?v=FUEcr7XnbuA 640x200 2 color CGA https://www.youtube.com/watch?v=rwDvJEmr0E8

FrenkelS commented 8 months ago

160x200, 320x200 and 640x200 16 colors Tandy https://github.com/FrenkelS/Doom8088/pull/42

m-asyua commented 6 months ago

The release works on HP200LX/HP100LX (80C186 16 bit, CGA). https://www.youtube.com/watch?v=7lEqWG9jdn0

FrenkelS commented 6 months ago

Awesome. Those monochrome graphics look horrible ;)

I've been working on it a bit: https://github.com/FrenkelS/doomtd3 https://github.com/FrenkelS/doomtd3/releases

On a Macintosh Plus it looks like this: https://www.youtube.com/watch?v=mLMvhdF1eqM

FrenkelS commented 6 months ago

"Create a version that runs from a 720 kB floppy disk on a Tandy 1000 TL with a 286 running at 8 MHz and no hard disk." That version is https://github.com/FrenkelS/doomtd3, but it runs horribly slow from a floppy disk.

m-asyua commented 6 months ago

Doom timedemo on HP200LX /HP100LX https://www.youtube.com/watch?v=4MdENOHHmlo I used DOOMTD16, 16-bit DOS 640x200 2 color CGA

FrenkelS commented 6 months ago

I've uploaded a new release of doomtd3. It now supports EMS memory and it has some performance improvements. It also can invert the colors when the demo is started as DOOMTD16.EXE LCD.

https://github.com/FrenkelS/doomtd3/releases

m-asyua commented 6 months ago

I've tried DOOMTD16.EXE LCD, https://www.youtube.com/watch?v=Th2wBw_zvjE Thank you for the new release.

FrenkelS commented 5 months ago

I wonder if your HP 100LX also supports the 240x128 graphics mode of the HP 95LX. Here's a build of doomtd3 optimized for 80186 processors. It sets up graphics mode 0x20 and it writes to the video memory at 0xb000. It doesn't display the status bar. And it doesn't support the lcd command line argument. DOOMTDHP-v20240419.zip

m-asyua commented 5 months ago

doomtdhp2

Is it OK? it is difficult to recognize objects. HP 100LX may not support the 240x128 graphics mode.....

FrenkelS commented 5 months ago

Whoops, I was writing too much data to the video memory. A typical buffer overflow.

Here's a new build. DOOMTDHP-v20240424.zip And here's the source code https://github.com/FrenkelS/doomtd3/pull/8/files

m-asyua commented 4 months ago

DOOMTDHP-v20240424.zip works on HP200LX. https://youtu.be/Yn6zcoCykoI

xrip commented 2 weeks ago

I see you did https://github.com/FrenkelS/Doom8088/pull/42 but it still not merged to main? is there any issues with it? it would be awesome to have doom8088 runing on Tandy PC Jr

FrenkelS commented 2 weeks ago

It's not merged because the game is not fast enough. See for yourself: DOOM8088-tandy.zip

I would first like to preprocess the graphics and use double buffering before I merge to main.

FrenkelS commented 5 days ago

The graphics are now preprocessed, but page flipping / double buffering isn't implemented yet. https://github.com/FrenkelS/Doom8088/releases/tag/v20240930-tandy1000