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

Author: andrewbroad

Date: 16/11/2005

Subject: Re: Stopped ropes bug fix / Not-so-perfect snapshots

 

john_elliott_uk wrote:

>
> i) MERGE the BASIC loader.
> ii) Delete the REM statements.
> iii) Add the lines given at the end of this posting.
> iv) Once the game has loaded, save a snapshot and import that back
> into JSWED.
>
> 150 go sub 1000
> 1000 restore
> 1010 read a
> 1020 if a = -1 then return
> 1030 read m
> 1040 for n = 1 to m
> 1050 read d
> 1060 poke a,d
> 1070 let a = a + 1
> 1080 next n
> 1090 goto 1010
> 1100 data 60394, 7, 194,182,145,195,217,144,0
> 1110 data 60440, 2, 251,236
> 1120 data 60667, 5, 237,120,195,241,235
> 1130 data -1

BAS2TAP <http://www.worldofspectrum.org/utilities.html#other>
doesn't recognise "goto". I had to edit your listing as follows
before bas2tap -c would convert it into a TAP-file:
1090 go to 1010

I was going to suggest inserting a PAUSE 0 into Line 160, giving the
user a chance to save a perfect snapshot - but when I tried this,
the resulting TAP-file (saved by JSWED 2.2.4) played an erroneous
title-screen tune, then the start-room killed me on entry!

Investigation using SPECSAISIE Compare revealed the following:

1. "title.tun" (and no other Spectrum-files) is corrupt in the TAP-
file resulting from the "perfect" snapshot.

2. "rtime.jv2" and "tune.bin" (and no other Spectrum-files - not
even "title.tun") are corrupt in the TAP-file resulting from an
imperfect snapshot saved on the title-screen. But hopefully the
differences are just temporary runtime-data - I didn't observe any
ill-effects just by starting the game.

Conclusion: The data aren't in the correct areas of memory after
loading the Spectrum-files and immediately prior to the machine-code
entry-point (USR 32039), but they *are* by the time you see the
title-screen.

(Spectrum-file: a TAP-file is a sequence of Spectrum-files, each
consisting of a header followed by payload-data. A JSW64 TAP-file
has 12 Spectrum-files: a BASIC-file followed by 11 CODE-files.)

Why do "main.tun", "cheat.tun" and "tune.bin" exist as separate
Spectrum-files anyway, when they merely overwrite areas of memory
that were just loaded from rtime.j*2?

rtime.j*2 -> 32768-65535
main.tun --> 63232-63487
cheat.tun -> 63746-63999
tune.bin --> 64000-65535

--
Dr. Andrew Broad
http://www.geocities.com/andrewbroad/
http://www.geocities.com/andrewbroad/spectrum/
http://www.geocities.com/andrewbroad/spectrum/willy/

 

 

arrowleft
arrowright