PROGRAMMERS' NOTES FOR SOURCE LISTINGS
======================================

I'm releasing this source code without any restrictions, but I would ask tht 
if you find it useful, please send me a copy of whatever you write, or better 
still, follow my example and upload it.

I have a habit of installing the fonts during compilation, rather than adding 
them into the program. Loading these games into the interpreter will therefore 
use whichever font you have installed, rather than the one seen in the 
compiled version. 


BRICKS
======

Bricks is a simple but addictive catching game. The idea is to catch the 
falling bricks in your joystick-controlled bucket. Any bricks which you miss 
will pile up at the bottom of the screen - once a column of bricks is higher 
than your bucket, new bricks in that column will land out of reach. The game 
ends if any one column reaches the top of the screen.

Various Arkanoid-style capsules also fall from time to time, these give you:
YELLOW: Slows down the bricks
BLUE: Speeds up your bat
RED: Larger bat
PURPLE: Destroys the bottom layer of bricks. The current falling brick is also 
destroyed.
GREEN: Moves your bucket up the screen. This is double-eged - you can catch 
bricks in higher columns but have less time to react.

When a column reaches one line below the top of the screen, an alarm will 
sound.

Red bricks score 10 points each, grey bricks score 20, and all capsules are 
worth 100 points.

Bricks was one of my first games, and as such there are a lot of improvements 
which could be made. For one thing, I originally planned to have two or more 
bricks falling at once; sticking to one was partly for programming reasons and 
partly for gameplay reasons. 

Bank contents:
1    Sprites
2    Music (for FX)
8    Packed title screen

Extensions:
No extensions used.


CONFUSION
=========

The only special routine used in Confusion! is the title screen. This was 
drawn in layers with Degas Elite and Spectrum 512, and converted using Doug 
Little's excellent shareware package PhotoChrome. If you haven't got Photo-
Chrome, I would recommend it to anyone interested in graphics. If you have it 
but haven't registered, send your fiver and mention that you're a STOS 
programmer and among other things, you should get the full commented version 
of the display routine. Details are in the comments at the beginning of the 
routine.

Confusion! is two player only because I felt the game was so unpredictable 
that I couldn't write an intelligent computer opponent without cheating. The 
combination of random tiles and pieces which can be on or off the board makes 
the number of possible moves far greater than in chess. If you think 
differently, I'd be interested to see what you come up with.

Bank contents:
1    Sprites
3    Music
8    Packed level select screen
10   PCS display routine
11   PCS title screen

Extensions:
No extensions used.


CYCLOTRON
=========

Cyclotron is designed to be compiled; it is very slow when interpreted.

I intended to write Cyclotron without using any extensions, but I just 
couldn't get the main loop running fast enough so I had to use MISTY. I've 
only used MISTY commands where absolutely necessary so most of the program is 
readable by anyone.

If you have THE MISSING LINK you can speed things up a bit more by replacing 
DOT with SPOT and SKOPY with BLIT. I find the game fast enough already but if 
you think it's too easy you might like to try this.

If you want some character portraits like those in this game, I've got plenty 
which I didn't use and can easily draw more. Send details of the game you want 
them for and I'll swap a screenful for a copy of the finished game.

Bank contents:
1    Sprites
3    Music (FX)
6    David Whittaker music
7    Packed screen of portraits
8    Packed level intro screen
9    Packed title screen
15   Rainbow routine

Extensions:
MISTY. See above.


DICE
====

Dice is a simple two-player version of Yahtzee, designed for speed and ease of 
play rather than fancy effects. The entire game is mouse-controlled and on-
screen instructions are provided.

Bank contents:
1    Sprites
3    Music (for FX)

Extensions:
No extensions used.


R-ZONE
======

If you're going to compile the program, you'll need to make the FOR..NEXT 
loops in the title routine longer. The reason I've used FOR..NEXT is that the 
WAIT command uses an interrupt which clashes with the palette splitting 
routine.

The map data was created in data statements and then poked into bank 14 once I 
was happy with it. This saves 5 bytes per data item but means that you'll have 
to study the code carefully if you want to change the levels.

Bank listing:
1    Sprites
3    Music (jingles and FX)
4    Palette data for title screen
5    Count Zero music
6    Packed game screen
7    Packed title screen
9    Packed screen of scroll graphics for title screen
11   Palette splitting routine
12   Palette data for game screen
14   Level maps

Extensions:
R-Zone uses the MISTY extension, mainly so that the screens are drawn as 
quickly as possible. 


STAR GUNNER
===========

Star Gunner is designed to be compiled; it is very slow when interpreted.

I haven't released a compiled version of Star Gunner, because it was really 
only written to test some of the routines. Brief instructions follow.

Star Gunner is basically a target shooting game. Various spacecraft fly across 
the screen, and your main aim is to score as many hits as possible with 
limited time and ammunition. Each level has a Minimum and Target number of 
hits; score more than the Target number to go on to the next level, or between 
the Minimum and Target to repeat the same level. If you score less than the 
Minimum, the game is over. In addition to counting as a hit, each spacecraft 
is worth a number of points; the smaller and faster ships are worth more.

All the moving objects in this game are TML bobs. The title and status screens 
are superimposed over the starfield by updating the stars, then using M BLIT 
to copy the graphics transparently over the top.

Bank Contents:
1    TML bobs
10   Count Zero music (for FX)
11   Packed screen of graphics

Extensions:
Star Gunner uses The Missing Link and Stars.


Ross McNaughton
4 Davenport Road
Sidcup, Kent
DA14 4PW
England
mcnaugra@vax.sbu.ac.uk
August 1994

