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.

 

 

arrowleft
arrowright