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

Author: rushforthian

Date: 11/09/2017

Subject: Re: Mono; Wobble & Jiggle

 

--- In manicminerandjetsetwilly@yahoogroups.com, andrewbroad
wrote:

> Thank you very much - Wobble and Jiggle are very impressive! I'm 
> pleased to see no apparent ill-effects from the item in the top row 
> of "Under the MegaTree" in Jiggle.

The ill effect isn't apparent if you also have 'Mono' implemented, But it is there in the background...

John wrote:

> Well, if you had something other than ROM just before the screen, it might not be so happy. 

But the Patch works on the secondary pixel-buffer (#6xxx), not the physical screen display (#4xxx).  So an item Jiggling in the top row will overwrite an address in the region #5Fxx, which is the primary attribute-buffer, causing an errant block of a different colour-attribute to appear in the bottom row of the screen.
This is a discoloured Water cell in the case of Under the MegaTree (not visible if Mono is also in place), but in some circumstances (depending on the top pixel-row of the item) it could create another block type. e.g. a Fire cell in the bottom row that could make the room impassable!
A four-byte extension to John's Jiggle Patch will fix this:

org 97D9h

 

    jr    jig1 (relative jump adjusted accordingly)
;
jig0:    dec    d    ;We were either on line 8 or line 0.

    bit 4, d

   jr nz, jig2

    ld    a,e    ;If on line 8: Move to line 7.

    or    0E0h    ;If on line 0: DON'T overwrite the ROM (so sue me) primary attribute buffer.
    ld    e,a
jig1:    ld    a,(hl)
    ld    (de),a
jig2:    pop    de (additional entry point for jiggling items in the top row)
    inc    hl
    dec    b
    jp    969Bh
;
    end (now ends at 97EB, rather than 97E7)


 

 

arrowleft
arrowright