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
Next in thread arrowrightthread

 

 

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