In high school, I used to program the graphing calculators we used in math class. I started but never finished a Doom-like first-person shooter for the TI-83 graphing calculator, written in Z80 assembly language. Nostalgia compels me to publish it here.
DOOM 83 used to have a web site at http://members.tripod.com/mikendave/doom/. I have made an archive of that site.
The source refers to two files available from Texas Instruments, ti83asm.inc and tokens.inc.
Download doom.z80.
Though I haven't looked at the code thoroughly, it seems that doom.z80, which is the latest file I could find, may not be very functional because I was in the middle of testing something. You can download the last backup I made on November 11, 1999. I don't know if either of these files will assemble.
The texture data for the walls was created by the program
bmp2bin.c. It turns a 32 × 32 monochrome
bitmap like this into data assembler directives
(see the tex_wall1
label in the code). What's interesting
is that while I did DOOM 83 development on Windows, bmp2bin was written
for Unix. An old executable from 1999 still ran in 2009 on GNU/Linux.
I referred heavily to this Ray-Casting Tutorial by F. Permadi.