ZXComputing Jun-Jul 1984

Download as pdf or txt
Download as pdf or txt
You are on page 1of 156

AN ARGUS SPECIALIST PUBLICATION

J u n e July 1984

C1.9S

@©caMfMing
Britain's Best Magazine For The Sinclair user
L' Over 130 pages of
tollow Slogo-
information and
Logo at a Urograms for
nail's the ZX Spectrum,
I»ace9 ZX81 and zxso

Education
and
domestic
urograms
Joryour
ZX81 and technical
spectrum our 3D
ics program
l e a r n BASIC v*
the professional way
s

Going abroad?
Cash in on our
:urrency conversion
, DOWN AND
DOWItAGAI
The deeper you dive, the
eeperthe danger. Through
cavern after cavern to find the
pearls and the treasure. (It's differei
every game!) Sharks, octopuses and
jellyfish are everywhere; and look
out for your oxygen level /
taggering graphics, fantastic C|
- a true arcade adventure.
• f a d j T ^ ' i r >A V.:
Another great quality game from
the house which brought you
"Harrier Attack! "and
"Jungle Trouble"
DURELL:
available from
. SMITH* LASKYS*
NS at DEBENHAMS*
OOTS* MARTINS
COMPUTERS FOR ALL
CTRUM CENT
and many oth
fetail outlets
or order direct from
CASTLE LODGE, CASTLE GREEN.
TAUNTON. SOMERSET TA1 4AB
commodore \

f
ffleoui
DATA RECORDER ITIicro/
DESIGNED FOR RELIABLE SAVING & LOADING OF COMPUTER DATA

• COMPACT SIZE
200mm x 1.10mm x 50mm TAPE
COUNTER
• HIGH RECORD LEVEL

• AUTO STOP
PIEZO
' O U T P U T C U T ON RECORD SOUNDER]
leads left connected

I* AUDIO MONITOR
ON LOAD & SAVF.

3.5mm JACK LOAD'


2,5mm REMOTE
3.5mm JACK'S A VI--
7 PIN DIN SOCK I: I SLIDE
LOAD LEVEL

BATTERY
OR 6V ADAPTOR
SPECTRUM £24.95 adaptor supplied ZX81 £27.95
INCLUDING INTERFACE!

G U A R A N T E E D FULLY COMPATIBLE
WITH S P E C T R U M & ZX81 OR YOUR MONEY BACK!!

SUPER SOFTWARE
P U R R R F E C T V A L U E tapes for each computer S P E C T R U M 48K
LOOK!!
NEW!!
Road Race Golf P t a y y o u r Kludo for 2 to 6 Stormforce Invasion PROGRAM MKRS
WORKSHOP
A 3D m o v i n g road way r o u n d a 9 hole p l a y e r * w i t h rooms, A n original board
[ i * seen t h r o u g h the r a n d o m course, w e a p o n * , suspects. game for 2 player*.
Gunner FISHY DICK 'Character Generator
windscreen. You Super f a t t M L : Dick m u i l catch Misk JivpUv Clthf jlhfl
h a c h hole i * * e i Full board display, E a c h p l a y e r has 6
3D moving display. i h e fa*) m o v i n g f n k .V 21 t [Mi , + 14"ntn
m u i l stay o n the w i t h b u n k e r * , out r a n d o m solution* commando* and a
Lasers, shields, a* they s w i m i n h i * inarr<>
r o a d foe 45 m i l e * .
F u l l c o n t r o l o f gat,
o f b o u n d s It w a t e r
hazard*. 3D
a n d dealing. Good
f u n for all the
f i e l d gun. C a p t u r e
the e n e m i e s flag.
2 part invader*, river, l i e c a n emu
'Memory Peeker
3 level*. Q u i c k ' Tap* Header
g e a r * , steering. g r a p h i c * . F u l l tet family. Hidden mines and
reactions nr^dedi
a n d strike. M i n d
(he d u c k * !
Diticmblcr
F u l l cockpit display. o f clubs, p u t t i n g , action graphics. ' A t t r i b u t e * Calculator
Beautiful graphic*

I
full wore display. • M . C . Sound EfTecti
A l l m a c h i n r code. Generator
X o r The more fish you IWO'i H «. omhoul mn»
c a t c h the h a r d e r tatfle m*c. ramped i»in
1 Soccer* a tide Bar Billiards Battleships Starbuster Master of i l get*: & lWt> ti«K
Cast It S t r i k e w i t h 'Number Convenor
game for 2 player*. 1 or 2 P l a y e r * . Y o u b a t t l i n g the You a r r h e m m e d i n the R i n g s different bait tor Hnuit kWitmjl tip
1 Rebounding ball, Computer play* I. computer in this by a galaav o f s t a r t , A v o i d losing lives. each f i s h . It' Kt
moving men. wore Red b a l l , break a n d popular board n o v a * a n d super S e a r c h snake p i t , 'Number Translator
| « i . goal*, f o u l * . t o t a l score, p l a n g a m e . Set y o u r nova*. B l a s t I h e m r a v i n e , trees, maze, •IMtii rt>l#& Hittdct
}
P l a n view of pitch. view o f table w i t h fleet, c o m p u t e r * to b i t s a n d m o v e . black r i n g s , d a r k I n i i i m he* >< i k \ u i u l
• ® mushroom*. is r a n d o m . H i g h senre c h a r t . rider*. A l l w i t h traps A ' L D C A r r a y Display

a . T * * - • L, ,•
» • •
F i n d 6 h i d d e n rings.
Action graphics. A
"f
A HUs.1 Jr-pUis «f
'ti»ni cr jphn»
2 SUPER GAMES ONLY
S P E C T R U M (£3.50 each)
£4.95!
ZX81 (3.50 each)]
£6.00 for 2 tape. ON EACH TAPE!! £6.00 f o r 2 tapes

ALL Tape Prices include" Postage and Packing and VA I


Data Recorder AD1)£1.50 Postage. Packing & Insurance
meow micro/
Allow 7—14 days lor delivery X Newnham Close
Send cheques or Postal Orders only ilKAIN 1 REE, iissex CM7 ~|'R
Overseas orders for software tapes only! (ADD £1.00) Tel: (0376) 22425
11

i
t
Editor: Ray Elder
Editorial Assistant: Fiona Eldridge
Group Editor Wendy J Palmer
Sales Executive: Penny Scoular
Origination and design by MM Design Et Print,
1
Advertisement Manager: Barry Bingham
Divisional Advertising Manager: Beverley McNeill Circus House. 2 6 Little Portland Street. London W I N 5 A F .
Copy Controller: Ann McDermott
Managing Editor: Ron Harris Published by Argus Specialist Publications Ltd,
1
Chief Executive: T J Connell 1 Golden Square. London W 1 R 3 A 8 .

welcome
CONTENTS 8 • The 1K corral 39 • Slog o
1

I say, I say, I s a y . . . and so do you! In which you will find a multitude of mini LOGO in B A S I C ? David Nowotnik 1
masterpieces for your unexpanded reveals all in the first of a fascinating

AckAck Attack . . .13


ZX81. new series.

Touchdown 42
Show your mettle in C Stock's all action
airborne game for the Spectrum. Especially for ZX Computing — a
zappo and Zip . . . 71
program to teach as you type it in from T w o sound programs to help you explore
Gamesmanship ..17 Mike Richardson of Durell Software. the capabilities of your Spectrum from E
French and David Mold.
Expert advice from Tim Hartnetl that will Data Store 46 "I

Life and Death


put your programs one above the rest!
A very handy program with some great
Technical Drawing 20 features programmed by Dr R G Shiltito
— it's just what the doctor ordered! A comprehensive implementation of the
classic simulation, written for the
Machine drawing made easy for student,
expert or general use thanks to this Beetle Spectrum by John Elliot.
excellent program from Martin Clayton.
1
Escape from
A traditional dice game brought up to
Spectrum Lessons 24 date and given a new lease of life on the

Words of wisdom from Mike Edmunds


Spectrum by Colin Gooch.
Omicron . . .78
who gives us his professional opinion of
some more educational software.
ROM Routines 55 Sean Morley sets the scene for this
challenging ZX81 graphics game.

Escape
A Marsh shows how to enhance your
own programs by using what's built into 1
Get yourself out of a tricky situation in
your Spectrum. Bookshelf
Lynne Rollinson's graphics game for the
ZX81.
Readers' Reviews. 58 Resident book reviewer, Patrick Cain,
assesses three new books relevant to
Personal opinions and considered the Sinclair user.
Safecrack comment: the Editor a c c e p t s no
responsibility. . .
1
A program from S Parry to provide a Light Screen
challenge to students of any age. Club Corner 61 Designer 86
wall walk Looking for someone who shares your Toni Baker makes a welcome return with
the first in a machine code series that
interest in computing? Check out our list
A great Spectrum arcade game from Tat of local, national and international pushes the Spectrum to the limit.
Tang. computer clubs.

Ouicksoft 38 • Racer 62 • E d i t o r s Project 2 .90


Some of the more unusual Spectrum A racing game from David Price that In which w e bring you further relevations
packages assessed by Clive Smith. could drive you round the bend . . . on the battle to produce a better Llist.

4 ZX COMPUTING JUNE/JULY 1984


ZX Computing u published bi-monthly on the fourth Friday of the month. Distributed by: Argus Press Seles & Distribution Ltd. 12-18 Paul Street. London
EC2A 4 J S . 01 -247 8 2 3 3 . Printed in the UK by: Gamett Print. Rotherham end London.

The contents of this publication including all articles, designs, plans, drawings and programs and a l copyright and Other intellectual property rights therein
belong to Argus Specialist Publications Ltd. All rights conferred by the Law of Copyright and other intellectual property nghts and by virtue of international
copyright conventions are specifically reserved to Argus Specialist Publications Ltd. Any reproduction requires the prior wntten consent ol Argus Specialist
Publications Ltd.
© Argus Specialist Publications Ltd 1984

Competition 93 • D a t a Handling . . 120•semaphore 134


What's a jumbogram? Find out and win If you have always wanted to write that A brilliant idea and some advanced
yourself some software in our free entry, ideal utility, K Williams gives some tips programming from P Jennings.
mind-boggling competition! on how to go about it.
„ ^ _ P a r l e z - v o u s Micro-
Mozart C1984 94 • Mind Games 122
•PROLOG? 137
Who said the Spectrum's beep w a s Greg Turnbull, regular contributor and
useless! You'll be amazed at this Our reviewer has taken a look at an up
adventure expert, looks at one of the and coming language for the Spectrum.
program from Chi-Yeung Choy that wilt latest games releases — for those who
b r i n g a l i t t l e c u l t u r e to y o u r tike their software on the cerebral side.
computer. , . Follow Me 138
News Debugger 123 An offer you can't refuse from S Procter!

Keep upto date with the recent


Before throwing your computer at the
television set when that program doesn't
Youth Club 142
developments in hardware and software work, check here — then throw it!
with our regular round-up. The Revd Simon Springett has written a
strategy program with a difference.
Could you successfully run a youth club?
Sinclair Snooker . 103 •conversion Tips 124
Pot the black in this ZX81 simulation Handy hints from David Nowotnik for Bar Charts
game from Tim Blewitt. those who think the grass is always
greener. . . Revisited . ...146
N Brooks presents a versatile program
The ZX81 Soft Currency with many possible applications.
selection 108 Conversion 126 Please note that Sincleir. ZX. ZX80. ZX81. ZX
There's life in the '81 yet! Nick Pearce Spectrum ZX Microdrive. ZX Interface ZX Net.
Going abroad this summer? K Rider's Microdrive. Microdrive Certridge. ZX Printer, end
tries out some of the latest releases. ZX Power Suppty ere a l registered trademarks of
useful program will make sure you get Sincleir Research Ltd.

[2
your money's worth in lire, drachmas,
110 francs. . . Subscription rates: UK C I 2 . 7 0 including postage
Airmeil end Other retes upon epplication to ZX
Computing. Subscriptions. Intonei Ltd. Times
On television recently a thought control
system w a s demonstated — Z X C keeps
X81 Goes Forth. 128 House. 179 The Marlowes. Heme! Hempsteed.
Herts HP! I B B (Tel: 0 4 4 2 484321
you right up to date with this mind Peter Shaw takes a look at a new ZX Computing Is constantly on the look out for
expanding program from D Barraclough. variation on an old theme. we*-written articles end progrems M you think
that your efforts meet our standards pleese feel
free to submit your work to us for consideration for

Cool and akeTrap 129


publication
A l submitted material should be typed If possi

Calculating.. . . .111 Peter Cooke produced this reptilian


ble; handwritten work wll) be considered, but
please use your neatest handwriting Any pro
grams submitted should be listed, a cassette of
Turn your Spectrum into an effective nightmare. Can you cope with the your program alone w l not be considered A l pro
snakes in the grass? grams must come complete with a full explenetion
{and expensive!) calculator courtesy of B of the operation end. where rale vent, the struc
Mcintosh. lure: Spectrum progrems should be accompanied

zx Designer 132 with a cassette of the progrem es w e l as the

1K Disassembler .115
listing
A l submissions w l l be ecknowiedged and the
copyright in such works which will pass to Argus
Chris Timson provides a program to help Specials! Publication* Ltd w « be peid lor at com
Disassemble your ZX81 in just 1K? A you make the most of your Spectrum's petitive rates All work for consideration should be
real challenge from H M Tucker. designing facilities. sent to the Editor et our Golden Squere address

ZX COMPUTING JUNE/JULY 1984 5


ft v

;.vy. a™

^ FOR PRCxom
THE ZX
SPECTRUM SOPTWARE
Bonkers and Breakaway are available
from Prism, Woolworths, Rurnbelows, HOW TO ORDER POST TO: PROCO* SOFTWARE.
Telephone orders J09 HIGH ROAD. 10UGHT0N. ESSE*
John Lewis and Debenhams. (01) 508 1216
I
I P.'eaie vena me rhe foncmmg rtemj
* Dealer inquiries to Prism (01)253 2277 OnJiT Card « o « X * v l A t c « v B * c i * y ; * d
Bonkers I 1 Grid Master
* onty) c m p u r c h a s e by tetepfcon* O j w I • (£5.50)
(£5 50) I I (£4 95)
Overseas inquiries welcomed It w C a r d n o . n a m e a d < V e \ s a n d
'fqu-ffd and t o w a d e r * , n c * despatched
rtemi
I Break, ay | I Itst of n«w
llw unt Off • (£5.50 each) | | games'
DO YOU HAVE A GOOD IDEA FOR A GAME? I IPflW tick iltnnl
m^mmmmmm
BY POST i
CALL US! fencMemrcAeowPO «orf _ „

S.T>D>( mitt you' ' K J U K H I W O l i m the l I c*Hftoner m, KClS&>6ARClJHCM0


l O e t e f e w f i c r * v * r no< < d c i M i
COMING SOON! coupon provided. enclose f x * C h t q u « / P 0
Of u » y o u r A c c e s s o r B * r c i a » < a « 3 P i m k I Card Mo
PR0C0V
* Bricky Micky * Bermuda Triangle T * k * c h e q u e p a y a O l e to.
son WARE a n d post to a d d r e s s Oeicw
Sifbjn
AiKwt 7 0*ys lor delivery
* Time Bug
* Final Frontier
* Magic Orchard
IN PERSON
j Nam*
U*ni
V i s i t Out p r e m i s e * M t h e M d i r » b e t o » tor
a p e at selection * e w i i i be d e i i g M e d to i

askfor
de t a i l s I
see you

PRexom 309
PR0C0M SOFTWARE I
HIGH ROAD • LOUGHTON ESSEX I r - t e*« card.
T« (tve)
t ^ * cart m *
JOPTWAKE
TEL: (01) 508 1216 , """* " e i r t1
_2X/4^84j

ZX COMPUTING JUNE/JULY 1984 6


"THE BEST AND FASTEST SERVICE
O N THE SOFTWARE MARKET"
(B. Strasser, Jordan)

CONFUSED by the vast choice of Spectrum programs? We can help. We ve ployed hundred* to choose the best (some ore on this page). Full details
in our catalogue, free with your order It s the only catalogue to describe the best, omit the rest and quote all the reviews!
All games work with keyboard control and with joytfix at shown. Of course, we have the classics, too. like BLACK CRYSTAL [48K £7 50),
JET-SET WILLY (48K; £5 95) and PHEENIX (16K: £5.50). All gomes ore in stock ond tested by us - BEFORE they are advertised
WE TRY TO SEND YOUR PROGRAMS THE SAME DAY WE GET YOUR ORDER. Access/V.sa cord holders coll 01 789 8546. 24hry from
any country where your own laws allow this.

HUNTER-KILLER A N f X C f i l f NT SIMULATION
FViCcwrpNr.i C o p t o m your own
S - C l o t t t u b o t y o u h ^ n t d o w n o n d kill t h e e n e m y t u b ' 1 8 c o n t r o l l « y t ( P 8 0 T E K t t - c k h e t p i dire
BLUE THUNDER
tnCihng ond very fruttro'ing 'C'ath
SuF¥«fl GRAPHICS ond imooth p..el
i c r o f m g through ui i c e e n i
T a k e oW f r o m o d e t t i o y e i
hugely
f)y you» h e 4 < o p « e r t o o
tuHoce chart your c o u n t w a t c h t h r o u g h y o u r 3 0 p e r i K O p * Ol y o w t o r p e d o e t r u n t o w o r d t remote t k m d * o u w J I o n l y r e w u e yOu> c o m r o d c t you d i « o » e r h o w t o d e t t r o y t h e n u c l e o r
the target Q u i c k kill p r a c t i c e m o d * f u R t c r e e n control room chart r o o m p«'<Kop« t w - e o c t o r ' S tk.il l e v e l t K E M P S T O N STIX 48K Wtkoe £5 95
Very g o o d g r a p h , c t 4IK Protek £7 93

DUNGEON BUILDERrr;57;zr
GO TO JAIL
VXComp
K C f l l f N T GRAPHICS o r e Oted to m o k e a very
•mpretfve duplet? .ndeed
The b e t ' c o m p u t e r vertton of the fomowt g o m e
highly recommended
F r o m 7 to 5 p l o y « n . including the

WRITI YOUR OWN GRAPHIC ADVENTURES!


m o c h m e - c o d e to t e a c h you to It w o t t w o S p e c t r u m it y o u w i t h It t ruth l e u but honef! Every o n g m o l f e a t u r e foi'Wvlly reproduced

a n d O halt y e o n « n the moiling b u t n o w y o u c o n e o t . l y I t a m t o wr i t e a n d iHuttrote mochme helpfully tcroll.ng t c r e e n d.tptoy N O STl* 48K Automate £6.00

cod* odventurrt 100 p o g e monuot helpt N O STl) 4IK Dreom C t t S

PAINTBOX It y o u V* 6 m » l o o k i n g f o r a S p » f i r w n g r a p h i c ! w d
ihui hke o n * OI the b * l t |PapCompWHy> At they
tht
SPRING
fhese
All
SUPERourSAVERS
hove o<
progromt appeared in catalogue* Spectrum best!
cloim. even a child c a n m Paintbox to d e f i n e u p t o 8 4 Uie» O e h n o b l e G ' o p h i c t d r a w oil of
t h e m o n tc r e e n t o v t them tor your p r o g r a m ! then there i the ? t p e e d h. rei d r a w i n g E.T.X. Abbei| NOW £5.00 S AVI £1.00
program ond the 78 p o g e monual t h e m e n ' u t e f u l utility w e ever uied
PENETRATOR Melbourne NOW £4.tS SAVf £100
KEmPSIQN CURSOR STl* k|K PrtnitPtoner 17.70
NOW £1.00 SAVE £3.00
G R O U C H O Automata|
NOW £4.00 SAVE £1 50
FIGHTER PILOTHriNG A tuperb timufa'tpn at o p e c e o' SPLAT! Incentive

programming it I « n p f » u > r t . a t O g o m e T I M E G A T E Ou.diwivo NOW £4.tS SAVi £3.00


. M nor to b e m . i s e d fCompCho.c*. IS T H f 8 f S T I v( C O M f ACROSS N O W O T N t K PUZZLE P h . p p , NOW £3.43 SAVt £ 1.30
IPCGomei." 3 0 c o c k p i t < » > . 3 0 a«r-to-Oir c o m b a t Hunmng mtrumentotion 7 Op'iortt
M A O M A R T H A 1 A N D 2 iMtkrogen: FOR ftOTHI NOW £8 90 SAVE £3.00
SAVI £2.00
>nclud* l a n d i n g p r a c t i c e , flight f r a m i n g , c o m b a t p r o c « e actual combat 4 tkill l e v e l t
KfMPSTON INTERFACE I . A C F STl* 4IK Dtgrtof £7.93 G R O U N D A T T A C K (MvereoHi NOW £1.93
M O L A R M A U I (Imoynel NOW £4 00 SAVt £1.30

DENIS
travel Up t o 9 5
Rapid r e i p o m e tuperbJy compJen g a m e
fPopCompWlry
peoce .0
Funny friendly *e it a d v e n t u r e
pub *Ou
g r e o ' fun t o pfoy e>Ce"en>
At Dentt Thatcher y o u
ZZOOM Imagine NOW £4.00 SAVI £1.50

ONE PROGRAM FOR £1.00!!


location*, teekmg the mull find a drink e v e r y t e w m o v e *
while d r o p p i n g m o n the Royolt the MPt a n d m a y b e the P o p e |weormg o trutt o n d carrying a
lownmowerj Wr.tten w.rh TMf O U I U l £ U 9 J , N O STIX 48 K Application* £150
If y o u ' o r d e r f r o m t h u o d v e r t • t e m e n t c o m e t t o £ 3 5 o r m o r e e ' d u d m g p A p you m a y o h o b u y

LORDS OF TIME
ony o n e of the Super Savert a b o v e i e i c e p t the W a d M a r t h o t I tor (Ml £1 0 0 (plut p 4 p
S o m e o ' the m a i l intriguing p u / l l e i if
tor foreign a d d r r m i i
you e n , O f t e t t a d v e n t uret rhu u n o ' t o b e
milled /HomeCompWklyJ D e f e n d h i t l o r y o g a m t l 9 evil T i m e l o r d l f r o m t h e k e A g e t o t h e
SpoceAge 200' kxoi'ont ?00- vocabulary N O STl* 41* le.el 9 £9.90

SKULL The b e t ' t m o o t h e t ' and


art wonderful 'C'Oth;
e'everett m a r e g o m e I ve ever teen
B u l l i o n ! 3 0 m o w With 9 9 9 9 t e v e f t o t y o u
t h e ikuHt
To: SOrTHAU fUPDtMAUXT. V UpwuiI* U h iwunru
teorch for f e a t u r e a v o w i n g t h e - o n d e r . n g t k u l h ' S A V E O t PRINT O U T HI S C O R f TABlf
1 ! d o not Kfir/,» cu: y j write youi a x out cuetuiiy on piaw p«p«
N O STl* 48K Gomet Machine £5 95 4M quote 'Jus r.'jnbe: ZX6
lowni K wwipijw which j i ST£CTH'jM : »ctwije PC r^ae
THE TRAIN GAME
obtorbmg ondomuung S Uic
An e i c e f f e n t g o m e
though' out a n d U
original
of ochon
Run your Own r o i l w o y ' C h a n g e t h e p o m t i t o o v o « J c r o t h e t
we'I pavaOe tc Softwsie S jpemnriet
MASTERCARDRjtobk
DR Ciatymy VISA ACCESS-FJPOCAJO
" - ' ' —' ' ! f~l

w p l c h out f o r irate b l o c k i n g p o t t e n g e r t 30 c o m m a n d keyt I trock l a y o u t 7 tkill l e v e l ! 14 Svmh


tub levelt D e m o o n d P o u t * while y o u t " , k e < N O STIX IV4IK M«rotphere £5 95 fVw wnw cttv* U w e " vwww.Tjrc
Mast
SCUBA DIVE F A 8 U O U S UNDERWA 7(8. WOflD
tertfing b o c k ' o r a long naif biting a d v e n t u r e
.f r o u f a n c y Atttaat

S C U B A C W f n very t p e c i o ' 5 Uteri Oive o v e r b o a r d o n d teek your fortune, the way the
Powcooe
l i t h m o v e i t i n c r e d i b l e ! S e a u t . f u l full t e ' e e n o n u n o t e d g r o p h i c t b u t y o u II n e e d t t r a t e g y ot
w e l l o f t o c ' o t o ge< p o t t o » t h e o c t o p u m ' A l l S T l * 48K Ourefl O . t S
Ptwr* itwv ir.ca*eai<TJ«iv
PROGRAM NAME Ptice

WHEELIE
liftle t o o g ' o p h i c IS
MCfPTfONAXtr COOOCSAPMICS
with l o a d t a ' a n o n a t i o n C'oih
tmoorh
The c a t h
very d e r a i l e d
teauence n a
Uteri j t * n p b u m a n d c a r t o n your S u p e r O r e o m b i k e a v o i d h e d g e h o g t
£

t
but find the g h o t t n d t i Will you b e a t htm* D e m o m o d e G r e a t tound too All STIX
48 K ONCY Mtcrotphere £J 95 i
£
TRASHMAN
mott ployoble g o m e ever (ram M o k o l m E v o n t
Techmcolty
and movement
t h e g o m e it t u p e r b with i m o o t h
wonderful
For 1 or J p l o y e r t CoJIect ihe b m t
IPopCompWHy;
xrolling

o n d the tipt
The £

ovoid the g ' o t t a n d the dog*' S u p e r b a n i m a t e d grophict KEMPSTON 'PfOTEK


INTERFACE 1 S T l * 48K New Generation £5 91
POSTAGE 'J* AjaiSpcayp». £C MT

AND EUROPE AM Sip toi»»; c (uoflrtr

SOFTWARE SUPERMARKET PACKING

- 1
OUTSIDE EUIOPE AMCltotrecr piogtwunu. £
^tE^gWCOTOTOTAl XOTAL
VISA/ACCESS: CALL 0 1 - 7 8 9 8 5 4 6 (24 h n }
Friday 7 . 4 5 p m . entered the market with a range
Woken by children asking if I've of ZX81 and Spectrum pro
fallen asleep, reply "just resting grams. The company is a sub-
my e y e s " . sidiary of a Canadian organisa-
Try to prove it by typing "thr tion and all their programs are
quijk bron f o z " ego suffers from well packaged and have been on

8 ales of youthful laughter, sale in Canada and in the USA


ecide to watch T V for inspira- for some time. I wish them every
tion, success — anyone who sup-
ports the ' 8 1 d e s e r v e s it!
Friday 1 1 . 0 5 p m S e v e r a l other producers of
Les Dawson, The Friday Film Z X 8 1 tapes also sent samples
and Match of the Day all fail to along, my thanks to all of you
mention computers. Decide not and III try to keep our readers in-
to pay T V licence. formed of your products either
Back to the empty screen. through Nick Pearce's reviews
or the News columns.
Friday 1 1 . 5 0 p m
Screen still empty. Go to bed.
Friday 1.1 5pm
Decided to come home to write
Friday 3 . 4 5 p m
Return to own computer. Son Unfortunately this month there Contributions
i n t r o d u c t i o n — too m a n y has arrived home from school. is no i n t r o d u c t i o n due to
distractions at the office. "There w a s nothing on the technical problems beyond my We are always on the lookout
Stare at blank word processor •screen so I loaded my program control. for good programs and articles
screen. that I can't get working, can you for future issues Of ZX Com-
" H e l l o , good e v e n i n g and
welcome.
help?"
Eject son; woeful looks from A matter of form puting and where better to look
than to our own readers. If,
No good, someone else has son, disapproving looks from w h e n reading through the
already used it. wife. Thank you all for the massive magazine, you think you can
Phone rings. A n s w e r it, response to the questionnaire in write programs as well, or better
reminder from Fiona that in- Oh well, just a quick look. the Feb/Mar issue, i had hoped than our present contributors,
troduction is due, return to blank to process them and print the then let's hear from you.
screen. Friday 4 . 2 5 p m results of all your opinions, but All contributions are paid for
Wife brings cup of coffee, put it Son departs to play on bike, they are still arriving even as w e at very competitive rates, so if
on desk. phone rings. Fiona asking how go to press with this issue so, you've got your eye on a new ZX
"Well, here w e go again." t h e i n t r o d u c t i o n is going, hopefully, all will be revealed in add-oh or you'd just like to sup-
Corny, reach for coffee, spill it wonders if hysterical laughter is the next edition. plement your pocket money,
over notes. the sign that I've finally cracked. I have read many of them and then get writing! It is vital,
Get cloth, return to find cat Return to Spectrum, daughter my thanks to those readers who though, that all the programs
paddling coffee over desk. with friend of indistinct sex play - sent long detailed letters, I have you send to us are totally original
Eject cat, mop up mess. ing Hobbit. Decide to go for read and digested them even and not 'borrowed' or 'adapted'
walk. though I may not have been able from othrr magazines or books.
Return to fold after "just popp- to reply personally. (When Tim Hartnell w a s Editor,
Friday 2 . 0 5 p m ing into the shop for a few things One comment that a few he even received 'original' con-
Screen still blank, tike mind. as you're going o u t . " readers have made is that ZX tributions he himself had written
Muse on e m p t i n e s s of ex- Wonder if I've going o u t . " Computing is too patronising. for his own books!)
istence. Wonder if I've got a hernia. This is certainly not intended; in- The more original the pro-
Youngest child enters clutching Friday 5 . 1 0 p m deed, most contributors are of a gram, the better chance it has of
Postman Pat book, demands it "Once again the i n d u s t . . . " standard where they could being accepted. Just another
be read to her. Eject child, child " T e a ' s ready, its getting cold. patronise me. My regard for space invaders/duckshoot/
sobs, reproachful look from You've been in there all d a y . " Z X C ' s readers is high indeed, frogger-type game, however
wife. Read Postman Pat to child " Y e s dear." and one error brings many let- good, is obviously not as appeal-
f o l l o w e d by Mr Men and ters. The only thing I ask you ing as a totally original idea. Any
Goldilocks and the Three Bears. Friday 5 . 5 5 p m . take into account is that w e kind of program { b u s i n e s s ,
Cat returns to house proudly have a large number of readers domestic, educational or just
Friday 2 . 5 5 p m presenting us with a mouse. of different nationality, so I tend fun) will be welcomed but par-
Return to blank screen. Mouse not dead. Mouse very to write in as clear and simple a ticularly those w h i c h incor-
"What a great issue w e have much alive. Mouse escapes. form as possible. porate machine code or use ZX
this time!" Children, cat and Editor try to B A S I C in clever or efficient
S o u n d s too f a l s e , m u s t n ' t encourage mouse from under w a y s or employ routines which
fridge. Mouse not stupid. Wife can be re-used in other pro-
patronise readers.
Knock on door. Neighbour and refuses to w a s h up with a wild ZX81 revival! grams.
friend, also c o m p u t e r n u t , a n i m a l in the k i t c h e n . Do All submitted material should
wonders if I'd like to see latest washing up, anything for a I recently moaned about the lack be typed if possible; handwrit-
program? Possible source of in- peaceful life. Wife not stupid. of new Z X 8 1 programs. I did ten work will be considered but
spiration! Accompany him to his mean commercial programs — please use your neatest hand-
abode. Spend time admiring Friday 6 . 3 0 p m . the amount of readers' Z X 8 1 writing. Program listings are
s p a c e i n v a d e r s program in Where w a s I? Why didn't I submissions in the office is as vital, along with a clear explana-
BASIC, reluctantly agree that b e c o m e a m o u n t a i n e e r or great as for the Spectrum. tion of how the program is con-
program too s l o w and not I'm therefore pleased to see structed, what it does and what
something else relatively the user can expect to see when
suitable for publication, yet sedate? Muse on alternative that Softchoice Ltd of 52 Platts
another friend lost. the program is RUN (Screen
employement. Lane, London NW3 7NT have

8 ZX COMPUTING JUNE/JULY 1984 8


WELCOME
dumps are particularly valuable implementtion) add the follow- the start of the routine. This is
in this respect). Please send a ing lines: achieved by the two instruc-
cassette of the program as well tions starting at label PUSH'.
as the listing as this will allow us 7 2 IF e = - 1 THEN LET e = 0 The startup routine dynamically
to check the program before 74 IF e = 2 7 THEN LET e = 2 6 modifies this first instruction
publication and so eliminate Lines 2 0 and 107 seem unnec- and Mr Pope quite rightly points
errors. cessary; also 9 6 - 9 9 are never out that this is messy, but sees
All work for consideration called! Line 1 0 9 announces no alternative. There is, in fact, a
should be sent to the Editor or "out of bullets" too late, ie 'clean' w a y to achieve the
our Golden Square address. when the extra bullet is attemp- desired end.
ted. It is better to do this as soon The following simple piece of
as the last bullet has reached the code can always be used to
ducks: do this immediately after ascertain 'where w e are' in
checking for 10 hits, like this: storage. It hinges round the fact
that a 'CALL' instruction pushes
1 0 9 LET I = 1+1 the absolute address of the in-
5 6 8 INK 2: IF 1 = 1 3 5 THEN struction following it onto the
F L A S H 1: PAUSE 3 0 : stack.
PRINT A T 1 0 , 7 ; " O U T
started getting Greek w i t h OF B U L L E T S ! ! ! " : BEEP C D 5 2 0 0 C A L L 8 2 ;CALL a RET
French accents and UFO shapes 3 , - 1 8 : GO TO 6 0 0 instruction that is located in ROM
And now, the end among other things. I took it 3B ADOR DEC SP;'Re-expose'
is near... back to the shop and replaced it
only to find that this one also
The pause is to allow you to see
whether you have hit that last
the last entry on the
3B DEC SP:stack.
gave me stretched and squash- duck! £1 POP HL ;Now HL wiH
(I'm not called 'Old blue eyes' for ed characters. There is a severe problem (as contain the address of 'ADDR'.
nothing!) I hope this issue of ZX There is a solution. I took a the program s t a n d s ) w i t h
Computing gives you hours of couple of small pieces of toilet repeating the game (it seems to Of course, the address of the
enjoyment and helps you to get tissue and fixed it onto the hubs send you back to the last score 1. RET instruction in ROM location
the most from your ZX micro. which go into the roll of paper. The following lines should do the 8 2 would probably be different
Read o n . . . The quality of the print is now trick: for a Z X 8 1 , but any RET instruc-
super, There is, for those who tion will do.
Ray Elder believe otherwise, little need to 3 LET x = 0 (flag for replays) Incidentally, if one merely
even touch the paper while the 5 LET a = 0 : LET c = 10: LET wishes to disable the BREAK
A plea from the printer is running. e = 10: LET f = 9: L E T s = 0 : LET key, but do not require the
heart I hope that I may have solved
the problems of printer owners
1=0
21 IF x = 1 THEN GOTO 1 0 1 2
sophistication of Mr Pope's
routine, this may easily be
all over the country. 6 0 4 IF INKEY$ = ' " ' THEN achieved by inserting the follow-
Dear Z X Computing Yours faithfully GOTO 6 0 4 ing statement into the program:
I am twelve years old and in 6 0 5 IF INKEY$ = " y " THEN IN-
desperate need of a pen pal. I J a m e s McKay VERSE 0 : GOTO 5 LET anyvar = 2361 3: LET
have a 4 8 K Spectrum with a Prestwick 6 1 0 C L S : INK 2 : PAPER 7: anyvar= PEEK anyvar +
printer (what more could I Ayshire PRINT AT 1 0 , 1 2 ; " E N D " : Stop 2 5 6 * PEEK (anyvar + 1):
want!) and would like to swap Yours faithfully POKE anyvar,0: POKE
ideas with someone in my area. (anyvar + 1 ) , 0
Can you help?
Yours faithfully Out for a duck? John Kinory
London S W 7 After this statement is ex-
ecuted, any report message (eg
Jonathan Grimes Dear ZX Computing We occasionally use a 'less- B R E A K . S T O P . O.K. etc.) will
1 7 Little Strand Street As a relative newcomer to per- than-perfect' program with the cause a system restart
Skerries sonal computing (though I have intention that readers will learn (equivalent to switching off and
Co. Dublin done a fair amount of program- by modifying them themselves. on). Obviously, one should only
ming on mainframes, and have We do try to make sure that they insert this statement w h e n
even done such naughty things work though! Ed. testing is complete!
as play real-time, two-player I hope the above will be of in-
Submarines on a time-shared terest to your readers, as well as
line) I find your magazine very Mr Pope.
enjoyable and helpful. It is cer- Yours faithfully
tainly more user-friendly than
most other magazines I have Paul R Cohen
seen, and I say this having only (pp Microcosm)
read your February issue in any II ford
depth (and no. I have no shares Essex
in Argus Press!)
ZX Computing certainly
helps someone like myself, who
feels the limitations of memory iNcredible
and speed of small computers
very acutely after mainframes, Dear ZX Computing
get the most out of the Spec- Back in the dark days at the
trum. The games you select, beginning of December, I could
however long and tedious the with all the joyfully have murdered anyone
who mentioned the word 'IN'
keying-in may be, usually prove
worthwhile and exciting. trappings even if it wasn't computer con-
t would, however, like to nected. I'm much better now
though — honest.
ingenious! point out a few shortcomings in
Duck Shoot (page 142). It con-
Dear ZX Computing
I refer to your article. Trap It, by Y o u s e e , at the end of
tains some bugs and some in- Mr D Pope on page 3 7 of your November my Spectrum packed
Dear ZX Computing elegant points, that I think can Feb/Mar 1 9 8 4 issue. in and it w a s replaced. I had
I recently purchased a Z X be sorted out. To stop the gun In his machine code routine, bought it in June and it must
Printer. I w a s , at first, pleased falling off the screen and abor- it w a s necessary to load the DE have been a series 2. The new
with the print quality until t ting the run (which it did in my register pair with the address of one I now know to be a series 3.

to ZX COMPUTING JUNE/JULY 1984


WELCOME
Do you have any idea what ef-
fect it can have on you when a A new high? have improved on it myself with
a score of 8 2 7 - this time the
10
20
FOR N = 0 TO 1 7 5
POKE 3 2 5 0 2 , N
program which you know to be screen w a s almost covered to 30 FOR M ^ 0 TO 31
OK suddenly won't work? It w a s Oear ZX Computing start w i t h . Since then my 40 POKE 3 2 5 0 1 . M
Earth Attack which appeared in After looking through the Dec/ brother has scored 6 3 8 and my 50 POKE USR 3 2 5 0 0 , 2 5 5
your Oct/Nov edition and the J a n issue, my brother decided to dad has been in the 5 0 0 s . 60 NEXT M
control keys use 'IN' type in the Off the Wall program Yours faithfully 70 NEXT N
statements. by Mr Elliston. Having finished,
When I RAN it on the new we set about trying to beat the Jayne Pearson This fills the screen, starting at
S p e c t r u m , the three Smart top score of 5 1 3 . Scarborough the top left hand corner.
Bombs went off on their own, My brother broke this first North Yorks
the lasers kept firing tin they ran with 5 1 7 after only getting 9 9 10 LET LINE = 0
out, I got blown to bits and the first time but I beat him a few / don't want to print pages of 2 0 LET COLUMN - 0
scored zero — I just sat there weeks later with 6 7 6 . Nobody readers' high scores but this one 3 0 POKE 3 2 501,COLUMN
stunned because I hadn't touch- else has beaten this yet but I looked good. Ed 4 0 FOR N = 0 TO 7
ed a single key. 5 0 POKE 3 2 5 0 2 , L I N E + N
It took me four solid nights 6 0 POKE USR
work of listing and re-listing the OPF THE WALL. 32500,USR"a" + N
program until I finally narrowed 70 NEXTN
it down to the main loop. At that
time I knew nothing about 'IN' This prints the user-defined
statements or how they worked graphic A at position
but I realised that instead of LINE/COLUMN on the screen.
wailing for input the computer 1 hope you can include this
w a s a c t u a l l y c a l l i n g sub* short article in a future issue of
routines on its own. ZX Computing as I am sure it will
be of use to all S p e c t r u m
owners.
Yours faithfully

Richard Wright
Richmond
Surrey.

The rest is history as they say


and through that and error I
found that in series 3 Spec-
trums, the In Ports have a value
of 191 when no key is pressed Loads of code 1,0,0,120,230,248,31,31,
but on series 2 machines the 31.87,230.24,198.64.103,
number is 2 5 5 . Now if I had not Dear ZX Computing 122,230,7,15,1 5,15,129.
found this out I would have sent As all Spectrum owners know 1 1 1,122.23,23,23.95,120,
you a letter complaining about the display file of the Spectrum 147,254,0,40,4,36,61.32,
this and asking why it took so is organised in a very com- 252.68,77,201
long for you to warn people in plicated way. This makes PEEK- When you have finished type
your magazine. ing and POKEing to the display S T O P . Now. enter PRINT USR
Instead may I offer you my very difficult. 3 2 5 0 0 and if all is well you
thanks — I mean it — for in solv- People w h o u n d e r s t a n d should get the answer 1 6 3 8 4 , if
ing this problem on my own I machine code will know that the not, or if the machine crashed,
have learned more in a couple of only way to create fast fticker- reload the program using:
weeks about programming than free games is to POKE the
I did in the 16 months after I display. This short machine LOAD" "CODE 3 2 5 0 0 , 1 0 0
bought my Spectrum. code routine will calculate the
I have enclosed a list of address of any of the 5 6 0 0 and check each byte of the pro-
values for series 3 which should points on the display, therefore gram carefully. The way to use
be read in conjunction with allowing users to PEEK and the program is as follows:
Chapter 2 3 of the Spectrum POKE anywhere on the screen.
Manual. T h e y might be of To enter it, simply enter the POKE 3 2 5 0 2 , LINE NUMBER
assistance to anyone still strug- LOADER program below and
(Between 0 and 311
gling with the problem. type in the numbers underneath.
POKE 3 2 5 0 1 , COLUMN
When you have finished, type
NUMBER (Between 0 and 1 75)
NEW and save the program on
value True when tape using:
If you now enter PRINT USR
191 No key pressed S A V E " c o d e " C O D E 3 2 5 0 0 , this will give you the ad
191 Any key in Yi row pressed dress of the LINE/COLUMN
32500,100
190 1 st key in row pressed coordinates that you POKEd into
189 2nd key in Vi row pressed the 2 addresses. When POKEing
Here is the LOADER program in the LINE number, 0 is the top
187 3rd key in V» row pressed and the numbers to type in:
183 4th key in Yt row pressed of the screen and 1 7 5 is the bot-
175 5th key in >4 row pressed tom.
10 CLEAR 3 2 4 9 9 The code can be stored as
20 LET N - 3 2 5 0 0 long as you change the LINE/
Yours faithfully 30 INPUT I COLUMN addresses ap-
40 POKE N,l propriately.
J i m Thomson 50 PRINT N,l Here are two programs il-
Cumbernauld 60 LET N = N + 1 lustrating exactly how the pro-
Glasgow 70 GO T O 3 0 gram works:

to ZX COMPUTING JUNE/JULY 1984


WELCOME
The Editor strikes Should you get an 'integer out of
again range' report, type PRINT
i-50990 and press Enter. You
witl find that you have left a On page 1 1 7, ZXC April/May.
Galactoids, in the April/May edi- number of out of the DATA line Incentive Software were incor-
tion of ZX Computing, was printed on the screen. rectly given as the authors of
created as I explained by a pro- Once the program has run Beyond Basic and Musicmaster
gram which created the DATA successfully and reported O/OK for Sinclair. The company
lines by PEEKing the machine then NEW it and Enter this line: responsible for these packages
code. is incognito Software — our
Unfortunately, over con- 10 CLEAR 3 0 9 9 9 : FOR apologies for the mix-up.
fidence got the better of me and I i 3 1 0 0 0 TO 3241 7: POKE i.
made a silly error by allowing for PEEK (i + 2 0 0 0 0 ) : NEXT The correct price for Gamestape
16K of memory but forgetting 1 from Fawkes Computing i s
that by CLEARing 3 0 9 9 9 I had and RUN it. Finally, enter Listing £ 5 . 9 5 and not £ 4 . 9 5
effectively created a 16K 3 and save and continue as per printed.
machine on a 48K. Needless to the instructions printed.
say, the computer won't let you My humble apologies to
do it and reports RAMtop no everyone who attempted Galac-
good. toids and especially to Gavin
However, the solution is sim- Smyth whose program I nearly
ple; create the machine code ruined, and my thanks to Mr
higher in memory, NEW the Redman for all his help.
DATA and then transfer it back
down to its rightful place. To put
it in simple stages, in Listing 2a,
change:

2 0 0 0 CLEAR 5 0 9 9 9 :
RESTORE
2 0 1 0 FOR i = 5 1 0 0 0 T O
52417
STEP 10: LET c = 0
and in line 2 0 3 0 , change
3 0 9 9 0 to 5 0 9 9 0
Now RUN the program (with
all the DATA lines in of course).

COMPUTER
WARGAMESI
toWi^ * * * * * * J
Are you ready for the
BjdChaftenpr challenge of real
wargaming? Get Military
Modelling magazine and
find out how your micro
can lead you into a
whole new world of
combat.
JfTVofrrt
!
BatttefieU Butt*s
THE FIRST IN
W H A T IT IS
Whether you are a beginner
or an experienced
1
DYMIY1IC PACKAGES programmer it will make no
difference with the
DYNAMIC GRAPHICS

FROITI
package from Procom. You
will be able to program
professional looking

PROCOIYI
graphics on your Spectrum.
DYNAMIC GRAPHICS
comes in two cassettes at
the price you would
normally pay for one. But do
not let the low price put you
off. DYNAMIC G R A P H I C S
is by far the most unique
and much needed software
aid on the market today.

£14-95
trie VATandPirP

0 t r m r

/ a ' m / a / J

1 DYNAMIC PROGRAMMING
2 DYNAMIC ANIMATION
T H I S IS A C H A R A C T E R DESIGNER WITH A 3 DYNAMIC SOUNDS
D I F F E R E N C E * F U L L S C R E E N ANIMATION OF 4 D Y N A M I C FILING
S P R I T E S * 27 F U N C T I O N S I N C L U D I N G S P R I T E 5 D Y N A M I C EDITOR
H A N D L I N G 96 C H A R A C T E R S W H I C H C A N B E S A V E D
O N T A P E T O U S E IN Y O U R O W N P R O G R A M S & ASSEMBLER
* E A S Y M E T H O D S OF I N C L U D I N G C H A R A C T E R Package tor the ZX Spectrum now!
(Also for the BBC. Electron and CBM 641
D E S I G N S IN Y O U R O W N B A S I C P R O G R A M S * NO
KNOWLEDGE OF MACHINE CODE NEEDED
* S C R E E N SAVING * S P R I T E S MAY BE TREATED A S EASY TO USE
S U P E R L A R G E C H A R A C T E R S (4 x 4). T H E L I S T I S DYNAMIC GRAPHICS is the one
ENDLESS. YOU WILL BE A B L E TO DESIGN LITERALLY that everybody wilt understand. The
T H O U S A N D S OF DIFFERENT C H A R A C T E R S FROM instruction manual is simplicity itself.
No more strained eyes — the manual
P A C M E N T O S P A C E M E N OR S P A C E S H I P S T O has large 10 * 8 pages with plenty of
BATTLESHIPS. diagrams to make it easy for you.

TAPE 2 YOUR T I C K E T TO RICHES?


T H I S IS T H E U L T I M A T E UTILITY FOR C O M P O S I N G Use DYNAMIC GRAPHICS to make
HI R E S G R A P H I C S O N Y O U R S P E C T R U M A S W E L L up your own program, and if it's good
A S ESSENTIAL HAND DRAW CURSOR CONTROLS we will market it for you and maybe
{OR J O Y S T I C K ) T H E R E A R E M A N Y A D V A N C E D make you rich.

DYNAMIC
FEATURES. S U C H A S FAST FILL A N D R E S C A L E
T H E R E A R E IN A L L O V E R 50 C O M M A N D S . A
CONSTANTLY UPDATED STATUS DISPLAY.

GRAPHICS
G E N E R A T E D P R O M P T S A R E FULLY DISPLAYED.
NOW YOU C A N DESIGN S C R E E N S A S GOOD A S THE
SOFTWARE COMPANIES.
HOW TO ORDER
Telephone orders r PoM to PROCOM SOFTWARE 309 HIGH ROAD
LOUGHTON ESSEX
(01) 508 1216 m l nv rflrtaAHwigawnt

••
Credit c*rd Holders (Access Barciaycard DYNAMIC r—1 DYNAMIC DYNAMIC
only) can purchase by telephone Please • GRAPHICS PROGRAMMING • ANIMATION
g<vt t * s « o . name, address and items DYNAMIC DYNAMIC DYNAMIC
required and your order wii be despatched • SOUNDS HllNG • ItMTOn b
PR<xom
the same day ASSIMBtfR I
IPW*M Kk nmi
BY POST
I anclone my chequa/PO tor ( I
SOPTWARE
$<mp<y write you' requirements in the
coupon provided, enc lose yot* cheoue P 0 I prater to pay with my ACCCSS BARCLAYCARO
or use your Access or Bare 'aycar a Please Onm •rviirw nor j«*ar»> I -
make cheque payable to PROCOM
Card No
309 HIGH ROAD
SOFTWARE and post to address below
Alio* 7 days for delivery Signature
IN PERSON Name
LOUGHTON V-Sit our premises, at the address below tor
Addrwu
ESSEX a great selection
see you
we will be delighted to

Tel: (01) 5081216 Tat (Day) Tel lEvel


CtOricard! vaM H ugnwt by card hotdaf
Addrttt abova mutt ba Th# tama at card boMar ZX4/84 I
SPECTRUM CAME

Ack ack
Here's your chance to prove that you're a hero!
Join the Dam Busters with C Stock of Chelmsford.
The enemy are on the offen- for the valley and two for the
sive. Troops, guns, shells and guns.
tanks are pouring down into Your plane appears at the
the enemy position along a top of the screen and the
single, heavily defended valley scrolls upwards toward
railway line. The only chance is you, as you go you must bridge, crash or are hit by the There are many variations on
for a single, daringly piloted destroy the guns which are fir- guns. If your score falls below the "scrolling screen" game
mosquito plane to fly down the ing at you — 2 6 points — until - 3 0 0 then the game is over but type this one in and I'm
valley and destroy the railway you reach the bridge at the end — you failed to halt the attack sure you'll agree with me that
bridge. of the valley. and alt is lost! this is one of the best.
You have been selected and When you drop your bombs
briefed for this task and victory
or defeat rests with you.
the birds eye view changes to
a side view of the valley and
Down the lines
The valley is randomly the trajectory of the bomb j s
generated before the start of shown followed by the results 48- 80 UDG s.
the game — this takes approx- of your attempt. 1 0 0 points 100- 180 Random valley.
imately 1 7 seconds but speeds are awarded for a hit on the 1020-1195 Main loop of the program.
up the running of the game. bridge, but beware, 100 1085-1105 Checks if Ack Ack guns are in range, each
Four strings are defined, two points are lost if you miss the gun has two shots at the plane.
1130-1190 Draw next line of the valley.
1200-1310 Ack Ack Guns.
1600-1670 Bombers cannon.
1800-1990 Bomb.
2001-2300 Finish.
SPECTRUM CAME
7 prM -A A ATTACK- C.C.StCCk KEY® ="8">
3 PFM G r a p h i c s A - A B » B C » C JC45 I F ATTR ( 5 , X > =56 THEN GO
D=D E F = E F TO 2 3 0 0
4 PAPER 7: INK 0 : BORDER 2 1050 PAPER 5 : PRINT AT 5,x|"A"|
5 PRTNT AT 5 f 4 | • ACK ACK A AT 4 , x I J " BEEP . 0 2 , - p : LET x
T T A C K • ; AT 7 , 9 ; PAPER 6J" l»x
P1 ease- wff i t " 1070 I F I N K E Y * - " 7 " THEN GO T O
20 LET LET x l * 1 6 : LET a= 1600
13! LET b * 1 9 : LET w-100: LET e*- 1080 I F TNKEY* = " 6 " THEN GO T O
N 1800
m 1085 I F n<17 THEN GO T O 1 1 3 0
30 TTM « ( i o o : DIH s<ioo>: DIM 1 0 ° 5 I F c C t ) • 1 OR = ( t - l > - l THEN
c ( ! 2 l ) : DTM d < 1 7 1 > : LET a(l>*13 I F x - a C t - l > < 4 OR x - a < t ) < 4 T H E N
: LET b i l i = l 9 GO S U B 1200
40 FOP n=0 TO 4 7 1 1 0 5 I F d < t ) - l OR d ( t - 1 ) " 1 THEN
®EAD q ! POKE USR CHP« 144 I F b ( t ) - x < 4 OR b ( t - 1 ) - x < 4 THEM
• n, q GO S U B 1200
50 NEXT n 1130 I F n <100 THEN LET a«a(n>:
6 0 DATA 60,24,24,255,255,126,2 LET b-b(n>
4,24 1145 PAPEP 7: I F c ( n > » I THEN PR
6 5 DATA ?,117,106,244,234,2-4, INT AT 2 1 , a - 1 J " o B " : GO T O 1 1 5 5
126,56 1150 PRINT AT 21,a!"X"
7 0 DATA 64,174,96,47,37,127,12 1155 I F d ( n > 3 1 THEN PRTNT AT 2
6 , 14 i,b;"Co": GO T O 1 1 7 0
7 5 DATA 255,129,129,165,255,36 1160 PRINT AT 21,b!"X"
,24,24 1170 PAPER 5: PPINT AT 21,a+l;e
8 0 DATA 0,0,240,248,255,255,25 * ( 2 TO b - a >
5,0,0,0,0,120,254,255,254,0 1172 I F n * 1 0 0 THEN PRINT AT 21
"O PPINT AT 1 0 , 5 ? " F R I D G E "100 , 0 ! P A P E R 6 5 "##*t#*t*t*»t»*#M####MWtttt
C o c P - 2 6 " t AT 12,5;"HIT/CRASH/
MISS - - 1 0 0 " ; AT l 6 , 2 i " 5 » L e f t 6= 1185 IF n >120 THEN GO TO 1000
Bomb 7 « T u n 8=Right" «jqo TP r.>V THEN LET ri*n* 1 : GO
1 0 1 ^OR n = 2 T O 1 0 0 TO 1 0 3 0
1 2 0 L E T a ( n ) » a + I N T ( RND * 3 - l ) ! 1 * 5 NEXT n
: I F a ( n ) > 2 5 OR a t n X l THEN LET 1 2 0 1 R E M * * ¥•* * * AA G'.'.N
a (n)-a 1210 BEEP . 0 2 , 4 : L E T x2 =x* INT <
125 TF a ( n ) > a THEN IF RND < . 3 PND * 3 - l ) : L E T y 2 » INT ( 4 * RND
4 THEN LET c(n)»1 *3>
1 3 0 L E T b ( n ) = b + I N T ( RND * 3 - I > 1720 PRINT AT y 2 , * 2 ! PAPER 8;"*
-(b>30): I P b t n ) - a ( n ) > 8 THEN LE ": I F v 2 = 5 AND x 2 = x T H E N GO T O
T b(r>)»aln)+8 1301
'.35 I F b ( n ) - a ( n ) < 4 THEN LET b( 1230 BEEP . 0 2 , 4 : RETURN
n ) = a ( r») +4 J 301 P R I N T AT 5 , * ; PAPER 2j INK
140 I F b ( n > ' b THEN IF RND <.3 6! FLASH I!"*"
4 THEN LET d n ) »1 1 3 1 0 FOR n = ! TO 1 2 : B E E P . ! , ( RN
180 L E T a = a ( n ) : LET b-b<n): HEX D * 8 > : N E X T n : GO TO 1 0 0 0
T n ! * 0 1 PFM * * * * * * gun
1^01 R E M * * * * * * v a l l e y 1610 FOR 9 = 6 TO 9
1005 PAPER 5 : CLS : LET w=w-100: !630 BEEP . 0 1 , 2 4 : IF SCREENS (3
ORINT AT lS,!iw . v ) = " x • THEN GO T O 1 0 8 0
1008 PAPER 7 : PRINT AT 21,0J"XX '640 BEEP . 0 1 , 2 4 : IF SCREEN* 3
x x x x x x x x x x x " ; AT 2 1 , 1 9 ; " X X X X X X X X , x - l ) « " o " ^HEN LfTT w > h » 2 6 ! LET
XXXXX" r t n + 3 - 2 I> 1 PRTNT AT 3 , ; ; " X " ;
1010 I F w<-300 THEN GO T 0 2200 GO T O 1 0 P O
1 0 2 0 F O R r»= 1 T O 1 0 0 !650 IF SCREEN* ( g , * + l ) « " o * THE
1030 LET t=n-15 N LET w-w*26: LET d(n*g-21)»0:
1035 PAPEP 4: POKE 236*2,-1: FRI PRTNT AT g , x » " X " t GO T O 1080
NT 1670 PRINT AT g , * ; " ' " : NEXT 3:
1040 LET *»>:-< INKEY* »"5") +< IN TO 1 0 9 0

14 ZX COMPUTING JUNE/JULY 1984


SPECTRUM CAME
ipoi PEI* ** ** ** Bomb
1310 CLS : LET s=(122-n)*2
1820 PAPER 4: PRINT AT 12,0Te*
1930 FOP r\-l 3 TO 20! PAPER 7! PR
IMT NEXT r: PRINT ; PAPER 6;
: BEEP 1 , 0 : BEEP 1,0: BEEP 1,12
IF s<0 OR s >31 THEN GO TO 1 * 4 7 I F n « 2 1 AND - 3 = 2 0 THEN LET
jQOO w = w + 1 0 0 : GO T O 2 0 0 0
1360 FOR n « 1 2 TO 2 0 : P R I N T AT n 1950 NEXT n
,S5 PAPER 5 | • " ; NEXT n 1930 PAUSE NEXT n
1880 PRINT AT 21,si"DD" 1o o 0 GO T O 1000
IPOl PAPER 7: PAUSE 50 2001 PRINT A T 8 , 5 ? P A P E R 6', FLA
1905 FOR n=1 TO 3 0 SH 1 ! " M i s s i o n A c c o m p l i s h e d "J A
! 910 T 1 0 , 3 ! " The b r i d g e is destroyed
EF" PRINT AT 15,n-1J PAPER 8}"
AT 1 2 , 1 0 } " S c o r e = "
1 °20 2 0 1 0 F O R n = l TO 2 0 : B E E P . 2 , < RN
1 9 8 0 I F n > 2 1 OR n < 1 1 T H E N GO T O
D *12+12): NEXT n: STOP
1*30 LET a=(n-11)"2/2.3 7201 PRINT AT 1 0 , 6 ! P A P E R 4 f • M
1940 PLOT n * 8 , 4 7 - a : DRAW 4 , 0 : PL TSSION ABORTED "* AT 1 2 , 5 j " C
OT n * 8 - 3 , 4 5 - a : DRAW 4 , 0 YOU HAVE F A I L E D E "
1945 I F n - 2 l THEN PRINT AT 2 1 , 2 2 1 0 FOR n - 1 TO 3 0 : B E E P .02,4:
20I PAPER 2; I N K 65 FLASH i ; 1 TEEP . 0 2 , 4 : PRINT A T ( RND *2i)
, < RND * 3 1 > ? P A P E R 6 i INK 2!"*":
NEXT n: STOP
J?3C1 P R I N T AT 5 , y ; P A P E P 2? INK
6! FLA3H I f " * " : BEEP 1,4: DEEP
.5.12: BEEP 1,0: GO T O 1 0 0 0

C O M E S JM SsH»M * PM
t-i* sftcmt/n
S UPE«6
PACKING
THE TEBBIT
Jotn the magical quest for the elusive monetarist dream, in which THf Mltct hT IRbT
you. a humble Tebbit must seek the assistance of Magdaif and HcVOuUTioN AN A OVfNTVMt ]
Tomkm-Gee to find and defeat the ferocious (and balding) Scarg. is h c a c ' r i M T i MM
48K SPECTRUM £5.50 Inc p&p to
48K -I- ATARI

THEY SAY THE WORLD WILL


DIE m FIRE AND ICE
* " »C .9.
WW ot NjmiH. Irt, tftr Sm, i,t#i
tn>t«i»T* OfLivfly S(KV«C<
( t . sfNO os oftotft /^owont
we t c c i c v f mawfy rutjom
TOO Ucilvr nteuun WCVNOOAY1

YOM o*0£*$
To
eutrtie Sorrwrtf
/ } C i 4 A £ / v f i 0 A / Ai>

lOAtOOKf £ t/ /&2
T f f L . O i - l W Oitl
PtftLc* CuouiHitS
DENIS WfLCOMt
A zany political adventure m which you take the roJe of Denis 100%
Thatcher striving to avoid Maggie and all your favourite political
figures to escape from the political jungle.
48K SPECTRUM £5.50 Inc p&p JfiS
48K + ATARI

APPLICATIONS SOFTWARE SPECIALISTS SPfc/m


8 St Pauls Road, Peterborough PE1 30 W (0733-46145) imoouroRY
2 - 9 7 f / t
price « jusr • • •

15 ZX COMPUTING JUNE/JULY 1984


The No.1 Foot ball Game
Now available
C
f o r t h e B B C model B'
Football Manager
D e s i g n e d b y K e v i n Toms
This outstanding game of skill and
strategy is now widely available
and you can join the many
thousands of satisfied customer
who have purchased the game.
This is no five minute wonder -
you will be playing this game
for hous over many weeks
(we know - ocr customers tell us!).

Some of the features of the game;- Kevin lom»


• Matches in 3D graphics • Transfer market
* Promotion and relegation • F.A. Cup matches
Injury problems * Full league tables
* Four Divisions * Pick your own team for e a c h match
* As many seasons as
you like
* Managerial rating
* 7 skill levels
* Save g a m e facility

• mew
Home Ccmpueno Weefrtv 212 6*

Comment* obout the gome torn orevs originator. Addictive Gdmes. certainly
ona Oi« customed deserve the name Rating 19 20 (Practical
"FOOTBALL MANAGER is the best gome t Computing - August 1983]
hove yet seen on the Spectrum and my When IJirst received this game I spent the
personal favourite of all the games on any best part of the weekend playing it Since
micro To the ordinary person 11 is an then i have returned to it more often than
excellent view of what c a n be dooe tn the any other The truly addictive quality of this
field of computer gomes The crowning game is the remarkable way it minors the
glory of this game is the short set pieces of real football manager s problems
i
match highlights which show little stick men Personal Computer Games - Summer
running around d pitch, shooting defending >83)
and scoring It is o compulsive game but
people who cannot take game sessions of 9
hours or so, which happened on one happy
Sunddy. will be grdtetul to know thot there is
d save to tape'option FOOTBALL
Versions coming soon for
MANAGER has everything it could The
Commodore 64
Dragon, Oric
and Atmos.

"I am writing to say what d great game it is


have spent over 45 hoi*s on it" (Mr D
Action torn the Soectum version feam - Gloucestershire |

Available from computer software stockists nationwide, including ^H^ & ¥/a
prices: BBC Mode<B £7 96 To order by mod |p6o »ee| send cheques or
Spectrum 48K £ 6 9 5 ponoi orders to
Dealers! For urgent stocks send
ZX8116K £596
|N 6 ID GRAPHICS ARf NOT INClUOfO IN >todictii« Games your headed notepaper direct to
THE 2X01 VERSION] 7A RICHMOND HL.BCmRrfOUTH BH2 Crt our address.
O w r w maen a u tlio
PROGRAMMING TECHNIQUE!

Gamesmanship Be one up on your friends with some


excellent advice from Tim Hartnell on how to
improve your programming.
It is very easy to generate startl- aliens look more ferocious. Get cannot be mastered the first you're skillful). Let the screen
ing graphic displays on the your program working first, and time it is played, but should not break out in technicolour rain-
Spectrum as you well know. A then dress it up. be so difficult that the player bows and make the most of the
few natty user-defined gets no positive feedback at all. feeble little B E E P when so-
graphics, a flash or two on the The important However, the player should be
developing games skills while
meone wins a game, so their ef-
fort will be worthwhile.
border, and you're well on the
way to producing a great game. points playing, so that the next time he Added to this is the use of
However, the very ease of or she approaches it, a better high scores. These are very easy
producing superb displays on Towards the end of this article, score is likely. Would you tackle to include and are perhaps the
the Spectrum can be quite a trap I'll give you a number of short Pole Position over and over simplest way to maintain in-
on the road to producing worth- routines which you can use for again if you didn't even qualify terest as a player goes back time
while programs. If you're like dressing up programs. after fifty attempts at the game ? and time again to try and beat his
me, at one time or another However, first I would like to ex- To ensure that your game in- or her previous best effort.
you've probably seen a great pand on my earlier statement cludes factors which the player
game at an arcade and im- that there were a number of can become skillful at
mediately rushed home with the criteria which determined manipulating, y o u need to This way up
idea of writing the same game whether or not a computer game minimise the random element of
(or something similar) on your w a s going to be any good. the game. I do not mean that you I have repeatedly advocated
Spectrum. You have a pretty You can probably add a few should not have random factors that games should be written in
good idea of what the screen to the ones I'm going to outline in a game, to ensure that each a top-down manner, calling the
looks tike when the game is from your o w n experience. game is different from the whole program from a series of
underway, and you immediately Think about the arcade games preceding ones, but that the ran- subroutines which lie within a
start to re-create the screen you most enjoy playing. What d o m n e s s s h o u l d be u s e d loop. Part of this 'structured' ap-
display. makes them so enjoyable? It is carefully. proach is to have the initialisa-
This is the trap. While it is highly likely that others will en- For example, the flight of a tion material at the end of the
fairly easy, given a little pa- joy games for the very same mother ship across the top of program, so that the start of the
tience, to recreate a arcade- reason you do, so if you can the screen could be triggered game looks like this:
game screen fairty faithfully on analyse the reasons for one randomly, but the effect of
the Spectrum, even when work- game's success, you may well pressing the 'F' (for fire) key 10 REM WHIZ-BANG
ing in B A S I C , it is far from easy be able to use that knowledge to should not be random. How ALIENS
to then produce a game whicn is improve your own programs. could you master Ant Attack if 20 GOSUB 9000:REM
worth playing. I suggest that The objective of the game you could never be sure how far INITIALISE
you may consider working, from must be clear to the player. It you could lob a grenade? 30 GOSUB 1000:REM
now on, the other way around. might be to blast away all the S o , the first element in PRINT SCREEN
If a game is to be any good on weeds on the screen with your developing a game with which 40 GOSUB 2000:REM
a computer, it must fulfil a can of weedicide, or to find the the player can develop playing- MOVE ALIENS
number of criteria. A superb Holy Grail, or to move from the skill is c a r e f u l use of ran- 50 GOSUB 3000:REM
screen display is of little use if left to the right of the screen domness. In adventure pro- PLAYER RESPONDS
the game behind it is so poor that without being blown up or grams this is particularly impor- 60 GOTO 3 0
it rapidly becomes boring. Far whatever. The purpose of the tant. The map you develop as
better a game which just uses game should be clear fairly you work your way across the In the section from line 9 0 0 0 ,
text output, or chunky graphics, quickly to the player and, in Doomed Land should relate to a y o u i n c l u d e t h e line L E T
rather than complex user- general terms, a means to that s t a b l e e n v i r o n m e n t or the SCORE = 0 . To include a high
defined graphics, if the text pro- goal should also be clear. One Adventure degenerates into a score feature, you add before
gram is actually worth playing. thing that held the Tron arcade 'game' of randomly-triggered tine 2 0 the following:
Far better that you write an in- game back in its early days w a s PRINT statements. Aliens which
triguing game with a merely ade- that it w a s pretty difficult to die only some of the time, or a 15 HISCORE = 0
quate display, than write one work out what to do and, even 'rotate' command which only
which looks good but which has when you had, to many players swings your craft around every Now, wherever you are within
little intrinsic merit. May I sug- it hardly seemed worth the trou- so often is a certain way to pro- the program when it ends, you
gest that you try writing the ble. So, an early step in game duce a game which will not en- include the following (the line
game first, without concen- development is to work out ex- courage repeated plays. numbers are. of course, ar-
trating at all on the graphics actly what the player is suppos- T h e r e w a r d s of p l a y i n g bitrary):
(simply using a non-defined ed to do to win the game. should be clear, and worth the
graphic 'A' and so on) until you The path to be followed to effort. It is unfortunate that the 500 IF SCORE > HISCORE
get a game which is fun to play, t h a t g o a l m u s t a l s o be widely (and justly) acclaimed THEN LET
even without colour, BEEPs or reasonably evident. Although Microsoft Flight Simulator (plus HISCORE - SCORE:
user-defined graphics. Then, the purpose of the game should several not-so-famous ones, in- PRINT " T H E NEW HIGH
when you add these, a good be clear, it is much more impor- cluding few for the Spectrum) SCORE IS " ; H I S C 0 R E
game will be made even better. tant that once a player starts uses up so much memory con- 510 PAUSE 5 0 0
And, more to the point, all your playing a game, he or she should trolling the game that there is 520 GOTO20
energy when you are fresh and be developing skill at it. I cannot nothing left at the end except
starting a program, will have stress how important this the pathetic word C R A S H in the A s you can see. the GO TO 2 0
gone into making the game wor- aspect is. A game should be suf- middle of the screen (or Y O U sends action to the subroutine ^
thwhile, rather than make your ficiently hard to ensure that it H A V E L A N D E D S A F E L Y , if call for the initialisation routine W 1

ZX COMPUTING JUNE/JULY 1984 17


— I

I PROGRAMMING TECHNIQUI
again, but does not hit line 1 5, Perry of Donegore, Northern 3 =128
which originally set the high Ireland, which can you can add 110 FOR Y » 1 TO 8
score to zero. This means that into functioning programs to 120 I F Z ( X , Y ) = 0 THEN P R I N T " "}
the whole program begins from make them more attractive, : GO T O 140 _
scratch, except the value of the useful of efficient. 130 L E T A=A*B: P R I N T ;
high score. (By the w a y , if The first one (Fig 1) is a circle 14-0 L E T B=B.'2; NEXT Y: POKE C , R
you're running this on a non-ZX routine, which uses the sine/cos : L E T C=C+1: P R I N T : NEXT X
computer, you may have pro- equation at an amazing speed to 150 P R I N T : P R I N T "LOOK RT TME
blems in redimensioning arrays draw a circle in much the same NEU GRAPHIC ; a »; " ' I " {F 3)
so they may well have to be way as the Spectrum's circle
before line 2 0 as well.) command does. X is the X co- This program, (Fig 4) which
Finally in this article, I'd tike to ordinate, Y the Y co-ordinate shows how to scroll any string
share with you a number of and R the radius: of more than 3 2 characters,
routines developed by David would make a very impressive
'YOU H A V E WON' frame, or a
1 REM DRRUING C I R C L E S good start to a game. You'd pro-
2 R E M CCi DRUID PERRY 1984 bably have to slow it down a bit.
10 L E T X=120: L E T y =85: L E T r A s you'll see, it happens very,
S 0 very quickly, so it is difficult to
2 0 L E T o a = x i f read the demonstration pro-
y + r * S I N (0)
30 PLOT o a , o b gram.
4.0 F O R n = . 3 T O 6
50 L E T a « x + r * C O S 1 REM S C R O L L I N G A S T R I N G
r » s i N fn) 2 REM tC.t DRUID P E R R Y 1 9 3 3
60 DRAU 3 - 0 3 , b - 0 b ; oa=a; L 3 C L S
£ T O b =b NEXT n (Fig 1) 10 L E T RS = "
T H I S I S RN EXAMPLE
PROGRRMME TO S H O W HOW F R S T THE Z
The next one (Fig 2) allows you >.' — S P E C T R U H CRN A C T U A L L Y SCROLL A
to paint in the contents of a cir-
cle within a BASIC program. The
variables are as in the first pro-
gram.
S
S T R I N G
UDDLED
SO F R S T
TO HURT.
ACROSS THE
THRT
UP U N T I L
YOUR
YOUR
S C R E E N .
B R A I N
E Y E S
I F YOU
I T
G E T S
B E G I N
LOOK
M
I
b
RT THE P R O G R A M M E T O DO T H I S YOU
1 REM C I R C L E F I L L U I L L r i N D THAT YOU CHN HAVE ANY
S T R I N G OF CHARACTERS I N A5 AS L
2 REM tC) DRUID PERRY 1 9 6 3

10
3 C L S
INPUT 'X-CORDINRTE (G-255)
ONG A S T H E R E
APFY
I S MORE THAN
PROGRAMMING.' ! ! i i i t ! I I !
32!
! "L
"; X
2 0 INPUT "Y-CORDINflTE <0-175)
V 20 L E T X = l : L E T Z -LEN (AS)
30 INPU T " R A D I U S " ; R 30 P R I N T AT 0 , 0 ; A S IX TO X + 31)
35 C I R C L E X , Y , R 40 L E T X = X +1 : I F 1X4-31.) =Z THEN
4.0 FOR N=0 TO R STOP
50 L E T Z = R t 2 : L E T ZZ=Nt3 50 GO T O 30 (Fig 4)
5 5 L E T XX=5QR ( Z - Z Z )
60 L E T Y Y =Y f X X : L E T X Y = 2 * X X
7 0 PLOT X + N , Y Y . DRflU 0 , - X Y Finally, here's a program (Fig 5)
3 0 PLOT X —N,YY. DRAW 0 , - X Y w h i c h a c c e p t s a string of
NEXT N characters and then prints them
100 P R I N T RT 2 1 , 0 ; " P R E S S PrNV K E out sideways on the printer,
Y " : PRUSE 0: RUN (Fig 2) either eight or sixteen times
larger than normal. The people
who make printer paper love
Our next program (Fig 3) allows programs like these!
you to rotate a user-defined
character clockwise. This
means, for example, you would 1 REM BANNER P R I N T E R
5 REM (C) DAUID PERRY 19SA
only need to define one ship for a 6 REM
game like Asteroids and then get 10 INPUT "UORD CMAX 3 2 C H A R A C T i
the routine to rotate it. E R S ) ! " , A $ L
11 L E T L = L E N (A«) : I F L > 3 2 T H E
N PRI N T "SORRY TOO LONG": GO TO
1 REM ROTRTE CHARACTER 10
2 REM fCi DRUID P E R R Y 1934- 15 INPUT " S I Z E C I OR 21 ' , S
5 CLS : INPUT "CHARACTER TO B 16 I F S<1 OR S >2 T H E N GO T O 15
E ROTRTED ( f i - U ) " ; L I N E A* 17 L E T T =1: I F 5=2 THEN L E T T =
6 I F A $ < " d " OR A * > " U " THEN GO , 5
TO 5
10 L E T A=USR A * ; L E T C=A
30
"J I
INPUT "0:NORMAL & 1 : I N U E R S E L
2 0 L E T 9=1. L E T U=8 36 I F I < 0 OR I > 1 THEN GO T O 30
4 0 DIM Z f 8 , 8 ) : FOR D =1 TO 8 37 L E T A=2: L E T B =0 P R I N T AT ,
50 L E T X = 1 2 8 ; L E T B=PEEK R 0 , 0 ; I N U E R S E I ; R $
1
6 0 FOR F * 1 TO 6 40 FOR X=0 TO ( L * 6 ) - 1 S T E P T
70 I F f B - X ) >=0 T H E N L E T B = B - X : 50 FOR Y =166 TO 175 S T E P T
L E T Z ( Q , U ) =1 60 I F POINT ( X , Y ) = 1 TH EN L P R I N .
3 0 L E T X=X/*2: L E T 0=0 + 1 T RT A, 6;
L
90 NEXT F: L E T ©=1 : L E T U=U-1: 70 L E T B = B + 1 .* N E X T Y : L E T B=0:
L E T A=A+1: NEXT D L P R I NT ; L E T A=A+1: NEX T X
100 FOR X s l TO 8: L E T R«0. L E T 80 C L S ; GO T O 10 (Fig 5)

18 ZX COMPUTING JUNE/JULY 1984


Sneak into a
mainframe with
your Spectrum

A
>F:m

r
i
-
f - ' ' "

• S 9
I SPECTRUM GRAPHICS!
1
Craft drawings can be
LET afcount,1)»c: LET a(count,2)
GO T O 5 0

viewed in several ways 61 L E T i i i d t h = a 3 - a 2


T
with this program from
6 9 REM * R O T A T I O M A L *
70 INPUT " D e p t h , In p i x e l s (mi

Martin Clayton of nimum 2 , maximum 3 0 ) _ 7 "Idept

Knaresborough.
h: I F d e p t h < 2 OR d e p t h > 5 0 T H E M
GO T O 7 0
72 CLS
iI
-»5 P R I N T A T 0 , 0 5 " R o t a t i o n a l " :
When you have entered this pro- After the title page you are
IMPUT "Number o f v i e w s (minimum
i
gram and first run it, a brief ex- asked to input the depth in pixels
planation of how it works is of the shape. The program then 2 ) "»•* v i e w s : LET Views-INT views
given. To get the most effective moves through four separate : I F v i e w s < 2 THEM GO T O 7 5
displays from it however, a few display modes.
m o m e n t s of preparation is "'6 L E T v i e w s « v i e w s - l
n
necessary. 77 LET pp»(127+width/2)-a3
1 ROTATIONAL The shape is
The shape must be a prism moved through 90 degrees in a 8 0 F O R n = 0 TO P I / 2 + . 0 0 1 S T E P P
although the cross section can series of steps specified by
have any number of points. 1/(2*views>
yourself.
Curves are not allowed ~ even 9 0 F O R m*=l T O c o u n t : L E T fc(m) =
VU-3D, one of the best drawing 2 WORKING DRAWING Tech-
nically known as 1 st Angle Or- a ( m , 2 ) * C O S n: NEXT m
programs on the market, has
problems with curves. thographic Projection, the front, 95 LET a = ( I N T <((PI/2-n)*<90/P
Y o u m u s t enter the co-
ordinates of your shape as
side and plan views are drawn in
position. I*2>)*100 +.5)>/100
100 CLS : PRINT "Angle:"taj"
1
3 OBLIQUE Where all the front
D A T A in line 9 0 0 0 . These are facing planes are displayed in full
relative co-ordinates as used in P L O T p p , " * 0 : FOR m=l TO c o u n t : D
and all the other horizontals are
the DRAW statement and start at 4 5 degrees. RA'J a ' m , l ) , b ( m ) : N E X T m: I F n=0
at the bottom right corner to THEM GO T O 2 0 0
4 ISOMETRIC All sides are
allow several views to be drawn
d i s p l a y e d e q u a l l y w i t h all 150 L E T J e p t h * S I N n : P L O T pp ,
on screen at once.
horizontals at 3 0 degrees.
A possible shape section is ^ 0 : DRAW 0 , - x : F O R m - 1 TO c o u n t : "1
shown in the diagram and the
All the angles in this program are DRAW a f m , 1 ) , b <M) : DRAVJ 0 , x : DRA
co-ordinates are given. To use
U 0,-x: NEXT m
1
this in the program you would produced by a trigonometrical
produce a D A T A line as follows: formula which w a s carefully and 2 0 0 IMPUT " C o p / ? < y / n ) "J LINE
painstakingly worked out by
Martin. At each stage of the l:«: I F IcS " y • T H E M COPY
9 0 0 0 DATA - 5 0 , 0 , - 1 0 , 2 0 ,
40,20,20,-40,1000 display, an option to make a
copy with the ZX printer is of-
2 2 0 NEXT n
1
Note that 1 0 0 0 is a rogue' fered.
value to signal the end of the The DATA included gives the
D A T A to the computer. Once shape that w e have used for the
the required shape D A T A has screen prints, try running the
been entered, then the program program with this to get an idea
can be RUN. of the way the program works.
1
10 BORDER i:PAPER 1: I N K 7\ C
LS : RESTORE : GO T O 1 0 0 0
40 DIM a ( 1 00,2)1 DIM b ( 1 0 0 ) : L 1
ET c o u n t - 0 : LET a l - 0 : LET a2«0:
LET a3=0
30 READ e l IF c«1000 THEM GO 1
TO 61
31 L E T a l «
LET a2-ai
al+c: IF al<a2 THEM
1
32 I F a l > a 3 THEM LET a3=al
60 LET count-count•1: READ d:
1
1

1
"1

20 ZX COMPUTING JUNE/JULY 1984


[SPECTRUM GRAPHICS!
2 2 5 REM * W O R K I N G DRAWING * Isometr i c *
230 L E T pp=ABS a2+10 5 2 0 DIM c ( 5 0 , 2 ) : LET count-0
2 5 0 C L S : P R I N T AT 0 , 0 ! • W o r U i n g 5 2 5 READ c : I F c - 1 0 0 0 THEN GO
dr a t i i n g " TO 6 0 0
2 6 0 P L O T p p , 7 0 : F O R n - 1 TO c o u n 530 LET c o u n t - c o u n t + 1 : READ d
t : DRAW a ( n , 1 ) , a ( n , 2 > : NEXT n 540 LET c ( c o u n t , 1 > » c * C O S (PI/6)
270 PLOT FOR n = l TO c o u : LET c(count,2>-d+(-c*SIN (PI/6
> >
n t : DRAW 0 , a ( n , 2 > : N E X T n : PLOT
170,70: DRAW d e p t h , 0 : F O R n = l TO 5 5 0 GO T O 5 2 5
c o u n t : DRAW 0 , a ( n , 2 ) : DRAW - d e p 610 PLOT 150,0
t h , 0 : DRAW d e p t h , 0 : NEXT n 6 2 0 F O R n= 1 TO c o u n t : DRAW c ( n ,
2 8 0 P L O T p p , 1 0 : F O R n « l TO c o u n 1),C(n,2): NEXT n
t : DRAW a ( n , i ) , 0 : NEXT n : PLOT p 630 LET e=depth*COS ( P I / 6 ) : LET
p , 1 0 : DRAW 0 , d e p t h : F O R n » l T O c f=depth*SIN (PI/6)
o u n t : DRAW a ( n , l ) , 0 : DRAW 0 , - d e p 640 PLOT 1 5 0 , 0 : . D R A W e,f
t h : DRAW 0 , d e p t h : N E X T n 6 5 0 F O R n ~ l T O c o u n t : DRAW c ( n ,
290 INPUT "Copy ? (y/n> "I LINE 1 ) , c f n , 2 ) : DRAW - e , - f : DRAW e , f :
1:91 I F k « - " y " T H E N - C O P Y NEXT n
3 0 0 REM * O B L I Q U E * 660 INPUT "Copy ? l y / n ) LINE
3 1 0 L E T x = COS (PI/4)*(depth/2): k»: I F k « » " y " THEN COPY
LET pp«120+width/2 9<?9 S T O P
3 1 5 C L S : P R I N T AT 5 , 0 1 " O b l i q u e 1 0 0 0 F O R n = 0 TO 7 : R E A D a : POKE
• USR " a " + n , a : NEXT n : DATA 4 8 , 7 2 ,
3 2 0 P L O T p p , 1 0 : F O R n = l TO c o u n 72,48,0,0,0,0
t : DRAW a ( n , l ) , a ( n , 2 > : NEXT n : P 1 0 0 5 P R I N T T A B 101 I N V E R S E 1 | " 3
LOT p p , 1 0 : DRAW x , x : FOR n = l TO -D P l o t t e r INVERSE 0
c o u n t : DRAW a ( n , 1 ) , a ( n , 2 ) : DRAW 1010 PRINT ' " A program to turn
-x,-x: DRAW x , x : N E X T n a shape t h r o u g h 90 d e g r e e s ,
330 IMFUT "Copy ? ( y . ' n ) 'I LINE f o l l o w e d by a w o r k i n g drawing,
t<«: I F I <« = - y " T H E N COPY t h e n an o b l i q u e v i e w , and f
4 9 * REM * I S O M E T R I C * i n a l l y an isometric view."
500 CLS : RESTORE 9000: PRINT " 1020 PRINT Put your shape (s
traight linesonly) i n t o t h e DATA
l i n e (9000) in the following io
rmat: f i r s t , all the r e l a t i v e po
s i t i o n s a s i n a DRAW s t a t e m e n t ; t
hen, the number 1 0 0 0 . Sepera
te a l l the numbers by commas."
1021 P R I N T " Please enter the f
i r s t c o - o r d s r e l a t i v e to the bott
om r i g h t corner. I f you want
to enter y o u r own s h a p e , brea
I; i n t o t h e p r o g r a m now a n d alte
r 1i ne 9 0 0 0 . "
1 0 5 0 P R I N T AT 2 1 , 0 ) " A n y k e y t o c
ontinue...": P A U S E 0 : GO T O 4 0
9 0 0 0 DATA -55,0,0,30,-15,-30,-15
,7,-4,-7,-22,0,20,40,15,-10,30,6
0 , 3 0 , - 6 0 , - 2 0 , 0 , - 3 , 5 , 0 , - 8 , 2 5 , 0 , 14
,-27,1000
and access an
of news, view

Games

Ml*

Rrit.eH 11%
5

InurCUj) 123

-
"Mi »* AM of %l* Tfiift

Travel

Micronct 800} Toother


Spectrum
Simply by connecting your \Prtut^)
users
A
Spectrum to the telephone line, via
the award-winning Prism VTX 5000
communications modem, you can get Telephone jack-socket

to all the information, games and


communication facilities held on Learn a language.
viewdata mainframes. The choice is simply vast.
So, you can link into a variety of Plus, your Prism VTX 5000
services, including Prestel and allows you to communicate directly
Micronet 800. Access hundreds of with other Spectrum owners.
software programs-many completely And now, our special offer means
free. Talk to fellow users. Keep up-to- that you can do all this for just £ll*a
date with all the latest national, month. So complete the coupon and
international and micro news. Play send it to us today, and we will let you
on-screen games. Check sports have full details of our unbeatable offer.H
results. Book travel and entertainment. • All pncnguotoJ ntfericxfcmcilK iw onl> Forbuunroutc the Protrt annuilUirkJinj
chifsc n £66. Tbcrrfore butineit will be billed £44 *0 perquincr.
cxciting world
i. facts & fun!
TtlttAoppinj
I • MM! *• IIICMMMI
It (XilOUMI It H€»t
I I DOOtL U U U I I
I* CLW«t
II M I N I U
It COMIItlX
14 * r r i c i ( I H I
I* HITM. M M M T t II I K t t l l
It (L(CT*IC*L U * M •• i M T k i i i i r n t i
II IIIICTOIIIt

II FLMU'CMHII • I MOITI
it rixi. «• *w*IC*t»TIOat
*• ti»t» • I TMulL Micrulli
14 itiua*«<i «« wioca
.If' JtWLlliV
A I I Mitt*
I * tM •t M
u i i erruiitc • imm or cooot
II • I' m
I*I I M M I X

Swapping Educational software Shopping

T e l e s a f tiuare
Supermarket
• c i g l i l 0(*0 »t H t i n a i i i i t r mii
• rout o n in TOiitiHH hood tnoOTtw
1
1 tQiHuOfiit i I I I h 1* C H O L I " 1
u jSET" s-JT-'csn
4 tutuiDiill turpgiT ilvlHOQl m i ' l 1'
11• ** a . j ui ro. ^L*
1 >»• •••(•TIC 1M iqxOON rmn'tll - M - OTI •
( • I k l t l Ml M(lO »T fOKIt = V TjiililS i J ^ H i «n« a*r|«f
» »IC1«T1MC I M I t AT «UH»» »IT« ,
• rial aon* oanaen i l t r r i r i r orriCt
» MiM< i MktiiM r«o» u m i l i
L " _ j
News Competitions Telesofttvarc

*
m*
no* i ^ ^ l ^ B "f,lL8!'
Ulhat'5 On atliMMIti H n l n I
Theatre
Guides t CrittlXfl Ct'M
1 l i l M t r a « • • • • ! • • • ( M»»«n |H'
• lI'MMf) 44 It^wtlt IN 44t'|
• IT 1 ICttlUt
i neurit • I M ' t t lntlrMt ^^^b
) Mill
• mmMM
• I M I tuciia r talk i i » . i a M H M C
A '
T •OUT* IM< W i i ' I MM. M
• ttMIM kimoottm
• LOHOOK.NIf * • tr m i l h i «••••
m IMO-* " I "

Sport Booking Mailbox


Prism Micrnproducts Ltd.
Prism House. 18-2*) Mora Sircci
FOR JUST £11*A MONTH YOU WILL GET: C m Road. London F.C1V 8HT
Tel: 01-253 2277
• A Prism VTX 5000 worth £99.95. i'rtMtl and the l*rcMct wmM »rr trademarkol Bninh Tdecommuninoont
• One year's subscription to Prestel
worth £20.00. Please send me full information on your special offer
to Spectrum users.
• One year's subscription to Micronet 800
worth £32.00. Name:
• Free user-to-user software - normally Address:
retailing at £19.00
• Quarterly hardware and software offers.
• Discounted software through
Micronet 800 (up to 20®/o off retail prices).
ZX6
(EDUCATION REVIEWS!
i

Spectrum lessons
Mike Edmunds continues his quest against
ignorance and assesses some of the latest
educational software packages.
Educational software has, to in itself or can be used in con- attractive, good use of graphics animated Pete is guided around
date, been of a very mixed quali- junction with the other titles to being maintained throughout various texts to correct the
ty, with often only a limited use provide a really comprehensive the series. mistakes (often physically kick-
in the classroom. Now, with the series of resource materials. ing them into submission it
advent of material such as the Each package comes in an Punctuation Pete seems! I
Dudley Programs, w e find soft-
w a r e intended for use right
A 4 folder w i t h a detailed
guide Workbook which not only wordfinder This is aimed at reasonably
able r e a d e r s and p r o v i d e s
across the curriculum. outlines the aims of the program various texts, chosen at random
The programs, all with the but also suggests numerous The first package, Punctuation from a large bank, all on the
theme of travel, have been associated activities to be car- Pete/Wordfinder, is really two theme of travel. The child can
designed specifically for use in ried out using either the program for the price of one. Pete lives in- choose his own level, beginning
s c h o o l s by a team of 2 4 or the workbook material. There side your computer and it is his with Junior Scribe (full stops
teachers and advisers from is also a set of k e y b o a r d job to keep everything tidy. Your and capital letters). If he can
Dudley Metropolitan Borough, overlays, a summary of instruc- job is to help him sort out master this level he may wish to
in conjunction with Five Ways tions and a 'run card'. Loading is sentences that have lost their aim for higher status, where the
Software. straightforward and the pupil is punctuation. Although this type exercises are correspondingly
Each of the four titles; Punc- greeted by an illustrated title of program has been around for more difficult. Mistakes by the
tuation Pete/Wordfinder, Car screen detailing loading time. A s quite a while, this version is a child are indicated by Pete and a
Journey, Special Agent and with the workbook, the pro- step ahead of the others by vir- second try is invited. Continuing
Ballooning is a complete package grams are colourful and visually tue of its graphics. A delightfully errors are eventually corrected

.Car
Journey

24 ZX COMPUTING JUNE/JULY 1984


[EDUCATION REVIEWS!

by the computer. make. The correct choice makes familiar. (It is a decided advan- You are then ready to embark
Wordfinder, the second half the journey easy!!! Having pass- tage to have several atlases on upon a solo flight with specific
of the pack, provides an exten- ed through the Driving School, hand!) tasks to perform. These are not
sive thesaurus on the travel the child should be well equip- The program also gives prac- at all straightforward-I'm afraid I
theme, its aim being to develop ped to tackle the hazards of tice in the workings of train and left the vet stranded on a hillside
v o c a b u l a r y . W o r d s c a n be everyday motoring. As an added airline timetables . . . all this miles away from the sick sheep!
selected from a comprehensive bonus here you can also opt for whilst trying to understand in- The program and activities sug-
list and all linked possibilities then driving with hazards, anything telligence reports and decipher gested within the package in-
examined. This is a novel idea from radar traps tosnowstorms! codes! A s a program for older troduce children to various
and it would be nice to think of This program is realistic in ap- primary children upwards, this is scientific principles and seem an
this program 'sitting' at the back proach and the child soon learns an ingenious way of encourag- ideal way of combining learning
of a classroom available for con- to tackle the tasks systematical- ing quick, logical, decision mak- with enjoyment.
stant referral as a source of ly in order to achieve good ing based on a wide variety of in-
vocabulary, stimulation and
ideas, especially for subjects
results. This is an excellent way
of applying decision making and
formation. A s an alternative to
the normal procedure it is also
To conclude
such as creative writing, topic logical thinking to an everyday suggested that the game be
work etc. 'real-life' situation. played with either limited time or Taken singly, each of the pro-
limited money! grams in this series is excellent.
Car Journey Special Agent Put together, as a complete
Ballooning resource package, they are
outstanding — each having the
T h e second package, Car In S p e c i a l A g e n t y o u are right blend of interest and skill to
J o u r n e y , involves travelling recruited by M l 6 , your job being Ballooning, the final title in the ensure continued usage. The
around the main roads of to catch an enemy spy. This is a series, is a simulation program programs are well written and
England and Scotland and com- maddeningly frustrating pro- which encourages children to in- overall presentation is of a high
bines geography and gram - sometimes the spy can v e s t i g a t e and e x p l o r e the quality.
mathematics with logical think- be tracked down quite quickly, science of lighter-than-air flight. A s a theme package they test
ing and evaluation. Four levels of at other times you can spend There are several levels and in- the child's abilities in all areas.
skill are provided and the child weeks (or even months) chasing itial tuition is gained in the Flying Marvellous — fun whilst learn-
first has an opportunity to get him around the cities of Europe. School. This is an essential duty ing!
acquainted with the vehicles Continued lack of success might before undertaking your Rying
and conditions in the Driving spoil this program for some Test and eventually your Live Each of the packages reviewed
School. Here, selection of vehi- children but it can also be very Mission. If you pass your test above costs £9.95 and is
cle, route planning, cost addictive! The strategies re- you are assigned a score and published by Heinemann Com-
analysis and fuel consumption quired are soon discovered and your subsequent activities are puters in Education Ltd. 22 Bed-
all prove to be important deci- the various countries and cities influenced by the rank you have ford Square, London WC1B
sions which the child needs to involved quickly become been given. 3HH.

Special
Agent
t .

ZX COMPUTING JUNE/JULY 1984 25


"THE GAMES ARE GENUINELY EDUCATIONAL IN THE NICEST
SENSE OF THE WORD WITHOUT BEING COMPETITIVE OR TRIVIAL:'

"THE RESULT OF A PRODUCTIVE COLLABORATION BETWEEN


EXPEI

GONE TO OUR
PRICE

The highly popular Mr T Educational Software for children 3-7ycars.


Al! now available at £9.95 each and at all good stockists.

GOOD HOUSEKEEPING SOFTWARE


HIUHAHU b l i t K h t K U S U h I WAHh
ELM HOUSE, 23-25 ELMSHOTT LANE, CIPPENHAM, SLOUGH, BERKS.
CREDIT CARD HOTLINE 06286 63531

%>A

tr

TRAJNSYLVANIAh
TOjwER j i
A spectacular 3-cPmazejj I i
adventure for the ®
48K Spectrum and Dragon 32

RICHARD SHEPHERD
SOFTWARE

Invincible Island by peter coetm T r a n s y l v a n i a n T o w e r


Exhaust your ingenuity in the quest to find The Seven A spine chilling adventure... enter via the dungeons
Parchments of Xaro and their meaning! Will they lead . . . navigate your way through 500 3-D rooms . . .
you to undreamt of treasures or eternal doom? survive the swooping vampire Oats . . . reach the
Explore the mysteries of the stockade and puzzle terrifying top . . . confront and kill Count Kreepie.
within the Pagoda! A spectacular split screen graphic ridding the world of this Transylvanian Terror.
and text adventure to braintease you for weeks! Can you survive the Top of the Tower? £6.50.
Adventurous graphics for every location. Save
routine. £6.50.

S E L E C T E D TITLES A V A I L A B L E F R O M

W.H. SMITH, JOHN MENZIES, BOOTS


AND ALL LEADING COMPUTER STORES

"ADVENTURES INTO IMAGINATION"

N E W D E A L E R S W E L C O M E — RING (06286| 63531 FOR DETAILS


A* Mr yM tutyrct to tnr <oixM«m tru( trvy <n«y not Ov 00 tut* a atr*r*ne Or imt WMoK.(»v*l(*orifwwt«*m*«l Aifvjut p» o r m \ w c*
ZX81 GAME
1
One of the few graphic adven- until it is in line with the lower
ture games that w e have hatch. When the t w o are align-
received. Escape provides a ed then jump! If you have judg-
real challenge to would be ed your leap correctly you are
Alcatraz fugitives! free and your s u c c e s s f u l
To escape you must first escape will be recorded on the "1
climb the ladder using key ' T . display- Oh,one last thing, just to
Once at the top you must try make life a little more difficult
and avoid the guard, for, if
caught you will be promptly
you are given a limited amount
of time in which to accomplish 1
dragged back to the top of the all this. The amount of time
ladder and thrown back to the you have left is displayed on a
bottom! This is a very effective
routine and I often allowed
clock on the screen. Note that
" t i m e " , " e s c a p e s " and " 0 "
1
myself to be caught just so in line 1 0 and 2 0 are INVERSE
that I could watch it! characters.
Assuming that you even-
tually scale the ladder and
This is a very well written
program and extra speed w a s
1
sidestep the guard, you must achieved by using POKES to
now make your w a y along to the display file (screen) rather "I
the top escape hatch and wait than the command PRINT.

variables
The number of successful escapes the player has made.
At the start of a game it is set to 1 5 6 (code for an
inverse 0) but this is increased for each escape.
Used as a flag in lines 3 2 0 to 4 0 0 and is an indicator

}1
as to whether the player is on the ladder or not. It is
also used to blank out the old asterisk after a move.
Used to erect the ladder.
Used to alter the extent of the guard's movement, an
inverse asterisk.
The start of the display file.
The player's position. X is added to Z to give the
current position of the player on the screen.
The time which remains to the player — set at 1 6 5
(code for an inverse 9} at the start of each escape.
Usually used in FOR/NEXT loops.
Used either for a flag when the time runs out or if a
successful escape has been made. If the time runs out
whilst you are on the ladder then you will slide back
down; if you have reached the top and both escape "1
hatches are in line then you will have escaped.
Used in line 8 1 5 as a delay.

Along the lines 1


1 0 - 1 5 0 Build the scenery and initialise the variables.
1 6 0 - 3 1 0 Main program loop. This is left when your time
runs out, an escape is made or you are caught.
3 2 0 - 3 8 0 If the player is still on the ladder, set P to 2 2
1
(loop to show player falling). P = 2 2 if on the

1
ladder, and 0 if jumping down the escape hatch.
4 2 0 - 6 4 0 Caught by guard routine, drags player to top of
ladder and then jumps to L 3 2 0 .

i
6 5 0 - 6 8 0 S h o w s when the player has been caught.
7 1 0 - 7 4 0 S h o w s that an escape has been made.
7 5 0 - 7 7 0 Increases escape counter, check for end of
game.
8 0 0 - 8 2 0 Scroll clear screen.
8 3 0 - 9 8 0 Introduction.
i
i
i
i
You've seen the film, now play the game with
i
Lynne Rollinson of Bolton
28 ZX COMPUTING JUNE/JULY 1984 28
w 350 IF PEEK G=128 THEN GO TO 6
V ^
50
1 REM *********************** 360 POKE G,23
* E S C A P E BY * 370 POKE (G-33),P
* LYNNE ROLLINSON * 380 NEXT G
*********************** 390 POKE ( G - 3 3 > , 0

L 10 PRINT AT 2 , 0 ; B t i m e l 400 I F P=0 THEN


410 LET F=15
GO T O 7 1 0

20 PRINT AT 2, 16{ escapesl 4 2 0 F O R D - A B S F TO 14


430 LET X*15
30 LET ES-156 4 4 0 P R I N T AT 1 , D ; ' *"{CHR* 151
40 LET P=0 4 50 NEXT D
50 LET A*»CHR« 1 3 3 + • - " + CHR* 5 6 4 0 I F F <15 THEN GO T O 3 2 0
55 LET 6 5 0 FOR F = 0 TO 1 0
B=20
60 F O R F = 3 TO 9 6 6 0 P R I N T AT 0 , 0 t " C A U G H T WHILST
T R Y I N G TO E S C A P E "
7 0 P R I N T AT F , 0 ; C H R * 1 2 8 J A T F,
6 7 0 P R I N T AT 0,0;"
8;CHR« 128

80 NEXT F
6 8 0 NEXT F
90 L E T Z =34 +PEEK 16396+256*PEE
690 POKE (Z•708),0
K 16397
7 0 0 GO T O 8 0 0
100 L E T X= 6 7 5
7 1 0 FOR K ~ 0 TO 10
110 L E T T*165
7 2 0 P R I N T AT 0 , 5 ; " S U C C E S S F U L ES
1 2 0 F O R F « 2 I TO 2 S T E P -I
1 3 0 P R I N T AT CAPE"
F,14;A«
140 NEXT F 7 3 0 P R I N T AT 0 , 5 ; '
II
150
160 F O R F = B T O ~B S T E P -1 740 NEXT K
170 I F PEEK ( Z + X > - 1 5 1 OR P E E K < 7 5 0 LET E S - E S 4 1
Z * X +1)=151 THEN GO T O 4 2 0 760 I F E S = 1 6 5 THEN GO T O 9 2 0
180 I F PEEK < Z + X > = 0 OR P E E K (2* 770 POKE <Z+60),ES
X ) = 2 2 THEN POKE <Z+X>,23 780 GO T O 4 0
190 P R I N T AT 1 0 , F / 4 + R N D ; C H R * 12 800 FOR F = 0 TO 21
8 • " "+CHR* 128} 810 REM S C R O L L
2 0 0 I F T < = 1 5 6 AND X > = 1 5 T H E N G 815 LET L-RND
0 TO 3 2 0 820 NEXT F
2 1 0 I F T < 1 5 6 AND X < 1 5 T H E N GO 830 P R I N T A T 1 0 , 6 5 " P R E S S ANY K E
TO 3 3 0 Y TO PLAY"
2 2 0 P R I N T AT 1 , F ; * ";CHR* 151»" 840 F O R F « 0 TO 1 5
m 850 P R I N T AT 1 0 , F t " "{CHR« 128|
230 POKE (Z•45),T AT 1 0 , F - 3 0 i CHR« 1 2 8 ; " "|
2 4 0 I F X > = 1 5 AND X < = 6 7 5 T H E N P 860 I F I N K E Y « ~ " " THEN GO T O 8 9
OKE (Z * X • 3 3 ) , 2 2 0
2 5 0 I F I N K E Y " ® - " 7 " AND X M 5 THEN 870 NEXT F
LET X-X-33 880 GO T O 8 3 0
260 LET T=T-0.15 890 P R I N T AT 10,0{"
2 7 0 I F P E E K < Z * X • 3 3 ) = 0 AND X < > 7
08 THEN GO T O 3 3 0 900 CLS
2 8 0 I F X< = 1 5 T H E N LET X=X-(INK 9 1 0 GO T O 1
EY*="5") 9 3 0 P R I N T "YOU HAVE MADE THE MA
2 9 0 I F I N K E Y « = " 5 " AND X < = 1 5 T H E XIMUM NUMBER"
N POKE (Z+X+1),0 940 PRINT " OF ESCAPES
m
300 NEXT F
305 LET B»B-1 950 FOR F = 0 TO 100
307 I F B=0 THEN LET B=20 960 NEXT F
3 1 0 GO T O 1 6 0 970 CLS
320 LET P=22 980 GO T O 8 3 0
3 3 0 F O R G = Z + X + 3 3 TO Z + 7 0 0 STEP 990 SAVE "GE"
33 999 GO T O 1
340 POKE ( Z • 1 5 ) , 0 1000
ZX COMPUTING JUNE/JULY 1984 29
*v;
mtrpnc oucc*
#.#.##•/ IIT/\/;
For the Spectrum at £5.95 each.
Available at selected branches of W.H. Smith. Boots,
John Menziesand good computer shops everywhere.
( C B M 6 4 v e r s i o n s d u e for r e l e a s e s o o n )
TURBO CHARGE
YOl"t SPECTRUM

Outperforms any Spectrum interface


The inque Turbo interface from Ram gives you al these Or cal our credit card hotfcneon 02514 25252 (Access and
features - and more - in one unit Visa welcome).
* A variety of nterfacesfxlxlrig Rom cartrKlgeSs two Ram Bectroncs (Fleet) Ltd 106 Fleet Road Fleet Hampshre
GU138FA
for standard joysticks, PLUS ful expansion bus at rear
i
Compatible with Kempston and Protek protocols. Please send me:
* Works with latest Qmckshot Mk 1 auto rapd-fre joysbcks! Spectrum Turbo Interface® at £2295
+ £lp+p (overseas orders £3 p+p)
* Choice of Rom cartridge or tape cassette software.
Quckshot I Joysticks) at £9.95
* Instant program loading with cartridge software. (Only when purchased with Tirto-rxymaly £12 95+ £1 p+p)
* Built-fi power safety device-unique to Ram Turbo. I enclose cheque/postal order or charge mytecess/Vsator£

* Ful one year guarantee. :i I i i i i I l i i i I M i II


* Immediate availability - 24 Hr despatch on receipt of Nar>e.
PO./ credit card details (cheques-seven days)^
* Incredible value - orty £22.95. JMIM

So don't wart around - smply complete j Tel


the coupon and send it to us today. Jo R»mD(ctfonc${Fle«f)lt<l l06FV«t fta»dnwt.H»Tpi/wtGUl38W.

lade and export enquuies welcome


•PECTRUM EDUCATIONI
1

This is not just another code- 1


breaking game but a simple
m a t h s program for u s e in Answer the questions and break into
primary schools involving addi-
tion. subtraction and multiplica-
tion. There are fifteen boxes,
Stephen Parry's Southampton safe. 1
each occupied by a red question

1
mark (?) and every correct
answer replaces the question
mark with a blue pound sign (£).
The object is of course to fill all
the boxes with pound signs - if
anything will attract and occupy
the minds of children, i t ' s
money! Every wrong answer
loses a pound sign but the com-
puter will keep on asking ques-
1
tions until someone wins. Filling
all the squares with pound signs
will give a large fanfare of sound
and a colourful screen display.
The program runs by first call-
ing the subroutine at 8 9 0 0 . This
draws a colourful screen with
accompanying sound and a sum
is randomly devised in lines
7 0 0 0 to 7 0 5 0 . To do this, line
7 0 2 0 chooses whether addi-
tion, subtraction or multiplica- ed if smaller n u m b e r s are answer which is worked out in next box. If the variable tot
tion is to be performed and line wanted. Line 7 0 5 0 ensures that line 7 1 2 0 . Having compared the reaches 1 5, meaning that all the
7 0 3 0 m a k e s s u r e t h a t if no negative numbers result from child's answer with that of the boxes have been filled, the
multiplication is chosen then the subtraction and then line 7 0 6 0 computer, the program either subroutine at line 8 0 0 0 is called
numbers are kept within the builds the sum itself. jumps to a fail message which which displays a win message
range of 1 to 12. Line 7 0 4 0 After answering the question replaces the pound sign with a and the usual 'do you want
chooses two numbers and the 1
from a series of screen prompts, question mark or to line 7 7 0 0 , another go' question is asked.
value 1 0 0 can easily be chang- the child is immediately told the which places a pound sign in the

"30 R A N D O M I Z E 7110 PRINT : PRINT INK 2;"'tOUP


170 00 SUB 8 9 0 0 ANSWER 1 3 ";AS
? 0 0 0 R E M C R E A T E SUM 7 1 2 0 P R I N T : P R I N T " T H E R I G H T AN
7 0 0 5 F O R G - 1 5 TO 2 1 : PRINT AT G I S " ; W\L F *
7130 IF V A L A * <> '.'AL F * THEN
" : NEXT G GO TO " " 5 0 0
" O l O L E T F * I N T ( RND * 3 ? 7 1 4 0 GO T O - 7 0 0
"*O20 L E T P * = ! " * " AMD •<•4" A 74 R E M WRONG A N S W E R
ND F » 1 > • { " - " AND F = 2 > 7 5 0 0 P R I N T MO! I N K 1 ; " WRONG
" 7 0 3 0 I F F - 0 THEM LET FIRST* INT ANSWER ''"
( RND * 1 2 > : L E T S E C O N D " I N T ( R 7 5 1 0 F O P G - 1 0 TO -10 STEP -1
ND * 1 2 > : GO TO 7 0 6 O 7520 BEEF . 0 1 , G : BEEP .0O8,G-10
7040 LET F I R S T = INT ( RND « l i ? 0 > : 7 5 3 0 NEXT G
L E T S E C O N D * I N T ( RND * 1 0 0 > 7535 I F T O T : I THEN GO T O 7 5 7 0
7 0 5 0 I F F = 2 AND F I R S T < S E C O N D THE 7550 PRINT AT 1 0 , ( 3 1 - 2 * T O T > J IN
^ ""> * H M
M GO TO " ' 0 4 0
706.0 L E T F * ^ 3 T R * F I P S T + F * * 3TR* 7565 L E T T O T - TOT 1
SECOND 7570 L E T M«-N*l
7070 PRINT AT 1 3 , 1 0 ; " Q U E S T I O N " 75^3 GO T O ">000
; r i ; " is: • 7£?7 REM C O R P E C T
7080 PRINT AT 1 " * , 1 2 ; F « ; " = ?" 77?« LET N«H+i: LET T0T~T0T+i: P
7 0 ° " ! I N P U T "WHAT I S T H E ANSWER 7 Rl'l-r A T 1 0 , 171 - 2 * T 0 T > } I N K 1 J " £
"; a * ": BEEF 1,5
71 ? 0 I F CODE A * : 4 8 OR CODE A * > 77\0 I F T O T - 1 5 THEM GO TO 3 0 0 0
57 THEN GO T O 7 0 9 0 7 720 GO T O ."'OOO

32 ZX COMPUTING JUNE/JULY 1984 32


IPECTRUM EDUCATIONI
8?50 PRINT
800? REM WIN
9^60 L E T T«="
9005 FOP U* 1 TO 3 M
3.010 TOP G » - 5 TO 2 0 : B E E F .31,5: CSQ7H P R I N T FLASH l ; INK 2JT*
PEEP .O08,G*2: NEXT G 00 REN S E T UP
G 0 2 O ME"'T W 9010 P L O T 6 , < 5 3 ; DRAW 235,0: DRAW
8 0 3 0 FOP G = 0 TO 21 : P R I N T AT G , 0,-12: DRAW - 2 3 5 , 0 : DRAW 0 , 1 2
0; I N K P N D *e>; - £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £
<?020 F O P G = 2 0 T O 2 4 0 S T E P 1 6
££££££££££££££££"
<9030 P E E P . 1 , 6 / 2 0 : P L O T G . 9 8 : DR
9 0 3 * : . ME: T G
AW 0 , - 1 2
9 0 - 1 0 T ' i P U T " A N O T H E R G O ? < V E S OR
<?CT4 0 N E X T G
NO)";A«: I F THEN GO T O 8
<?050 F O R G ~ 1 T O 2 ° S T E P 2
CM0
?O60 PRINT AT 1 0 , G ( " ? "
S 0 5 0 I F A * { 1 > - " Y " OR A « ( l ) = " / " T
<?0**0 P E E P . 0 l , G / 2 0 : NEXT G
MEN R U N
°080 PFINT AT 1 2 , 2 { " K E Y I N THE
? 0 o 0 I F A * • 1 ) <> " N " AND A * ' 1 ) <
M
ANSWER T O T H E S U M S " ' " THEN P P E
tl" THEN GO T O 8CM<?
9S THE *E N T E R * K E Y "
8 8 0 0 STOP
L E T T O T - 0 : L E T N«1 : R E T U R N
GOFLPI BORDER 6: I N K 0 : PAPER ? : C

5RFE CRHCK
LS : P R I N T I N K I; • • • • • • • I I I
•• ••• •• •• • •"
8«?10 P R I N T I NK
• A • • • • •"
8°20 PRINT INK
• • •• •• • hl"l?l?l'*l?l'?|->l7|clc|£|£l £lc1
8*30 PRINT INK KEY IN THE ANSWER TO THE 5UMS
• •• • • • • THEN PRESS THE 'EHTER'
3°40 PRINT INK 5; "•• A • • • • • OUESTION
S2 • •• •• • •"

ZX COMPUTING JUNE/JULY 1984 33


•s
NEi B

r GRAPHIC xn
DESIGN TOOL / \
for SPECTRUM (48K)

24 x 24 GRID FOR H.R. GRAPHIC DESIGN. 200 CH. STORE. VIEW ^ AND EDIT
UP TO 9 CH. - CHOICE OF 9 FORMATS - ROTATE - MIRROR (HOR. OR
VERT.) - MENU DRIVEN - KEYBOARD/JOYSTICK CONTROL - TOOLKIT
INCLUDED TO USE U.D.G IN YOUR OWN PROGRAMME
TRADE ENQUIRIES:ANIROG SOFTWARE LTD. 29 WEST HILL DARTFORD KENT (0322) 9 2 5 1 3 / 8
MAIL ORDER 8 HIGH STREET HORLEY SURREY 24 HOUR CREDIT CARD SALES HORLEY (02934) 6083
PAYMENT BY CHEQUE P 0 ACCESS/VISA
wall walk
SPECTRUM CAME

Can you escape from the nasties


chasing you? Tat Tang has sent us this * .

superb game.
Based on a well-known arcade Superb graphics, colour and A n interesting method of
game, this program has your lit- sound all combine to make this keeping the high scores is used,
tle character running along an exciting game - it will have the program POKEs them into
several layers of walls, climbing you sitting on the edge of your the UDG area so that if the pro-
ladders and generally being seat, but keep calm and don't gram is re-run the high score is
chased silly by vicious green panic! kept.
meanies. In order to survive you
will have to destroy all the aliens CONTROLS: 5 moves left
by digging pits and luring the un- Program details 6 moves down
suspecting nasties into them. 7 moves up
Once the alien is in the pit. you Type in program 1 to set up the 8 moves right
must beat him about the head UDG's and RUN it. Now type in 9 Dig left
until he dies. the rest of the program and save 0 Dig right
it by GOTO 9 9 9 9 , the program
saves in two sections, one after
what a gas the other, so don't forget to
press a key after the first section
Unfortunately, things are not all has saved. VERIFY both sec-
in your favour — you only have a tions by VERIFY " " : VERIFY " "
limited amount of oxygen, so CODE and press newline.
that excessive movement or
taking too long will lead to your
demise. Needless to say, if you
are captured you will lose a life.

Make sure that the following


lines are entered in graphics
mode:
50,60,100,150,160,
170,180,200,213,300,310
380,400,405,410,470,610,
620,640,720,740,780,790,
800,820.
1 0 FOR i - USR TO USR • » - + 1 6 7 : READ x : POKE i , x : NEXT i
20 DATA 0,24,24,235,189,60,36,102,195,66,126,90,126,126,36,66,255,235,24,24,24,2
4,24,233,193,193,195,233,235,195,195,195,O,28,28,12,60,12,22,30,O, 36,36,48,60,48
,104,76,12,16,40,68,66,1,0,0,0,0,1,66,68,40,16,12,96,8,20,34,66,128,0,0,0,0,128,
66,34,20,8,96,0,129,129,129,193,243,233,235,233,129,129,129,129,129,235,255,255,
1 2 9 , 129, 1 2 9 , 1 2 9 , 1 2 9 , 1 2 9 , 2 3 3 , 2 5 5 , 2 4 , 2 4 , 24,*24, 2 4 , 2 5 5 , 2 3 3 , 2 4 , 6 0 , 1 2 6 , 1 2 6 , 1 2 6 , 126, 126
,126,0,124,66,66,124,64,64,0,0,60,66,66,82,74,60,0,0,124,66,66,124,68,66,0,0,60,

10 P O K E 2 3 6 9 3 , 5 6 : C L S : GO TO 5 7 3
2 0 C L S : D E F F N R ( X > = I N T ( RND **XX>>:: GO TO 6 1 0
30 L E T X l - X : L E T Y l - Y
40 I F I N K E Y * - " H " THEN GO SUB 7 3 0
5 0 I F X - 3 OR X - 8 OR X - 1 3 OR X - 1 8 THEN L E T Y » Y + t I N 6 1 4 3 8 - 2 5 1 AND Y < 3 1 ) - < I N 6
3 4 8 6 = 2 3 9 AND Y > 0 > : L E T A » - < " E " AND Y 1 > Y ) + C F " AND Y1< Y >: I F Y1 <> Y THEN L E T UN
= U N + . 2 5 : GO TO 9 0
60 LET UN-UN+.13: LET A»='A"
70 I F A T T R < X + l , Y > - 5 7 AND I N 6 1 4 3 8 = 2 3 9 THEN L E T X - X + l : L E T F=1
80 I F A T T R ( X - l , Y > - 5 7 AND I N 6 1 4 3 8 - 2 4 7 THEN LET X - X - l : L E T F»1
90 PRINT AT X I , Y 1 ! • "
1 0 0 I F F - l THEN PRINT AT X l , Y l t INK 1 | " D "
1 1 0 I F X I <> X THEN LET UN-UN+.13
120 L E T F - 0 : I F A T T R < X , Y ) - 3 7 THEN LET F - l
130 I F I N 6 1 4 3 8 - 2 5 5 OR X <> 3 AND X <> 8 AND X <> 1 3 AND X <> 18 THEN GO TO 2
10
35 ZX COMPUTING JUNE/JULY 1984
SPECTRUM CAME
1 4 0 L E T V - A T T R ( X + 1 , V * 1 ) S L E T V I - A T T R < X + 1 , Y - 1 > : I F V - 3 8 OR V l - 5 8 THEN LET S
C-SC+5: PRINT AT 0 , 6 | S C
150 I F I N 6 1 4 3 8 - 2 3 3 AND A T T R ( X - 1 , Y - 1 > <> 5 7 AND A T T R t x - l , y - l > <> 6 0 AND A
T T R < X , Y - 1 > <> 3 7 THEN LET UN-UN*.13: LET W»l: PRINT AT X , Y | I N K 1 J " E " : FOR N -
1 TO 3 : P R I N T AT X , Y - 1 5 " G * : P A U S E 2 : P R I N T AT X , Y - 1 | " H " : P A U S E 2 : P R I N T AT X ,
Y - 1 | " • : BEEP . 0 1 , Y : PRINT AT X + 1 , Y - 1 » " K " : N E X T N: P R I N T AT X + 1 , Y - 1 | " "
160 I F I N 6 1 4 3 8 - 2 3 4 AND A T T R < X , Y + 1 > <> 3 7 AND A T T R < X - 1 , Y + 1 > <> 3 7 AND ATT
R ( X - l . Y + l ) < > 6 0 THEN L E T UN-UN+.15: L E T W-2: PRINT AT X , Y | INK 1 | " F " : FOR N -
1 TO 3 : P R I N T AT X , Y + l I " I " : P A U S E 2 : P R I N T AT X , Y * 1 1 " J " : P A U S E 2 : P R I N T AT X ,
Y + 11 " BEEP . O I P Y : PRINT AT X * 1 , Y + l » " K " : NEXT N: P R I N T AT X + l p Y + i f "
1 7 0 I F V I — 3 8 AND W - l THEN PRINT AT X + l , Y - l I P A P E R 6 | " C "
180 I F V - 3 8 AND W - 2 THEN PRINT AT X + l , Y + l ! P A P E R 6 | " C "
190 LET W-0
200 I F ATTR ( X , Y ) - 6 0 THEN P R I N T AT 2 , 51 "YOU HAVE B E E N M U N C H E D ! " ! AT X , Y | I N K
i ; OVER 1 ! F L A S H 1 | " A " : GO TO 3 3 0
210 I F A T T R ( X , Y ) - 6 2 THEN GO TO 8 8 0
213 PRINT AT X , Y | INK l ; A » : IF A T T R C X + 1 , Y > = 5 6 THEN PRINT AT 2 , 2 | " I D I O T YOU
F E L L DOWN A P I T " t AT X , Y | " "S INK I t AT X « 1 , Y | " A B : GO TO 5 3 0
2 1 3 I F XY < - 1 2 3 AND F 2 - 0 THEN GO TO 8 3 0
2 2 0 FOR N—1 TO ( U N * 1 0 I / L V : PLOT INK 2 | X Y , 8 : DRAW INK 2 t OVER 1 ) 0 , 7 : L E T X Y - X Y
- l : L E T U N - U N - . I ! NEXT N
2 3 0 I F XY < - 7 2 THEN PRINT AT 2 , O l " Y O U ' V E D I E D FROM L A C K OF O X Y G E N " : P A U S E 10
0 : GO TO 3 3 0
240 LET A 1 - A ( Z > : L E T B1=B(Z>
250 I F ATTR ( A l + 1 , B 1 ) — 3 6 THEN GO TO 4 7 0
260 I F A l - X THEN I F A l - 3 OR A l - 8 OR A l - 1 3 OR A l - 1 8 T H E N f < GO TO 3 5 0
2 7 0 I F C ( Z > <> 0 THEN GO TO 3 0 0
280 I F ATTR < A 1 + 1 , B 1 ) - 5 7 OR A T T R ( A 1 - 1 , B 1 ) — 3 7 THEN GO TO 3 3 0
2 9 0 GO TO 3 5 0
3 0 0 L E T A t Z)—A( Z > • C < Z J : I FA < Z ) - 3 OR A ( Z ) — 8 OR A ( Z > - 1 3 OR A ( Z > - 1 8 THEN
> =o: P R I N T AT A l . B l t INK U " D " : L E T Al< •A ( Z ) : L E T F ( Z ) - 1 : GO TO 3 5 0
310 PRINT AT A l , B l l INK l ! " D " : L E T Al> A ( Z ) : L E T B l - B ( Z ) GO TO 4 0 0
3 2 0 GO TO 4 0 0
3 3 0 I F A1<X AND A T T R < A l + l , B l ) - 5 7 THEN L E T C C Z J - l : GO TO 3 0 0
3 4 0 I F A1>X AND A T T R ( A 1 - 1 , B 1 ) — 5 7 THEN L E T C ( Z > « - 1 J GO TO 3 0 0
3 5 0 I F A l - X THEN L E T B 1 = B 1 + ( B 1 < Y ) - ( B 1 > Y ) : GO TO 3 8 0
360 LET B1-B1+ D < Z)
3 7 0 I F 81 > - 31 OR 81 < - O THEN LET D ( Z ) - - D ( Z )
380 PRINT AT A t Z ) , B C Z ) I " J I F F ( Z ) —1 T H E N PRINT AT A <Z> , B ( Z ) i INK 1 I " D "
390 LET F ( Z ) - 0 : IF A T T R ( A 1 1 B 1 > - 5 7 THEN LET F ( Z ) - 1
400 PRINT AT A 1 . B 1 J INK 4 f "B"
4 0 5 I F F 2 - 1 THEN PRINT AT F 5 , F 4 | OVER 1 ) INK 6 | " 0 "
4 1 0 I F A l - X AND Y - B l T H E N PRINT AT 2 , 3 1 " Y O U HAVE B E E N MUNCHED"» AT X , Y ! OVER
I I I N K 1 | F L A S H 1 | " A " : GO TO 5 3 0
420 I F A T T R ( A 1 + 1 , B 1 ) = 5 6 THEN GO TO 4 7 0
430 LET A(Z>«Al: LET B ( Z ) - B 1
4 4 0 L E T Z - Z + l : I F Z > - C I THEN LET Z - l
450 I F I N K E Y * ="H" THEN GO SUB 7 5 0
4 6 0 GO TO 3 0
470 PRINT AT A 1 , B 1 | " " I AT A l + l . B l l INK 2 ( " B " : FOR N - l TO 4 : B E E P .1,N:
1 , 5 - N : NEXT N
4 8 0 I F C l - 1 - 1 THEN L E T SC*=SC + 1 0 : GO TO 5 7 0
490 LET A ( Z ) - A < C 1 - 1 ) : LET B<Z>-B(C1-1>: L E T F(Z)-FCCl-l)
300 LET SC-SC+10: LET C l - C l - 1
510 PRINT AT 0 , 6 | S C : L E T Z - l : GO TO 4 4 0
320 PRINT AT 1 , 0 1 F L A S H I I I N K 4 | " B O N U S " : FOR RL«XY TO 7 2 S T E P - L : BEEP 01,XY/
4 : PLOT X Y , 8 : DRAW I N K 2 | OVER H O , 7 ! L E T SC«SC + 1J P R I N T AT 0 , 6 I S C : LET X Y - X Y -
I : NEXT N : FOR N - I TO S O : BEEP . 0 3 , N : B E E " . 0 3 , 3 0 - N : NEXT N : GO TO 2 0
5 3 0 I F S O H I THEN PRINT AT 1 , 0 | F L A S H I t INK 2 1 " C O N G K A T U L A T I O N S A NEW H I - S C O R
E " : FOR N—0 TO 3 0 : B E E P . 0 1 f N : B E E P . 0 1 , 2 3 - N : N E X T N: P O K r USR " U " f S C - 2 5 6 * I N T
4 S C / 2 3 6 ) : POKE USR " U " + l , I N T ( S C / 2 5 6 ) : GO TO 5 5 0
540 PRINT AT 0 , 0 t : FOR N - l TO 1 1 : P R I N T INK 8 t P A P E R 8 | OVER l ! F L A S H 1 | "
NEXT N : FOR N - I T
0 2 : BEEP . 5 , - 5 : BEEP . 5 , - 1 0 : PAUSE 4 0 : NEXT N : FOR N - 5 0 TO 0 S T E P - I S BEEP . 0 5 ,
N : NEXT N
550 PRINT AT 1 1 , 5 l " P R E S S ANY K E Y TO S T A R T " | AT 1 3 , 3 | " P R E S S ' I ' FOR I N S T R U C T I O N

36 ZX COMPUTING JUNE/JULY 1984


SPECTRUM CAME
S": IF I N 2 3 4 - 2 5 3 THEN GO TO 5 5 0
3 7 0 GO TO ( 3 7 5 AND INKEY* <> " I " > + ( 7 8 0 AND INKEY* = " I " )
3 7 3 I N P U T " L E V E L ( 1 - 3 ) " ; L I N E L * : I F L * > " 5 " OR L * < " 1 " THEN GO TO 5 7 5
5 7 6 L E T L V - V A L L * * 4 : GO TO 6 0 0
3 8 0 L E T N = 0 : POKE USR " U " , N - 2 3 6 * I N T ( N / 2 3 6 ) : P O K E USR " U " + l , I N T (N/256)
390 CLS : PRINT INK 2 } " W R I T T E N BY T . T A N G " { INK 0* AT 1 3 , 3 * " P R E S S * I * FOR I N S T R
U C T I O N S " : FOR N - 1 9 TO 2 1 : P R I N T AT N , O l I N K 4*"••••••••••••••••••••••••••••••••
NEXT N: P R I N T AT 2 0 , 3 T INK 2 ; " S P E C T R A L - P A N I C": PRINT AT 1 1 , 5 ; "
P R E S S ANY K E Y TO S T A R T " : P A U S E 0 : GO TO 5 7 0
600 C L S : LET L E - O : LET SC-O: LET H I - PEEK USR " U " + 2 5 6 * P E E K ( U S R " U " * l >
6 1 0 C L S : INK 0 : P R I N T AT 1 9 , 0 } P A P E R 6*"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCMM"|
INK 2 J P A P E R 71 " O X Y G E N > " I INK OS P A P E R 6f"MMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNN"
6 2 0 FOR N - 4 TO 14 S T E P 3 : P R I N T AT N , 0 ; P A P E R 6;"CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL": B E E P , 1 , 5 0 - N : B E E P . 1 , N : NEXT N
6 3 0 PAUSE 23
6 4 0 FOR N - 3 TO 13 S T E P 5 : L E T 2 - F N R < 1 3 > + 1 : FOR F - 0 TO 5 : PRINT AT N + F , Z i I N K
l j - D " : BEEP . 0 5 , N + F : PRINT AT N + F . 3 1 - Z * INK 1 J " D " : B E E P . 0 5 . N + F : NEXT F : BEEP
. 1 , F : PAUSE 1 0 : NEXT N
630 PRINT AT 0 , 0 1 " S C 0 R E > " ! S C I AT O , 1 6 1 " H I - S C O R E > " J H I
660 L E T Y= F N R ( 3 1 ) + 1 : L E T W- F N R ( 4 ) : I F W=0 THEN LET X-3
6 7 0 I F W»1 THEN LET X-8
680 I F W=2 THEN LET X-13
690 I F W - 3 THEN LET X-18
700 I F A T T R ( X , Y > - 5 7 THEN GO TO 6 6 0
7 1 0 L E T F 2 - 0 : L E T 2 - 1 S DIM D ( 4 ) : DIM A ( 4 ) : DIM B ( 4 ) : DIM C ( 4 )
7 2 0 L E T A ( l ) * > 3 : L E T D ( l ) » l : L E T B ( l > - FN R ( 3 0 > +1: P R I N T AT A ( 1 > , B U > * INK 4 1 " B
1
: BEEP 0 1 , A t 1 ) : FOR N - 2 TO 4." L E T A ( N > - A ( N - 1 ) + 5 : L E T D ( N ) » 1
7 3 0 L E T B ( N ) » FN R ( 3 0 ) + l : IF A T T R < A < N ) , B ( N ) ) = 5 7 OR A ( N ) - X AND B < N > - Y THEN GO
TO 7 3 0
740 LET W-0: LET C l - 5 : PRINT AT A ( N ) , B ( N > * INK 4 ; " B " : B E E P .01,A(N) N E X T NJ L
E T L E - L E + i : DIM F ( 4 > : L E T U N - O : L E T X Y = ( 3 0 - L E ) * 8 + 7 : FOR N - 9 TO 3 0 - L E : B E E P .01,N
J PRINT AT 2 0 , N J INK 2 * " 1 " : NEXT N: GO TO 3 0
750 PRINT AT 1 , 1 2 | F L A S H 1* I N K 2 I " G A M E " ; INK 1 * " H E L D " : I F I N . 2 5 4 = 2 5 5 OR INK
E Y * - " H " THEN GO TO 7 5 0
7 6 0 PAUSE O: P R I N T AT 1 , 1 2 * " " : RETURN
7 7 0 POKE 2 3 6 5 8 , 8 : C L S : P R I N T AT I l , 9 t I N K 1 | F L A S H 1 | " L O A D I N G " I INK 2 I " L O A D I N
G " t AT 1 2 , 9 » " L O A D I N G " » I N K 1 } " L O A D I N G " : I N K 7 : LOAD " " CODE USR " I N K O : GO
TO 5 8 0
7 8 0 C L S : P R I N T " * I N S T R U C T I O N S * " * " U S E CURSOR K E Y S TO M O V E " ' " 9 AND O TO D I G " * " H
TO H O L D " * " O E X T R A O X Y G E N " I F L A S H 1 * " D I G G I N G " : FOR N - O TO 3 1 : PRINT P A P E R 61 AT
1 2 , N | " C " I AT 1 3 , N J " L " : N E X T N
790 PRINT AT 1 1 , 1 6 * I N K 1 * " E " : FOR N - l TO 3 : P R I N T AT 1 1 , 1 5 | " 0 " i P A U S E 2 : P R I
NT AT 1 1 , 1 5 1 " H " : P A U S E 2 : P R I N T AT 1 1 , 1 3 * " "S B E E P 01,11: PRINT AT 1 2 , 1 5 * " K "
J N E X T N: P R I N T AT 1 2 , 1 5 * " "
800 PAUSE 3 0 : P R I NT AT 5 , 0 * F L A S H 1 * " A L I E N - 1 0 P O I N T S " : FOR N - l TO 1 4 : P R I N T A
T 1 1 , N * INK 4 | " B " : P A U S E 1 5 : N E X T N: P R I N T AT 1 1 , 1 5 ! " ' I AT 1 2 , 1 5 1 I N K 2 ; " B " :
FGR N - l TO 4 : B E E P . 1 , N : B E E P . 1 , 5 - N : N E X T N
8 1 0 PAUSE 3 0 : P R I N T AT 3 , 0 * F L A S H 1 J " B U R Y A L I E N - 3 P O I N T S "
820 PRINT AT 1 1 , 1 6 * I N K 1 * " E " : FOR N - l TO 3 : P R I N T AT 1 1 , 1 5 * " G " : P A U S E 2 : P R I
NT AT 1 1 , 1 3 * " H " : P A U S E 21 P R I N T AT 1 1 , 1 5 1 " ml BEEP . 0 1 , 1 1 : PRINT AT 1 2 , 1 5 * " K "
J NEXT N: P R I N T AT 1 2 , 1 3 * P A P E R 6 » " C "
830 PRINT AT 1 3 , 2 * " H I T »X» TO R E P E A T I N S T R U C T I O N S " * ' TAB 3 * " A N Y OTHER K E Y TO P
LAY GAME": PAUSE 73
8 4 0 GO TO ( 7 8 0 AND I N K E Y * - • ! • ) + < 1 0 AND INKEY* <> " I " ) + ( 8 3 0 AND INKEY* - " " )
830 I F RND > . 7 THEN L E T F 2 - 2 : GO TO 2 2 0
860 PRINT AT l , 1 0 j INK 6* F L A S H 1 * " E X T R A O X Y G E N " : L E T F 4 « I N T ( RND * 3 2 ) : LET
F 6 - FN R < 4 ) : L E T F 5 - ( 3 AND F 6 - 0 ) + ( 8 AND F 6 - l > + ( 1 3 AND F 6 - 2 ) + ( 1 8 AND F 6 - 3 )
_ 8 6 3 IF ATTR ( F 3 , F 4 > - 3 7 THEN GO TO 8 6 0
| 8 7 0 L E T F 2 - 1 : GO TO 2 2 0
8 8 0 PRINT AT l , 1 0 l " " : L E T F 2 - 2 : L E T F 3 - I N T ( RND * 4 0 ) + 3 0 : FOR N - l
TO F 3 : L E T X Y - X Y + l : P L O T X Y , 8 : DRAW INK 2 | 0 , 7 : B E E P . 0 1 . X Y / 5 : N E X T N
8 9 0 GO TO 2 1 3
9 9 9 8 STOP
9 9 9 9 S A V E " P A N I C " L I N E 7 7 0 : S A V E "UDG" CODE USR " A " , 1 6 8

37 ZX COMPUTING JUNE/JULY 1984


(SPECTRUM REVIEWSI

Quicksoft
aid in drawing graphs or in
Microsoftware technical drawings and so on.
Magazine — Once you have loaded the
infinite Software tape, you are presented with a
menu. From there you can view
the available UDG bank; there

Clive Smith reviews some


Ypu may welt ask yourself, why are up to 8 4 user-defined
is a magazine reviewing some- characters in store.

of the more unusual


one else's magazine? No, they If you don't like the available
haven't got anything to do with choice, you can invent your own

programs on the market.


Argus Specialist Publications! by calling up the drawing board.
Microsoftware magazine comes This enables you to plot your
in cassette form and realty is not shape on a 8 x 8 grid by using a
in direct competition with the cursor. Once made, you then
printed mags so, as w e are nice store it in one of the four banks.
point in buying the tape. If you
kind people, w e decided to Another facility on the menu
are a mechanic, you'll probably
review it. is " S k e t c h pad". Here you can
know all about diagnosis and so
The tape is made for the 16 it's not for you either! A s I said practice building up a picture us-
and 4 8 K Spectrum and there's earlier, if you want to know ing UDGs before entering them
something in it for everyone. I w hat to do if your car w on't sta rt onto your main picture. To build
must admit 1 do tend to be and don't know what bit to look up your picture you first hit the
critical when reviewing but wilt at but would like to try and repair 'Precision Plotter' key. Now the
give credit where credit is due. I it yourself, then try the tape. fun bit starts.
found this m a g a z i n e infor- The tape covers all parts of You are presented with a
mative, interesting, fun, educa- your car but not diesel engines or blank screen apart from a cursor
tional, graphically exciting and hydro-pneumatic suspension. It which can either be moved via
very well formatted. Everything cannot list every fault possible the keyboard or a joystick. In the
that appears on screen can be as you would need a mainframe bottom right hand of the screen
run out on your printer and if you to handle that program, but it you are given an X and Y co-
are rich and own a Currah list of 3 8 different building ordinate of the cursor. To draw a
covers most of the common materials your house could be
speech chip, it will talk to you as faults. line you move the cursor to
well. made of! Cut Your Heating Bills where you want the line to start
The magazine contains such comes supplied with a com- and press the PLOT key. Moving
ERC Computer Services are at prehensive guide which tells you
things as games, utility pro- 53 Thurso Crescent. Menzies the cursor to the place where
grams, competitions, readers' exactly what the program is you want the line to end and
Ml. Dundee. DD2 4AS. capable of and the benefits you
letters and amazing things that pressing the DRAW key will in-
you could do with your Spec- can gain. stantly produce your line.
trum (in the best possible taste!) Cut Your Heating Paintbox has facilities to draw
In Issue 5 there is the start of a
'basic' training course for the
Bills — Brane Brane Software is at Myrtle
Grove. Brane, Sancreed, Pen-
circles and arcs and in radial

newcomer to computing, and a Software zance TR20 8RE.


mode, will return the cursor to
the start of your line; ideat if you
"Machine Code Corner" for the are drawing a spoked wheel.
more experienced amongst us. Ever since the 'Save it' cam- Paintbox — Print n Once you have outlined your
It is very well written and an
enormous amount of energy is
paign, there have been many
ideas on the market to help us Plotter Products picture, you can shade in any of
the parts with different ink col-
put into each user-friendly reduce our heating bills. Well, ours. Finally, you can put on
magazine. At C 2 . 9 9 it's it's finally come to your com- I must admit I've never had so your UDGs to complete the pic-
reasonably priced. puter via G Timms of Brane Soft- much fun with a utility program ture.
ware. This tape is ideal if you are as w i t h this one. Paintbox If you make a mistake you can
Infinite Software can be found a heating engineer or you are just enables you to make up your edit your last command. A s you
at 73 Alcester Road. Moseley, about to install central heating own UDGs with ease, plot and build up your picture it can be
Birmingham into your house. Once loaded, draw by simple cursor move- stored in memory and recalled at
the computer will ask you for a ments, fill in your drawings and any time. Your picture can then
Auto Data — ERC lot of details about your house;
size of room, thickness of walls,
save screens for use in your pro-
grams. It is written by Joe
be stored on tape and reproduc-
ed either as a screen$ or as
Computer Services type of floor covering, whether Gillespie for the 4 8 K Spectrum memory bytes. It's possible to
your house is draughty or not and is supplied with an easy to store up to five screens and this
Auto Data is produced by E R C and so on. Once you have all follow instruction booklet. will leave you with about 6 K of
Computer Services for those of these details you then find out It won't make you an artist memory.
us who like to tinkle with our the price and type of fuel you in- overnight but after a couple of To give you some idea what is
cars on a Saturday afternoon. tend to use; electricity, coal, hours of loading the tape and possible with this program, have
The program helps you diagnose gas, wood, etc and feed this into r e a d i n g the i n s t r u c t i o n s I a look at one of the colour
the faults w e all seem to have. your computer. With all these managed to draw this pic- adverts in your magazine and
On loading you are given a facts and figures it will then ture. . . take a close look at some of the
menu which lists 1 Engine; 2 work out your running cost for drawings. With a little practice
Transmission; 3 Braking system the winter. you will find that it's quite possi-
and so on. If you have trouble The beauty of this program is, SPRCE ... ble to draw pictures of that
with your suspension (and w h o if you were thinking of putting standard.
hasn't) you press the corre- loft insulation into your house, The tape costs £ 7 . 5 0 and I
sponding number and it displays you can work out the advan- think you'll find it's the best
a sub-menu. The next menu tages in sterling without laying £ 7 . 5 0 ' s worth you have ever
covers all the faults you can get out a lot of money. Nothing in GAME spent. Print n Plotter products
with suspension. Once you have this program has been left to also sell some support hardware
recognised your fault it then guesswork or chance; as long as to go w i t h it such as key
moves toanother sub-menu and you take the time and trouble to overlays and a jotter pad.
tetls you what to do to rectify it. feed all the information in cor- A s you can see I'm no Picasso!
What it won't do is tell you rectly (and there's a lot of it) you Paintbox does, however, have Print n Plotter Products are at
how to repair your car. If you're will find this tape a useful tool. more serious applications than Dept ZX, 19 Borough High
no mechanic then there's no To give you some idea, it has a drawing funny pictures; as an Street, London SE1 9SE.

38 ZX COMPUTING JUNE/JULY 1984


UK ZX81 PROGRAMSI

This is where we put our brand on the


best of the mini masterpieces
available!
Although the 1K user is in the gramming and provide skeleton a way it's a pity there is so much been substituted for the ZX
minority nowadays, the pro- programs for development. memory available but a few g r a p h i c c h a r a c t e r s . If y o u
grams in the 1 K Corral should be Many of the Spectrum programs lessons in efficiency can be prefer, substitute the respective
of interest to all programmers w e receive (especially 4 8 K ) learned here. graphics for the C H R $ , for ex-
a s t h e y d e m o n s t r a t e an tend to be needlessly lengthy All the programs will run as ample: PRINT CHR$ 1 2 8
economical approach to pro- and use a tot of repeated code, tn printed but the CHR$ form has PRINT "inverse space"

Robbery patrolling the top and left of the


vault (pound sign).
Chemistry inputs the symbol of the element
or compound and its relative
David Webber To move, use the cursor keys SO'Duyer atomic mass (which will have to
5 , 6 , 7 and 8 but be warned; if be looked up in a chemistry text
yog are caught or stray from the This program calculates the book). Three common com-
The j e w e l phantom strikes playing area then you will be put p e r c e n t a g e c o m p o s i t i o n by pounds are stored for instant
again! Here's the plan: sneak back to the beginning and your mass for a given formula. For in- use by the computer but if you
past the guard and half inch the aim is to get the jewels in the stance, NaCI (common salt) have 16K and the time, all the
j e w e l s . J u s t to check that quickest time. David's best is a works out to be 3 9 . 3 % sodium other information could be
you've got what it takes, try this pretty fast 5; mine is a dismal 9. and 6 0 , 7 % chlorine. The user stored.
simulation first. You are the thief This is one game where flashing
|inverse<) and the guard (in- characters are used deliberately
verse 0) tries to catch you by to increase the difficulty level! 5 P R I N T AT 0 , 0 ! " E N T E R SYMBOL
OF 1 S T E L E M E N T "
10 INPUT A«
1 LET T=0 1 5 P R I N T AT 0 , 0 } " E N T E R RELATIV
2 L E T M=10 E ATOMIC MASS (RAM)"
3 L E T N=12 20 INPUT I
5 LET X*2 2 5 P R I N T AT 0 , 0 ; " E N T E R SYMBOL
6 L E T Y=X O F 2 N D E L E M E N T OR COMPOUND"
- P R I N T AT 1 0 , 1 3 ; C H R « 140 30 INPUT B«
8 L E T Z=0 4 0 P R I N T AT 0 , 3 ; " E N T E R RELATIV
9 LET T=T+1 E A T O M I C M A S S O F 2 N D E L E M E N T OR
10 P R I N T AT X , Y I C H R * 1 4 7 J A T X, COMPOUND"
Y j • " 4 5 I F B ® - " S 0 4 " T H E N GOTO 1 6 0
5 0 I F B « = " C 0 2 " T H E N GOTO 1 8 0
15 LET Y=Y+(INKEY*="8")-<INKEY 6 0 I F B « = " C 0 3 " T H E N GOTO 2 0 0
70 INPUT K
20 LET X«X +<INKEY«-"6")-<INKEY 8 0 L E T * P = i. I / ' I + K J ? * 1 0 0
^ _ H -f • )
9 0 P R I N T AT 1 1 , 2 ! " P E R C E N T A G E 0
35 PRINT AT M,N;CHR* 180;AT M,
F ";A«;" ' "jp;
Ml " "
100 L E T T ~ (K / 1 1 + K > ' 4 1 0 0
40 LET Z =Z + 1
120 P R I N T AT 1 3 , 2 ; " P E R C E N T A G E 0
112 IF X=10 AND Y—13 THEN GOTO F " ; B * ; - =• • ; T ;
195 1 4 0 P R I N T AT 1 5 , 5 ! " T O T A L PERCEN
1 1 3 I F X < 2 OR X > 2 1 OR Y < 2 OR Y> TAGE " J P +T
31 T H E N GOTO 2 1 5 0 GOTO 5
1 1 5 I F M=X AND N = Y T H E N G O T O 2 160 L E T K~96
1 2 0 I F Z<>4 T H E N GOTO 1 0 1 7 0 GOTO 8 0
125 L E T N - 2 5 - N 1 8 0 L E T K*4«1
130 L E T M»i9-M 1 9 0 GOTO 8 0
1 3 5 GOTO 8 200 LET K=60
1V5 P R I N T AT 1 0 , 1 3 ! C H R * 147 2 1 0 GOTO 8 0
200 PRINT T { " MINUTES"

ZX COMPUTING JUNE/JULY 1984 39


UK ZX81 PROGRAMSI
Catch arid Digger In Digger, you (inverse X) are 10 LET X® NOT PI
Scott Ford trying to escape from the pursu-
ing checked square. If it catches
20 LET Y=X
you then you expire. You are 30 LET A = 10
You know the song, 'Catch a given some chance though, you 40 LET B=15
falling ball and put it in your can dig a hole by pressing 0 into 42 LET C^NOT PI
bucket!* That's the general idea which you can try to lure your
45 LET P =C
although random cross winds do prosecutor.
make your life a little more dif- You can dig more than one 50 LET X»X+I INKEY*1 " 6 " ) - ( I N K E Y
"7 • )
ficult. After each failure press hole but only the most recent is
Newline to try again. Warning — fatal to your enemy. And don't
once the game has started, the think you can hide in your pit for 60 LET Y=Y+(INKEY«="8">-(INKEY
only way of stopping is to catch safety — if you are caught in it «-"5")
a ball. Keys 5 and 8 move the then you will have dug your own 6 5 P R I N T AT X , Y ; C H R « 1 8 9 ; A T C,
bucket. grave!
D;CHR« 52;AT A,B;CHR« 136
5 LET I«=" -+CHR* 130+CHR* 13 7 0 L E T A = A + ( X > A AND R N D < . 3 ) - ( X
1+CHR* 129+" " <A AND R N D < . 3 )
6 CLS 8 0 L E T B = B + ( Y > B AND R N D < . 3 J - ! Y
10 L E T B=INT (RND*20)+8 < B AND R N D < . 3 )
30 L E T X - N O T P I 9 0 I F I N K E Y « « " 0 " THEN GOSUB 10
1 0 0 FOR Y = 0 TO 11 00
105 LET B = tINKEY®="8"J -(1NKEY 1 0 0 P R I N T - AT X , Y J " ";AT C,D;" "
*="5"> ; AT A , B j " "
110 LET X=X+INT (RND*5) 1 1 . 0 I F X = A AND Y = B THEN PRINT "
1 1 5 P R I N T AT 21,BiI« YOU L O S E " J Z
130 PLOT X, 3 9 - 3 2 * (Y/1.0) * * 2 1 2 0 I F A - C AND B = D THEN PRINT "
140 NEXT Y YOU W I N " ; Z
150 I F ABS ( B * 2 ) - X < 4 THEN P R I N T 20.0 GOTO 5 0
"YOU WIN" 1O0O L E T C X
160 P R I N T "YOU L O S T " ! A T 5,5;"TR 1.010 L E T D = Y
Y AGAIN" 1020 RETURN
170 INPUT I»
1 3 0 RUN
Outer space there are some first rate techni-
ques used in this version; going
lan Rogers into fast before clearing the
screen for instance)
Back to base 10, the numerals are printed I also liked lan's concept of
David Webber consecutively; if greater than
1 0 then line 5 0 p r o v i d e s
Deep in the far reaches of space, "sticky stars" which you have
to dodge by moving left and
a solitary spaceship is in peril.
suitable spacing. right with keys 5 and 8 and there
Y e s , another dodge-the-
This program will convert whole Obviously very high and silly is even a score and high score.
scrolling-blobs-type game, but
numbers to the corresponding inputs will cause much confu-
value in a number that has been sion — what do you expect from 5 LET S=0
selected. If the base is less than 1K? 10 L E T A=-9
1 PRINT X^NUMBER TO CONVERT 20 L E T B=VAL "5"
Z~BA3E." 3 0 P R I N T AT 1 7 , R N D * 1 1 ; " * " J AT 1
2 L E T N=1 RND*Il;•*•;AT 6,B;" "
3 P R I N T AT N , 0 ? " N U M B E R 7 ' 40 SCROLL
5 INPUT X 5 0 L E T B = B + ( I N K E Y « = " 8 " AND B < 1
6 P R I N T AT N , 1 5 » X 1 ) - > I N K E Y * = " 5 " AND B > 0 >
PRINT •BASE?' 6 0 P R I N T AT 6 , B ! " V " J AT 7,BJ
8 INPUT 2 70 I F PEEK (PEEK 16398+256*PEE
9 LET Y=29 K 1 6 3 9 9 ) = 2 3 T H E N GOTO 1 0 0
10 L E T T = X / Z 8 0 L E T A=A+1
20 L E T S = X - ( I N T T ! * Z 9 0 GOTO 3 0
3 0 P R I N T AT N+2,YJS 100 I F A>S THEN L E T S =A
35 P R I N T A T N + l , 1 8 J " T O BASE I 1 0 5 P R I N T AT 3 , 1 6 ! " S C O R E " } A T 4,
V* *

21 * « " A, , , , T A B 16! " H I G H " J TAB 16J"SC


40 LET X-INT T O R E " ; T A B 1 7 ; 3 , , , , " P R E S S ANY K E Y "
4 5 I F X = 0 T H E N GOTO 4 8 0 , , " F O R A NEW G A M E "
5 0 L E T Y ~ Y - 1 - ( 2 AND Z > 1 0 ) - < Z M 1 10 P A U S E 4 E 4
00? 115 FAST
60 GOTO 10 120 C L S
480 L E T N=N + 4 1 2 5 SLOW
500 GOTO 3 130 G3T0 10

40 ZX COMPUTING JUNE/JULY 1984


A NEW, IMPROVED
ZX81 KEYBOARD AT THE SAME
OLD PRICE. £9.95.

W «C '*«*• lo O O O OMV. (SCU '1


1* 2 • 3 a 4 B 51 6 . 7" 8 I 0 0
no* IWWI KM V I M M KTIM • Nft/T H U m l
•» e» <r <> >r t , i
0 J Wfc E P R * T w Y % U I 0 P
1 t "» iv t t' t< h 1*
NtVV HAA UN 'OR GOK) tjObUB I CMC Ud U>
«tn# .""W K M »»' •• _ X - ft
A B S - D . F B G B H j J K L
j; A JJ% » ' U * h V U* ^ u
corr CUM comt as «cm m*t ma mm
"<
N M*
/
SHIFT I ' X ' C V B ' N I

t» ' I" * murt . ko< n

There's only one thing wrong with the But our keyboard doesn't just come
ZX81. Its keyboard. loaded with features. With it comes a separate
Or rather its lack of one. overlay and a set of coloured stick-on labels to
Since it's flat your fingers don't feel as if make game playing easier.
there's any response to the pressure put on Its yours for the original price of £9.95.
the keys. , t Whichever way you look at it, we think
L \ you'll agree that it's a keyboard that's quite
ZX81 KEYS FILESIXTY KEYS outstanding.
In other words, you're not quite sure I Orders to Filesixty Ltd.. FREEP0ST, London W9 2BR~~I
which keys you've pressed until the screen Cheques/PO made payable to Filesixty Ltd.
actually tells you. Please send me (qty.) Keyboards at £9.95 each
Our new, improved push button keyboard (including VAT and P&P).
changes all that. Total £
It matches the ZX81 perfectly. And the Bioo cAPrrvs
Name
keys give a real calculator-type feel.
Address
To set it up all you have to do is peel off the
adhesive backing and stick it on top of the I
ZX81 touchpad. C2
Because no tampering or soldering is
involved the guarantee is not affected. And it
will last for up to 31/? million operations.
Filesixty Ltd., 25 Chippenham Mews. London W9 2AN, England. Tel: 01-289 3059. Telex: 268 048 EXTLDN G 4087.

ZX COMPUTING JUNE/JULY 1984 41


So here w e are privileged to

A lander game that will improve your present a program w h i c h


demonstrates how the profes-

programming from Mike Richardson sionals would go about writing a


BASIC program. Of course, the
software Durell market is all in
machine code, but Mike says
When I talked with Durell Soft- med to the hilt to enable the user Richardson, to provide us with a that he enjoyed the exercise of
ware recently. Robert White ex- to understand how the game Spectrum version. Mike wrote writing in B A S I C again. About
plained that their first release. w a s constructed. the Spectrum version of Durell's half the program is REMs, you
Lunar Lander for the One, w a s It didn't take a lot of per- best seller. Harrier A t t a c k , can leave these out if you wish
written in B A S I C with the inten- suasion to get the other leading created Jungle Trouble and pro- and still have a great game to
tion that purchasers should light and main Spectrum pro- duced their new winner. Scuba play, but the main intention is for
break into it. It w a s also REM- g r a m m e r of D u r e l l , M i k e Dive. beginners to learn by example.

90 REM i n i t i a l entry point


100 GO T O 3 0 0 0 x j I N K 7 | OVER I I " "I
1000 R E M i f LM i s o n s c r e e n then 1 0 6 0 REM i f h o r i z o n t a l thrust on
dele te it then delete -flame
1010 I F MOT s T H E N GO T O 1 0 3 0 1070 I F e THEN P R I N T AT y , I N T x
1020 REM d e l e t e LM +e! OVER ; ; INK 7f PAPER 8JCHR*
1030 P R I N T AT y t I N T x | I N K ">| OV ( 1 4 3 - 1 ) 1 2 )
ER I I " "I 10S0 REM i s LM noM o n screen
1040 REM i f p o t t e r w a s o n t h e n de 1090 I F 2<0 THEN LET s = 0 : GO TO
1e t e f 1 ante 1200
1030 IF t THEN PRINT AT y+l,INT 1100 REM has LM crashed

42 ZX COMPUTING JUNE/JULY 1984 42


SPECTRUM CAME
1110 I F 2>20 OR ATTR (2,INT u><> 7;INT h!" ";AT 8,27(INT y|• "{A
7 9 THEN GO T O 1 2 0 0 T 12,27Jf J " ";
1120 REM h a s LM landed 1 3 6 0 REM n e x t move
1130 I F z=m AMD I N T w= 1 T H E M GO 1 3 7 0 GO T O 1 0 0 0
TO 4 0 0 0 3 0 0 0 REM p r i n t instructions, set
1 1 4 0 REM p r i n t LM up g r a p h i c s and i n i t i a l i s e rand
1150 LET PRIMT AT 2,INT uf om n u m b e r generator
OVER 1 ; I N K 4; - "; 3 0 1 0 GO S U B ^ 0 0 0 : GO S U B 9 5 0 0 : R
1 1 6 0 REM i f thrust is on print f ANDOMIZE ! B R I G H T 1
1 ame 3 1 0 0 PEM c h o o s e l a n d i n g p a d p o s i
1170 LET t - 0 : I F p AND ATTR (z + l t i on
, INT w>=79 THEN PRINT AT z+l,IN 3110 LET 1-IMT ( R N D * 2 1 > +2
T Mi O V E R l ; INK 2 ! " " j : LET t = l 3120 REM s e t u p screen
1 2 0 0 REM r e c o r d new LM position 3130 BORDER 0 : P A P E P L : INK 7: C
get l;ey press LS
1210 L E T x « n : LET >- = 2 ! LET b = COD 3140 REM m a h e a b l a c l ; border
E INKEY* 3150 FOR A = 0 TO 2 1 : P R I N T 'PAPER
1 2 2 0 REM t e s t -for new thrust 0;- ";: P R I N T TAB 2 5 ; PAPER 0 ; -
v a l u e i f -fuel s t i l l available. ";: NEXT a
Print t h e new t h r u s t value. 3 1 6 0 REM p l o t r a n d o m stars
1 2 3 0 I F f AND b > 4 7 AND b < 5 9 T H E M 3 1 7 0 FOP a « l TO 3 0 : P L O T R N D * 1 9 2
L E T p - b - 4 8 : P R I N T AT 1 6 , 2 7 ; PA • 8 , R N D * 8 0 + 9 5 : NEXT a
PER 0 ! INK 7 ; C H R * b j . 3 1 8 0 REM d r a w a r a n d o m m o o n s c a p e
1 2 4 0 REM r e s e t h o r i z o n t a l fuel 31<50 I N K 0 : L E T b = 5
u s a g e and -flame M a g , test for 3 2 0 0 FOP A = 8 TO 200: PLOT a , 0 : D
left t h r u s t and r e c o r d f u e l use, RAW 0 , B
set flame -flag and p r i n t -flame. 3 2 1 0 REM l : e e p l a n d i n g s i t e flat
1250 LET g=0! LET e=0: I F b=*113 and r e c o r d h e i g h t of landing pla
AND * T H E N LET d=d+.125: L E T g= t f or m
2: I F s THEN LET e=-i: P R I N T AT 3 2 2 0 I F IMT ( A / 8 ) - 1 THEN LET
/,INT x - l ; O V E R 15 I N K 2 i PAPER B : GO TO 3 2 5 0
8; - - ; 3 2 3 0 REM r a n d o m l y s h a p e t h e moon
1 2 6 0 REM t e s t f o r r i g h t thrust scapo
record fuel use, set flame flag 3 2 4 0 L E T fc»b- 1 • I N T < R M D * 3 > : I F b
and p r i n t flame. <1 T H E M LET b»l
1 2 " * 0 I F b - 1 1 2 AND f T H E N L E T d^ 3 2 5 0 NEXT a
d-.125: LET g=2: I F s THEN LET 3 2 6 0 REM c a l c u l a t e landing posit
e»l: P R I N T AT y ( I N T x +l { OVER 1J ion and p r i n t landing platform
INK 2 ; PAPER 8 ; " "} 3 2 ^ 0 L E T rn = 2 0 - 1 NT ' m / 8 ) : P R I N T A
1 2 8 0 REM c a l c u l a t e new x coordin T m + 1 , 1 J INK 6 ; " ";
ate, r e d u c e e f f e c t of horizontal 3 2 8 0 REM p r i n t instruments
t h r u s t a n d t e s t t h a t LM i s s t i l l 3 2 9 0 P R I N T AT 2 , 2 6 5 P A P E R 0 ; INK
within border. 6!"HEIGHT";AT 6,26;"SPEED"SAT 1
1290 L E T w=w+c+d: L E T d = d - d / 4 : I 0,26;"FUEL";AT 14,26;"POUER"; IN
F w < l OR i i > 2 4 T H E N L E T w^x K 7;AT 16,27j-0-;
1 3 0 0 REM t a k e a c c o u n t o f f u e l in 3300 REM i n i t i a l i s e game variabl
thrust value, calculate new es
h e i g h t and v e l o c i t y } h is the 3310 REM variable use is as foil
printed height,2 is the screen ows
pos i t i o n . 3320 REM a. . . . FOR/NEXT counter
1 3 1 0 L E T p = p AND f : LET v»v+1.5* 3330 REM b . . . .M1 s e e 1 1 a n e c u s
<p-5>: L E T h = h * v / 1 0 : LET z*21-IN 3340 REM c . . . . S t r e n g t h of lui.ar
T (h/10) wind
1 3 2 0 REM c a l c u l a t e f u e l usage 3350 REM d . . . . H o r i z o n t a l thrust
1330 LET f = f - p - g : I F f < « 0 THEN 3360 REM e . . . . H o r i 2 t h r u s t flag
L E T f = 0 : P R I N T AT 1 6 , 2 7 * PAPER 0 33^0 REM f . . . . F u e l
i INK 7 ; " 0 * ; A T 12,27; 0 m
•; 3380 REM g . . . . F u e i usage of hor-
1 3 4 0 REM d i s p l a y new values izontal thrust
1 3 5 0 P R I N T AT 4 , 2 7 5 P A P E R 0 ; INK 3390 REM h . . . . L M height

43 ZX COMPUTING JUNE/JULY 1984


SPECTRUM CAME
3490 REM 1....Landing position 8 0 6 0 DATA 2 , 7 , 2 , 7 , 1 , 9 , 1 , 1 2 , 1 , 1 1 ,
1,9,2,14,2,14
x coordinate
3410 REM m....Landing position 8 0 7 0 DATA 1,14,1,16,1,11,1,12,2,
9 , 2 , 9 , 1 , 9 , 1 , 1 2 , 1 , 1 1 , 1 , 9 , 2 , 7
y coordinate
3420 REM p . . . . V e r t i c a l ' thrust 8 O 8 0 REM e n d o f tune
power 8 0 9 0 DATA 9 9 9
3430 REM S . . . . L M on s c r e e n -flag 8 1 0 0 REM moon w i n s t u n e data
3435 REM t T h r u s t 4 1 ante f 1 a g 3 1 1 0 DATA 6 , - 2 4 , 4 , - 2 4 , 2 , - 2 4 , 6 , - 2
3440 REM V....LM vertical 4,4,-21,2,-22,4,-22,2,-24,4,-24,
velocity 2,-25,o,-24
3450 REM i i . . . . M e i - i LM x coordinat 8 1 2 0 REM e n d o f tune
8 1 3 0 DATA 9 9 9
e
9 0 O O REM ***********************
3 4 6 0 REM x . , . . L a s t LM x coordina
9 0 0 5 REM u s e r defined graphics
te
6 characters are used
3 4 7 0 REM / . . . . L a s t LM y
9 0 1 0 REM A . . . . L a n d i n g platform
3 4 8 0 REM 2 h e n LM y
<?020 R E M B . . . . L M
3490 LET d~0: LET e^0: LET s=0:
LET t=0: LET h-210: LET 2=0: LET O 0 3 0 REM C Rocket flame
V--100: L I T <=1000: LET p=0: LE 9 0 4 0 REM D . . . . R i g h t thrust flame
T ii*RND*S4«i: LET c• ( R N D 5 ) /3 9 0 5 0 R E M E . . . . L e f t t h r u s t f 1 arne
3 5 0 0 REM s o u n d s t a r t o f game 9 0 6 0 REM F . . . . C r a s h e d LM
3 5 1 0 FOR a = 0 TO 4 : BEEP .02,-10: 9 0 6 5 REM ***********************
BEEF . O l . O : BEEP . 0 2 , 1 0 : BEET . 9 0 7 0 R E S T O R E 9 0 8 0 : FOR a=USR "a"
0 3 , 2 0 : NEXT a TO U S R " a " + o * 3 - l : READ b: POKE
3 5 2 0 REM b e g i n p i a ; a,b: NEXT a : RETURN
3 5 3 0 GO T O 1 0 0 0 9 0 " 5 REM g r a p h i c s data
4OO0 REM s a f e l a n d i n g ? 9 0 3 O DATA 255,24,24,24,24,36,66,
i.e. is landing slow 129
4 0 1 0 I F v < - - 5 THEM GO T O 4 2 0 0 90*30 DATA 24,126,219,255,126,24,
4 0 2 0 REM p r i n t t h e l a n d e d LM a n d 3 6 , 66
pla/ the v i c t o r y tune 910O DATA 24,16,24,40,28,28,24,8
4 O 3 0 P R I N T AT z , I N T w j I N K 6 | " " 9 1 1 0 DATA 0,12,183,238,24,0,0,0
;: RESTORE 3050: GO S U B 8 0 0 0 : GO 9 1 2 0 DATA 0,24,119,237,48,0,0,0
TO 4 3 0 0 9 1 3 0 DATA 0,0,16,24,247^236,88,1
4 2 O 0 REM LM c r a s h e d 60
4 2 0 5 REM e n s u r e c r a s h i s on 9 5 0 0 REM ***********************
screen 9 5 0 5 REM p l a y i n g instructions
4 2 1 0 I F z >20 THEN LET z»21 950"" REM ***********************
4 2 2 0 REM p r i n t c r a s h e d LM 9 5 1 0 BORDER 1 ! P A P E R l : I N K 51 C
4 2 3 0 P R I N T AT z , I N T x ! F L A S H li LS
INK 2 ; " • i 9 5 2 0 P R I N T AT 1 , 1 0 J " L U N A R LANDIN
G"? TAB 1 0 J "
4 2 4 0 REM p l a y s o m e t h i n g morbid
9530 PRINT " The o b j e c t of th
4 2 5 0 R E S T O R E 8 1 0 0 : GO S U B 8 0 0 0
e game i s t o " ' " s a f e l y land your
4 3 0 0 REM p r i n t instructions to
lunar module on" " t h e landing pi
b o t t o m o4 screen
atform. Contro1"*"your descent b
4310 PRINT Hi; " P r e s s any ke/ to
y p r e s s i n g keys 0 " ' " t o 9 to adju
p1 a y again.";
st your r o c k e t " * " t h r u s t . " * *"
4320 REM w a i t 4 o r k e y p r e s s then
Beware of the l u n a r wind"'"whi
start new game
ch causes l a t e r a l movement of"'"
4330 PAUSE 0: GO TO 3100
the lunar module";
8000 REM ***********************
9540 PRINT ". Control left"*"and
Subrout i nes
*********************** right thrust with the 'q'- 4
"
and *p* keys respectively. ' ' '
8005 REM play a tune
" Press any key to begin play."
8010 READ a: IF a=999 THEN RETU
RN ;
8020 READ b: BEEP a/10,fc: GO TO 9545 REM wait for keypress and
return
8010
8050 REM you win tune data 9550 PAUSE 0: RETURN

44 ZX COMPUTING JUNE/JULY 1984


ZX 84

Britain's Best Magazine


For The Sinclair user
L

D o n ' t be d i s a p p o i n t e d — m a k e s u r e y o u *osend
you
get e v e r y i s s u e of ZX Computing! round
the
J u s t £ 1 2 . 7 0 will ensure that the next twist?
s i x i s s u e s w i l l be lovingly w r a p p e d a n d
p o s t e d to y o u . J u s t fill in t h e f o r m
b e l o w , c u t it out a n d s e n d it w i t h y o u r
c h e q u e or p o s t a l order ( m a d e p a y a b l e to
A S P Ltd) t o :

ZX Computing Subscriptions,
Machine
Infonet Ltd, code
Sophies
Times House, 9et you
animated*
179 The Marlowes,
Hemel Hempstead,
Herts HP1 1BB,
A l t e r n a t i v e l y y o u c a n p a y w i t h y o u r A c c e s s or
B a r c l a y c a r d : s i m p l y fill in y o u r c a r d n u m b e r , sign the M a k e the m o s t of y o u r Z X C o m p u t e r w i t h
f o r m a n d s e n d it o f f . Do N O T s e n d y o u r c a r d ! ZX Computing — b i - m o n t h l y !

Cut out and S E N D T O : S u b s c r i p t i o n Order F o r m

ptease commence my subscription TO ZX Computing


with the very next issue

_i x i / am enclosing my Idelete as necessary!


cheque Postal Order/International
Order for C:
Money

(made payable to ASP Ltd)


OH
Debit my Access.<8arclaycard*
I'delete as necessary I
ZX Computing Subscriptions, VISA
Infonet Ltd,
Times House,
179 The Mariowes,
Hemel Hempstead,
Herts HP1 1BB, Please use BLOCK CAPITALS end include post codes.


NAME (Mr/Mrs/Miss)
£12.70 for six issues


UK ADDRESS


SUBSCRIPTION £ 1 4 . 2 0 for s i x i s s u e s
RATES o v e r s e a s s u r f a c e mail POSTCODE

(tick d as £ 2 5 . 0 0 for six i s s u e s


Signature Jb
appropriate) o v e r s e a s airmail Date . . . .
l

ZX COMPUTING JUNE/JULY 1984 45


[SPECTRUM

A superb general purpose


program for storing data
from Dr R C Shillito
in Essex.
A s it stands, this program is set the operation of the program as
up as a general purpose data it w a s written and I am a firm
Store for general practitioners! believer in encouraging pro-
However, for those of you who grammers to adapt programs
are not members of the medical themselves rather than hand
fraternity, it is very easy to everything to them on a plate.
amend, alter and adjust to suit So here it is, modify it as you
your own individual needs. will . . .
Full instructions are given for

1 DIM N*15,5000)
2 DIM B * < 5 , 3 2 )
3 DIM t(5)
10 C L S
15 PRINT AT 1 0 , 1 5 ! " E n t e r Code
: PAUSE 0
20 I F I N K E Y * * " S " THEN GO T O
55
25 CLEAR
30 CLS-
4 0 NEW
5 5 CLS : P R I N T , , " C o d e Accept©
PAUSE 7 5 : CLS
60 PRRI N T I N K 3 , AT 0 , 0 ! " D o yo
u wish to see i n s t r u c t i o n s for
use of t h i s flle*> y / n " : PAUSE 01 200 INPUT x
IF I N K E Y * = " y " THEN GO S U B 8 0 205 I F x=8 THEN NEW
00 210 GO S U B 1000*x
70 INK 0 220 BORDER 7 : PAPER 7 : INK 0: F
75 GO S U B 9 9 0 0 LASH 01 BRIGHT 0
80 PRINT A T 0 , 0 ! " A N Y K E Y TO C 225 CLS
ONTI NUE...": PAUSE 0 230 GO T O 1 0 0
100 CLS : BRIGHT 0: B O R D E R 7\
P 1000 CLS
RINT AT 0,0!"Menu" 1010 INK 2 : PRINT " * P r e s s 'y' wh
110 PRINT AT 0 0 , 1 0 ! " 1 Retr
ie en asked ' S c r o l l " " * " : PAUSE 100
ve - file." : C L S : IMK 0
120 PRINT AT 0 2 , 1 0 ! " 2 Add
to 1 0 1 5 GO S U B 9900
f i le" 1020 INPUT "Enter f i l e number.1-
130 PRINT AT 0 4 , 1 0 } " 3 Obtain 5. "i a: CLS
hard copy of a f i l e . " 1030 BORDER a
140 PRINT AT 0 6 , 1 0 ! " 4 Open a 1060 PRINT AT 0,0!B*(a)
new f i l e . 1065 GO S U B 9000
150 PRINT AT 0 8 , 1 0 1 " 5 Save f 1075 PRINT AT 6 , 0 ! N * ( a M TO t(a
i l e on t a p e T h i s w i l l s a v e t h e p > *-Q6>
rogram a l o n e T h e n o t e s must be sa 10->6 I N K 2 : P R I N T AT 2 0 , 0 ? " T o r
ved by u s i n g r o u t i n e 7" eview notes after this print pre
160 PRINT AT 1 4 , 1 0 ! " 6 To ent ss * y * , ' n ' t o r e t u r n to menu."
er o l d n o t e s to t h i s p r o g r a m * * T 1080 INK 0 : PAUSE 0 : IF INKEY*
H I S ROUTINE C L E A R S CURRENT NOTES » " n " THEN GO T O 1 0 9 0
**"
1 0 3 5 GO TO 1 0 1 5
170 P R I N T AT 1 3 , 1 0 ! " 7 To sav 1 1 0 0 BORDER 7
e e x i s t i n g n o t e s on tape." 1500 RETURN
180 PRINT AT 2 0 , 1 0 ! " 8 To qui 2000 CLS : PRINT AT 0 , 0 ! " T h i s r
t program." c u t i n o adds to the notes at pre

46 ZX COMPUTING JUNE/JULY 1984


DOMESTIC!
3033 LET f1=640
3035 LET c*i: LET f2' f 1
3040 FOR e = l TO INT (t < a > / f 1 > • 1
3050 IF f 2>t(a) THEN LET f2= t ( a
)
3 0 6 0 CLS : PRINT B«ta): PRINT A
T 2 , 0 ; N « ( A ) ( c TO f2): PAUSE 0 : I
F INKEY* «"Z" THEN LPRINT AT
0 , 0 ! B« (a)J LPRINT AT 2,0SN*(aM
c TO 42)
3065 LET c * c + f l - i : LET f2=f2+fl
3068 I F f 2 > t ( a > THEN LET f2=t(a
)
3 0 7 0 NEXT e
3 0 7 5 GO T O 3 1 0 0
1
3100 CLS J PRINT Do y o u w a n t a
copy of another f i l e ? Y.'N": PA
USE 0 : IF I N K E Y * « * y " THEN GO
TO 3 0 0 0
3500 RETURN
4 0 0 0 C L S : GO S U B 9 9 0 0 : INPUT "E
n t e r f i l e N o . t o be written{1-5."
I t ! I F a > 5 OR a < 1 T H E N GO T O 4 0
00
4001 C L S : BORDER a : IF CODE B *
( a ) ( TO ) > 3 2 T H E N PRINT AT 2,3
J INK 2;"WARNING F I L E OCCUPIED."
; AT 0 , 0 ; ( a ) : P A U S E 30O
4002 PRINT AT 0 , 0 ; a ; " ";B*ia),
AT 0 2 , 0 ; " P r e s s *y* to erase old
s e n t on t h i s f i l e . Any ke/ to co f i l e or change name/No.» any ke
nt.": PAUSE o: CLS y to r e t u r n to menu. "
2003 GO S U B 9 9 0 0 4 0 0 3 PAUSE 0 : IF INKE Y« TH
2010 INPUT " E n t e r P i l e No.to bt EN GO T O 4 0 O 8
3dded t o . 1 - 5 " ; a : CLS 4 0 0 5 GO T O 4 1 0 O
2 0 2 0 BORDER a 4 0 0 3 C L S : INK' 0
2050 GO S U B 9000 4010 INPUT "Enter patients name
2100 GO S U B 4041 and number; then press enter:",B
2300 RETURN «<a)
3000 CLS 4015 CLS I PRINT AT 0 , 0 ; a ; " "IB
3002 GO S U B 9 9 0 0 «(a); AT 3 , 0 ; " I f you w i s h to era
3005 INPUT " E n t e r the -file no to se old notes press'y*,*n'to ret
urn to menu.": P A U S E 01 IF I NKE
be printed,1-5",a Y« = " n " THEN GO T O 4 1 0 0
3 0 0 6 C L S : BORDER a 4020 LET t ( a ) = 0 : LET t=0
3010 INPUT " E n t e r i for cop/ of 4025 CLS : PRINT AT 0,0jB*(a)
the whole f i l e , 2 for a cop/ o 4030 PRINT AT 2 , 0 ; " N o w t y p e in
f a s i ng 1e page. "; patient d e t a i l s . "
3 0 1 5 GO S U B 9 0 O O 4 0 3 3 INPUT "When y o u h a v e finnis
3 0 2 0 I F H=1 T H E N LPRINT AT 0 , 0 hed p r e s s 'enter'",;N*(a)
; BS ( a ) : L P R I N T AT 2 , 0 J N « ( a M TO 4 0 4 0 GO S U B 9 0 0 0
t (a) ) 4043 CLS : PRINT AT 0,0;B*(a>:
3021 I F H=2 THEN GO T O 3 0 3 0 PRINT AT 2 , 0 ; 5 0 0 0 - t ( a ) I " figs,
3 0 2 5 GO T O 3 1 0 0 left in f i l e . " : PRINT AT 4,0;NS
3030 CLS P R I N T "When t h e page ( a ) I TO t ( a ) + 9 6 > ; I N K 2 , AT 20,0
you r e q u i r e a copy of a p p e a r s pr J " D o y o u w i s h t o add t o t h i s f i l
ess *z * to obtain your copy. Any e"* y/n": PAUSE 0 : IF INKEY
key to see the next page.Any ke * ="n" THEN GO T O 4 0 9 0 : INK 0
y to continue.": PAUSE 0 4 0 4 6 C L S :- P R I N T B * ( a > i AT 2 , 0 ; N

ZX COMPUTING JUNE/JULY 1984 47


ISPECTRUM DOMESTIC!
* <3) « TO t ( a ) 1 : INPUT " A d d f u t he- ie.Patient i n i t i a l s . " , 0 «
r info. Then press enter . " ; 6035 CLS : PRINT " S t a r t t a p e and
M« p r e s s any key..": PAUSE 0
404-* L E T N«(a)«N*(*M TO t!a))+M 6 0 4 0 LOAD 0 « DATA B * ( ) : LOAD 0 *
«
DATA N « ( ) : LOAD 0 * DATA t()
4 0 4 8 60 SUB * 0 0 0 6 1 0 0 P R I N T "DATA LOADED.ANY KEY
4BH49 C L S : P R I N T AT 0,0;B«<a): TO R E T U R N . " : PAUSE 0
PPINT AT 2 , 0 ? N « ( a ) ( TO t ( a ) > : I 6500 RETURN
NPUT ; " A n y No. t o continue.*jk I
7000 CLS : PRINT "This routine s
4050 CLS : INK 2: BRIGHT l: FLAS aves all five current notes
H 1 on t o t a p e , without the pr
4051 PRINT AT 0 , 6 ; " I S F I L E COM o g r am. "
3
PLETE" " I AT 1 , 1 4 | " y / n • f AT 10,4 7010 INPUT " E n t e r a name f o r the
;5000-t;" figs, left in f i l e "Ja se notes.eg. 'Fi1e1-5 *";0*
: P A U S E 01 IF INKEY« ="y" THEN " 0 2 0 S A V E 0 * D A T A B<* ( ) : S A V E 09
GO T O 4 1 0 0 D A T A N * < ) : S A V E 09 D A T A tl)
4052 FLASH 0: BRIGHT 0: INK 0 7030 CLS : PRINT "Wind tape back
4055 CLS and h i t any key to v e r i f y . " : P
4060 GO T O 4 0 4 6 AUSE 0
4090 INK 0 : BORDER 7 7 0 4 0 V E R I F Y 0 « DATA B « ( ) : VERIFY
4100 RETURN 0 « DATA N * { ) : V E R I F Y 0 * DATA t( 1
5000 CLS 1
5005 FLASH l: BRIGHT PRINT I 7050 CLS : PRINT I N K 2 , AT 0,10
NK 2 , AT 0 , 1 } " H A V E VOU S A V E D CUR {"NOTES V E R I F I E D . " ; AT 3,4;"Any
RENT NOTES" key to r e t u r n to menu.": PAUSE 0
5006
no.
INPUT " E n t e r
to
1 to cont.
r e t u r n to menu.
any 7 0 6 0 INK 0
7500 RETURN
1
5007 FLASH 0: BRIGHT 0: INK 0 3 0 0 0 C L S : INK 0: P R I N T " T h e p r o
5008 I F z <> 1 T H E N GO T O 5 5 0 0 gram i s m o s t l y s e l f explana
1
5009 CLEAR t o r / , however t h e c o m p u t e r w i l l c-
5010 INPUT " E n t e r a name f o r the x p e c t you t o r e s p o n d by enter in
f i l e . eg. f i l e 1 Up t o 1 0 c h a r g a number f o l l o w e d by a single
ec t e r s . " ; , 1 $ p r e s s of the ' e n t e r * key when a
5030 SAVE I * L I N E 1 decision is required.
5035 CLS : PRINT "Wind tape back
and p r e s s any k e y t o verify.**: 8010 PRINT
PAUSE 0 8020 PRINT 'When r e c o r d i n g notes
5037 VERIFY I* it is a good i d e a to remove
5038 PRINT INK 2;"VERIFIED" the 'e ar* connection at the ta
5039 PRINT "Any Key to r e t u r n to pe as this results in a better
m e n u . " : PAUSE 0 r ec or d i ng. When a s k e d t o verify
5 0 4 0 GO T O 1 this recording the plug s
5500 RETURN houId be inserted again."
6000 CLS 8030 PRINT
6005 FLASH i : BRIGHT 1 8040 PRINT "Should the computer
6010 PRINT I N K 2 ; AT 0,0;"WARNI r e s p o n d w i t h *R T a p e l o a d i n g err
NG T H I S R O U T I N E C L E A R S EXIST or' then press'g'100,this wi1
IMG N O T E S . " 1 show on t h e s c r e e n a s ' G O TO
6012 PAUSE 150 100' and after pressing enter
6013 INK 0 : BRIGHT 0: FLASH O: C will r e t u r n you to the menu.Pre
LS ss any key"
6015 PRINT INK 2 j " I F YOU W I S H T 8050 PAUSE 0
0 SAVE CURRENT NOTES RETURN 8060 CLS : PRINT "For r e a s o n s of
T O MENU B Y P R E S S I N G * y * AMY. K E Y data protection the program ca
TO C O N T I N U E . " : P A U S E 0 nnot be s a v e d w i t h t h e n o t e s the
6018 IF I N K E Y « = " / " THEN GO T O s e must be s a v e d and l o a d e d sep
6500 arate1y,provision for t h i s has b
6025 INK 0 e e n made i n t h e program.lt is
6026 INPUT "Enter the f i l e name. suggested that the notes be

ZX COMPUTING JUNE/JULY 1984 48


ISPECTRUM DOMESTIC!
r e c o r d e d on a separate tape 91.00 I F CODE N * ( a > ( x +2 TO t*2)^
Cs) . " 3 2 THEN GO TO 9 2 0 0
80~>P P R I N T 9110 LET t-1 + 1
PRIMT " P r e s s any I ; e y . " : PALI 9 1 2 0 GO TO 9 0 1 0
SE 0 9200 IF C O D E N * t a ) ( x • 3 TO t * 3 > =
8.090 C L S : P R I N T " T h e r e a r e 32 s 3 2 THEN GO TO 9 3 0 0
p a c e s p r o v i d e d -for t h e p a t i en t s 9250 LET t=t+l
name a n d n u m b e r , it is t h e r e-f o r 9 2 6 0 GO TO 9 0 1 0
e suggested that the a d d r e ss 1 s 9300 IF C O D E N H f a M x + 1 0 TO t + 1 5
•filed with the notes. E a ch on ) * 3 2 THEN GO TO " 4 0 0
e of t h e -five s e t s o-f n o t e s 9310 LET t=t+10
h a s r o o m -for 5 , 0 0 0 c h a r e c t e rs ' i 9 3 2 0 GO TO 9 0 1 0
ncluding blank spaces. " "400 LET t(a)=t
3100 PRINT 9 4 1 0 I F t < a ) >1 AND t ( a ) < 3 2 T H E N
8110 PRINT " P r e s s any k e y . " : PAU LET t(a)=32
SE 0 9 4 5 0 I F t ( a ) > 3 2 THEN LET ttal-
S 5 0 0 RETURN INT ((t(a)/32>•1)*32
" 0 . 0 0 I F t <a) > 1 T H E N LET t - t <a) : " 5 0 0 RETURN
GO TO 9 0 1 0 9900 CLS
9 0 0 5 F O R t = l TO 5 0 0 0 9 9 0 5 F O R d=1 TO 5
9010 LET x=t-1 9 9 1 0 BORDER d
9 0 1 5 I F x = 0 THEN LET x=l 9920 PRINT AT d + 4 , 2 ; d ! " " ; B $ ( d )
9030 IF C O D E N « ( a ) ( x TO t > = 3 2 T 9930 IF CODE B * ( d > = 3 2 T H E N PRI
HEN GO TO 9 0 5 0 NT AT d + 4 , 4 ; * EMPTY FILE."
9 0 4 0 NEXT t 9 9 4 0 NEXT d
9050 IF CODE N « ( a ) ( X 1 T O t * l > = " 9 5 0 PP11 IT AT 2 0 , 0 ; " T H E A B O V E N
3 2 THEN GO TO " 1 0 0 O T E S ARE CURRENTLY LOADED INTO
<9060 L E T t = t + l YOUR C O M P U T E R . "
9 0 7 0 GO TO " 0 1 0 9 " " 9 RETURN

FROM FOX ELECTRONICS


SPECTRUM
^-UPGRADES (ISSUE 2 MACHINES ONLY)
£19.50 £34.00

£20.99
TURN YOUR 16K SPECTRUM INTO A 4BK FOR ONL Y

A high quality kit at a low. low price Thts Spectrum upgrade is


easily titled by anyone in approximately 15-20 m*is and requires
rx> soldering or alterations to your Spectrum Simply pushes into
existing socket Full step by step instruct ions supplied and it lor any
SPECTRUM/ZX-81
FULLER FD42
£29 95
reason you are not satisfied with the kit return to us undamaged INCL
within 14 days and we wil refund your money in lull
KEYBOARD
F O R T H E S P E C T R U M OR
ZX-81. A42 K E Y F U L L
SPECTRUM J O Y S T I C K TRAVEL. C A S E D
K E Y B O A R D WHICH
A D E L U X J O Y S T I C K C O N T R O L L E R C O M P L E T E WITH I N T E R F A C E
YOUR MACHINE SITS
AND
I N S I D E . P L U G S IN
• C O N T O U R E D GRIP
(NO S O L D E R I N G R E O ) .
•2 F I R E B U T T O N S
•4 F E E T O F C O R D
84 S U C T I O N C A P G R I P S F O R T A B L E
TOP CONTROL £ 1 9 . 5 0
ZX-81
Another replacement keyt>oa«t-th<s one
with a calculator typo teei Peel ott backing
SEND NOW TO
CALLERS WELCOME and press to til
FOX E L E C T R O N I C S
141 Abbey Road. Basingstoke, Hants. Tel: 0 2 5 6
BV APPOINTMENT

20671 WUCM
InoeOibly low price Ctf
£10.00
uridgit I Software • • L t d

Castle of Dreams £7-95


A BrainTeasing Exploration for 11 year olds and above

Adventure Playgrounds
P i t your w i t s against t h e w i c k e d M a g i c i a n Kltngsor a n d s a v e the w o r l d f r o m h i s evil

plaV
Two Absorbing Explorations for Juniors Vou n e v
< * 9et the s a m e
you c a °
GameS
over 3 9 * °
Crooked Adventure" and "The Queen of Hearts" ones t w i c e

Other titles from WIDGIT. THE HUMPTY DUMPTY MYSTERY £6 25 PATHFINDER £5 95


ALPHABET. COUNTING. SHAPE SORTER & ADDING & SUBTRACTING £5 25 each
Also QUICK THINKING & LOOK SHARP published by MIRRORSOFT
WIDGIT SOFTWARE is available from and from @ WHSMITH $
48 DURHAM ROAD. LONDON N2 9DT and your usual computer shop

vmc
Quality S y s t e m S o f t w a r e
HISOFT P A S C A L 4T
I haven't seen any other compiler lhat could match Hisoft's Pascal" .. Using Spectrum Micro — Autumn 1983
T h i s Is a very impressive product of benefit lo any Spectrum programmer" David Bolton ZX COMPUTING Aug/Sept 1983.
Just two comments from full length reviews of our powerful and virtually fuft implementation of Standard Pascal. The advantages of using the Pascal language are
many: fast, self-documenting and truly structured programming— many schools and universities insisl on a good knowledge and understanding of Pascal for their
Computer Studies course*
Now you can learn and use Pascal on your home micro: Hisoft Pascal is available for a wide range of home computers, including the 48K Spectrum. Typically,
compiled programs run 4 0 times faster than their interpreted BASIC equivalent — and sometimes up to 1.000 times faster!
Hisofl Pascal supports all the Standard Pascal data structures and statements INTEGER* REA|_s CHARacters ARRAY* SETs. RECORDS POINTERS Enumerated
types. FOR . . 0 0 , R E P E A T . . U N T I L WHILE DO. C A S E . O F and many pre-defined Procedures and Functions (e g. SORT, TAN. SIN. COS. INLINE. PEEK. POKE
etc. etc.) — it is not a Tiny Pascal but a powerful educational and development tool which allows the user to develop t'ue high level language skills, while attaining
execution speed close to that of machine-code.
Hisoft Pascal tor the ZX Spectrum now comes complete with ZX Microdrrve support (anything you can do with tape you can do with Microdrive! and a Turtle
Graphics package which allows easy creation of complex graphic programs

HISOFT DEVPAC 3
. . D E V P A C i s m o s t highly recommended The documentation is first class . Your Computer — May 1983
" . . . i t Is impossible to recommend any other development package tor the Spectrum over OEVPAC " Adam Denning—CCMApril 1984
Need we say more? DEVPAC 3 is a very powerful assembler, editor and disassembler'debugger. Forget about buying lots of separate packages for your machine-
code development — it's all in DEVPAC 3 A full 2 8 0 assembler with conditional assembly, all standard directives, full arithmetic (*. >', +. OR. XOR. AND. MOD),
many assembler commands for controlling object code generation, listing, printing etc . full line editor with advanced facilities like search, replace siring include
facility that lets you assemble from tape lor Microdrive) without taking up memory for your source tent A N D a superb disassembler/debugger with front panel
display of 2 8 0 registers and flags with command* like search for string ol bytes, copy memory, disassemble memory Ito en assembler textfile. if you wish), list
memory in ASCII, set multiple breakpoints, and. above all. single-step through machine code programs, one instruction at a time E V E N I N R O M '
DEVPAC comes complete with a 4 5 page user manual.
On the ZX Spectrum. DEVPAC fully supports the ZX Microdrive, allowing assembly from micr odrive, saving of text to and from Microdrive and saving of object code
to Microdrive — DEVPAC still fully supports tape as well.
Prices:
Hisoft Pascal 4T (ZX S P E C T R U M ) £ 2 6 inclusive
(NewBrain. S H A R P M Z 7 0 0 etc) £ 3 5 plus V A T
H i s o f t P a s c a l 4 D , m a n y d i s k f o r m a t s £ 4 6 Inc.
Hisoft D E V P A C 3 (ZX S P E C T R U M ) £ 1 4 inclusiva
(NawBrain) £ 2 5 inclusiva

HISOFT
13 G o o s e a c r e , C h e d d i n g t o n

m
Leighton Buzzard. Bads. LU7 OSR
'and others Tel: (0296) 6 6 8 9 9 5

50 ZX COMPUTING JUNE/JULY 1984 50


SPECTRUM CAME

There are no bugs in this game! Up to four


players can take part in Colin Cooch's realistic
dice game.
Many traditional games have gather, this is a game where An interesting point to note
made their way from boards, luck is the important factor, in this program is the use of
cards, pen and paper into the but it makes a nice relaxing the hi-res graphic drawing
computer screen, some suc- change from saving the world routines. Unlike many other
cessfully and some not. This is from aliens, or wrestling with programs, only one UDG is us-
one of the sucessful some logical computer ed — the disc pip (graphic A).
transplants. generated problem.
For those of you who have
missed the delights of this
game in its original incarna- variables used
tion, the idea is to throw a dice A$,B$,C$ Dice spots.
and build up a " b e e t l e " accor- D$,E$ Dice frame.
ding to the numbers thrown. P$(N) Players' names.
The computer displays the S$ Spectrum control, Play or Not.
cards and the stages of the N$,Z$ Temporary variables (line inputs)
Beetle as it is drawn and a A|X) Accumulated totals.
clever routine is used to BIX,Y) Beetles.
simulate dice throwing. In- Count Control variable in dice.
stead of just saying " Y o u D Dice value.
threw 3 " , or whatever (a very FF Dice control variable.
suspicious format to non- N FOR/NEXT loops.
computer - expert players) a PL Number of players.
dice is displayed which "rolls' T Turn number.
until the player removes his V(X) Value of score.
finger from the key. This gives X,Y.P,I Variables to set up title page.
a realistic feel to the game.
When less than four players
take part then the computer
joins in. It is a mean opponent,
The lines
and I can't spot any sneaky 1000-1020 Introduction, initialisation and inputs
programming which gives it an 1030-1060 Main control loop, including checks.
advantage! 11 80-1 3 2 0 Endgame routines.
You must have a 6 to start 1 340-1 6 0 0 Subroutines to print out beetle parts
and this draws the body, 5 1610-1810 Start — get inputs on player details.
draws the head and other 1820-1960 Initialise variables and dice graphics.
numbers provide antenna, 1970-2090 Dice throwing routine.
legs, eyes, etc. A s you will 2100 Miscellaneous drawing title page etc

500 REM 1040 PRINT AT 14,0?"


"; FLASH 1J
• +- + + + B E E T L E +++•++•+ INK OI PAPER 2*T; AT 14,T*8-6J"
+ + + @ c.N.GOOCH 1983 +++++++• GO •
1 0 5 0 GO S " B 1920
1 0 6 0 I F D=1 AND B ( T , 5 > AND B ( T , 1
6 0 0 PEM >>>>>M>>>>>>>>>>>>>>>> W 2 THEN L E T B ( T , 1 ) - B (T , 1) • 1 : L
^^^Graphic in l i n e s 1860/1950 ET V(T)=VMT)+l: GO S U B 1 3 9 0 + ( < B (
i s a "GRAPHICS" 'A*<<<<<<<<<<<<< T,1)-2)*10)
'<'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
1 0 7 0 I F D = 2 AND B ( T , 5 > AND B ( T , 2
•000 PAPEP 3: BOPDER 1! C L S ! PR l < 2 THEN LET B(T,2)»F(T,2>•1! L
TNT AT 1 0 , 4 ; F L A S H l j" ST0P THE ET V ( T ) « V ( T ) * 2 : GO S U B 1440+((B(
TAPE GO S U P 2 I O C T.2'«2>*10)
1010 G P S U B 2 1 1 0 * GO SUB 1820 1 0 8 0 I F D « 3 AND B ( T , 6 > AND B ( T , 3
1070 GO S I . ' P 1 6 7 0 : GO SUB 1500 )<4 THEN LET B(T,3>=B<T,3)•1: L
I03C R E M M A I N 1 OOP ET V ( T ) « V ( T ) + 3 : GO S U B 1 4 7 0 + ( ( B ( W

51 ZX COMPUTING JUNE/JULY 1984


SPECTRUM CAME
T , 3 ) - l OP B(T,3)=3)*10) AME LOAD ""
1090 IP D»4 AND B(T,6> AND B<T,4 1320 GO TO \2P0
)-0 THEN LET B ( T , 4 ) * 1 : LET V(T) 1330 REM PEEBLES
=V<T)«-4: GO SUB 14 10 1340 PEN BOD"
1100 IF D«5 AND B(T,6) AND B ( T , 5 1350 PLOT T*64-44,119: D^AW 24,0
>-0 THEN LET B | T , 5 ) * l : LET V(T> , - PI : D°AW 0,-3: DPAW -24,0,-
«V(T)*5: GO SUB 1370 t»I : DPAW 0,8: RETURN
1110 IF D«6 AND B<T,6>*0 THEN L 1360 REM MFAp
t
ET B ( T , 6 ) « l : L F V(T>=v(T)+£: GO 1370 CIRCLE T*64-T2,138,8: PETUR
SUB 1370 N
1120 PRINT AT 12,T*8-7;"Sc ";V( 1390 PEM FYES
T>
13°9 CTRCLE T*64-35,140,1: PETUP
1130 IF y<T> >» 33 THEN PAUSE 1 N
OO: GO TO 1190 1400 CIRCLE T*64-2P,140,1: RETUR
1140 GO SUB 1800 N
1150 PAUSE 75 1410 REM TAIL
1160 GO TO 1040 1420 PLOT T*64-32,98: DRAW 0,-8,
1170 PEN ROUND END PI : DRAW - 6 , 0 , - PI : RETURN
1180 PAPER l: CLS : BORDER 2: PR 1430 REM FEELEPS
INT AT 1,10? PAPER 6J INK !;" R 1440 PLOT T*64-36,144: DRAW -3,3
PtJND OVER " : DRAW - 7 , - 6 , . 3 * PI : PETURN
n T
1190 F P N»! 0 32 STEP 2: BEEP 1450 OLO-*- T * 6 4 - 2 6 , 1 4 4: DRAW 5,3:
t
N/100.N: NEXT N: FOP N=40 0 I s DRAW 2 , - 6 , - . 3 * PI ! RETURN
T
EP -IT PEEP .005,N: NEXT N 1460 REM LH LEG
1200 PRTNT TAP "WELL DONE " 1470 PLOT T*64-44,11P-8*(B(T,3)»
:Pt(T) ! ' Tap |Oi" YO>' WON T H A T P 4)! DRAW -5,0: DRAW - 6 , - 6 , . 5 * PI
nij'jp » : PETUPN
1210 FOR N«i TO PL: LET A(N1*A!N 1 4 8 0 PEM RH LEG
NEXT N 1490 PLOT T*64-20,119-8*'B(T,3)•
1220 DPT».(T AT 8, 10; "THIS POUND 1 3): DRAW 5,0: DRAW 6 , - 6 , - . 5 * PI
THTAL" : PETUPN
123^ POR TO pi,*? STE e
2: PSX 1500 PEM set screen
NT N*•1, !•r*{N/?1 : " "J V 1510 PO^DE® O: PAPEP O: CLS : IN
(N/2)|• "|A(N/2>: NEXT K 7
N 1520 PPINT AT 0,10; PAPER 6; IN
p j n PEP® 1 20 K 21" BEETLE "
1250 GO SL'F 2100: CLS 1530 PLOT 0,167: DRAW 255,0: PLO
1760 IF INKEY« "" THEN SO T 0,64: DRAW 2"!5, 0
T
TO 1760 1540 PL0 n,166: DRAW 0,-10!
17"0 PPINT * TAB 2; ""'.EASE P
9ESS 1550 PLOT 63,166: DRAW 0,-101
KE V
TO TELL ME"," WHAT T
C DC N 1560 PLOT 12"*, 1 6 6 : DPAW 0,-101
EXT" 1570 PLOT I * ! , ! 4 6 ! DRAW 0,-101
1280 PRINT • - (11 LAYD
ANOTHER R 1580 PLOT ? , r
5f!6£: DRAW 0,-t0!
OUND WITH"," THE SAME PEOPLE FOP N-e TO 8»PL STEP 8: PR!
"." <21 P L A Y A NEW GAME WITH "," NT AT INK O; PAPER N/9+7
DIF^FPENT PEOPLE"," (3>C"IN :PT'N/8>: NEXT N
ISH PLAYING BEETLE" 1600 RETURN
1290 IP" IN*EY* ="1" THEN GO S'J !c!0 PEM " a p t
P 1500" DIM B(dt6>; DTM V<4>: GO 1620 etc ; pOPDER O: PAPER O: IN
T
0 1040 K "»
1300 TP INKER'S «•?' THEN CO TO *670 DIM P«M, i»
1020 1640 CL*^ t POINT 1 TAPER 6; INK
1310 IF INKEY* -"3" THEN GO SU Oi AT ? , ? t " HOW MANY PEOPLE TO
V
B 71 ! 0 : FOR N=8 TO 14.' PRINT AT PLA *»"t PAPER O;
N.5» PAPEP 7|" 1650 INPUT LINE N«: IF CODE Nf
•: NEXT N: PPINT PAPEP 6J IN -"4P OR CODE NS>57 THEN PRINT
K 2» FRIGHT 1: AT 10,6!"THANKS F OAPFR 7; INK 7{•'"ENTEP * NUMPEP
OP PLACING"; AT 11,6s"START TAPE PI E A S E ": GO TO 1650
T
TO LOAD-5 AT 12,6?" HE NEXT G 1660 LET PL - VAL Nt! IF PL < I OR

52 ZX COMPUTING JUNE/JULY 1984


SPECTRUM CAME
PL>4 THEN PPTNT PAPEP 2 ; ' " I A 1 9 3 0 L E T A®' 4 ) = " A A " : L E T B*t4>=
M SORS'V B U T T H E R E A R E O N L Y FOUR A * { ! ) : L E T CIS ( 4 > = A * < 4 I
CARDS, ° L E A C E ENTER AGAIN • : G I°40 LET A«(5)»A*(4>: LET B*<5)«
0 TO ! 6 S O B*<1): LET C*(5)=A*(4>
1 6 7 " I F D L = 1 THEN PPINT PAPER 1950 LET A * ( 6 ) = " A A A " ! LET B*<6)=
i% I N K 0 : * * " Y O U W I L L WANT ME T O A * ' l ' : LET C*(6>=A*(6)
PLAY t H E N LET S*=*"YES": LET 1960 L E T D*~ CHP* 139+ CHR* 131*
PL=2: LET P « ( 2 ^ " ' P U T E R " : PAUSE C H R * 131 • C H R * 131 CHR* 135: L
2 5 0 : GO T O 1 7 3 0 ET E*= CHP* 1 4 2 + C H R * 141:
1680 IF PL«=4 THEN LET S*="NO": PETURN
GO T O 1 7 3 0 1 ° 7 0 REM MMMPRTNT D I C E
1 6 9 0 C L S : I F P L < 4 AND P L > I THEN l"e0 LFT FTt-O: t E T COUNT-O
PRINT PAPEP 6; INK 0 ; * * " D 0 vo ! 9 9 0 COP N * ! 5 TO 1 ° : P R I N T AT N
'J WANT MF TO P L A Y * " » • I N P U T LIN ,5:" ": NE
E S* XT N: PAUSE 90
1 7 0 0 I P * ! * ( 1 ) » " N " OR S * ' l > = "->" T 2 0 0 0 L E T D = l + TNT t pmd * 6 > : PPT
HEN PPINT PAPEP 4; INK 0 : ' * " 0 . N T
AT 1 5 , 5 ; p * : AT i9,5:E*
K. I ' L L J U S T W A T C H " : GO T O 1 7 3 C 2 0 1 0 F 0 » N - 1 6 TO i s ; PRINT AT N
1 7 1 0 I F ? * < 1 > - " Y " OP !)»•*>•" T , 5 ; " I " : AT N , 9 ; CHR* 133: NEXT N
HEN PRINT PAPEP 6{ I N K 0 ' * " GO 202'"> T F AND T = P L THEN
OP . I L I K E F L A Y I N S "S L E T PL'PL P P T NT AT 1 - , 1 ? t * M Y G O " : L E T F F =
• ! : '_£T P * t P L * = • * P L I T E P " : L E T S*= l : 0 0 TO 2 0 4 0
" Y E E " : GO T O ! " ' 3 0 2 0 3 0 " P ' M T FTT 1 6 , 1 2 ' " P R E S S ANY
1720 PPINT PAPER 2 ! * * " S O R R Y . I D K E Y T O " ? AT 1 7 , ! 2 » " ""THROW"" DI
I D NOT U N D E R S T A N D " ' " P L E A S E AN C E " t AT 1 8 , I I t " R E L E A S E ETO^
S W E R - - v c c - " - Qp - - N O " - " : INPUT S *: IF TNKEY* « " " THEN CO t O 2 0
* : GO T O I-00 30
i"?70 PPINT P L E A S E E N T E R THE 2 0 4 0 I P D=" THEN LET
Pl.AYFPS I N I T I A L ? OR N A M E S 20^0 PRINT AT 1 6 , 6 ; A * ( D ) J AT 17
. . . N 0 T MORE THAN S I Y L E T T E R S £ ,6?P«(D>; AT !T?,6;C*(D)
ACM" 2 0 6 " TP r F THEN LET COUNT=COUNT
6-
1 7 4 0 F O P N * 1 TO P L - ' S * ' 1 > « * Y " > • l: I C O U N T ">50 AND RND > . 5 T H E
1750 PPINT ' " P L A Y E P • J W Z INPUT N L E T FF=-0: PAUSE 2 5 : RETURN
L I N E P*<N>: I F P * f N , 1 1 - " " THEM 2 0 7 0 I F F F THEN L E T D = D + 1 : GO T
GO T O 1 7 5 0 O 2040
1760 PRINT P * ( N ) : NFXT N 20P0 TF TNKEY* THEM PAUSE
1770 I F S * U > » " Y " THEN PRINT '" 25: PETURN
V
PLA ER " ; P L : P P I N T "* P U T E R " 2 0 9 0 L E T D - D + l : GO T O 2 0 4 0
1 7 8 0 GO S U B 2 1 0 0 2 1 0 0 I N P ' J T " P R E S S E N T E R TO C O N T I
1 7 9 0 L E T r - 1 + I N T < RND * 4 > NUE": LINE Z*: PETURN
1800 LET T»T+1: I F T >= P L + I THE 2 1 1 0 C L S : PAPER O: BORDER 0 : CL
N LET T»1 s
1810 RETURN 2 1 2 0 F O P N » ! T O 3<"»: L E T X » l + I N T
1 8 2 0 REM I N I T r P N D * 2 3 > : L E T Y » ! • I N T ( RND
1830 POKE 2 3 6 5 8 , 8 : RESTORE 2150: * 2 0 ) : l . E T P » l + I N T < RND * 7 ) : LE
DIM B ( 4 , 6 1 : DIM A < 4 ) DIM V ( 4 ) : T I « I N T ( RND * 7 )
FOR N=0 TO 7 : P E A D L': P O K E USR 2 1 3 0 BORDER P : B E E P I / 1 0 0 . P : PRI
• A " + N , U : NEXT N NT AT Y . X i INK I | PAPEP P;"BEET
1 8 4 0 REM DICE LE"
J 8 5 0 DIM A * ( 6 , 3 1 : DIM B * ( 6 , 3 ) : D 2 1 4 0 N E X T N : GO S U B 2 1 0 0 : PETUPN
TM C * ( 6 , 3 > 2 1 5 0 DATA 0 , 0 , BIN 00111100, BIN
1860 L E T A*( I ) » " 00111100, BIN OOllllOO, B I N 0C1
18"*0 L E T p e e l ) * " A " !I IOC.0,O
1880 L E T C*ri>=A*<l> ®995 S A V E " B E E T L E " L I N E 1000:
P90 LET A* (2)=" A " CLS : PRINT AT 5 , 2 ! F L A S H 1;"0
1900 L F T ?*<2)=A*<1) K S E T R E C O P D E P " ; AT 6 , 2 ? " F O R V
1910 L E T C * ( 2 1 = " A" ERTFY"; AT 7 , ? ? " S T A R T T H E T A P E " :
1970 L E T A * f 3 ) » A * ( 2 M LET B*<3>» VERIFY "BEETLE": CLS : PRINT A
B* f 1 M L^T ct<3)»C*<2> T 10,10:"0 K-

53 ZX COMPUTING JUNE/JULY 1984


LSI D C SPECTRUM
n i n e SOFTWARE
CHOOSE FROM OUR VAST RANGE
F R E E 26 page C A T A L O G U E with lull details of our rang® of over 2 8 0
drfferent programs for the ZX S P E C T R U M All hired with the consent erf
the publishers Whether you prefer to ZAP aliens, get lost m an
ADVENTURE game. E D U C A T E your children. C A L C U L A T E the (amity
finances or C O M P I L E machine code programs WE HAVE T H E RIGHT *

1
|if
T A P E S F O R Y O U TO H I R E
FAST SERVICE
We stock up to 6 0 manufacturers' original c o p i e s of each tape (over
3000 tapes in stock), and can normally despatch your tapes the day we
receive your order, and we always u s e first c l a s s post.
LOWEST PRICES
We believe our prices are ihe lowest of Bny library, yet we offer the

LOGO
LAFtGEST range of titles Hire up to 3 tapes at a time, for 2 w e e k s , for
only CI- 07 e a c h (inc VAT & pAp).
The new educational language with
FREE TAPE HIRE \ Turtle graphics. Logo is an excellent
For a limited period, we wilt s e n d your first tape (your choice) F R E E , s o tool for practically exploring designs and
torn our library now You c a n t afford NOT to' If you've tried another patterns giving experience of lengths,
library and are wary of our claims s e n d a stamp and we'll gladly send
you a copy ol our catalogue • we're confident you it K>in when you s e e it1
directions, angles, radii and colour
Runs on a 48K Q _ inc

NATIONAL | 200 Mulgrave Road.


Spectrum E.9.93VAT
Che am. Surrey S M 2 6JT
:
5r<5 " : :
HOMEBUDGET — Helps you save money by planning your cash for
the | M r ahead then display mg your account* on useful bar cherts utilising
i enclose cheque for C6 0 0 tor L I F E M E M B E R S H I P and I understand that
spectecutar 30 Qtepbtcs A professional program for .
my first tape htre will be F R E E If. wfthtn 28 days. I'm not delighted with your
service youH refund my membership fee those who like to plan ahead £6.95 inc VAT |
Namq See us on PRESTEL » 2473222 «
Address SUPERCHESS3.0 — The strongest chess program yet for the
Spectrum Computer. Unlike other programs it employs artificial intelligence
techniques to allow deeper searching __
along the main lines of play £ 8 . 9 5 inc. VAT
-zxe;
COMET KUMA TELECOM GOLD KUMflflt
W\M A P O F U . K . - A large scale 75 x 60 mile scrolling map is now
I Iavailable on the 48K Spectrum. It is easy to use end extremely fast. The program
FLOPPY DISC SYSTEM I Jalso includes a game using a drifting hot
I 4air balloon Educational and entertaining.
__
£ 1 1 . 9 5 inc. V A T

FOR SPECTRUM Telex 849462 TELFAC KUMA

HISOFT PASCAL — Virtually a full implementation of the language


FLOPPY DISC SYSTEM FOR SPECTRUM allowing the user to develop true high-level language skills while attaining
execution speed close to that of machine code „
Our new model - BETA DISK is even belter than ever Complete with 30 page manual £25.00 inc. VAT
Some of the mam features
Disc Operating Sysiem tn EPROM Unit 12. H o r s e s h o e Park. Horseshoe Road. Pangbourn*. Berks RG8 7 J W

Uses ONLY 128 bytes ol Spectrum Memory ZEN EDITOR/ASSEMBLER-*>n*n«t>to you to write.
Locates below BASIC programs assemble, edit and run programs in Z80 Assembly language These operate
Uses Spectrum Keywords faster and take up considerably less memory space than
Supports up to THREE disc drives \ Basic programs. A must for the serious beginner £ 1 2 . 5 0 inc. V A T
Compatible with 40, 80 single or double sided drives
Up to 400K storage tor 80 tracks, double sided drive HORSE RACE FORECAST-lteaspestandpresemracttanrf
information to forecast the chances of a horse winning __
Random access is provided Can you afford to be without this program £ 1 5 . 0 0 inc. VAT
BASIC programs can be merged
and many more send for catalogue
Duplicated Spectrum connector is provided
Password protected
PHONE NOVC (073 57)4335
£ 8 3 . 0 0 ex VAT
W or SEND FOR D E T A I L S ^ ^ - P
£1.00 p&p
I• Please tick box 'or information
required, and sand coupon t o :
• SHARP A
• SHARP 3S41
Q S A G E aaQOOSynttm
Kuma Computers ltd.
I 12. Horsaahoa Park • APRICOT i
l Horseshoe Road, Pangbouma • EPSON HX-20 i

n
Berks RGB 7JW ' • EPSON QX 10
I
C SHARP PC-5000 ••
• NEWBRAIN
• SPECTRUM
I
l
• swus
• SHARP PC 1500 •• •

ELECTRONIC MAIL
PRINTERS
• i

Technology Research Limited • • SHARP 700 S P E C T R U M Software Q


Unit 18 Central Trading Estate, NAMi i
Staines, Middlesex l AUDMIW i
Tel: Staines (0784) 63547 I W»t (DDI

54 ZX COMPUTING JUNE/JULY 1984 54


Spectrum
ISPECTRUM PROGRAMMING!

routines
A guided tour of some of the Spectrum ROM by
Adrian Marsh of Clanfield.
The Spectrum ROM holds many character subroutine. On en- 0 D 6 8 and ends at OEAB. At holds the column (hex) 21-b.
secrets. The most interesting try the HL register pair holds the present the reader is in- Therefore, a routine to produce
are the monitor routines and in the pixel address of where terested in location 0 D D 9 . an equivalent to PRINT At
this article I shall outline a few of the character is to be printed; This sets the printing loca- 1 1 , 1 5 ; would be:
these routines, and explain how the BC register pair holds the tions to BC:
they may be used. c u r r e n t line and c o l u m n 01 13 0 0 LD BC, 0 0 1 3
values and the A register i) Load the BC register pair CD D9 0 D CALL0DD9
On screen printing holds the character code. w i t h the appropriate
values.
3 E ??
D7
LD A , (character)
RST0010
This method is complicated so it ii) Call C L - S E T and Call C9 RET
There are a number of w a y s of may be easier to use the second 0DD9 which enters re-
transferring information to the method. quired values. 3 The routine PR STRING can
screen: be used to print any string.
2 This subroutine is contained BC is equivalent for a position The monitor routine consists
1 Hex address: 0 B 2 4 - 0 B D A . within another, therefore the A T a,b; the B register holds the of :
T h i s is the P R I N T - A N Y w h o l e routine begins at line (hex) 18 -a and the C register
PR-STRING address 203 C

(label) PR-STRING
LD A , B .
ORC
DEC BC
RET 2
LD A.(DE)
INC DE
RST00010
J R PR STRING

Any string of characters can


therefore be printed by:

Loading the start ad-


dress into DE
Loading the length of the
address into BC
Call the PR-STRING at
address 2 0 3 C

Clearing the
screen
The B register holds a value in
the range of (hex) 01 1 8 .
Therefore, (hex) 1 8 would clear
the whole screen.
The CL-UNE routine begins at
0 E 4 4 and is very short:

06 18 LD B, 18
CD 4 4 0 E C A L L CL-LINE
C9 RET

This will clear the entire screen ^


whereas if B were loaded with ^

ZX COMPUTING JUNE/JULY 1984 55


ISPECTRUM PROGRAMMING!
1 7 , all but the top line would be Loading and loads the DE bytes and the IX These are the error routines.
There are two outcomes of
cleared.
saving register pair points to the first
location. When loading the this:
Sound The whole routine starts at
carry flag must be set, but if it
is reset then VERIFY can be i) T h e s t a c k w i l l be
04 C2 and ends at 0 9 F3. used. Therefore: cleared.
There are two routines in the ii) The appropriate report is
ROM for producing sound, the 1 S A V I N G T h i s subroutine (37) (SCF loading only) given.
BLEEPER and the BEEP. begins at 0 4 C 2 - 0 5 3 E and
passes the DE bytes by start- 3EFF LD A , FF 3 RST 10 ( 0 0 1 0 - 0 0 1 2 ) . This
1 The hex address for the
SLEEPER is 0 3 B 5 0 3 R . On ing at the (IX) location and 0 D 2 1 A861 LD IX, S T A R T is the PRINT A character
entry the HL register pair hold continuing to the cassette routine. A jump forward to
recorder w i t h the initial 1 1 0 0 01 L D D E , COUNT location 15F2 is made.
the pitch and the DE register
marker byte and parity byte. CD 56 0 5 LOAD ROUTINE 4 R S T 18 and R S T 2 0
pair holds the duration. The An example of this is:
duration value has to be in- C9 RET (001 8 - 0 0 2 4 h). This fetches
creased as the pitch value is the current character pointed
decreased. The pitch for mid- This routine loads 2 5 5 bytes to by the CH-ADD routine.
i) The amount of bytes to
dle C is 0 6 6 6 and the dura- save is 2 5 5 (FFh) into 2 5 0 0 0 . 5 R S T 2 8 ( 0 0 2 8 - 0 0 2 9 h ) . This
tion for a second is 0 1 0 5 so a jumps forward to location
ii) The block is stored at
routine for BEEP 1,0 would I shall now continue to shed 3 3 5 B which is the first ad-
location 25000
be: some light on the RST com- dress of the calculator.
(61 A 8 h )
mands or restart commands. 6 R S T 3 0 ( 0 0 3 0 - 0 0 3 7 h ) , This
is the BC- S P A C E S a n d jumps
1 1 0 5 01 LD OE, 0 1 0 5 Therefore:
1 RST 0 ( 0 0 0 0 - 0 0 0 7 h ) . This forward to 16 9 E to make a
21 66 06 LDHL, 0666
does a number of things in space in the work space.
CD B5 0 3 C A L L BLEEPER 3EFF LD. A , 2 5 5
C9 RET D D 2 1 A 8 6 1 L D IX. + S T A R T this order:
110 0 0 1 L D D E , + COUNT A useful routine at 11 DA is the
C9 RET RAM-CHECK routine. All loca-
i) Disable the maskable in-
terrupt tions from RAMTOP to 4 0 0 0
1 The hex address for the BEEP
ii) Clears the A register are tested. The HL register pair
routine is 0 3 F 8 - 0 4 6 D . This
iii) Loads the DE register holds the address of the last
routine uses the calculator to This routine saves 2 5 5 bytes location of memory available.
pair with 6 5 5 3 5 <FF-
change the duration and starting at 2 5 0 0 0 . However,
pitch into appropriate values these bytes are saved without a FFh) By now the reader should
for the DE and HL register iv) Jumps forward to 11 C B have a good idea of the monitor
header, and can only be loaded if
pairs. programs in the ROM. Although
the count is known.
At 1 1 Cb are the initialisation I have only outlined a handful,
they are sure to come in useful in
Using the 2 LOADING This subroutine
routines (equivalent to NEW).
w r i t i n g new machine code
keyboard begins at 0 5 5 6 - 0 6 0 4 and 2 R S T 8 (OOOS-OOOFh). routines.

The main routine is the KEY-


SCAN.

1 Hex address for the KEY-


S C A N is 0 2 8 E - 0 2 B E . On
leaving the routine, DE is
returned with a key value.
The zero flag is reset if more
than one key is pressed at the
same time. The D register in-
dicates which shift keys are
being pressed and the E
register contains the key
number (hex) 0 0 - 2 7 .
2 At location 0 2 B F - 0 3 B 4 are
found the KEYBOARD sub-
routines. These handle the
repeat facility and decode the
key-value to give the require'
character code. If the code i
accepted then it is placed in
the system variable LAST-K
and bit 5 of the F L A G S is set.
3 At l o c a t i o n 1 0 A 8 1 1 1 C
there is the K E Y B O A R D -
INPUT routine. This routine
copies the value from LAST-
K and depends on bit 5 of the
F L A G S . It then returns with
the carry flag set or reset if
the code is printable.
4 The subroutine at location
15D4-1651 literally has the
effect of a P A U S E 0 or
'waiting for a key to be press-
ed' . So, a pause 0 in machine
code would consist of:

CD D4 15 C A L L 15D4

56 ZX COMPUTING JUNE/JULY 1984 56


RICHARD SHEPHERD SOFTWARE

A HOME BUDGETING & BANKING SYSTEM


THAT REALLY MAKES YOUR
48K SPECTRUM WORK!
A professional style multl function
I i
P
C a s h Controller p r o g r a m t h a t can
l o a d a n d m a k e a n entry In Just 9 0
S E C O N D S . . . thanks to Its ZX
MICRODRIVE M I C R O D R I V E COMPATIBILITY. If
COMPATIBLE y o u ' r e not r e a d y t o u p g r a d e to
Microdrive y e t , this easy t o use
V cassette p r o g r a m c a n h a n d l e up to
400 transactions w i t h y o u r
S p e c t r u m , almost filling t h e 48K
m e m o r y of y o u r computer.

BANK ACCOUNT • P R I N T O U T FACILITY


• Statements on demand from any U S I N G ZX P R I N T E R
date to date
• Holds up to 400 transactions. • F U L L S E C U R I T Y WITH
• Standing order facility.
P E R S O N A L PASSWORD
• All transactions can be • FULL SAVE PROGRAM
automatically coded to allocate up to O N T O CASSETTE OR
16 budget headings
MICRODRIVE
• Search facility for any single item
by description or amount. Available from good computer
stores or direct by mail order...
HOME BUDGETING at a price t h a t w o n ' t upset
• 16 budget headings, e g Gas. the Bank Managerl
Rates, Car, Tax - you can choose the
headings FIRST FOR
MICRODRIVE
• Highlights under/over spending
• Full budget expenditure

£9.95
breakdown Dealer enquiries wekome. Generous discounts.
• Budget "re-think" facility
PRIORITY MAIL ORDER
LOAN/MORTGAGE Please send me CASH CONTROLLERS
CALCULATOR at E9 95 each ndud*>g past & packing (overseas
All you ever wanted to know but INC P & P orders add El 50|.
didn't like to ask I Calculates: MICRODRIVE Name
CARTRIDGE Address
• Interest rates
V^ N O T INCLUDED
• Payback periods
• C a p i t a l sum Dealer enquiries ZX/6/84
• P e r i o d of l o a n welcome.
Generous discounts. I I enclose cash/cheque/P O payaWe to R>Owd
Shepherd Software
REMEMBER THIS CASSETTE Or credit my Access/VISA Card Number
CAN ALSO BE USED II I I I I M 1I II
WITH ZX MICRODRIVE
I Signature
Credit Card Hotline (06286) 63531 L J T S T ^ Z T Z ^ Z Z . J

RICHARD SHEPHERD SOFTWARE


ELM HOUSE. 23 25 ELMSHOTT LANE. CIPPENHAM. SLOUGH. BERKS TEL |06286| 63531

ZX COMPUTING JUNE/JULY 1984 57


I SOFTWARE REVIEWS!

Readers' reviews
Once again we throw caution to the wind and air
your opinions on the software currently available
for the ZX machines.
card, and the Spectrum goes
Bridge Player on to the next hand. If you play
CP Software the wrong card w h e n you
should follow the suit being
S Datoo p l a y e d , the S p e c t r u m w i l l
forgive your " f a u x - p a s " and
If you are a keen bridge player revoke the trick without
and have sometimes been stuck penalty.
at making up a foursome, then I When the hand has been
can recommend CP Software's played, the display changes to a
Bridge Player" for the 4 8 K score card and here a nice little
Spectrum. Unlike some other touch has been added. If the
bridge games software on the contract has been defeated you
market which basically consist will be commiserated with a few
of bridge t u t o r s w i t h pre- bars of " T h e Funeral March"
determined hands and play, but if you have won the rubber,
Bridge Player allows you to ac- the Spectrum will play some of
tually bid for your contract, as Cliff Richard's "Congratula-
well as play each hand as you tions". You will also be told how
see fit. much you have won if each
On loading the program, you point is worth one pound!
are greeted by a very cleverly The only criticism I have of the
designed title, making use of the program is that you always have
four suits. You are then asked to to play the contract as declarer
wait while the computer shuf- and dummy and East/West are
fles, deals and sorts the cards. always the defenders. You may
Following that you are given the certainly, during the bidding In all there are 1 8 keys to
option of either playing the stage, leave East/West in a con- master, which I found did not The water level is shown
game properly, so that only your tract but you will be informed take long although finding the (which corresponds to your
hand is revealed and the bidding that you and your partner have enemy took a little longer owing depth) and the enemy, if in
for the contracting commences, the majority of points between to some confusion over bear- visual range. Along the bottom
or alternatively you may 'cheat' you. You will then be asked if ings. but they soon disappeared. of the screen are shown the
and see all four hands and then you wish to rebid or play the Your craft has two engines; periscope angle, your heading
decide on the contract. next hand, without the com- one diesel and one electric. On (so many degrees from North),
The play then begins with the puter h a v i n g to play as the surface you should use the the distance to the enemy and
lead from East or West, depend declarer/dummy as well as your diesel engine but because this the torpedo count. Key O turns
ing on who is declarer, after partner. It would improve the needs air to run, the electric the periscope clockwise and key
w h i c h d u m m y ' s hand goes program immensely if the op- engine is used under water. I, anticlockwise.
down. You are always South. position could also play as However, if the submarine stays To help with navigation there
As far as the bidding goes, the declarers. down too long you won't be left are three types of radar; long
computer uses the standard with enough power to surface range (22 miles), short range
ACOL system and also under- and recharge, so an eye must be
stands and accepts Hunter Killer kept on the battery charge in-
(4 miles) and an echo sounder
which gives the familiar, hollow
BLACKWOOD and S T A Y M A N
c o n v e n t i o n s . It w i l l not
Protek dicator. The speeds for the echo sound, when the sub-
L TOUt diesel and electric engines are marine is below 1 5 feet in depth.
however, generate bids using 16 and 9 knots respectively, so There are three high resolu-
these conventions, but will only it's better to use the diesel tion screens shown. All the
respond to them. Imagine you're the commander engines to reach the enemy gauges and dials are shown in
Apart from the 'table' in the of a British " S " type submarine more quickly. the control room which is scroll-
c e n t r e of the s c r e e n and on an important mission off the To make the submarine dive, ed sideways on pressing key C,
declarer's and dummy's hands, coast of Germany and that you the ballast tanks must be flood- to take you into the Chart Room.
the display s h o w s the hand have to hunt and destroy enemy ed using key N, and the hydro- The other screen is your view
number, the dealer, whether submarines. Well this is exactly plane angle altered, using key 6 . from the periscope. In the Chart
any pair is vulnerable and the what you do, if like me, you have To stop diving and remain at a Room a map shows the area
contract. The number of tricks bought P r o t e k ' s submarine constant depth, the hydro- which you are in and part of the
won by each pair is shown at the simulation program, Hunter- planes must be horizontal and German Coast. Also shown are
bottom (eft of the screen, and a Killer. the ballast tanks emptied. Sur- a tide indicator which tells you
flashing indicator on the bottom On loading an impressive pic- facing can be accomplished by its strength and direction, the
right shows the winner of the ture s h o w i n g a submarine blowing the tanks (key B) and enemy's last reported position,
last trick. launching a torpedo is drawn. raising the hydro-planes (key 7). your position and places where
The f aint hearted have the op- You are then asked if you would Every submarine has to have a there are mines lurking.
tion of quitting if they find they like a quick practice shot at a periscope and this one is no ex- Once the enemy is in range
have entered into an impossible submarine. Because the pro- ception. Key p raises and lowers (three miles) and is dead ahead,
contract. This is done by enter- gram is a simulation, there is a it and key V lets you look p r e s s i n g T w i l l prime the
ing the word " n e x t " instead of a lot of cunning strategy involved. through it. torpedos and fire the first one.

58 ZX COMPUTING JUNE/JULY 1984 58


ISOFTWARE REVIEW!
S e c o n d and s u b s e q u e n t a wide range of key combina- to accidentally abort the game plicated way in which the in-
torpedos are then fired using key tions available and it is quite by pressing " 1 " in the excite- s t r u c t i o n s are laid o u t .
F. Their speed is 4 5 knots and easy to work out a pattern that ment; the second is that there is However, once deciphered —
when you peer through the suits you. no 'hold' feature. I expect this never forgotten!
periscope, a bubble track can be After making your selection, would make the game a bit too Computacalc ZX is available
s e e n heading t o w a r d s the off you go I The idea of the game easy. in some branches of W H Smiths
enemy submarine (or not as the is to find four pieces of the 'Spell If you're after an adventure and computer software shops.
case may be). If your aim is true, of Destruction', find the Evil that you have a fair chance of
the submarine can be seen ex- Warlock and cast the spell. You c o m p l e t i n g , w i t h o u t being
ploding.
S i n c e y o u are in e n e m y
are the Alchemist, with a bit of
magic of your own and you are
bored in the slightest when you
have managed to do it then this Readers' hardware
waters you also encounter aerial on this great mission to destroy is the adventure for you. Priced reviews
attacks. Through the periscope the Warlock. T h e story-line at £ 5 . 5 0 it's value for money,
a plane can be seen and heard sounds familiar but the program and certainly a great deal of fun Not content with reviewing
and then a klaxon sounds. If this is well written. Of course, it isn't to play. software, t w o readers have
happens you have roughly t w o an easy game: there are 16
branched out and reviewed
minutes to dive below 3 0 feet rooms, which sounds disap-
some ZX hardware.
before you see the screen shake pointingly few, but each room Computacalc zx
due to the shock waves from the t a k e s up t w o s c r e e n s and
Silicon Tricks
depth charge dropped by the there's plenty to go at. As you
move through a room, the Darren - John ZONX-81
plane. If you fail however, there
is the sound of rushing water background scrolls effectively Norbury Bi-Pak
and which ever room you are in
and on going through a doorway
the screen changes to put you in
Semiconductors
slowly fills up with water. The
sound effects are brilliant.
another room. In the world of the
MD Brunt
Hunter-Killer has five levels of A s the Alchemist you are a commercially-used computer,
difficulty and a manual is sup- v e r y s t a t e l y figure on the where the large mainframe Last December I decided that it
plied with the program. A unique screen. One of your tricks is the machines produced by such would be nice to have some
— t feature of this game is to let you ability to transform yourself into companies as IBM and tCL reign sound for my Z X 8 1 . Of the three
play against a friend, each hunt- an eagle (at the press of a but- supreme, the price paid for a de- sound synthesisers that were on
ing the other but alas, this can t o n ) . T h i s is done welt in cent business program could the market, the ZONX w a s the
only be done if you have a graphics and as an eagle you can buy a good family micro. Lucki- cheapest, just, and it w a s a self
Microdrive to link both Spec- fly to areas the Alchemist could ly, Sinclair programs come a lit- contained unit, the others re-
trums. One other drawback is never reach in human form. tle cheaper than this. In a seem- quired an amplifier and a speaker
that it takes a long time to reach Learning to fly takes practice but ingly games-dominated market although they did have two I/O
the enemy but this is because you flap your wings nicely and it is good to see that the utility ports.
it's a simulation program and automatically lower landing gear program has not been My decision made, ! sent off
Protek have based your sub- when necessary! neglected. and prepared for a Sinclair style
marine on a British " S " type You have a permanent on- Such a program is Computa- wait. 1 need not have worried.
craft with true speeds of 9 and screen record of your vital calc Z X , produced by the soft- Although it w a s less than a
1 6 knots, nevertheless, this is a statistics, namely Spell energy ware company Silicon Tricks. month till Christmas the ZONX
very small snag in an excellent and Stamina, along with a The purpose of this program, in arrived in less than one week! I
program. record of which object and/or general, is to provide a table quickly tried to fit the ZONX to
I have only given you the bare spell you are carrying. You also from which data can be stored my Z X 8 1 , only to discover that
facts of how to play the game, have an hour glass and a space and manipulated. To use a sim- my full size keyboard got in the
but there are many more factors ready to deposit any of the parts ple example: in a commercial w a y . The problem w a s that
which contribute to the need of of the "Spell of Destruction' you setting, sales and costs for a there is a small volume control
intricate strategy. This in itself have found. The hour glass tells company could be entered into on the front of the ZONX and it
gives the game millions of varia- you how much time you have two separate boxes for each w a s this that prevented the
tions. left in a room before the Warlock month and the computer will ZONX from fitting. My solution
locates you and starts sapping calculate the profit which it will w a s to fit a new control into the
Hunter-Killer is for the 4 8 K
at your stamina. This is very display in a third box. The above top of the ZONX.
S p e c t r u m and is priced at
d a n g e r o u s and u n l e s s you is a very simple example. The I opened the ZONX to find a
£7.95.
evacuate the room quickly, will possible uses for this program speaker and several chips, all
probably be fatal! are really limitless. soldered very neatly I might add,
The Alchemist You have to keep up your Calculations are made using and t h e A Y - 3 - 8 9 1 2 . T h e
Imagine strength by eating food which is
scattered around. Spell energy
formulae entered by the user,
but formulae in the simple form
volume control turned out to be
a preset pot, which is not really
J Richards is constantly replenished but is of, say, let the contents of box 3 designed for a lot of use, and I
used up every time you cast a = the sum of boxes 1 and 2 would suggest that it should be
spell. Spells and other useful ob- (which would actually be writ- moved as little as possible to
T h e A l c h e m i s t is not j u s t jects are scattered about the lair ten as F 0 2 0 3 + 0 3 0 3 , assum- reduce wear. I replaced it with a
another boring adventure game but are invariably guarded by ing that box 1 is at grid reference standard 'volume control'
that takes hours of typing and nasties such as ghosties, skulls 0 2 0 3 and box 2 is at grid which I mounted through the
frustration, it is a truly excellent or other strange c r e a t u r e s . reference 0 2 0 3 ) . top of the ZONX.
arcade-type graphic adventure, Combat is almost inevitable, and The table which forms the The manual for the ZONX is
similar in style to Hunchback. this saps at your strength. display is actually much larger small ( 5 % " by 4 " ) and only
The 4 8 K program LOADed The game is well thought out than the screen area itself so by twenty pages long, but it is fattly
first time, taking about five and needs dexterity as well as a little dexterous wizardry on the clear and it explains what eech
minutes. There's a SCREENS brain power. Although I com- part of the user, certain areas of of the A Y - 3 - 8 9 1 2 ' s thirteen
and once LOADed you are pleted the adventure within the table are scanned. registers are for and how they
greeted with quite a catchy three hours, I still find it very en- Computacalc Z X gets full are used. The ZONX resides in
tune, very well matched to the joyable indeed. The colour and marks from me as a household, the I/O area of the Z - 8 0 ' s
program which is set in the dis- graphics are excellent, par- scientific and small business memory and so a short (9 bytes)
tant past. There's a menu with a ticularly because the objects are utility program. The only disad- machine code routine is needed
good selection of keyboard or large and easy to identify. Sound vantage I can find in the package to access it. The routine is held
joystick options — a joystick is not used a great deal, but is ef- lies in the seven pages of in- in a REM statement and can be
certainly makes the game easier fective. structions. If you are a fairly new t y p e d in directly from the
to m a s t e r but u s i n g t h e Any complaints? Only two. computer user then you may be keyboard. The manual also con-
keyboard is not so bad. There's The first is that it is far too easy a little overwhelmed at the com- tains eight short programs in-

ZX COMPUTING JUNE/JULY 1984 59


IARDWARE REVIEWS!
eluding one which turns the top for the Z X 8 1 and Spectrum. (An due each time. You could then directly into the ZX81 without
row of keys (1-0) into an elec- extension board is required for use another text file (ie set letter) wobble and fits between your
tronic organ. the Spectrum at £ 6 . 8 0 ) . and use prompts to enable you RAM pack and ' 8 1 . This means
The 16K RAM pack connects to print o r d e r s for the that you don't w a s t e time
to the 2 X 8 1 through the ZONX,
the edge connector of the ZX81 Memotext wholesalers according to which
special offers you've spotted in
loading the program.
Obviously, there are limita-
being duplicated on the ZONX, Memotech the "Newsagents Weekly"! tions: the '81 can't display the
which is just as well since a sim-
ple explosion takes up twenty-
J Lowther The Memotext is well docu-
mented although it took me
6 0 - 8 0 characters a line com-
monly used in letters and reports
five lines of B A S I C . about four days to get the hang so the Memotext uses a clever
The main disadvantage of the Clive Sinclair's 12 oz piece of of all the functions. Now I can " w o r d - w r a p " feature which
Z O N X , or any sound s y n - modem technology that all the type as badly as I like, check for means you never lose words at
thesiser, is the time needed to 'big boy' computers used to spelling mistakes (on the screen) the line ends but you have to
develop a given sound - in most laugh at has been made to do and correct or change any visualise the final document
cases done by trial and error. some pretty amazing things by words that don't seem right at rather than see it straight in front
Since neither Bi-Pak nor any clever software and additional the press of a button, move of you. Also some of the sym-
other software company that 1 hardware, but word processing? around sentences so that they bols and lower case letters make
know of, markets any software The functions in Memotext follow a logical sequence and entering the text a bit com-
for the ZONX, you will have to include keyboard input at normal then print out as many 'per- plicated. —
work on them yourself. The speed, justification to left only sonalised' copies as I like, mark- The Memotext is £ 2 9 . 9 0 (in-
results can be worth it though. las in a letter) or left and right ed for the relevant people. cluding V A T and p&p). This
The other problem is with speed, margins (as in ZX Computing) To be of use. you would reatly compares with about £8 for
most sounds are built up from search/exchange/move groups need a proper printer interface some cassette-based systems
BASIC loops and so they must or single words, lower case, (Centronics or R S 2 3 2 ) and ac (eg Tasword or Contrast Soft-
either be run in fast mode or they headings, page numbers, saving cess to a printer. This means ware's Text, £ 6 ) . The buyer
sound far too slow. To use files, pre-entered dates, pro- that the 16K ' 8 1 , Word Pro- must judge (a) whether they
sound in games, therefore, will mpts before printing and so on. cessor, and interface together really need word processing on
require some simple machine For instance, if you run a would probably set you back their ' 8 1 , (b) whether they
code programming. newsagents, you might set up about CI 3 0 . For comparison, a would use it often (printers will
I have had a lot of fun with my data files of customers' names 16K BBC with interface and wp often do wp at about £ 2 a sheet
ZONX and I would recommend it and what they owe you and then would cost perhaps C 3 3 0 and a — if you only want say one a
to anyone, provided that they get the computer to print a set commercial w p package pro- month, it might be cheaper) and
are prepared to spend a lot of letter saying, basically, " c a n I bably little short of £ 1 0 0 0 . (c) whether they need the extra
time with it. If not, then they have my money please?" You The Memotext, like all the speed, convenience and general
would be wasting their money. w o u l d i n s e r t the r e l e v a n t Memotech range, comes in a 'slackness' of a ROM-based
The ZONX units cost € 2 5 . 9 5 names, addresses and amounts firm aluminium case that plugs system.

The Key to Spectrum Machine Code Success.


Picturesque s MACHINE CODE SYSTEM Is used and recommended by professional software writers, yet the excellent
documentation and the friendly, easy-to-use programs have been highly recommended for beginners
You will only buy one Machine Code System,so buy the best,the one the professionals use.
NEW IMPROVED PROGRAMS — MICRODRIVE COMPATIBLE
ASSEMBLER MONITOR
Completely self-contained The ideal tool to help the
with Its own line editor, giving M O N I T O R beginner get started, yet it
an easy-to-read 40 column contains all the commands for
tabulated listing Auto line the experienced programmer
numbering, line renumbering to run and de-bug machine
and auto tabulation make this code programs inspect and
one of the fastest and easiest alter memory contents in
Assemblers to use 5- Hex or ASCII. Breakpoints and
character label names. full Register display. NOW
Decimal, Hex or ASCII WITH SINGLE STEPPING
constants. SAVE/LOAD/ I nJyCHtHfc through RAM or ROM.
VERIFY both the listing and Disassemble any part of
Machine Code to cassette/ I SYSTt* i memory, RAM or ROM. Dec-
MICRODRIVE/NETWORK \ TW
Hex-Dec number converter
Assemble from cassette or Printer output to ZX
Microdrive into memory for very printer or via RS232 (with
large programs Customise to most Centronics interface 1) or customise to
printer interfaces, or R$232 (with interface 1) for 80 column most Centronics printer interfaces General memory
printout, FAST ASSEMBLY — 1k of code in 7 seconds management commands include Hex dump, insert.
Assembler Directives:- ORG. END, DEFB, DEFW, DEFM. EOU, Delete Fill and Move. Can reside In memory with the
OEFL (Microdrive and Centronics facilities

£8.50
only operate with 48K machines) Assembler (48K machines only) to give a complete
Machine Code programming system, g y 5 0
INCLVAT&P&P
froqrirm tmMC On iwn oonon to OTKO mertwrv* Kinrxxj* not VUOOW
I OJ W C l VAT 4 P&P
EWdngownertcm c«!*n tfvf nrw txoorjfm tw nrtummg tr* o n u t ) P k w « q u « Jtong w i t n j m w j u e PO for
Of supplied pyrytumtrfooir
M.lOpf progrwury: uwtPtPi Mr*c-^fMrs
Available from the chain of stores, branches of John Menzies and all good computer
SPECTRUM
shops, or by mail order by sending cheque/PO to:
PICTURESQUE. 6 Corkscrew Hill, west wickham. Kent, BR4 9BB Send SAE for details.

60 ZX COMPUTING JUNE/JULY 1984


CLUB NEWS

t? 1

South African For further information write The Midweekly Acocks Green
Computer Club
to the address below enclosing
A 4 0 c stamp or three Interna-
Spectrum user Computer Club
tional Reply Coupons. Croup
Yours faithfully Dear ZX Computing
Dear ZX Computing
Dear ZX Computing The Acocks Green Computer
I would be pleased if you would
David Vernon I would like to tell your readers Club meets every third Thursday
publish this letter in your
Secretry AZUA about the Midweekly Spectrum in the month at St Mary's
magazine. I am the European
1 9 Godfrey Street User Group. We meet every Church (kitchen vestry} at 7 pm.
r e p r e s e n t a t i v e for a S o u t h
African based computer club Campbell A C T Wednesday (or Thursday if ) also run a computer users
(ZX Computers). We are a world 2601 Wednesday's date is odd) at 8 group that meets every Monday
wide club and have members in Australia Linnet Close, Gloucester at 7 pm at the Stonehall Adult
A u s t r a l i a , E u r o p e a n d , of anytimeafter7pm. Naturally,as Education Centre during term
course. South Africa. there is no charge, members are time. Because the meetings are
Although w e are a big club in Anglo French invited at their own risk. held in an educational establish-
South Africa, and have
members in Britain and Portugal,
Computing? Members may bring their
own Spectrum and cassette
ment, no restriction is put on the
machine but obviously Spec-
w e w o u l d like s o m e more recorder to the meeting and use trums abound.
members in Europe where the Dear ZX Computing of the televisions is on first- Please contact me at the ad-
r e s p o n s e so far has been Can you help me? I'm a French come-first-served basis, as is dress below or at either venue
relatively poor. We would also 4 8 K Spectrum owner who the light pen and tape to tape for further informaton.
like some American members. would like to exchange ideas facility. Yours faithfully
Anyone interested should write and programs with British users. The aim is to have a congenial
Are there any clubs or groups evening, with a mutually Mike Bedford-White
to the address below and I shall 1 6 Westfield Road
send them further information. that correspond with European rewarding exchange of ideas
users? and knowledge, so age, ex- Acocks Green
Yours faithfully Birmingham
If so, please write to the ad- perience or gender is unimpor-
dress below as my Spectrum is tant. For more details, telephone B27 7 T L
J.Jones
European Representative thirsty for programs. me on Gloucester 2 3 1 8 6 .
House 14 Yours faithfully Yours faithfully
Anglo Alpha
PO Box 15 Patrick Dardour Barry Ledbury
1 7 2 5 Roodepoort 1 8 Rue du Borrego
South Africa 7 5 0 2 0 Paris If you run, or are a member of a
France user club which caters for the
Australian zx zx Club Bangalore Sinclair user, why not get your

Users Association Turkish ZX Club? group on the map by writing to


us at:
Dear ZX Computing
Dear ZX Computing Dear ZX Computing I am writing to inform you of our
The Australian ZX Users I'm Turkish and live in Istanbul ZX Club in Bangalore. This is a
Association has been in ex- and I own a 4 8 K Spectrum and a newly formed club with around
istence since late 1981 when ZX Printer. I would like to 16 members owning Sinclair Club Corner,
w e first supported the Z X 8 0 . become a member of a ZX club computers. W e meet every ZX Computing,
Since then w e have expanded to but unfortunately there isn't one week on Sundays between 3 1 Golden Square.
be one of the largest ZX groups around here that I know of. and 5pm to exchange news, London W1 R 3 A B
in Australia and now support all I would like, therefore, to s o f t w a r e and i d e a s . I am
the Sinclair machines. We pro- start a new club: I have a few subscribing ZX Computing for
duce a bi-monthly newsletter of supporters (aged 17 to 18) but the club as it is very informative
some t w e n t y pages and w e would also like to have pen for ZX users. All you have to do is to send us a
organise local users meetings pals who would be interested in I would very much like to ex- letter with details of your club's
around Australia. By rights w e becoming members of such a change news and ideas with activities (times of meetings,
should be called the Interna- club. We would appreciate it if other ZX users and groups and addresses of who to contact
tional ZX Users Club as w e have you would publish this letter and would be grateful for any infor- etc.) and we'll do the rest. If you
many members from around the help us with our idea. mation that could be sent to us publish a newsletter or club
world. Yours faithfully at the address below. magazine, we'd very much like
A s u b s c r i p t i o n to our Yours faithfully to see that too.
n e w s l e t t e r a n d t h e other Edip Uras And if you don't see a club in
facilities w e provide costs A $ 9 Muhurdar cad No 9 1 /4 B S Srinivasan your area, why not start one up
pa for Australian members and Kadikoy No 3 6 First Main Road by writing to ZX Computing and
A$ 1 5 for international member- Istanbul N R Colony seeing if any like-minded en-
ship. Turkey Bangalore 5 6 0 0 1 9 thusiasts wish to join you.

ZX COMPUTING JUNE/JULY 1984 61


SPECTRUM CAME

Move into top gear and try your hand at


Grand Prix racing courtesy of David Price of Cardiff.
"Well, here we are at the start of put to good use in this game and, 20 PRIMT " o DAVID PRIC
the Spectrumapolis 5 0 0 where as there is a " b e s t t i m e "
of course the hot favourite is feature, it becomes quite addic- E 1983 PRESS ANY KEY TO BEGI
" (Insert tive as well as fun to play. N THE RACE " : PAUSE 0
your own name here.) Type in Well then, get typing, put on 51 REN ***********************
this game and you'll soon be your crash helmet and push your 5 2 REM * T h e " A - i n l i r . e s *
driving round and round the foot to the floor. Instructions
course and through the chicanes and controls are included in the 5 3 PEN * 2 1 0 , 2 4 0 a n d 2 6 0 a r e *
trying to finish in the best possi- program. NB. To qualify for the 5 4 REM * e n t e r e d i n G R A P H I C S *
ble time. Crashing into the bar- championship you will have to
riers tends to be slightly fatal. beat David's best score of 32 5 5 REM * m o d e . *
***********************
The sound and graphics s e c o n d s , yours truly only 5 6 REM
capabilities of the Spectrum are managed 37! L E T q - l : L E T la-100: L E T la
p - l : BORTER 1! PAPER 1: INK 9 : C
1 GO S U B 1 0 0 0 : L E T a = 2 : BORDE LS
l: PAPER l : CLS 1 0 0 F O R * » 0 TO 3 1 ! PRINT AT 1,
3 PRINT AT 9 , 6 } INK a ; 4I P A P E P 2 ; " * " ! A T 2 0 , 4 i " * " i : NE
XT *
101 FOR TO 2 0 : P R I N T AT
OB 0» P A P E R 2 1 " * • i A T 4 , 3 1 ? " * " I : NE
XT 4
1 0 3 F O R 4 «=3 TO 1 9 : P R I N T AT 4
5 I F a=8 THEN BEEP -3,12: tc 3| PAPER 6 ; " * " ; A T +,13;"*"; AT
EP . 5 , 6 : SEEP . 3 , 1 5 : GO TO 1 0 *,191 AT f , 2 8 t • * • : NEXT 4
6 LET F O R f - l TO 4 : L E 1 0 4 F O R 4 * 2 TO 1 8 : P R I N T AT 4
T O - . 0 1 2 3 : BEEP o , 2 : BEEP c , 4 B 6| P A P E P 61 " * " J A T -f , 1 6 1 ' * ' AT
EEP o , 6 : BEEP o , 8 : BEEP u , 1 0 : B E * , 2 5 ; " * " : NEXT 4
EP o , 1 2 : PEER o , 1 4 : BEEP o,lfc B 1 0 5 F O P f « 7 TO 1 0 : PRINT
EEP o , 2 : BEE° o , 4 : BEEP 0,6: N E X 4 J P A P E R 3 : " * ' i AT 1 2 , 1 ; " * '
T 4 : GO TO 3 NEXT f
10 I N K 7 : C L S : L E T S = 0 : L E T
i me»0
15 P R I N T AT O,12I"RACER"*"*(A
) - - L E F T " , •<S>-- RIGHT"* *"(K>--

17 PRINT ••"THIS
INST THE CLOCK"

fr

62
SPECTRUM CAME
106 FOR -F = 9 TO 12: PRINT AT 3 , AT 4 , 8 } PAPER AT * , 2 3 {
+: FAPER 3 1 ; AT 9, 4 ? * * • i AT "l PAPER 4 ; f : NEXT *
5 , M • * " : NEXT * 181 FOR 4=7 TO 13 S T E P 6 : PRINT
10"? FOP <=20 TO 22: PRINT AT 3 AT + , l l | PAPER 3 ; ' * - ; AT + , 2 1 ;
,IJ PAPER 4 } " * " { AT 9,4 I • * • I AT PAPER 4 { " * - j : NEXT 4: GO T 0 200
15,4 1 " * * : NEXT + i o n POKE 2 3 6 7 3 , 2 5 5 : °OKE 2 3 6 7 2 ,
108 FOR +«22 TO 2 4 : PRINT AT o 255
,* ! PAPER 4 J • ; AT 1 2 , f i ; AT 196 PRINT AT 2 0 , 2 9 ; INK 1 I
1 8 , * ; " * " : NEXT F :: GO TO 190 AT 2 0 , 3 0 !
120 FOR <F»3 TC 15 S T E ° 6 : PRINT 198 PRINT AT 0 , O I . " F A S T E S T TIME
AT 4,3; FAPER 3; AT 4 t 2 3 ; FOR COURSE " | INT ( t i m e ) ; AT 21
PAPER 1 ! ! NEXT 4 f O: " T I M E " ,* AT 2 1 , 16! "LAP*
121 FOF f=6 TC 13 STEP 6: PRINT 200 PRTNT AT 2 1 , 2 C ; l a p : L E T a =
AT f , l l ; P A P E R 3 ; " * * I A T 4 , 2 1 i 19: L E T b = l
n
PAPER 4 S * " | : N E X T 4: GO TO 2 0 0 205 L E T t l - ( 2 5 6 * PEEK 23673+ PE
140 F O R 4=4 TO 16 3 T E ° 6 : P R I N T EK 2 3 6 7 2 ) / 5 0
PAPER 3 A T *,23; 208 PRINT AT 2 1 , 6 ; INT t i
P/\PEP J • - *« • : NEX* * 210 PRINT AT a , b ; " A * ; AT a , b ! "
14! FOR 4~3 TO 17 STEP 6! PRINT A" ; AT a , b | " A " | AT a , b ; " " ;
AT f , l l | PAPER 3 J " * " ; AT f , 2 l ; 720 L E T b - b - ( I N K E Y * = " a - > • { IN
PAPER 4 ; ( : NEXT 4: GO TO 200 KEY* BEEP . 0 0 1 , 3
T
160 FOR 4 - 3 TO 18 5 E P 6 : P R I N T 230 L E T a « a - < I N K E Y * = " k • >* ( I N
AT « , 2 ! PAPER 6 1 * * * I AT f , 5 j " * KEY*
AT + , 1 4 J ; AT 4 t 1 7 | " * • | AT 240 I F SCREEN* ( a , b ) = " * " THEN
4 , 2 6 J " * " I AT + , 2 9 j " * " i : NEXT * FOR q~0 TO 7\ ° P I N T AT a , b ; F L
161 FOP f - 6 TO 18 S T E P 6 : PRINT ASH l ; " A " : BORDER q : BEEP . 0 9 , R
AT 4,1| PAPER 6 ! " * - ; AT f , 4 i p * ND * 2 0 : NEXT q : GO TO " 0 0
•; at « , I 5 | " * A I AT F , 1 8 ; " * " ; at 250 I F SCREEN* ( a , b > » ' + " THEN
4 , 2 7 ; A T + , 3 0 I " *
GO TO 200
190 ^OR -F « 8 TO 14 STEP
SPECTRUM CAME
PEEP . 5 , 6 : GO T O 5 O 0 B A R F I E R S " ' * ' " Y O U R A C E D FOR " } I
260 PRINT O V E R 15 A T a,b;"A" NT < t i > ? " S E C O N D S "
3 0 0 GO T O 2 0 5 ">20 P R I N T ' ' ' " Y O U W E R E ON L A P "
500 LET ] 3 » l a +20: LET l a p M e p + 1 I 1up * * * " B E S T T I M E FOR COURSE "?t
502 I F 1ap»6 THEN GO T 0 600 i me
504 PPINT AT 21,20?lap ""TO P R I N T " " ANOTHER RACE
5 0 6 GO T O la C Y : : n T"
6 0 0 F O R *=0 TO 7 : B E E P . 3 0 2 , RN 73! IF I N K E Y * - " Y - OR INKEY*
D : P E F P . 0 0 3 , RND : B E E P . OOG, « " y " THEN GO T O 5 0
RND : P E E P . 0 0 6 , R N D : B O R D E R *: 732 IF I N K E Y * « " N " OR INKEY*
NEXT BORDER 7 : P A P E R 7 ; INK » " n " THEN GO T O 2 9 0 0
o: CLS 733 GO T O 7 3 1
e
610 F INT "YOU HAVE COMPLETED T 1000 FOR e « 0 TO 7 : R E A D n : POKE
HE R A C E YOU F I N I S H E D I N "I I USR "A"+ a , n : NEXT a! RETURN
NT ( t ) l l ' SECONDS" 1010 DATA 60,60,60,255,255,255,1
611 L E T »«h+1 02,102
6 1 ? I F « M THEN GO TO 6 3 0 2 9 0 0 B O R D E R 7\ PAPER 7: CLS : LE
615 IF INT ( t i ) > t»me THEN LET T o«l
t i f f INT <ti> 3000 PRINT AT 1 0 , 1 2 ; INK qj"CHE
6 2 0 P P I N T * * * " B E S T T I M E F O R COU ERIO-
RSE "t INT (time) 3 0 0 3 I F q«6 THEN LET q-1
6 2 5 GO T O 7 3 0 3 0 0 4 L E T q - q + l : FOR TO 4 : LE
630 IF INT ( t l X t l n v THEN LET T a-.012: BEEP a , - 4 : BEEP a,-6:
t i m e - INT <ti> BEEP a,-©: BEEP a , - 1 0 : BEEP a,-I
6 4 0 GO T O 6 2 0 2: BEEP a , - 1 4 : BEEP a , - 1 6 : BEEP
7 0 0 BORDEP 7 : PAPER 7 : INK 0 : C »,-2: BEEP a , - 4 : BEEP a , - 6 : NEXT
LS + : GO T O 3 0 0 0
7 1 0 P R I N T -YOU CRASHED INTO THE 5000 SAVE "RACER" L I N E 1

SPEED UP YOUR SPECTRUM


A FORTH is probably the most versatile and powerful language that can be used
on microcomputers. Already it has been used for the animation scenes in
Star Wars and it is in regular use in such diverse areas as the control of large
telescopes and high speed video games.
FORTH is a compact and fast language: faster than BASIC yet more flexible. In
fact it is more than just a language: it is a programming language, editor,
assembler and disk operating system all rolled into one. In short, a complete
'environment'.

SINCLAIR SPECTRUM: FORTH COMPILER


Thurnall Engineering
This cassette comes complete with a comprehensive manual thus providing a full
implementation of FORTH for your Spectrum 48K. 0905104 706 £17.35

THE COMPLETE FORTH by Alan W l n f i e l d


This book describes the standard dialect of FORTH together with numerous
examples, exercises and complete programs. Once you've read it you'll never
use BASIC again! 090S104 226 £6.05
A vviabie through good bookshops/computer stores or by returning the coupon.

Orders to Annabella Ductal, John Wiley & Sons Ltd.. FREEPOST. Batons U M , CHICHESTER.
West SuaaeK P 0 1 9 1YP Tai Ctuclwuw (0343) TMS31 Tatar MUOO (R*g No S4H3I EngUndt
Please send me: • 0905104706 Forth Compiler £17.25 • 0905104226 The Complete Forth £6 95
• I enclose cheque (or m»de payable to John Wiley & Sons Ltd.
• Please charoe my AMERICAN EXPRESS/DINE RSCLUB/BARC LA Y C A R D / V I S A / A C C E S S Card

Date of Expiry A c c No. j I I M M I 1 I 1 I 1 1 i 1 1


Telephone your credit card order — F R E E F O N E 3477 (UK only)

Name/Address_

hitJniftt br StQj^t IVcJmucWftmtext narMd by Jot*


WJrr a I»II M . W b i i Ltn*. ClrcttrHr Wm Smni
_Stgnatuie_ ZXC

64 ZX COMPUTING JUNE/JULY 1984


DO IT W I T H

Would you like to transfer your Spectrum programs from


Q MICROORIVE TO MICROORIVE (S) TAPE TO TAPE
<D TAPE TO MICRODRIVE © MICRODRIVE TO TAPE

Then do it with

The Complete Printed Circuit Workshop


ZX S p e c t r i n
oaaaaoaaoa A d d o n s for Z X Spectrum 8. A C E
•aaaQODoaaJ
ooaaaanacid, (rating •lactromc p » | K n «o bu4d and run T O U T
aaaaaaacana 17

• LIGHT P€N •WEATHERSTATION


• PICTURE DIGlTtSER • + OTHER EXCITING ft
• KEY PAD INTERESTING PROJECTS
TRANS-EXPRESS Is me most comprehensive pockoge oftournvc • MODEL CONTROLLER
utBittes lor transferring Spectrum programs.They ore user- friendly
simple to use. redobte & very etficientThey go mucfi beyond where A newly released book by well known author Owen Bishop, published by Bernard
similar attempts fated, enabling you to transfer any kind of programs Baban>. describes m detail 17 protects to burld (using low cost materials) to bring
uptome full 48.0 K length - provided you do not Infringe copyright your mcro into the real world
TRANS-EXPRESS Is on essential mtcrodrtve companion ond on Thtmotteompiei component Ithe OCCOOERl is supplied m kit loon ready to asvemWewflti a*
mvotuaWe soft wore bock-up utility. components and plated through PCS
We ore ottering the entire pockoge tor £ 9.95 or o combination of Order -el HB 2000 EASY ADO OMS BOOK • DECODER KIT £24.OO
TAPE TO MICRODRIVE & MfcROOWVE TO MICRODRIVE lor £ 7.50. Order ief HB 2001 "EASY ADO ONS BOOK ONLY C3-00
You can also buy eochot the four programs separately for £ 5.50
only Order ref HB 2002 DC COOT R KIT ONLY C22 00
Order rel HB 2003 D€ CODER PCS ONLY ca.oo
TAPE TO TAPE Please State computer Alien ordering

Please send me o copy of TRANS-EXPRESS © ® <D©when appfcc


PteK* tick
I enclose cbeque/PO for (Ptew add CUXttor w i n Micro Interface Kit
ouMd* IK> /X Professionalise your add on projects. Kit comes complete with
Nome attractive black ram pack style case, pre-etched & drilled double
Address sided PCB, 28 way 0.1 pitch connector, 9 way D output plug &
extender card. Suits Spectrum. ZX81, etc.
Order ref. HB/2090 £9.50
» # H A B T I « B # B # T 113 Melrose Ave, London NW2
ZX81 Hi Resolution Graphics Kit
Improves screen resolution to 256x176 pixels enabling superior
graphics to be easily programmed. Plugs directly into ZX81
ROM socket & is complete with extensive software tape.
l/l/izard S o f l t / v a r e i Order ref HB/2070 £22 00

FOR THE 48K SPECTRUM - m


NEW ZX/Spectrum Intelligent Joystick l/F
•Treble your game scores overnight!*
BUGS £5.95 Suitable for Atari type joysticks. The kit provides an interface to
A100% machine code, multiple screen, arcade game presented in enable ALL games programs to be played with joystick control.
high resolution graphics Dtrecl BUGS to mend ihe printed circuit Tell it once & the keys for that game are remembered forever.
board inside a computer Watch out tor the demon hardware bugs Spectrum Kit & Joystick HB/2061 £27.31 less joystick £20.80
or Ihey will try you ZX81 Kit 8t Joystick HB/2060 £27.31 less joystick £20.80
SPECTRUM CRICKET £5.45
Play either lesl match or limited over cricket Select your teams
from ihe 6 available or choose your own players Enjoy all the
Computer Cables & Connectors
features of a real game ot cricket including three types ol bowler We now offer an extensive range of computer cables &
delivering a variety of balls batsmen running between the wickets, connectors including a Spectrum user port extender cable. Send
for new cable & connector price list.
umpires making appropriate signals and many more 72 field
positions available Score board continually updated during game
Good moving graphics Spectrum Extender^
TIME PORT 1 €6.95 s
The first m a series ol live adult strategy adventure games Direct
your robot and acquire Ihe object that the Keeper will ask lor and
bring it salely back to the Time Port
EVICTOR £5.95 H8/2069 £8.85-
An original Arcade game with machine code lor extra zip Evict the 1
Overcomes those interconnection problems Six inch double ended
aliens from their selt re-generating and defended base Features extender & male PCB plug Also available as single ended with 9 r of
bombs, lasers, phasors and alien spacecraft 5 skill levels ribbon cable HB/2068 E4.76'
FRUITA £545
A de-lux fruit machine featuring - 4 drums. Spin. Respm. Hold, Prices inclusive of VAT, carriage 60p in U.K. Overseas orders please
Gamble. Collecl. Nudge, Bounce, Blind. Cancel and Jackpot New add extra carriage. Newly published full catalogue £1.50
drums manufactured for each game {Refundable with first order over £10.1 Please quote REF ZX/6
All prices inclusive, mail order, cheque or postal orders to
a division of
Wizard Software, Dept ZX, PO Box 23, Dunfermline.
Fife. KY11 5RW. <hobhuboo£d KELAN ENGINEERING Ltd
Hookttone Park
Aiso available'rom software retailers woild wide Send large SAE(7m x5m)
lot lull program catalogue Royalties pa<l tor m a c u l e codr Spectrum
software
complete P.C.B. workshop Harrogate, N. York!

65 ZX COMPUTING JUNE/JULY 1984


[PROGRAMMING LANGUAGE]

David Nowotnik presents the


first of a three-part series on a
fascinating language.
In the last issue of ZX Com- issue, then the one in Part 3 add- 75 LET pp=l: LET wr-l: LET tur
puting, Tim Hartnell presented an ed to the other two. So, white
excellent article introducing the this month's program will fit a
>1
p r o g r a m m i n g l a n g u a g e of 16K Spectrum, you'll need a 80 F O R i » l T O m : R E A D x*<i)
LOGO. I'm sure many readers 4 8 K Spectrum to accommodate 8 5 READ u ( i ) : NEXT i
will now want to try LOGO on the final version.
their Spectrums. But, if you've Ideally, a LOGO translation 9 0 F O R i - 1 TO n : R E A D w * < i >
tried to find some commercial program should be written in 9 5 READ v < i ) ! NEXT i
software which allows you to m a c h i n e c o d e for a f a s t 1 0 0 F O R i - 1 TO o : R E A D **(i>
use LOGO then you might well operating speed. I've written my
have been disappointed; there version in B A S I C as it's easier 105 READ 9 ( i ) : NEXT i
isn't much available. A s a for me to write it, and easier for 1 10 DATA 6,8,1
remedy to that situation, I shall you to type in. But in using 1 1 5 DATA "FD",3000,"BK",3200,"L
t e presenting, in a series of three B A S I C , speed is lost — that's
articles, a BASIC program which why I've called my version of T" , 3 4 0 0 , " R T " , 3 6 0 0
simulates LOGO. Don't worry if this language SLOGOl 1 2 0 DATA "PU",4000,"PD",4050
you missed Tim's article, as I'll Once you have entered the 2 0 0 DATA "FORWARD",3000,"BACK",
be going over the principles of listing in Fig. 1 and S A V E d the
LOGO again. program on tape, you are ready 3200,"LEFT",3400
In each part of the series, to start. But before w e begin 2 0 5 DATA "RIGHT",3600,"DRAW",38
you'll get a BASIC program to typing in our LOGO commands,
t/pe into your Spectrum, and in- it might be useful to consider the 0O,"HOME",3850
structions on how to use the background and principles of 210 DATA "PENUP",4000,"PENDOWN"
program. And, in using the pro- this language.
gram, you'll be using LOGO. So, , 4050
by the time the series is com- 3 0 0 DATA "RANDOM"f8000
plete, you should have a good
4 0 0 POKE 23658,8
understanding of the language.
The program I'll be presenting 4 8 0 GO S U B 3 8 0 0 : GO T O 2 0 0 0
next time must be added or 4 9 0 REM
MERGEd to the program in this
5 0 0 REM Error subroutines
5 1 0 REM
Fig. 1. The program listing 5 2 0 GO S U B (690+err*l0)
530 PRINT Ml}aS
5 REM *********************** 540 PAUSE 250
10 R E M * * 550 RETURN
15 REM * SLOGO * 7 0 0 L E T a®=«"Command e r r o r - re-
20 REM * * enter the line.": RETURN
*
23 REM by David Nowotnik * 710 LET at="Number e r r o r - re-e
*
30 REM * January, 1984 * nter the l i n e " : RETURN
35 REM * 720 LET a«="No wrap - the line
40 REM *********************** c a n n o t be drawn": RETURN
45 REM 9 9 0 REM
50 REM I n i t i a 1l1 1 0 0 0 REM Subroutines
55 REM 1 0 1 0 REM
60 R E A D m: R E A D n : R E A D o 1 0 2 0 REM Entry check
65 DIM x * ( m , 2 ) : DIM w * ( n , 1 2 ) 1030 LET t - 0 : LET y*»""
DIM filo,12) 1040 LET s » s + 1 : I F s >LEN 2 $ THEM
70 DIM u(m): DIM v < n) : DIM g(o LET tl> i : RETURN
> 1050 IF (z«(s)«" OR z*(s)-CHR«

66 ZX COMPUTING JUNE/JULY 1984


*

PROGRAMMING LANGUAGE]
0) AND t®0 THEN GO T O 1040 LET x l = y l * T A N q: LET y2-0
M
1060 IF (z*(s)-" OR z*(s)«CHR» 1530 I F c r — 1 THEN LET yl=y: LE
0) AND t=l THEN RETURN T xl»-(yl*TAN Iq-PI)): LET y2*17
1070 LET yS=y«+z*(s>: LET t - l : G 5: LET yl«-y
0 TO 1040 1540 LET x 2 = x + x l : LET a»a-INT SQ
1 0 8 0 JREM R ( A B S ( x 1 ) " 2 +ABS (y1)
1100 REM Draw/Erase turtle 1550 RETURN
1110 IF x <3 OR x >252 OR y<3 OR y 1 6 0 0 REM X a n d / o r Y WRAP
>172 THEN RETURN 1605 I F q > P I / 2 THEN GO T O 1 6 3 0
1 1 2 0 FOR j ®160 TO 2 0 0 S T E P 4 0 1610 LET x3 =x M 175-y > *TAN q
1 1 3 0 - L E T q=d i r • j : I F q<0 T H E N L 1615 IF x3>255 THEN GO T O 1400
ET q*360-; 1620 IF x3< 2 5 5 THEN GO T O 1500
1140 I F q>360 THEN LET q=q-360 1625 GO TO 1 6 8 0
1150 LET q»q*PI/180 1630 IF q >PI THEN GO T O 1 6 4 5
1160 LET x1=5*S IN q: LET yl=5*C0 1635 LET x3=x+y*TAN (Pl-q)
S q 1640 GO TO 1 6 1 5
1170 PLOT INVERSE t u r t ! x , y 1645 IF q > 3 * P I / 2 THEN GO T O 1 6 7
1 1 8 0 DRAW INVERSE t u r t ; x l , y l 0
1190 NEXT j : RETURN 1650 LET *3=x-y*TAN (q-PI)
1 2 0 0 REM 1655 I F x3< 0 THEN GO T O 1 4 0 0
1 2 1 0 REM A number or a - f u n c t i o n 1660 I F x 3 > 0 THEN GO T O 1 5 0 0
1 2 2 0 GO S U B 1 0 2 0 : IF err=l THEN 1665 GO T O 1 6 8 0
LET err=2: RETURN 1670 LET x3»x-t175-y)*TAN <2*PI-
1 2 3 0 I F CODE y « >57 THEN GO T O 1 q>
300 1 6 7 5 GO T O 1 6 5 5
1240 I F y « = " « THEN LET err=2: R 1680 I F y 1 > » x l THEN LET al«INT
ETURN (yl/COS q+1.5)
1 2 5 0 F O R k = l TO L E N y S 1 6 8 5 I F y1< x1 THEN LET a l =INT (
1 2 6 0 I F C O D E y * ( k ) < 4 8 OR C O D E y S xl/SIN q+1-5)
( k ) > 5 7 THEN LET err=2 1690 LET a = a - a l : GO S U B 1 4 5 0 : IF
1270 NEXT k y2<0 THEN LET y2»175
1 2 8 0 I F e r r =0 THEN L E T a=VAL y* 1695 I F y 2 > 1 7 5 THEN LET y2=0
1290 LET t=0: RETURN 1 7 0 0 GO S U B 1 5 0 0 : I F x2<0 THEN
1 3 0 0 REM Evaluate a function LET x2«255
1310 LET y * = ( / * * ' ")C 1705 I F x 2 > 2 5 5 THEN LET x2-0
TO 1 2 ) 1710 RETURN
1 3 2 0 F O R i = 1 TO o : IF y*»+S(i) T 1 9 9 0 REM
HEN GO T O 1 3 4 0 2 0 0 0 REM Input routine
1330 NEXT i : LET err=2: RETURN 2 0 1 0 REM
1 3 4 0 GO S U B g ( i > : RETURN 2020 INPUT " W : * J L I N E z « : LET s=
1 4 0 0 REM X Wrap
0
1410 LET c r « l ! I F q < 2 * P I AND q > P 2025 LET count«0: LET rc=0: GO S
I THEN LET cr=-l U B 2 0 4 0 : GO T O 2 0 2 0
1420 I F c r S 1 THEN LET xl=255-*: 2 0 3 0 REM
I F q > 1 . 5 7 THEN LET yl=0: LET x 2 0 4 0 REM Command c h e c k
2-0: GO T O 1 4 3 0 2 0 5 0 REM
1425 I F c r s l THEN LET yi=xl/TAN 2060 LET t»0: LET t l = 0 : LET err=
q*. L E T x2*0 0
1430 I F c r =- 1 THEN LET xl=-x: L 2 0 7 0 GO S U B 1020
ET y l • ( x 1 / T A N <q-PI)>: LET x2=25 2 0 8 0 I F t l = l AND y » = - " AND c o u n t
5 =0 THEN LET turt=0: GO S U B 1100
1440 LET y 2 = y + y l : L E T a = a - I N T SQ 2 0 8 5 I F t 1 = 1 AND / * = " ' T H E N RET
R (A'BS < x l ) ^ 2 + A B S ( y 1 ) A 2 ) URN
1450 RETURN 2 0 9 0 I F L E N y*<>2 THEN GO T O 2 1
1 4 7 0 ' REM 30
1 5 0 0 REM Y W r a p 2 1 0 0 F O R i - 1 TO m
1510; L E T c r - 1 ! I F q > P I / 2 AND q < 3 2 1 1 0 I F y * = x « < i > THEN GO T O 2 2 0
* P I / 2 THEN LET cr«-l 0
1520 I F c r = l THEN LET yl=175-y: 2120 NEXT i

67 ZX COMPUTING JUNE/JULY 1984


PROGRAMMING LANGUAGE!
2130 LET y*-<y«+" ")< dir: GO TO 3450
T O 12) 3460 RETURN
2140 FOR i-1 TO n 3590 REM
2 1 5 0 IF y « > H * ( i ) T H E N GO TO 221 3600 REM RIGHT
0 3610 REM
2160 NEXT i 3 6 2 0 IF t u r t - 0 T H E N LET turt-1:
2170 REM Command error GO SUB 1100
2 1 8 0 L E T e r r - i : IF t u r t - 1 T H E N 3 6 3 0 G O S U B 1 2 0 0 : IF err>0 THEN
LET turt-0: GO SUB 1100 RETURN
2190 GO TO 520 3640 LET dir-dir+a
2200 GO SUB u(i): GO TO 2220 3 6 5 0 IF d i r > 3 6 0 T H E N LET dir-di
2210 GO SUB v U ) r-360: GO TO 3650
2 2 2 0 IF e r r > 0 T H E N GO TO 5 2 0 3660 RETURN
2230 GO TO 2070 3790 REM
2990 REM 3800 REM DRAW
3000 REM FORWARD routine 3810 REM
3010 REM 3820 CLS
3 0 2 0 G O S U B 1 2 0 0 : IF e r r > 0 T H E N 3840 REM
RETURN 3850 REM HOME
3 0 3 0 IF t u r t - 0 T H E N LET turt-1J 3860 REM
GO SUB 1100 3 8 7 0 IF t u r t - 0 T H E N LET turt-1:
3 0 4 0 LET q-d i r # P I / 1 3 0 'GO SUB 1100
3050 LET x1-INT (.5+a*SIN q): LE 3880 LET x-128: LET y-88
T y 1 - I N T ( . 5 + a * C 0 S q) 3890 LET dir-0: LET turt-0
3060 LET tr-0: LET x2-x+xl! LET 3900 GO SUB 1100: RETURN
y2-y+y1 3990 REM
3 0 7 0 IF x 2 < 0 O R x 2 > 2 5 5 T H E N LET 4000 REM PENUP
. tr-1 4010 REM
3 0 8 0 IF y 2 < 0 O R y 2 > 1 7 5 T H E N LET 4020 LET pp-0: RETURN
tr-tr *2 4030 REM
3 0 9 0 IF tr > 0 A N D w r - 0 T H E N LET 4050 REM PENDOWN
err»3: RETURN 4060 REM
3 1 0 0 IF t r - 0 T H E N GO TO 3 1 2 0 4070 LET pp=i: RETURN
3110 GO SUB (1300+tr*100> 4080 REM
3 1 2 0 IF p p - 1 T H E N PLOT x,y: DRA 8000 REM RANDOM
W x 1, y l 8 0 1 0 GO S U B 1210: IF err-2 THEN
3 1 3 0 IF p p - 0 T H E N PLOT INVERSE RETURN
II O V E R l | x , y : D R A W I N V E R S E It 8020 LET a-INT (RND* a): RETURN
OVER Ifxlfyl
3 1 4 0 L E T x « x 2 : L E T y - y 2 : IF t r > 0
THEN GO TO 3 0 5 0
3150 LET t»0: RETURN LOGO w a s designed to pro- it introduces you to structured
vide children with an early in- programming, as used by more
3190 REM powerful languages such as
troduction to computer pro-
3200 REM BACK gramming and to develop their FORTH.
3210 REM abilities in logical thinking. The Drawing with LOGO makes
commands of LOGO are simple use of a turtle — but before you
3 2 2 0 IF t u r t - 0 T H E N LET turt-1: rush off with complaints to the
to understand, yet LOGO en-
GO SUB 1100 courages a good programming R S P C A , these are only im-
3 2 3 0 L E T d i r - d i r * 1 8 0 : IF dir>360 style by virtue of its structure. aginary animalsl Imagine you
L O G O is best k n o w n a s a had precise control over the
THEN LET d i r - d i r - 3 6 0 graphics language, enabling still movements of your turtle; in-
3240 GO TO 3020 (and animated) pictures and pat- structing it to go forward or
3390 REM terns to be drawn. More power- back, turn left or right, ail by
ful versions of LOGO have specified amounts. Your turtle
3400 REM LEFT facilities for text handling as well carries a pen which you can in-
3410 REM as graphics but my version, in struct to be lowered onto a
common with most, deals with sheet of paper, so that, as the
3 4 2 0 IF turt-0 THEN LET turt-1: graphics only. turtle moves, a line is drawn. Us-
GO SUB 1100 You'll find LOGO a very useful ing combinations of the four
3430 GO S U B 1 2 0 0 : IF err>0 THEN language if you have young m o v e m e n t c o m m a n d s (for-
children, if you want a versatile ward, back, left, and right)
RETURN drawings and patterns can be
graphics routine or if you want
3440 LET dir«di"r-a to move on from B A S I C , LOGO created.
3 4 5 0 IF d iV<0 THEN LET dir-360 + is an easy language to learn, yet Some versions of LOGO ac-

68 ZX COMPUTING JUNE/JULY 1984


(PROGRAMMING LANGUAGE!
tually make use of a robotic point is its head and this in-
'turtle' which is interfaced to a dicates the direction of the tur- COMMAND TWO LETTER
tle. You'll see that the turtle's
computer. LOGO commands are
transmitted to the turtle, starting point is at the centre of
ABBREVIATION
creating shapes on a sheet of the screen, heading directly up DRAW
paper placed on the floor. More the screen. HOME
often, the monitor or T V sceen At the bottom of the screen
forms the paper and an elec- you'll see " W ; " and a flashing FORWARD FD
tronic turtle is drawn and is mov- cursor. This tells you that the BACK BK
computer is waiting for you to
ed. on the screen. This is how
my version works. enter a command. At this stage,
LEFT LT
this LOGO program will accept RIGHT RT
only 8 commands as shown in
Fig 2 . Note that all commands
PENUP PU
are entered in capital letters PENDOWN PD
( C A P S LOCK mode is auto-
Fig. 2. The LOGO commands
matically set by the program) featured in this issue
and for some commands, a two
letter abbreviation can be used
RUN the program and you'll instead of the full word. Before
see the turtle on the screen. It is you use any command, I'll
describe what each one will do.
STARTING
represented by the " A " ; the DIRECTION

HOME This moves the turtle from anywhere on the screen LEFT RIGHT
back to its starting position at the centre of the
screen, heading directly up the screen.
DRAW This clears the screen, then moves the turtle
HOME.
FORWARD The turtle is moved forward a specified amount. To
complete the command, you have to tell the turtle
how far to move forward, eg FORWARD 2 0 (or FD
20). The unit of distance is one pixel; remember,
the screen is made up 2 5 6 pixels across, and 1 7 6
down.
BACK The turtle is turned head-to-tail, then moved in the
same way as FORWARD (eg B A C K 2 5 ) .
LEFT The turtle's head remains in the same place but its
body will swivel so that its direction rotates to the
left. You have to tell the turtle how far to turn. As
do FORWARD and B A C K , the command LEFT re-
quires a number added to it to complete the instruc- 135 135
tion, to tell the turtle how much to turn. This
number is the angle of turn in degrees. If you've
forgotten that 9 0 degrees makes a right angle, 180
then use Fig 3 as a guide when using the LEFT (or
RIGHT) command. Angles should be whole ENDS
numbers between 0 and 3 6 0 .
RIGHT This is the same principle as L E F T , but, of course,
Fig. 3. A diagram of angles Io turn
the turtle turns right instead of left. the turtle
PENUP This command raises the pen from the paper so
that the turtle can be moved without a line being
drawn. repeating the same two com- replaced by a random number.
PENDOWN The pen is placed on the paper. mands four times. Fortunately, As an example, try:
LOGO allows repetition of com-
mands to be simplified and it's FD RANDOM 5 0
Now, lets try a few examples. Then to move forward again; one of the things I'll be dealing
Type in: with next time. The turtle will move forward by
FD 4 0 . What should happen if the tur- an amount somewhere between
FORWARD 4 0 (or FD 4 0 ) , and tle goes off the screen? Let's 0 and 5 0 .
press enter. You'll see the turtle If you continued entering alter- find out. Clear the screen with That's enough of the theory
disappear, a line 4 0 pixels long natively RT 9 0 and FD 4 0 , you DRAW, then enter: of LOGO for this time. Try mak-
will be drawn, and then the tur- would end up with a square. As ing up some drawings, patterns,
tle reappears. To enable the it is cumbersome to type in one RT 1 0 F D 2 0 0 0 . or shapes for yourself. The pro-
program to work as quickly as command at a time, LOGO gram has an error trapping
possible, our turtle will always allows you to string commands The turtle is turned slightly to routine, so if you make a
disappear when in motion and together. Let's see how. First, right, then moves forward 2 0 0 0 m i s t a k e , you should get a
will only reappear when all in- clear the screen, and reset the pixels. As it disappears off the r e a s o n a b l y friendly error
structions are complete and the t u r t l e u s i n g the c o m m a n d edge of the screen, our turtle re- message. In the next issue of
" W : " symbol comes back on DRAW, then enter: appears on the other side. This Z X C , you'll notice a quantum
the screen. Also, notice that feature is called wrap. It is useful leap in the power of this LOGO
when the program starts, the FD 4 0 RT 9 0 FD 4 0 RT 9 0 FD to draw special patterns and translator.
pen is in the down position, 4 0 RT 9 0 FO 4 0 RT 9 0 and means that you won't get an er-
enabling a line to be drawn. enter. ror message if you accidentally
Now, lets turn the turtle 9 0 ° go off the edge of the screen.
to the right. Type in: Leave a single space between Another feature of this LOGO
each command and number. program is that the specified
RIGHT 9 0 (or RT 9 0 ) and press This, again, draws a square. You number used by F O R W A R D ,
enter. may have noticed that w e are B A C K , RIGHT and LEFT can be

69 ZX COMPUTING JUNE/JULY 1984


MICRO
SHOP REGARDEZ
LANGUAGE LEARNING AIDS FOR
STREATHAM HIGH ROAD, LONDON SW16 6HG FRENCH, GERMAN & SPANISH
Tel: 01-769 2887
' flfCMO/V
THE ORIGINAL "SINCLAIR" SPECIALISTS 3033> SPfCWt/AS C4&/0
Z As used M numerous schools ond colleges mese progroms PIOVKJO o
m
3 >5 highly successful QKJ to modern language learning Each cassette
V) X contams o sophisticated control progrom a n d a comprehensive series ot
m vocoOuiory lessons whtch c a n oe used in a variety of seS-pocea teaming
<>
a n d test modes words phrases etc ore displayed with oil necessary
oz accents ond special charociers drfferent colours ate used lor masculine
CO
> feminine and neulei words to ossist gender leommg
o The programs ore suitable for beginners O-ievei ond beyond os simple

HELP
5 m commands enable new lessons in vocabulary or grommor to b e crealea
v> by the user edited os required then permanently saved lor later use
1> 12 invaluable for homework and exam revision'
Om
m <s> Two cassettes are avertable lor e a c h tanguoge together these contain a
v>-£ vocabulary of tnousonds oi words Level A provides 16 lessons in general
subjects level B provides o further 46 lessons nciudmg adjectives adverbs
WE NEED VOLUNTEERS TO BUY OUR 50 a n d lutty conjugated verb ksts
STOCK OF FORMER TOP-TEN SPECTRUM, 55
ffl Available from your computer store or by mod order Pnce £0 95
BBC AND COMMODORE GAMES. SOME AT
> 5 Also AvoOoWe ANSWTB BACK General Knowledge Qu./ Pnce £1095

o f
X z

HALF PRICE S >


mO
X

(OR L E S S ) o 35
mO
NEW - DIFFERENT - USEFUL x C
J z
SOFTWARE AND ADD ONS NOT USUALLY >0
FOUND IN OTHER SHOPS

c
NOW IN STOCK o
Zmx

)
V> (fl

VISA - A C C E S S - AMERICAN E X P R E S S - DINERS CLUB


Open Tues-Sat. 10.30 a.m. to 5.30 p.m. (closed Monday)

:ampbell systems ^ ^ ^
Master file Spectrum 48K
YES-Microdrive compatible!
Acclaimed as the definitive filing system for the 48K Spectrum -
M A S T E R F I L E ' S machine coded flexibility gives you 32K (max)
per file - 26 fields per record - up to 128 characters per field —
multiple level searches tor numeric or character comparisons -
data presentation in any one of 36 user-defined displays which
may be sequenced by any field — U S E R B A S I C for tailored
processing. " . . . the most comprehensive ot the data-bases . . . "
Sinclair User June 1983
Wuh example file and detailed manual £15.00

Drawmaster "TEST
" D R A W M A S T E R is the ultimate D R A W A N D P A I N T utility tor
the Spectrum — compose your own HI R E S pictures with 8 KOSMOS Software I PHgnms Close Morfmgton DUNStABiE Beds LUSfitx
direction 2 speed hand draw keys - fast fill - enlarge/reduce
telephone (05255) 3<W
facility for all or part of the screen plus all the Spectrum colours
Pteose supply the following programs
and attributes - over 5 0 commands i n all.
tne trencn A« in* French M.vtr»«
DLAN
6 • t99S I I
DISPLAY
With detailed instructions £6.95 Trw German Itoi* level A * 19 95 rue Germon Moiw B • 19 94 ; I
Spectrum THE SOORVSH LUTOR 1MI A « T99S lr» Soanvn tutor B m W93 ! i
LANGUAGE AMSWfB BACK Ouu (Semor) • iW « f]
D L A N ('dee Ian*) D I S P L A Y L A N G U A G E is a 16/48K
powerful machine I hove o BBC Electron Spectrum computer (delete as necessary)
coded interpreter for generating D Y N A M I C T E X T U A L D I S P L A Y S
Mr/Mrs/VWss
for advertising and education - all commands are single letter or
symbol - with 4-way scroll of 11 type faces through user-defined Aootess
windows
With detailed manual £7.95
Post code
All programs mailed Ist class by return enclose o cheque/postal order for £ payable to KOSMOS Software —
Prices include VAT and postage within
Europe SAE for full list. KOSMOS SOFTWARE
1 Pilgrims Close. Mortinglon DUNSTABLE Beds LU5 6LX
Dept (ZX) ISRousRoad Buckhurst Hill.
Essex. IG9 6BL England 01 5 0 4 0 5 8 9

70 ZX C O M P U T I N G J U N E / J U L Y 1984
SPECTRUM SOUND
VERIFY""CODE &
enter.
5. If you get the message
" T a p e loading error"
then go to stage 3 .
6. The B A S I C program
has now done its job
and it is safe to NEW.
To recover the machine
code routine use:
LOAD " " CODE.

Use this program by E French of Lancaster to get If you have an assembler you
should type in listing 2, assem-
super sounds for your games. ble it and S A V E the code.
The next thing you will want
Anyone who has tried to write to do is to listen to your new
their o w n games on the Spec- sounds. To do this simply enter
trum will have found the B E E P the following:
command very limiting and
many people have bought add- 10 P A U S E 0 : REM waits
ons to raise the Spectrum's for keypress
sound to that of the BBC micro 20 LET (an unused vari-
in versatility as well as volume. able) = U S R 23375;
However, for most people REM make a ZAP
C 2 0 - C 3 0 is a high price for 30 GO TO 1 0 : REM do it
such a simple task. again
Fortunately, there is a com-
promise solution which uses When this is RUN it turns your
software rather than hardware Spectrum into a ray gun. By
to achieve special effect changing line 2 0 to:
sounds such as explosions at
negligible cost. 20 LET (an unused vari-
There is, of course, the in- a b l e ) 3 USR 2 3 3 8 6
evitable snag. Unlike the better
add-ons, execution of the pro- Now your Spectrum is a
gram stops while the sound is machine gun. And making line
being generated. However, the 2 0 read:
program does contain three
pre-defined sounds: 20 LET (an unused vari-
able) = USR 2 3 3 9 8
1) A Zap
2) A Machine gun shot Now whenever you press a
3) An Explosion. key your Spectrum happily ex-
plodes!
A s it stands the program oc- So to sum up:
cupies Vi KByte which is nor-
mally reserved for the printer LET (an unused variable)
so as to conserve memory. = U S R 2 3 3 7 5 pro-
The program is in six parts: duces a Zap.
the first contains two first indicates how long you are to be produced, successive LET (an unused variable)
subroutines which can pro- want the sound to last for and B E E P s will not suffice. Such = U S R 2 3 3 8 6 pro-
duce white noise (for gunshots the second indicates the pitch sounds are produced with duces a machine gun
and explosions) or tones (for of the resultant sound. A white noise which on its own shot.
sirens and zaps). The second, special effect sound can best gives a rushing noise. LET (an unused variable)
third and fourth parts produce be thought of as a succession Now to the practicalities: = U S R 2 3 3 9 8 pro-
the pre-defined sounds. The of BEEPs one after another: T H E R E IS NO NEED F C R T H E duces an explosion.
t w o remaining routines play
the user-defined sound: the

1 11 L
The more skilfull will want
first with white noise (a kind of THE BEEP more than just these three and
COMMAND
rushing sound) and the other impressive sounds can be
with tones. custom made. However, take
great care: if you go wrong on
User defined
II 1 1 UL
this section you might have to
sounds
A SPECIAL
E F F E C T SOUND wait several days before your
machine has finished your
sound.
The BEEP command produces However, special effect USER T O KNOW ANYTHING So, to produce your o w n ef-
a neat regular w a v e f o r m sounds cannot be produced by A B O U T MACHINE CODE. All fects you must tell the com-
reminiscent of an electric the B A S I C BEEP command that is required is to follow puter the length and pitch of
organ which is not very useful because the interval between these instructions: the eight beeps which make up
to the games programer. individual BEEPs is too great. the sound you want to pro-
Special effect sounds are This, thankfully, is not an in- 1. Type in listing one. duce. You must also tell it how
not so simple and require more surmountable problem, 2. RUN it. many times to play each beep.
information in order to be pro- because by using machine 3. Type SAVE Thus, for each beep there are
duced. With a B E E P command code routines the delay bet- '' S o u n d s " C O D E three parameters: length, pitch
it is necessary to provide only ween B E E P s becomes neglibte. 2 3 2 9 6 , 2 5 6 b enter. and the number of times y o u ^
two figures or parameters: the If sounds such as explosions 4. Rewind the tape and want each beep to be p r o d u c - ^

71 ZX COMPUTING JUNE/JULY 1984


ed So in total there are 2 4 which for most people is unus- = USR 2 3 4 1 0 in this program you can change
parameters. The procedure to ed. However, if you enter any this will play your it to suit your needs.
tell these to the computer is: of the printer commands: sound with tones
L L I S T , LPRINT or COPY then LET (an unused vari- Hints
10 D A T A (length of 1st), the sound will generate a delay able)-USR 23432
(pitch of 1st),(No. of followed by NEW. so take this will play your It is a wise idea to make the
times), (length of care. sound with white sounds last for as short as
2nd),(pitch of 2nd), Once you have provided the noise. possible because it is then less
(No. of times).,., up to machine with the data you will obvious that the program
. . . . (length of need to know how to play the A n o t h e r s l i g h t s n a g en- stops to produce the sound.
8th),(pitch of 8th), sounds. For this there are t w o countered with this routine is Also, the volume of the sounds
(No. of times) commands: that when the sounds are pro- is increased by resting the
20 FOR a - 2 3 3 0 0 TO duced the border goes white. If machine on a hard flat surface
23323:READd:POKE LET (an unused variable) you use an assembler to write such as a desk or table.
a,d: NEXT a
Listing on* (BASIC)
The length of each beep is a 10 DATA 1 9 7 , 2 1 3 , 6 7 , 1 6 , 2 5 4 , 1 0 , 2 0 3 . 1 9 9 . 2 0 3 ,
number from 1 to 2 5 5 and the 207,203,215.211,254,12,21,32,240.209,193,201
longest note is 0 . 20 D A T A 1 9 7 , 2 1 3,1 7 5 . 2 0 3 , 1 9 9 . 2 0 3 , 2 0 7 , 2 0 3 , 2 1 5.
The pitch of each beep is a 67,16,254,203.231.211,254,67,16,254,203,167,211,
number from 1 to 2 5 5 where 254.21,32,239.209,193,201
1 is the highest pitch (but 0 is 30 DATA 2 2 , 3 , 3 0 , 1 2 8 , 2 0 5 , 5 0 , 9 1 , 2 9 , 3 2 , 2 5 0 , 2 0 1
the lowest). 40 DATA 3 0 , 0 , 2 2 , 3 2 , 2 0 5 , 2 9 , 9 1 , 2 8 , 2 1 , 3 2 , 2 4 9 , 2 0 1
Similarly the multiplier (how 50 DATA 3 0 , 0 . 2 2 , 1 2 8 , 2 0 5 . 2 9 , 9 1 , 2 8 . 2 1 . 3 2 , 2 4 9 . 2 0 1
many times) goes from 1 to 60 DATA 3 3 . 3 , 9 1 , 3 5 , 8 6 , 3 5 , 9 4 , 3 5 , 7 8 , 3 5 . 2 0 5 , 2 9 ,
2 5 5 (again 0 gives 2 5 6 91,13,32,250,125,254,28,56,239,201
cycles). 70 DATA 3 3 , 3 , 9 1 . 3 5 , 8 6 , 3 5 , 9 4 , 3 5 , 7 8 , 3 5 , 2 0 5 , 5 0 , 9 1 .
13,32,250,125.254.28.56,239.201
This program as it stands 80 FOR a - 2 3 3 2 5 to 2 3 4 5 3 : R E A D d:POKE a , d : N E X T a
resides in the printer buffer

Listina tor use with en assembler


23388 Id d , 3 2 22,32
ADDRESS NMONICS DECIMAL C O D E S 23390 call 2 3 3 2 6 205,29,91 —^

23325 push be 197 23393 inc e 28


23326 push de 213 23394 dec d 21
23327 Id b.e 67 23395 jr nz - 7 32.249
23328 djnz - 2 16,254 23397 ret 201
23330 Id a,(be) 10
23331 set O.a 203.199 23398 Id e , 0 30,0
23333 set 1,a 203.207 23400 Id d. 1 2 8 22,128
23335 set 2,a 203.215 23402 call 2 3 3 2 6 205,29,91
23337 out(254).a 211,254 23405 inc e 28
23339 inc C 12 23406 dec d 21
23340 dec d 21 23407 jr nz - 7 32,249
23341 jr nz - 16 32,240 23409 ret 201
23343 pop de 209
23344 pop be 193 23410 Id h i , 2 3 2 9 9 33,3,91
23345 ret 201 23413 inc hi 35
23414 td d, (hi) 86
23345 push be 197 23415 inc hi 35
23347 push de 213 23416 Id e.(hl) 94
23348 xor a 175 23417 inc hi 35 —
23349 set O.a 203.199 23418 Id c.(hl) 78
23351 set 1 ,a 203,207 23419 inc hi 35
23353 set 2 , a 203,215 23420 call 2 3 3 2 6 205,91
23355 Id b.e 67 23423 dec c 13
23356 djnz - 2 16.254 23424 jr nz - 6 32,250
23358 set 4 , a 203,231 23426 td a.l 125
23360 out(254),a 21 1 , 2 5 4 23427 cp 2 8 254,28
23362 Id b.e 67 23429 jr c - 1 7 56,239
23363 djnz - 2 16,254 23431 tet 201
23365 res 4 , a 203,167
23367 out(254),a 211,254 23432 Id h l . 2 3 2 9 9 33.3,91
23369 dec d 21 23435 inc hi 35
23370 jr nz - 1 7 32,239 23436 td d,(hl) 86
23372 pop de 209 23437 inc hi 35
23373 pop be 193 23438 Id e,(hl) 94
23374 ret 201 23439 inc hi 35
23440 Id c,(hl) 78
23375 Id d . 3 22,3 23441 inc hi 35
23377 Id e, 1 2 8 30,128 23442 call 2 3 3 4 6 205,50,91 —
23379 call 2 3 3 4 6 205,50,91 23445 dec c 13
23382 dec e 29 23446 jr nz - 6 32,250
23383 jr nz - 6 32,250 23448 Id a.l 125
23385 ret 201 23449 cp 2 8 254,28
23451 jr c - 1 7 56,239
23386 Id e , 0 30,0 23453 ret 201

72 ZX COMPUTING JUNE/JULY 1984


SPECTRUM SOUND

Beep Routine

32500 42,11,92 Id hi, (DEFADD)


32503 17,4,0 Id de,4
32506 25 add hl,de
32507 78 id c,(hl)
32508 25 add hl,de
32509 25 add hl.de
32510 70 Id b,(hl)
A shorter and less powerful program than 32511 58.72,92 Id a.lBORDCR)
zappo, but easy to use and very effective. 32514 203,47 sra a
From David Mold in Hertfordshire. 32516 203.47 sra a
32518 203,47 sra a
This is a m/c program which the address of the correspon- '32520 238,16 xor 16
produces a much more in- ding bytes, the second shows 32522 211.254 out ( 2 5 4 ) . a
teresting sound from the Spec- the decimal codes of those 32524 81 Id d.c
trum speaker than its usual bytes and the third shows the @32525 21 dec d
'beep'. It can be called very Z 8 0 opcodes. 32526 32,-3 jrnz @
easily from BASIC and the It should be entered to the 32528 13 dec c
sound produced can be varied address 3 2 5 0 0 using this 32529 16,-11 djnz, *
by using DEF FN. The program short program: 32531 201 ret

10 CLEAR 3 2 4 9 9 to be written, it can be loaded LET 1 = FN b(N,N)


20 DATA 42,1 1 , 9 2 , 1 7 , 4 , 0 , 2 5 . 7 8 . 2 5 , 2 5 , 7 0 , 5 8 , from tape thus:
72,92,203,47 where N.N represents two
30 DATA 2 0 3 , 4 7 , 2 0 3 , 4 7 , 2 3 8 , 1 6 , 2 1 1 , 2 5 4 , 8 1 . CLEAR 3 2 4 9 9 : L 0 A D "beep" numbers you can specify
2 1 , 3 2 , - 3 , 1 3 . 1 6 , - 11,201 CODE which, very broadly, set the
40 FOR N= 1 to 3 2 : READ a duration Er pitch respectively.
50 POKE 3 2 4 9 9 + n , a : NEXT n and then used in conjunction They should both be between.
with the program as described 0 & 2 5 5 inclusive. Experiment
was written for 16K Spectrum The code can then be SAV- previously. to find the effect of varying the
and could easily be run on a Ed using: To call this routine from a pro- two factors. Also, try
48K model, although the ad- gram, first
dresses should really be chang- SAVE "beep" CODE POKE 3 2 5 2 8 , 1 2
ed to put it higher in memory 32500,32 DEF FN b(x,y) = USR 3 2 5 0 0
on the 48K version. as a direct command, and ex-
The listing of the m/c is in and when it is required for use then, when the beep is re- periment further to find its ef-
three columns: the first shows with a program — existing or quired use fect.

TOP VALUE LIGHT PEN


DRAGON 32/TANDY COLOUR 32K/SPECTRUM 48K
THE NEW ADVANCED PROGRAM
for the Trojan light pens include the following facilities-

• DRAW BOX • DATA ENTRY AND PROCESSING


• DRAW CIRCLE • MENU SELECTION AND CONTROL
• DRAW LINE • GAMES PLAYING
• DRAW PICTURES FREEHAND
• COLOUR FILL DESIGNATED AREAS This is a first class program which gives hints
• SAVE AND LOAD PICTURES and tips on how to write programs for the
pen. Ideal for many educational uses.
TO AND FROM TAPE
• FULL ERASE FACILITIES

All in Hi-Res screcn in any of 4 colours


for the Dragon/Tandy, and 8 colours for A lop qua lit) pen plus a first-class program.
the Spectrum. The best value pen package available.

c J
Send chequcs/P.O. to:
TROJAN PRODUCTS j l
166 Derlwyn, Dumant, Swansea SA2 7PF
Tel: (0792) 205491 Micro Computer Software & Accessories
ALSO AVAILABLE FROM GOOD COMPUTER DEALERS
SPECTRUM CAME

Life and
This is the machine code program:
1 C L E A R (address 3 0 3 5 1 ) This section sets up the screen by

death
printing a whole screenful of 'bugs' in the same ink and
paper colour. This has the effect of clearing the screen. A
jump is then made to RAND for a random start or back to
B A S I C for a programmed start.
2 RAND (address 3 0 0 9 7 ) This section steps through the
A T T R file and, on the basis of a randomly generated number,
changes the ink colour of about 3 0 % of the positions so that
the pre-printed bugs appear.

it's the meaning of life


3 DUMP (address 3 0 1 3 8 ) This then dumps the contents of
the A T T R file into memory so that the new generation can be

explained by John Elliot


calculated.
4 PROG (address 3 0 1 4 9 ) This is the main part of the program.
It single steps through the dump, checking each position for
from Gloucester. the new generation and then loading the appropriate position
in the A T T R file with either no cell (ink and paper the same)
or cell (ink and paper different). The SOUND routine at
3 0 3 9 8 is called at each cell position. This can be turned off
A s many people who o w n a this program w a s written by POKEing 3 0 3 9 8 , 2 0 1 and turned back on by POKEing
computer will know. Life is a w h i c h i n c o r p o r a t e s t h e s e 30398,197.
simple algorithm for producing features. 5 K B D C H E C K (address 3 0 2 7 9 ) This causes a pause of about
evolving patterns of cells. A t w o seconds at the end of each generation and checks for a
grid is seeded with cells and keypress. If key 1 has been pressed it returns to the BASIC
the computer calculates and Program RUNdown menu. If key 2 has been pressed, control returns to the
displays the growth of the col- B A S I C screen alter routine which allows you to change the
ony by following simple rules; composition of the colony. If there is no key press the
any cell which has two or three The program w a s written in program continues with the next generation. If any other key
neighbours will survive, all t w o sections; a B A S I C con- is pressed the program continues with no pause at alt.
others will die; any space trolling section and 4 0 8 bytes 6 T A B L E (address 3 0 0 0 0 ) This table contains the data
which has three l i v e of machine code to carry out required to calculate the displacements within the dump of
neighbours will contain a live the calculations and handle the the eight positions surrounding each cell. It is this data which
cell in the next generation. screen display. results in the 'wrap around' screen effect.
This surprisingly simple set The machine code is fully
of rules can result in amazingly listed in Assembly for those in- This is the small B A S I C controlling program:
complex and beautiful pat- terested, but the main sections Lines 1 -2 Clear space for the machine code and then
terns. These may evolve con- are listed here in the order of load it into memory.
tinuously, die away or become execution rather than the order Lines 3 - 1 4 0 Set up screen colours and print instructions
static, depending on the star- in memory. and menu.
ting conditions. Lines 1 5 0 - 1 6 0 Verifies input from keyboard.
Spectrum owners will have Line 1 7 0 Runs machine code with random start.
received a c a s s e t t e from Entering the Line 1 8 0 Terminates program.
Sinclair which includes a ver-
sion of Life. This is a very sim-
program Line 1 9 0 Runs C L E A R routine to set up screen for
programmed start.
ple version which allows a sim- Lines 2 0 0 - 6 2 0 Prints cursor in the middle of' screen and
ple programmed start colony First type in the loader shown prompts for input. The cursor keys will
which is then evolved con- in listing 2 and save it! Now move the cursor around the screen. Key 4
tinuously. Though this pro- run it (it takes about 2 0 will enter a 'bug' at the current position. Key
gram does domonstrate the seconds to load all the data in- 9 will erase the bug at the current position.
idea, it has a number of short- to memory). If you then type Key 3 will return to the machine code and
comings which detract from RANDOMIZE USR 3 0 3 5 1 the continue evolving the colony. It is this
t h e p o s s i b i l i t i e s of t h e screen should clear and turn section that control passes to from the
algorithm. In order to show the yellow. If not check your data machine code when key 2 is pressed.
real appeal of Life, an im- lines. T h i s is the C L E A R Lines 1 0 0 0 - 1 0 1 0 These two subroutines set up the screen for
plementation should show the routine. Entering RANDOMIZE printing to the bottom t w o fines, It is
following features: 3 0 0 8 8 should cause a random important not to break out while instructions
generation of 'bugs' to appear are displayed here as this will cause a crash.
1 It should be possible to have and the colony should start to
a random starting colony. evolve. Press any key other Us ting J 1 '.t_r. A F
2 With a square grid, the col- than 1 and 2 and there should 2 LOAD "byt^sl' CODE
ony breaks up when it reaches be no pause between genera- ;: BORDER 4: c
3 INK 9: PAPER
the edge. It should therefore tions. Pressing keys 1 or 2 will
provide a "wrapped round" break out of the program at LS
screen which allows the pat- this stage. When you are sure 10 PRINT AT 2,3»"CONWAYS LIFE
tern to 'fall' off one edge but the data is correct, resave it. N
reappear on the opposite edge. Now type in B A S I C listing
In this way moving patterns (listing 1) and save it as S A V E 20 PRINT OVER II AT 2,2!"
can be seen. " l i f e " LINE 1. Having done m
3 It should be possible to exit this, reload the machine code
from the routine to change the loader and rerun it. When the 30 PRINT AT 4 , 3 J " T H I S PROGRAM
positions of cells when re- prompt appears this time, save WILL S I M U L A T E " ' } " THE E V O L U T I O N
quired and then to re-enter and directly after the B A S I C pro- OF A COLONY O F " * } " ""BUGS"""
continue the evolution. gram. You should now have
4 The routine must be fast so the B A S I C " l i f e " on tape, 40 PRINT AT 8 , 3 } " T H E INITIAL
that the screen display does followed by the code. Now COLONY MAY B E RANDOM OR P R O G
not become boring. load " l i f e " . It w i l l run RAMMED"
a u t o m a t i c a l l y , load the
The Sinclair version is lacking machine code and display the 50 PPINT A T 1 1 , 3 } " Y O U MAY S T O
in several of these respects so instructions. P A T ANY T I M E T O " * " C H A N G E T H E D

74 ZX COMPUTING JUNE/JULY 1984


SPECTRUM
L ISPLAY
60 PRINT
OP RETURN"*"
PAPER 21
TO
INK
THE
9;
MENU"
AT i
210
220
DEF FN
L E T p=
p<)=22527+<32*r)
F N p<>
7
, 31 * P R E S S ANY KEY TO CONTINUE" 230 LET PEEK p
70 IF INKEY$ THEN GO TO 240 POKE p ,18
70 250 LET d= CODE I N K E Y * -- 4488: : IF

L
80 BEEP .2,13: POKE 23659,2: C d<1 OR d >9 THEN GO T O 2 5 0
LS 260 I F d«3 T H E N ' GO T O 4 0 0
90 PRINT AT 1,13;"MENU" 270 I F D=4 THEN GO T O 5 0 0

L 100 PRINT O V E R 1? A T 2 , 1 3 ! " 280 I F d«9 THEN GO T O 6 0 0


285 POKE p,z
110 PRINT AT 5,3! l:RANDOM STA 286 BEEP .1,10
RT"
I 120 P P I N T AT 7 , 3 ; 2:PROGRAMMED
2 9 0 LET c - c + C d - 8 ) - ( d - 5 ) :
r + <d = 6 ) - <d = 7 )
LET r=

START" 310 I F c - 3 3 THEN LET c=l


125 PRINT AT 9 , 3 ! " 3 : E N D " 311 I F c =0 THEN L E T c=»32
130 P R I N T AT 1 2 , 2 ! " W H E N THE PR 3 1 2 I F r = 2 2 THEN LET r=0
OGRAM I S R U N N I N G , KEY " " 1 " " W 313 I F r =-1 THEN L E T r = 21
I L L R E T U R N TO T H E MENU AND 3 2 0 GO T O 2 2 0
K E Y » » Z " » W I L L ALLOW CHANGES 400 POKE 2 3 6 5 9 , 2 : POKE p,z
TO B E MADE TO T H E SCREEN" 4 0 5 GO S U B 1 0 0 0 * . GO S U B 1010
140 PRINT FLASH l j INK l ; PAPE 4 1 0 L E T X - USR 3 0 1 3 9
R 9 ; AT 2 1 , 7 ; " E N T E R YOUR C H O I C E " 500 LET z = 48
150 L E T a*= INKEY* 505 BEEP .2,20
160 I F C O D E a * < 4 9 OR CODE a * > 5 1 0 POKE p , 1 7 0 : GO T O 2 4 5
54 THEN GO T O 1 5 0 6 0 0 L E T z =54
170 I F a * = " l " THEN GO S U B 1 0 0 0 605 BEEP .2,0
: GO S U B 1 0 1 0 : L E T USR 3 0 0 8 8 610 POKE p , 1 7 0 : GO T O 2 4 5
180 I F a * = " 3 " T H E N GO T O 7 0 0 7 0 0 POKE 2 3 6 5 9 , 2 : STOP
1 9 0 L E T 1» USR 3 0 3 5 1 1000 POKE 2 3 6 8 4 , 1 2 8 : POKE 23685,
200 B E E P . 2 , 1 5 : LET c =16: LET r 8 0 : POKE 2 3 6 8 6 , 3 3 : POKE 23687,2:
«11 POKF 2 3 6 5 " , O : RETURN
2 0 5 GO S U B 1 0 0 0 : POKE 2 3 6 5 9 , 0 : 1010 PRINT PAPER 4 ; I N K 9 ; AT 2
PRINT PAPER 4 ; I N K 9 ; AT 22,0;" 2,0;" enter 1 for menu,2 to alt
use c u r s o r s to move,3 to return, er "
4 to e n t e r , 9 to erase" 1020 RETURN

Listing 2: The machine code loader


10 DATA "DFFF010001001E0002001 ECAFA7521085C7EFE312011218D5C361
FOOO1000100FFFF02001EOOO10001007 37 \ 500022425C214«*5C360IC9FE32200
E0201000100E0FF01001E0002001EOOO C21C80022425C21445C 3601C 90000FDC
10001001E005FFD010001007E0201000 BO 1 A F C 3 B A 7 5 F D C B 0 2 3 6 2 1 6 E S C 3 6 0 2 2 1 0
1001E000200C1FF1EOOO10001001EOOO 04C22845C212118"
2001EOOO100" 5 0 DATA "22885C0000002100580E1
2 0 DATA "183C5A7E2424428121807 606203EROD73636231OF80D20F3FDCBO
5227B5CCD8F762100580E160620E52A7 1AEC ° C 5 D 5 1 1 0 1 0 0 C D B 5 0 3 D 1 C 1 C 9 "
65CC5450E2909C10000007C22765CE1F 60 PESTORE
E32380*3 363618023630231OE10D20DCO 70 CLEAR 29999: L E T A=30000
1BE0211007D210058EDB011005821007 8 0 F O R B=1 TO 5
DOE1606203E16B928133E20B828143E0 "O READ C *
1B92315B828" 1 0 0 L E T D=<< C O D E C * - 4 3 ) - < 7 * < C
3 0 DATA "18DD2130751816DD21407 ODE C * > 5 7 ) > ) * 1 6
51810DD215075180ADD2160751804DD2 H O L E T E = D + ( ( CODE C*(2)-43)-t
17075C5E5D53E3006080EOODD5EOODD2 7 * ( CODE C*(2)>57))>
3DD5600DD2319BE2001OC10EFD1E179F 130 POKE A,E
E032809FE0220127EFE30200D3E3012E !40 L E T A - A + I : L E T C * = C * ( 3 TO )
5216400C DBE76E1180B3E3612E521000 150 I F C * > " " THEN GO T O 1 0 0
2CDBE"76E 1 " 160 NEXT B
4 0 DATA "1323C1108B0020860E960 17n S A V E " b y t e s 1" CODE 3 0 0 0 0 , 4 1
6FTFDCB016E200C10F80D20F3FDCB01A

75 ZX COMPUTING JUNE/JULY 1984


^ ^ , —
I M
•v -

computer & w d e o ^ M E S .

Br
Hiant!
^HlCH
Micro?
and
S o f t w a r
E KEVl £W

p o \ e position
What can we say?

We're overwhelmed. Though we should just add that with Atarisoft, you can now play Pole Position on the
Commodore 64, BBC and Spectrum computers, as well as on all Atari® P O L E P O S I T I O N
systems. Oh, and we're giving away free a Grand Prix kit and full colour from ATARISOFT
wall chart with every game.

LOOK OUT FOR OTHER UAOWG COMPUTER GAMES ON ATARISOFT PRICES START FROM £14 99 TRADEMARK OF NAMCO. • TM ARE TRADEMARKS OF ATARI WC
Sean Morley of County Mayo challenges
you to escape or die in
this exciting ZX81 game.
T h e p l a n e t of Omicron, beware! Crag can chew his 81 Checks to see if you were eaten by the Crag.
graveyard of many fearless way through them! 82 Reduces Crag's movement depending on level
space explorers, is about to To guide your man, " * of difficulty.
claim another victim — Y O U . use the cursor keys 5 , 6 , 7 and 85-87 Calculates Crag's new position.
However, you have one last 8. Good Luck. 90-95 Calculates your new position.
chance to survive — a shuttle 100-110 P E E K S your position to make sure it's empty. If
has been sent to rescue you, variables there is a rock there your move is cancelled.
all you have to do is reach tt. It 120-130 Cancels your move from lines 1 0 0 - 1 1 0 .
has landed at the opposite A Crag's vertical position. 134 Erases you.
edge of a rocky plain that you B Crag's horizontal position. 135 Erases Crag.
will have to cross, so you must X Your vertical position. 1 36 Prints you in original position after a cancelled
leave the safety of your cave Y Your horizontal position. move.
and set off. L Level of difficulty, 1 37 Returns to line 8 0 .
This would be an easy task A$ Key depressed. 140 Prints you in your new position.
were it is not for the savage
Crag who will give chase as Graphics 1 50 Prints a space behind you depending on which
way you moved.
soon as he sees you. You In line 20 rocks are 1 53 Checks to see if the Crag got you.
must, of course, go around the represented by inverse X s . 1 55-1 5 6 Blanks out you and Crag.
rocks — inverse X s (these are In tine 5 5 the shuttle is 160 Goes back to line 8 0 .
in line 2 0 of the listing and represented by a graphic Q and 1000-1010 Prints end routine after you have been eaten by
have been listed as " x " l — but a graphic W . the Crag.
1020-1030 Checks to see if Y or N w a s pressed for new
game.
How it runs 2000-2020 Prints end routine after you have reached the
shuttle.
2030-2050 Checks to see if Y or N w a s pressed for new
4 Goes to instruction routine. game.
5 Sets levels of difficulty. 4000-4020 Prints instructions.
6-30 Draws rocks at random positions. 4030-4055 Inputs level of difficulty and checks to see that
31 Clears rocks printed around you before you it is between 3 and 10.
start. 4065 Waits for 2 seconds.
40-50 Initialises variables which hold your position. 4070 Waits for key to be pressed before continuing
55 Prints shuttle. game.
60-70 Initialises variables which hold Crag's position. 4080 Clears the screen.
80 T e s t s for key depression. 4090 Returns to game.

78 ZX COMPUTING JUNE/JULY 1984


ZX81 CAME
!34 P R I N T AT A,E{" "
135 P R I N T AT X,Y;" -
136 P R I N T AT X, Y ; " * "
13"> GOTO 8 0
140 PRINT
150 P P I N T AT X , Y + 1 K " " AND AS=»
• 5 " > ; A T X , V - 1 ; C " - AND
T X+1,Y;(" " AMD A * = " 7 " ) ; A T X 1 ,
Y | ( * " AND >
1 5 3 I F A * X AND B = Y T H E N G O T O 1 0
rn
155 P P I N T AT X , Y ; -
156 P R I N T AT A , B ; -
160 GOTO 8 0
1000 CLS
!010 P R I N T AT 8,0; YOU WERE E A T E
N BY THE CRAG. FOR ANOTHER G
0 HIT Y I F NOT H I T N"
1020 IF INKEYS="Y" T H E N RUN
!030 IF INKEY*="N" THEN S T O P
10^0 GOTO 1 0 2 0
a
OOSUP 3000 CLE
FT / 10 2 0 1 0 P R I N T AT 8,0; YOU MANAGED T
c OA'JP 0 REACH THE SHUTTLE IN TI
t? F O R A = 0 TO 1 0 0 ME.WELL DONE"
P R I N T AT R N D * 2 1 , R N D * 3 1 ; " * " ->020 P p I N T A T ! 2 , 0 ; "FOR ANOTHER
30 NEXT A GO ! F NOT H I T N"
3 ! P P T NT AT 0 , 1 : - * | A T I , C S " " 2 0 3 0 TP I N K E Y * = " Y * THEN RUN
10 I ET x * o 2040 IF INKEY*="NB THEN STOP
SO L E T Y « 0 2 0 5 0 GOTO 2 0 3 0
•5* PRINT AT 20,30;CHP* 130JCHR 4000 PRINT * ESCAPE FPOM OMI
% 129 J AT 19,301" ";AT 20,29;- - CRCN"," mmmmmmmmmmmmat^mmmmmBt,
AO LET A»20
~>0 l.ET B*0 4 0 1 0 P R I N T AT 6 , 0 ; YOU A R E S T R A N
80 LET A*=INKEYt D E D ON T H E " O C K Y P L A N E T O F OMI
91 I F A » X AND B » Y THEN GOSL'B 1 C P O N . A (SMI'TTL.E H A S B E E N S E M T t
O
Tr c
000 R E S C U E vp'.t B U T Y O U H A V E ' C OSS
82 I F P H D > L T H E N GOTO 8 7 A P O C K Y P L A I N TO REACH IT"
85 L E T A = A + ( 1 AND A < X > - ( 1 A*'! 3 4 0 2 0 P R I N T AT 1 0 , ° " B H T A S SOON
A >X) AS YO'J L F A V E YOUR CAVE HE S
86 LET B=B+<1 AND E<Y)-(l AND AVAGF C R A G C H A S E S Y O U . ME I
B >V ) S A F L e TO E A T " I S WAY T H R O U G H
P R I N T AT A , E ; " 0 " ANYTHING"
L E T V - Y + T I AND A * = " 8 " AFIR V 403O P R I N T AT 1 6 , 0 ! " E N T E R A L E VE
•*30» - M AMD AN!: " 1. OF* r I F I C U L T Y { 1 - 1 0 ) "
95 LET v « x H ! AND A « = " 6 " AND X 4040 PRINT AT 1 7 , 0 ; " L E V E L 1 IS V
< 2 0 » - ( l AND A-ST""*- AND X N f V F p v E A S Y AND L E V E L 10 I S VERY
" 6 T r Y » ? 0 AND ( Y = 3 C T P v
- ~ 1 DIFFICULT"
THEN G O S U B 2 C 0 0 1^50 I N P U T l.
»NO OPJKTT A T X , Y ; ' 0 5 5 P P I N * " A T 1 5 , 0 ; " U S E ARROW K E
V O I P PEEK f P E E K 1 6 3 * ? 8 • 2 5 6 * D E E 'S TO M O V E "
r
V i - t ^ p o j - o OP P F F ^ C P E E I * 14399*2 P ! N T AT 1 9 , C ; " H I T ANY K E Y
T T
1 6 3 9 P ) = 5 ? THEN G 0 ^ I 0 PEGIN"
120 LET Y » Y - ( I AND A <JOA5 P A U S E 100
ND A * = " 5 " ) 4 0 7 f l I F T M K E <"S= " " T H E M G O T O 10"*0
130 L E T - = x - ( 1 AND A t « " 6 « | t f l A 4090 CLS
WD A * = " " » * * ) 4000 RETURN
'.33 I " AND B « v T H E N G O T ? 6000 SAVE "ESCAPE FROM OMICRON"
r» n 6010 PUN

79 ZX COMPUTING JUNE/JULY 1984


> It's ARRIVED!
— the next generation of
O EARLY
LEARNING
BC y^X SOFTWARE
C/l* M
w

Games that make fun out of learning


Hand-built by teachers, played by children
JUNGLE JUMBLE (5+)
WHIZZ QUIZ (7+)
S T A R f f i U f i t t i & (9+)

rrrr

n
Can you meet Laserwarp's
infinite Challenge?

A t l a s t - a real challenge for the


arcade a c e : Laserwarp, the most ^ ^ ^ ^ ^ ^ ^ ^ ^
..- W
exciting arcade-style g a m e around, ^
in full, high-res graphics. It's got
everything-fight your way through
the ramships, s p a c e mines, homing 1
-
.

At-
^
4k-.
'

if
^ - '
. 'V v
'
j
droids, hyperspace c h i c k e n s , -"A-
interstellar pogos, and more, till A & l / I to
you challenge the Master. C a n you
beat h i m ? C a n anybody beat h i m ? \
C o m e s complete with Hall of F a m e , /
coded verifiable high s c o r e - s e n d ^
yours in and s e e if you c a n win the ^fl
£ 1 0 0 Mikro-Gen are offering every

II
Bl
lattrwarf, Mlkrv-Gin •III rtplaci N ^ ^^jfe
TOP l

^Genesis II
the adventure game that understands plain English!
**
T h e colony s h i p G e n e s i s II has been h i j a c k e d by s p a c e pirates - and
you're the only c r e w m a n left! Only you c a n s a v e the cargo - a n entire

up
forest, full of a n i m a l s , destined to populate a new world. T h i s exciting
adventure g a m e h a s a vocabulary of nearly 3 0 0 words, avoiding that
frustrating s e a r c h for the precise word c o m m a n d . ^ ^ ; r i 8 K S

£6.95
* Nearly 100 different locations
it Over 6 0 o b j e c t s * 100% m a c h i n e code
•k Over 5 0 0 possible actions A i U l
Just part of Mikro-Gen's great range - look out for Paradrcxds. Mad Martha II.
Cruise Attack Land of Sagan. Galakzions, Deffendar and many others.
Available from WH Smith, Coop, Boots, Menzies & other leading retailers, or
direct from Mikro-Gen (Please make cheque/PO payable to Mikro-Gen & add
40p post & packing
Patrick Cain gives us his thoughts on some of the
latest books available for the Sinclair user.
Using Your Home an effective example.
Later chapters offer a further
of superhuman that is around
these d a y s ? When rising
graphics. Andrew Nelson's
adventures are word based and
Computer — Garth selection of projects, in fact, a unemployment, high cholestrol rely on you to draw your own
w P Davies total of 2 3 topics range from a levels and the likelihood of pictures. That is no bad thing for
diet plan, recipes and menus, overexposure to the Olympic it means that the scope of the
football pools forecasting to ex- Games are enough for most of adventure can be greater than
It w a s an enquiry from a reader amination questions and mort- us. there are those of rare good one that w a s restricted by
that brought this book to my at- gage repayments. Each project sense, who, without regard to graphics. It also means that the
tention: there aren't many specification follows the theory witches, ogres, trolls or their design of the game is signifi-
books available for practical already discussed. Readers who brains seek excitement in the cantly more simple and can easi-
computer applications in the closely follow the specifications world of adventure games. Now ly be discussed in full within the
home. A short time later I came in their own projects will find for those who have been gifted book.
across Using Your Home Com- themselves with the largest part with more than their fair share of While any adventure game
puter: the subtitle, Practical Pro- of the work already done and superhuman powers, there is will be judged for its individuali-
jects for the Micro Owner, sug- well on the way to completing Creating Adventure Programs ty, it is the effectiveness of its
gested that this might be a book the rest. on Your Computer, an Interface design structure — common to
that could fill the gap. Both Mr At no point in Using Your Publication written by Andrew all adventure games — that
Oavies and the publishers, Mac- Home Computer does any com- Nelson: Superheroes read on. makes it reliable. In the eighteen
Millan Press, might well be on to puter code appear: all project The book itself is quite an months that Andrew Nelson has
a good thing here, I couldn't wait suggested could be applied to adventure. At times I had to rely spent 'playing, devising and pro-
to find out what uses all w e any machine, given that suffi- on my own superhuman skills to gramming' adventure games he
frustrated serious applications cient memory is available. It fathom it out. An exciting battle has learned well the importance
people could be putting our follows then that readers are ex- with the binder notes followed of structure and devised his own
minds to around the home. pected to be capable of coding by skirmishes with the pages effective method which he in-
On the principle that if you from the specifications arrived that lurked within failed to reveal troduces in the book. The three
give a man a fish you feed him at, but that should not prove too for which particular computer adventure programs contained,
for a day but teach a man to fish difficult. The main difficulty will adventures might be created, 'Werewolves and Wanderer',
and you feed him forever — lie in finding worthwhile uses for although, to be fair, the text is 'The Aftermath of the Asmovian
Garth Oavies goes further than your home computer. I am not very general and the program Disaster' and 'The Citadel of
the titles suggest and attempts entirely convinced that many of listings, which were in B A S I C , Pershu' are examples of the ap-
to lay guidelines and establish a the twenty four examples in- could easily be adapted to suit plication of his design. The text
good working procedure for cluded within the paperback's any B A S I C dialect. Equally uses these to show how from an
designing a variety of practical eighty pages fall into that m y s t e r i o u s w a s the price; initial idea a full adventure can
projects. To do this he can draw category. although I'm sure there must be be built. From laying the floor
on his extensive commercial Whether this book will be a one, there w a s no evidence of plan to developing handling
background in systems real aid to you will depend on the such, which makes it a bit tricky techniques to a final elaboration
analysis. In fact, if this book ideas you have for using your to judge whether the soft back of the game, reference is made to
teaches anything then it is how computer around the home. and 2 3 6 pages between repre- one of these examples. By
to set about analysing problems. There is little doubt that a prac- sent good value. following the author's guide-
The theory then is that having tical method for examining your Adventure games represent a lines, a systematic approach to
acquired a method of breaking ideas and analysing the problem substantial proportion of the a d v e n t u r e g a m e s c a n be
down possible tasks to identify to produce a workable project software available for home developed and applied to your
the requirements, the solving specification can be learned, micros, while books on their o w n e f f o r t s . No book c a n
will be so much simpler and all professional systems analysts creation are something of a rari- guarantee that it will enable you
that really is needed to make full will confirm that, this book can ty. It w a s refreshing to discover to create 'Magnificent Adven-
use of your home computer is a teach these things well. Perhaps a text removed from the run of ture Games', but many abstract
handful of clever ideas. Without some further examination the mill' 1 0 0 Imitations Of Your concepts have been explained
any doubt this analytical ap- would show that few things in Favourite Arcade Games' type and once attained the reader is
proach has proved itself well in the domestic environment re- that are in such great abun- empowered to create a reliable
business. quire such effort. dance. Having recognised some adventure base.
Fortunately, the text does not uncharted or unwritten for ter- Unfortunately, while it w a s
burden readers with theoretical Using Your Home Computer is ritory, has Andrew Nelson been possible to recognise and ap-
planning models or jargon terms written by Garth WP Davies and able to set his mark on the preciate Nelson's technique and
of business use, but discusses published by MacMillan Press. ground he pioneers? Will the indeed to learn from it well for it
each topic with reference to ISB0 333 352173. reader, as promised on the is not too demanding or com-
realistic home examples. By binder notes, "soon be creating plicated, it w a s difficult to
adopting this method the author
is able to explain the logic and Creating magnificent Adventure Pro-
grams"; Without leading you a
follow his train of thought and I
found that several readings and
highlight pitfalls with tangible Adventure merry dance or on a wild goose a fair deal of intuitive guess work
examples. The result is a well Programs on Your adventure the short answer is
No. Well, maybe.
were required. " A l l I can do is
written text that clearly explains
the technique. Although I do not Computer — If the type of adventure you
ask you to proceed on trust" is
to me a rather lame request, bet-
think a Christmas card list com- Andrew Nelson seek is the picture sort, then go ter perhaps if the author had
piler (the example used in the no further for this book is not in- spent a few more months plann-
discussion) is a terrific idea, it is Have you noticed the new brand tended to offer guidance on ing the book as carefully as he

82 ZX COMPUTING JUNE/JULY 1984


BOOK REVIEWS
had studied adventure games. should help prevent future
I wonder if the publishers damage to both heads and
were aware of the deficiency walls.
and the need for repeated Chapter One, 'Writing on the
reading and made allowances Screen' deals with the PRINT
for such by including pages statement in its various forms,
1 8 9 - 3 0 2 twice.) writing messages on the screen,
Achieving magnificence is an positioning screen output and
individual thing. A magnificent simple arithmetic; introducing
adventure program depends on and explaining on the w a y
a reliable structure and the in- strings expressions, arguments
ventiveness of the creator; that and variables. Each topic is
inventiveness depends on the discussed in straightforward
creator's background know- text, highlighting each point or
ledge. Chapter 2 1 , 'Adding Ex- instruction with an example and
citement', offers several supporting screen illustration.
pointers to features of a good Not, of course, a new approach
game and sources of informa- to this subject but one that
tion and background. If the works well because the authors
reader applies the technique of- have identified likely areas of dif-
fered by the author, he can ficulty and developed the text
create an adventure game; by accordingly. (NB: page 1 7 :
heeding the a d v i c e on don't get too worried if your
characteristics of good games, computer gives a different
the reader will be in a position to answer to the cosine of 4 3 ,
create a better program. These unless the laws of mathematics
are the things that this book can have changed this is a printers
teach. What a pity the text is at error: at least that's my angle.)
times unclear for all the right in- Subsequent chapters build on
formation is included. Program- the knowledge and expertise
mers with a working command that has been built up in the first
of BASIC will understand any few pages. By chapter 2 this ex-
programming techniques used, pertise is put to good use in
maybe only those with adven- writing short programs, reinfor-
ture experience will succeed in cing the theory learned so far
unravelling the text. while introducing new elements
of the computer's ability, eg
Creating Adventure Programs ' l o a d i n g ' and ' s a v i n g ' . A s
On Your Computer by Andrew t h r o u g h o u t , the t e x t is
Nelson is priced at £4.95 and straightforward and unassum-
published by Interface. ISBN ing, expanding and elaborating
0907563 36 8: ideas to give a fuller awareness
of the topic. Supporting ex-
amples are fun and interesting
First steps in BASIC enough to try, while again clear
— Susan Curran illustrations compliment and
highlight the text.
and Roy Curnow Further chapters take task in
'loops and branches', 'editing
The credits of husband and wife and debugging' and 'handling
team, Susan Curran and Roy data' until a comprehensive
Curnow read like the glittering knowledge of B A S I C state-
prizes of the commercial and remember my own frustrated Spectrum. But far outweighing ments and familiarity with their
personal computing world. The attempts at mastering this any criticism must be the credit applications is gained. Chapter
computer titles they have jointly 'genius level' code and recognis- due to a well planned and 7 , 'Writing Longer Programs',
and individually been responsi- ing the need for a more patient thoughtful book that is aware of brings these s t a t e m e n t s
ble for total far too many to in- set of instructions. It is, after all, those 'early days' pitfalls. together and sets guidelines for
clude here. Susan is a specialist the manual's job to detail the The reader is not expected to planning and writing more in-
in User Applications of Micro features of the language as ap- have any previous knowledge of volved programs. On conclusion
Computers as well as a director plied to the machine and not to computing and no more is re- the reader should be familiar
of a consultancy company. Roy teach programming. Of course, quired of him than that he has with B A S I C statements and
squeezes being a Professor at many more resourceful people connected the various wires and aware of good program struc-
C i t y U n i v e r s i t y , London in than I have recognised this switched on. In fact, allowances ture . A t this point it is necessary
alongside with being an advisor need, resulting in a crock of have been made for readers who to develop the skills learned, a
to several multinationals, an I T books of varying standard, aim- may as yet not be in possession job that is beyond the scope of
Consultant, an author and a ed at the novice computer pro- of a computer, although why this book, and readers are
company director! He w a s also grammer. A s one might expect, anyone should want to learn to directed to further reading
the man the BBC made responsi- this one stands out from the program without one is beyond material. New programmers will
ble for structuring and develop- crowd. me. It is my opinion that a lot of find that in investigation of
ing the 'Computer Program' It is fair criticism, I think, to heads are banged against walls subsequent texts they have a
television series. Their pedigree say that it might have been bet- as novice programmers toil with firm foundation as a starting
alone makes their current book, ter if the authors had chosen to a whole new confusing world, point for develping their pro-
'First Steps in Basic', a Wind- devote the book to one type of unable to identify and recognise gramming skills.
ward publication, well worthy of computer entirely. Instead, a the many constituent parts. An
some attention. non-specific text using 'Micro i n t r o d u c t o r y c h a p t e r t h a t First Steps In BASIC by Susan
As any new programmer will soft B A S I C ' as an example outlines the computer, its re- Curran and Roy Cumow is part
agonisingly testify, some com- caters for most computer types. quirements and functions, the of the Clear and Simple Home
puter manuals are precise to the An appendix details how the basic language — the reason for Computing Series published by
point of being sinful; others are dialect used varies from that run it and its applications and more Windward and costs £4.95.
simply muddled or remiss. I well on other machines, including the key etements of computing ISBNO 7112 0333 4

ZX COMPUTING JUNE/JULY 1984 83


P - S O

. r

Selected product* W
available from:
8001s. Woolworths, H M v ,
Menzies. Greens. Lasky's.

if ^
Rumbelows. Sell ridge
Spectrum Dealer
Video Palace. Zapp
and all gooa
Computer shops

w
v a K g ?
FOOTBALL
C7.95
-
W a 48K Spectrum
gyf V. League Analysa-
Eawto um Pook
w Prediction
Wid'i 9 methods ot
team performance
"'* AjLfti- analyst - let your
Spectrum gu«Jeyou to
yotf pools selection

FIGHTER DIGITAL
PILOT
£7.95 4BK Spectrum
TON
Joystick compatible L yifvaipnbioor Trade Centre.
A spectacUar night simulation ot the world s / 1 F Watchmoor Road,
most exabng jet fighter with stunning 3-D
cottp* view and the most realistic air to a» Cambe^y, Surrey GUI5 3AJ
\ 1 combat ever seen on the spectrum'

Night Gunner 4BK D £6 95Lifetime Guarantee Cheques payable to OgKAi integration


Fighter Pilot 4«K • E7 95 I enclose a cheque P O tor Total
Football 48K •E7 95 Namo
Please sand me ItiTan
e (Any Spectrum) nC5.50 Address.
tosowmg gam esTalonrdp &p <ndu*rve wifliin UK
the Spectrum lOAV
wersensmc 55p per cassette) Or debit my Access. Account No
Trade and Export enquiries
welcome.
x r[ 11111111111 H I
11
T«* SMI Ctmtmwv '0376 SS495S
Please send to Digital Integration. Dept
Watchmoor Trade Centre. Watchmoor Road. Camberley, Surrey GUI5 3AJ
3D BAT ATTACK An all acton, 3 dimensional
maze game where you gather up blocks of gold, at the same
time pitting your wits against vicious vampire bats whose
only purpose in life is to locate, hunt and kill you.
4 levels of skill. At each level the game gets faster and
more complicated, and the vampires more dangerous.
FOR SPECTRUM 48K

(heetohSoft

Soft were not J1S


FOR SPECTRUM 48K

CONQUEST

Jrmk
C O N Q U E S T A tactical game which even veteran
players wilt find both challenging and rewarding.
Mediterranean Europe is divided into grid squares. Your
aim. as Emperor, is to gam 100 squares of territory as quickly as
possible - at the same time dealing with Barbarian counter-
attacks, plagues, civil war and rival Emperors.
5 levels of skill, plus a continuous "Conquest' game where
ail the difficulty levels are thrown in together.

AFTER THESE,
THE REST IS KIDS STUFE
Arc you ready for CheetahSoft? So don't play unless you're ready
There's only one way to find out. to play the game for real. Because you'll
But be warned: these vampire bats know find there's one sure thing about
a good meal when they see one. And our CheetahSoft: Soft we're not.
friend with the . i c £4 £6.95 at all
scythe has had years I j e e r a h b O t t good stores.
of experience... ( j r g
we welcome back Toni Baker with the first in another
superb series on the delights of machine code.
Well, hello everyone, and welcome to the first in a brand new Let's get down to it then shall we? The memory used by the
series of articles. Throughout this series I intend to list and explain program starts at address C 0 0 0 , although the program itself
one program — only one, mind — not one per issue but one pro- doesn't actually start until w e reach address D B 4 2 , so here's
gram altogether throughout the series! Why? Well it's a bit long, what's what:
that's all.
One problem you get with long programs, I've found, is that COOOD7FF DFC Display File Copy used to record pictures
D800-DAFF AFC Atiributes File Copy used to record pictures
lots of errors seem to crop up in the listing, so we'll have to see DBOO DB41 System Variables used by the program
what w e can do about that. For those of you who've got the word
processor program, WordSheep, from the Feb/Mar issue, but You don't have to worry about any of this for the time being. Now
haven't managed to get it going yet, here are the corrections you for some work. The addresses from D B 4 2 to DB8F store a table
need to make: of subroutine addresses. The table will be called C M D _ A D D R S .
Since no subroutines exist at present then you should, for the
time being, set every entry in this table to 0 0 5 2 (an address in the
ROM at which a RET instruction is stored). To do this you must
Page 45: m COMPRESS ED80 should read EDBO POKE 52h into address 0 B 4 2 , 0 0 into D B 4 3 , 52h into D B 4 4 , 0 0
In ADJUST 0 1 0 0 6 0 should read 0 1 6 0 0 0 into D B 4 5 , . . . and so on up to . . . , 5 2 h into DB8E and 0 0 into
Page 4 6 Iri A RANDOM 20FD should read 30FD D 8 8 F . Got all that? Right, now for some more data — a table call-
In TRANSFER U 0 1 3 0 8 0 should read 0 1 0 3 8 0
In WIPE 23 should read 13 ed INP T A B L E . Feed this in:
Page 47 In DELETE MISSING INSTRUCTION C 9 (RET i from
end of subroutine., ORG 0 6 9 0
Page 48 IN PROCESS 2 1OOEA should read 21COEA
59 CE 38 31 INP TABLE DEFM " Y ' V ' N * " . " B " , " 1 "
Page 4 9 in REFORM MISSING INSTRUCTION 0 9 IADD HL.BCi
between 2AAFSC and 0 1 2 0 0 0 BO 00 39 38 DEFM " 0 * . "enter", " 9 ' V 8 "
37 36 35 34 DEfM "7". "6", "5", " 4 "
33 32 31 BO DEFM " 3 " . " 2 " , " 1 " , " 0 * "

It won't make a lot of sense to you at present, but all will become
Anyway back to the present. Light Screen Designer is for clear in a moment, so don't go a w a y . Note that some of the bytes
people who've got 4 8 K knocking around inside their Spectrum. If have 8 0 h added, and so I've marked these with an asterisk in the
you've only got 16K then bad luck — you can't use this program right hand column. Some more data coming up next, but in a
— not because it isn't relocatable, but because you just haven't slightly different form. What we have are eighteen messages
got enough memory — this really is a long program! which will later need to be printed at the bottom of the screen.
It's a program to help you design pictures on the screen, a Each message is followed by a coded byte which will tell the
grand artwork program incorporating just about every feature program if anything needs to be input. To enter this, note that the
you could possibly desire to help you draw pictures. You can do first column contains the address to which the message is to be
straight lines and curves and various geometrical shapes. In fact written, the second column contains the text of the message
the program will even do the colouring in for you once you've which must be loaded character by character from the specified
drawn the outline — in any colour too! address, and the third column contains one byte of data which
If you hunt around these pages you'll soon come across a pic- must be POKEd immediately after the text of the message (note
ture labelled Fig. 1. You have to M A K E one of these. It's a that this data is given in hex).
keyboard overlay and tells you what each of the keys do when
the program is running. To make an oveday, get a piece of card
the same size as a Spectrum keyboard, cut holes out for the keys ADDRESS TEXT DATA BYTE
to go through, and write all the appropriate words above the DBAO Light Screen Designer 80
holes. Alternatively, if you can't be bothered to do all that, just DBB6 Paint Colour 96
0BC3 WARNING - Screen Memory W.pe 90
keep a copy of Fig. 1 handy by your Spectrum when running the DBEO Store Memory 95
program and refer to it as and when you need to. I shall explain OBED Recall Memory 95
what each key actually does later on, when w e actually get down DBF8 Clear Screen 90
DC08 Number of Radians? space 80
to writing the individual parts. DC1C Now in Text Mode 80

86 ZX COMPUTING JUNE/JULY 1984


MACHINE CODE

BLUE REO MAGENTA GREEN CYAN YELLOW WHITE TRANSPARENT CONTRAST BLACK

PAINT FILL STORE RECALL


4 o o £ CLS UNDO

DRAW DRAW ORAM


DRAW RARALLEL CURSOR
PLOT ARC ARC ARC
QUARTER
CLEAR TYPE TEXT
LINE THROUGH USING H RAO
ELLIPSE OGHAM

CANCEL ClflCLf CIRCLE RECT-


MOVE MARK ELLIPSE ANGLE USR HIOE
MARK THROUGH CENTRE

SHIFT COPY INK PAPER FLASH BORDER OVER INVERSE BRIGHT ESCAPE

Kg.l

OC2D Machine Code Address? space 80 46 LD B.IHU B: = number of message


— DC44 COPY 90 to print.
DC49 Ink Colour 96 23 INC HL HL: - subroutine return
DC 54 Paper Colour 96 address
DC61 Flash Status 92 E5 PUSH HL Re-stack return address
DC6E Border Colour 98 219FDB LD H L . M E S S A G E S 1
DC7C Over Status 9E 7E ME S E A R C H LD A.IHLi
OC88 Inverse Status 9E 23 INC HL
DC97 Bright Status 92 FE80 CP 8 0
DC A 5 Return to BASIC 90 38FA JRC.ME_SEARCH Find start of next
message
10F8 DJNZME. SEARCH Search to find appropriate
Now so far I haven't realty given you anything useful except a lot message
of promises for the future, so I'd now like to implement just two 7£ ME PRINT LD A.(HL) A: • next character ot
subroutines in the program. The techniques involved are quite message
clever, although not difficult to follow, so I imagine you should be 23 INC HL
FE60 CP 8 0
able to learn from them. Firstly, we have a subroutine called C8 RET Z Return il data byte 8 0
G E T CHR which merely waits for any key other than " C A P S found.
S H I F T " to be pressed, and then returns with DE containing a cur- 3003 JR NC.ME_1NPUT Jump if other data byte
found
rent keyboard scan. D7 RST 10 Print character
18F6 JR ME—PRINT
ORG D C B 5 6F M E _ INPUT LDL.A
CD8E02 GET_CHR CALL 0 2 8 E . K E Y SCAN DE: = keyboard scan 26DB LD H . I N P _ T A B L E high HL: points to allowed
7B LD A.E inputs
FE2 7 CP 2 7 3E3F LD A . " ? "
2803 JR 2,GET CHR 2 Jump if "caps shift" on- D7 RST 10 Print a question mark.
ly pressed E5 ME _t LOOP PUSH HL
3C INC A CDB5DC CALL DCB5.GET CHR Wait for key to be pressed.
20F5 JR NZ.GET CHR Jump unless no keys al CD1E03 C A L L 0 3 1 E.KEY TEST Convert to character code
all are pressed. El POP HL
CD8E02 G E T „ C H R „ .2 CALL 0 2 8 E . K E Y .SCAN DE: = keyboard scan FE20 CP20
7B LD A.E 2811 JRZ.ME^EXIT Jump if " E S C A P E "
FE27 CP 2 7 pressed (Note that the
28F8 JR Z . G E T _ C H R 2 Jump <t "caps shift" slack is deliberately
only pressed. unbalanced)
3C INC A E5 PUSH HL
28F5 JR Z.GET CHR_2 Jump if no keys at 4F LDC.A C : - character iust input
all pressed. 7E ME CHECK LD A.IHLI A - one of the allowed
C9 RET characters.
23 INC HL
47 LDB.A
Notice that there w a s not one but two loops in the above routine. E67F AND 7F Disregard bit seven.
The first loop waits until either " c a p s shift" only or no keys at all 89 CPC
2807 JR Z.ME EXIT Jump If allowed character
are pressed, and the second loop then waits for any key or key was input
combination other than " c a p s shift only" or no keys at all. The CB10 RLB
purpose of having t w o loops instead of one is that the first loop 30F4 JR N C . M E _ C H E C K Jump if there are more
waits until the human finger is removed from the previous key characters to check.
El POP HL
depression and the second loop waits for a new key. If this were 18E3 JR M E „ I „ L O O P Try again
not one you would have an awfully fast "repeat" facility (not El ME_ Exrr POP HL Balance the stack.
desired). C36E0D JP006E.CLS_LQWER Clear lower pan of screen
and return
In order to understand the subroutine below, I ought to explain
what the data bytes in the message table were all about. 8 0
means "no input is required", 9 0 means "input Y or N " (for Y E S You can test this program out by writing the machine code C A L L
or NO) 9 2 means "input 0 , 1 or 8 " , 9 5 means "input any digit or M E S S A G E / D E F B ??/RET to any address and then calling it. If you
enter", 9 6 means "input any digit", 9 8 means "input any digit put a PAUSE 0 instruction after the USR instruction then you will
between 0 and 7 " , and 9E means "input either 0 or 1" . see the message at the bottom of the screen for as long as you
The subroutine below must be called in a rather special way — need. Notice that "Light Screen Designer", "Number of
C A L L MESSAGE/DEFB — where xx is a byte between 01 and Radians? " and "Machine Code Address?" will stay on the
12. The choice of byte determines which message is printed. screen during PAUSE 0 , but all the others will have been erased
Here's the subroutine: by the machine code as soon as the correct input w a s made.
In the next installment of this program I shall actually start do-
ORG D C C C ing something useful in the way of drawing pictures. Till then,
AF MESSAGE XOR A A = 00 S A V E all the material we've covered so far and we'll add to it with
CD0116 C A L L 1 6 0 T . C H A N „ OPEN Use Stream number zero
(lower pari of screen) each new installment.
El POP HL HL: • address of data
byte. Toni Baker

ZX COMPUTING JUNE/JULY 1984 87


B E L G E I Advanced Genealogy Package

9. G ^ o t
AO

1 V
M,
4 c " " ** ***
s.

L
c
FAMILY TREE

BEL G R A P H Advanced Graphics/Plotting

rmSBLCS (5B.0X.)

• o / H r P D < 34 . QV. >

I IPROFIf <15.>

BELTECH
1. Keyboard/File Entry 6. Pie Charts Software
2. Edit 7. Vert Bar Charts
3. Rename Records 8. Data Entry and Plot
Default Settings 9. Function (Equation)
4. Line Graphs Entry and Plot
5. Bar Charts/Histograms 10. Para metrics
TAPE DISC TOTAL
OTY OTY
KOKGE : 1 .37'<X'< J. . 5 7 A C C «L E : X x E 6 . V * E »
BEL BASE 13 66 1525

BEL GRAPH 14 69 16 45

BELCHEM
Chemistry 1 6 50 1035
CheiT«s»ry 2 8 50 10 35

BEL GEN 1250 1399

%
Genedogy

TOTAL inc. P. A P.!

NAME .
I ADORESS.
|
I
•MQ0& <
BEL BASE DATA BASE
| COMPUTER TYPE
Also:* - D»SC {< appfcc I
CHEM ONE - 'O' L E V E L C A L C U L A T I O N S
n
I cnforrcAAONa by c x o u c p o v i s a a c c e s s

CHEM TWO - ' 0 ' L E V E L G E N E R A L C H E M I S T R Y


Please Complete A Return to:
BEL TECH Unted Stanmo* IndutM
BEL TECH United Stanmore mdusJnai Estate
Bndgnoth. snrapfwe WV155HP Shropyw* WViSSHP of
Telephone 07462 5420 (24 Hn) H
Telephone: 07462 5420 (24 Hrs.)
Joystick and Light pen
Interface
for Sinclair S p e c t r u m w i t h t h e s e
•nrrff*™ The LIGHT P E N enables y o u to
produce high resolution
drawings o n your o w n T V

•.dLLL^J
f e a t u r e s to g i v e y o u e n d l e s s h o u r s
of e n j o y m e n t . screen simply by plugging into
1. Super p o s i t i v e r e s p o n s e ftre
the ear socket of your

11 r r r r n T i T T i T i
button. Spectrum. The controlling
2. F i r m s u c t i o n c u p s for s t a b l e s o f t w a r e supplied w i t h the

LHumiuIUJ
one h a n d operation. light pen has 16 pre-defined
3. S n u g fit h a n d m o u l d e d grip.
instructions. Y o u can change
4. A d d i t i o n a l fire b u t t o n .
5. E x t r a l o n g 4 ft l e a d . colour (Border, Paper, Ink),
d r a w circles, arcs, boxes, lines

rrn
The Interface supplied w i t h the
O u l c k S h o t (na) h a s a t w o J o y s t i c k s
a n d insert text onto the screen
facility. at a n y chosen place, y o u can
T h e first port s i m u l a t e s 6 7 8 9 & 0
also d r a w freehand. There is a
k e y s . T h e s e c o n d port s i m u l a t e s In feature to retain the screens
(31| c o m m a n d . It w i l l r u n a n y a n d animate. O n the 48K
Software. Spectrum y o u c a n retain 5
1. U s i n g k e y s 6, 7. 8 , 9 a n d 0 .
screens. You can also use the

jLlyjiiii!
2. H a v i n g r e d l f l n a b l e k e y
function. machine code o n Its o w n in
3. U s i n g In |31| I.e. K e m p s t o n . y o u r o w n programs, for
4. A n y S o f t w a r e y o u w r i t e
yourself.
itm selecting out of a menu etc.
The LIGHT P E N Is supplied

Ll LLUJLi1' 11 i U
w i t h a control interface, to
adjust the sensitivity/pen
alignment.

a 95

Keyboard for
use with a Spectrum
or ZX81
Our cased keyboard has 52
keys. 12 of w h k h form a
numeric pad. The 12 keys Spectra
comprise 1-9 numeric plus full
stop and shift keys, all in red. I Sound
distinguish from the main T h e so-called s p e a k e r In y o u r
S p e c t r u m Is really o n a b u z z e r
keyboard keys w h k h are in
W i t h the DK Tronlcs SPECTRA
grey, the keys contrast with S O U N D y o u c a n g e n e r a t e fully
the black case to form a very amplified sound through the
attractive unit. The case has s p e a k e r o n y o u r T V set. S P E C T R A
been designed to take a 7X81 S O U N D is a v e r y simple b u t
or Spectrum computer. I6K, highly effective add-on. This
32K or 64K can also be fitted m e a n s that y o u n o longer h a v e a
to the motherboard inside faint beep but a highly amplified
the case (61 model only). s o u n d , w h i c h c a n be a d j u s t e d
The case Is also large w i t h the T V volume control.
i | T h e S P E C T R A S O U N D fits
enough for other add-ons
J M c o m p a c t l y a n d n e a t l y inside t h e
like the power supply to S p e c t r u m c a s e a n d is c o n n e c t e d
be fitted, giving a very • by t h r e e small c r o c o d i l e d t p s .
smart self-contained _
unit with w h k h other
add-ons e.g. printer
etc. can still be used.
Our ZX Professional
keyboard offers more /
keys and features than /
any other model in i t s / j
price range making / /
It the best value Pie«*iendme Ol -
keyboard
Pieaseiendme o£
available. / / Please add on 11.25 for post and packing
I enclosecheque/PO payable to OK Troncs total E
or drtw my Access/Bare laycard NO.
I I I I I I II I I I I I I I I1
J " ' I '
| stature ^^^

d< Ironies ON Tronkl Lid. UnH 6. Shkf Mill InduttrMI E n * H . Name


Saffron W*M*n. Euci C*11 J AO.
TrUptKm: |0799| Z61SO(Z4 hnj S linnAd*e«
Send to: DK Troracs Ltd.. Urat 6. Shire HiH Ind. Eat.. Saffron
Watden Essex C811 3AO. Tel: (0799) 26350 (24 hrt) 5 Unas •
[EDITOR'S PROJECT 2|
When I completed last months "I
project I thought perhaps a few
lines to tie up the loose ends may
be needed in this issue; as it hap-

now..
pens, a whole new article is re-
quired.
For those deprived of the joy
of our last issue, may I just men-
tion that the Editor's Project
stemmed from a desire to im-
prove the print quality of our
listings. From these humble
beginnings a whole avalanche of
peripherals descended upon my
unwary head.
Being thus deluged, it soon
become obvious that I needed More useful devices for the Spectrum
somewhere to keep all these
items. Having purchased my
own portable T V and the Shin-
and ZX81. n
w a C P 8 0 printer purely for pro-
ducing the magazine (Taxman than my descriptive powers. ing all dancing. . . Well anyway, w a s roughly cut to accom-
please note!) the pressure from A friend Dave, a DIY fanatic, it's a lot more user friendly and modate the R S 2 3 2 socket and
the rest of the family to let them produced a cabinet for his com- performs many of the setting up the insides fitted loosely. Fitting
eat on the table now and then puter at a cost of about £ 1 7 but functions of an option program. the ribbon connector caused me
w a s becoming irritating. for anyone not into DIY I'd Although still under test and not a few headaches as I w a s loathe
recommend this as a unit for yet released, I w a s unable to to use as much force to push it in
as it eventually needed.
caoinet memoer? your consideration. cause it to crash or malfunction.
T h e i n s t r u c t i o n booklet/ Now came the test. Soft-
spectrum leaflets supplied were extensive ware V 2 loaded and ran without
After reading many publica-
tions, I ordered a computer
cabinet from Marcol Cabinets.
This arrived four days late but an
interfaces
1 Morex Peripherals supplied me
and very detailed, but written
for the experienced user rather
than the beginner. The informa-
tion includes all relevant details
any problem and the manual
gave full instructions for altering
the codes which would be sent
for UDGs and the Sinclair block
i
apology w a s sent in good time with their unit for testing com- including pin connections and graphic set. I had to write a short
and I had no hard feelings — I'd plete with detached connector the interface is compatible with program to set up thee codes to
waited longer for my computer cable. This unit is different from 'professional' programs such as suit my printer, I'm sure this
with no apology at alll Marcol the others as it has an R S 2 3 2 in- Tasword II, Masterfile etc. A s could have been included in the
have since assured me that the terface as well as the Centronics well as having the R S 2 3 2 , this V 2 set up program, the default
delay problem has been solved. that I needed. w a s the only interface to feature value of all these is 32 — a
Marcol make four varieties of There are two versions of a through port so that other units space.
cabinet priced from £ 3 9 . 9 9 for
a basic open unit to £ 1 8 5 . 0 0 for
a traditional English style (old
fashioned) cabinet with real
their driver software V I a n d V 2 ;
V1 is their standard program and
V 2 is the new improved all sing-
could be added on afterwards.
The Morex w a s the largest of
the units that I tried, the case
Working with T a s w o r d II
there w a s no problem, produc-
ing screen dumps was easy both n
wood veneer finish. For reasons
i
of price and family harmony I
opted for the £ 7 9 . 9 5 model.
It arrived as a "flat pack"
which meant that I had to put it
together myself. For someone
who equates 'Do it Yourself
with 'First Aid", the future did
not bode at all well.
It pleases me to say that after
spreading all the pieces out and
enlisting the help of the entire
Elder household, construction
w a s pretty straightforwrd and,
despite some of the bits being in-
correctly labelled, its simple
system of screws and blocks
meant that it w a s soon installed. i
C o n s t r u c t e d of veneered
chip, the cabinet is sturdy and
looks s lot better than my i
previous system of spaghetti
leads. There is plenty of room for
most of my bits and pieces,
tapes and books and when I've
finished the doors keep it ell out
of sight. I particularly like the
design of the sliding shelf which
is just right for sitting comfor- i
tably when working. It is a bit on
the large size, — 3 2 . 5 * high,
3 6 * wide, 1 6 . 7 5 " deep but
holds all my bits. The picture will
give you a better idea of its looks

90 ZX COMPUTING JUNE/JULY 1984


[EDITOR'S PROJECT 2|
Kempston Micro Electronics
Ltd can be contacted at Unit 3 0 ,
Singer Way, Woburn Road In-
dustrial Estate. Kempston, Bed-
ford M K 4 2 7AF,

softly softly...
Mentioned briefly last issue but
now well tested is a print utility
from Microdot Software of 3 0
Hazelmere Court, 2 6 Palace
Road, Streatham Hill, London
S W 2 3NH. This w a s written and
designed to be user friendly, and
especially to be relocatable.
Often a routine set at a particular
area of memory gets in the way
of other code but written in two
parts, a text print and a screen
copy routine, both or either of
which can be relocated, this pro-
gram solves the problem.
Primarily intended for the
Cobra R S 2 3 2 interface, it will
work on most R S 2 3 2 or Cen-
tronics interfaces with most of
the popular printers. Written as
compactly as possible to take up
a s l i t t l e of t h e R A M a s
necessary, it has many features:
unfortunately, sending user
modified graphics and UOG
codes is not included. Although
in normal and double size and 8 0 The instructions are brief but throwing the line one character not suitable for my applications,
column listings were simply a concise and simple, the printer out of sync with the screen. this is a neat and useful pro-
case of entering L U S T . Using can be controlled from one of I know that many readers like gram, especially if you write a lot
the 3 2 column option on L U S T the built in routines (most are their programs to be printed in of long programs or need a lot of
caused a slight problem as cer- catered for even the C P 8 0 ! ) or 3 2 character form so they can RAM for wordprocessing etc.
tain Keywords seem to cause a from external software. The lat- compare the screen with the The instructions are very
line of 31 characters, but this is ter is useful if you want to send listing; as you can see we have lengthy and very technical, an
only really a problem it you are special printer codes. It works used this form and w e will con- expert would find in it a wealth
trying to produce listings for a with all the usual business soft- tinue to do so. I'm sure that the
ware mentioned elsewhere. All of detail, I found it confusing.
magazine... intrusion of the extra space will Nevertheless, I w a s able to use it
I admit I know nothing about the u s u a l f u n c t i o n s w o r k not cause too much trouble. I
perfectly, to get 3 2 characters with only the minimum of head
R S 2 3 2 e x c e p t that s o m e will keep looking for the perfect scratchig due to the on screen
printers and peripherals use it so per line a simple POKE will set it interface but in the meantime I'll
up. So why am I so impressed? prompts. Even so, Kempston
I took it to the local expert. " O h , use the next best thing — the ZX and ZX Lprint h a v e rather
a Morex" he said, " I use one to Well, options exist within the Lprint III available from Euroelec- eliminated the need for this pro-
connect to my Beeb". The re- ROM to allow free use of LPRINT tronics, 2 6 Clarence Square, gram.
mainder of the evening w a s in- and LLIST as do the others, but Cheltenham, Glos. G L 5 0 2 U J .
comprehensible and I wished I'd
brought an interpreter along. All
COPY also is recognised and a
screen dump is produced easily sometimes life And finally
1 can report is that it worked and
he w a s enthusiastic due to "full
— all the others demand you call
a machine code routine via USR. gets tedious! Lurking in a dusty comer of the
h a n d s h a k i n g " capability — This is useful but not excep- office w a s a set of boxes, fur-
sounds like a Masonic ritual. If tional, the real power lies in the Having just written the above, ther investigation revealed a full
you require more details I sug- fact that when it is put in yet another interface arrived. Basicare system and a unit
gest you contact Morex graphics print mode, any time This one w a s the latest from marked PERICON C Centronics
Perhipherals Ltd at 1 7 2 B Kings you LPRINT or LLIST a line with Kempston and guess what? It interface.
Road, Reading. Berks RG1 4 E J block graphics or UDGs the in- performs exactly the same as Clutching my prize I rushed
(Tel: 0 7 3 4 5 8 4 2 3 8 ) terface recognises them, shifts the ZX Lprint III. Access to the off and connected it to the Z X 8 1
the printer into dot print mode, Eprom is slightly different; the only to find there w a s no cable or
2 The ZXLprint III dropped builds up the character on the ZX Lprint is via a set of CHR$ instructions! A few calls to
through the door just in time for paper in correct size relation (at codes, the Kempston Centronic Basicare Microsytem Ltd at 5
me to give it a good try out least on the C P 8 0 ) then changes E uses COPY:REM? Dryden Court, London S E 1 1
before writing this article and back into text mode and con- The Kempstorr stands up- 4NH and a very helpful Mr
I'm very glad it did! tinues with the line. This means right and is in their usual sturdy Grimsby soon replaced the miss-
Supplied with a built in ROM that I can now reproduce ALL case with a lip at the top. Both ing items.
instead of the usual software the Spectrum character set on wilt produce screen dumps in All the Z X 8 1 listings in this
tape, the unit is small and the on- listings. normal or double size, but the issue are produced by the
ly one to lie flat, the others stand There's only one thing that Kempston builds it up sideways Memotech interface which is
up on end. The cable is separate makes it less than perfect, but I on the paper. Quite honestly, completely hardware controlled
and connects to a set of pins ex- must point out that ALL the in- there is nothing between these but has so far functioned ade-
posed at the back. Next to these terfaces have the same fault (or impressive units in the operation quately. The Basicare unit is
pins are a set of R S 2 3 2 pins, but at least the ones I've tried) and of a Centronics printer, but the software controlled so I w a s ex-
I really didn't get a chance to get that is that after the keyword ZX Lprint has the added benefit cited by the thought that I could ^
expert help on this unit. THEN an extra space is printed. of the R S 2 3 2 connector. modify the program to s e n d ^

ZX COMPUTING JUNE/JULY 1984 91


DITOR'S PROJECT:
sign though (code 129 on my
printer).
The Basicare is a real en-
thusiast's set up and you wilt
need at least three units to run a
printer. I list them below and
cannot recommend them highly
enough if you are going alt the
way with the Z X 8 1 .

PERSONA - the base unit


which 'interfaces' between the
Z X 8 1 and the rest of the
modules. £ 3 0 . 2 5
RAM 1 6 - 16K RAM usable on-
ly with Persona, other RAMs are
U - not compatible. £ 2 6 . 7 5
PERICON C Centronics Inter-
face described above £ 4 1 . 7 5

Other units include RAM 0 8 ,


MINIMAP (to extend address
space from 64K to 1M byte)
RAM 6 4 . DROM, TOOLKIT.
PERICON A & B (input/output
devices). It is interesting to note
that neither ZX81 units suffer
from the intrusive 'space after
specific graphic printer codes. get into the program with the aid ZX81 wordprocessor is pushing THEN' problem.
This system is predominantly an of printouts it made of itself and it a bit! Letters are printed lower So that is the present state of
enthusiast's product and so a with a bit of hard thinking, I was case and inverse letters are up- affairs, I'm limited by my
mass of technical information is able to get the program to print per case. 1 have to swap them printers graphic set. If I could get
supplied. Suffice it to say that the three of the 8 1 s graphic set over to start with, then modify one with a user defined graphics
although it is complex, it is writ- available on my printer. The way the output codes for the set the quest would be at an end
ten in such a way that I was able it is set up is awkward for mak- graphics and set the line length and listings would be perfect!
to make sense of it. ing listings but sensible if you are to 32 by DIMming B$(33). I All donations gratefully
Sure enough, I was able to printing a lot of text - surely a couldn't get it to print a pound received...

j ^ E W FROM BELLFLOWER SOFTWARE FOR THE 48K SPECTRUM

S T T J A R T H E N . Rourtn r

OLUE ^ V 5TURRT\

More than 750 questions

• Personalised scoreboard
• 1 or 2 player option m

•^Random mystery tunes

• 6 rounds per game ^ ^

NOW AVAILABLE AT
SELECTED BRANCHES
OF W.H. SMITH
ALSO AVAILABLE BY MAIL ORDER FROM:
BELLFLOWER SOFTWARE.
6 ROSEWOOD AVENUE, GREENFORD.
MIDDLESEX 01-9031816
O The Stuart Henry Multiple Sclerosis Research Fund receives a donation for every copy sold O
COMPETITION

Unscramble the Jumbogram' and win


yourself some software!
• A s long as the correct coupon
is used for each entry, there is no
Results
limit to the number of entries Thank you for all the entries w e
from each individual. received to the Electronic Stars
Competition in the F e b M a r
• All entries must be postmark- issue of ZX Computing. Unfor-
ed before July 31 st, 1 9 8 4 . The tunately, there is only one
prizes will be awarded to the prizewinner, but someone has
first forty entries picked at ran- to win!
dom which have the correct Congratulations to Ms Suzi
answers, the decision to be Yann of Dudley in the West
made by the Editor of ZX Com- Midlands who is the lucky win-
puting. No correspondence will ner of the Atphacom printer
be entered into with regard to kindly donated by Dean Elec-
the results and it is a condition of tronics. Thank you again for all
entry that the Editor's decision is the entries and better luck next
accepted as final. time!
• The winners will be notified
by post and the results will be
published in a future issue of ZX
Computing

The problem The prizes


A s I w a s compiling a list of soft- To please both Spectrum and ookmmaeneocpeamemm^SPSOUILTCRPA
ware houses on my trusty Spec- ZX81 owners, the prizes this
trum, there w a s the ominous issue consist of forty sets of EAU^TUGAGELEOPDKIDEIDLISUESITCIA
flicker of lights that indicates a s o f t w a r e , t w e n t y for e a c h E N P O E R Q S T P M M H L U C N O E V R N L S V C I CPE I P
power fluctuation and usually machine, from Durell Software TIBHDVMECEFALHTIILIIKDOIITHR£UDM
t h e e n d of my p r o g r a m . and Protek Computing Ltd.
However, this time the result Durell Software have kindly OTVAARIPOAISMSDULNAIMATAICARLPRO
w a s unexpected. The computer supplied us with twenty sets of ^CCTRCVCMJRR.F.L I N G T
continued to function but when I each of their best selling pro-

f
recalled the list of names, the rams. Harrier Attack, Jungle
result w a s as you can see in rouble and the widely acclaim- Address your entries to:
Fig. 1. ed. S c u b a D i v e . All these
Inspiration s t r u c k and I programs have been or are in the ZX Computing Names Competition
thought " w h a t a good idea for a best seller c h a r t s and are 1 Golden Square London W1 R 3 A B
competition!" The task, definitely worth adding to your
therefore, is to find all the names collection. I h a v e f o u n d the f o l l o w i n g s o f t w a r e
of the software houses in the For ZX81 owners, the prizes c o m p a n i e s in t h e j u m b o g r a m :
jumble of words. Each letter have been donated by Protek, a
must only be used once and all company that has acquired a
the software companies men- good name for itself by selling
tioned sell software for the quality software for both the
2 X 8 1, Spectrum or both. ZX81 and the Spectrum as well
To enter, unscramble the as a joystick interface. To the
jumbogram and write the names w i n n e r s Protek are offering
on the form below. Fill in the twenty sets of their superb
coupon with your name and ad- ZX81 arcade games, UFO and
dress and send it, in a sealed Byter.
envelope, to our Golden Square
address marked 'Names Com- The rules
petition'. Please do not forget to • This competition is open to all
w r i t e on the back of the UK and Northern Ireland readers Name..
envelope the number of com- of ZX Computing, except
panies that you have employees of Argus Specialist
deciphered, without this your Publications Ltd, their printers Address
entry will not be considered and distributors, employees of
valid. Best of luck to you all and Durell Software, Protek Com-
don't forget to indicate which puting Ltd, or anyone
machine you have when you associated with the competi-
enter! tion.

ZX COMPUTING JUNE/JULY 1984 93


Mozart
SPECTRUM MUSIC

C 1 9 8
Chi-Yeung Choy of Ruislip flexes his fingers and
4 !
performs this musical
masterpiece.
The Spectrum's oft maligned A great deal of thought and
beep has been considered too attention to technical detail has
f e e b l e for a n y r e a s o n a b l e gone into this program for in-
musical application in the past, stance. the subroutines have
but now w e present a program been put at the start of the pro-
which will make you think again! gram to get every ounce of
Instead of the usual selection speed from the computer.
of sound effects or brief burst of Chi-Yeung tells us that his
barely recognisable tunes. Chi- greatest problem w a s fitting it
Yeung has successfully pro- into the 16 K due to the amount
grammed a computer version of of DATA required and that he
the first movement of Mozart's almost gave up. Type it in and
piano sonata in C Major K 5 4 5 . then give your fingers a rest and
What is even more amazing is your ears a treat. Play on
that it is written all in BASIC and maestro!
fits into the 16K machine!

Program
breakdown
Lines 3 0 - 2 3 0 Subroutines.
Lines 2 4 0 - 5 2 0 DATA statements containing pitch of 2 4 0 READ B | C , D
notes. 2 5 0 BEEP 2 * X , B + 5 : B E E P X , C * 5 : B
Line 1 0 0 0 Set up variables for note duration. EEP X,D+5: RETURN
Lines 1 0 1 0 - 2 0 7 0 Main program consisting of FOR-NEXT
loops. 5 0 0 REM * * * * * * * * * * * * * * * * * * * * * * *
5 1 0 REM M A I N FROGRAM
0>REM * C-Y Choy 1933 * 5 2 0 REM * * * * * * * * * * * * * * * * * * * * * * *
I P GO T O 5 0 0 5 3 0 LET X = l / 2 : LET Y = X / 2 : LET Z
20 R E M *********************** = X / 4 : LET A « X / 8
3 0 REM S U B R O U T I N E S 5 4 0 GO SUB 5 0
40 R E M *********************** 5 5 0 READ B , C | D , E
5 0 READ B,C,T 5 6 0 BEEP X + Y , B : BEEP Z , C : BEEP
60 BEEP 2 * X , B : BEEP XfC: BEEP Z,D: BEEP X , E : PAUSE 25
X,P: RETURN 570 GO SUB 5 0
70 F O R M=1 T O 1 6 580 BEEP X , 1 9
30 R E A D B : B E E P Z,B 590 FOR N=1 TO 3
9 0 N E X T M: R E T U R N 600 BEEP A , 1 9 : BEEP A,17: NEXT
100 F O R N=1 TO 8 N
l i d READ B : BEEP Y,B 610 BEEP A , 1 6 : BEEP A,17: BEEP
120 NEXT N X,16: PAUSE 2 5
130 BEEP X , 1 4 ; BEER X,19: BEEP 620 FOR N = 1 TO 5
X,7: PAUSE 25 6 3 0 READ B : BEEP Y,B
140 RETURN 6 4 0 FOR M = 1 TO 1 4
150 READ B,C,D,E,F 6 5 0 READ B : BEEP Z,B NEXT M: N
160 BEEP 2 * X , B : BEEP Z,C: BEEP EXT N
Y*2,D: BEEP 2 , E : BEEP Y+Z.F: RET 6 6 0 GO SUB 70
URN 6 7 0 GO SUB 100
170 FOR N-I TO 12 6 8 0 FOR N = 1 TO 2
180 READ B: B E E P Z,B 6 9 0 FOR M = 1 TO 4
190 NEXT N: RETURN 700 I F N = 1 THEN BEEP Z , 1 : BEEF
200 BEEP X,19 Z,2: GO TO 7 2 0
210 F O R N=1 T O 1 2 710 BEEP Z , 0 : BEEP Z , 2
220 READ B: B E E P Z,B-12 720 NEXT M: NEXT N
230 NEXT N: RETURN 730 RESTORE 2 1 2 0

94 ZX COMPUTING JUNE/JULY 1984


SPECTRUM MUSIC
740 FOR N=1 TO 2 1170 NEXT M: N E X T N
750 RESTORE 2 1 2 0 1180 BEEP 2#X,2l: PAUSE 25: BEEP
760 READ B,C,D,E F F(G,H,I,J,K,L, X , 21
M,P 1190 BEEP' 2 * X , 1 9 : PAUSE 25: BEEP
770 BEEP Y,B: BEEF Y,C: BEEP X+ X , 19
Y,D: BEEP Z,E: BEEP Z,F: BEEP Y, 1200 BEEP 2*X,17: PAUSE 25: BEEP
G: BEEP Y^H: BEEP A,I: BEEP A,J: X , 17
BEEP A , K : BEEP A * Z , L : BEEP Z,M: 1210 BEEP 2*X,16: PAUSE 25: BEEP
BEEP X , p : PAUSE 5 0 X , 16
7 8 0 NEXT N 1220 RESTORE 2300
7 9 0 FOR N—J. TO 4 1230 GO S U B 7 0
9 0 0 GO SUB 7 0 : N E X T M 1240 RESTORE 2100
8 1 0 GO SUB 1 5 0 1250 GO S U B 7 0 : GO S U B 100
8 2 0 BEEP Z , 2 0 : BEEP X + Z , 2 L : BEE 1260 FOR N - l TO 2
P A , 2 3 : BEEP A , 2 I : BEEP A , 2 0 : BE 1270 F O R M=*l T O 4
EP A , 2 1 : B E E P Y , 2 4 : B E E F Y , 2 I : B 1 2 8 0 I F N=2 THEN BEEP Z , 5 : BEEP
EEP Y ( 2 4 : B E E P Y , 2 1 Z,7: GO T O 1 3 0 0
8 3 0 BEEP Y , 2 3 : BEEP Y , 1 9 : BEEP 1290 BEEP Z , 6 : BEEP Z,7
2*X,26: BEEP Z , 2 4 : BEEP Z , 2 3 : BE 1 3 0 0 N E X T M: N E X T N
EP Z , 2 1 : BEEP Z , 1 9 1 3 1 0 F O R N=1 T O 2
3 4 0 FOR N - L TO 1 5 1320 RESTORE 2120
3 5 0 BEEP A , 2 3 : BEEP A , 2 1 : NEXT 1330 READ B , C , D , E f F , G , H , I , J , K , L ,
M M, P
860 BEEP Z,19: BEEP Z,2L: BEEP 1340 BEEP Y , B - 7 : BEEP Y , C - 7 : BEE
X , 19 P X+Y.D-7: BEEP Z , E - 7 : BEEP Z,F-
870 GO SUB 1 7 0 7: BEEP Y , G - 7 : BEEP Y , H - 7 : BEEP
380 R E S T O R E 2 1 8 0 : GO SUB 2 0 0 A,1-7: BEEP A , J - 7 : BEEP A . K - 7 : B
890 BEEP X , 7 : BEEP X , 2 3 : BEEP X EEP A+Z.L-7: BEEP Z,M-7: BEEP X,
,19: PAUSE 2 5 P-7: PAUSE 50
900 B E E P X , 7 : GO SUB 1 7 0 1350 NEXT M
910 R E S T O R E 2 1 9 0 : GO SUB 2 0 0 1 3 6 0 FOR N - i TO 2
920 FOR N - L TO 2 1 3 ^ 0 FOR M ' l TO 16
930 GO SUB 7 0 : N E X T N 1380 READ B: BEEP Z,B-7
940 BEEP X , 1 7 1 3 9 0 N E X T M: N E X T rt
950 RESTORE 2 1 9 0 1 4 0 0 F O R N=1 T O 2
960 FOR N » 1 TO 1 2 1 4 1 0 F O R M=1 T O 1 6
970 READ B : B E E P Z , B - 5 : NEXT N 1420 READ B : B E E P Z,B+5
980 BEEP X , 1 4 1 4 3 0 N E X T M: N E X T M
990 RESTORE 2 1 9 0 1440 RESTORE 2290
1000 FOR N - L TO 1 2 1 4 5 0 GO S U B 1 5 0
1 0 1 0 READ B : BEEP Z . B - 1 7 : NEXT N 1460 BEEP 2 * X , 2 l : BEEP Z , 2 0 : BEE
1 0 2 0 RESTORE 2 2 2 0 P Y+Z,2l: BEEP Z,20: BEEP Y+Z,21
1 0 3 0 FOR N « 1 TO 7 1470 BEEP Y,19
1 0 4 0 GO SUB 7 0 : N E X T N 1480 RESTORE 2310
1 0 5 0 R E S T O R E 2 0 3 0 : GO SUB 2 4 0 1 4 9 0 F O R N=1 T O 1 4
1 0 6 0 READ B , C , D , E 1500 READ B: B E E P Z f B : NEXT N
1 0 7 0 BEEP X + Y , B + 5 : BEEP Z , C + 5 : B 1510 F O R N=1 T O 1 5
EEP Z , D + 5 : B E E P X , E + 5 : P A U S E 2 5 1520 BEEP A,16: BEEP A , 1 4 : NEXT
1 0 8 0 GO SUB 2 4 0 N
1 0 9 0 BEEP X , 2 4 1530 BEEP Z,12: BEEP Zf14: BEEP
1 1 0 0 FOR N = 1 TO 3 X , 12
1110 BEEP A,24: BEEP A,22: NEXT 1540 RESTORE 2180
N 1550 F O R N - l TO 1 2
1120 BEEP A , 2 1 : BEEP A , 2 2 : BEEP 1560 READ B: B E E P Z , B - 7 : NEXT M
X,2L: PAUSE 2 5 1570 BEEP X,12
1130 FOR N - I TO 4 1530 RESTORE 2180
1140 READ B : B E E P Y , B + 5 1590 FOR N - l TO 1 2
1150 FOR M = 1 TO 1 4 1600 READ B: BEEP Z , B - 1 9 : NEXT N
1160 READ B : B E E P Z , B + 5 1610 BEEP X , 0 : B E E P X , 16.* B E E P X

ZX COMPUTING JUNE/JULY 1984 95


SPECTRUM MUSIC
, 1 2 : PAUSE 2 5 11,-5,- 1,2,7,19,14,11
29.90 REM * * * * * * * * * * * * * * * * * * * * * * * 2 1 7 0 DATA 9 , 1 1 , 1 2 , 1 5 , 1 6
201C REM DATA 2180 DATA 1 9 , 1 4 , 1 9 , 2 3 , 2 6 , 2 3 , 1 9 , 2
2 0 2 0 REM * * * * * * * * * * * * * * * * * * * * * * * 3,24,21,18,21
2 0 3 0 DATA 1 2 , 1 6 , 1 9 , 1 1 , 1 2 , 1 * 1 , 1 2 2 1 9 0 DATA 1 9 , 1 4 , 1 9 , 2 2 , 2 6 , 2 2 , 1 9 , 2
2040 DATA 2 1 , 1 9 , 2 4 2,24,21,18,21
2 0 5 0 DATA 9 , 1 1 , 1 2 , 1 4 , 1 6 , 1 7 , 1 9 , 2 1 2 2 0 0 DATA 7 , - 1 7 , - 1 5 , - 1 4 , - 1 2 , - 1 0 ,
,19,17,16,14,12,11,9 -8,-6,-5,19,22,21,19,17,16,14
2 0 6 0 DATA 7 , 9 , 1 1 , 1 2 , 1 4 , 1 6 , 1 7 , 1 9 , 2 2 1 0 DATA 1 3 , - 1 5 , - 1 3 , - 1 1 , - 1 0 , - 8 ,
17,16,14,12,11,9,7 -6,-4,-3,25,28,26,25,22,21,19
2 0 7 0 DATA 5 , 7 , 9 , 1 1 , 1 2 , 1 4 , 1 6 , 1 7 , 1 2220 DATA - 7 , 2 , 4 , 5 , 7 , 9 , 1 1 , 1 3 , 1 4 ,
6,14,12,11,9,7,5 2,5,4,2,0,-1,-3
2 0 8 0 DATA 4 , 5 , 7 , 9 , 1 1 , 1 2 , 1 4 , 1 6 , 1 4 2230 DATA - 4 , 1 1 , 1 2 , 1 4 , 1 6 , 1 8 , 2 0 , 2
,12,11,9,7,5,4 1,23,-4,-1,-3,-4,-7,-8,-10
2 0 9 0 DATA 2 , 4 , 5 , 7 , 9 , 1 1 , 1 3 , 1 4 , 9 , 1 2240 DATA - 1 2 , 2 1 , 2 8 , 2 6 , 2 4 , 2 3 , 2 1 ,
1,13,14,16,17,19 19,17,2,9,7,5,4,2,0
2 1 0 0 DATA 2 1 , 2 3 , 2 4 , 2 3 , 2 1 , 1 9 , 1 7 , 1 2250 DATA - 1 , 1 9 , 2 6 , 2 4 , 2 3 , 2 1 , 1 9 , 1
6,17,19,21,19,17,16,14,12 7,16,0,7,5,4,2,0,-1
2 1 1 0 DATA 1 1 , 1 9 , 1 6 , 1 2 , 1 4 , 1 9 , 1 6 , 1 2260 DATA - 3 , 1 7 , 2 4 , 2 3 , 2 1 , 1 9 , 1 7 , 1
2 6,14,-1,5,4,2,0,-1,-3
2 1 2 0 DATA 2 6 , 2 3 , 1 9 , 2 1 , 2 3 , 2 1 , 1 9 , 2 2270 DATA - 4 , 1 6 , 2 3 , 2 1 , 2 0 , 1 7 , 1 6 , 1
1,19,21,19,13,18 4,12,-3,0,-1,-3,-5,-7,-8
2 1 3 0 DATA 2 6 , - 1 , 2 , 7 , 1 1 , 2 6 , 2 3 , 1 9 , 2280 DATA - 1 0 , 1 0 , 1 4 , 1 2 , 1 0 , 9 , 7 , 5 ,
16,0,4,7,12,16,19,16 4,5,7,9,10,12,14,16
2 1 4 0 DATA 2 4 , - 3 , 0 , 6 , 9 . 2 4 , 2 1 , 1 8 , 1 2290 DATA 1 4 , 1 3 , 1 4 , 1 3 , 1 4
4 , - 1 , 2 , 6 , 1 1 , 1 4 , 1 8 , * 14 2300 DATA 1 4 , 2 , 4 , 5 , 7 , 9 , 1 1 , 1 3 , 1 4 ,
2150 DATA 2 3 , - 5 , - 1 , 4 , 7 , 2 3 , 1 9 , 1 6 , 9,11,13,14,16,17,19
12,-3,0,4,9,12,16,12 2310 DATA 2 1 , 2 3 , 2 4 , 2 6 , 2 8 , 2 6 , 2 4 , 2
2160 DATA 2 1 , - 6 , - 3 , 2 , 6 , 2 1 , 1 8 , 1 4 , 3,21,19,17,16,11,12

Spectrum 4 8 k
HEARING IS BELIEVING
Tele Sound
MAKE Y O U 11 OWN TV FILMS!
..T- LIVE ANIMATION
U MUSIC

SAVE them. .
& AMUSE FRIENDS AND FAMILY
WHEN YOU PLAY THEM BACK'
SPECTRUM BEEP BOOSTER
TCIXSOUND is ready built and TUESOUND ha* been designed
Iter u* *at*
«, Mill'
I ORDER
9IDH tested so that you can get the
full sound of your Spectrum
using the very late*t ultra
miniature components so it'*
^ ft MACRO
CONSTRUCTION
through any unmodified
television set. black and white
size is an incrfdiblt 2 1 1 J 11cm.
«*d fib »Mtly iuidc the Spectrum.
& ANIMATION CASSETTE MCA or colour. T h e unit is easy to Three easy push-on
fit in minute* without any connections are made to the
• SPECIAL MACRO-PROGRAMMING TECHNIQUE mm you 10 previous experience as full Spectrum. T h e connections
•Ca I Up any member o! cast mctudmg UFO Helicopter and a host t* fitting instruction* are are clearly shown in a
Personnel m a cftorce ot nearly 30 Ca«s' Make each any colour - large provided. diagram that comes with
full fitting instructions.
ones can oe m two colours'
•They walk run c)<mo and tiy
•Bii'id houses chixches etc a flash - 4 erase them
TELESOUND FEATURES
• sarai uiramTKITIU m MHO mm*
•Up 10 1 f> mms per Mm or more 4 you re a good Orector . tar mm wmsouuraw1 nsra is 1 IUI
•v,iKe characters speak using armotatons as m strips • UTIOTU cua aunt tun TO USOT PMOJLM urm
•Fon computer-piomptmg to save you making errors . noaitc CM K mil «iu UDK LMK> • no IOUUDK H UU CUTTMC ittma
• USITIMU JWMNA M«T Ntmun • uruiTtwninrntMTiwni
•ir.sianl playback edtmg and denting as you go atontf • Cits W MOUNT SO SHIS IITS ALLTTMUNS• OWP4TT1U WTT1 Ui. 0TH1 UT MS
•Vosi commands ate a single key-siroke without enter INCUHK MKIOMUTI
•Corr; - .e you' own times using the spe< u three-octave chromatic mus TELESOUND comes complete with easy to follow fitting
composer wntcn allows you to listen correct and ed< at each note if you instructions and costs £ 9 . 9 5 inclusive of post, packing
need to* etc. Please state your computer w h e n ordering.
•Store up tonine 99-note runes to cati-up at a^y lime ma story computer

COMPUSOUND
gives ©act* a nunoer <n memory
•Change tunes at any time even wtnist making a ' im
• • u can eve add perspective 'o buiktngs roads elc
•No special skill* or computer knowledge needed... Just imagination!
69. PINEHURST PARK.
WEST MOORS. Q
f p ) p i n e h u r s t d a t a s t u d i o s S S S H S m OBP DEPT: Z X 32 • 33 LANGLEY CLOSE, REDDITCH. WORCESTERSHIRE
IMPORTANT: FOR 4SK SPECTRUM ONLY B98 OH. TELEPHONE: (0527) 21429 (21439 Annrtrphotte)
SOFTWARE NEWS

in
• Timedata Ltd of 16 Hemmells, High Road, Laindon,
Basildon, Essex S S 1 5 6ED have produced two programs,
Brief
Automata
UK OK?
both of which are utilities. TT-S consists of five programs in
one packet to provide a versatile toolkit and costs £ 7.95,HI-T
is a set of routines for formatting the screen. Up to 3 2 lines of
6 4 characters can be displayed, and input positioning to any
part of the screen, window definition, pixel printing and
definable comma spacing for flexible tabulation are its func-
tions. A useful program which costs £ 5 . 9 5 .

• Bel Tech have produced a series of programs for the serious


user; Bel Base, a comprehensive Data Base program,
The cult of Pimanism is growing
rapidly, a subversive organisa-
tion guaranteed to strike terror
SPiman.
ame with different obstacles.
>nce again you control the
Personally. I found it too
BelGraph. a versatile graph plotting program, BelChem 1 & 2 , into the hearts of the strongest fast at the start to let me get into
an 'O' level revision program and Bel Gen, for keeping microprocessor chip. We wait the game easily and thereafter
Genealogical records (if you happen to be tracing your family with baited breath for the next boring. Still, one man's m e a t . . .
tree!) More details (including the price) can be obtained from onslaught. Pi Balled is Automata's ver-
Bel Tech Ltd at Stanmore Industrial Estate, Bridgnorth, Shrop Meanwhile, since our last sion of Q Bert and this time you
shire W V 1 5 5HP. issue, three forays into the control a character called Bert
realms of arcade games have (surprise, surprise) who has to
• Fowler Software has marketed two tapes for graphics pro- escaped from their offices. Pi v i s i t e v e r y s q u a r e on the
gramming; Graphics Subroutine and Draw 15. Draw 15 Eyed is a sort of farcical frogger pyramid Of Pi to change them to
seems to be for static art and the other is for animation. They plus. The old Piman is under your his colour white the Piman and
also sell Giant's Dinner, a neat multi-choice childrens' pro- control and has to drink as much associates hinder you. A simple
gram which ably demonstrates the capabilities of the other as he can. A s in real life, the but annoyingly addictive game,
two programs. Fowler Software can be contacted at Hendon more he d r i n k s t h e m o r e for me this is definitely the best
Mill, Nelson, Lancashire BB9 BAD. a w k w a r d his movements of the batch.
become. Interesting. All are for the 4 8 K Spectrum
• Procom Software's Dynamic Graphics, a t w o cassette Olympimania could h a v e and cost £6 each from
package, is also aimed at the screen artist. I had a quick look at been great with the sporting in- Automata UK Ltd, 27 Highland
thisone and it appears to be a very powerful tool: 27 functions terest at the moment, five Road, Portsmouth, Hants. P 0 4
for character designing and animation by using Sprites (fast events are billed but four of 9DA.
machine code automatic moving objects) and 5 0 + for these turn out to be the same
creating Hi Res screen drawings.
The manual w a s complex and needs careful reading, but

it's magic
the whole unit is designed as a professional programmers aid
and as any good craftsman will tell you it takes time to learn
how to use the tools of the trade.

• This editions most unusual program has got to be 4 0 Ser-


mon Outlines for Busy Preachers from Melvyn Hamilton at 4
Southlands Avenue, Louth, Lines. LN11 S E W for a mere
£ 5 . 0 0 . No it's not a joke (I promise) but all the computer What have Paul Daniels and object related to the number and
fanatic priests who spend their time programming instead of Silversoft Ltd in common? The the word. For example, if the
organising their sermons wilt really find this one useful. The a n s w e r l i e s in S i l v e r s o f t s word for number 1 5 w a s H A T ,
gospel according to St Sinclair? Linkword language c o u r s e s . the MM would be associating
Long, long ago when 1 w a s in- 1 5 with rabbit and so create a
• Widait Software o f 4 8 Durham Road, East Finchley, Lon- volved in the entertainment in- mental image of a rabbit wearing
don N2 9DT have produced an interesting tape containing dustry, I w a s introduced to a a hat! This link of a silly mental
two programs. Humpty Dumpty Mystery is on side one and 'Memory Man' routine. image works. This is where Paul
consists of t w o games of differing difficulty levels and Who This routine w a s performed Daniels comes in, he used the
Killed Cock Robin is on the reverse side. (I'm sure I've heard by the MM being blindfolded and same routine on one of his re-
those names somewhere before!) The program requires you m e m b e r s of t h e a u d i e n c e cent shows.
to deduce the culprit in both cases by a combination of sensi- shouting out words which were This is the basis of these
ble questions and intelligent guesses and is a great program to w r i t t e n on a board under Unkword language courses in
encourage logical thinking. The age range is for those just star- numbers 1 to 2 0 (or 4 0 if you French, Spanish, German and
ting to read up to ten and the price is £6.00. were really good). Once the Italian. OK so it doesn't teach
twenty or forty words were the pronunciation or gram-
• The Eastmead Medical Series bows in with The Complete written, members of the au-
Guide to Medicine, First Aid and How Long Have You Got. The matical peculiarities of the
dience called out the numbers language, but it will give you an
first two cost £ 6 . 9 0 and the last, a real party killer, is £ 3 . 4 5 .
B o t h are a v a i l a b l e f r o m E a s t m e a d H o u s e . L y o n and the MM instantly told them easy and enjoyable way of learn-
Way.Camberley, Surrey G U I 6 5EZ. the word written under it. The ing a basic set of keywords
secret w a s in the preparation, which will enable you to com-
• Or win Software, well known for their excellent ZX81 col- the MM had to spend ages municate after a fashion on your
lections, venture into the Spectrum market with Education memorising object for each of holiday this year.
Compendium, a set of games and programs with an educa- the numbers: for instance, 1 5 The courses consist of audio
tional bias. An interesting series of Logo tortoise routines are could be related to a rabbit. and computer cassette and in-
on side two.The package cost £ 6 . 0 0 from 2 6 Brownlow When the word for each number s t r u c t i o n booklet and c o s t
Road, London N W 1 0 9QU. w a s called out the MM had to £ 1 2 . 9 5 . Does it work? Ask Paul ^
make a quick link between the Daniels. ^

ZX COMPUTING JUNE JULY 1984 97


SOFTWARE NEWS
• Hickstead/Mathstead, Jungle Adventure and Diamond
Quest are the titles of three Games for Girls, from C C S . They Hurg to a
classic
seem to me to have a distinct lack of respect for the female in-
telligence level. It's a good intention, but I'm doubful of the
method used.

adventure
Five other programs have also been released, all of which
continue in C C S ' b u s i n e s s and strategy vein. C C S have been
specialising in this type of game since the early days of the
Z X 8 1 . The titles are War 7 0 , Pacific War, Manage, Oligopoly
and Stockmarket. All programs cost € 6 . 0 0 with the excep-
tion of Diamond Quest which is a pound cheaper. C C S can be
contacted at 14 Langton Way, Blackheath, London S E 3 7 T L , Melbourne House have ventured you wish to use in your game.
from old to new with two r e c - Animation can be achieved easi-
• Grand old masters of the market, Artie, have released ent releases. ly and to a very high standard,
Monkey Bizness. another Kong game and Bear B o w e r , a walls C l a s s i c Adventure is the and with options to detect colli-
and ladders style game. micro version of the original sions and special events this is
Both are up to their usual high standard with good graphics 1 9 7 0 s Fortran game and, as a very flexible.
but Bear B o w e r is my favourite with superb animation. t e x t only s t a n d a r d f o r m a t Demonstration programs to
For the 4 8 K machine they are priced at £ 5 . 9 5 and £ 6 . 9 5 adventure game, is a departure show 'Zap, Chase and Jump'
respectively. f r o m their a d v a n c e d s t y l e style games are also given on
graphics/text multi-instruction the tape and if you can produce a
• Kosmos Software of 1 Pilgrim Close, Dunstable, Bedford-
shire LU5 6 L X have given their French Mistress some com-
game The Hobbitt
Even more of a departure and
a tremendous advance in games
? ood game why not enter the
3 0 0 0 competition for the best
g a m e d e s i g n e d u s i n g this
pany with the release of two new language cassettes, the
German Master and The Spanish Tutor. There are two pro- programming is HURG, or High- system, the closing date has
grams in each set and each program costs £ 9 . 9 5 . level, User-friendly, Real-time, been extended to June 30th so
Games-designer. (No wonder you've still got time to write a
they shortened it to HURG!) masterpiece!
I must admit to being im- If you have great ideas for

2
pressed, and with the volume of games but are limited by a lack
software that I check each week of programming skill, this could
Software that takes some doing! This is a be the answer. However, it
very powerful program and yet won't do all the work for you
A French Language everything can be controlled by and. like any tool, you will have
Learning Aid a joystick. To achieve this ver- to team to use it but Melbourne

V
satility, extensive use of menu- House have made learning as
rrrrrff driven routines is employed. easy as possible.
You move through a set of pro- H U R G will set you back
cedures from which you may £ 1 4 . 9 5 and Classic Adventure
?
i
diverge to access any feature a mere £ 6 . 9 5
Software

Support
A German Lan»iage
Learning Ari.

for
German the 81
A big v These are clearly based on ar-
of 5 2 Plans Lane, London NW3 cade games and I'm sure you

jflftaaer
7NT from myself and probably need no further explanation.
many Z X 8 1 users. Softchoice is Fastload is a utility to enable you
a subsidiary of International to save and load programs up to
Publishing & Software Inc, a six times faster than normal and
large organisation who have Fastword is a word processing

Level A been producing software for


quite a while in Canada. I am in-
formed that response to the
package would you believe!
Finally, Diet is a domestic
program to help you watch your
adverts placed so far has been eating habits. The Spectrum,
very good indeed so the '81 still however, is not entirely ignored
• Kuma Computers Ltd are selling Zen, not the philosophy lives! Before you all write in con- and a version of Diet is available
but an established Editor/Assembler which has been around firming this, regular readers will plus two educational games
for the big machines for about seven years. It looks a very ver- know that I am a supporter of specifically for the 1 6 / 4 8 K
satile program for £1 2 . 5 0 . Another interesting program from the old ZX81 and need no en- Spectrum, Take A w a y Zoo and
them is Logo. If you can't wait for David Nowotnik s other ar- couragement to continue to Adding Machine, aimed at the
ticles or want a machine code version to really explore this back it. 5-9 age range. Signals & Code,
language then this could be the one for you! It costs £ 9 . 9 5 . The range of programs is Mr. Munchee and Speed Snake
Finally, a game by the intrigueing name of Vegetable Crash wide and c o m p r e h e n s i v e , cost £ 4 . 9 5 each. Tiny Logo,
which is apparently selling well in Japan. It sounds like a down Signals & Code and Tiny Logo Wrath of Kong and Diet are
to earth Gaiaxians, but I can't comment as they have not seen are two general interest pro- £ 5 . 9 5 and F a s t l o a d and
fit to send a review copy yet. At £ 6 . 9 5 , they are available grams and three games are of- Fastword are priced at £ 7 . 5 0 .
from 12 Horseshoe Park, Pangbourne, R G 8 7 J W . fered, Mr. Munchee, Speed All the Spectrum programs are
Snake and Wrath of Kong. £ 6 . 9 5 each.

98 ZX COMPUTING JUNE/JULY 1984


BOOK NEWS

Book Of in Brief

reviews
• Pixel Pads could be very useful to Spectrum programmers
who like to present their work with carefully drawn screens.
Pixel Pads are large sheets of gridded paper in the Spectrum's
screen format.
Each pad contains 50 sheets on each of which is a large
pixel grid, several 8 x 8 UDG grids and a summary of related
information such as INK and PAPER colour numbers. They
may be obtained from Peter Bamford €t Co at 10 Barley Mow
(Ft
THE Passage, Chiswick, London W4 4PH for £ 4 . 9 5 per pad.

GOOD
• If you are near Baitersea Park on the 14th or 1 5th of July,
why not took in to the What Micro? Dr Barnardos Show. As
well as Micros there will be other events and various surprise
celebrities from the world of entertainment. This could be one
way of combining a family day out and your hobby!
• Scott Adams is to adventure what Tim Hartnell is to
Microbooks. We look forward to receiving the first in a new

SOFT-
range of programs for review from the British branch of his
company. Adventure International.
Marvel comic characters will be involved in what is describ-
ed as graphic adventure games, the first of which is the In-
credible Hulk. A comic will accompany the tape and at a cer-
tain point you take o v e r . . .
All we need now is for Walt Disney to get in on the act.

A mixed
WARE bag
GUIDE
^^CDSjAicw System
magic meanies,

/ \
f 1

SPECTRUM 16K,
n>
SPECTRUM 48K AND ZX81 'OK) SPfCTXtJ* I6 4M

Alongside the boom in micro- into nine groups: adventure, ar-


computers, the software on sale cade, collections, educational,
has naturally proliferated. It is novel, practical, strategy, tradi-
impossible for us to keep up with tional and utility and forty
1008 SPECTRUM
the amount released each issue, reviewers of a wide range of age
although we do try. Software and ability were used in the pro-
checklists, although useful, do duction of the book.
tend to be merely lists. Helpful Fontana plan to make this an C D S Micro S y s t e m s have marketed by A J Rushton last
though is our sister magazine. annual publication and there will recently released a selection of year, not that it's anything to ob-
Software Today, dedicated en- be three editions, the first of programs covering a wide range ject to, I liked that game. It's a
tirely to reviews of software for which is devoted to the Sinclair of topics. In the games field collection of mini games tied
all types of domestic micro. machines - ZX81, 16 and 48K there is Winged Warlord, a together with the theme of
Along these lines is the Good Spectrum. A good idea when jousting game. Magic Meanies, escaping from an island.
Software Guide from Fontana the results of a recent survey in- a chase game and Timebomb. And finally, for those going
Paperbacks which is described dicates that Sinclair has 5 5 % of All are 16/48K games and abroad this year there is French
as a "source of reliable expert, the home market. Timebomb has the added is Fun and German is Fun, both
comprehensive and critical in- The 2 9 0 pages in the review benefit of being compatible with of which are designed for
formation". The intention is to issue still seemed too few com- the Currah Microspeech unit if students or for brushing up on a
include only the best of the pared to the amount on the you have it. language before venturing
available software, I would be market but for any keen games Spectrum Safari is for 48K abroad. A light touch is used
interested to know what criteria player, future historian or just for machines only and is described with pictures and words. I can't
they use when deciding on the
'best'. Nevertheless, over 3 0 0
general interest it is well worth
considering at £ 3 . 9 5 in the
as an adventure-style game.
This looks suspiciously like the
game of the s a m e name
? ive a personal comment as
OS so far have not seen fit to i
supply us with review samples. I
programs are covered, divided shops.

99
HARDWARE NEWS

in Brief
Adventurous
reading
• Euroelectronics, of 2 6 Clarence Square, Cheltenham, Glos.
G L 6 0 2 J P , as well as producing the excellent ZX Lprint III
detailed in my project, can supply software to print screen
dumps in (our colours on either the M C P 4 0 or Tandy C G P
printers.
It is called COPY 4. and a B A S I C version is also supplied
which can be adapted for use with earlier Lprint versions or
other makes of interface. THE COMPUTER & VIDEO GAMES
Priced at £ 5 . 5 0 it provides an economic way of getting col- r ,

BOOK OF
our into your print.
m
• An interface which is not only fully programmable but also

ADVENTURE
includes a sound amplifier has been marketed by Rainbow
electronics of Glebe House, SouthLeigh, Witney, Oxon 0 X 8
6 X J . The cost is £ 2 4 . 0 0 plus £1 per p&p. We will tell you
more in a future issue.

• The Ram Tubo is a combination interface which provides a


joystick port and a ROM cartridge software port. The
specifications look good, although it does not appear to be
programmable and the provision of a through port to allow for
other peripherals to be added on afterwards is a useful facilty.
The cost if £ 2 2 . 9 5 plus £ 1 . 0 0 p&p from R A M Electronics
(Fleet) Ltd., 1 0 6 Fleet Road, Fleet, Hampshire.

Save! Save!
Save!

by KEITH CAMPBELL
With listings for:
SPECTRUM. COMMODORE 64
and BBC
Foreword by Scotl Adams

Melbourne House, famous for control m o v e m e n t , o b j e c t s ,


T h e Hobbit, h a v e r e c e n t l y space and time and interpret in-
published. The Computer and puts. The book includes a full
AGF have reduced the price of amplifier unit. This cuts out the Video Games Book of Adven- listing for a complete adventure
their joystick i n t e r f a c e s to changing of leads when loading ture by Keith Campbell, resident in all three formats plus an in-
£ 2 6 . 9 5 for the programmable and saving. A volume control is expert from the magazine of the troduction from Scott Adams,
and £ 1 3 . 9 5 for module II (plus included on the amp, much to same name. generally regarded as the father
of course the obligatory £ 1 . 0 0 the relief of many parents! The In this his first book, Keith in- of adventures on the Micro.
p&p). Both of t h e s e h a v e volume control also contains an troduces adventure g a m e s , Most of the programming
undergone slight modification to on/off switch which operates gives advice on how to solve tips appear to be expanded ver-
allow the Quickshot II rapid the computer, this is very useful and write them and explains sions of his earlier C&VG col-
"auto fire" feature to be im- indeed. T h e price w a s not their history. The listings in the umns but are still valid and nigh
plimented. finalised at the time of going to book are suitable for Spectrum, on essential for the serious
A nifty new item also press, but should be around B B C and C o m m o d o r e 6 4 adventure programmer.
marketed by A G F is Ampli- £ 2 4 . 9 5 + £ 1 . 0 0 etc. machines and teaches simple Available from most bookshops
sound, a lead switching and programming techniques to at £ 5 . 9 5 .

100 ZX COMPUTING JUNE/JULY 1984


HARDWARE NEWS

Dib dib? in
• The Arcade professional joystick, a big and sturdy unit,
Brief

seems to have had a successful initial run. So much so in fact


that Emax Computing have not only reduced the price to
£ 2 8 . 9 5 but are giving a full refund to those who purchased it
at the original price.
Just send your sale invoice to Emax Computing, Pinfold
Lane Industrial Estate, Bridlington. N Humberside. I wish other
companies would adopt this refund i d e a . . .

A floppy disc system for the Spectrum Spe is available from


Technol' Ologyy Research Ltd of 3 5 6 Westmount
WP Road, London
S E 9 1NW. The FDC-1 MK2 is the interface and will support
two 4 0 , 8 0 track, single or double side drives. The cost is
C 8 5 . 0 0 e x c . V A T , + £ 1 . 0 0 for p&p. Tocompliment this they
will provide you with a 4 0 track single side drive with PSU for
E 1 8 5 . 0 0 exc. V A T + £ 5 . 0 0 p&p.

• For the Z X 8 1 , Sircal Instruments (UK) Ltd of 11


Southfields Court, Sutton Common Road. Sutton. Surrey
S M I 3 H J provide a low cost EPROM Programmer. Send an
sae to the above address for more details if you are interested
in this unit which works with Intel 2 7 1 6 , 2 7 3 2 or similar
EPROMs.

there is a socket on board to ac- PIL tube (no, I don't know what
One company thai treats the equipped to handle Spectrum cept output in this form. The it means, but it sounds good!I
Sinclair computers with some outputs. Code numbered the C U B 1 4 3 1 / M Z has a 14in with a resolution of 6 5 3 * 5 8 5
respect is Microvitec who have C U B 1431/MZ, it is set in a screen and costs £ 2 2 5 (plus addressable pixels.
produced two colour monitors metal cabinet with a die cast V A T and p&p). Both units are supplied with a
for use with the Spectrum and frame surround finished in matt Specifically for the QL (and dedicated cable and the controls
the new QL. black or beige. Should you other Hires 8 0 colour machines) are sited at the rear of the
The Spectrum compatible decide to upgrade to the QL or is their latest colour monitor, the cabinet. The CUB 1451/MQ3
monitor is claimed to be the only another computer with a C U B 1451/MQ3. This features will cost you a mere £ 2 9 9 (plus
Low Complexity Colour Display RGB/TTL colour output then a high contrast, self-converging V A T and p&p I.

zx Microdrives on the
shelf!
By now, the well sought after
Z X M i c r o d r i v e s should be
available in your local Smiths,
Boots, Menzies or other major
retail outlets which has got to be
good n e w s for S p e c t r u m
owners!
T h e Microdrive stores a
minimum of 8 5 K bytes' infor-
mation on magnetic cartridge
but average access time to infor-
mation is a mere 3 . 5 seconds as
opposed to a frustrating 3 . 5
minute wait. It is controlled by
the ZX Interface 1 which can
support up to eight microdrives,
giving a total of 6 8 0 bytes
capacity. As the Interface 1 also
incorporates an R S 2 3 2 inter-
face, your Spectrum can be link-
ed to other computers and
peripherals and a local area net-
work facility which will link upto
6 4 Spectrums.
Both the ZX Microdrive and
the ZX Interface 1 are priced at
£ 4 9 . 9 5 each and cartridges are
available separately at £ 4 . 9 5 .

101 ZX COMPUTING JUNE/JULY 1984


HARDWARE NEWS

in Brief
Give 'em
some stick!
• BASIC and FORTRAN in Parallel, written by S J Wainwright
& A Grant is published by Bernard Babani and is another of
their small but good value books.
The introduction claims that it could be used to learn FOR
TRAN or B A S I C , or both languages at the same time! I had
enough difficulty learning BASIC on its own. At £ 1.9 5 it looks
a useful book which includes a 16K FORTRAN interpreter in
BASIC.

• Tim Hartnell is probably one of the most prolific of the


microcomputer authors and has recently released his latest of-
fering via Interface Publications. Non-machine-specific, it is
intended to take you through programming your computer
step by step. The Easy Way to Program Your New Computer
costs £ 3 . 9 5 for 2 0 8 pages including programs to try.

• Spectrum Graphics and Sound by Steve Money, published


by Granada at £ 6 . 9 5 deals in depth with these Specific areas
of the machine- Or rather, in depth with nine chapters on
graphics and briefly with one chapter on sounds. Looks worth
a glance if you are interested in this application.

• Also from Granada is Explonng FORTH by Owen Bishop.


Even though the book is non-machine-specific, a great deal of
examples and information has been packed in and the author
has taken pains to ensure that most of them will work with
whichever FORTH system you have. £ 6 . 9 5 from bookshops.

• Another language book from Granada is Introducing Logo


by Boris Allen priced at £ 5 . 9 5 . This book seems to deal
specifically with using the language, the philosophy and Turtle
graphics. LOGO is arousing a good deal of interest at the mo-
ment and this might be a timely release.

• For the younger would-be programmer, Steve Betts has


written Spectrum Magic. Published by W . Foulsham & Co Ltd
at £ 4 . 9 5 , it is written in simple style it wilt be useful for those
who really feel they want a 'Computing by Numbers' course,
The trouble is that the vocabulary needed is necessarily
greater than the age range it is aimed at.If you can read and
understand words such as Variables, Randomize, Fractional
then what's the point in using topics tike Dolls and Toys?
Nevertheless, a colourful, concise introduction.

r
m

L |

Kempston. probably as near to idea is used again on the PRO


an industry standard as is likely 3 0 0 0 , in fact the bases are iden-
in the field of joysticks/inter- tical but this one features an
faces, have produced two new 'ergonomically designed' grip
models of joystick. Modestly handle (honest, their wording-
called the PRO 1 0 0 0 and PRO not mine) with both a top and
3 0 0 0 , the old but evergreen front fire button so you can use
model being given pride of place either thumb or trigger finger to
as the PRO 5 0 0 0 , these will no fire. Kempston are giving you no
doubt receive much interest excuse for missing that vital
from gamers everywhere. universe-saving shot!
The PRO 1 0 0 0 has eight P r i c e d at a r e a s o n a b l e
way leaf switches, a five foot £ 1 0 . 9 9 for the PRO 1 0 0 0 ,
cable so you won't have to sit £ 1 2 . 7 5 for the PRO 3 0 0 0 and,
right on top of your television, of course, £ 1 3 . 8 0 for the old
and a bar instead of a button faithful PRO 5 0 0 0 , these should
which allows for left or rignt
right be available from your local zap
hand play — a good idea . This shop.

102 ZX COMPUTING JUNE/JULY 1984


Sinclair
ZX81 CAME
numbers being closer together Your chances of potting a col-
— a small random factor has our are determined by the
been introduced here to add to value of the ball, it will always
the difficulty. This routine can be easier to pot yellow than
be modified by looking at the black, but of course this means
variables T and X . fewer points. If the game ends
There are three skill levels in a draw then a tie break is
and this affects your oppo- called and the odds are set at
nent's chances of potting a evens.
colour after potting a red. The
ratios of success to level is as
follows:

Level 1 1 in 3
Level 2 2 in 3
Level 3 always

Variables
Here follows a key to the
variables used in Sinclair

Everything goes to pot in


Snooker.

P Player's score.

this program from C


B
Computer's score.
Current break (player or ZX).

Tim Blewitt in the R


SK
Number of reds left.
Skill level.

west Midlands.
V Difficulty level for potting colours.
M Decides which colour the computer pots.
K S u c c e s s of snooker attempt.
G Decides angle for shot at colour.
E Player's speed (strength) of shot.
Sinclair Snooker is a textual four points. A snooker is when T/X Upper and lower limits for speed input.
simulation in which the com- the next player cannot get a N Value of colour.
puter makes the decisions on clear shot at the correct colour FL How many points awarded for a foul shot.
the outcome of each turn. J u s t ball and you can attempt a TB Decides who wins the tie break.
in case there are any readers snooker yourself at any time.
who have never played the Other variables are used for loops etc.
game or watched it on televi-
sion here are the rules: On the ball
Structure
Each player must take turns to When all 1 5 balls have been
try and pot a red ball and, if potted, the computer will give Here follows a brief description of the program:
successful, then pot a col- you instructions on how to pot
oured ball (except red!). The the remaining colours in their 0-269 Player attempting a red ball.
balls are worth the following correct order. You will be given 273-474 Player attempting a coloured ball.
points: the angle between the white, 475-600 Player attempting a red ball.
the colour and the pocket, and 1000-1185 ZX attempting a red ball,
RED 1 you must input the speed (or 11 90-1 3 0 0 Z X attempting a coloured ball.
YELLOW 2 strength) of the shot — this 1 500-1 5 7 0 Player's snooker attempt.
GREEN 3 may include decimals. 2000-2342 Player's attempt at final colours.
BROWN 4 The success of this shot is 2343-2420 Winner routine.
BLUE 5 determined by the computer 2500-2620 Z X ' s attempt at final colours.
PINK 6 by matching your input with 3000-3030 Print out scores.
BLACK 7 t w o numbers. If it is between 3500-3630 ZX attempting a coloured ball.
these numbers — known only 4000-4140 Player's snooker attempt at final colours.
If you make a foul shot — miss to the computer — then you 4500-4540 Instructions for potting final colours.
or hit the wrong colour ball — succeed. The higher the angle, 4700-4760 Tie break winner.
then you lose a minimum of the harder it is to pot due to the 5000-5100 Title.

5 GOSUB 5 0 0 0 3 0 GOTO 4 0
10 L E T R = 0 8 7 GOSUB 1 0 0 0
15 L E T B=0 8 3 GOTO 4 7 5
20 LET P=0 90 LET D1=INT (RND*6)
30 L E T C=0 100 LET D2«INT <RND*6)
31 P R I N T " S K I L L LEVEL?(l-3)" 110 L E T D3=INT <RND*6)
32 INPUT SK 1 1 5 I F R - 1 5 T H E N GOTO 2 0 0 0
4 0 P R I N T " D O Y O U WANT T O B R E A K 1 2 0 I P D l = 3 AND D 2 * 3 OR Dl=»3 AN
? (Y/N)" D D 3 = 3 OR D 2 = 3 AND D 3 = 3 T H E N G O T
50 INPUT AS 0 180
60 I F AS«"N" THEN GOTO 82 1 3 C I F D1< = 1 OR D 2 < « 1 OR D 3 < « 1
70 I F A®=*Y- THEN GOTO 90 T H E N GOTO 2 4 0

ZX COMPUTING JUNE/JULY 1984 103


ZX81 CAME
140 PRINT "YOU DID NOT POT A RE 369 LET V=6
D. 370 GOTO 380
150 PRINT "YOUR BREAK 371 LET V/=7
154 FAUSE 300 380 IF N+V<=7 THEN GOTO 440
155 CLS 390 PRINT "YOU DID NOT POT THE
157 GOSUB 3000 -; S*
160 LET B=0 400 PRINT "YOUR BREAK WAS: ";B
170 GOSUE 1000 404 FAUSE 300
175 GOTO 475 405 CLS
180 PRINT 'YOU COMMITTED A FOUL J07 GOSUB 3000
SHOT-LOSE 4P0INTS." 4LO LET B=0
1«?0 L E T C * C +4 415 IF R=15 THEN GOTO 2500
200 PRINT "YOUR BREAK WAS: ;B 420 GOSUB LOOO
204 PAUSE 300 430 GOTO 475
205 CLS 440 PRINT "YOU POTTED THE ";S*
207 GOSUB 3000 450 LET B=B+V
210 LET B= 0 460 LET P=P+V
220 GOSUB 1000 470 PRINT "YOUR BREAK IS NOW: "
230 GOTO 475 ; B
240 LET R=R + 1 472 PAUSE 300
250 PRINT -YOU POTTED A RED. 473 CLS
260 LET B=B+1 474 GOSUB 3000
262 L E T P=P+1 <375 IF R=15 THEN GOTO 2000
265 PRINT "YOUR BREAK IS NOW: 5 4 0 P R I N T " D O YOU WANT T O T R Y F
OR A R E D OR A T T E M P T A S N O O K E R " 7 "
5B
550 PRINT "TYPE:""R""FOR RED"
267 PAUSE 300
560 PRINT " ""S""FOR SNOOKE
268 CLS
F"
269 GOSUB 3000
570 INPUT W«
273 PRINT "DO YOU WANT TO TRY F
560 IF W*="R" THEN GOTO 90
OR A COLOUR OR ATTEMPT A SNOOKER
?• 5*0 IF W*="S" THEN GOTO 1500
600 GOTO 475
274 PRINT "TYPE:""C""FOR COLOUR
1000 LET D1=INT <RND*6>
1010 LET D2=INT <RND*6)
275 PRINT - ""S""FOR SNOOKE
1020 LET D3=INT (RND*6>
R"
1030 IF D1=3 AND D2=3 OR DL=3 AN
276 INPUT 0$
D D3=3 CR D2»3 AND D3=3 THEN GOT
277 IF G*-"C" THEN GOTO 280
O 1090
278 IF Q«=MS" THEN GOTO 1500
1040 IF D1< = 1 OR D2< = 1 OR D3< = 1
279 GOTO 2 7 2
230 THEN GOTO 1140
PRINT "WHICH COLOUR DO YOU
WANT TO T R Y F O R ? " 1050 PRINT -I DID NOT POT A RED.
N
290 INPUT S*
295 LET N=INT <RND*7) 1060 PPINT "MY BREAK WAS: ";B
300 I F S S = " Y E L L O W " THEN GOTO 36 1064 PAUSE 300
1 1065 CLS
310 IF S«*"GREEN" THEN GOTO 363 1067 GOSUB 3000
320 IF S$="BROWN" THEN GOTO 365 1070 LET B=0
330 IF S*="BLUE" THEN GOTO 367 1030 RETURN
340 IF SS="PINK" THEN GOTO 369 LO^O PRINT "I COMMITTED A FOUL S
350 IF SS="BLACK" THEN GOTO 371 HOT-YOU GAIN4 POINTS."
360 GOTO 280 1100 PRINT "MY BREAK WAS: "SB
361 LET V=2 1104 PAUSE 300
362 GOTO 380 1105 CLS
363 LET V=3 1107 GOSUB 3000
364 SOTO 380 1110 LET B=0
365 LET V=4 1120 LET P^P+4
366 GOTO 380 1130 PETURN
367 LET 5 1140 LET R=R+1
368 GOTO 380 1150 PRINT "I POTTED A RED."

104 ZX COMPUTING JUNE/JULY 1984


ZX81 CAME
J 154 LET B= B M OR T H E " J J * ( N > J • OR A T T E M P T
Il55 LET C=C+1 A SNOOKER*5 "
1160 PRINT -MY BREAK IS NOW: ";B 2090 PRINT " T Y P E : " " C " " F O R COLOUR
11-70 PAUSE 300
2100 PRINT " * C " "FOR SNOOKE
1180 CLS
1185 GOSUB 3000 R"
11^0 LET M=INT <RND*6)+2 2110 INPUT Z*
1195 GOSUB 3500 2120 I F 2 * = " C " THEN GOTO 2145
1200 I c
M=2 THEN PRINT "I POTTED 2130 I F Z * = " S " THEN GOTO 4000
THE YELLOW." 2140 GOTO 2 0 S 0
1210 I F M-3 THEN PRINT "I POTTED 2145 CLS
THE GREEN." 2 1 4 6 GOSUB 3 0 0 0
1220 I F M=4 T H E N PRINT "I POTTED 7 1 5 0 P P I N T " Y O U A R E NOW T R Y I N G T
THE BROWN." C POT T H E " ; J « < N)
1230 I F M=5 T H E N PRINT "I POTTED 2155 LET G*INT (RND*90)
THE BLUE." 2157 PRINT
1240 I F M«6 T H E N P R I N T " I POTTED 2 1 6 0 P P I N T "THE ANGLE I S : " ; G j " D
THE PINK.• EGPEES."
1250 I F M»7 T H E N P R I N T " I POTTED 2 1 7 0 P R I N T " I N P U T Y O U R S P E E D NOW
THE BLACK." (1-6)"
1260 LET B =B+M 2180 INPUT E
1270 L E T C=C*M 2 i « 0 I F E<1 T H E N GOTO 2 1 7 0
1280 P R I N T « m y B R E A K I S NOW: "fB 2 2 0 0 I P E >6 T H E N G O T O 2 1 7 0
1284 PAUSE 300 2210 LET T=INT (G/15+RND)
2 2 2 0 I F E >T T H E N G O T O 2 2 5 0
1285 CLS
2 2 3 0 P R I N T " Y O U R S H O T WAS TOO S O
1287 GCSUB 3 0 0 0
F T AND Y O U MISSED THE "}J«IN)
1790 I R = 15 T H E N GOTO 2 5 0 0
1300 GOTO 1 0 0 0 2 2 3 5 P R I N T "YOUR B R E A K WAS! "JB
1500 L E T K = I NT (RND*2) 2236 PAUSE 300
1510 I F K = 0 T H E N GOTO 1 5 5 0 223"* L E T B=0
1570 P R I N T "YOUR SNOOKER ATTEMPT 2238 CLS
WAS UNSUCCESSFUL." ?23<? G O S U B 3 0 0 0
1522 LET E-0 2 2 J O GOTO 2 5 1 5
1524 PAUSE 300 2250 LET X*INT CRND*5+2>
1525 CLS 2 2 6 0 I F E >X T H E N G O T O 2 3 0 0
152"* GOSUB 3 0 0 0 2 2 7 0 P R I N T "YOU POTTED THE ";J«(
1528 I F R = 1 5 T H E N GOTO 2 5 0 0 N)
1530 GOSUB 1000 227? L E T P»P+N
1 5 4 0 GOTO 4 7 5 2 2 7 7 L E T B=B+N
1 5 5 0 P R I N T " Y O U F O R C E D ME T O MAK 7 7 ^ 8 P R I N T " Y O U R B R E A K I S MOW: "
E A FOUL SHOT-YOU GAIN 4 POIN JB
TS. " 2 2 8 0 LET N=N• 1
1552 LET B=0 7 2 8 5 I F N>7 T H E N GOTO 2 3 4 0
1554 PAUSE 300 2 2 9 0 GOTO 2 0 8 0
1555 CLS 2 3 0 0 P R I N T "YOU M I S S E D THE ";JS<
15AO L E T P=P + 4 N)
15e5 GCSUB 3 0 0 0 2 3 1 0 P R I N T "YOUR B R E A K WAS: ";B
1567 I F R=15 THEN GOTO 2000 2 3 2 0 L E T B=0
1570 GOTO 4 7 5 2322 PAUSE 300
2000 DIM J * ( 7 , 6 > 2324 CLS
2005 GOSUB 4 5 0 0 2 3 2 5 GOSUB 3 0 0 0
2010 LET J$(2>="YELLOW" 2 3 3 0 GOTO 2 5 1 5
"020 LET 3%(3)="GREEN" 2340 CLS
2030 LET J*(4>®"BROWN" 2 3 4 2 GOSUB 3 0 0 0
2040 LET J«(51="BLUE" 7 ~ 4 3 I F P>C T H E N GOTO 2 3 7 0
2050 LET J*<6>*"PINK" 2 3 4 5 I F P=C T H E N GOTO 2 3 6 3
2060 LET J<(7)•"BLACK" 2 3 5 0 P R I N T " B A D L U C K , I WON THIS
20",0 L E T N=2 FRAME."
2080 P R T N T " D O Y O U WANT TO TRY F 2 3 6 0 GOTO 2 3 8 0

ZX COMPUTING JUNE/JULY 1984 105


ZX81 CAME
2363 GOSUB 4700 4002 I F N< = 4 T H E N GOTO 4006
2 3 6 5 GOTO 2 3 8 0 4004 LET FL=N
2 3 7 0 P R I N T " W E L L D O N E , Y O U WON T H 4 0 0 5 GOTO 4 0 1 0
E FRAME." 4006 LET FL=4
2 3 8 0 P R I N T " D O Y O U WANT A N O T H E R 4 0 1 0 I F S N = 0 T H E N GOTO 4 0 8 0
GAME?(Y/N)• 4 0 2 0 P R I N T "YOUR SNOOKER ATTEMPT
2390 INPUT Y* WAS UNSUCCESSFUL."
2 4 0 0 I F Y « - " Y ' T H E N GOTO 1 0 4030 LET B=0
2410 I F Y * « " N " THEN STOP 4040 PAUSE 300
2 4 2 0 GOTO 2 3 8 0 4050 CLS
2 5 0 0 DIM J*(7,6) 4 0 6 0 GOSUB 3 0 0 0
2501 LET J*(2)*"YELLOW" 4 0 7 0 GOTO 2 5 1 5
2502 LET J«(3>«"GREEN" 4 0 8 0 P R I N T " Y O U F O R C E D ME T O MAK
2503 LET J«(4)«"BROWN" E A FOUL SHOT-YOU GAIN " ; F L > "
2504 LET J * < 5 ) • • B L U E " POINTS."
2505 LET J*(6)«"PINK" 4 0 8 5 I F N - 7 T H E N GOTO 2 3 4 0
2506 LET J*(7)•"BLACK" 4 0 9 0 L E T B=0
2507 GOSUB 4 5 0 0 4 100 PAUSE 300
2508 L E T N«2 4110 CLS
2515 LET L-INT <RND*2> 4 1 2 0 L E T P=P +FL
2517 I F L - l T H E N GOTO 2 5 6 0 4 130 GOSUB 3 0 0 0
2520 P R I N T " I D I D NOT P O T T H E "J 4 1 4 0 GOTO 2 0 8 0
J*<N) 4 5 0 0 P R I N T " A L L OF T H E R E D S HAVE
2530 P R I N T "MY B R E A K W A S : ";B BEEN P O T T E D . THE COLOURS
2540 LET B*0 M U S T NOW B E P O T T E D I N O R D E R . "
2550 GOTO 2 0 8 0 4501 PAUSE 500
2560 L E T B=B + N 4502 CLS
2570 L E T C«C+N 4 5 0 3 P R I N T " T O POT A COLOUR YOU
2580 P R I N T " I POTTED THE "(Jt(N) MUST J U D G E THE S P E E D WITH WHICH
2590 P R I N T "MY B R E A K I S NOW: "{B YOU H I T THESHOT."
2592 PAUSE 300 4505 PRINT " I WILL GIVE
2594 CLS YOU T H E A N G L E B E T W E E N T H E PO
2596 GOSUB 3 0 0 0 C K E T , THE C O L O U R E D B A L L AND T H
2600 LET N-N+l E CUE-BALL. THE HIGHER THE ANGLE
2610 I F N>7 T H E N GOTO 2 3 4 0 , T H E MORE S P E E D YOU W I L L N E E D
2620 GOTO 2 5 1 5 TO P O T T H E B A L L . H O W E V E R , T H E MOR
3000 P R I N T AT 0,0!"CHALK-YOUR-CU E S P E E D YOU U S E , T H E L E S S YOUR CH
E SHARP-SHOOTER" ANCE OF POTTING THE BALL WIL
3005 P R I N T AT 1,2I"CHALLENGER L BE. •
V SINCLAIR" 4510 PAUSE 1000
3010 P R I N T AT 2,6;P 4520 CLS
3020 P R I N T AT 2,25jC 4 5 3 0 GOSUB 3 0 0 0
3023 PRINT 4540 RETURN
3024 PRINT "REDS LEFT»"|15-R 4 7 0 0 P R I N T " T H E FRAME ENDED IN A
3025 PRINT DRAW"{
3030 RETURN 4710 LET TB=INT (RND*2>
3500 LET H«INT (RND*6) 4720 I F T B - 0 T H E N GOTO 4 7 5 0
3505 I F S K « 1 T H E N GOTO 3530 4730 P R I N T " BUT YOU L O S T THE
3510 I F S K « 2 T H E N GOTO 3570 TIE-B REAK.•
3520 RETURN 4740 RETURN
3530 I F H<=3 THEN GOTO 3600 4750 P R I N T " AND Y O U WON T H E T
3540 RETURN IE-BR EAK."
3570 I F H< = 1 T H E N GOTO 3600 4760 RETURN
3530 RETURN 5000 P R I N T AT 0 , 8 ; " s i n e 1 a i r snoo
3600 PRINT "I MISSED A COLOUR." Uer "
3610 P R I N T "MY B R E A K WAS: ";B 5010 PRINT AT 1,8?"BY TIM BLEWIT
3620 LET B»0 T"
3630 GOTO 4 7 5 5020 PRINT
4000 LET SN-INT <RND*2> 5100 RETURN

106 ZX COMPUTING JUNE/JULY 1984


R E F . CC100 REF. DLC200
£79.95 £185.00

Ref. CC.100 — Especially designed for your home compute* system whilst also Ret DLC.200 — This cabinet has the same basic features as model CC 100 but
giving plenty of storage space for software, magazines or perhaps a video comes m a real wood veneer finish Builtm traditional English style to a very high
recorder Keeps your equipment dust free. standard Of workmanship this cabinet writ grace any home Available <n teak,
Standard Features • oak. mahogany or walnut with brass fittings
1. Smooth sliding shelf locks in position |ust when you require it — and neatly PRICE £185 md VAT - M y assembled
glides away after use

r
2 The compute* shelf has been designed to allow adequate Knee room' for
to sit comfortably, and will avoid programmers back-ache' Ref. BHU 300 — A basic home computer housing unit in a teak effect fmcsh
Adequate room to posihon tape recorder, printer dec-dnves etc alongside Storage shelf for magazines etc Supplied as a flat-pack, very simple to
computer for ease of use assemble Full instructions supplied Measurements — 32 ' wide * 31 high x
4 All cables neatly and safety out o< sight, while allowing afl units to be 18' depth plus VDU bndgmg uwt 21 ' x 6 " * 12" (avariaWe as a separate unn>.
permanently connected if desired See Ret. BU.500 below
5 Lots ot storage space for cassettes,
c cartridges, books, listing paper,
loysteks. etc PRICE only C46 95 ind VAT
G. With shelves and doors closed, mstandy becomes an elegant piece of
furniture Ret. BHU 400 - Srmiar to BHU 300 but without the storage shelf
7 The tower shelf suitable for your video recorder or storage of software, etc Measurements — 32' wide *27"high * 18 depth plus VDU bndgmg umt 21" *
8 Smart Teak effect linish 8 " x 12"
9 Supplied as a flat-pack Very s«nple to assemble, using just a screwdriver PRICE only C39 99 ind VAT
Full instructions supplied
10 Measurements Height 32"i in. Width 36 ms . Depth 16V* ins
PRICE only E79.9S n d VAT Ret. BU.500 — Bodging Unit only — Price £12 50 ind VAT

TERMS OF OFFER:- UK Mainland Customers only Please allow 28 days kx receipt Cash with order or charge to one of the credit cart accosts specified Money
back H not satisfied provided goods are returned undamaged at the customers experts® to Marco! Cabinets. Southampton within 72 hours of taking delivery

-x-
O R D E R FORM
P l e a s e supply me with the following cabinets - \ enclose my cheque for £ or please debit my
Ref. No. Qty. Colour Price Total Access/Barclaycard No
£ each £ Name
£ each £ Signature
Delivery Charge £ 5.00 Address

Grand Total

M A R C O L C A B I N E T S , p o b o x 69, S o u t h a m p t o n s o 9 7EQ. t e l : ( t m o j 7311 w (24iw a n s w e r i n g )


(SOFTWARE REVIEWS!

selection
Nick Pearce gives us his critical views on
some of the latest ZX81 software.
Bubble Bugs and are also UFOs and space mines
to contend with.
Bank Robber — Y o u have three lives per
Romik Software game. Game speed is selectable
in ten steps from slow to im-
I thoroughly enjoyed Bubble possibly fast. Your score and the
B u g s . It is, I s u p p o s e , an highest score recorded, are
invaders-type game. Your base displayed at the end of each
ship is at the bottom left hand game.
corner of the screen (where it re- Z X Asteroids is good fun to
mains during the game) and is play although the graphics are
under attack from the bubble not particularly subtle. The ac-
bugs. You race backwards and tion is generally good and the
forwards along the bottom of game is responsive at high
the screen firing missiles and speed. Control of your space
"popping" the bubbles. The craft takes a while to master, it
bubble bugs drop bombs which keeps moving f o r w a r d s in-
can damage both your craft and ^""Vr^Tsu^tMf definitely once the thrust key is
your base ship. Your ship can pressed and the only way to
tolerate a certain amount of stop is to rotate through 1 8 0
d a m a g e but e v e n t u a l l y is and thrust forward again.
destroyed whereupon the game Not possessing a joystick, I
ends. had to use the ZX81 keyboard
Not only do bubble bugs x m although a joystick option is in-
bomb you but when hit, they cluded. It is a 1 6K game and is
shatter and the debris can also recorded both sides of the
inflict damage. When your craft cassette.
is hit, a r e s c u e v e h i c l e is
automatically sent out from the Forty-niner and
base ship to carry out repairs.
You consume a unit of fuel each
Asteroids —
time you fire a missile and as you Software Farm
can only carry ten units, you
have to return to the base ship If you are still prevaricating over
regularly to replenish stocks. whether to purchase the ZX
Alternatively, the rescue craft Spectrum, maybe you should
will come to your aid should you forget it and get Forty-niner in-
run out completely. "" wSTtD CKAMMON'
stead. Forty-niner is an excellent
You can select an attack game. It requires a little practice
speed from 1 (easy) to 1 0 (im- to master, but persevere, it's
possible) the screen display is resemble the shields in an in- and each has a "freeze frame" worth it. No sound or colour but
good and the action is smooth vaders type game. It is worth whereby if the action all gets too the high resolution s c r e e n
and responsive. Quite an im- trying to keep them built (the much you can freeze everything display gives another dimension
pressive game. m e t e o r i t e s quickly destory while composing yourself. to the trusty Z X 8 1 .
In some respects Bank Rob- them) in order to facilitate your The 1 9 4 9 Great American
ber is similar. You rush along the dashes between the bank and
your house. Unfortunately, you
Asteroids! — Gold Rush has just started and
bottom of the screen taking
money from the bank on the left can only enter your house or the Mikro-Cen you are out there with the best
of them excavating for the
and depositing it in your house bank when the doors are open: precious metal. Somewhat
on the right. A s usual, life just they occasionally close during This is a fast moving arcade- unusual hazards (for a gold dig-
isn't that easy. You operate in a the game. type action game. The screen ger a n y w a y ) are present to
street constantly bombarded by There are twenty levels of displays large variously shaped hinder you. Giant rats search
meteorites w h i c h you must play and the density of the asteroids moving through space through your excavations after
avoid, and occasionally bricks meteorites is selectable froml to and endangering your ship. By you and there are snakes which
and pills drop from the sky. If 3. Another good quality action rotating your ship and moving when released, head straight for
you catch a brick, a protective game from Romik Software. forwards, you try to avoid them, the s u r f a c e and destroy
building will be rebuilt and a pill Both Bank Robber and Bub- or shoot them with your lasers. everything in their path. There is
gives you another 'life'. ble Bugs are 16K games. They When hit, an asteroid breaks in- also a gremlin to contend with
T h e p r o t e c t i v e buildings include on screen instructions to several smaller ones. There and you have to deposit ex-

108 ZX COMPUTING JUNE/JULY 1984


(SOFTWARE REVIEWS)
cavated soil on the surface to which lane to cross to at the which you move your character
delay it capturing you. next gap. Dodge-it has four around the screen in an attempt
The aim of the game is to col- Camestape 1 — speed levels from learner to ex- to avoid being boxed in by the
lect all the nuggets of gold.
When you have accomplished
Fawkes pert and a high score feature. computer. A rather pedestrian
In Trojan Dragon the pro- game which nevertheless works
this awesome task, you pass on Computing grammer has taken some liber- well.
to a more difficult stage with ties with popular legend to pro- Dodge-it. Trojan Dragon and
more rats but less snakes to There are four good quality duce an interesting game. D e a t h T r a p are all 1 0 0 %
destroy them. games on this cassette; Dodge- The problem is that you have machine code games. The final
An interesting feature of it and Trogan Dragon on the A to guard your castle at two posi- game on the cassette, Tablets of
Forty-niner is the facility for the side and Death Trap and Tablets tions simultaneously. You con- Hippocrates, is a BASIC pro-
player to select his own control of Hippocrates on the reverse. trol the drawbridge but must gram and is a role playing adven-
keys. A hi-score chart is kept by Dodge-it is a variation of the only allow "goodies" across ture with some 3 0 locations set
the computer and displayed at hungry blob-type game. Your and the swordsmen on the bat- in an enchanted forest. Your ob-
the end of each game and there character moves anticlockwise tlements must only kill "bad- ject is to get the t w o valuable
are five levels of play. The hi-res following lanes around the d i e s " . T h e d i f f i c u l t y i s inTablets hidden deep within the
display is excellent, those rats screen. Your only control is to recognisinig goodies and bad- forest. Hazards abound and the
really do look like rats. A great change lanes when you reach dies as they approach these forest contains such horrors as a
game. gaps by the use of the cursor positions so that appropriate ac- tunnel of death, chamber of
The Software Farm game of keys. True to tradition you con- tion can be taken. echoes and devils rock.
Asteroids is similar to the Mikro- sume dots and leave crumbs. An interesting idea is in the An imaginative game, not un-
Gen version reviewed above. It The second time you travel the way the game is made more dif- duly difficult and a good in-
has three levels of play, and you same lane you eat crumbs and ficult for the experienced player; troduction to adventuring for
have three lives per game. It re- leave dots and so on. There is at the harder levels of play the the beginner.
quires a 1 6K RAM pack and the also a strawberry which, if goodies and baddies are
graphics are in "normal" Z X 8 1 eaten, gives you extra points r e p r e s e n t e d by c h a r a c t e r s Further details on any of the
resolution. There is an option for and, of course, the inevitable which more closely resemble reviews above can be obtained
up to four players to hold a con- m o n s t e r which travels each other. There is also a from the following addresses:
test, each player's highest score clockwise around the lanes and choice of speed but the speed in-
being separately recorded and must be avoided. creases automatically as the Romik Software. 272 Argyll
identified in a score table. This is an unusual but effec- game progresses and action can Avenue, Slough, Berks.
I thought the action rather t i v e g a m e in w h i c h y o u r become frenetic. Mikro-Gen. 24 Agar Crescent,
jerky, even at the hardest level character is a l w a y s on the A very good game which Bracknell. Berks.
but the game works well and is move. You cannot reverse direc- gets exciting as the goodies and Software Farm, Craigo Farm,
good fun nonetheless. More ex- tion to escape the monster — baddies approach in ever in- Botany Bay, Tintern, Gwent.
pensive than Mikro-Gen's game once you are in the same lane creasing numbers. Fawkes Computing, 4 1
but with the additional facility to that's it. Good fun to play but Death Trap, on the reverse Wolfridge Ride. Alveston,
keep score during a contest. frustratingly difficult to judge side of the cassette is a game in Bristol

HORNBY
SOFTWARE
SPECTRUM
PRO GOLF SERIES j
NEW ERA IN COMPUTERISED GOLF
• Recommended by "Sinclair User". August

ZKQ1-fOKTHK)Mf
Sure! More than 10 tasks TheZX81 -FORTH ROM gives
EXACT SIMULATION OF BRITAIN'S TOP GOLF COURSES
(1) ALL GOLF RULES APPLY
(2) DESIGNED FOR ONE OR TWO PLAYERS
(3) PLAYED OFF ANY HANDICAP
simultaneously and, in some you a normal keyboard with a 64
cases, up to 300 times faster! character buffer and repeat, it (4) ON EACH HOLE DIST. PAR. GREEN ENLARGEMENT
That's what replacing the basic supports the 16k, 32k, 64k RAM <5) CONTROL SHOT - CLUB. STRENGTH. DIRECTION.
ROM with the new FORTH does packs, it is fig-FORTH compatible SHAPE OF SHOT
fortheZX81 - and more! and it supports the ZX printer. (6) GRAPHICS EXCELLENT
The brains behind the The price, too, is almost (7) EXTREMELY REALISTIC
breakthrough belong to David unbelievable Asa "fit it yourself
Husband, and he's building Eprom", complete with manual, • TROON £6.95 48K
Skywave Software on the strength it's just £2 5+VAT
of it Already orders are flooding Add £2 p&p UK (£S Europe, £ 10 NEW BIRKOALE £6 95 48K
in and it's easy to see why. outside Europe) and send your LINDR1CK £6 95 48K
The ZX81 -FORTH ROM gives order to the address below WENTWORTH - EAST & WEST COURSES £10.00 48K
you a totally new system In PRO GOLF £4 95 1648K
addition to multi-tasking and split 9 HOLE SIMULATED COURSE
screen window capability, you Sl(vi/I/(IV(> ALL PRICES INCLUSIVE OF VAT, P + P. AVAILABLE FROM:
can also edit a program while
SOFTWARE
HORNBY SOFTWARE
three or four others are executing,
schedule tasks to run from 50 David Husband
times a second to once a year, and 73 Cufzon Road, Bournemouth,
with a further modification switch BH1 4PW, ENGLAND 21 PINFOLD HILL, LEEDS LS15 0PW
between FORTH and BASIC Tel (0202)302385
whenever you like International +44 202 302385 109
[SPECTRUM PROGRAM!

Spectrum
10 BORDER l: FOR a=0 TO 1: PAP
ER 5: NEXT a
20 CLS
100 DIM L ( 1 9 ) DIM C ( 2 9 )
110 PLOT 4,4: DRAW 2 4 7 , 0 : DRAW
0,168: DRAW - 2 4 7 , 0 : DRAW 0 , - 1 6 8
120 L E T 1= I N T ( RND * 1 8 ) + 1
130 LET c = I N T ( R N D * 2 8 J +1
140 PRINT AT 1 , c I CHR* 134J CH
R* 137
150 P R I N T AT 1*1 t c i CHR* 137}
CHR* 134
160 L E T L ( 1 > ® L ( 1 ) + 1
170 L E T C ( c ) = C ( O + 1
180 P A U S E 2 0
190 PRINT AT 1,cJ"
200 P R I N T AT 1+1,C|
210 I F INKEY* <> " THEN GO
TO 2 2 5
2 2 0 GO T O 120
225 PAPER 7: CLS
230 PRINT I N K 2 J I N V E R S E 1J AT
l,6i"Occurrence Graphs"
240 LET sum=0
2 5 0 FOR a = l TO 1 9

There have been many 260 LET


270 NEXT a
sum=sum+L(a>

unusual applications of the 280 PRINT AT 4 , 6 ; " S a m p l e s take

Spectrum but this one n, "i I N V E R S E 1J I N K 3 J sum


290 PRINT AT 7,25"Horizontal",

from D Barraclough has to AT 7,19;"Vertical"

be the strangest y e t . . . 300 PLOT 1 0 , 1 0 0 :


AW 1 1 5 , 0
DRAW 0 , - 8 0 : DR

310 PLOT 10,C(1)+20


Everyone has heard of ESP (ex- awesome mental power of our 3 2 0 FOR a=1 TO 2 8
tra sensory perception) but did readers.
you know that scientists in- E S P is a simple program to 3 3 0 DRAW 4,C(a+1)-C(a)
vestigating the phenomena help you develop any sixth 340 NEXT a
have categorised it into the sense which you may possess 350 PLOT 1 4 5 , 1 0 0 : DRAW 0 , -80: D
following groups: — it won't give you any if you
don't already posess any. In this RAW 100,0
1 Remote viewing field you either got it or you aintf 360 PLOT 1 4 5 , L ( 1 ) + 2 0
2 Seeing into the future The idea is to attempt to keep 3 7 0 FOR a = l TO 18
3 Telepathy (mind reading) the moving character in the cen-
4 Telekinesis (moving objects tre of the s c r e e n by your 3 8 0 DRAW 5 , L ( a + l > - L ( a >
by thought) willpower alone. After you have 390 NEXT a
made a lengthy effort — two 400 P R I N T AT 2 0 , 1 ? " l e f t " , AT 2
This program is concerned with hours is recommended — press
the last group. Some individuals ing any key will produce a graph 0, H I " r i g h t " , AT 2 0 , 1 8 } " t o p", AT
claim that they can move ob- of the occurances of a central 20,28}"low"
jects by mental energy alone, p o s i t i o n . T h i s s h o u l d be 410 BEEP . 5 , 1 0 : PAUSE 0 : BEEP
and while there has been no con- repeated daily for best results.
clusive proof documented and The graph shows the number of 5,0: RUN
published, it is interesting to times the character has ap-
realise that scientists do not peared at a particular horizontal
scoff at the idea. and v e r t i c a l p o s i t i o n : any S a m p les t a k e n ,
There is a rumour that Atari tendency for the character to
are being sponsored to develop centralise will be displayed. Horizontal Vertical
video games and programs that The inspiration for the pro-
are thought controlled, the idea gram apparently came from the
being that this will develop a Horizons television programme

1
human's mental power — of September 26th 1 9 8 3 but
aching brains instead of aching Mr Barraclough admits that he
fingers. ZX Computing always has not been successful to date.
likes to be among the leaders in We would be very interested to
any new field and so w e present, hear from any reader who gets a
courtesy of Mr Barraclough, a favourable result, but no fakers left right top low
program to expand the already please.

110 ZX COMPUTING JUNE/JULY 1984


[SPECTRUM EDUCATION!

cool and
contents of memory 1 at the top appear. For example:
of the display without interfer-

calculating
ing with any calculations which Find the HEX for 2 5 5
might be in progress. Press 2 , 5 , 5 , H
The contents of all memories The display then shows FF
can be reset to zero by typing
F,X and following the prompt. If Find the DEC for 1 A B
you change your mind, then any Press 1 , F , 1 . F , 2 . D

While most of us hotly


other key will abort the memory The display then shows 4 2 7
clear.

deny that personal


The only function left is the C/E
Number which, by typing " C " , will erase

computers are only conversions the last thing that you entered.

glorified calculators, This program will also do con-


Program
breakdown
B Mcintosh of Glasgow versions from HEX to DEC and
vice versa. HEX letters are ob-

proves that that is one tained by typing " F " and the
number under w h i c h they
Here follows a brief description
of the program functions:

of their most useful 10-40 Sets up variables and flags and puts the computer in-
functions. 50-96
to C A P S mode.
Sets up graphics and POKEs the USR routine for the
letters into the memory.
98 Screen colour etc.
100-200 Draws the calculator
210-490 More variables
500-560 Handle the input of data (main loop).
p m n n r a 600-850 Special instructions for any key pressed which is not
a number.
1000 - 1 0 2 0 Calculates the answer and running totals.
J G D C Z i r a 1100 - 1 1 4 0 Converts from decimal to hex.
1200 -1300 Displays contents of memory.
• • CIIICZD EI3 [23 Z3CEK23 1400 -1420
1500 -1520
Converts from hex to decimal.
Input from keyboard.
6000 -6050 Main loop for special functions.
±2 E 2 3 CED HhH [ E D 6100 - 6 1 4 0 Handles memory functions. Decides whether to up-
date memory or include it in calculations.
This program, for the 1 6 or 4 8 K F I N D R O O T 2 by typing 6200 6250 Resets all memories to zero.
Spectrum, is different to other R,2,ENT 9000-9060 Converts to and displays large characters.
calculator programs in that the or R O O T 2 / 2 by typing 9900 Saves program.
functions are displayed as you R,2,V,2,ENT
type them in.
The percentage function must 10 CLEAR 31999*. L E T H - 0 : L E T Q
Arithmetic always have two numbers, one
to carry out the function and the
=0: L E T F = 0 : L E T F l - 0 : L E T F 2 - 0 :
multiplier for the percentage.
LET F 3 * 0 : LET F4~0: LET K-USR •
Enter numbers by pressing the This can also be used on its own A•-1132
keys as seen. Enter arithmetic or in calculations. For example: 13 DEF FN T ( G ) = G * ( E / 1 0 0 >
functions by pressing the keys
on the keyboard where they are FIND 5 % of 17 by typing
20 POKE 2 3 6 5 8 , 8
printed. For example: 1 , 7 , B , 5 , P , ENT 30 L E T 5«®"ABCDEFGHIJKLMNOPQRS
TUVWXYZ"
ADD
PRESS
12+6
1,2,K,5.ENT
Memory 40 DIM M<8): DIM M « ( 8 , 2 > : L E T
DISPLAY =17 M« (1 > »"M1 • : L E T M « ( 2 ) » ' M 2 T L E T
The calculator is equipped with
eight memories. To store a M«(3)»"M3": LET M«(4)»-M4': LET
SUB - 1 3 - 7
PRESS J,1,2,J,7,ENT number there must be an " = " in M*(5)»"M5": LET M«(6)»"M6': LET
DISPLAY = -20 front of it and then you type " F " M « ( 7 ) * " M 7 " : L E T M« f 8 > »"M8"
to get you into the special func-
tion mode followed by " M " for 50 L E T X«USR " A " : FOR N*1 TO 1
MULT 4 * 32
PRESS 4 , B , 3 , 2 ,ENT memory and then the number of 6 : READ A : POKE X , A : L E T X' • X + l :
DISPLAY =128 the memory that you wish to be NEXT N
used. This number can then be
used as an operand; ie you can 6 0 DATA 0 , 2 4 , 2 4 , 0 , 2 5 5 , 0 , 2 4 , 2 4
DIV 18+6
PRESS 1,8,V,6,ENT type F , M , 1 , K , 5 . This displays 61 DATA 0 , 3 , 4 , 4 , 2 0 0 , 7 2 , 4 8 , 1 6
DISPLAY =3 M l + 5 . Press enter to find the 70 FOR N - 3 2 0 0 0 TO 3 2 0 5 6
answer. Memories can also be
80 READ A : POKE N , A : NEXT N
Roots and percent u s e d w i t h e a c h o t h e r ; ie
M l x M2 etc. 9 0 DATA 3 3 , 0 , 6 0 , 1 , 0 , 0 , 3 8 , 5 7
The contents of any memory 91 DATA 1 2 5 , 7 9 , 1 8 3 , 2 2 , 3 , 2 0 3 , 3 3
The square root function is ob- can be displayed in two w a y s .
tained by typing the first letter; Firstly, when the display is ,203
ie (R)oot followed by a number. showing " 0 " then by typing as 9 2 DATA 1 6 , 2 1 , 3 2 , 2 4 9 , 9 , 6 , 4 , 2 3 7
This function can be used on its " ~ 1 0 " or such like. Secondly,
own or in calculations involving at any time you c a n type
9 3 DATA 9 1 , 5 8 , 1 2 5 , 1 2 6 , 1 8 , 1 9 , 1 8
other numbers. For example: F , D , M , 1 . This will display the , 19

ZX COMPUTING JUNE/JULY 1984 111


[SPECTRUM EDUCATION!
94 DATA 35,16,248,237,83,58,12 5 5 4 I F C O D E B * < 4 8 AND H = 0 AND C
5, 229 OPE B*<>0 THEN LET H=H+l: LET F
9 5 DATA 33,0,1,25,235,225,6,4 1=0: L E T F2=F2-1
9 6 DATA 126,18,19,18,19,35,16, 5 5 5 I F F 1 = 0 THEN L E T H=H+1
248,201 560 LET F=0: LET A«=A*+U«: LET
98 BORDER 7 : PAPER 4 : INK 0 : C B « = B * + T « : GO S U B 9 0 0 0 : GO T O 5 0 0
LS 6 0 0 GO T O 5 0 0
100 PLOT 0 , 0 : DRAW 0 , 1 7 5 : DRAW 610 LET U»="*": GO T O 1 0 0 0
255,0: DRAW 0 , - 1 7 5 : DRAW - 2 5 5 , 0 6 2 0 I F R = 0 OR S = 0 T H E N LET F=0
101 P L O T 2 , 2 : DRAW 0,171: DRAW : LET F 1 = 0 : L E T F 2 = 0 : L E T H=0: L
251,0: DRAW 0 , - 1 7 1 : DRAW - 2 5 1 , 0 ET F3=0: LET A « - " 0 ' : LET B«="0":
110 PLOT 1 0 , 1 6 4 : DRAW 2 3 5 , 0 : DR GO S U B 9 0 0 0 : GO T O 5 0 0
AW 0 , - 3 2 : DRAW - 2 3 5 , O : DRAW 0 , 3 2 6 2 2 L E T A«=A*<1 TO R ) i L E T B«=B
111 P L O T 1 4 , 1 6 0 : DRAW 2 2 8 , 0 : DR * ( 1 TO S ) : GO S U B 9 0 0 0
AW 0 , - 2 5 : DRAW - 2 2 8 , 0 : DRAW 0 , 2 5 6 2 3 I F F - 1 AND F l = l T H E N LET F
1 2 0 P O R N=1 T O 4 2=F2-l: I F F 2 * 0 THEN LET F=0: L
1 3 0 POR L » 1 TO 6 E T F 1 = 0 : GO T O 6 2 5
140 PLOT L * 4 0 - 2 8 , N * 3 2 - 4 : DRAW 3 6 2 4 I F F = 0 AND F 1 = 0 T H E N LET H
2,0: DRAW 0 , - 1 6 : DRAW - 3 2 , 0 : DRA =H-i: GO T O 6 2 5
W 0 , 16 625 LET R * R - i : LET S » S - i : GO T O
145 READ A « , B « : P R I N T AT N * 4 + 3 , 50O
L*5-3iA«»: P R I N T AT N*4+5,L*5-3J 6 3 0 P R I N T AT 2 , 2 S " D E C I M A L " : GO
B« TO 1 4 0 0
150 NEXT L : NEXT N 6 4 0 GO T O 5 0 0
160 PAPER 7: INK 0\ PRINT AT 2, 6 5 0 P R I N T AT 2 , 2 1 • F U N C T I O N ' : GO
2! • TO 6 0 0 0
200
DATA " 1 ",* A 2 " , " B 6 6 0 GO T O 5 0 0
• • a m m mm
3 "," C I I " I t 6 7 0 P R I N T AT 2 , 2 ! " H E X " : GO T O 1
"MEM",""," 4 "," D "," 5 E 100
m m e m
» © » r

, a
- f • I 6 8 0 GO T O 5 0 0
r N a • • • o "
i » ' t i 8 » » y » 6 9 0 L E T U « = " - " : GO T O 1 0 0 0
•• • ^ • •• "HEX" "" " FX" "" " 7 0 0 L E T U * = " + " : GO T O 1 0 0 0
• •
0 "DIS", "","C/E", " » 7 1 0 GO T O 5 0 0
" , " DEC " , . " " , " ENT " , " " 720 LET U « = " . " : LET T«*Z«<D-64)
210 LET A»«H0": GO S U B 9 0 0 0 : GO T O 5 5 4
220 LET Z«="A*CDEFGHI-+L.MO*Q S 7 3 0 GO T O 5 0 0
TU WXYZ" 7 4 0 GO T O 5 0 0
490 LET B « - " 0 " : LET T»0 7 5 0 L E T G = V A L B * C 1 TO H ) : L E T E
500 I F A « * " " THEN LET A«="0": - V A L B « { ( H + F 2 +1) TO >: L E T B * = B «
LET B«-A« ( 1 T O H + F 2 ) + " <FN T < G ) ) B : L E T R=R
501 IF INKEY*<>"" THEN GO T O 5 -IS LET S=S-1
01 7 5 5 L E T F = 0 : L E T A*=«A« + Z * f D - 6 4 )
502 IF INKEY»="" THEN GO T O 50 : GO S U B 9000: LET H=0: GO TO 50
0
2
505 BEEP .02,20: PRINT PAPER 7 760 GO TO 5 0 0
I AT 2,2|" 770 LET U«="SQR "I GO TO 1000

780 GO TO 5 0 0
5 1 0 L E T D*=PEEK 2 3 5 6 0 : L E T T«=CH 790 GO TO 5 0 0
R« D: L E T U«=T« 800 GO TO 5 0 0
5 1 5 I F D=13 THEN GO T O 9 0 0 81O LET "/"I GO TO 1000
5 1 7 I F T « < > " C " AND T « < > " F " THEN 820 GO TO 5 0 0
L E T R=LEN A«: L E T S = * L E N B® 830 GO TO 5 0 0
5 2 0 I F D< 4 8 OR D > 9 0 T H E N # GO TO 840 GO TO 5 0 0
500 8 5 0 GO T O 5 0 0
5 3 0 I F D > 4 7 AND D < 5 8 T H E N GO T 9 0 0 I F F=1 THEM GO T O 5 0 0
O 550 9 1 0 I F A * = " 0 " THEN GO S U B 9 0 0 0
5 4 0 GO T O 6 0 0 + ( 1 0 * < D - 6 5 ) ) : L E T F 3 = 0 : GO T O 5 0 0
5 5 0 I F A « - " 0 " THEN LET A*="": 915 I F B * = " " THEN LET A*="0":
LET B«="" GO S U B 9 0 0 0 : GO T O 5 0 0

112 ZX COMPUTING JUNE/JULY 1984


ISPECTRUM EDUCATION!
9 2 0 LET Q-VAL B « : LET A « = - = " + S T 6 0 1 0 I F W « » " X ' THEN GO T O 6 2 0 0
R « Q : GO SUB 9 0 0 0 : L E T A « = - 0 - : L 6 0 2 0 I F W«»"M' THEN GO T O 6 1 0 0
ET B«=A«: LET F - 0 : LET F1=0: LET 6 0 3 0 I F W»="D" THEN P R I N T AT 2 ,
F2»0: L E T F 3 « « l : L E T H = 0 : F O R N= 21'DISPLAY • : GO T O 1 2 0 0
1 TO 5 : B E E P . 0 1 , 2 0 : NEXT N 6 0 4 0 I F C O D E W * > 4 7 AND C O D E W®<5
9 4 0 GO TO 5 0 0 5 THEN L E T T » * C H R « (CODE W*+16)
1 0 0 0 I F A « » ' 0 * THEN LET A « = • " : : L E T A«=»A* + T « : GO S U B 9 0 0 0 : GO
LET B « = - " : LET F » 1 TO 5 0 0
1002 LET F 2 « F 2 + 1 6050 GO T O 6000
1 0 0 5 I F F 1 » 0 THEN LET FL=L 6100 P R I N T AT 2 , 1 0 1 " MEM"
1 0 1 0 I F F » 0 THEN LET Q=VAL B « : 6101 GO S U B 1 5 0 0
LET A « * S T R « Q: LET H»LEN A « : LET 6 1 0 4 I F C O D E W * < 4 9 OR C O D E W « > 5 6
B « = A « : LET A « = A * + Z « ( D - 6 4 ) : LET THEN GO T O 6 1 0 1
B * = B » + U » : GO SUB 9 0 0 0 : L E T F 2 = L : 6 1 1 0 P R I N T AT 2,15|W*
L E T F « l : GO TO 5 0 0 6 1 2 0 L E T V»CODE W«-48
1020 LET A « = A * + Z « ( D - 6 4 ) : LET B * = 6 1 2 5 I F F=0 THEN LET A*="": LET
B * + U « : GO SUB 9 0 0 0 : GO TO 5 0 0 B*=»" "
1 1 0 0 I F F O 0 OR F 1 < > 0 T H E N PR I N 6 1 2 7 I F F 3 - 0 THEN LET A*=A*+M«(
T AT 2 , 2 1 • " : GO TO 5 0 0 \fi S L E T B « = B « + S T R * M ( V ) : LET H»L
1 1 0 5 LET B « - " " : LET G»VAL A * : LE E N B » : GO S U B 9 0 0 0 : L E T F = 0 : LET
T A = 1 6 : L E T P=Q F1=0: LET F3=l: LET F4=l: GO T O
1110 LET Q=P: LET 0 = 0 - 1 6 * I N T (Q/ 500
1 6 ) : LET P=P-Q 6130 IF F < >0 T H E N L E T A'»=A« + M«(
1120 LET B«=CHR« (Q+48•(7*(Q>9)) V): LET B*=B«+STR* M(V): LET T«=
) • B* "": LET F = 0 : GO S U B 9 0 0 0 : GO T O
1 1 3 0 L E T P-INT tP/16): I F P<>0 T 500
HEN GO TO 1 1 1 0 6140 LET M(V)=Q: P R I N T AT 2,2|"
1140 LET F = 0 : LET F 1 ® 0 : LET F 2 = 0 LET T*=-": LET
: L E T H - 0 : L E T A * = B « : GO SUB 9 0 0 A«*-": GO T O 5 0 0
0 : L E T A « = * ' 0 " : L E T B * = " 0 " : GO TO 6 2 0 0 P R I N T AT 2 , 2 } " M E M O R Y CLEAR-
500 PRESS X"
1 2 0 0 GO SUB 1 5 0 0 6 2 1 0 GO S U B 1500
1 2 3 0 I F W « » " M * THEN PRINT AT 2, 6230 I F W»<>"X" THEN GO T O 6 2 5 0
1 0 ; " M E M " : GO TO 1 2 5 0 6240 DIM M<8): P R I N T AT 2,2|"
1 2 4 0 GO TO 1 2 0 0 • : GO TO 500
1 2 5 0 GO SUB 1 5 0 0 6250 P R I N T AT 2,2;M
1 2 8 0 I F CODE W * < 4 9 OR CODE W « > 5 6 " : GO T O 5 0 0
9000 P R I N T AT 3 , 2 ; "
THEN GO TO 1 2 5 0
• J AT 4 , 2 J "
1 2 9 0 P R I N T AT 2 , 1 4 ? W * ; I M ( (COD •
E W»)-48)
1 3 0 0 L E T F = 0 : GO TO 5 0 0 <9005 P O K E 3 2 0 5 8 , 6 0 : POKE 32059,1
25
1 4 0 0 I F F< >0 OR F 1 < > 0 T H E N PRIN
9 0 1 0 F O R N=1 T O L E N A »
T AT 2 , 2 » * " : GO TO 5 0 0
9 0 2 0 I F CODE A « ( N ) > 9 0 T H E N POKE
1 4 1 0 LET B « - " " : L E T Q « 0 : FOR N * 1
32001,K-256*INT (K/256): POKE 3
TO L E N A * : L E T P = C O D E A « < N ) - 4 8 -
2002,INJ (K/256)
(7*(CODE A«(N> >64) )
9 0 2 5 POKE 3 2 0 5 7 , C O D E A*(N)
1 4 2 0 L E T 0 = 0 * 1 6 : L E T Q = Q + P : NEXT
9 0 3 0 RANDOMIZE USR 3 2 0 0 0
N : L E T A * = S T R « o : GO SUB 9 0 0 0 :
9 0 4 0 POKE 3 2 0 0 1 , 0 : POKE 32002,60
LET A«-"0-: LET B«="0": GO TO 50
: NEXT N
0
9 0 5 0 POKE 2 3 6 0 6 , 5 2 ! POKE 23607,1
1500 IF INKEYSO"" THEN GO TO 1
23: PRINT PAPER 7 ; INK 0 ; A T 3,2
500
8 - ( L E N A « ) | S « ( 1 TO L E N A « ) : POKE
1510 IF INKEY«="" THEN GO TO 15
23606,60: POKE 2 3 6 0 7 , 1 2 4 : PRINT
10
P A P E R 71 INK 0 | A T 4 , 2 8 - ( L E N A*
1 5 2 0 L E T UI»«CHR* PEEK 2 3 5 6 0 : BEE
) • S C ( 1 TO L E N A«>
P .02,20: RETURN
9 0 6 0 POKE 23606,0: POKE 23607,60
6 0 0 0 GO SUB 1 5 0 0
: RETURN
6 0 0 5 I F A « » " 0 " THEN LET A*»"":
LET B«=A» 9900 SAVE "CALCULATOR" LINE 1

ZX COMPUTING JUNE/JULY 1984 113


Little Brothers should
be seen but not heard

A maxim which eloquently describes the most home computers and popular software.
Brother HR-5. Perfectly portable, the battery or mains operated
Less than a foot across, it's nonetheless loaded HR-5 weighs less than 4lbs, and has a starling price
with features. of only JL179.95 (i nc .VAT).
But there's one thing the 1 IR S won't give you. Which is really something to shout about
Earache.
PHASE SEND ME MORE DfTAH-S OF TH1 Rl MARK ABU BROTHER
For the annoying 'clickety clack' many printers HR-SPRINTER. 1

produce is mercifully absent from the HR-5. NAMF_


Quiedy efficient, it delivers high definition dot
ADDRESS.
matrix text over 80 columns at 30 c.p.s.
The HR-5 also has something ofan artistic bent
ZXC6/84
Being capable of producing uni-directionai
graph and chart images together with bi-directional
text
I .TELNOL

brother\\
It will also hone down characters into a
condensed face, or extend them for added emphasis.
Incorporating cither a Centronics parallel
or RS-232C interface, the MR-5 is compatible with
Dt HI P. BROTl fl R OFFICE EQUIPMENT DIVISION, K>M V + BROTHER.SHEPLEY STREET. GlHDl RRJIXii , A U D E N S f t W MANU ULSTER M i 4 SID
TFl D n c C l l i V i l 1\ U ' . n i ! » j n « « ">• » « - - • - —
IK disassembler
ZX81 PROGRAM

Disassemble your ZX81 ROM in just 1K — sounds im-


possible? well, have a go with this program written
for us by HM Tucker of Luton.
This program is designed to addressing is preferred, simply
decode any area of ROM or change lines 10 and 2 0 and
R A M into instructions compris- omit lines 3 0 to 6 0 . Options
ing op-code and data if any, are available for copying to
and to print them out with their printer, continuing disassem-
addresses, one to a line, until bly or of selecting new start
the screen is full (approximate- address.
ly one second in Fast mode) Apart from being very in-
and groups all Z 8 0 instruc- teresting to write and to run, it
tions. will allow you to find the
It fits easily into an unex- misprints in some published
panded Z X 8 1 , and will also run versions of what is in the
in Slow mode, which is essen- ROM.
tial if you wish to change the
program to scroll so that you How it does it
may sit back and w a t c h the en-
tire ROM unfold before you The B A S I C program asks for
(about six instructions per se- the start address in Hex: this is
cond in Slow mode). converted to decimal by lines
It accepts up to four digits 3 0 to 6 0 and POKEd into spare
of Hex address, but if decimal l o c a t i o n s in t h e system

START
D B 9 t B f f l ( i l E ( S ( I Q I

PRINT ADDRESS
t B f f i ® ® ® ® ® ® ® 1

PR IN'rcooE
MOVE DATA

1
LOADC WITH
YES
No 01BYTES

variables area by lines 7 0 and decision blocks in the flow


80. chart, and all the tables. Brief-
The machine code now ly, it searches the tables guid-
takes over and Part 1 prints ed by a pointer in HL and a
out the address as four digit length in B C , looking for a
Hex. The program doesn't match for a particular byte of
seem to have achieved much the op-code. The accumulator
so far does it? But these few is loaded with the first byte
bytes can be tucked away and table 1 is searched; if a
above RAMtop or in the printer match is not found in table 1 all
buffer as a handy decimal to w e can be sure of, is that w e
YES
hex converter. do not have a four byte in-
struction, but more about this
Part 2 moves four bytes of later.
data from the start address to Tables two and three are
the four reserved bytes at the then searched for two and
start of the REM ready for Part 3 three byte instructions respec-
YES
to look at, and for Part 4 to tively; any code escaping
print as necessary. t h e s e s e a r c h e s m u s t of
Part 3 is the longest and necessity be a one byte in-
most complicated of the whole struction. All these instruc-
program and comprises all the tions have one byte op-codes

ZX COMPUTING JUNE/JULY 1984 115


ZX81 PROGRAM
UOftOER 1. Print address (bytes one to 29).
ADDRESS MNEMONIC CODE REMARKS
ENTER NEU CODE FOR CHANGES
4082 4* NOP 00 00 00 00 Watch this space.
USE "Q" TO OUXT 86
88
LD 8 , 2
XOR A
06 02
AF
Counter for two byte BddretS
Clear accumulator.
Address of hi byte of tiart.
USE N E U L I N E TO ACCEPT CODE 89
8C
LD H L . 4 0 7 C
RRD (HL)
21 7C 4 0
ED 67 Move nibbles.
8E LD E,A 6f Save lo nibble.
1 REM d {J. . . 8F LD D.IHL) 56 Hi nibble into accumulator
0 0 avoiding code 7 E.
0 © 90 LD A.O 7A
-.0 © © 91 ADD A . I C C6 1C Convert.
0 . . . 0 O O. 93
94
RST 10
LD A.€
D7
78
Print hi nibble.
Lo nibble into accumulator.
0.. 0 0 . . . 95 ADD A , 1 C C6 1C Convert.
0. . • 0 97 RST 10 D7 Print lo nibble.
10 L E T R = 16 5 1 3 98 SU8 A , 1 C D6 1C Restore the byte in (HL).
20 L E T B=fl/A 9A RLD.(HL) ED
28
6F
30 L E T T =B 9C
9D
DEC.HL
DJNZ.ED 10 ED
Address ot lo byle of start.
Jump to 4 0 8 C .
4.0 I F B=209 THEN GOTO 24-0
50 GOSUB 2 0 0
6© PRINT AT S , ©; B; ** i s " ; H $ ; * " ? Part 2. MOVE OA TA (bytes 30 to 40I
J
70 INPUT Ht 9F LD BC.4 01 0 4 0 0 Byte counter,
S0 I F H J = " " THEN GOSUB 2 0 0 A2 LD D E . 4 0 8 2 11 8 2 4 0 Destination, is the reserved space.
90 I F H$="Q" THEN STOP A5 LD HL.I407B) 2A 7B 4 0 Source, is start, or updated
100 I F LEN H$<>2 THEN GOTO 70 A8 LDIR ED BO
address.
Move it.
110 L E T D =CODE H $ * 1 6 + CODE K$ ( 2 )
-476 Part 3 SEARCH (bytes 41 to 186)
120 I F D > 2 5 5 THEN GOTO 7©
130 POKE R + B , D
14.© L E T T =T+D 40AA
AD
LD A,(4082)
LD HL.4001
3A 8 2 4 0
21 D1 4 0
Load accumulator with byte one.
Pointer to table 1.
150 P R I N T TAB ( 1 0 ) ; H $ BO LD C . 3 OE 0 3 Length of table 1.
150 SCROLL B2 CP1R EDB1 Look for match.
170 L E T B=B + 1 B4 JRZ.54 28 54 Jump to 41 OA if found, to look at
180 GOTO 40 byte two.
200 L E T D =PEEK (fl+B) 40B6
B8
LD C . I A
CPIR
OE 1A
EDB1
Length of table 2.
Look for match (two byte
2 1 0 L E T I = I N T CD/16) instruction).
220 L E T HS =CHR$ (1+23) +CHR$ ( D - BA JRZ.9 28 09 Jump to 4 0 C 5 if found.
I*15+28) BC LDC.1C OE 1C Length of table 3.
2 3 0 RETURN BE CPIR ED B1 Look for match (three byte
2 4 0 P R I N T "CHECKSUM = " ; T CO JRZ.7 28 07
instruction).
Jump to 4 0 C 9 if found.
C2 INC C OC Must be a one byte instruction.
C3 JR.77 1 8 77 GOTO pan 4 print code.
40C5 LD C . 2 OE 0 2 Two byte instruction
C7 JR,73 18 73 GOTO part 4 print code.
and in all cases C is loaded but this time prints a space 40C9 LO C , 3 OE 0 3 Three byte instruction.
with the appropriate value and before each byte to make the CB JR.6F 1 8 6F GOTO part 4 print code.
control passed to Part 4 to display easier to read. Since 40CD LD C.4 OE 0 4 Four byte instruction.
print code. w e don't care about corrupting CF JR.6B 1 8 68 GOTO pan 4 print code
40D1 Table 1 DD ED FD Begins at byte 80.
If a match was found in table 1 the data, this time w e can Table 2 0 6 OE 10 16 18 I E 2 0 2 6 28 2E 3 0 36 38
w e may have an instruction leave out the rotate left digit Begins at byte 83.
two. three or four bytes long, it necessary in Part 1. On return Table 3 01 11 21 2 2 2A 31 32 3A C 2 C 3 C 4 C A C C
3 E C 6 C B C E D 3 D6 DB DEES ED EE F6 FE
depends on the value in byte to B A S I C at line 1 0 0 , the
CD Begins at byte 109
t w o , so the accumulator is decimal address is updated by D2 D4 DA DC DD E2 E4 EA EC F2 F4 FA FC FD
loaded with the second byte the number of bytes used and
and table 4 searches for four the screen examined to see if it
41 OA LD A,14083) 3A 8 3 4 0 Load accumulator with byte two.
byte instructions then table 2A is full. If not then back to line OD LD HL, 4 1 2 4 21 24 41 Pointer to table 4.
for t w o byte i n s t r u c t i o n s 7 0 , and off w e go again until it 10 LD C.OD OE OD Length of table 4.
beginning with DD or FD. is full. 12 CPIR ED 81 Look for match.
14 JRZ.B7 28 B7 Jump to 4 0 C D if found.
Again C is loaded with the ap-
propriate value and control Loading the REM 16
18
LD C.OB
CPIR
OE OB
EDB1
Length of table 2A
Look for match. — •

passed to Part 4 to print code. 1A JR2.A9 28 A 9 Jump to 4 0 C 6 if found.


1 told you it w a s com- This is without doubt the 1C LD A . I 4 0 8 2 ) 3A 8 2 4 0 Load accumulator with byte one.
IF LD HL.40D4 21 D4 4 0 Pointer to table 2.
plicated didn't I? Don't worry worst part of all, but the 22 JR.92 18 9 2 Reiom mainstream at 4 0 8 6 .
though, the worst is yet to following hints may help. Use 4124 Table 4 21 2 2 2A 3 6 4 3 4 B 53 5B 6 3 6B 73 7B CB —
come. W e are now left with 5 0 Fast mode to load the REM Begins at byte 163.
Table 2A 0 9 19 2 3 2 9 2B 39 E1 E 3 E 5 E9 F9
two byte instructions which with 2 0 8 characters, eg a se-
Begins at byte 1 76.
began with ED, and 4 8 three quence of nine full stops and a
byte instructions which began zero repeated makes counting
with DD or FD. Nobody wants quite easy, but as a check Pan 4. PRINT CODE (bytes 187 to 208)
9 8 bytes of tables, so the ac- when you have finished, a 413C LD B.C 41 Load B with number of bytes.
cumulator is re-loaded with the direct command of PRINT 3D LD H L . 4 0 8 2 21 8 2 4 0 Point HL at first byte.
first byte and the main pro- PEEK 1 6 5 1 1 should give a 40 XOR A Af Clear accumulator.
gram rejoined at table 2 where value of 2 1 0 . 41 RST 10 07 Print space
the 5 0 t w o byters are picked 42 RRD.(HL) ED 6 7 Rotate nibbles.
Use any loader program you 44 LD E.A 5F Save lo nibble
out by ED. And so to table 3 may have that loads Hex or 45 LD D.IHLI 56 Hi nibble into accumulator.
where the 4 8 three byters are u s e the f o l l o w i n g w h i c h 46 LD A.D 7A Avoiding code 7E.
picked out by DD and FD. although rather long and with 47 ADD A . 1 C C 6 1C Convert
49 RST 10 D7 Print hi nibble.
Again C is loaded and control limited protection on the input, 4A LD A.E 78 lo nibble into accumulator.
passed to Part 4. is easy to use. When RUN, it 4B ADD A . 1 C ce t c Convert.
Part 4 prints out the ap- wilt display the current con- 4D RST 10 D7 Print lo nibble.
4E INC HL 23 Next byte.
propriate number of bytes and tents of the first byte of the 4F DJNZ.EF 10 EF Until 6 is zero.
is virtually the same as Part 1, REM as '1 is 18?' and wait for 4151 RET C9 Return to BASIC.

116 ZX COMPUTING JUNE/JULY 1984


ZX81 PROGRAM
BRSIC PROGRflH Newline and you should see: corresponding to the following
' S T A R T ? IN HEX'. table:
10 P R I N T "STrtRT IN H E X . " Type in a start address, say number of bytes
20 INPUT Ht 0 , and with your fingers cross- opcode
data instruction
30 LET S=0 ed press Newline; all being well
4-0 F O R N = 1 T O L E N H| you should have no more than
1 0 1
1 1 2
50 LET S = S * 1 6 + C O D E H$(N)-28 one second of suspense 1 2 3
60 NEXT N followed by a display of Hex
70 POKE 16503,INT (S/256> addresses and groups of code,
2 0 2
.80 P O K E 1 6 5 0 7 , S - P E E K 1 6 5 0 3 * 2 5 6 which are the first 22 instruc- 2 1 3
9 0 L E T N=t'5R 1 6 5 1 8 2 2 4
tions in ROM, The program will
100 L E T 5 = S + N stop with error code 9 / 1 2 0 .
3 1 4
110 P R I N T
120 IF P E E K 164-4-2 —2 T H E N STOP You may now COPY to For our purpose it has been
130 G O T O 70 printer if required, continue sufficient to look no further
disassembly by CONT Newline than the second byte of the op-
or use RUN Newline to select a code, since all 62 three byte
new start address. op-codes form four byte in-
you to either accept it by which should be 2 2 8 8 0 ; if it Assuming all has gone ac- structions which are detected
pressing Newline, or to change isn't you have made an error. cording to plan, it is now play by their second byte.
it by entering the desired code Run the loader again and step time; why not look at our own In the interests of easy pro-
followed by Newline. through till you find it. Note program using 4 0 8 6 . then use gramming and description, no
In either case the code will that a simple checksum is not 4 0 8 2 and note that even great attempt has been made
be POKEd in and displayed to an absolute guarantee of ac- though not starting at the to save memory, since even at
the right of the old code. The curacy but you may proceed beginning of an instruction, the most crowded part of the
next byte is then displayed with fair hope of success. that the program is self align- ROM around 0 6 5 0 there is
below the first, so carry on and Save it onto tape just in case. ing. Instead of the boring old plenty of room on the screen
enter all 2 0 8 bytes, and good Delete all the loader except the THEN STOP in line 1 2 0 , try for all the code.
luck, remember to start with REM in line 1 starting with the THEN CLS or THEN SCROLL My thanks to Dr Ian Logan's
four 'no ops'. last line and working back to but do select Slow mode book 'Understanding your
If you make an error leave it line 10. before running these last two. ZX81 ROM'for the inspiration
for corrections later, the byte to write this program. Should
numbers will help you keep in Basically... Notes you require more information on
step with the program which the techniques used in my pro-
will stop after 2 0 8 bytes and Enter the BASIC program, There are seven possible gram, I suggest you look no fur-
display a simple checksum select Fast mode, enter RUN routes through the flow chart ther than this excellent book.

It's easy to complain


L

about advertisements.
Every week, millions of advertisements appear in the press,
on posters or in the cinema.
i Most of them comply with the rules contained in the
British Code of Advertising Practice and are legal, decent,
honest and truthful.
But if you find one that in your opinion, is wrong in some
way, please write to us at the address below
We'd like you to help us keep advertising up to standard.

The Advertising Standards Authority.


If an advertisement is wrong, we're here to put it right.
A.S.A. Ltd., Brook House,Torrington Place, London WC1E 7HN.

ZX COMPUTING JUNE/JULY 1984 117


The Software.

The Hardware,
The Facts.
PRL\ T X PLOTTER more into the memorv! PRLVT '.V PLOTTER
PAINTBOX It COMPILES text, graphics
characters or I'DG's instantly into machine KEYBOARD OVERLAYS
Superb Graphics code giving fast smooth access to the The simple answer to
— without expensive hardware! screen!
"Which key?"
It C R E A T E S re-callable Multiple
PAINTBOX gives the 48K Spectrum Screen Files automatically with its own Print n' Plotter KEYBOARD
owner every facility to produce excellent built-in machine code! OVERLAYS for the standard ZX Spectrum
graphics — easily, quickly and It E N L A R G E S screen sections in keyboard are the economic answer to
professionally. 2X steps! "Which key does what?"
There's no need for expensive It R E D U C E S the whole screen in If you program, or buy commercially-
hardware. PAINTBOX is flexible, precise 2X steps! produced software, sooner or later youll be
and incredibly simple to use! It RECOLOURS your screen faced with a mind-boggling mass of keys
Just take a look at some of the graphics either globally or selectively! that perform different functions.
facilities available: It MIRRORS the screen left to right This can be as simple as the " F I R E "
UPC EDITOR making flip-action animation easy! button in a game or as precise as the
It RELOCATES your screen graphics "analysis" button in a scientific program.
The facility to define up to 84 Let's face it. the Spectrum keyboard
to any other part of the screen with block
graphics characters which can be stored in is complicated enough so why not take the
or high-resolution scrolls!
your BASIC programs for instant recall easy way to remember...
It SUPERIMPOSES screen graphics
from its own built-in machine code! . . . lay over the keyboard a Print 'n'
giving incredible mixing results!
UPC. DRAWING BOARD It SAVES everything to tape or Plotter OVERLAY and write the function
UDC planner for the 4 banks of Microdrive for use within your BASIC underneath... it's child's play!
characters. Facilities include: MIRROR programs! Then keep the OVERLAY for the
IMAGE. ROTATE. INVERSE. F I L E . There's no doubt that S C R E E N next time you use the program.
MACHINE is a major graphics toolkit for Print n' Plotter KEYBOARD
SKETCHPAD
the 48K Spectrum. It is completely menu- OVERLAYS come in packs of ten.
Experimentation window" that driven and comes complete with demo Punched to fit your Spectrum. Priced to
allows you to try-out your UDC ideas under program and fully-documented instruction suit your pocket!
development. booklet.
PRECISION PLOTTER Another first from Print n' Plotter!
PRIST \Y PLOTTER
Amazing versatile high-resolution
drawing board which includes PAPER ZX PRINTER PAPER
PRLYT '.V PI JITTER
choice. PU)T, DRAW, DRAW
Print n' Plotter Products also
RADIALLY. C I R C L E . ARC. OVER. ZX SPECTRUM JOTTER market ZX PRINTER PAPER that giws
F I L L , instant change of INK and BRIGHT, Pre-planning your screen good, clear print, eminent feeding qualities
multi-function E R A S E and STORE. — probably the best youll find in the U.K.
Cursor is controlled by keyboard or made e a s y . . . and precise!
FAST D E L I V E R Y and
Joystick with FAST. SLOW, and Cursor size Print n Plotter J O T T E R S have economically priced . . . you won't find
choice! become a household word for the Sinclair better!
S C R E E N PLANNER enthusiast.
Despite various imitations our CREDIT CARD 24HR. AN'SAPHONE
For the best of both worlds!
original ZX SPECTRUM J O T T E R is still ORDERS
PRECISION P L O T T E R and UDC
CHARACTERS! For complete screen the one people prefer! 01-660 7231
planning of graphics. A multi-purpose Of course it could be because it is (Phone 01403 6644 for Dealer and other avjuineU
facility to enable you to produce superb professionally produced... the quality is Po*t to: Df(X ZX Print V Plotter Product* Lid..
screen graphics! superb. 19 Borough Hljth S t m t . London S E l 9SEL
All results can be sent to a printer, And the fact that it is BIG SIZE A3 Please tend me:
saved as S C R E E N S or SAVED as CODE (16lAff x is a distinct advantage ... -HUNTBOK"SOFTWARE«r£825
... "SCREEN MAC HINE' S< *TWARE O £ ^ 2 5
with its built-in machine code routine for when working in high-resolution.
SPECTRt'M KHTER PADS <B £9.00
instant recall from BASIC. It's also 100 pages thick. 50 pages of .. SPECTRUM KEYBOARD OVERLAYS 6 C M
The program is complete with a PLOT grids showing each numbered pixel . . 5 ROLLS ZX PRINTER PAPER 6 £12 50
cassette demo and a 28 page booklet co-ordinate and 50 pages of PRINT grids All pnees include U.K postatfr and VAT.
describing in easy-to-understand language showing every' character and graphic Li I enclose remittance in Ml
how to use it, plus many tips for storing character position and INPUT lines. • lleise Nil mv AcceivBarcbxjnl'Viia M i ^ l m j n l N<>
and using your graphics in programs. Each page also contains 24 UDG
planning grids (2400 per pad). Overseas orders please add 25N on <|uuted prices, far
Consider also the fact that it is additional handhrm
PRIST '. V PLOTTER printed on Artist's Detail p a p e r . . . thick
SCREEN MACHINE enough to take any writing, drawing or NAME,
colouring, yet thin enough to overlay onto
Instant machine code a drawing and trace-off. ADDRESS.

for graphics and text. For pre-planning graphics, text,


tabulation or anvthing to produce 'on
S C R E E N MACHINE is an invaluable screen' a Print 'n' Plotter J O T T E R won't be
graphics utility to use with PAINTBOX or beaten.
any other graphics hardware or software! The complete package comes with a
It gives a wide range of facilities to set of coloured pens, a Pixel ruler and a
enable you to manipulate graphics and handy corrugated storage tray.
text, saving time, memory and giving truly If you use PAINTBOX. S C R E E N
professional results. MACHINE or any other graphics utility . . .
For instance: S C R E E N MACHINE youll do things better with the ORIGINAL
COMPRESSES Screen Files to cram even Print ri Plotter JOTTER!
Data handling
[PROGRAMMING TECHNIOUI

Keith Williams of Newport


Pagnell gives us some
'pointers' on this oft Sr.• • - .* • • •• ••• - • ^ - ••.
needed subject. . •• . - ' A * . A • •

In my job as a teacher I have, into other specific areas of the


often, to handle large quantities string, eg class will be held in
of da ta w hich needs to be sort ed A $ ( x , 31 t o 3 3 ) .
in a number of different w a y s . This is still very simple. But
This is the sort of task for which the whole aim of the exercise is
a computer is ideally suited, but not just to hold the data but to be
how do you write the program to able to use it. I need to be able to
perform these tasks? sort the list in alphabetical order
Let us take an example. The throughout the year and within
example that I shall use is one each class, in exam result order
from teaching but one could for each subject and for the total
very easily think of equivalent mark overall both within each
examples in business, or sports class and across the whole year.
or anywhere else that some Why is this so difficult? Fig 1 can
form of data base is used. be used to illustrate this.
In this example I will consider If t h e y a r e s o r t e d in
a year group of 120 pupils in alphabetical order then A $ { 1 )
four classes. They are studying refers to Fred, AS (2) to John
six subjects (Maths, English, and A $ ( 3 ) to Harold. If I then
Computer S t u d i e s , History, want to sort according to Maths
Geography and Science). These m a r k s , then A $ ( 2 ) has to
are referred to by their initial let- become A$ (1), AS (3) becomes
ters. The information I need to AS (2) and so on. If I now want to
store (and sort) is: sort according to English or
History or anything else, then
Name, Class, Age (dob). Results the strings have to play musical
in M , E , C , H , G , S chairs. Large amounts of data
have to be moved about every-
So far, this is easy. I can set up time sorting, resorting and sor-
a character array A $ ( 1 2 0 , 5 0 ) ting again. Moving large
and put in the information for amounts of data is slow and in-
each child. As parents rarely efficient. Therefore, it is bad
consider how many letters there programming practice. What is
are in the name that they give to needed is a more efficient way
their child, the amount of string of linking and handling the data. A s you can see, each field is when the program is first run.
space taken up by the name will represented by a different array. This number held as a variable,
vary. Still, this is easily over-
come by taking a maximum
Data stacks The common index i links them
all. So, for i = 1 then NS (i) is Fred
say total, can be used to DIM the
a r r a y s . If t h e i n i t i a l D I M
name length of, say, 3 0 This is where planned data Bloggs, M(i) is his maths mark staiements are of the form DIM
characters and using Sinclair's structures come in. If w e call all and so on. The importance of N$(total+ 5 , 3 0 ) then w e can
" P r o c r u s t e a n " slicing-off of the data relating to one child a the pointer array will become ap- hold 30 character long names
feet or padding with spaces to fit record, then this is divided into a parent soon. The value of i will for each pupil and allow for five
the name into spaces 1 to 3 0 . number of fields as shown in vary from 1 to the total number new pupils to join the school dur-
The rest of the data can be put Fig 2. of students. This can be input ing the year.
The pointer is used to give the
index of the next record in the
NAME MATHS MARK ENGLISH MARK HISTORY MARK list. T w o other variables are
needed, toplist and topempty.
A $ ( l ) BLOGGS FRED 80 56 When the program is first run the
30
data stack will look like Fig 3a.
A$(2) COLLINS JOHN 60 27 30 Topempty tells me the index of
A$(3) SMITH HAROLD 45 42 70 the first empty record, P(i) tells
Figl me the index of the next empty
record and so on through the
chain. When I input data for my
first record this will go into the
INDEX NAME CLASS d.o.b. MATHS ENGLISH C.S. HIST GEOG. SCI. POINTER one indicated by i = 1 . Toplist
i N$(i) C$(i) DS(i) M(i) E(i) C(i) H(i) GO) S(i) P(i) will now hold 1, P(l) will become
0 and topempty will become 2 .
Fig 2 After 3 record entries my data
stack will now look like Fig 3 b.

120 ZX COMPUTING JUNE/JULY 1984


PROGRAMMING TECHNIQUE!
— TOPLIST-0 TOPE MPT V • 1 Adding and 5020 IF 8$(D = " H "
RECORDS
DATA
removing records 5030
THEN OPEN * 2 , " p "
LET i = topmaths
5040 IF r = 0 THEN RETURN
If a child leaves then I don't even 5050 PRINT N$(i)
have to delete his record. I just 5060 LET i = rti!
n 2
add it to the empty list (on the 5070 GOTO 5 0 4 0
end) and adjust the relevant
C xi pointers. Fig 3 c shows what
happens to the data stack when
U n e 5 0 0 0 locks on C A P S SHIFT
(see ZX COMPUTING Vol 1
the student whose record is held No 8 p 1 2 6 ) Lines 5 0 1 0 and
a. in 5 leaves the school. Note that 5 0 2 0 direct output to printef or
_ Fig 3s no data has been moved, just screen. 5 0 3 0 print the names
TOPLIST - 3 TOPEMPTV • 4 three point values changed. held in the topmaihs-r(i) pointer
Similarly if a new pupil arrives, Chain in the sorted order.
RECORDS he is assigned the data lock
LL DATA ZD pointed to by the variable
topempty and then this block is
Final tidying up
tied on to the full chain in the
XI relevant position. Again three All that really remains now is to
pointer values altered and no tidy up the many arrays and then
"X Sit down to coding.
i data moved.
The neatest way to hold all the
Sorting pointers and numerical data is in
one three-dimensional array. If
w e do this in the array aO then it
What about sorting? My original would be OlMmed a(m,2,i).
problem w a s how to sort the The first dimension — m —
CI XI data in n different w a y s effi- represents the number of fields
ciently and without moving which will be stored or sorted
13 masses of it around. Well, this is (don't forget to allow for the
w h e r e my rather c o m p l e x string arrays). The second
Fig 3b method of storing data comes in dimension — 2 — represents
BEFORE DELETION
to its own. Let us take the pointer or data. The numerical
simplest case of only sorting by data held in 1 and the pointers
TOPLIST - 117 TOPEMPTV - 118 one criterion, eg alphabetical held in 2 . Finally, the third
RECORDS order. dimension — i - holds the ac-
Using the original model w e tual data and pointers (i here is
DATA xi would compare two strings. If the index that w e have used
one w a s 'greater' than the other throughout).
then they would swap places If maths, for example, were
X! using some such lines of BASIC held as field no 3 . then the
"X as: maths sorting routine described
HE XI 1 0 0 0 If A $ ( i ) > A $ ( j ) THEN LET
above would be written compar-
ing a(3,1 ,i) with a(3.1 ,j). if it is
B$ = A$ ( j ) : L E T A $ ( j ) = A $ ( i ) : larger then w e would swap
IXI LET A$ (i) - B$ pointers a(3,2 ,i) and a(3,2 ,j>
1 0 1 0 NEXT j: NEXT i Only two routines are needed
/ to sort the data — a string sort
On our model w e would move routine and a numerical sort.
| 118 119 |
just two numbers not massive First a string array is set up to
data blocks: hold the names of the fields —
[Tl> ~12o) say S$ - so that S$ (2) holds
1 0 0 0 IF A$ (i) >A$ (jl THEN LET ENGLISH, S $ I 3 ) holds M A T H S
temp = P(j): LET P(j) = P(i) : LET and so on. Remember to hold
| 1K> P(i) = temp these as capitals and to convert
1 0 1 0 NEXT j : NEXT i all input into capitals. Then a
simple FOR - NEXT loop will
AFTER DELETION
But this is not the end of the find the correct field:
story. If P(i) is the pointer in sort-

m
TOPLIST 117 TOPEMPTV -118
' V ing by alphabetical order, w e 8 0 5 0 INPUT "Which field do
can use other pointers to sort by you want to sort?" ; LINE B$
xi all other criteria. For example, 8 0 6 0 FOR n = 1 TO Number of
rti) could be the pointer for sort- fields
ing by Maths mark, q(i) for sort- 8 0 7 0 IF S$(n,1 TO 3> = B$(1
XI ing by English mark and so on. T 0 3 > THEN GOTO number sort
We would need new variables to 8 2 0 0 REM number sort
act as pointer to the top of each 8 2 0 5 IF a ( n . l . i ) > a ( n , 1 , j )
I« x list, eg topmaths, tophist etc. and so on as before
/i The sort routines can be as
above so that if m(i)>m(j) then The routine above can also be
119 r(i) and r(j) would swap values. used to automatically direct
To print names in order of operation to the string sort
maths mark w e would use a routine. Similarly, the print
| 119 1*T| routine such as: subroutine can use Ss.
A data saving and loading
5000 F*OKE 2 3 6 5 8 , 8 facility needs to be written to
| 120 XI 5010 INPUT " Hard copy or make the data base program
Fig 3c Removing a record from the bst toscreen (H/5)"; LINE complete: now all that is left is
B$ the coding!

7* ("("IMPUTING JUNE/JULY 1984 121


(SOFTWARE REVIEWS!
Level 9 are well known for their very absorbing and will easily
adventure programs. Their hold your interest for some time.
latest offering. Lords of Time, O n c e y o u ' v e s o l v e d these
follows hot on the heels of the puzzles you can go on to tax
Middle Earth trilogy (Colossal your brain on the other zones.
Adventure, Adventure Quest Should you really get stuck,
and Dungeon Adventure! and the program box contains an
the S i l i c o n D r e a m t r i l o g y envelope and a hint card for you
(Snowball, Return to Eden and to send to Level 9, and ask them
The Worm in Paradise!. Lords of any specific question(s) you
Time is written in what is called may have about the adventure.
" a super-compact adventure This is a nice touch, but could be
language; a-code". This gives your one and only chance as
fast response times with long Level 9 do not promise to
text messages but doesn't oc- answer any further questions
cupy much memory. without the special card. So
The tape comes in an attrac- make good use of it, and only
t i v e (if s u p e r f l u o u s ) large when you definitely can't get
package and has a brief ten- any further.
p a g e p a m p h l e t (like Dark In conclusion, this is a well-
Crystal) which contains highly packaged adventure program
cryptic clues in the form of an in- for the Spectrum with fast
troduction and a poem. The tape response times to avoid tedium,
appears to be well duplicated good descriptions of each loca-
and loads first time. Although it tion, many difficult puzzles to
only occupies 3 2 K of memory, solve w h i c h keeps you in-
the program is very wide in terested, and lots of different
scope, having some 3 0 0 loca- (and unusual) areas to explore.
tions, 7 5 0 messages, and about T h e s i t u a t i o n s range from
8 0 objects. The objective is to dinosaurs to knights to com-

Greg Turnbull, regular contributor and adventure


fanatic, begins a regular feature for non-arcade fans.
score points by collecting each The usual quit/save game c a n d l e , mirror, tin opener, puters which adds to the time-
of 9 i n g r e d i e n t s a n d 1 8 features are available — the planks of wood, valerian (a travel feel of the program. The
treasures. w o r d R E S T O R E will load a plant), a lodestone, keys, a small pamphlet doesn't actually
Bonus points are awarded for previously saved situation. This rucksack (to carry extra items), tell you much about the pro-
certain actions and for com- feature is always welcome if coins, mushrooms, a petrol can, gram, so previous adventuring
pleting the game; points are lost you get stuck and want to go etc. experience is an advantage (but
if you get killed! The central loca- away and think about a problem In each zone you collect one not essential). T h e lack of
tion point is the clock from over a cup of tea. The speed of of the nine ingredients: olive graphics to accompany the
which nine time-zones can be reply is excellent and the scenes branch, dragon's wing, ivory good descriptions of each loca-
reached. These must be com- described are very detailed. tusk, diamond teardrop, evil tion is a shame, but I suppose it
pleted in numerical order, as ob- H o w e v e r , no g r a p h i c s are eye, dinosaur's egg, jester's could be said that you can get
jects from previous zones are re- available as this is an old-style cap, silicon chip (the program bored with looking at the same
quired to solve problems in adventure without character in- has some nice humorous picture many times (especially if
subsequent ones. The ultimate teraction and not in 'real-time'. touches) and a gold buckle. it takes some time to draw it)
aim of the adventure is to defeat Hence it suffers badly in com- There are also two treasures per and it does help to save on the
the evil Timelords. parison to the likes of The Hobbit zone, an hourglass, jewellery amount of memory used.
The program recognizes most and Valhalla — perhaps the box, etc. All are needed to in- Overall, Lords of Time is an
of the usual adventure words closest equivalent would be crease your point score (so you enjoyable, if somewhat old-
such as: examine inv(entory), A r t i e ' s s e r i e s of t e x t - o n l y can see how you are progressing style, package from Level 9 and
score (out of 1 , 0 0 0 ) , drop, look, adventures. as you complete more and more although rather expensive, can
give, take, N, S , S E , NW, U, D, Some of the problems are of the adventure) and for the be recommended for hours of
forward, backward, enter, get very perplexing; one of the final confrontation with the problem-solving fun for new and
e v e ( r y t h i n g ) . s e a r c h , open, earliest being how to get to each Timelords. hardened adventurers alike. If
wear, it, etc. AGAIN repeats the of the time-zones, and later how I have only explored the first you like this program you could
last command but there is no to get the maddeningly-elusive time-zone which contains such then go back and try some of the
HELP routine. The vocabulary keys under the door of the locations as a road-works, a excellent earlier Level 9 adven-
understands some 2 0 0 words garden shed! Each of the time- two-storey cottage with tures, especially the first. Col-
and will accept short sentences, zones contains various locations garden, shed, a garage (contain- ossal Adventure.
eg search the bedroom, examine and problems for you to solve. ing a Porsche!) and a nearby
the clock, etc. However, you Numerous objects are provided stream so I cannot comment on Lords of Time costs £9.90 and
may need to rephrase some re- to help you in these tasks, eg a the content of the other eight is available from Level 9 Com-
quests that it doesn't under- rope, spear, tin of catfood, s e c t i o n s of t h e p r o g r a m . puting at 229 Hughendon Road,
stand. metronome, a pick, matchbox. However, this early section is High Wycombe, Bucks.

122 ZX COMPUTING JUNE/JULY 1984


Getting a program typed in is often only the
start of your problems. Ed to the rescue.
Typing in a program is a useful
exercise. Apart from the pa-
tience required, techniques
learned and the end program to
be used, probably the most
educational part of it is tracking
down the bugs introduced by
yourself or occasionally by our
publication system.
In debugging you gain a
much deeper insight and
understanding on how the pro-
gram actually works than by
merely typing it in, but tracking
down these errors is an art in
itself and needs some skill. So
here are some tips to help you in
your efforts when faced with
that cryptic error report!

1 NEXT without FOR


Look back through the program,
either the loop has not been set
up — no related FOR 'letter' =
No1 TO No2 line, or the letter
has been re-used as an ordinary
variable within the loop with a
LET 'letter' - No.

2 Variable not found


This is one of the most common 3 Subscript wrong 7 RETURN without G O S U B this and it can happen on an auto
errors. Again, the problem may Connected with DIM A(No) or Somehow the computer has start program (saved with a LINE
not lie in the line where the error DIM A$(No). If the number in the reached a RETURN command number). Good programming
w a s detected and reported. If brackets on the line -where the other than via a GOSUB instruc- usually RESTORES to the cor-
there is only one variable, which error is reported is greater than tion. Check a GOTO hasn't been rect line number before using
may be one or more letters or a the one in the original DIM state- entered in place of a GOSUB. READ.
string ($) variable, then that is ment, is not an integer or is less Check for a missing GOSUB.
trie problem. There may be more than 1, then this report is
I FOR without NEXT
than one variable in the line sec- generated. If the subscript —
tion feported and you will have B Integer out of range See report 1 but this time the
number in brackets — is a
to identify the offending one. In A n integer (whole number) NEXT is missing!
number then check and change,
a line PRINT A T Y , X ; A $ the either as a number of variable is
however, if it is a variable then
culprit could be Y or X or A $. To too big or small and you are at-
follow the procedure for tracing Note that the letters I have used
find out which of them is caus- tempting to do something like
variables. It has probably ex- for examples could by ANY let-
ing the problem (it may be more PRINT A T 0 , 3 3 - not allowed!
ceeded the limits, look for lines ters not just A $ , X , Y etc and de-
than one) type in turn as a direct Check any variables involved as
with the variable being altered pend on the particular choice of
command: per report 2 and trace it back
with + - * / : if necessary add the programmer.
through the program looking for
limiting code. For example: This is by no means a com-
adjustments to it by + - * / :
PRINT Y Enter/Newline Add limiting code if needed — prehensive list but I have tried to
PRINT X Enter/Newline IF X >10 THEN LET X = 10 see report 3 cover many of the most com-
PRINT A $ Enter/Newline mon error reports. Personally, I
4 Out of memory get almost as much satisfaction
Note which produces the error A s well as for programs which E Out of D A T A from debugging as I do from pro-
report. Now look back through are too big, it may happen if the A Spectrum problem. Check the gramming I do assure you,
the program printout for the line previous program set RAMtop. number of D A T A items match however, that there is absolute-
which sets it up — usually a LET Before despairing, enter C L E A R the number of READs; usually ly no truth in the rumour that w e
or FOR command. Did you leave U S R " a " - 1 on the Spectrum: on one (or more) has been missed deliberately inject bugs into our
it out? Does the program get the Z X 8 1 S A V E the program, out. Attempting to reread a listings in order to introduce you
there or has a GOTO/GOSUB turn the machine off and on, D A T A list without first using a to the dubious delights of
Seen wrongly addressed? then reload the program. RESTORE command will cause debugging!

7*("("IMPUTINGJUNE/JULY 1984 123


Conversion tips
[PROGRAMMING TIPS)

A guide to ZX81 /Spectrum program conversions


from David Nowotnik.
The versions of B A S I C offered trum (see Table 1). but you will have to find some changes appear in the tables.
by the t w o ZX computers are There are quite a lot of com- alternative for the high resolu- A command such as POKE
so similar that many programs mands and functions on the tion and file I/O commands. USR " a " . . . . on the Spec-
for one can be used by the S p e c t r u m w h i c h are not The command PLOT appears trum indicates User Defined
other. The Z X 8 1 has only two available on the Z X 8 1 . A list of on both computers, but the ef- Graphics; Z X 8 1 users don't
commands which are not pre- these appears in Table 4 . The fect is quite different, so have this facility, so you'll
s e n t on the Spectrum, stars indicate those commands beware) Another tip: PEEK and have to omit this and use a
S C R O L L and UNPLOT, and and functions for which there POKE should be used with cau- standard character instead.
these should cause you few is no simple translation to tion. In conversion, addresses
problems w h e n converting Z X 8 1 B A S I C . Those for colour will almost certainly have to be
Z X 8 1 programs to the Spec- and sound can be ommitted; c h a n g e d . S o m e of those

ZX81 Spectrum Comments

SCROLL RANDOMISE USR 3 5 8 2 If the program uses random numbers, they


or could become rather predictable with the first
LET t = USR 3 5 8 2 option. If so, use the second, using a variable (in this
case t) which is otherwise not used.
PLOT Y . X PRINT A T 21 - Y / 2 , X / 2 ; Print the appropriate quarter square graphics
character.
UNPLOT Y . X PRINT A T 21 - Y / 2 . X / 2 ; Print a space, or the appropriate quarter square
graphics character.

Tebte 1 2X81 to Spectrum

Spectrum ZX81 Comments

BIN 8IN allows the represen-


eg LET y = BIN L E T y = (decimal no.) tation of a number in
10010101 Conversion to decimal: binary. On the Z X 8 1 use the
10010101 = 149 decimal equivalent, but
beware; BIN is often
1 2 8 6 4 3 2 16 8 4 2 1 used with User Defined
Add these numbers together when Graphics, which are not
a 1 appears at the appropriate available on the Z X 8 1 .
position in binary.

READ/DATA LET R E A D and D A T A are


eg R E A D x , y LET X = 5 0 used to store a lot of
DATA 50,60 LET Y = 6 0 information in a program. Use
LET instead.

DEF FN and FN The defined function can


eg DEF a ( x ) - S Q R x L E T X $ =* " S Q R X ' appear in a string. Use
LET t = FN a(i) LET X = l the keyword for built-in
LET T = VAL X$ functions (eg SQR). The
equivalent of FN may need 2
lines, as shown.

PLOT no equivalent

SCREENS
eg LET a = S C R E E N S x , y LET A - PEEK(PEEK 1 6 3 9 6 Used in interactive games
+ 2 5 6 ' P E E K 1 6 3 9 7 + 1 + Y + 3 3 * X ) to detect characters in the
display file. Note — this
formula only works when a
R A M pack is fitted.
Table 2 Spectrum to ZX81 conventions

124 ZX COMPUTING JUNE/JULY 1984


ZX81 Spectrum Comments
1 FRAMES Both computers have a counter
POKE 1 6 4 3 6 , 2 5 5 POKE 2 3 6 7 2 , O i P O K E 2 3 6 7 3 , 0 which accurately varies by 5 0
POKE 1 6 4 3 7 , 2 5 5 every second. In the example.
LET t = ( P E E K 2 3 6 7 2 + 2 5 6 * use the first line to start the
LET T = ( 6 5 5 3 5 - P E E K PEEK 236731/50 'clock'. The variable T will
1 6 4 3 6 - 2 5 6 - P E E K 164371 have the time in seconds after
/50 For times greater than 10 the start. The counter can
minutes, you can use byte only be used for 10 minutes.
2 3 6 7 4 as well.
2 Line number zero
Converts the first line of a
POKE 1 6 5 1 0 . 0 POKE 2 3 7 5 6 , 0 program to line number zero,
(As the start of BASIC can which cannot be edited, and
move, eg with microdrives) so is protected.
use with caution.
3 RAMTOP
POKE 1 6 3 8 8 . X - 2 5 6 M N T CLEAR x Creates a safe area at the
(X;256) top of RAM starting at address
POKE 1 6 3 8 9 , INT (X/256) x, for storing data, machine
Table 3 General interconversion hints. code etc.


BEEP FORMAT ATTR •
* BORDER *
INK BIN
BRIGHT • INVERSE FN
CAT • MERGE IN •
CIRCLE • MOVE OVER •

— CLOSE #
OPEN POINT •

DATA OUT SCREENS


OEFFN PAPER VALS •

DRAW • READ
- —
ERASE • RESTORE
FLASH • VERIFY
Table 4 Spectrum functions not a va liable on the 2X81.

MAIL ORDER PROTECTION SCHEME


ERAN — If you order goods from Mail Order Advertiser® in this
magazine and pay by post in advance of delivery. this
OFTWARE publication will consider you
advertiser should become
for compensation if the
insolvent or bankrupt,
provided

1 You have not received the goods or had your money


Professional Software for the returned; and
ZX M A C H I N E C O D E P r o g r a m m e r 2 You write to the publisher of this publication explain-
ing the position not earlier than 26 days from the day
you sent your order and not laier than 2 months from
that day
• C O O E S C A N " MACHINE C O D E MONITOR
Please do not wait until the last moment to inform us
• Memory and contents display S»ngle step and rapid scroll
up /down facility When you write, we will tell you how to make your claim
• Addn s change !ac ty lor rap.a across to any pari of and what evidence of payment is required
memory We guarantee to meet claims from readers mada in
• Edit with automa' i scro feature accordance with the above procedure as soon as
• Run and post-run register display
• Resides above RAMTOP leaving memory tree lor normal possible after the advertiser has been declared bankrupt
BASIC use or insolvent to a limit of £1.600 per annum for any one
• On screen instructions and a" functions shown on a single advertiser, so affected, and up to £5.400 p.a. in respect of
display all insolvent advertisers Claims may be paid for higher
• Supplied with user guide incorporating test schedule amounts, or when the above procedures have not been
• Available lor ZX8t 16K and S P E C T R U M 16 48K complied with, at the discretion of this publication, but
• Price C525 including VAT and P&P Despatched withm ^ we do not guarantee to do so tn view of the need to set
days ot order
some limit to this commitment and to learn qiifckly of
Please include your name and address reader's difficulties
Cheques PO'a payable to This guarantee covers only advance payment sent in
direct response »o an advertisement in this magazine
CERAN SOFTWARE (not. for example, payments made in response to cata-
9 Parliament R o a d . T h a m e . O x o n 0 X 9 3 T E logues. etc. received as a result of answering such
advertisements)
CLASSIFIED ADVERTISEMENTS ARE E X C L U D E D .
ISPECTRUM DOMESTICI

Currency conversion
if you're going abroad this summer, this program
from K j Rider in Kingston is a must!
Currency Conversion will store variables to get the 1 REM SPAIN PESETAS SWITZERLAND UNITED
and retrieve the rates of ex- address.
change between Stirling and any When first run you will have to STATES DOLLARS"
other currency of a wide range use the option to set up each of 60 PRINT *;TAB 3 l B * ( TO 19)JTA
of countries. the exchange rates (these can B 28;" (1) "
Keith has used some neat pro- be found at any bank) and the
gramming techniques to fit it in- program will crash if they are not 61 PRINT ; T A B 3 ; B « ( 2 0 TO 34) ; T
to 1 6 K, one of which is holding entered before attempting to AB 28;"f2)"
the rates of exchange in a REM convert currencies. Countries
62 PRINT ; T A B 3 ; B * ( 3 5 TO 40) ; B —
s t a t e m e n t and using the other than those supplied in the
PEEK^POKE functions to store listing may be changed or added * < 2 7 T O 3 4 )*, TAB 28 ; " ( 3 ) -
and retrieve it. The program to and the following notes will 63 PRINT ; T A B 3 ; B9 ' 4 2 T O 54) ; T
even allows for lucky microdrive help you to make any ad-
justments. AB 28|"(4)• —
users by using the s y s t e m
60 P R I N T ; T A B 3 ; B * ' 5 6 TO 72) J T
Program details AB 2 8 ; " ( 5 > "
65 PRINT ; T A B 3 ; P * ( 7 3 TO 83) ; T -

1 REM statement used to store the currency conver-


sion rates AP 2 8 ; " < 6 > "
20-30 Strings containing vapous instructions and informa- 66 P R I N T ; TAB 3? B * ( 8 4 TO 96) ; T
tion AB 28;"(7)"
35 Sets C A P S SHIFT on the Spectrum
40-45 Prints titles 67 P R I N T I TAB 3 ; B * ' 9 8 TO 1 0 9 ) ;
50 String with countries and currencies, modify for B * < 2 7 TO 3 4 ) ; i T A B 28 ;"(8?"
other places but watch spacing and positioning.
68 PRINT J TAB 3 ; B » ( 1 1 0 TO ) J T A
60-69 Prints Menu
70-80 S A V E or get rate of exchange B 28;"<9>"
90-650 Display routines 69 PRINT * ; " P R E S S (S) TO S A V E
1000-15 POKE new rates to place in REM
T H E " ' " PROGRAM W I T H THE NEW R A T
1 5 0 0 j05 S A V E routines
5000/50 Get new rates routines ES"*"OF EXCHANGE."
6000 DATA of B$ offsets for each country used in printing 70 PAUSE 0
the correci country and currency in line 9 0
75 LET Z * = I N K E Y « : IF (2*<"1" O
Bon voyage! P Z* AND Z « 0 " S " THEN GO T
0 73
1 REM 80 C L S
8 5 I F Z « = " S " THEN GO T O 1 5 0 0
8"> L E T Z = P E E K 2 3 6 3 5 + 2 5 6 * P E E K 2
5 CLS
3636-4+10*VAL Z«: LET D*="»: FOR
10 REM C U R R E N C Y CONVERSION BY
I = Z TO Z + 4 : L E T D * = D * + C H R « P E E K
K.J.RIDER
I : NEXT I
20 L E T PR
9 0 R E S T O R E : FOR I « 1 TO 2 * V A L
ESS CP)"
29 S T E P 2 : R E A D A , B : NEXT I
30 LET GS="THERE ARE- LET M
" 2 P R I N T G * ; D S ; B * ( A TO B > : PRI
* = - TO T H E P O U N D S " : L E T 0 * = " D 0 Y
NT M * ( TO 1 3 ) : P R I N T •O*
OU W I S H T O C H A N G E T H E R A T E ~> (Y
9 5 P R I N T * O * ( TO 2 2 ) : PRINT B*
) - YES (N)-NO. "
( A TO B ) ? M * < TO 4 M M * ( 8 TO );s«:
75 POKE 23658,8
PAUSE 0 : CLS
•10 P R I N T " CURRENCY R A T E S FOR
" 6 I F INKEY*-="Y" THEN GO S U B
THE POUND"*"
5 0 0 0 : GO T O 8 7
"1'" S E L E C T T H E COU
104 I F I N K E Y * « " P " THEN GO T O 1
N T R Y AND P R E S S " * " T H E K E Y INDICA
06
TED. "
1 0 5 C L S : P R I N T I T A B 4 ! M * < 8 TO
45 PRINT *;TAB 3|"COUNTRY ";T
U T A B 1 4 ; B * ( A TO P ) : GO TO 2 9 0
AB 12}"CURRENCY"
1 0 6 P R I N T ; T A B 4 ; B * < A TO B);TAB
50 LET B* ="AUSTPI A SCHILLINGS
1 6 J M S ( 8 T O ) : GO T O 5 0 0
B E L G I U M F R A N C S F R A N C E G E R M A N Y MA
2*"? P R I N T "
R K S HOLLAND G U I L D E R S I T A L Y LIRA

126 ZX COMPUTING JUNE/JULY 1984


ISPECTRUM DOMESTICI
630 IF INKEY»="C" THEN COPY
300 FOR K«.01 TO .10 STEP .01: 650 CLS : RETURN
GO SUB 400 1000 FOR TO 5
310 FOR K=.L TO 1 STEP .05: GO 1005 POKE 2 - 1 + 1 , C O D E AC(I)
SUB 400 1010 NEXT I
320 FOR K=1 TO 10000: GO SUB 40 1015 RETURN
0 1500 CLS : SAVE "CURRENCY" LINE
400 PRINT ;TAB SJKJTAB 12;" 1
! TAB I"*;K*VAL R* 1501 BEEP 5 , 2 0 : P R I N T AT 1 0 , 1 0 ;

405 GO SUB 600 FLASH If"REWIND TO V E R I F Y "


4 10 NEXT K: RETURN 1502 V E R I F Y "CURRENCY"
5 0 0 F O R K « .. Ll T O 1 S T E P . .0055: : GO 1503 BEEP 8 , 0 : C L S : P R I N T AT 0 ,
SUB 5 5 0 0? F L A S H 0 ; - N E W R A T E S OF EXCHANG
5 1 0 F O R K - 1 T O 1 0 0 0 0 S T E P 1 : GO E SAVED O . K -
SUB 5 5 0 1505 STOP
5 5 0 PRIMT ; T A B 5 ; K I TAB 1 2 } " = " 5 0 0 0 P R I N T A T 0 , 0 ; " I N P U T NEW R A T
5 TAB 17; ( I N T ( < ( K * ( 1 / V A L D*))#10 E OF E X C H A N G E " * • ( T H I S MUST B E 5
0 1 • . 5 >/100) D I G I T S I N C L U D I N G " ' " THE DECIMAL
555 GO S U B 6 0 0 P O I N T . P U T I N 0 * S * 1 " TO MAKE UP
560 NEXT K : RETURN TO 5 I F N E E D E D . ) "J INPUT "
600 I F P E E K 2 3 6 8 9 < >2 THEN RETU " | A«
RN 5020 IF LEN A«<>5 THEN GO T O 50
610 POKE 2 3 6 5 9 , 0 : PRINT INVERS 00
E iiAT 22,0i" (S)-SCROLL (C)-COP 5040 C L S : GO S U B 1000
Y < M)-MENU POKE 2 3 6 5 9 , 2 : IN 5050 RETURN
VERSE 0: PAUSE 0 6000 DATA 8,19,27,33,27,33,4Q.54
6 2 5 I F I N K E Y * = " M " THEN RUN ,63 f 7 1,78,82,89,96,27,34, 123,130

ZXtras
Complete your COOL-IT UNIT
BACKPACKS
•o^r
computer Takes me neat out fjsa^.
ol your oompmer '
Lets yoix Spedrwn or
^ ^ K E L W O O D S O U N D ZXfii r\*i mutti oooter r
Jv&w^
r t f M *h a*s aMPt O WER BASE Separate Coc-*Un*
h e l b a s k ; bits. t h a t 2X81fletZXCCtt66 Spectra RetSCEll 85
4 Sinclair left off. * CooMumtt Outffmtooffter Ketwoodaddm
Sn«5ens 01 (MB. no^pertsatole und comptete ywx k • Fully adjustable sound amplification Power Saw i Spectrum R«f PBSIC CIS 55«Power
computer A» have SAVE LOAD and ON/OFF Swftcfwig • LOAD/SAVE switch • Angled stand Base IZX81 I Re' PBZXC £19 3S«Soi«J ( W Base
and a housmgtortrvi transformer Compewe** tSpecm*n o*y> Ret SP8IC C25 OOeBack Pack i Ret
rtertaoe one. Idealtoruse caaed keyboards t p ' ^ s ^ - J l ON-OFF re-set switch BP1C C32 55*Back Pack2FW BP2C C24 55* Back
RetBPl Futr vwabto Kwd amp 3 «13 amp socket* Pack 3 Rel BP3C £26 5S • Back Pack 4 Ret BP4C
€18 60*Back Pack 5 Ret BP5C £26 MeBacfc Pack6
swlch and neon ndcator cabte and ptug C2750
Ret BP? tttBPl but no sockets cable and ptogs Mas s r e ^ ^ M f f l ' Ret BP6C £18 909 Weartaver (Spectrum; Ref WSSC
£i600«Wearsaver(ZX81|Rei WSZWXrCf •£1580
room to tm
i yCKX own CX*aplug sockets £19 50 J W
Ret BPJ - as BP1 but no «xnd (21 SO
Ret BP* asBPi but no sound or sockets CT306
Ref BPS ZX81 «tnan nc sockets maws swfcti
neon, cat*) and pfcg C20 85
Ref BP6«sBPSbutnocableorsockets —_ CI285 rake up any enra ^ - y / 1
space 9 All wires • - ^
MiCROSTATION included 9 Saves wear arxJ ^ i ^ j / \
17 square tray lor above plus computer and tape distinct
fear or connections 9 Gives out
click with each key depression 9 Amplifies i\' ^ v o t t s O N ^ ^ 95
Re' MS t 7 50 ait sound on program and on cassette 9 Does not \
WOBBLE STOPFER need battenes • Does not interfere with n$ide of I
Spectrum or any other addons 9 No sddenng
Z X & E A M ' f K A l required Simply plugs n R E F S P f l l C19.90
Flat Rtl SW f5 25 T*ed Re* STW C6 25
immglotnm> FM HHLWC.75 TMd n^LTWMTJStandard Power Base without sound
S P E C T R U M R E F P B S I C13.50 ZX81 R E F PBZXI £13

CREDIT CARD
HOTLINE T E L :
(0709)63242
8am-10pm Items under &0 plus 60p P&P TOTAL
Access Items over £ 10 plus 95p P&P ENCLOSED

Barctaycard No AJI prices include VAT WE ALSO


STOCK
KELWOOD COMPUTING Downs Row, Moorgate, Rotherham /B&Mk SOFTWARE!

ZX COMPUTING JUNE/JULY 1984 127


The ZX81 goes Forth
Peter Shaw tries an unusual variation on an old
favourite.
When the Ed told me about a to de-solder the basic ROM in amongst you will be disap- of control units who all said
Z X 8 1 with a Forth ROM the one line of the manual. Taking pointed if you think this will that the ZX81 has taken on a
same thoughts flashed across one of those ROMs out is not provide a simple w a y of new lease of life with Forth as
my mind as when I heard very easy for one thing, and writing games without resor- a control unit — one telling me
someone had linked the "81 to a even if you do manage to get it ting to machine code, of a University which has in-
8 0 0 K disc drive and an Epson out, you'll probably never be I couldn't find any bugs in stalled several to monitor ex-
printer: for what possible able to use it again and you the system while I w a s playing periments.
reason would they go to the might have damaged some of with the machine, this seems Although, as Peter says,
trouble? Welt, although I have the other chips on the PCB too good to be true I perhaps the home user may
the same feelings about the while using the soldering iron. have a limited, specialised use
drive and printer. Forth on the
'81 is a slightly better idea.
Once you've managed to get
your EPROM in and working,
Conclusions for it, / find it interesting
know of the applications
to
for
The EPROM is either sold as what have you got? Well, it's which the humble home com-
a single complete unit, ie a not the Fig-Forth that I know A s Z X 8 1 -Forth is based on puter is being used. If you
Z X 8 1 with a Forth EPROM fit- and love, but what it loses on T R E E - F O R T H and not the know of any special ways in
ted, or as a 'diy' conversion the swings, it gains on the popular Fig Forth, I am not as which these machines are be-
kit, so that you can take your roundabouts. Z X 8 1 -Forth is thrilled with ZX81-Forth as I ing used, why not write in and
existing Z X 8 1 and exchange fast. I mean F A S T , even com- could have been. There must let me know.
the B A S I C ROM for Forth. pared to other versions Of be a very limited market for Spectrum owners are not
Fitting the chip is quite sim- Forth it is pretty nippy. In Z X 8 1 owners who want to run forgotten as David Husband
ple. if your B A S I C ROM is in a A U T O ( F A S T mode), the Forth their hot-water boiler with a also supplies a FORTH ROM
holder. All you have to do is version of a FOR-NEXT from 1 Forth program written on their unit for this computer. RE
whip one out with a to 3 0 0 0 0 takes less than 1 se- small Sinclair. Apart from that,
screwdriver, and drop in the cond, One major feature of ZX81-Forth is a well written ZX81 Forth costs £ 2 5 plus £2
new one. If your B A S I C ROM is Forth is that it is 'Multi- ROM. p&p. (VAT is not included.) It is
soldered in then you'll probably tasking' this means Z X 8 1 available as an Eprom, or com-
be better off just buying the Forth w a s probably developed plete Z X 8 1 with Eprom fitted
complete Forth package. David with real-time controlling in Addendum: Since Peter wrote from: David Husband, 2
Husband, the producer of mind. There are no graphics, this review I have had many Gorleston Road, Branksome,
Z X 8 1 -Forth, calmly tells you as such, so the games players conversations with suppliers Poole. Dorset B H 1 2 1 NW.

128 ZX COMPUTING JUNE/JULY 1984


L Don't get hissterical over 20 REM * * P . C . 9/82**

L this chase game from 30 CLS

Pete Cooke in Leicester!


40 GOSUB 5 0 0 0
50 I F I N K E Y « < > - " T H E M GOTO 5 0

L In this program, your snake (the


grey squares) has to try and trap
As the computer's snake is
always ten squares long, it only
80
90
R E M * * M A I N GAME L O O P * *
L E T N*1
the computer's snake (inverse needs one pointer, BB moving 100 LET 2-CODE INKEY*

L *c's). You can move using the ar-


rowed keys 5 to 8.
The squares occupied by the
through the array. The old value
of BIBB) is overwritten and the
new value replaces it.
110
«*Z-28
I F Z > 3 2 AND Z < 3 7 T H E N L E T

snakes are contained in two 1

L
120 L E T C=C+33*( ( E * 6 ) - ( E * 7 ) ) -
Line by line
dimensional arrays, A(50) and
B(10). For the player's snake,
=8 ?-<E»5>
two pointers, AA and AB, move 1 3 0 I F P E E K C ® 2 3 T H E N L E T AB- : A B
Here follows a breakdown of the
L
by POKEing in the new head at -4
A(AA) and wiping out the tail at program which should help you
1 4 0 I F AB<1 THEN L E T A B » A B + 5 0 —
A ( A B ) . Changing (AA-AB) understand the listing a little
lengthens or shortens the snake- better: 1 5 0 I F P E E K C > - 1 2 8 T H E N GOTO 1 0
00
160 P O K E C,136
90-660 Forms the game loop. The player's move is input
170 POKE A ( A B ) , 1 4
and the computer tine 1 5 0 checks that it is to an
empty square. Line 130 allows for the player's 180 L E T A ( A A ) « C
snake finding food. Lines 3 0 0 - 5 5 0 check for 19ff L E T A A = A A + 1
the computer's snake. If the next square is a
wall then it is either right or left at random. 200 L E T A B = A B + 1
1000-2050 Shows who has won the game and reruns the 210 I F AA > 5 0 T H E N L E T A A * 1
program for another game. 220 I F A B > 5 0 T H E M L E T A B = 1
5000-6990 Sets up the variables and gives instructions.
7000-7200 Sets up the board. 3 0 0 REM * * C O M P U T E R S M O V E * *
4 0 0 I F P E E K < D + P ( F ) ) < 2 4 T H E M GO
TO 5 0 0
Variables 4 1 0 L E T G= ( 2 * 1 NT (RND*2)>-1
420 LET FeF+G
4 3 0 I F F>4 THEN L E T F»F-4
A(50) Positions of player's snake. 4 4 0 I F F<1 THEN L E T F - F + 4
8(10) Positions of computer's snake.
4 5 0 I F P E E K (D + P ( F ) ) < 2 4 T H E N GO
_ AA,AB,BB Pointers in the arrays.
P<4> Codes for the four directions N, S, E and W. TO 5 0 0

L
L
L
L
460 LET F«F- (2*G)
470 IF F>4 THEN LET F-F-4
480 IF F<1 THEN LET F = F +4
490 IF PEEK (D + P(F))>23 THEN GO
TO 2000
500 LET D-D+PCF)
510 POKE D , 168
520 POKE B(BB)P14
530 LET B(BB ?= D
540 LET BB=BB+1
550 IF BB>10 THEN LET BB=1
560 REM **CHECK LENGTH**
600 LET N=N+1
610 IF N<LEVEL THEN GOTO 100
620 POKE A(AB > ,14
630 LET AB-AB+1
640 IF AB >50 THEN LET AB=1
650 IF ABS < AA-AB)<1 THEN GOTO
1000
660 GOTO 90
1000 REM **COMPUTER WINS**
1010 PRINT AT 23,0!'THE COMPUTER
WINS"
1020 POKE 1 6 4 1 8 , 2
1030 FOR M—1 TO 150
1040 NEXT M
1050 RUN
2 0 0 0 REM **PLAVER WINS**
2010 PRINT AT 23,0}"YOU WIN"
2020 POKE 16418,2
2030 FOR M=1 TO 150
2040 NEXT M
2050 RUN
4990 REM INSTRUCTIONS*SET VARS
5000 PRINT TAB 51"** SNAKE TRAP
**"

5010 DIM A (50)


5020 DIM B ( 10)
5030 LET AA-10
5035 LET AB» 1
5080 LET P (2>»33
5090 LET P(3)•-P(1)
5100 LET P(4)=-P(2>
5110 LET DFILE-PEEK
EK 16397
5120 FOR N-1 TO 50
5130 LET A(N)=16514
5140 NEXT N
5150 FOR N=1 TO 10
5160 LET B(N)=16514
5170 LET E = 8
5180 LET F«1
5160 LET B(N)=16514
5170 LET E = 8
5180 LET F = 1
5190 LET C=DFILE+5+33*INT
16)+3)+(INT (RND*20))
5200 LET D = C + 33
6000 REM ****INSTRUCTIONS****
130

ZX COMPUTING JUNE/JULY 1984 "


L E T Z=CODE INKEY«-28
I F Z < 1 OR 2 > 9 T H E N G O T O 627

PRINT "LEVEI "{CHR« (Z+15

n
P INT
REM * CHARACTERS PRINTED *
*
IN LINES 6310/30/50/*
* 7 0 AND 7 0 1 0 / 5 0 A R E *
*
IN INVERSE. *
6310 PRINT TAB 4 ; " p l e a s e w a i t wh
ile the"
6320 PRINT
6330 PRINT TAB 8 J " s c r een i s set"
6340 PRINT
6350 PRINT TAB 5; " t h i s w i l l only
take "
6360 PRINT
PRINT T A B 8» a few seconds"
6380 F O R N=1 T O 100
6390 NEXT N
FAST
CLS
6420 LET LEVEL*113-Z
6990 REM * * * * S E T UP B O A R D * * * *
7000 POKE 16418,0
"'015' PRINT " snake trap

7020 F O R N=1 T O 22
7030 PRINT CHR* 128J
J CHR* 128
7040 NEXT N
7050 PRINT "

7060 F O R N=1 T O 2 0
7070 P R I N T AT I N T (RND*20)+1,INT
<RND*30> + 1 ; " * "
7 0 8 0 NEXT N
7 0 9 0 FOR N - l TO 1 0
7 1 0 0 P R I N T AT I N T (RND*20)+1,INT
<RND*30> +1{ " "
7 1 1 0 NEXT N
FOR N ' l TO 3
POKE (C+N),14
POKE ( D• N ) , 1 4
NEXT N
SLOW
P R I N T AT 0 , 1 6 ; " P R E S S A K E Y "
REM * C H A R A C T E R S P R I N T E D * m
* IN NEXT 2 L I N E S ARE * H H
* IN INVERSE. * 1
P R I N T AT 0 , 1 6 ) " p r e s s a k e y "
I F I N K E Y « = " " T H E N GOTO 7 1 7 0
P R I N T AT 0 , 1 5 ; " g o o d luck...

RETURN
9998 SAVE "SNAKE TRAP"
9999 RUN
131

ZX COMPUTING JUNE/JULY 1984 "


zx designer
SPECTRUM DOMESTIC
This program allows you to
create designs on your Spec-
1
trum using the PLOT, DRAW,
and OVER commands.
After specifying the
BORDER, PAPER and INK col-

Make the most of your


ours, you are invited, through
user friendly instructions, to
either plot a point, draw a line, or

Spectrum's designing facilities


plot and draw over a line (in order
to remove any mistakes). It is
w o r t h noting that D R A W

courtesy of Chris Timson of always draws from the last point


plotted, so that if you want a line

East London.
separate from the last point
drawn you must plot a point
first.
On this last point, one of the
major drawbacks (pun intended)
of the DRAW command is that
the co-ordinates of the end of
the line are offsets of the last
point plotted. However, it is
quite easy to programme around
this by using the two system
variable, bytes 2 3 6 7 7 (which
holds the x co-ordinate of the
last point plotted) and 2 3 6 7 8
(which holds the y co-ordinate
of the last point plotted).
The functions defined in lines
10 and 20 subtract those held in
these bytes from the absolute
screen co-ordinates you wish to
draw to and gives the offset
values required by the DRAW
command. This method has
ramifications for graphics work
far beyond the scope of this
relatively simple, if enjoyable,
program and you should be able

HK 7; PLRSH n ; " Z X
to make very good use of it in
other graphics applications.
Designer"
1
3 0 1 5 BEEP .02S,t6*2
3020 NEXT N: N E X T FTI
2 0 D E F FN' X ( a ) -PEEK 23677 3 0 3 0 PRINT RT 9 , 2 0 ; " P r e s s a n y ** .
f
2© D E F F N f a ) = 3 - P E E K 23578 RT 1 1 , 2 0 . ; " l e t t e r to";RT 13,20; "c
30 EOSDER 1 : PfiPEfi 1 : I N K7 : C ontinue"
LS 3 0 4 . 0 BEEP . 0 2 5 , 0 : P R U S E 3 : IF IN 1
4.0 G C T C 3 0 0 O KEY*-"" THEN GO TO 304.0
10© INPUT " E n t e r l to Plot, 2 t 3050 C L S
c« d r a i d " ; a 3060 P R I N T R T 5 , 3 ; " T h i s p r o g r a m
2 1 0 I F S < 2 OR a >2 T H E N GO T O 1 0a l l o w s y o u t o "
0 3070 PRINT " c r e a t e d e s i g n s usina
2 2 0 GO T O 1 0 0 0 * 5 PLOT, DRRU a n d OUER commands. T h
9 9 9 REM * * p l O t COOrdS** e DRRU c o m m a n d w o r k s i n a b s o l u t e
1 3 0 0 INPUT " E n t e r 0 t o p l o t ,
0 P l o t OVER " ; a
1 0 1 0 I F a < C O R a > l T H E N GO T O
1 t screen
3080 PRINT
1 0DER co l o u r
coordinates."
P l e a s e e n t e r BOR
(0 t o 7) i« *
J
00 3 0 9 0 I N P U T a : I F a <0 OR A >7 T H E N
2 0 2 0 INPUT " E n t e r p l o t coords GO T O 3 0 9 C
3100 PRINT a 1
1030 I F b < e OR b > 2 5 5 OR C < 0 OR C 3110 PRINT ' " NOW e n t e r PRPER
>275 T H E N GO T O 1 0 0 C colour " ;
104.0 P L O T OUER a : b , C 3 2 2 0 I N P U T b : I F b < 0 O R b >7 T H E N
2050 GC T O 1 0 0 GO T O 3 2 2 0 1
1999 REM * * d r a w coords** 3230 PRINT b
2000 INPUT "Enter 0 to draw. 1 t 314-0 P R I N T ' " R n d INK c o l o u r "
o d r a w OUER " ; a
2 0 1 0 I F a < 0 OR a > l T H E N GO T O 2 G 3 2 5 0 I N P U T C: IF c <0 O R C >7 T H E N
00 GO T O 3250
2 0 2 0 INPUT " E n t e r d r a w coords 3 1 6 0 PRINT C
ij j 3170 PRINT ' " Further instruct
2 0 3 0 I F b<© O R b > 2 5 5 O R C < 0 OR C i o n s a r e g i v e n i n t h e INPUT
> 1 7 5 T H E N GO T O 2 0 2 0 requests, press any letter to co
£ 3 4 0 D R S U O U E R a ; F N X ( b ) , F N y (C) r i t i n u e . "
2 0 5 0 GO T O 2 0 0 3100 PRUSE 0
2999 REM **INSTRUCTIONS** 3190 BORDER a : PRPER b; INK C: C
3000 F O R » = 1 T O 1 1 : F O R n =0 T O 1 LS
3010 P R I N T T P S RNC>*7; P R P E R I 3200 GO TO 1 0 0

132 ZX COMPUTING JUNE/JULY 1984


A B F
L

MAIL ORDER

AGF Joystick Interface II


for Spectrum or ZX81
Mm <*• AGF Inwta H • MO Mr S<n» **»r> AM
»ou tm •» •pra ontaaoM
tiKoKM pvthHi .urt ItrrVXt
r Wv mtfrtaw « O c t a b r 1 W J K m
n n<M a w 100 « i m 0> u1*tY c u y i i t «0W N Infcrlaca
AGf option or C u W k*v ccn«rotlt(f 1t*l makaa l< AH AC* kmict nBTtM wu port wtfi m, n u n
t at lh« (wv lav put*
tundard l o r i t o i » "O" - Q««*
S I III i n c o r p o r a t e a* important ram K T M R T W S w t IT « K l »>• <<r* T * K B * I control t a t
noctor mrxfi m i m < othar panpfcowH a n ba m w r t m »'
(At m m W i n U fraitart. Spaaeh U r » » ™
Don t »tn» lor w AGF
a m of c a m th* kr» x p i i c M w i princvia J « d w i a r a t t m
it>l mH w tonfttl t f c * l » anOi m O t a rilcn

QuickShot II
Joysticks
Tt» cno<f <* rwrt Th. tundard OuckSrwX «
tu*A*nt .Hut
R W i m l i l MMn opt 'or lOOM PTKM" and I Mml»l
*tu« lontoorad hanOla antf • ttwanwn top twmt button glut
ccnintiorvn bulton « ttv Urn
four •«•' Oi c v d u m i x r i t l .» t»* « M I ( > ltawla.ll » ptn 0' | A l f
l o n p a U H h t f Wftti OU' .niartaen v c o m w t i o n to •
•iKMiogiNmKXW
Tha i m OuciSMM II Kaa .mpMO WyW) » » » I VP"
control * m tna loo t < « n action and * brood* W *0>
kjctxm naoiiitv Tha rao>d lira M u s t . tfloa* a csnonuom
li'.an- g l r n m M t nomnOY a U . I I W t « i » raquwad K r aach
n . * losatad m rr» baw «or aa*v actaaa < r > «

QuickShot
Co>d i a n * n a n ) n r x » < a t « n » attha ttandaro OhnctStwt t v t t c n w

discount off our Programmable


Interface-valid 1 year on orders over £18
free m/c arcade game wrth 1 B t 1 0 0 orders
^poc^urT^rl^^
IHM MRURSVlSS
~ AOORESS
• • • I E N C L O S t A CMEOUt P O S T A L Q R D f * * A Y A » H TO A G f H A R D W A R E f Q R f
StWOINQ3TAM>WtD€OT l O AGf H*WP»AHt OtPT ZX
f REEPOST BOGHOft BtGlS WES1 SUSStX >07? _
post free both ways ~ QTY T iTfM ITCM PWICt
A G f J O Y S T I C K I N T t W f A C t II
(K>iCK5H0T JOYSTICK
OUC I KSMOT || JOYSTICK
IH
IM
11 9S
TOTAl

Flaw , » dad l-om w ' o> your ordo an*«u»h » norm*". JawKh »«xn tloci (Ml DS
ICOUNT VOUCMR I If ORDtW EXCttDS Ml
«
Wthkm 1 davl A
AH
Gf AG'
H- — r Bog™* Rat*'«»aMSinia. Taalphona IOJ*1i J?1W 7X81 Q ZXSMCTnuWQ nwaanck FINAL TOT AT |
A
ZX81 EDUCATION

Did you know that people were


transmitting and receiving long we put the flags out for this
fascinating program from Philip
distance messages years before
C B w a s invented! We've all seen

Jennings of Birmingham.
old war films where semaphore
signals are sent from ship to ship
to relay vital information. Well,
now you can learn the code and
decipher those signals with the
aid of this Z X 8 1 program
Entering the the numbers displayed with
those printed to make sure you
it by typing GOTO 4 0 0 0 . On
subsequent loadings the pro-
designed for the expanded program have entered them correctly. gram will auto run and be in-
machine. Now delete lines 2. 4 and 5 stantly ready for use as it will not
All the relevant signals are Type in Listing 1 first, exactly as and enter the main program. have to set up array S $ again.
assigned to S $ and the diagram printed. Line 1 must contain at Listing 2. Once you have RUN The last message entered will be
shows what each signal should least 1 52 characters. RUN'the the program and checked with saved as well.
be and helps should you make a program and enter each of the some test messages then S A V E
mistake. On running the pro- numbers in Fig 1 one at a time, ie
gram you are asked to select: 4 newline 2 newline etc. 1 REM

1 Type message Must be selected to enter the message you


want to send.
2 Send semaphore Sends the message you have just input.
3 Test semaphore Sends message one piece at a time. Letter
must be input before it can proceed and
mistakes are marked with an inverse E. The
correct message is displayed on completion. 2 FOR 1=16514 TO 16665
Note that the computer sends T h e s e n u m b e r s are not 3 INPUT A
the authentic 'call up' before m a c h i n e code but are t h e
sending any message and each respective array element posi- 4 POKE I,A
number is preceded by the tions of each of the flags. It is Listing } 5 NEXT I
'number follows' signal. This is best to check your work now, to
automatic. Incidentally, you can be wrong would give erroneous 2 FOR 1=16514 TO 16665
enter messages 'in secret' when information to the user. S o , H•
»
4 PRINT PEEK I;
they are not displayed on the enter Listing l a , deleting line 3
Listing la 5 NEXT I

i
screen before testing. (Do not new) and RUN. Check

4 H I tk
1 2 3 4 5
TLLJ XL! JJ 8
8 OISAME
ASO)

4 1 1 if. Hm. tjjM ^ 6-


B L - 16
G J _ 17
H _L 18 lJ_ >9

a a Q
A ^ ^ f t e t H f V
4
20 uj HJ HL W liJ
21 22 24 25 UJ HJ27
26 28 w29
K L M N 0 Q R T

w W ff f V Y n fj< ft
30 _L 31 _L 32 3
3 __ 34 _L 35 1 1 3
7ft
L
u w END OF
WORD
NUMRFP
C A L L UP

134
ZX81 EDUCATION
" TO END.•
' 24f*e» IF INKEY«0"" THEM GOTO 210
4 T 1j 3 1 4 J 2 4 3 1 _> 4 0
2 •1 4 3 4 3 5 •1 3 4 A 4 2 3 1 2405 L E T M* = I N K E Y *
4 2 2 4 2 4 3 3 1 4 3 2 2 A f 24 10 I F M*-=-"" T H E N G O T O 2 4 0 5
1 3 4 3 -> 4 4 3 4 3 3 5 A 3 A A 2420 I F M* = " , " T H E N GOTO 2 0 0 0
4 2 3 1 4 2 2 .-7 1 3 3 5 A 2 1 3 2 4 3 0 I F CODE M * = 1 1 8 THEN LET N* =
A 2 2 4 4 3 5 4 2 4 A 3 1 •J M * ( TO L E N N * - l >
3 1 1 3 3 1 2 4 3 1 S 5 3 1 A 4 2435 IF CODE M*=118 THEN GOTO 24
2 sL 1 3 2 2 f 4 1 3 A A 3 5 2 4 45
2 4 4 4 2 3 5 3 5 A A 4 3 A 3 2440 LET N*-N*+M*
1 3 2 4 4 4 4 4 2445 IF I*»"2" THEN PRINT AT 5,0
;N*{" "
Listing 2 2450 GOTO 2 4 0 0
5 FAST 2500 CLS
10 DIM S * ( 3 8 , 4 , 5 > 2505 LET L*= " "
2 <7 F O P 1 = 1 T O 3 8 2510 FOR 1 - 1 TO 3
30 LET S*(I,2,3>="0" 2520 LET P=30
'10 L E T S * * I , 3 , 3 ) = " A " 2530 GOSUB 3 0 0 0
50 LET S* <1,4, 3>*"I " 2540 LET F-36
60 NEXT I 2550 GOSUB 3 0 0 0
70 LET X=16514 2560 NEXT I
8 0 F O R 1=1 TO 3 8 2570 F O P 1=1 TO L E M N *
90 LET S* <I,PEEK X,PEEK (X+1M 2530 IF N*(I)»". THEM L E T P-36
=CHR* 8 259CT IF N*'!?=". T H E N GOTO 2 6 6 0
100 L E T S * ' I , P E E K <X*2>fPEEK 'X 2600 I F N* ( I > CHR* 3 8 THEN GOSUB
•3'1=CHR* 128 3.040
1 10 L E T » X * 4 2610 L E T P«CODE N * I > - 2 8
120 NEXT I 2£15 I F N * ( I ) * " 0 " THEN L E T P = 24
12? LET S * ' 3 6 , 4 , 3 > = C H P * 137 2620 GOSUB 3 0 0 0
130 L E T S * < 3 3 , 4 , 4 > = " • 2630 F O R A=1 T O 5
140 SLOW 2640 NEXT A
2000 CLS 2650 LET P=38
2010 PPIMT TAE 10J"SEMAPHORE"5TA 2660 GOSUB 3 0 0 0
B 10;" " 2670 I F I * = " 2 " THEN NEXT I
2030 PRINT 2675 I F I * = " 2 " T H E N GOTO 2 7 4 0
2 0 10 P P I N T " S E L E C T OPTION:" 2680 LET M*=INKEY*
2050 PRINT 2690 I F M * = " " T H E N GOTO 2 6 8 0
2 0 6 0 P R I N T "1 TYPE MESSAGE" 2"*00 LET L*=L*+M*
20"*0 P R I N T " 2 S E N D S E M A P H O R E ME 2710 P R I N T AT 20,1!L*
SSAGE " 2720 I F L * ( X ) < > N * ( I > THEN PRINT
2080 PRINT "3 TEST SEMAPHORE" AT 2 1,IJ" e "
2100 LET I*^INKEY* 2730 NEXT I
2 1 1 0 I F I * ' ' " 1 • OR I * > " 3 " T H E N GO 2732 F O R 1 = 1 TO 3 5
TO 2100 2733 NEXT I
2120 IF I * 0 " 1 " T H E N GOTO 2 3 0 0 2~*35 " P R I NT A T 13,1{N*
2300 CLS 2"*40 L E T P= 36
2310 PRINT "SELECT OPTION" 2"M2 GOSUB 3 0 0 0
2320 PRINT 2"'45 F O R 1 = 1 TO 5 0
2 3 3 0 P R I N T "1 T Y P E MESSAGE IN S 2*^50 NEXT I
ECRET" 2°q>0 GOTO 2 P 0 0
2340 PRINT "2 TYPE MESSAGE" 3000 FOR J = 1 TO 4
2350 LET I*»INKEY* 3010 P P I N T AT 10+J,121S*(P,J>
2 3 6 0 I F I S O " I " AND I * < > " 2 " THEN 3020 NEXT J
GOTO 2 3 5 0 3030 RETURN
2380 CLS 3040 LET P=37
2385 LET 3050 GOTO 3 0 0 0
239.0 P R I N T " E N T E R MESSAGE, SEPAP 4000 SAVE "SEMAPHORE"
ATE UORDS BY ,PRESS * 4010 GOTO 2 0 0 0

ZX COMPUTING JUNE/JULY 1984 135


SPECTRUM I
The ALPHACOM 32 high-speed, thermal printer is
compact, lightweight and quiet in operation.
No maintenance is required for the life of the
machine (i.e. no ribbons to change).

COMPATIBLE
Fully interfaced to the S P E C T R U M and ZX81, this
printer operates at 2 lines per second, with full
256 x n dot graphic capability, 32 column line
width. It uses the standard Sinclair print commands
(COPY, L L I S T , LPRINT).

PRINTER I
Paper rolls only £1.00 per roll — 25 metres long.

Alphcicom 32
T h i s t h e r m a l printer, n o w available in the U K , is the standard
printer w h i c h has sold in tens of thousands for use w i t h the
A m e r i c a n version o f the Z X 81.

£69
DEAN ELECTRONICS LIMITED
Glendale Park, Fernbank Road,
Ascot, Berkshire S L 5 8 J B 95
Tel. 0344 885661 Telex 849242
• MM II
j• J
Or from selected branches of W H Smith
ADD £2 P&P
John Menzies, Greens, Laskys, SpectrumGroup.
^Please send me Printer(s) at £71.95 and boxes of paper
| <10 rolls per box) at £12 per box - all inclusive of post and packing.
Total £ cheque IPO enclosed or debit my Access/Barclay
card account No..
I card account No - I
I Name and address....
' Also available - Alphicom 42 compatible with Commodore 20/64, BBC
.J Centronics, Dragon, Atari at £ 9 9 . 9 5 (+£2p/p) includes selected interface, j

CRUSADER

Many customers have


NEW laden for the classical good
looks of the Emperor, its slim
SPECTRUM appearance, dean lines, the perfect typing
height and the professional feel of the full travel keys
/

KEYBOARDS... Now we have added the CRUSADER to the range, identical m


appearance but purpose built for the serious programmer,
typist or business user It is the same size. 14 5"x7 3"x2"
fitted, in Ivory, but has a triple matnx featuring 22
Interface 1 Compatible AUTOSHIFTED function keys: all the microdnve command/
6 Convenience Keys maths keys + x - - + # are together in the top right I
hand corner, main punctuation , . ; : " where typists
inc. Full Size Space expect them, autoshified cursors, Caps lock, S,
Bar Graphics.«. >. Edit and DELETE. We have retained
the convenience keys, <>(7), o(6). fire (0),
22 AUTOSHIFTED double caps shift A symbol shift for easy y
Special Function Keys access to the extended modes, and the
full sized space bar
'

I
WOKING COMPUTER CENTRE We have also maintained
the easy fitting, you need
32 Chertsey Road, Woking, Surrey. 1 screw driver — and 5
Telephone Woking (048 62) 23845. minutes AND. for a quality
keyboard, incredible low
Trade enquiries welcome cost of £59.95.
/
Z.
136 ZX COMPUTING J U N E / J U L Y 1984
u
LANGUAGE REVIEW!

Micro-PROLOG?
Our reviewer has taken a look at an up
and coming language from Sinclair.
put format:argument'. In the ex-
ample above I am dealing with
cities and am looking for all the
cities 'larger' than London. The
word 'larger' in itself doesn't
m e a n a n y t h i n g to M i c r o -
PROLOG, what it is doing is just
looking through its database and
finding any places where a city
has been specified as larger than
London.
T h e large green manual
which accompanied the
cassette w a s far beyond me. )
found I could use the program
quite well enough just by follow-
ing the small booklet.
The main use of Micro-
Although I enjoy learning and PROLOG is obviously 'do-it-
exploring new computer yourself database. Tailoring the
languages, when I s a w the filing system to your own re-
Sinclair Micro-PROLOG package quirements is very simple. Once
I w a s a little worried to say the you have a knowledge of Micro-
least at the size of the manual PROLOG, you can create a
and its complexity. database far better than any
Still thinking that I had let commercially available —
myself in for a pretty stiff little because you know exactly what
number, I dived into the in- you want from the system.
troductory manual w h i c h is Table 1 shows the commands
much thinner and aimed toward available and their syntax.
your average Specy user. After T h e loading and s a v i n g
three pages of how to switch operations are similar to that of
your computer on and how to the BBC in that they load in
load a program, I finally found blocks and it is very slow. It is
out about the SIMPLE language. quite reliable though, and the
SIMPLE is a program which programs you write are not likely
changes the way you use Micro- to be too large anyway.
PROLOG so that it is not too con- Micro-PROLOG w a s written
fusing at first. I w a s quite im- by Logic Programming
pressed, I managed to follow Associates Ltd, and is available
what the manual w a s telling me from most high street stores
without becoming hopelessly under the Sinclair label priced at
lost. £24.95.
PROLOG itself is a logically-
structured language; that is, it is
Table 1. Commands and Syntax
no where near as messy as
BASIC, but then it is not as easy
to grasp as BASIC. Consider the add (argument)
Micro-PROLOG line: list description
is (argument) This will produce a Y E S or NO response
which (x : x larger London) which (output format: argument) This will produce all objects, etc, which fit the
argument.
Taking this line step by step, delete description This takes out single arguments
first we have the command kill description This takes out whole blocks
'which'. This is asking Micro- save program name
PROLOG a question. The ques- load program name
tion is contained within the
brackets and is in the form 'out-

ZX COMPUTING JUNE/JULY 1984 137


A game calculated to give you brain
strain from Stephen Proctor in Avon,
This is an unusual version of the These numbers are the Y co- his sequence, provided that he Full instructions are included
old electronic game in that PLOT ordinate for the start of the line gets it right of course. The game in the program and when promp-
and DRAW are used to create a and the length of the line. is simple but addictive; all you ted with " U p t o " at the start of
very large solid circle. A loop is Another unusual feature is have to do is watch the se- each game enter the score
set up for the X coordinate then that up to eight players can playf quence of colours presented by which one of the players must
a line is d r a w n using t w o Each player has a score which is the computer and then repeat reach before the game ends.
n u m b e r s stored a s D A T A . equal to the number of colours in them in the same order.
1 0 GO S U B 2 0 0 0 : GO S U P 3 0 0 0 100 LET »i ( c > - q z
2 0 FOR q ^ l TO 1 6 2 : R E A D x » / 110 FOR 1 - 0 TO 1 0 : IF q z >2 THEN
LOT q » 4 7 , x : DRAW 0 , / : NEXT q FOR I ' l l TO 2 1
3 0 FOR p » l TO n p : P A U S E 1 5 0 : P 120 PRINT OVER l i I N K 01 A T 1,c
R I N T AT 0 , 0 ! " Y o u r g o , "Jn*<p> oil " "I NEXT 1
3 5 D I M »i ( 1 < p > > 130 NEXT c
40 F O R c ' l TO 1<p) 140 PAUSE 100: F O R C « 1 T O 1<p>
5 0 L E T qz = IMT (RND*<I)+1 150 L E T a»«INKEY»: IF a*<>"r" A
6 0 L E T c o l - « 1 6 * < q z « l OR q z « 3 ) ND a « 0 " g " AND • b " AND * « < > •
7 0 FOR 1=0 TO 1 0 : I F q z >2 T H E M y " THEN GO T O 1 5 0
FOR I ' l l TO 21 160 IF 3 * < > " b r g > ' Mi i ( c ) > THEN G
3 0 P R I N T AT I . C D I I OVER 1! INK 0 TO 300
V A L " 1 246* qz ) I " 165 P R I N T AT 0,0?"
" I NEXT 1 J AT 0 , 0 } " C o r
90 BEEP .7,qz

138 ZX COMPUTING JUNE/JULY 1984


SPECTRUM GAME
red!!! 1 1 5 0 DATA 12,150,12,150,13,148,1
167 BEEP .7,w(c) 3,148,13,148,14,146,14,146,15,14
168 IF INKEY«<>"" THEM GO T O 1 4,15,141
68 l l 6 0 DATA 16,142,16,142,17,140,1
170 NEXT c 7,140,18,138,19,136,19,136,20,13
180 L E T s < p ) = s ( p ) • 1 fp) : LET l(p 4,21,132
> * 1 Cp > • 1 11^0 DATA 22,130,22,130,23,123,2
1 8 5 FOR d = l TO n p : P R I N T AT 2 1 , 4 , 1 26 , 24 , 1 2 6 , 2 5 , 1 24 , 2 6 , 122 , 2-1, 1 2
( d l } f t 4 | * : ( d > : N E X T d : F O R d - 1 TO 0 , 2 3 , 1 13
_ np: I F s f d ) > * u p THEN GO T O 5 0 0 1 1 8 0 DATA 29,116,30,114,31,112,3
IS"* NEXT d 2,110,33,108,34,106,35,104,36,10
1<?0 N E X T p 2,37,100
L 2 1 0 GO T O 3 0 1 1 9 0 DATA 39,96,40,94,42,90,43,8
300 LET l ( p l * H p ) - l : GO T O 1 8 5 8,4 4,86.46,82,47,80,49,76,51 ,72
5 0 0 P A P E R 0 : BORDER 0 : INK 7 : C 1 2 0 0 DATA 53,68,56,62,58,58,61,5
L 3 : P R I N T AT 1 1 , 0 } F L A S H It" 2 , 6 3 , 4 3 , 6"", 4 0 , 7 2 , 3 0 , 7 7 , 2 0 , 8 9 , - 4
Y o u ' v e won, "tn«(d>}" • 2 0 3 0 I N K 0 : P A P E R 7 : C L S : FOR x
5 1 0 R E S T O R E 9 0 3 0 : FOR q = l TO 1 2 ="0 T O 5 : BORDER x : P R I N T AT l , x +
: READ x , y : BEEP x / 8 , y : BORDER R 12; I N K <cf - P S Y M O N " t x + 1 ) : B E E P .1
ND*7: NEXT q ,x: NEXT x
5 1 5 P R I N T AT I S , 0 1 " S c o r e s ' 2040 P A U S E 5 0 : F O R x = 9 6 TO 1 4 3 :
5 1 7 FOR x » l * TO n p : P R I N T AT 17, PLOT x,159: BORDER INT (RND*8):
(x-l)*4; FLASH ( x - d ) »= (x > BEEP .05,x-110: NEXT x
520 NEXT x: BORDER 0: PAUSE 0: 2050 BORDER 7
RUN 2 0 6 0 P R I N T AT 3 , 0 { " I u i l l flash
9V9 REM *********************** an e v e r - i n c r e a s i n g s e r i e s of col
* Solid c i r c l e Data * oured l i g h t s a c c o m - p i a n i e d by a
*********************** d i f f e r e n t note for each colour.T
1 0 0 0 REM he p l a y e r s h a v e t o remember the
1 0 3 0 DATA 89,-4,77,20,72,30,67,4 sequence."
0,63,48,61,52,58,53,56,62,53,68 2070 PRINT *" To e n t e r a colour
1 0 4 0 DATA 51,72,49,76,47,80,46,8 , press the i n i t i a l letter of t
2 , 4 4 , 8 6 , 4 3 , 8 8 , 4 2 , 9 0 , 4 <?, 9 4 , 3 9 , 9 6 hat c o l o u r , eg"** INK l!"!b)luo
1 0 5 0 DATA 37,100,36,102,35,104,3 "i INK 2 ! " { r ) e d "i INK 6;"(y?
4,106,33,108,32,110,31,112,30,11 e l low "5 I N K 4 i " ( g ) r e e n "
1,29,116 20"*5 P A U S E 1000
1 0 6 0 DATA 2 8 , 1 1 G , 1 2 0 , 2 6 , 1 2 2 , 2 2 0 8 0 P R I N T AT 1 9 , 0 } F L A S H If PAP
5.124.24.126.24.126.23.128.22.13 ER 5 5 " P r e s s any key to contin
0,22,130 ue "
1 0 7 0 DATA 21,132,20,134,19,136,1 2 0 9 0 FOR b - 0 TO 7 : B E E P . 0 5,b: I
9.136.18.138.17.110.17.140.16.14 F I N K £ Y * = " " THEN NEXT b : GO TO
2,16,142 2090
1 0 8 0 DATA 15,144,15,144,14,146,1 2100 CLS : RETURN
4 , 1 4 6 , 1 3 , 1 4 8 , 1 3 , 1 4 8 , 1 3 , 1 4 8 , 1 2 , 15 3 0 0 0 BORDER 5 : P R I N T AT 11,4;"Ho
0, 12,150 m many p l a y e r s (1-8)?"
1 0 9 0 DATA 11,152,11,152,10,154,1 3010 LET a«*INKEY«: IF aS*:"l" OR
0,154,10,154,10,154,9,156,9,156, a S > " 8 " THEN GO T O 3010
156 3 0 1 5 P R I N T AT 0 , 0 5 "

L
at
1 1 0 0 DATA 9,156,9,156,8,157,8,15
8,8,158,8,158,8,158,8,158,7,160 3020 LET np*VAL : DIM l ( n p ) : D
1 1 1 0 DATA 7,160,7,160,7,160,7,16 IN n S ( n p , 1 0 1 : DIM s ( n p )
0,7,160,7,160,7,160,7,160,7,160 3 0 3 0 FOR x - 1 TO n p : INPUT ("llaH
1 1 2 0 DATA 7,160,7,160,7,160,7,16 e of-player "txl)tn*(x>: L E T 1 (x
0,7,160,7,160,7,160,7,160,7,160 NEXT x
1 1 3 0 DATA 7,160,8,158,8,158,8,15 3 0 4 0 I N P U T * * "Up t o "tup
8.8,158,8,158,9,157,9,156,9,156 3 0 5 0 GO T O 2 0 8 0
1 1 4 0 DATA 156,9f156,9,156,10,1 9 0 3 0 DATA 1 , 5 , 1 , 2 , 1 . 5 , - 2 , 1 . 5 , - 2 ,
5 1 , 10, 1 5 4 , 1 0 , 1 5 4 , 1 0 , 1 5 4 , 1 1 , 152 , 1 • » 5 f ^ i • . 5 1 0 | • . 5 y p • /'S f | 1 • 5 1 5 • X
1 , 152 , 1 . 5 , 5 , 1 . 5 , 5 , . 7 5 , 2

7* ("("IMPUTING JUNE/JULY 1984 139


Beam us down
A&F Software!

ELECTRON SPECTRUM AVAILABLE FROM ALL GOOD


CHUCK IE
COMPUTER SHOPS
EGG

CYLON
ATTACK

JUNGLE Selected Stores


FEVER
r
PHARAOHS
TOMB
A&F Software/ Unit 8, Canalside Industrial Estate,
Woodbine Street East. Rochdale. Lanes
OL16 SLB. Tel: 0706 341111
Sold subnet to A & F Software Ltd Full terms and conditions available on request
Quality programs from
HARTLAND SOFTWARE
Hmber*ttp ^ofttoare
LIBRARY OF ADVANCED MATH/STAT/ECON
Hartland Software's Famous FOR SINCLAIR ZX81 AND SPECTRUM
FOOTBALL POOLS PROGRAM
This program has proved exceptionally popular so tar. winning T A P E 1 : MATRIX O P E R A T I O N S (*), (+) »
several dividends' The program lists out. in order of preference, the
sixteen most likely score draws, also the sixteen most likely home S D E A inversion.multiplication,add.tion.subtradion.acalarmultipiicationand
iterminants of matrices and vectors within one single program Any output can
in turn be used as the input of the next operation without re-typing. Capacities
wins, draws (including 0-0) and away wins The program will be
iiitiahsed to the English and Scottish league tables, but you can use 16K ZXB1 : 25X25. 18K S p e d rum 15X15, 48K Spectrum 4 8 * 4 8
it on the Australian pools fust as easily, by altering the built-in team S>de B : Determinants of square matrices
names and saving them on another cassette At time of press, this T A P E 2 : P O L Y N O M I A L S (+) £« » 5
is the ONLY pools forecasting system that uses purely statistical S I D E A : Includes quadratic equations (as degree 2 polynomials) and Newton-
methods1 Raphson and half-interval search methods lor higher degree polynomials.
Computes the real roots with 8 digits of precision. S I D E B : Ptot ol polynomials in
FOR ZX8t (16K) or ZX SPECTRUM (48K) £6.95 any interval, values ol real roots, extremum points
MISTERMIND T A P E 3 : I N T E G R A T I O N (+) £6-85
Hariland Soft wares version ol the popular board game, commonly SIDE A : Simultaneous integration of two functions by Simpson s and trapezoidal
known as Bulls and Cows Not only can you play the game with rules Also com pules the area enclosed between the two! unctions. S I D E 8 : Plot
this program, but you can lake the computer on. You will find it ol two functions m any interval Integrated area shaded
very hard to beat1 TAPE 4 : SUPER-REGRESSION H £14.95
FOR ZX SPECTRUM (48K) £6.95 S I D E A : A highly developed multivariate regression program with log/ In option
on each variable, allowing for exponential and geometric regressions Displays
TOP DOG (formerly marketed by BOSOFT) estimated coefficients, standard errors, l-statistics. H 1 . corrected R 1 . F-statistic,
A game simulating the world ol dog showing and breeding You degrees of freedom, Durtxn-Watson statistic, vanance-covanance matrix, main *
start with £500 to buy your first pair; the object of the game is to win ol correlation coefficients. INTERPOLATION and P L O T of residuals Capacity
the Cruft s Supreme Champion prize without going bankrupt1 examples ( v a r x o b s ) : 18K Z X 8 1 : 2 x 4 0 0 . 5x200. 10x100, 16K Spectrum
FOR ZX SPECTRUM (48K) £5.95 2 x 7 5 , 5 x 3 0 , 48K Spectrum . 2x1650, 5 x 9 0 0 , 1 0 x 5 0 0 . S I O E B : Ptot ol Nvariate
regressions, slope, intercept, R : . standard deviation.
TRAVELLING SALESMAN PROBLEM TAPE S : P R O F E S S I O N A L LINEAR PROGRAMMING (1 £14.95
Not a game, but a fascinating insight into the world of network SIDE A : A user fnendly optimisation program capable of handling all sorts ol
theory. The travelling salesman problem is an old one. You have a linear programming problems (any combination ol < - . > constraints and X,>0.
number of towns (with their grid references), the object is to lind Xi<0, -o< X i < a sign constraints). Displays the cannonicai equivalent ol the
the shortest route so that the salesman visits each town once, then primal, values ol slack variables, dual problem and its solution Capacity
returns to his original starting place This program uses the 2- examples (varjcons.) 1 6 K Z X 8 1 : 1 0 x 2 1 . 1 5 x 1 8 . 2 0 x 1 3 , 1 6 K Spectrum 8x&
optimal method to tackle the problem. 48K Spectrum: 10X45, 2 5 x 3 5 . 50x25. S I D E B : Solutions of simultaneous
FOR ZX SPECTRUM (48K> £8.95 equations
T A P E 8 : S T A T I S T I C S f ) . (+» £14.95
S I D E A : STATISTICAL T E S T S AND DISTRIBUTIONS Chi-square. Students t-.F-
HARTLAND SOFTWARE, (DEPT Z), 32 IVOR PLACE. , Ma nn-Whitney U, Wilcoxon's Signed Rank tests and Chi-square. Students t-. F-.
LONDON NW1 6DA Binomial. Potsson and Normal distributions Data on many samples can be
entered at once, sorted and basic statistics displayed Capacity examples
(sampjtobs ): 16K Z X 8 1 : 1x230, 2x110. 5x45. 16K Spectrum ; not available,
48K spectrum : 2x1300. 10x250, 2 0 x 1 2 5
S l O E B : D E S C R I P T I V E STATISTICS Analysis oI ungrouped or grouped data

AUF WIKDKHSEHEX...
Ungrouped data sorted and grouped Output includes mean, mean deviation,
standard error, skewness. kuhosis, moments. Pearson's coefficient, etc A
comprehensive histogram with up to 3 0 class intervals, class frequencies,
midpoint values Capacities ZX81 450. 16K Spectrum . 200. 48K Spectrum:
SUPER GERMAN VOCABULARY T E S T 2000
& SUPER FRENCH VOCABUUXRY T E S T TAPE 7 : BIBLIOF1LE £9.95
An academic indexing program to k e e p record ol books and a b i d e s Loading
Tutorial Software have greatly improved their successful and saving of files, printing and listing of up to 150 records in a file, searching
German & French language tutors. for an entry and sorting records Into alphabetical order, it is possible to
modify, delete and add a record.
These Programs provide an extensive basic vocabulary.
E D U C A T I O N A L S E Rl E S
By using the Add New Words' facility the range of
INTRODUCTION TO E C O N O M I C S S E T (48K Spectrum only): Basic concepts
vocabulary that can be learned becomes limitless. are introduced by extensive use oI graphics, examples and e x c e r o s e s
If you are studying for G . C . E . 'O* level or just interested In M I C R O E C O N O M I C S I (+) " 95
languages let these programs take the pain out of learning. S I D E A : Demand and supply analysis, demand theory, cost-benefit analysis
S I D E B : Budget line analysis, indifference curves, decision making in a market
economy.
Programs £6.95 each and are only available for the 4 8 K M I C R O E C O N O M I C S II (+) » »
S I D E A ; Cobb-Douglas produdton f u n d ton, linear programming andexcercises
Spectrum, on linear programming S I D E B : Theory of the firm, elasticity of demand, C E S
production h i n d ion
Features:- M A C R O E C O N O M I C S (+) » »5
* 550 Foreign Words. IS/LM curves, national income determination, aggregate demand and supply
analysis, multipliers.
* Nouns. Verbs. Adjectives & Adverbs
E C O N O M I C G E O G R A P H Y <+> £9.95
* Gender & Accents. S I D E A : Von Thunen's model of agricultural land u s e Locattonai rent and
* Learn Mode & Test Mode. pnncipie of diminishing returns. S I D E B - Models ol agricultural and urban
* Add New Words Facility. land use.
* Score Record And Average Score.
o Programs with INPUT, C H A N G E . L P R I N T and SAVE-DATA facilities. Spectrum
Words Checked By Language Teachers.
versions ol tapes 4 and 6 also embody M E R G E / R E A D DATA facilities A
common data file c a n be used with these programs
C h e q u e s or P . O . ' s to:-
(+) R e c o m m e n d e d lor "A" Level, first year university and poly students
Tutorial Software
P O. Box 43. P L E A S E S E N D A5 S I Z E S-A.E. FOR INFORMATION ON MICRODRIVE-
Enquiry Office BASEO PACKAGES.
22 • 29 Mitt Street. Tapes 1-8: £60. introduction to economics s e t : £ 3 5
All inclusive prices for the U.K. For overseas orders add 5 0 p per cassette
Newport.
Dealers enquiries welcome
Gwent. C h e q u e s payable t o : U N I V E R S I T Y S O F T W A R E . 2 9 S t . P e t e r s S t r e e t .
NPT 3X2 London Ni 8 J P . T e l e p h o n e : 01-359 0978

7* ("("IMPUTING JUNE/JULY 1984 141


SPECTRUM CAME

Tired of fighting intergalactic


troublemakers? Let Simon
Springett put you in charge
of the human type with
this unusual simulation game.
YOUTH C L U B < M o n t h 0>

LAST MONTH:
0 Members
fundraising and balancing the 0 New members
1 Leaders
books. If you fail at any of these O Members left
tasks you lose the game. Just to •10 in b a n U
'0 w a s s p e n t
m a k e it more d i f f i c u l t ,
troublemakers will turn up from •O d a m a g e s
time to time and attempt to •O w a s r a i s e d
destroy all your hard work by
causing damage and deterring PROGRAMME:
new members. Fund raising 0 hrs/mth
The program is designed to be
user-friendly, requiring single Social events 16 hr./mth
key operation without the need Training O hrs/mth
to ENTER data.
Remember the Youth Club? You
know, that place you used to go On the right lines PRESS . ..
1 to r u ngroup f o r 1 month
before you had a computer.
Running one isn't as easy as you Here is a rundown of some of the 2 to change programme
might think — you are responsi- more important lines in the pro- 3 for info
ble for recruitment, training. gram:
4 t o a b a n d o n this g a m e
5 — Initial display and setting of variables to initial a keyt o continue
values.
Information. Note the use of a FOR NEXT loop with
5 0 0 - RESTORE and DATA to produce a neatly set out
display without too many PRINT commands.
1000- Displays current situation. With so many variables
needing printing lots of PRINT commands ts the
easy option this time!
1 5 0 0 - Runs the group for one month. Calculates new
members, expenses etc.
2 0 0 0 - Runs a fight. BEEP commands produce a siren ef-
fect and damages increase until B is pressed. The
program then goes to 1 500.
3 0 0 0 - This section allows you to change the balance of
the programme tie the Club programme!) to raise
more funds, train new leaders etc.
4 0 0 0 - Decides if there will be a fight this month. Fights
occur at least one month in ten, more often if you
5 0 0 0 - have only just enough leaders.
Displays the fact that you've lost — ran out of
money.
5 5 0 0 - Displays the fact that you've lost - didn't get the
required number of members (100) in the allowed
6 0 0 0 - time (30 months).
Displays the fact that you've won and offers a new
game.
9 0 0 0 - A subroutine that stops 'overrun' when a key is
held down. It is used eg. to prevent you running
two weeks when you meant to run only one.
Release the key and press it again to run another
week.

142
SPECTRUM CAME
s REM INITIAL DISPLAY
10 CLS : PRINT AT 3 , 1 1 1 - Y O U T H CLUB-
20 PRINT AT 8 , 7 1 " A S . S p r i n g e t t 1983"
30 GO SUB 9 0 0 0
1 0 0 LET a - 0 : LET m - 0 : LET 1 - 1 3 : LET b - 1 0
1 1 0 LET f - 0 : LET s « 1 6 : LET t « 0
120 L E T d - 0 ! L E T g » 0 : L E T c - 0 ! L E T r « 0 : L E T p - 0
3 0 0 C L S : REM I N F O R M A T I O N
303 RESTORE
3 1 0 FOR n « 0 TO 9
3 2 0 READ a *
330 PRINT AT n # 2 , ( 3 2 - LEN a*)/2;a*
3 4 0 NEXT n
3 3 0 DATA "YOUTH C L U B ' , " Y o u r T a r g e t : 100 members" , " Time l i m i t : 30 m o n t h s " , " S o c i a
1 e v e n t s r e c r u i t m e m b e r s " , " R a i s e f u n d s o r g o b r o k e " , " E a c h memb r c o s t s il/mth",•
Stop f i g h t s q u i c k l y " , " T r a i n l e a d e r s : " 1 0 man h o u r s t r a i n s a l e a d e r - M a x 1 2 mem
bers/ leader"
360 GO S U B 9 0 0 0
1000 C L S : REM D I S P L A Y C U R R E N T S I T
1010 PRINT AT O , 1 0 ; " Y O U T H CLUB"
1020 PRINT AT 0 , 2 1 I " ( M o n t h " ; a ; " ) "
1030 PRINT AT 3 , 0 ; m ; " M e m b e r s - ( " L A S T MONTH:"
1035 L E T e* I N T <1/10>
1040 PRINT AT 4 , 0 ; e ; " L e a d e r s " , r | " New m e m b e r s -
1050 PRINT AT 3 , 0 ; " £ " 5 b j " i n b a n U " , p } " M e m b e r s left"
1060 PRINT A T 6 , 0 , " i " | c | • was spent"
1070 PRINT AT 7 , 0 , " £ " ; d ; " damages"
1071 PRINT A T 8,0,"£";gi" was raised"
1075 PRINT AT 9 , 0 i " P R O G R A M M E : "
1080 PRINT AT 1 0 , 0 ; " F u n d r a i s i n g " ; + ; " hrs/mth"
1090 PRINT AT l l , 0 i " S o c i a l events " ; s ; " hrs/mth'
1100 P R I N T A T 12,0;"Training " ; t | " hrs/mth"
1105 PRINT AT 1 4 , 0 ; " P R E S S "
1 110 PRINT AT 1 5 , O ; " 1 t o r u n g r o u p f o r 1 m o n t h " ' " 2 t o c h a n g e p r o g r a m m e " " 3 f o r
i n f o ' * "4 t o abandon t h i s game"
1120 GO S U B 9 0 0 0
1 1 3 0 I F b<0 THEN GO T O 3 0 0 0
1 1 4 0 I F a = 3 0 AND m < 1 0 0 T H E N GO T O 5 5 0 0
1 1 5 0 I F m>99 THEN GO T O 6 0 0 0
1160 I F I N K E Y * = " 1 " THEN GO T O 4 0 0 0
1170 I F INKE Y * - " 2 " THEN GO T O 3 0 0 0
1180 I F I N K E Y * * " 3 " THEN GO T O 5 0 0
1190 I F I N K E Y * « " 4 " THEN C L S: PRINT AT 5 , 7 ; FLASH l ; " A b a n d o n t h i s game?": PR
INT AT 1 0 , 1 0 ; " C t o c o n f i r m " : PRINT AT 1 2 , 3 J " A n y o t h e r k e y t o c o n t i n u e " : GO S U B
9000." I F INKEY* c " THEN RUN
1 2 0 0 GO T O 1 0 0 0
1 4 9 0 R E M R U N 1 MONTH
1 5 0 0 L E T r - I N T ( s * s * RND / 1 6 >
1501 I F r + m > e * 1 2 THEN L E T r=(e*12>-m
1505 LET a-a+1
1 5 1 0 L E T p « I N T ( m * ( 1 6 - s > * RND / 6 4 )
1 5 2 0 L E T g«= I N T ( f * RND * m / 2 )
1 5 3 0 L E T c=m
1540 L E T b « ( b + g ) - ( c + d )
1550 L E T l«l+<e*t>
1 5 6 0 L E T m*m + r - p
1 7 0 0 GO T O 1 0 0 0
2 0 0 0 C L S : REM F I G H T
2010 PRINT AT 0 , 1 3 ; FLASH If"FIGHT!"
2015 PRINT AT 7 , 5 ; " P r e s s B t o break i t up"

7* ("("IMPUTING JUNE/JULY 1984 143


SPECTRUM CAME
2016 PRINT AT 4 , 9 ! " D a m a g e n o w : £"}d
2020 L E T d = d + I N T ( RND * 1 5 >
2023 BEEP .4,24
2030 PRINT AT 4,22;d
2050 BEEP .4,22
2060 IF INKEY* <> " b " T H E N GO T O 2 0 2 0
2070 GO S U B 9 0 0 0
2080 GO T O 1 5 0 0
2990 REM CHANGE PROGRAMME
3000 CLS : PRINT AT 0 , 8 ; " C H A N G E PROGRAMME"
3010 PRINT AT 2 , 1 ; " Y o u h a v e a t o t a l o f 16 h r s / m t h "
3020 PRINT AT 6 , 0 ; " F u n d r a i s i n g : "'"Social events: " ; >; * " L e a d e r s h i p T r g : " I t
3030 PRINT AT 1 2 , O J " l t o i n c r e a s e " ' " 2 to d e c r e a s e - ' " 3 t o e n t e r new v a l u e
3035 PRINT AT 6 , 1 4 ; F L A S H 1 } * } " "
3040 GO S U B 9 0 0 0
3045 IF I N K E Y * - " 3 " THEN GO TO 3 1 0 0
3050 IF I N K E Y * - " 1 " THEN LET
3051 IF I N K E Y * « " 2 " THEN L E T +=4-1
3055 I F f « 1 7 THEN LET f-16
3056 I F +«~1 T H E N LET f-O
3060 GO T O 3 0 3 5
3100 PRINT AT 6 , 1 4 t f | "
3110 PRINT AT 7 , 1 5 t FLASH l } s } "
3120 GO S U B 9 0 0 0
3125 IF INKEY* «"3" THEN GO T O 3 2 0 0
3130 IF INKEY* «"1" THEN LET s= s + 1
3135 IF INKEY* »"2" THEN L E T s> • - 1
3140 I F s = - l THEN LET s-0
3150 I F s « 1 7 THEN LET s»16
3160 GO T O 3 1 1 0
3200 PRINT AT 7 , 1 5 } s } "
3210 I F s + f >16 T H E N CLS I PRINT AT 8 , 1 ? " Y o u r maths is a l i t t l e rumty!": PAUSE
IOO: GO T O 3 0 0 0
3220 LET t«16-<s+f>
3230 PRINT AT 8 , 1 6 » t
3240 PRINT AT 1 8 , 1 0 | " C to confirm": PRINT AT 19,4|"Any other key to change'
3250 GO S U B 9 0 0 0
3260 IF I N K E Y * - " c " THEN GO T O 1 0 0 0
3270 GO T O 3 0 0 0
4000 L E T d - 0 : REM F I G H T ?
4010 F O R n - 1 T O 1+ I N T «»/<e*12>)
4020 IF RND < . 1 AND m>1 T H E N GO T O 2 0 0 0
4030 NEXT n
4040 GO T O 1500
5000 CLS : PRINT AT 3 , 1 1 1
FLASH 1;"BANKRUPT!"
5010 PRINT AT 5 , 9 ; " Y O U ' R E
BROKE!": PRINT AT 6 , 6 } " Y o u owe * " } - b } " pounds"
5020 GO T O 6 0 1 0
5500 CLS : PRINT AT 3 , 1 H FLASH l ; " Y O U LOST!"
5510 PRINT AT 5 , 8 } " O n l y "Jm?" Members": PRINT AT 6 , 1 0 } " i n 3 0 m o n t h s '
5520 GO T O 6 0 1 0
6000 CLS : PRINT AT 3 , 1 2 } F L A S H 1 } " Y 0 U WON!"
6005 PRINT AT 5 , 1 0 } m } " m e m b e r s " : P R I N T AT 6 , 1 0 } i n " } a } " months"
6010 PRINT AT 8 , 2 } " P r e s s a n y k e y t o p l a y again"
6020 GO S U B 9 0 0 0
6030 RUN
9000 IF INKEY* <> " " T H E N GO T O 9 0 0 0
9010 PRINT AT 2 1 , 4 } " P r e s s a key to continue"
9020 IF INKEY* THEN GO T O 9 0 2 0
9030 RETURN

144 ZX COMPUTING JUNE/JULY 1984


AMOEBA
SOFTWARE
54 W A L D E N A V E N U E , C H I S L E H U R S T ,
K E N T . Telephone: 01-857 8999

K e y panel K i t .
LAZE BLAZE
Superb machine code action. Pit your beam
against the 2 beams of the computer. Race
your opponent for the random fuel dumps.
For the very strong of heart, battle to the
death in the maze. 9 speed levels. Over 500
Options in this fast moving arena.
48K Spectrum £5.95
Everything you need
IN on the keyboard with
CUSTOM KEYPANFLS
These precision die-cut plaM ie panels fit perfectly
( » v r your keyboard and provide an instant and
individual reference u> all <>f your M>ftwarc
Each Kit comes in a clear plastic storage wallet and
contains: HI Matt black Keypanels plus sheets
containing over 1-40 sell adhesive Command labels
preprinted w i i h wt >rds, symtx>ls and a m AVS. plus a
sheet « »l blanksft>r v»>ur < m n designs
SPK< : r R l M KEVPANE1.S are % x 2 2 < m m and the
labels arc primed in Spectrum' bright red. A Ml ST
for (light simulation ami all multi-key games and
applications
The FIRST add on for your Spectrum
t>RK*.KEVTHNELSare I O S x 2 " S m m and the labels
are * ) R I C b l u e Master those C T R L and ESC key
combinations
An INSTANT reference to all I ) R I C s keyboard
functions
* G a m e s that grow on you' NOVt IN St PHRMI. P I A S T I C

Post todav to Solteach L i m i t e d . 2S College Road. Reading.


Berkshire. IQK.
Please send me
Spectrum Kc\ panel Kits at Jt.VyS + 4Sp p&p each
(overseas should add 2S",. for additional surface mail)
O R I C Keypancl Kits at Jt-i.95 + .^Sp pit p each
(overseas should add 2S"„ for additional surface mail)
I enclose a total remittance of i , cheques postal
orders payable to Softeach L i m i t e d
NAME
ADDRESS

v
L.
7* ("("IMPUTING JUNE/JULY 1984 145
ZX UTILITY

Don't just store that information inside


your ZX81, display it with the aid of
Norman Brooks in Kent.
When confronted with a mass of
numeric data it is often easier to LINE NUMBER
understand and analyse if it is I
drawn as a bar chart. This pro- 10 MENU S C R E E N LINE NUMBER
gram enables you to chart up to 1 CHART C U R R E N T DATA
twenty-four numeric quantities
6500 A D D TO
and can handle numbers in the 2 ADD TO C U R R E N T D A T A
EXISTING DATA
range of 0 to 9 9 9 9 . You can 3 CHANGE C U R R E N T DATA
manipulate the vertical scale at
will to suit the commodity you 4 CHANGE C U R R E N T T I T L E S
are charting. 7000 CHANGE
5 CHANGE Y A X I S S C A L E T I T L E S ROUTINE
Menu driven, it enables you
to set up a bar chart and, once 6 S T A R T NEW C H A R T
created, add and change data
quickly and easily. You might for 7500 CHANGE TITLES
example use it to: ROUTINE
1000 BAR C H A R T T I T L E
Chart annual income.
Graph media statistics leg Retail
8000 CHANGE Y
Price Index.) 2000 AXIS TITLES
A X I S ROUTINE
Compare electricity/gas usage
quarter by quarter. I
2300 V AXIS SCALE
Chart bills such as telephone,
rates, groceries etc.
Log petrol consumption, car 6000 INPUT D A T A
mileage, service charges etc.
Present experimental results for I
school projects. 4000 DRAW C H A R T F R A M E W O R K

The list is really endless and I'm


sure you can think of many more 6100 YAXISSCSALE
5000 PLOT BAR C H A R T TOO SMALL
applications which would
ROUTINE
benefit from this method of
presentation.
5566 SAVE ROUTINE Flowchart to show the generel

variables I
leyout of the program

V Number of menu option selected.


T$ Bar chart title. Loading
X$
W$
X axis title.
Column label. instructions you through every stage
Y$ Y axis title. T y p e in l i s t i n g u s i n g line necessary to set up a new chart.
A Maximum Y value. 1 0 REM " B A R C H A R T " to {Alternatively type GOTO 10
B Minimum Y value. periodically S A V E as you go. which will start you at the menu
Z1 A-B modified to suit screen size. Once this is completed, line 1 0 screen and then choose option
Z2 is redundant as the program of- 6). From then on never RUN the
P Power of 1 0 to which A-B has been modified. fers an automatic S A V E option program as this will destroy your
Z{ 10) String of scale numbers for printing on Y axis. at line 5 6 0 0 . You might wish to variables. If for any reason you
D$ to 1$ Graphic variables for drawing chart framework. change this to read 5 6 0 0 S A V E break out of the program then
C Number of columns required. T $ so that you S A V E and LOAD re-enter by typing GOTO 10.
D(CI String of inputted data. to the specific name you give to You can always start a new
N (C) String of inputted data less minimum value of Y (ie BI. your chart. chart on a different topic by
C1 Number of extra columns required. Start the program by typing LOADing an existing chart and
C2 Number of column where data is to be changed. RUN 1 0 0 0 . This will then take selecting menu option 6.

146 ZX COMPUTING JUNE/JULY 1984


A few words height of 6 0 with a scale factor
of X 1 0 .
ie Data less than 1 = is shown on the resultant bar
chart (option 1 from menu) a
numbers to 3 decimal places.
1 INPUTted numeric data is 4 ) indicated in the opening hard copy of the graph is offered
rounded to the nearest pixel divi- remarks that the maximum From 1 to 9 . 9 9 = using the COPY feature at line
sion on the Y axis scale. number the program can handle numbers to 2 decimal places. 5730.
2 By PLOTting the bars I is 9 9 9 9 . The graph can be used From 10 to 9 9 . 9 = 6 Using the "Electricity Con-
amusing a grid of 2 0 rows by 2 4 to plot any positive number but sumption" shown in Fig 1 you
numbers to 1 decimal places.
columns. as the data is PRiNTed above the will note that I have INPUTted
3 The Y axis scale will never graph I am limited in space to 4 1 0 0 and above • data as zero in columns 5, 10,
show a number greater than digits per number to prevent ad- whole numbers only. 1 5 and 2 0 to delineate one year
1 0 0 but at the base of the scale jacent numbers merging. You from the next and have labelled
you will see a scale factor eg X 1 , can INPUT non whole numbers I have found this adequate for these columns with a S P A C E . I
X 1 0 , X 1 0 0 etc. Thus, a value of providing the maximum number most applications. have found this a useful presen-
say 6 0 0 would show a bar to a of digits does not exceed 4 . 5 A s ail INPUTted information tation technique.

10 REM "BAR CHART" MAX 2.0 C H R S 1 "


11 REM * ALL CHARACTERS IN < 2020 INPUT
* LOWER C A S E APE TYPED* 202'' I F LEN X * > 2 0 T H E N GOTO 2 0 2 0
* IN INVERSE PRINT * 2030 PRINT X*
12 L E T C1=0 2150 PRINT " L A B E L COLUMNS 'ONE C
15 C L S M A R . P E R COL )"
13 PR INT TAB INT ((32-LEN T«)/ 2152 PRINT AT 20,1i"123456^8"111
2 * ! T« 111111122222"
20 PRINT AT 2 , 11 | " m e n u scre-en" 2 1 5 4 P R I N T AT 2 1 , 1 | " 012
3C« P R I N T 3456^8901234"
10 P P T M T " OPTIONS AVAILAPLE . 2 1 6 0 I N P U T W*
m 2 1 6 2 I F L E N W«*>24 T H E N PRINT AT
50 PRINT AT CHART CUPR 1 9 . 0 J " I N P U T TOO L O N G "
E f IT D ' . T A " 2164 I F L E N U* 24 THEN GOTO 2160
6.0 n P I NT AT <
?(4J"2. ADD TO CUR 2 1 £ 5 P R I N T AT 19,0;"
RENT DAT/*."
P R I N T AT 11,41"3. CHANGE CU 2 I 6c. PR TNT AT 20, 1 "
PREMT DATA"
ft

P R I N T AT 13, 4! "4. CHANGE CU 2163 PRINT AT 2 1 , I I "


ft
"PENT TITLES"
3 0 P R I N T AT 1 5 , 4 ? " 5 . CHANGE 2 1 7 0 P R I N T AT 3,0;WS
V*" AXIS SCALE" 2250 PRINT "INPUT Y AXIS T I T L E <
" 0 P P I FIT AT 1 7 , 4 ? "6. START B
MAX 1 0 C H R S > "
A

RANT !'EU CHART" 2260 INPUT V*


P R I N T AT 2 1 , 0 ; " ENTER MO. O 2 2 6 " I F L E N Y * 1 0 T H E N GOTO 2 2 6 0
<~ O P T I O N R E Q U I R E D " 2270 PRINT Y*
100 INPUT V 2300 PEN *Y A X I S SCALE*
l i e I F <.'=1 T H E N G O T O 2 3 1 0 P R I N T " W H A T I S MAX Y V A L U E ?
! 2 0 I F V « 2 T H E N GOTO 6 5 0 0 ( N O T E : I N P U T A P O S I T I V E W H O L E NO
1 3 0 I F V » 3 T H E N GOTO 7 0 0 0 . ONLY)"
1 4 0 I T V * 4 T H E N GOTO ' ^ 5 0 0 2315 INPUT A
1 5 0 I F V - 5 T H E N GOTO 8 0 0 0 2 3 1 6 I T A'* 1 T H E N G O T O 2 3 1 5
1 6 0 I T V * e T H E N RUN 1 0 0 0 2318 PRINT A
1 - 0 I ~ V * 6 OR V< 1 T H E N G O T O 1 0 0 2 3 2 0 P R I N T "WHAT I S M I N Y V A L U E ?
1 0 0 0 REM * E A R CHART TITLE* ( N O T E : I N P U T A P O S I T I V E W H O L E NO
1?05 CLS . O N L Y . . . . OR Z E R O ) "
1008 LET Cl-0 2322 INPUT B
2 3 2 4 I F B > » A T H E N GOTO 2 3 2 2
1010 PRINT "INPUT TITLE (MAX 32
2326 PRINT B
CHARACTERS}"
2323 FF INT " P L E A S E WAIT "
1020 INPUT J9
2 3 3 0 L E T P=0
1 0 2 7 I F L E U Ti- > 3 2 THEN GOTO 1020
1030 PRINT T* 2350 LET 21= ' A-B W lfl**F
2.000 REM * AX I S TI TLES* 2370 IF 215 10 THEN LET P=P+1
2010 PRINT "INPUT X AXIS TITLE f 2390 IF 21>10 THEN GOTO 2350

7* ("("IMPUTING JUNE/JULY 1984 147


ZX UTILITY

C O N 5 U M P T I O N

2e
18U
16N
14-1
12T
105

e u
4- S

t>
1980 1981
X 1 0 0 Y E f t R L Y Q U A R T E R S X100
•• C " T O COPY
" S " T O S R U E R " T O RESTART

Fig 1.

2-1 CO L E T 22*INT (<21•.05J*10) •1270 f l E -:T R


250 T DIM Z < 10T 1230 PPIMT TAB 3 ! H®
. 2 3 1 0 FOP P-L TO 10 4250 PRINT TAB 4{W®
20 LET Z ( P1 INT M Z 2 * R / 1 0 ) • . 3) 12-0 PRINT TAB 6+INT M20-LEN X*
• I NT ' F F ' 10^*P>•.05! *10> ) ' 2 - ;: t
2 5 4 0 IIE-'T P 42C0 FOR R-L TO LEN Y®
ZSOO GOSUB 6 0 0 0 42 C 0 FPINT AT • ( I NT C10-LEH Y* >
1 COO R E M * £ ISPLAY CHART* '2 >*R,0;Y®'R)
ioo: L E T .J2C«5 PRINT AT 7* (INT ( 10-LEM Y®)
io?r LCT £9•"" Z 1 *R,31TY®(R)
•icc? FOR 1-1 TO 30 >Z0O NEVT P
LET D * ~ D * + C HP® 3 44 0 0 FOF R=-L TO 10
4005 LET E* 3 E * • CHR® 131 44 10 IF Z'10)<=100 THEN PRINT AT
400^ NE :T I 1 ~ - P , 1 5 Z C P U AT 1 7 - R , 2 9 ; Z < R*
•1010 LET E«-*CHR» 130 + E * * CHR* 129 4411 IF Z'10)>100 THEN PRINT AT
4015 LET H®~CHP» 2 + D«( TO 251 1 7 - R , 1 I Z ( R ) . ' 1 0 I AT 17-R T 2 9 ; Z ( R » .' 1
4020 LET F»=CHR® 133 0
4030 LET G* = CHR« 5 4412 IF R- 1=0 THEN GOTO 4420
4040 LET P* "data"+D®( TO 2~*MCH 44 15 IF 2 C R ) - 2 CR-1> THEM PRINT A
f * i: T P - R , ! ! ' ";AT 17-R,29;"
LfT I®' 4420 NEXT R
1430 IF 2(10)<-100 THEN PRINT AT
100 CLS 1 9 , 0 ; "X - ; I O * * ( P - I . ) ;AT 19,28; "X"
•1110 PPINT TAB F32-LEN T«»/2;T« ; i o * * ( F - i )
4120 PRINT D® 44-10 I F Z ( 1 0 ' M 0 0 THEN P R I N T AT
A 1 3 0 FOR R-L TO 4 19,01-y-1L O**F;AT 19,28J * x " ; 1 0 * *
p
4 140 FPINT G«;TAB 3I;F®
1150 H E :T r- 5000 REM *FLOT BAR CHART*
4 LE.'*» rpnn E® 5010 FOR X=1 TO C
•1200 FC'P K-L TO 10 5015 IF D * X ) < >O THEN PRINT AT 2'
J210 PPItlT TAB 3JF»;TAE 4iI*;TAB y-3*INT M X - 1 » ' 5 ) , 3 +X; D (X)
—»f •
— C )r s 502? FOR Y»1 TP INT ( {M (X > * 2 C . ' < 1

ZX COMPUTING JUNE/JULY 1984


148
ZX UTILITY
0 * * f F 1 1 * Z 2 ) * + . 5 ) 6510 CLS
5025 IF Y>21 THEN GOTO 6100 6515 IF C< > 2 4 THEN GOTO 6600
503C FLOT 7• 2*X, 8 •Y 6520 PRINT "DATA BASE IS FULL (2
51 00 NEXT V 4 COLUMNS) *;"PUSH --R-" TO RET
URN TO MENU PAGE."
512/? NEXT '<
550-7 PP I N T AT 21,0;" M "S"" TO SAV 6530 IF INKEY«<>"R" THEN GOTO 65
E";TAF 16!--"R-" TO RESTAPT" 30
5510 PPINT AT 20,0;"""C"" TO COP 6540 GOTO 10
Y* 6600 PPINT AT 4,0;"HOW MANY EXTR
A COLUMNS? MAX ";24-Cj"> NOTE:
5550 INPUT K*
INCLUDE SPACES AS COLUMNS"
5560 IT )-*-"R" THEN GOTO 10
6630 INPUT CI
556 1 IP K«*"C" THEN GOTO 5^00
6640 IP C1>24-C THEN GOTO 6630
5562 IF K*'>"S" THEN GOTO 5550
6650 PRINT CI
5565 PP I TIT AT 20,0; "1. SET TAPE
6720 PRINT AT 19,6;"input /our d
M'C TC> R E C O R D NODE"
ata now"
SS*7? PRINT "2. START TAPE M/C AN
6725 FOR R=1 TO CI
D PRESS
6730 SCROLL
558-? IF INKEY*< >"S" THEN GOTO 55
6740 PRINT "DATA FOR COLUMN ";C+
80
56?? SAVE * PAP CHART" R T" • •;
5610 GOTO 10 6?50 INPUT DIC+R)
5">00 PRINT AT 2 1 , 0 ; "CHECK PPINTE 6760 PRINT D(C+R>
R AND THEN PRESS ""C""" 6765 LET N{C+R)=D(C*R)~B
5710 PPINT AT 20,05" 6770 NEXT R
5~*20 IF I N K E Y®< > " C " THEN GOTO 5^ 6775 LET C=C+C1
20 6?80 PAUSE 100
5^25 PRINT AT 21,0;" 6790 GOTO 10
M "7000 REM *CHANGE DATA ROUTINE*
COP'< 7010 CLS
5"M0 GOTO 10 7020 PRINT "CURRENT DATA I S . . . "
E0PL? REM *INPUT DATA* 7025 PRINT
6005 DIM D'24) 7030 FOR R=1 TO INT ((C+i)/2>
6008 DIM N 12-1) 7040 PRINT "COL. "J R; "»•}DtR>
6010 CLS 7060 NEXT R
7070 FOR R~INT (<C+3>/2> TO C
60K? PPINT AT 4 , 0 ; "HOW MANY COLU
7080 PRINT AT 1+R-INT (<C+l>/2>,
MNS"' (MAX 24) NOTE: INCLUDE
1 6 } " C O L . " ; P ? | D ( R )
SPACES AS COLUMNS"
70<?0 NEXT R
601*1 INPUT C
7100 PRINT AT 15,0;"ENTER NO. OF
6016 IF C * 20 THEN GOTO 6014
COL. TO BE CHANGED"
6018 PRIMT C
7102 FOR R=1 TO 6
1020 PRINT AT 19,6! "input your d
7104 PRINT AT 15+R,0?"
at3 now" n
6025 FOP R- 1 TO C
7106 NEXT R
6030 SCPOLL
6040 PRINT "DATA FOR COLUMN "JR; ">110 INPUT C2
- » •T 7115 IF C 2 >C THEN GOTO 7110
6050 INPUT D(R) 7118 PRINT AT 16,0;C2
6060 PRINT D(R> 7120 PRINT AT 17,6;"input your d
6065 LET N(R>»D(R)-B ata now"
60~»0 NEXT R 7130 PRINT
6080 PAUSE 100 7150 PPINT DATA FOP COLUMN "JC!
6O°0 RETURN
6100 REM *Y AXIS SCALE TOO SMALL 7160 INPUT D(C2)
ROUTINE* 7170 PRINT DIC2*
6 110 PPINT AT 21,0;"SCALE TOO SM 71">1 LET M ( C 2 > ~D T C2 ) - B
ALL PLEASE WAIT" 172 TF C 2 < = I NT TC + L > / 2 1 HEN PRI
6120 PAUSE 500 NT AT 1+C2.0J"
6130 GOTO 9000 "175 IF C 2 " I N T (C• 1 ) / 2 THEN PRI
6500 REM *ADD TO DATA ROUTINE* NT AT 1+C2,0;"COL.";C2;*=";D(C2)

ZX COMPUTING JUNE/JULY 1984 149


ZX UTILITY
71 " 6 I F C2>INT ( C + 1 J / 2 THEM PRIM 3 4 5 6 2 3 4 "
T AT 1+ C 2 - I N T (C+l)/2,16j" " " 6 0 I N P U T W5
n
">^62 I F L E N W* - 2 4 T H E N PRINT AT
7 1 7 8 I F C 2 > I N T iC + D/2 THEN P R I N 1 9 , 0 5 " I N P U T TOO L O N G "
T AT 1 + C 2 - I N T (C*l)/ 2,1 6»"COL."; "'764 I F L E N W * , 2 4 THEN GOTO 7760
C 2 ! ! D < C 2 > ""765 P R I N T AT 1^,0!"
" ? 1 8 0 P R I N T A T 2 1 , 0 ; " A N Y MORE C H A
NGES*"* { Y ' N ) " ""6c PRINT AT 20.1!"
7190 INPUT L S m

7 2 0 0 I F L « = " Y " T H E N GOTO 7 1 0 0 "'768 PRINT AT 21 , 1 ! *


7 2 1 0 I F L « = " N " T H E N GOTO 1 0
7 2 2 0 I F L « < > " N " T H E N GOTO 71«?0 """0 P R I N T AT 16,0;W*
^ 5 0 0 REM *CHANGE T I T L E S ROUTINE* ""€0 PAUSE 100
7505 CLS CLS
">510 P R I N T " i n p u t t i t l e 'MAX 32 T 5 0 PRINT "input / a x i s title- '
CHARACTERS) " MAV 1 0 C H R S ) "
"?512 PRINT "CURRENT TITLE I S . . . . P R I N T "CURRENT Y A X I S TITLE
M
13 "
7514 PRINT "*"""; T* ; »" " " "'853 PRINT JY«;""""
7 5 1 5 P R I N T " D O Y O U WANT T O C H A N G "'854 PRINT " D O Y O U WANT TO C H A N G
E IT'' (Y/N) " E IT? (Y/N) "
7516 INPUT M* 7355 I N P U T M*
" 5 1 8 I F M * = " N " THEM GOTO 7 6 0 0 "856 I F M « « * N " T H E N G O T O ">900
751 P R I N T " E N T E R NEW T I T L E . " "853 P R I N T " E N T E R NEW Y A X I S TIT
7520 INPUT T* LE... ."
~*52~> I F L E N T ® > 3 2 T H E N G O T O " ' 5 2 0 "'SoO INPUT YS
7530 PRINT T* "?867 I F L E N Y * > 1 0 T H E N GOTO 7 8 6 0
7600 PAUSE 100 "3"0 PPINT Y*
7605 CLS 7Q00 GOTO 10
7610 PRINT "input x axis t i H e < 300O REM * C H A N G E Y AXIS ROUTINE
MAX 2 0 C H R S ) " 8005 CLS
**612 PRINT "CURRENT TITLE 13.... 8 0 1 0 P R I N T " W H A T I S MAX Y VALUE?

• • • (NOTE:INPUT A POSITIVE W H O L E NO
M
"'614 PRINT """"; x*; """ . ONLY)"
7 6 1 5 P R I N T " D O Y O U WANT T O C H A N G 3015 INPUT A
E IT^ <Y/N)" 8016 I F A<1 T H E N GOTO 8015
7 6 1 6 I N P U T M* 8013 PRINT A
7 6 1 S I F M « = " N " T H E N GOTO 7 6 3 4 8 0 2 0 P R I N T "WHAT I S M I N Y V A L U E ?
7 6 1 " P R I N T " E N T E R NEW X A X I S TIT ( N O T E : I N P U T A P O S I T I V E W H O L E NO
LE. . . . " . O N L Y . . . . OR Z E R O ) "
""620 INPUT 8022 INPUT B
" 6 2 ? I F L E N X * " 2 0 T H E N GOTO 7 6 2 0 8 0 2 4 I F B " ~A OR B - : 0 T H E N G O T O 8 0
"•630 P R I N T 22
" 6 3 4 PAUSE 1 0 0 8026 PRINT B
" 6 T 6 CLS 302S PRINT "PLEASE WAIT "
" ' 6 4 0 c R I NT " l a b e l columns \ ONE C 8030 LET P=0
H A F . P E R COL " 4 3050 LET 21«(A-B)/10**P
"'644 P R I N T "CURRENT COL. L A B E L I 30"0 I F Z 1 M 0 THEN L E T P=P+1
ARE " 3030 I F 2 1 > 1 0 T H E N GOTO 8 0 5 0
" 6 4 c P P I N T • " " " J W«J • " " 8100 LET 22=INT ((21•.05)*10>
- » e 5 0 P R I N T " D O YOU WANT TO CHANG 3200 DIM 2(10)
E THEM"* f Y . ' N ) " 8210 FOR R=1 TO 1 0
" 6 6 0 I N P U T M« 8220 LET Z < R > =INT < (Z2*R/10> + .5'
" £ " * 0 I F M » - " N " T H E N GOTO, " ' 7 8 0 +INT (((B'10**P>+.05)*10)
" " O P P R I N T " E N T E R NEW L A B E L S . . . . 3240 NEXT R
H 3250 FOR R=1 TO C
- * - * 5 2 P R I N T AT 20, 1; " 1 2 3 4 5 6 I l l 3260 LET N(R)=D(R) -B
1111 I 1 1 2 2 2 2 2 " 3''" 0 NEXT R
-*-"54 P R I N T AT 21. l i " 012 8300 GOTO 1 0

150 ZX COMPUTING JUNE/JULY 1984


ZX COMPUTING
Lineage: 40p per word. F ^
Semi display: £9.00 per single column centimetre. Ring 01 - 437 0699
for i n f o r m a t i o n o n s e r i e s bookings/discounts.
Send your requirements to:
All advertisements in this section must be prepaid.
JANE EDMUNDS
Advertisements are accepted subject to the terms and conditions ASP Ltd., 1 Golden Square,
printed on the advertisement rate card (available on request). London W1

SOFTWARE GAMES
SPECTRUM GAME
Join the Spectrum Software Club now. and choose » F R E E S A M E C A S S E T T E fur
you to K M P from our Top Twenty Sett Set!«rt litled below O V E R I S O tried-ana-
letted quality a«me* ava .14 we *t a discount from «n me top software houses — 0"y
F.R V E R T B E S T programs are stocked Our unique EicMngt Plan means you can
en,0y any game from our catalogue Io< up to 30 days tor [USl £ 1 0 0 E X C H A N G E
Y O U R E X I S T I N G G A M E S or the free Game you get Irom us
* NEWSLETTER • HARDWARE DISCOUNTS • REVIEWS ETC

... T 0 P 20 TAPES * "


STOP PRESS: 1 30 AHT ATTACK 48 tl 3D SPACE WARS 16 48
2 FLIGHT SIMULATOR 16 48 12 TRANSAM 48
3 LUNAR JETUAN 48 13 UASTERCHESS 48
16 40
There are now sixty games on this fantastic 4 ARCADIA
5 HON O
16 48 14
16 48 IS
FROGGER
AH OIODUUS 16 48
compilation, yes 60 super high resolution arcade e PENE TRA TOR
7 ZZOOM
48 16
48 17
UA2E CHASE
BLASTERWHO
16 49
48
games that you will have hours and hours of 8 POOL te 48 18 GOLF 48
9 QUEST ADVENTURE 48 19 UAZE CHASE 19 48
enjoyment from, guaranteed!!! 10 GULPUAN 16 48 X 30 ESCAPE 48
MEMBERSHIP APPLICATION
60 of the best games around including: Pacman, Please enrol me as a member of the
drum Software CHib I enclose
Invaders, Frogger, Fruit Machine, Defender, 95 (payable to Video international! AdOresa-
Send me tnefollowingFree Cassette
Lunar Lander, Pontoon, plus much more!! AM on .P/code.
S p e c t r u m S o f t w a r e C l u b ( Z X ) , Video International,
one tape for only £9.95. 287-291 H i g h Street. E p p i n g , E s s e x C M 1 6 4 D A

New for the 48K Spectrum, "Flipwind". An amazin


g simulation of the sidewinder arcade fruit NOVA SOFTWARE
present*
machine, features include random holds and THE LAST SHIP O F ZENDOK 20% Discount
nudges, tlipwinding reels to a winning line. (41 ZX SPECTRUM)
SPECTRUM 16K/48K AND
£4.95
Visually stunning graphics and state of the art' The lirst pari of a 3 pan adventure ZX81 Software
machine code, true arcade sound effects. The Empire of Thailax Are y o u
CONTACT
wave enough TO challenge the evil
Introductory price £5.50. Thailamans'' in this first text JAYCEE SOFTWARE
Still available 50 arcade games ZX81 £6.99 adventure, you must re-activate the
last ship ot the once great fleet of FREEPOST (NO STAMP)
O N L Y AVAILABLE BY MAIL ORDER FROM: Zendok by hndtng 6 controlling FORRES IV36 0BR
crystals
Please "take cheques/POs pay-
ANCO SOFTWARE (DEPT ZX) able to A B. Saxton; and send to
Nova Software, (Depl ZX). 2
25 Corsewall Street, Coatbridge, Gertrude Hoed. Oraycott. Derby
Scotland ML5 1PX 0 E 7 2NX.
TRADEWIND
Tel: 0236 32381 46K SPECTRUM
ANCO SOFTWARE . . . THE ULTIMATE EXPERIENCE
SPECTRUM COLOUR GRAPHIC
ADVENTURE
SOFTWARE Make a fortune selling and trading >n
the coral islands Risk your lite
Large range ol titles credit among pirates and sharks' AvohJ
MAGIC SOFTWARE presents card orders by phone or ring lor reefs, weather storm* and outwit the
further details and price list local trader*
FROM OLD KENT ROAD Tuck Shop a business a,a me for
t s on OUR eaaaette or 14 on YOUR
TO MAYFAIR any Spectrum E3 90 27 Westwood FABULOUS PHONES. mkrodrtw cartridge*
Ptay agamst your computer Avenue, Dept C, Timperly, Chesh- 72 High Street. Orpington, WD S O F T W A R E (Z), H I L L T O P .
"This simulator has been won ire SAE Kent BR6 OVO S T MARY. J E R S Y , C.I
thought out and works well Tel: (0689) 740S1 Tel: 0534 81392
Good value lor money' - ZX
Computing Oct/Nov 83 Only MULTI INTERNATIONAL
£3.00 from M.P.T., 42 Raedwall CO. REQUIRE SPECTRUM
Drive. Bury St Edmunds, Suffolk PROGRAMS
Our client one o( I he most well
known international companies FOR SPECTRUM 48K:
require new. original programs WANT T O MAKE A M I L U O N ?
lor most home computers Then play BOSSMAN the exciting life game — Involving, amongst
especially the ZX Spectrum others, production, wages, unions and natural disasters — where you
THIS SPACE An excellent opportunity to
obtain worldwide recognition
make all the decitions £5.95
PIT-STOP: Become an expert racing driver picking up tools as you go
COULD BE Please contact:
Mr. R. J. Purssglove,
but watch out tor the oncoming computer cars — they're out to get
you
OMADAN ATTACK: Save Planet Mardon Shoot through force fields
£4.*S

WORKING Marketing Consultants.


172 Finney Lene,
with your lasers and astro-cannon, but beware — the Omandans fight
back £4.95
FOR YOU
Healdgreen. Cheedle. AH games with Hl-Res colour graphics and full sound effects
Cheshire Cheques.'POs to:
Tel: 061-437 0538 A V A L O N S O F T W A R E L T D . , 62 Albion Street. Mansfield.
Rtpitt fr»«r#0 in ifncrear confidence Notts NG19 7AU

7* ("("IMPUTING J U N E / J U L Y 1984 151


SOFTWARE APPLICATIONS

SPECTRUM KOPYKAT TAPE COPIER 5 K E E P THE BANK MANAGER AT BAY


IMPROVED P E R F O R M A N C E Makes bach-up copies of ail
Simply the b t i l Copying any pro- Spectrum programs («cl header - WITH . . . HOMAC ZX Home Accounting
less. m/c. unstoppable) that we are
grarr is now as easy as LOADmg
and SAVEmg your own programs aware of wrth many unique lealures System
Any ZX Spectrum program c a n Full money back guarantee ' you
- Database for up lo 1 000 records Spectrum 3.000 for book-keeping and
be backea-up onto a fresh tape.
are not s a i l e d financial forecasting
Even programs that cannot be • Loads m all program parts - Fasi daia entry
stopped can now be copied 100 continuously Verifies. Abort Pro- - M a n a g e s most accounts bank credit card c a s h savings standing orders
per cent machine code Prints file gram names Header data direct debits etc
names Copies headeriess files. * Full nsiructions. very user - Predicts credit card bills
S P E C T R U M K O P Y K A T uses no tr«ndty M Drive Genuinely copies - Up to 94 account headings covering an eighteen month period (Spectrum
program area so full size pro- onto mlcrodrlve - stops programs 30 months) w l h annual carry forward
grams over 41 7K <9K tor 16K to help make them run - Printed or displayed summaries and statements for any account or period
machines) can be copied Cost only £4.50 or £5,50 with - Spectrum version provides lor up to twenty currencies or individuals ZX81
PLUS FREE Header Reader M/Dnve (Overseas *Cl Europe for any single currency only
program Despatched by first class t2 others)
return of posL Send cheque PO 5 Stars from the H C W Review. HOMAC £8.95
for £4.05 to With 3 out of 4 ratings ol 100 s .' Please state if ZX81 (I6K> or Spectrum r48K> version <s regu<red Price
M E D S O F T . 61 Ardeen Road. L E R M . Dept ZX. 10 Gruntwlck. includes cassettes and instructions Post and packing £1.05.
Doncaster, South Yorfcs DN2 Gardens. Corby, Northanti DAVID M A R T I N
5ER. T CAN EVEN COPY ITSELF Associate* Lid. 71A Princes Road. Richmond. Surrey TW10 6DO
Telephone: 01-948 1053

V I C T A G R A P H P L O T WINDOW
HORSE RACE FORECASTING
This super programme picked the lor ZX Speclrum & Tandy C G P CHARTSVILLE UK
winners of the 1983 Grand National. 115 Printer Plotter (and Interlace)
T O T A L P R I C E £6 M&J SOFTWARE Sinclair ZX81 16K
St Leger and many more as first Check your knowledge of 25
choice selections New package and instructions S P E C T R U M f l g - F O R T H (casse-
Spectrum 48K £12 absolute system only Position your tte) £12 years of worldwide popular
Spectrum 16K £10 design under the calibrated window A cassette-based implementation music Irom rock and roll lo the
ZX SI 16K £10
I hen place Ihe window mask sigh! ol FORTH Complete with macro- present day with this series ol
ZX81 IK £8 over each co-ordinate and read off assembler and powerful editor we
X Y lor entry into Data For display & believe tnts package lo be excellent entertaining menu driven
oiottr- Vlctagraphlcs (ZX). 6A value for money Also included quizzes, each with 3D graphics
FOOTBALL RESULTS
FORECASTING
Bow Street. Rugeley. Stalls. U.K. completely free is a copy ol the fig- score chart
Another great programme Irom WS15 2BT. Tel: (08894) 2426 FORTH installation Manual. Chartsvllle UK 1957-1962
Butromcs It forecasts home or DlY FORTH lor Ihe SPECTRUM .. Chartsvltle UK 1963-1968
away wms and draws, rating each £12 Chartsvllle UK 1969-1973
one agamst the others A Z80 iig-FOHTH assembly listing Chartsvllle UK 1974-1978
Speclrum 48K E12
SPECTRUM SPEEDYLOAO: and insiaiiaiion Manual - an you Chartsvllle UK 1979-1982
ZX 81 I6K £12 need to put FORTH onto your State your selection and send
Halve your waiting time1 This short Spectrum
Send your cheque or PO lo The program lets you save/load at £4 50 cheque/PO per cassette
Butronlca Co.. Pen derrick House, The language is many times faster
Budock. Nr. Falmouth, Cornwall 3000 baud Easy to use Cassette than Spectrum basic as well worth (overseas £5 50) to
TR11 5 E D (48K), £3 95 Ness Micro Systems the effort involved MONTEREY SOFTWARE.
100 Drakies Avenue, Inverness ALL ABOUT FORTH by Hydon . . . 10 West Grove. Doncaster,
£7.95 DN2 5NB, England
ZX-81 Shack-Pack cassette from An excellent reference book with
cross relerences to fig-FORTH. the
PeiOtf Morse and Rtly receiving SPECTRUM SYNTHESISER FORTH-79 standard and Stamng
program morse 8-60 wpm Rtty (48K) Metronome, drum sounds, FORTH This book should be next to
40-1000 Baud FL 25 = or £6 = tncl. roiling chords and piano options every FORTH programmer's com- AUTO-DATA VEHICLE
postage Jerry Holthaus. irisstraat By professional musician £500 puter (270* pages) DIAGNOSIS FAULT
73, 4542 Ed Hoek. Netherlands Cheques and POs lo - M4 J
Scott Massie. No i Bungalow. Software, 34 G r a y s Close. FINDER
Phone. 01154-1591 Firlands. Burghlield Common Scholar Green. Stoke-on-TrenL Suitable for moil manes of vehicle
Berks ST7 3LU- Tel: (0782) 517876. Extremely comprehensive covenng
engine gearbox (manual and auto-
SPECTRUM Trade Secrets matic). brake*, suspension steering
and electrical system Superb value at
Includes making programs, unlist- £5 SO inc VAT Cheques and POt to
able. unstoppable invisible, how to
reveal such, revealing hidden
Basic <n machine code progams
SEND YOUR ADS POOLS ERC COMPUTER SERVICES
(Dundee), 53 Thurso Crescent.
plus hints/tips, plus microdrive TO PREDICTION Dundee, Scotland.
Tel: 0382-642017
supplement - £3 ZX guaranteed
(office ZC) 29 Chadderton Dnve. JANE EDMUNDS Made easy on 48K Speclrum
Outputs Best Draws. Homes
Unsworth. Bury. Lanes
and Aways. features analytical
draw finder which allows TARDIS COMPUTING
TIME LEDGER 48K Spec Hum 19 Fot
program to learn from its own accountants I solicitor* Fully menu
rmsiakes. however small driven. 600 clients and 17 staff with
Comes with free permutation expenses and client names Saves

Dec n i r i Converter
hours!
calculator program Spectrum 16K
128 Dividends won by writer so
Hex i j eTec
far
MICRODRIVE INDEX £4.50 Loads
progs from Microdrive
$1.8515 3
(This is the best and most TRANSPORT & SHAPES £4.40
Educational for children
o scientific of any program I have
<D All prog*. Microdrive compatable 4,
"o seen - Mr R A Pyatl - Preston Gardens. Word. Essex.
Secretary. Orpington Com-
puter Club)
GO' HORSE RACE
© P R E D I C T O R — a very
s u c c e s s f u l p r e d i c t o r for
FOR ALL YOUR
© the flat r a c i n g s e a s o n SOFTWARE
© © Ask for British Pools at £8 95
Australian Pools at £895 NEEDS. RING
Ask for Race Predictor at
ROIS HARDER
Order from:
£1995 01-437 0699
995 Shakespeare Avenue.
N. Van., B.C.. Canada V7K 1E7 {604} 980 4167
ROMBEST, 9 Hawkestone
Ave, Newport, Salop, TF10 X338
7SE
152 ZX COMPUTING J U N E / J U L Y 1984
S O F T W A R E EDUCATIONAL UTILITIES SERVICES

LEARN ABOUT
ELECTRONICS WITH YOUR Ed.SOFT Educational SUPERIOR TAPE ATTENTION
SPECTRUM 48K Software COPIER all 16K Spectrum owners Have
New Structured independent warning 76 Woodvilte Road. Eimouth EXS 1SW your Spectrum infernally ex-
package tor begmntn - designed Tel: (0395 275741) We are convinced that the new 007
by electronics K i g i r w f j — includes Cassette baaed Educational Software SPY is the very best Spectrum jape panded to 48K Does not affect
• Computet generated animated (or Spectrum micro Suitable lor all copier available on cassette Finds warranty All work guaranteed
graphics from 7 to 13 Programs from £4 95 better one offering belter value for £35 including VAT fitting
include Whatsit <20 questions game) and return postage 24 hour
• learner* guide Wordllash do aid the increase ol for money, and T W I C E your
• Kit ot components reading age) Mmaths/Pleceval ladd money will be refunded. turnaround
• Practice) guidance and exercises subtract divide, multiply, check place A Can copy multipart programs m Send cheque/postal order and
Package suitable for beginners values) C. Rules .£5 95 information, one go automatically
GCE/CSE C 4 G etc and covers testing and reinforcement ot rules lor B Can copy genuine 48K long Spectrum alone (no wires
basic semi-conductor theory €9 95 hard 4 soft C I Also Anagram and programs power pack necessary) lo:
mcl post and pecking Basically Basic Booklet (£1) & others Barnsley Micro Computer*,
E.T.S.T., 117 lougtiOorough Road. C Genunly the easiest copier to
Kirkcaldy KYI 3DD use (Depl ZX). 196 Carlton Rd.,
D Has copied an the programs Smllhers, Barnsley,
we know ol South Yorkshire or phone
E Microdrive compatible AND 0226 4637 for further
POPPY PROGRAMS ZX Spectrum (16 or 48K) includes program to transfer tapes details.
HIOOEN L E T T E R S Age 5-Mult £6 00 to the Microdrive AND they'll work
Highly educational reading game 9 skill levels F Post tree even to Europe
MONEY Age 3-10 £6.50 007 S P Y IS J U S T £2.95
Coin recognition, 4 easy levels leach money sums
TELLING THE TIME Age 3-10 £7.00
ZX G U A R A N T E E D (Dept ZX).
29 Chadderton Drive.
C L U B S & USER
6 programs lor learning in easy stages 12. 24 hour, digital time time in
words, clocks lo set Unsworih. Bury, Lanes GROUPS
LEARNING TO READ 1 Age 2-6 £5.50 Tel: 061-766 5712
4 AM graphics Pre-fteadmg games _
All cassettes include specie! keyboard overlays. P4P inc ^L
Richmond House, tngleton. da Carotorih. Lanes LAS SAN * MICRODRIVE USERS
(S)TOP S E C R E T ( S ) CLUB
for any Spectrum
ZX81 (16K) Be in full control of programs on
your computer STOP and reveal
Canoe Microdrive Exchange this
newsletter club « designed to help
by the exchange of into and ideas
TINO COPY HIDDEN L E T T E R S the SECRETS of your favourite
programs A machine code UTILITY Did you know you can pay up to
For 46K or 16K Spectrum Word game helps reading ability mat STOPS, most Basic or Machine £5 50 lor a cassette lo transfer
Why be satisfied wiih just a lape £4 95 inc from Code programs, protected or not. tapes to microdnves and then they
copier7 don t run issue l will mciude now to
Gel our 3-m-1 utility leaturmg -
Poppy Programs WITHOUT CRASHES avoid this plus transferrin.; Vu-File
Activate routine press lwo keys and
COPY ANYCASSf TTE PROGRAM be in fllLL CONTROL/LEARN/ Z Z O O M etc Membership is CS pe*
PLUS LIST/MODIFY etc. ail the options year Europe C8 per year
DOUBLE SPEED LOAD/SAVE are yours The ideal MICRODRIVE Ptease make cheques payable to
UTILITY NEW DRIVING TEST (Part 1) ZX Guaranteed Microdrive Ex-
companion.
PLUS II you re a Das*; begmner. a
change is run oy C A Bofcfcer
CASSETTE HEALTH RATING Simulated controls faults analyse machine code master, a program
UTILITY Good graphics a useful game il writer or a games fanatic, this is the ZX GUARANTEED {Dept ZC)
Copier does it all — MULlPLE sections. you aru learning or interested in UTILITY thai can open the door for 29 Chadderton Drive.
HEADER printing, MULTIPLE copies jnving ZX8I t I6K> £5.9S. 16K YOU
Full S I Z E programs Double speed Suectiujri £6.95. EWCtron £7.50. Unsworih. Bury,
utility halves your load/saves time PLUS: pages of SECRET inform-
Health Rating' program detects Replies to: O E P T ZX ation about methods used by Lanes.
possible laults >n your cassette ACE SERVICES. 8 APERFIELD professionals to Keep their secrets
recorder before they become seoous R O A D . B I G G I N HILL, K E N T hidden
Also useful for Imding delects in tape Trade Enquiries Welcome 48K SPECTRUM £5.95. including
Avoid wasted S A E S 4 lots ot
frustration HEAOER READER and Dec/He*
At £4 50 this must be the best value Hex/Dec converter
CAMEL MICROS, 33A Commercial 16K SPECTRUM £4.95 Relocat- SWAP SHOP AND
Roed. Weymouth. Dorset able under software control) LIBRARY
Cheque/PO to
REPAIRS A S H B Y P R O D U C T S . Depl ZX,
Hundreds of titles available for
exchange or hire as well as
183 Bristol Road. Edgbaston.
Birmingham BS 7UB other services For details send
BEGINNING PIANO, or keen on ZX81 SPECTRUM. We can now large SAE 10
text adventures'' Send SAE to Fair otter oui-ot-guarantee repairs by ZX Section, Personal
Software. 30 Fair Lane. Roberts- our Computer Dept Our engineers Software Users' Assoc..
bridge. Easl Sussex have had over three years G. A. BOBKER 19 Lammerton Terrace,
experience servicing Sinclair Does it again Dundee DD4 7BR
Computer products Price includ- Scotland
ing p&p ZX81 C11 50. 16K Ram (How long before the competitors
C9 95. Spectrum £18 75 Send with catch-up with this super program)'
cheque or PO TV Service of New TAPE 3 lets you STOP
KILSOFT Cambridge. F r e n c h s Road.
Cambridge CB4 3NP Phone
Header less Files and unmergatte
Basic programs so you can study PHONE JANE
them and/or put to Microdrive
EDMUNDS TO
48K SPECTRUM Educational revtwon
programs. GCE O'/CSE Biology. (0223) 311371 Includes a pseudo disassembler
Physics Chemistry. Maths etc £4.95 which clearly gives an the relevant
each For F U L L E S T details Kllsofl. 33
Btlarlyn Avenue, Blrchenclltte.
HutfdenfMd Tel: ( M M ) 31*91 COMPUCARE Sinclair repairs
info m plain English
TAPE 3 £3.50 (£3 to club
BOOK SPACE
specialists all makes speedily
repaired at reasonable cost. 20
members)
ZX G U A R A N T E E D (Dept ZX)
ON 01-437 0699
Shirley Rd.. Kings Norton. Birming-
ham Phone 021-458 7188 (6-
29 Chactterlon Drive, Unsworih.
Bury. Lanes. Tat: 061-766 5712
X338
8pm) weekends.
NATIONWIDE
LIBRARIES SHOPS & D E A L E R S
OUR READERS COURSES
SPECTRUM OWNERS
Why not use our software hire
NEED YOUR
NEW TO COMPUTING
service With an extensive
range of games, educational
SERVICES We are here to help you gem skills HI
m e n d s
89 Euston Rd. Morecambe. Lanes
programs, etc Only 50p per
tape plus P&P
RING computing Individual machines,
qualified tutition. practical course
Ring Computer Workshop on 01-31*
TEL: 411435. Also open Sundays.
Sinclair. Commodore. Acorn/BBC
Send SAE lor full details to:
X.E. Lent Software,
01-437 0699 M l 4 Lee High Road. Lewisham
London SE13 5LO
* Dragon • Lynx
Authorised dealer for Bug-Byte
X338
CfHiarmnt' Hoi-dty Courses a'to
8 Cheviots. HfghHeld, avaAaMe Imagine. Omcksiiva Arte, Mel-
Hemel Hempstead HP25RD bourne House, SWversofJ etc

7* ("("IMPUTING J U N E / J U L Y 1984 153


ACCESSORIES

ZX-81: PKPs
SPECTRUM ZX81 Po*iti'« K»yt»»nl PMl
OVERHEATING? NOISY?
KEYBOARD RUNS HOT?
Problems solved with PR adaptor,
These sell adhesive pads give
positive finger lip control
10 PKPs = £1.25
ORDER FORM
no soldering, no dismantling, just 40 PKPs = £2.99
plugs in place Please stale Please add 30p P&P Cheque and
model. £8.95 plus 75p p&p PR Poslal Orders 10 P. Newberry,
adaptor plus reset switch (allows "Glatlon Computers. Yallands
system resel) £10.95 plus 75p Hill. Monkton Heethfteld,
p&p ZX supply repair service Taunton. Somerset TA2 SNA.
£5 95 inclusive Cheques & PO'S
to PR Electronics. 14 Bretby

10
4-- 12
Close. Doncasler ON4 6EL 24
nour answerphone 0302 530545/ 13 14 1S
0302 539747 German stockists
E R C Services, Heinrichstrasse
93. 4000 Ousseldort, W. Germany
CABINETS
Keep your micro and Please place my advert In ZX Computing for months
accessories dust free, Please Indicate number of insertions required.
adapt electronic/ tidy and secure. ONLY 40p per word (minimum charge 15 words)
nt rret Write or phone for
i rt •nee CLASSIFIED DEPT ZX COMPUTING,
colour brochure:
tut
ihpi n »
OCAStrrrr UM* tmmrn 1 Golden Square, London W1
•wn*o n or,
| n« MARCOL CABINETS Tel: 01 -437 0699
•« UK
tUOMIIV *v<
n>«
PO Box 69. Southampton.
Name
• Mnw m»M m T E L : 0703 731168
• MIUVIMM g>wi Address
K t w o ciott w w r mtr

PHONE JANE ALARMS


EDMUNDS TO Tet No (Day)
BURGLAR ALARM Equipment
BOOK SPACE Please visit our 2.000 sq fl
showrooms or write or phone for
ON 01-437 your free catalogue. CWAS Ltd..
100 Rooley Avenue. Bradford BD6
0699 X338 10B Telephone (0274) 731532.

ADVERTISERS INDEX
Addictivc Games 16 Kosmos 70
Applications 15
Anirog 34 Marcol 107
A & F Software 63 Mikro Gen 81
Atarisofi 66. 67 Meow Micros 3
APS 80. I B C Microsphere 30
A G D Hardware 133
Amoeba Software 145 National Software Library 117

Beltech 54 Procrom 6, 12
Buffer Micro Shop 70 Prism 19, 20. 21
Betlflower 92 Picturesque 60
Brother Industries 114 Pinehurst Data 96
Printer & Plotter 118. 119
P V Tubes 127
Cambell Systems 70
Cheetah Marketing 85
Richard Shepherd 27. 51
Compusound 96
Ram Electronics 31
Ceran Software 125
Romantic Robot 65

Durell Software IFC Software Supermarket 7


D K Tronics 89, I B C Softeach 144
Digital Integration 84
Trojan Micro 73
Electric Software 15 Technology Research 117
Edbury 20 Tutorial Software 141

File Sixty 41 University Soft 141


Fox Electronics 49
Vilanos 127
Hi Soft 50
Hartland 141 Widgett Software 50
Horby Software 109 John Wiley 64
Wizard Software 65
Kelan Engineering 65 Woking Computer Centre 88

154 ZX COMPUTING J U N E / J U L Y 1984


ASP SOFTWARE
Presents
The Greatest Challenge Ever To Face Man And Machine
(Atari, BBC B, Spectrum and Commodore 64)

FIVE MILLION BARBARIANS


AN ARMY OR TWO
PERSIANS
SEVERA
UPSET
FIFTY
JUST A PRETTY
T
his superb new interface is one of our very
Programmable Joystick latest developments for your Spectrum.
Interface Offering even more features, and as it's
programmable from the keyboard or with the cassette
supplied you can now use it with any software.
Features include
>• Eight directional • Rear connector for
movement other add-ons
• Keyboard fully functional • Microdrive compatible

Quickshot QuickShot 4
Joystick r Programmable foysiick interlace
Qutckshot Joystick I
Joystick i H
• Super positive Qutckshot Joystick II Incorporating *
response Please add posl and packing all the features of
• Stabilizing I enclose cheque/POfCash lor Total £ Quickshot I'
suction caps Of debit my Access/Barrtaycard No plus
• 2 fire buttons • Improved
• 4ft lead control grip
• Trigger fire
button
• Rapid fire tf
option

DK Tronlcs Ltd., Unit 6. Shire Hill Industrial Estate, Saffron W a l d e n


Essex CB11 3 A O . T e l e p h o n e : |0799| 263 SO (24 hrs| S lines

You might also like