TURBO (16K ZX-81)
by David Green, Ashford, Kent
from Your Computer, March 1983, page 121

Here is a machine-code arcade-type game written for the 16K ZX-81. It will
not work on a computer with less than 3.5K as the down-scroll routine,
adapted from Munir Zaman's program in the January 1983 Your Computer, crashes
if used with a minimum display file. The game itself is relatively simple
involving the player controlling a car driving along a road avoiding the
edges of the road and any other cars, but the incredible speed of machine
code makes it enjoyable and challenging.

[Note that the game 'Turbo' does not run properly. There is a problem with  ]
[the machine code routine. I have included the program to add to the archive]
[as perhaps there was a fix published in a later edition of the magazine or ]
[someone can work out what is wrong with it.                           PaulF]



MACHINE CODE LIST (aka. List Remedy, ZX-81)
by Robert Pearlman of Winchmore Hill, London
from Your Computer, March 1983, page 135

The LIST routine provided by Sinclair in the ZX-81 ROM is inadequate for the
serious programmer for several reasons: a long program must be listed in
small sections using many List statements, which is time-consuming and leads
to mistakes; the end of a very long line cannot be listed; after a Newline
character in a line, which is common in machine-code programs, the rest of
the line and the rest of the program are sometimes not listed. Finally, after
a Chr$ 126, a common character in machine-code programs, the next five bytes
are not listed.

These faults are remedied by my List routine. When executed, a screenful of
text is scrolled up the screen and displayed. A small black square then
appears in the bottom left of the screen indicating that the program is
waiting for a key to be pressed, either Break to abort the listing, or any
other key to continue.

The machine-code routine occupies 158 bytes and may be located anywhere in
RAM because it uses no absolute addressing, a good place being in RAMTOP or
in a Rem statement. It is executed by RAND USR followed by the start address.

[The routine has been entered into a 1 REM statement and so can be executed
with RAND USR 16514. The routine can be copied above RAMTOP by first lowering
RAMTOP to a specified 'address' as follows:

   POKE 16388,{address}/256
   POKE 16389,{address}-256*INT(address/256)
   NEW

Then copy the routine to this address above RAMTOP as follows:

   10 FOR A=0 TO 157
   20 POKE {address}+A,PEEK (16514+A)
   30 NEXT A

Note that the lines will not appear on screen after each is entered. They
can be seen using LIST 10.

Run the BASIC program, then delete lines 1, 10, 20 and 30.

LOAD or type in a program and list it using:

   RAND USR {address}

The routine will survive NEW.]



THE WALL (16K ZX-81)
by Robert O'Donnell of Stockport, Cheshire
from Your Computer, March 1983, page 137

The object of the game, which takes under 16K of RAM, is to catch 10 of the
apples that are being thrown over the orchard wall. Your steer the basket at
the bottom of the screen using keys 5 and 8.
