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

Author: ian.rushforth

Date: 13/09/2017

Subject: Re: Question about inserting patch vectors in JSW64

 

John wrote:

What you've overlooked is that room definitions get copied to #8000 before they are used -- so patch vectors > in the room itself have to point to the copy.

So instead of setting the bytes to #00 #C1, you have to set them to #00 #81.

Just to clarify, the reason why Danny's attempt failed (see earlier posts), when he pointed the patch vector at the source (#C100) rather than at the copy in the room buffer (#8100), is because the room data are stored in a different bank of data in the Spectrum 128K operating system.

Once the 'Room setup' routine has populated the current room buffer from the data in Bank 1 [it's presumably Bank 1 in the case of The Off Licence, because that's traditionally Room 0], the program pages back to Bank 0 to run the Main Loop of the game, and so pointing at the address #C100 will not execute the patch vector that is stored in the room data.

 

 

arrowleft Previous message Back to the Yahoo! Archive
home page
Next message arrowright
arrowleftthread Previous in thread Next in thread arrowrightthread