LANDSCAPE (16K ZX81)
by Garry Owens, Leamington Spa, Warwickshire
from Your Computer (September 1982), pages 89-90

In this arcade-type game for a 16K ZX-81 you are in control of an aircraft,
the symbol >, flying over a mountainous landscape. Ground-based forces are
firing missiles, letter As, at you and you must destroy the missiles and
their fuel dumps, Qs, with your laser cannon and bombs.

Displayed at the top of the screen are your score and number of aircraft
left  you start with five. You score 10 points for destroying a missile
and 50 points for hitting a fuel dump. You lose a life if your aircraft is
hit by a missile or if you crash into the mountain.

The control keys are:
    6 - moves the aircraft down
    7 - moves the aircraft up
    8 - thrusts forward more quickly
    9 - drops a bomb
    0 - fires a laser cannon

This program is based around eight machine-code subroutines:

16800 to 16854 control movement of aircraft
16857 to 16914 fire laser cannon
16915 to 16952 drop a bomb
16955 to 16989 scroll main part of display right to left
16992 to 17080 draw the landscape
17100 to 17180 increment score by 10
17190 to 17328 move bombs down and missiles up
17335 to 17348 check no missile has hit aircraft

The routines are called from a Basic program. Lines 1 to 3 use the
machine-code routines and data; lines 4 to 90 the initialisation; lines 100
to 200 the main game; and lines 400 to 610 the crashing routine.

Bytes 16514 to 16720 are used as storage and data by the machine-code
subroutines; 16514 to 16517 store the score; 16518 and 16519 hold the
addresses of the aircraft on the screen; 16520 and 16521 hold the addresses
of the next data item for the landscape-drawing routine; 16522 is the time
since the last A was placed on the screen; 16523 is the time since the last
Q was placed on screen; and 16526 to 16718 deal with the data for the
landscape-drawing routine.
