saga20110122 - simondotm/stardot-wiki GitHub Wiki

22/01/2011: Not much stuff done

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.

Comments

⚠️ **GitHub.com Fallback** ⚠️