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: 7023
Author: rushforthian
Date: 16/01/2017
Subject: Conveyor animation at run time vs. JSWED's GUI
Further investigation has confirmed that all Left conveyors animate to the left, and all Right/Off/Sticky conveyors animate to the right, in both the JSW128 and JSW64 game engines (as well as in JSW48, as I previously confirmed).
In fact, I wondered if Left conveyors in JSW64 rooms that have a Final Barrier effect would also animate to the right, because the Final Barrier Flags utilise the higher bits of the Conveyor Direction byte at Offset #D6. I thought this might cause the check at #9510 not to set the Zero Flag.
But experimentation showed that that is not the case. By way of explanation, I noticed buried in the code the following sequence of commands:
LD A, (#80D6) AND #03 LD (#80D6), A
The effect of which is to strip out the Final Barrier Flags from the value of Offset #D6, as stored in the room buffer. I think that this is called up during the execution of the 'Room Setup' routine, after the Final Barrier has been drawn across half of the playing area. As a result, the Conveyor Direction Byte will only have a value of 00, 01, 02 or 03 at the point when the 'Move the Conveyor' routine is run.
