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