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: 6944
Author: ian.rushforth
Date: 16/11/2016
Subject: Re: Willy's movement / Turning in mid-jump / New superjump
Andrew wrote:
"So to allow left & right as well as jump-control during a jump, we
can branch to the point where the walking-routine starts checking
the controls (8EFA) with POKE 36404,250: POKE 36405,142 which make
the following change:
36403: JP NZ,8EFAh
Having applied these two POKEs, however, we need to knock out the
AND E instruction at 36611, where E holds the conveyor-mask (253 for
left-conveyor, 254 for right-conveyor, 255 for off-conveyor, 0 for
sticky conveyor).
Thus POKE 36404,250: POKE 36405,142: POKE 36611,0 gives Willy an
entirely new way of jumping: he can turn left and right, and stop,
during the jump, and can also fly upwards indefinitely. But POKE
36611,0 makes all conveyors behave as off-conveyors."
*
If the Jump at 36403 was directed to some unused addresses in the code, at which you inserted a new LD E, #FF instruction followed by a Jump to #8EFA, then that would be a quick and easy way to implement left/right and jump control whilst Willy is in mid-air, without having to turn off the conveying action when Willy is standing on a conveyor.
But that wouldn't work if you wanted to facilitate left/right movement mid-jump only, i.e. without also turning on Superjump.
