Click here to download the module (76 bytes).
The teleportation module is a small overlay file that can be placed in JetSet Willy (either 48k or 128k versions) allowing teleportation between rooms. It requires at least 80 contiguous bytes of memory.
The first thing to do is to choose the address at which to load TELEPORT.
The next step is to modify the file to reflect the actual load address used, and to set up the transporters. The exact method used depends on whether you are using an emulator or a real Spectrum, but:
DB room ;Room with the teleporter in DB y ;Y-coordinate. 0 is the top of the room ; and 255 is the bottom DB x ;X-coordinate. 0 is the left-hand side of ; the room and 31 is the ; right-hand side. DB dest ;The destination room into which Willy will ;be transported.For example, the byte sequence 21h,30h,1Ch,00h means that Willy will be transported from the right-hand end of the top platform in the Bathroom to the Off-License (where he will invariably die, since he appears on top of a guardian :-) )
Once you have created your final overlay, you have to insert it into the game.
If your game is on a tape, disc or TAP file, then this is easy. Insert the following line in the BASIC loader just before the RANDOMIZE USR line (or the PAUSE line for +3 disc versions):
LOAD "TEL.JS2" CODE base : POKE 35696, 205: POKE 35697, baselow: POKE 35698, basehigh
If your game is stored as a snapshot, then use Z80 v3. Start by using its "load memory block" feature to bring the overlay into memory; then activate the emulated Multiface 128. Use it to POKE the bytes
0CDh baselow basehighinto memory at 8B70h.