Resource centre for ZX Spectrum games
using Manic Miner and Jet Set Willy game engines
Archive of the
Manic Miner & Jet Set Willy Yahoo! Group
messages
|
|
||
|
|
Message: 7216
Author: ian.rushforth
Date: 05/02/2019
Subject: Re: Completing "Maria vs. Some Bastards"
Further to the bug-fix below, I would just add one other thing. Immediately after the new subroutine (which is supposed to handle moving on to Game Mode 1) at #9A30, there is the following code:
#9A41 LD (#8453), A #9A44 JR #9A3E
Now, I can't find anywhere in the program that uses this code. It may be a relic. The address #8453 isn't used - other than on this occasion - as far as I can tell by searching for '53 84' in JSWED's hex editor. The address actually holds the ASCII code 'R' from the fossil MM message 'AIR'. I tried searching in vain for the string '41 9A', so there is no direct jump to these commands, nor are there any relative jumps to here within 128 bytes in either direction.
It is possible that it is reached via a JP (HL) command, with H and L being defined separately. Or else there could be an element of self-modifying code. e.g. the operand of the relative jump at #9A37 could be patched to allow some kind of special effect when a particular item is collected? (It is notable that this bit of code ends with a relative jump back to #9A3E, which is the jump back to the main item-handling routine (at the end of the subroutine which is supposed to make 'Maria' disappear. This suggests that if the code is used in some way, it must be in relation to the collection of items.)
Anyway, if you're implementing the patch below (to make the game completable), then to be on the 'safe' side, I thought that perhaps the relative jump at #9A44 should be replaced with a direct jump to #942C (there is space in the code immediately afterwards to allow for the one-byte longer command) - at the risk that the stack might be left with a Return address remaining on it, if indeed the program does ever arrive at this point via a CALL?
---In manicminerandjetsetwilly@yahoogroups.com,
At #9425, replace the JUMP to #9A30 with a CALL to #9A30.
