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

 

arrowleft Previous message
Next message arrowright
arrowleftthread Previous in thread

 

 

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 Previous message Back to the Yahoo! Archive
home page
Next message arrowright
arrowleftthread Previous in thread