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: 4620
Author: andrewbroad
Date: 11/12/2004
Subject: The explanation for a class of Quirky Features, and POKEs for more!
While studying Jet Set Willy's fundamental routines to handle
Willy's horizontal movement (for the purpose of replacing ramps with
vertical conveyors), I found a simple explanation for the following
quirky features that only work when going left:
* walking left through walls at head-height;
* jumping left through overhead wall-blocks;
* jumping left onto ledges with overhead wall-blocks as in
"The Wine Cellar";
* walking up through overhead walls on '\' ramps.
These features don't work when going right because of the following
instructions in the right-movement code ONLY which check for a wall-
block to the right of Willy's head:
37025: LD A,(32946) ; colour-attribute of wall in current room
37028: OR A
37029: SBC HL,DE ; HL now points to square to right of Willy's head
37031: CP (HL) ; if that square has wall colour-attribute
37032: RET Z ; then return without moving Willy to the right
All you have to do is NOP out the "RET Z" instruction and you can
have all these quirky features working in both directions!!
i.e. POKE 37032,0 (for Jet Set Willy)
And it's a similar story for Manic Miner, where wall-blocks at head-
height are detected in both directions:
POKE 36032,0 enables these quirky features going left in Manic Miner
POKE 36091,0 enables these quirky features going right in Manic Miner
(Manic Miner Bug-Byte edition only - add 11 to these addresses for
the Software Projects edition.)
Anyway, I hope to release a JSW patch for vertical conveyors in a
matter of weeks. I'm about to strip the ramp-handling instructions
out of Willy's horizontal-movement routines - and I might just get
rid of that wall-block detection-code while I'm at it! :-)
--
Dr. Andrew Broad
http://www.geocities.com/andrewbroad/
http://www.geocities.com/andrewbroad/spectrum/
http://www.geocities.com/andrewbroad/spectrum/willy/
