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: 6967

Author: ian.rushforth

Date: 09/12/2016

Subject: Re: Andrew's ideas for implementing lifts in JSW

 

Andrew wrote:


> (b) Guardian-class Offset 0 (Bits 6, 5 and 3 are unused, although
> Geoff-mode uses Bits 4:3 for diagonal guardians, and Bits 6:5 for
> the phase of the guardian; JSW128 and JSW64 use Bits 3:0 for a
> 4-bit guardian-type, and Bits 7:4 for extended guardian-types -
> only when Bits 3:0 are 1000b).

> Unfortunately Bits 6:5 are used at runtime as a frame-counter for
> horizontal and vertical guardians, while Bit 3 is used at runtime
> for vertical guardians.


As is Bit 4.  (Its value is checked, along with that of Bit 3, by the AND #18 instruction at #9187.)


Bit 7 is also used at runtime as a frame-counter for vertical guardians (although in original JSW it is always effectively ignored because there are no vertical guardians with an animation-mask of 07, it is perfectly possible to create such 8-frame vertical guardians).


And Bit 7 is used to denote direction of movement for horizontal guardians.


> (c) Guardian-class Offset 1 (Bit 4 is unused, although Geoff-mode
> uses it for diagonal guardians; JSW128 and JSW64 use it only for
> arrows).


In the JSW64 Room Format webpage, it states this:


"GB1 is the ink colour to use for the arrow. Bits 3-7 of this byte will also be ORed to the screen, so it's best to leave them as 0."


So Bit 4 of Offset Byte 1 is technically 'used' (by the OR command), but since it is always reset to zero, there is no danger of an Arrow being mistaken for a Broadsoft Lift!

 

 

arrowleft
arrowright