BASIC RENUMBER
R Eglin, Hayling Island, Hampshire
from Your Computer, August 1982

THIS SIX LINE program can be stored on tape and when required can be merged
with [the] current program already in the computer. All you need is the
first six lines free in your program. Since most people start at line 10
you should have no problem.

My program uses the addresses of the two variables NXTLIN which is obtained from
	PEEK 23637 + 256 * PEEK 23638
and VARS which is obtained from
	PEEK 23627 + 256 * PEEK 23628
The former gives start address for renumbering and the latter provides the
halt signal for the end of the program. To merge with your existing program
already in the computer, select MERGE and type "renumber", thus MERGE
"renumber". Start the tape, and press ENTER. When you have finished, LIST
and you will see the program installed above yours. Select RUN and you have
renumbered your program.

You can select the first line number and the step by changing line 2, but
obviously the first line must be more than 6. When you have finished
rcnumbcring, you should delete the line SAVE "renumber", also to prevent
the renumber program working every time you run, change the first line to
read GOTO 30, which will now be the first line of your program, or you can
of course delete the renumber program altogether after use, but if you are
anything like me  always adjusting programs  you will find it useful to
leave in.



CALCULATOR
Malcolm Taylor,
Riyadh,
Saudi Arabia.
from Your Computer, August 1982, page 84

The program is intended for those who have a 16K ZX-81, but wish they had a
printing calculator. It will keep a running total of up to 100 entries, which
may be simply numeric or any of the ZX-81 keyboard maths functions.

The screen is automatically cleared when full, and the program is menu-driven
to allow alteration of any line number; review of previously scrolled-off
entries; clear and restart or continue.



FASTER GRAPHICS
by Jonathan Brazier,
London E2
from Your Computer, August 1982, page 83

Pottering along on my ZX-81, I have discovered a device which speeds up moving
graphics by some four or five times without adventuring into the tortuous world
of machine-code. It is based on the fact that any number of At instructions may
be included in one Print instruction, even if the co-ordinates are identical or
overlap. The program makes it clear, of course, it only works for horizontally
moving objects if you want the object's track erased as it goes. With a little
ingenuity the increase in speed is well worth the extra typing.



GRAPHICS STRINGS - PATIENCE for Sinclair ZX-81
by Julian Stradling
from Your Computer, August 1982

Three problems I have always found with complicated ZX-81 graphic displays
are:

- If Break is pressed, then any following command will clear the screen,
  losing the display.
- Changes in the display are relatively slow, and
- Changes in the display using Print At etc, are sequential - it would look
  far neater in many cases if the whole of the screen changed at once.

These problems are overcome to a certain extent by storing the display in a
dimensioned string and by using:

    LET S$(X TO Y)="whatever"

which is slightly quicker than

    PRINT AT X,Y;"whatever"

When the changes have been made, using

    PRINT AT 0,0;S$

will print the whole of the display at once. The advantages of this method
of screen display are illustrated in the Patience program shown.

Line 15 stores the screen in S$ - 704 characters 704. If a 24-line screen were used,
then this would read Dim S$(768), and a Poke 16418,0 would be inserted before the
print statement in line 355. Line 3 warns that there will be a delay of anything up
to 20 seconds while the machine shuffles the cards and draws the screen.

The screen display consists of seven depot piles numbered 1 to 7, each
containing five cards, a foundation pile marked with an inverse F, and a
face-down stock pile marked with an inverse S.

The bottom card of each depot pile is exposed. Any exposed card may be
placed on to the top card of the foundation file, so long as it differs
from that card by one. For example, a seven may be placed on a six or an
eight, but not on any other card - irrespective of suit. this is done by
pressing the number, 1 to 7, of the corresponding depot pile.

Kings are high, aces are low, and neither may be placed on the other. When
the patience becomes blocked, a card may be dealt from the stock pile on to
the foundation file by pressing S. This will decrease the number of cards
in the stock pile by one.

You win if you manage to clear all seven depot piles. You lose if you are
blocked, and have run out of stock cards. In either case, pressing S will
display your score.



SPEED BALL for Sinclair ZX-81
by Michael Rigby
from Your Computer, August 1982

This program is written entirely in machine code with two lines of Basic
used to store and run the program. It can be used with only 16K as the
screen must be memory-mapped.

When run, a moving ball will appear from a random position along the side
of the screen. You must manoeuvre a cross, which is controlled by keys
5, 6, 7, 8 to cover the ball. The number of points gained is displayed at
the bottom of the screen.