[Coco] Updates / Temple of ROM development

Rick Adams rick at rickadams.org
Sun Sep 29 18:24:47 EDT 2019


I had a number of projects that stalled during my wife's serious medical 
emergency, but that is now resolved; she is out of the hospital now and 
getting stronger every day.  Thank you for your prayers and well wishes 
during that difficult time, but you don't need to feel obligated to 
abandon those efforts quite yet.  ^_^

My game Omnistar is pretty much finished except for the endgame, and I 
am a bit burned out on it, so I have turned to other matters for the 
time being.  I may start that up later, who knows?

The source for my game Temple of ROM is now on Github at 
https://github.com/yggdrasilradio/templeofrom/tree/develop thanks to a 
disassembly of a Temple of ROM game cart by William Astle.

The source for my Coco3 terminal program DELPHIterm is now on Github at 
https://github.com/yggdrasilradio/delphiterm for the curious; there are 
probably better terminal programs out there but you can have fun seeing 
how I did things.  I had my own keyboard, disk and xmodem routines, for 
example; you might enjoy digging around in there.

Right now I am mostly digging into Temple of ROM with an eye towards 
expanding it to include multiple floors in the maze, more/different 
monsters and treasures, and potentially other features such as 
doors/keys or other puzzles.  Progress is slow.

I am just now learning all the ins and outs of Github and git so don't 
go too crazy on me.

There is a Discord channel #temple-of-rom-ii on the TRS-80 & Tandy Talk 
Discord server at: https://discord.gg/4J5nHXm where we discuss 
development efforts.

Interesting discoveries as I dig through my first assembly program from 
37 years ago:

There were lots of unused areas on the direct page, such that it was 
actually only about half used, scattered all over.  I have several 
theories as to why.  Since it was developed on three 20 minute cassette 
tapes, it's possible I did code refactoring that left a lot of locations 
on the direct page unreferenced but didn't bother to remove the 
declarations.  Or I may have been trying to leave some areas untouched 
so that EDTASM editing and debugging would work during testing.

I can tell where the divisions were between the source on the three 
tapes.  The program begins very strangely with a jump... to another 
jump... to a third jump... to the initialization code. This was skipping 
between the three segments, so I've marked those as SEGMENT 1, SEGMENT 2 
and SEGMENT 3 in the source.

Temple of ROM didn't use interrupts at all, and used ROM routines 
exclusively for joysticks and sound.  I had no idea how to handle 
interrupts at that point; that's how novice I was.

I was finally able to fix a bug that made it into the production ROMs 
and has always bothered me: drawing of vertical lines clipped one pixel 
too early at the bottom of the screen.  This involved a one line change 
of a BNE branch to a BPL.

Tandy included a snippet of code in the game that I had no idea existed: 
if you hit ENTER, CLEAR or SHIFT on the keyboard, the game switches 
between CMP, RGB and PAL color modes.



More information about the Coco mailing list