Following on from here , here MM5
The game was only supplied as a snapshot (including a loading screen) and there was little if any Basic actually present in this.
Thankfully it was not difficult to create a simple loader , the picture and the game code.
With this in mind it was noted the screen was actually only pixel data as all the attributes were the same (black ink on non-bright cyan paper) so it was sensible to save the screen as merely the pixel data (16384,6144) instead of a full screen (16384,6912)
Interestingly the game does actually crash if you just try to save its codeblock out and re-use it. A closer look shows that the routine to print the cavern name has been changed:
37565 call 23538 , whereas the default is 37565 call 37579
The 'new code' is thus:
CP 32 JP NC, 37579 ADD A, A ADD A, A ADD A, A LD L, A LD H, 91 JP 37587
I would speculate that the author did not do this as protection merely as this routine is larger than the space available so they could not replace it. It seems to be intended to alter a couple of the character names.
The game can be used by applying the following pokes to it:
This restores the CALL back where it should be.
With this in mind I built the following:
1. A full tape file including the loader, screen (16384,6144), game data (32768,32768) and the 'extra' code(23538,44):
MM5 full.tap 38.3KB 156 downloads
If editing this be aware the lower placement of the 'extra' code, it would be prudent to load this last after everything else as it (potentially) extends into the Basic area.
2. A tape file consisting only of the game data, with those pokes applied. No other changes. This is editable in JSWED
MM5 fixed code.tap 32.02KB 151 downloads
It would probably be sensible to manually add the two missing cavern names to 'fix' this, although I'll leave that for someone else to do.