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: 6908
Author: ian.rushforth
Date: 04/10/2016
Subject: Re: Advanced Trainer - Daniel's suggestions
Andrew wrote:
>> > Standing on a Crumbly cell in row 0 causes row 8 to crumble!
>>
>> I've noticed this amazing phenomenon in one of the rooms of "Manic
>> Scribbler".
>
>It first appeared in MM:N-AT's "A Reel Challenge" [1], albeit for
>purely aesthetic value. In Manic Scribbler's "Ambergris screen" [2],
>it's actually cell-row 9 that crumbles, because the Crumbly cell is
>in row 1.
>
>The pixel-pattern crumbles in row 8 (or 9), but the colour-attribute
>(and hence cell-type) changes from Crumbly to Air in row 0 (or 1) as
>you'd expect.
Whilst it's true that the code which is supposed to change the colour-attribute of a Crumbly cell after it pixels have been cleared, in the circumstances described above, does affect the cell under Willy's feet in row 0 or 1, rather than the cell in row 8 or 9 that has had its pixels 'quirkily' removed...
...this does not manifest itself in a change to the colour-attribute of the Crumbly cell in row 0 or 1. Rather, it causes the top pixel-row of the Crumbly cell upon which Willy is standing, to be temporarily cleared (temporarily because it is only cleared whilst Willy is standing on it; if he jumps up and down then the pixel-row disappears, and then reappears when he lands).
This occurs because, instead of incrementing HL from the range #5Cxx to #5Exx (i.e. switching from the Occupied Room Attribute Buffer, to the Empty Room Attribute Buffer, to permanently remove the Crumbly from the room) the code (at #8BD4-#8BDC) ends up pointing HL at an address in the range #60xx, which lies within the Occupied Room Display Buffer (and is therefore refreshed during every 'tick', refilling the errant pixel-row from #70xx in the Empty Room Display Buffer if Willy is elsewhere).
