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

Author: adban_de_corcy

Date: 03/09/2007

Subject: Re: Tweaking the JSW engine: One for the experts

 

Ok...

So let me do a guided exercise:

I want to modify Room 47. Room 47's right exit takes you to Room 77,
unless you do it at the right time. If you do it at the right time, it
takes you to Room 78.

1) Find where Room 47 is stored. 47/32 = 1. Quotient 1, remainder 15.

Quotient 1 = Memory Bank 3
Remainder 15

2) Multiply Remainder x 512
15 x 512 = 7680

3) Convert it to hexadecimal.
7680 = 1E00

4) Add C0FD

1E00 + C0FD = DEFD

So, I have to modify bank 3, offset #DEFD

5) Reserve a memory page: let's use #d800

6) Enter in bank 3, offset #DEFD (This address defines Room 47)

16 22 3a 83 85 fe 30 28
06 fe 35 28 02 16 1d 7a
32 e9 80 c9

Change 22 to 77 (hex 4D)(Room 77)
Change 1d to 78 (hex 4E) (Room 78)
Change e9 to ea (left exit to right exit)

7) Go to offset #C2FD and enter

00 d8

I hope I got it right...

It seems there's something wrong... It seems I've corrupted Room 47,
and the game enters in a infinite-death mode as soon as I enter Room 47.

Could you please help me, John? I don't understand what I'm doing
wrong... I think I followed your directions correctly...

 

 

arrowleft
arrowright