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
> 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)
