Here are work-in-progress notes on porting DH to TRS-80:
TRS-80 Model I thru Model III are 64×16 text mode resolution (notes also refer to a 32×16). The Model 4 is claimed to have a 40 and 80 resolution mode, but it is yet unclear on how to access those.
DH compiled with Z88DK
zcc +trs80 -vn test.c utility.c core.c destiny_structs.c game_strings.c -create-app -subtype=disk -lndos -lm -o test
Runs with TRS80GP emulator (in Model 3 or Model 4 modes):
trs80gp -m3 a.cmd -ld
trs80gp -m4 test.cmd -dx
Here is sample program (POKE character code, keyboard, and timer study):
Model 3 33.33ms (1/30th, or 1000/30) timer is at address 0x4216 hex. But, per the emulator, this counts DOWN from 30, not up. Elapsed seconds in 0x4217 (minutes in 0x4218, hours probably in 0x4219 but did not yet confirm since did not run emulator that long).
Excellent timer article: https://link.springer.com/content/pdf/10.3758/BF03203419.pdf
It’s working! Animation logic holds, “hit” detection working. Just need deal with the 16 row limitation.
All strings have been converted to TRS-80 Model 3 character codes. Design adjustment made to use all 16-rows for the map (and relocated the OVERLAY content to the area past column 40 on the right). The game is playable, but some map adjustments should be made to better accommodate the 16-row dimension.