Title:    Jet Set Willy z88 (v1.01)
Author:   Matthew Smith (converted by Dominic Morris)
Uploader: Dominic Morris <djm@jb.man.ac.uk>
Type:     z88 Game
Short:    Conversion of the classic Spectrum Game

Welcome to the z88 conversion of the classic Spectrum game written by 
Matthew Smith. This conversion was made by Dominic Morris in July 1998,
and represents the game graphics and sound exactly, though colour, sadly,
is missing!

The aim of the game is to collect all of the debris left over after the 
party the night before you can get to bed - Maria your housekeeper will 
not let you sleep beforehand!

The program is written to be run from BASIC, so after unzipping the 
archive using Garry Lancasters' unzip utility, enter BBC BASIC and then 
you can load and run the program using CH."JSW.BAS" and you're thrust 
into familiar territory!!

The playing area of Jet Set Willy is too large to fit onto the z88 screen,
so there are two display methods. The first is similar to that pioneered
in Sokoban - a vertically scrolling display which follows Willy as he
moves about the room. The second method is one where the entire screen
is compressed so that it can be displayed on the z88, this results in some
slightly strange looking graphics at time, but it does enable you to see
the entire room and hence spot the guardians.


Controls
--------

Due to the idiosyncracies of the z88 keyboard (when compared to the 
idiosyncracies of the Spectrum keyboard!) the keys are predfined as 
follows:

Left:  O
Right: P
Jump:  SPACE
Pause: H

To toggle the music on/off you may use ENTER, note that that this only
turns off the ingame music - not the sound effects or title tune, to do
this set the Sound option in the panel to N - note, this is checked only
when the triangle is displayed, so to correct a wrongly set situation
start a game and then quit back to the main menu using ESCape.

To aid the seeing the rooms, there are two special z88 features, the first
is toggled by the DELete key and inverts the screen (black on white to
white on black), the second is the "minimode" mentioned above to see the
entire room on the z88 screen.

To quit a game and exit back to the intro screen press ESC. From here 
as well as pressing ENTER to start the game you may press B to exit to 
back to BASIC where you can poke the game forever or alternately load 
in a new set of levels!


So you wanna cheat to do you?
-----------------------------

Yes, in what must be world first, I'm supplying some pokes with the 
game - actually it isn't a world first, Gulpman by Campbell systems came
with pokes to define the keys!

For infinite lives:           19108,0
For immortality:              20040,0
For n lives:                  18315,n

NB. that any more than 7 lives is indicated by a C - cheating! Also note
that the immortality poke is just protection from guardians, coming in
contact with a killer object will cause a few "interesting" problems!

After poking execute a CALL 18176 to start the game again - do NOT run 
the program!

The WRITETYPER mode has been called into service, however the room 
selection keys are different, use 9,P,M,X,S,W,2 to select the room, be 
warned that in the original set of rooms some are undefined therefore
some key combinations may caused undesired effects.


Different levels
----------------

Yes, it is possible to play levels from the numerous home-brewed versions
of Jet Set Willy available almost anywhere. Warning, this is quite a
ghastly technical section, you have been warned!

As you would expect there is a little problem though!

- If the data set uses sprite data stored between $A700 and $AA00 then
the levels may appear to work, but a crash may occur at anytime possibly
irrevocable trashing the z88s memory - be careful (this might be the case
with the alternate data set (Join the Jet Set) that I have tried))

To play rooms from the (many) home-brewed versions of Jet Set Willy you 
need to extract two sets of data from the code file/snapshot, these are 
the room data and the sprite data.

The sprite data is stored at 40000 and has length 9152
The room data is stored at 49152 and has length 16384

Transfer the files over to the z88 stored with extensions .spr and .lev
respectively. Load up JSW z88 and adjust the variable name$ on line 140 of the BASIC program to the base filename of the data and then enter GOTO 140
to load the new data and restart the game.

However before you do that, you have to a couple of pokes and peeks! You
need to peek the Spectrum locations: 34790, 34795 and poke them into the
z88 locations: 19185 and 19190. You also need to a double peek on the
Spectrum locations 34800, 34801, add 19712 and double poke this value
into the z88 locations 19195 and 19196. These pokes correct the start position to that of the data set concerned.

If you wish, you can also steal the in game music from the JSW from which
you stole the levels, this is stored at 34399 with length 64. Load it into
the z88 at address 39936 (note, no line is provided in the BASIC program
to do this).


Now, a few brief thank yous:

John Elliot:    For producing the disassembly of JSW that this version 
                is based on

Matthew Smith:  For the original code, graphics, design and insanity!

Gunther Strube: Once more for the module assembler

All those who playtested and gave me feedback - thank you!


Known problems
--------------

- Everything slows down when a key is pressed - this is not my 
programming but the z88 being a bit strange! This is very apparent on 
the title screen with the music.

- Motion is a bit blurred - the z88 again I'm afraid!

- The z88 doesn't auto timeout from the intro screen with sound enabled,
this is a consequence of the attract mode I'm afraid - from within the game
(with sound enabled) it will though.

History
-------

v1.0      Initial Release
v1.01     Fixed Marias position, correct doc file, moved location of
          in game music, sort out music warbles!

Thats all, enjoy the game, any comments etc direct them to:

Dominic Morris
20 Greenhill Drive
Malvern
Worcs
WR14 2BW
ENGLAND

Email: djm@jb.man.ac.uk or dom@jadara.org.uk

Jet Set Willy z88 was made with Amiga

---
Values for alternate level sets - pokes to correct start positions:

Join the Jetset

Only one poke marked (*) is actually required

Starting room:           ?18325=33            PEEK 34795
Starting position:       ?18320=208           PEEK 34790
                         ?18330=186 (*)       PEEK 34800
                         ?18331=170           PEEK 34801


Sorry, only one set tried at the moment, when I've done a few more I'll
post them to the z88 development list

22.7.98
EOF
