Skip to content
forked from FrenkelS/doomtd3

Stripped down version of Doom (Doom8088) for only running timedemo 3

License

Notifications You must be signed in to change notification settings

Swizpig/doomtd3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

757 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Just enough Doom to run timedemo 3

Doomtd3

Does your computer have 300 kB free contiguous memory? And is there a C compiler for it?

Then you can port Doom to it. Well, enough parts of Doom to run timedemo 3, in black and white.

32-bit CPU, 16-bit CPU. Little-endian, big-endian. It's all possible. No FPU required.

How to add other platforms

Implement i_system.h. Look at i_ibm.c and i_mac.c for examples.

Platform Platform specific code Compiler Set environment variables Compile code Additional information
Amiga 500 i_amiga.c amiga-gcc n/a compa500.sh Experimental, might not work on a real machine
Amiga 500 i_amiga.c,i_amiga_chunky.c vbcc n/a compvbcc.bat 68000 compile doesn't work. 68020 seems to be fine
HP 95LX i_hp95lx.c, i_ibma.asm gcc-ia16, NASM n/a comphp95.sh No status bar, also runs on HP 100LX and HP 200LX
IBM PC 16-bit i_ibm.c, i_ibma.asm gcc-ia16, NASM n/a compia16.sh Use command line argument lcd to invert the colors
IBM PC 16-bit1 i_ibm.c Watcom setenvwc.bat compwc16.sh Use command line argument lcd to invert the colors
IBM PC 32-bit i_ibm.c DJGPP setenvdj.bat compdj.bat Use command line argument lcd to invert the colors
Macintosh Plus i_mac.c Retro68 n/a CMakeLists.txt Experimental, might not work on a real machine

Chunky Copper for Amiga

I've forked this (and added VBCC compiler support) to experiment with chunky copper methods. Currently I've added a very dumb "Zero bitplanes, hammer colour 0 as fast as the copper will allow" method, leading to 8x1 pixels. This would work with all of OCS/ECS/AGA, but I've been unable to get VBCC to produce a working 68000 executable (in fact, the compiler flat-out aborts for a 000 compile at higher optimization settings. 020 seems to work fine though.)

Stock A1200 in Winuae gets about 8-9 FPS.

TODO:

  • Re-add status panel
  • Add 8 by Y max performance mode (need to read up on copper skips and loops)
  • Add 4 by 4 mode

thicc pixels

Swiz

Footnotes

  1. Two compilers can build the IBM PC 16-bit port. Gcc-ia16 produces faster code than Watcom. The static code analysers of both compilers detect different issues.

About

Stripped down version of Doom (Doom8088) for only running timedemo 3

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 80.0%
  • C 16.7%
  • Shell 1.4%
  • Assembly 1.3%
  • Other 0.6%