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
| Previous message | Next message | |||
| Previous in thread | Next in thread | |||
Message: 6633
Author: andrewbroad
Date: 17/02/2010
Subject: Re: Patch-vectors in JSW64
Roger wrote:
I downloaded your JSW 64V version 0.01 HL 12.tap file from WoS
expecting that it would make the perfect template file for future
64V games but I ran into trouble with Room 63 straight away because
any guardians placed there behave like the eye sprite in the clock
tower even when this has been deleted. They attempt to jump around
a non-existent clock face.I presume that this special guardian path must have been done with a
patch that remains in that room. Can it be removed with a poke so
that the room can be re-used like any other?
Room 63 uses the main-loop patch-vector (Room-offsets #FD-FE) to call a subroutine at #C500.
The address of Room r's main-loop patch-vector is
bank : #C0FD + #200*(r mod 32)
where
bank = 1 if {0 <= r <= 31}
bank = 3 if {32 <= r <= 63}
bank = 4 if {64 <= r <= 95}
bank = 6 if {96 <= r <= 127}
Thus, the address of Room 63's main-loop patch-vector is
3:#C0FD + #200*31 = 3:#FEFD
The default patch-vector is #869F, which just returns.
To make Room 63 use the default patch-vector, set:
3:#FEFD: 9F 86
Are there instructions published anywhere on how to call a
subroutine in free memory that would poke something on room entry
and then how would normal conditions be regained on leaving the
room?
To do that, you need to write a room-setup patch-vector (Room-offsets #FB-FC) to apply the poke, and a default patch-vector that is called by every other room in the game to set the normal conditions.
An example of this is documented in my Advanced MM/JSW Trainer, which makes guardians harmless by default, but certain rooms call a room-setup patch-vector to make them harmful:
http://abroad.sqweebs.com/spectrum/software/trainer.html
(download v0.1.0 and see TECHNICA.TXT: sections "Default room-setup patch-vector" and "Harmful guardians").
--
Dr. Andrew Broad
http://abroad.sqweebs.com/spectrum/mmjsw/
| Previous message | Back to the Yahoo! Archive home page |
Next message | ||
| Previous in thread | Next in thread | |||
