THE SPECTRUM GAMES DATABASE



JET SET WILLY EDITOR



PUBLISHER

Spectrum Electronics



AUTHOR(S)

Paul Rhodes



YEAR

1984



CATALOGUE NUMBER



CATEGORY

Editor



DESCRIPTION

This program will allow you to edit or create the rooms in Jet

Set Willy.





INSTRUCTIONS



JET SET WILLY EDITOR

By Paul Rhodes



INSTRUCTIONS:

To load the program, put the Jet Set Editor tape in your cassette

player, connect EAR socket on Spectrum to EAR socket on cassette

player, and type LOAD "", followed by the ENTER key. After a

short time, a flashing picture will appear. The main program will

then be loaded and you will be asked to play the 'JetSet Willy

tape'. Once the JetSet Willy program has loaded, the main menu

will appear.



MAIN MENU OPTIONS:

(1) Save entire game     = SAVE "jsw1" CODE 32768,32768

(2) Load entire game     = LOAD as option 1

(3) Save room (CODE)     = SAVE "Room:nn"

     CODE (49152+256*nn),256

     (nn=room no.)

(4) Save objects    = SAVE "Objects" CODE 41983,513

(5) Save room (JSE) See below

(6) Load room (JSE) See below

(7) Save guardians  = SAVE "Guardians1"CODE 40960,1020:

     SAVE "Guardians 2"CODE 42496,6656

(8) Load guardians  = LOAD as option 7

(9) Play game  = RANDOMIZE USR 33792



Options 5 and 6 SAVE and LOAD rooms together with all the object

positions and guardian and graphic DATA related to them. The

other SAVE options produce copies that can be LOADed from BASIC,

but as the DATA saved by option 5 is not stored as it is in the

JetSet Willy program, this is not possible with JSE files. There

is no option to LOAD a room without guardian and object DATA as

undefined guardians can cause crashes.



E) THE SCREEN EDITOR:

Cursor movement: Use keys 5 to 8 to move the flashing cursor.

Changing screen: Use keys 5 to 8 with CAPS SHIFT to move to

another screen.  Defining exits: Use keys 5 to 8 with SYMBOL

SHIFT in define which rooms will be to each side of the room you

are in.



The DATA Line: This is directly below the room name. It shows the

graphic squares representing, from left to right, the background

(usually blank).  The 'floor', the 'wall', the 'nasty', the

'ramp', the 'conveyor', and the 'object' which you have to

collect. The character shown in the white between the two arrows

is the 'current character', which will be deposited on the screen

at the cursor position when you press '0'. To change the current

character, move the cursor over one of the first four graphics

on the DATA line, and press '0'. 'Rm' is the number of the room

you are in, and 'Ob' is the number of objects that must be

collected to complete the game.



OTHER KEYS ARE:

A: sets attributes of character under cursor (cursor must be over

one of the first 6 on DATA line).

M: defines 8x8 graphic character for graphic under cursor (cursor

on DATA line). Within character definer: 5-8 to move cursor, 0

to flip pixel on/off, CAPS SHIFT P to pick up current definition

of character, Q to set character and return to screen editor.

C: places conveyor belt with left-hand end at cursor position.

Direction 0=left, 1=right.

R: places ramp with bottom at cursor position.

P: places 'object' at cursor position (if held down, many objects

will be placed on top of each other; avoid this unless that is

your aim).

D: deletes 'object' at cursor position (hold down to remove

multiple objects).

B: sets border colour for current room.

N: inputs room name: CAPS 8 and CAPS 0 to move cursor, ENTER to

finish.

? (SYMB SHIFT C): Clears screen, except for graphics definitions

and objects.

. (SYMB SHIFT M): Returns to Main Menu.



DOS AND DON'TS:

Don't put anything in the path of a guardian (they leave trails

to help show the parts to avoid). Don't have arrows passing

through anything with white INK. If you have white background

INK, any objects in the room will be automatically collected on

entry to the room (see swimming pool). Do not have  two

characters with the same attributes, especially if one is a

'nasty'. Having the same attributes for ramp and conveyor creates

a 'conveyor ramp' (see Chapel). Avoid having a 'nasty' at the top

of the screen above a gap at the bottom (see right-hand half of

Under the Roof). Do not put anything in the path of a rope (try

it and see!), and do not allow an arrow to pass through a rope

(especially not a white rope). Never allow guardians to overlap.

Objects on top of other characters (floors, walls, etc.) cannot

be collected. Do try anything else that seems like a good idea.

Do save any rooms you wish to keep before playing the game!



6) THE GUARDIAN EDITOR:

Each guardian is identified by a number in the range 1-126. Most

of them up to 111 are already in use, but any guardian can be

deleted from all the rooms in which it occurs, so leaving the

space it occupies in the DATA area free for defining a new

guardian. Each guardian is associated with a 'page' of 8

graphics, and a set of parameters to determine which of these

graphics are used and how they move. Whenever a guardian is used,

two more parameters must be specified; a start position in

character positions across the screen; and a 'start' character,

which further modifies which characters will form the guardian.

The start character is the lowest number graphic that will be

printed (the 8 graphics in each page are numbered 0-7). 

'Animation' is part of the guardian definition, and affects the

number of characters used:



Animation 0 gives no animation: only a single character is used

(eg. the barrel).

Animation 1 gives 2 character animation (eg. the jelly).

Animation 3 gives 4 character animation (eg. the thing in the

bathroom).

Adding 4 to the animation number for a horizontally-moving

guardian gives bi-directional animation, eg. anim. 7 = 4 to the

left, 4 to the right. For vertically moving characters, adding

4 increases the number of graphics used.

Animation 2 would give slow animation using only the even

numbered characters 0 and 2. 6 would be bi-directional slow

2-character animation.



Technically, the character number to be printed cycles constantly

from 0 to 7, and is modified before printing by ANDing with the

start character and ORing with the animation.



ARROWS

move constantly along an imaginary line with 256 positions

numbered 0-255.  Only positions 0-31 fall within the screen

boundaries: the rest constitute the delay between the arrow

leaving on one side and coming back on the other.  An arrow is

defined with a direction and a start position along the line.

It also has a 'Top/bottom byte', which in its binary

representation gives the bit-pattern for the appearance of the

top and bottom of the arrow. Eg. 65 * 01000001 binary, which as

a top/bottom byte would give an arrow like

this:



 *     *

********  (*=pixel set)

 *     *



Note that the middle is always 11111111 binary (255 decimal).

When used, an arrow must have a height specified. This height is

in pixel positions from the top of the screen, but the top or

bottom of the arrow should not fall outside the character

position containing the body of the arrow. Put more simply, the

height should not be exactly divisible by eight, nor must it be

one less than a number which is exactly divisible by eight.



NB. Heights are always given in pixels from the top of the

screen, horizontal positions are in character positions from the

left of the screen (as in PRINT AT). Directions are 0 or 1 (for

left and right respectively). For bi-directional graphics, the

left-facing graphics are in characters 0-3, and the right-facing

ones in 4-7, so a 2-character bi-directional guardian with start

character 2 would use 2,3,6 and 7. Horizontal movement is

obtained by scrolling characters within their character positions

(see the monk or the bird for egs.) but vertical movement is by

moving the character position. Try moving a horizontal character

vertically, or vice-versa to see the difference.



THE ATTIC:

The arrow moving to the left in the attic is the cause of the

problems usually encountered after passing through this screen,

due to it being called in an unorthodox manner. Such a problem

cannot be created using this editor.  It can, however, be

removed, using option 6 on the guardian menu.



THE GUARDIAN MENU:

(1) Examine a guardian

Prints out page and rooms in which a guardian occurs. Also shows

guardian, given start character, as it appears in the game.

(2) Define a guardian    See above. Also: Vertical displacement

is how many pixels a vertical guardian moves at a time. Fast

animation is self-explanatory.

(3) Delete a guardian

Removes guardian from all rooms in which it occurs.

(4) Define graphics 

Like option M in the screen editor, but you can also scroll using

CAPS SHIFT S, and you can pick up any character.

(5) Examine screen

Shows guardian numbers and start characters for all graphics on

screen.

(6) Edit screen

'G' to place guardian, 'D' to delete, 'Q' to return to menu, '5'

and '8' to move cursor. NB. the rope is guardian no. 1.



Example screens are on the tape after the JetSet Editor program.

Load using option 6 on the Main Menu. Define 'up' from Beach

(S/SHIFT 7 in Beach) as room 47, and go up to the 'Space

Station'. (The room numbers for loading are 47 and 61).



JETSET EDITOR



ADDITIONAL INSTRUCTIONS



SCREEN EDITOR

< > (SYM/SH W) - Set start position for Willy (cursor = top-left

corner of Willy).



GUARDIAN EDITOR

CAPS R in Graphic Editor (Option 4) 'Reflects' graphic.





HINTS/CHEATS



SEQUELS/PREQUELS

There are several other editors for Jet Set Willy available.



SCORES RECEIVED



REVIEWS



URLS

This program is available as part of issue 3 of Emulate.



GENERAL FACTS



NOTES

