To get a 128K+ game to work on 64K is probably going the wrong way about it. It is better to get it working in 64K first and then extending it for those with more memory.
Agreed, but I designed this game from the start to work with 64k... all the stuff in the extra banks is 'optional extras' - that said, the more memory I can squeeze out of the system, the more optional stuff the 64k people get!
The current release is 128k only because I did not have time to write (and more importantly.. debug!) the 'alternate' codepaths for 64k, which will have to reload the 'bootstrap' every level rather than just bankswitching , and use a 'firmware font' rather than the sprite one
You have to remember this was my first game, so I was more worried about never releasing anything than having the first release 128k only - the learning curve has been huge to get where I am with this!
The game code is structured like this
Bank1: Levelcode and sprite frame 1
Bank2: Screenbuffer 2 (temp space during loading / extra space during intro
Bank3: game core and Amsdos
Bank4: Screenbuffer 1
Bank5: Loadingscreen and continue graphics
Bank6: Bootstrap (Level loader - also handles continue/gameover)
Bank7: Music, CPC Plus sprites
Bank8: sprite frame 2, sprite font
on 64k
The bootstrap can be reloaded into the Screenbuffer 2 , the font will need subsituting and the sprites will have no animation, but it *should* work!
I just really want to get that music working on 64k, so I'm trying to force down that firmware!
It's also a good learning experience, I want to upgrade and redesign the game engine for the next game, and more control and understanding I have over that firmware code the better!