saga20110122 - simondotm/stardot-wiki GitHub Wiki
Not much has been done in the past month - just some minor tuning to reduce code size around regular sub-routine calls. I got around to implementing the counter code - this was part of looking at the disassembled version of the original Golden Baton. I realised that the Scott Free description isn't very well written, and that current counter is actually a counter, rather than a pointer to the current counter. This actually reduced code size even more as manipulation of the current counter just requires altering one memory location, rather than a LDA counters,X:manipulation:STA counters,X.
This means I can play The Golden Baton and The Arrow of Death part 1 through from start to finish with no problems. I tried Time Machine, but this seems to fail in the random auto actions, meaning that I probably haven't got the logic quite right and will need to revisit this section (these aren't used in TGB and AoD1).
The reason for the freeze is that I need to work out screen format and how to do graphics. It should be noted that the Mysterious Adventures and, to a lesser extent, the SACA games assume that the room description and objects are always present on the screen; this should be relatively easy to implement with text windows.
But in terms of graphics I have some choices to make of how to do them:
-
Put the main game in MODE 7; then change to MODE 5 to draw the graphics and any key returns to the game - this is the easiest to implement, but doesn't follow the other platforms.
-
Put the game in MODE 5 and use a half width character font (like Youth Hosteling Adventure [sic]). I personally think this isn't very readable, but it's easy enough to do.
-
Do a split screen MODE 5/4 screen with the graphics up top and the text down below
-
Do a shrunk MODE 1 screen, which only uses 16K to minimise screen memory
-
Do a MODE 4 screen and render non-background and non-foreground colours as patterns
-
Stick the code in ROM and use MODE 1 (like the mock-up I showed above)
Still to decide, I may mock some of these options up, until I'm happy with my decisions.