Both these last two programs plot rather slowly due to the amount of calculation they have to do, so
program 4 is designed to tack on the end of either of them (or any graphics program). It saves the
finals pictures in A$; once this is done, the results of your program can be recalled quickly with
PRINT A$. The original program may then be erased if you wish - line by line, though; remember
NEW will clear the array you've just spent so much effort in filling up. A RAM pack will be
necessary in order to fit in all the storage.
Program 5 is simple yet it enables complex pictures to be drawn on the screen and to be subsequently
If key 1 is pressed a flashing black square will appear. This can be moved over the whole screen area
using keys 5,6,7 and 8. It will leave a black trail. If key 0 is pressed the flashing black square will
rub out everything in its path, as it is moved around the screen.
If key 2 is pressed the flashing square disappears and may be moved aside without upsetting your
composition. When your picture is completed key 3 should be pressed and the picture will be printed
out.
This program really needs the 16k RAM pack as only the most elementary picture can be drawn
without it.
Combine this program with program 4 which stores the display so that your space monster is
available for instant recall.
High resolution printer program
This program works rather like PLO, ecept that it works only with the printer, and uses a square of
256x256 points to give 4 times better resolution.
You will need a 16k RAM pack to run this program. Before entering it, type:
POKE 16389,124
NEW
to reserve some memory. If you don't the program warns you and won't run. Be careful to enter line
1 exactly as given: the RNDs and TAN must be entered using function mode, not spelt out. Note that
there is a space after the symbol. The four full stops will have other charaters POKEd into them
after the first run of the program.
Two examples are given, differing only in the lines between 12 and 9980; No. 6 plots a "flower"
shape, No. 7 plots a sine and cosine graph complete with axes. (Compare with the one you get using
PLOT in chapter 18 of the ZX81 books). The computer should be put in FAST mode before running
the program. Even so, there will be quite a wait before anything happens, and a further 4 minutes
before printing is finished. Remember that the program has 256*256=65536 possible points to plot
at.
Program description
Lines 1 to 12 set up two distinct machine code subroutines: one at 16514 (the REM statement in line
1) the other at 31744 in reserved memory. The first simply Ors together two 8 bit numbers placed in
16526 and 16527, and allows more than one graph to be plotted on top of another. The second is the
LPRINT routine, taken from the ROM and altered to use the data poked into the 256 bytes from
32256 onwards. Array A$ takes 8k bytes of memory and contains the points to be plotted.
Subroutine 9980 plots point (X,Y) into the array, and lines 9988 onwards take the finished array 256