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

The Magazine For All Sinclair users

PECIAL
A
I: USINESS

EATURES: i * AJ
.1 v --'A - „ ><m

1 PRINTERS A N D G A M F
INTERFACES ^ ^
T A C \ A / ^ n r > ^ GOBLIN
TASWORD f « § § § * ... DUNGEON
WORDCOUNT A S & * &
SPIDERS!
TABCAIC-A . J p T ^ SPIDERS!

SPECTRUM • H S i : 7 ALIEN!
ALIEN!

SPREADSHEET
With More Editorial Pages Than Any Monthly Magazine
software setting harder

With Technical Assistance from Lotus Cars Ltd

Spectrum and Amstrad


*

R.R.P. £8.95 DWELL COMPETITION


Entry C o u p o n
Cut out (his c o u p o n and send n
w i t h a completed entry (ofm
included w i t h any of the new
Durell games

DURELL sales dept.


Castle Lodges Castle Green, Taunton TA1 4AB
V»SA SPEEDYSOFT EUROCARD
ACCESS 01-846 9353 (24 HRS) MASTERCARD
W l A L W A Y S I K Y TO SEND Y O U R PROGRAMS O N THE SAME
DAY W l GET Y O U R ORDER, THAT'S W H Y IT'S CALLED
SPELDYSOIT! A l l programs n o r m a l l y in slock before w r
COMMANDO
Thrilling chart-topper based o n the arcade hit. Your are Super |oc,
advertise them! FOREIGN ORDERS WELCOME, satisfied ; a"' *• *
crack combat soldier. You must defeat the rebel forces w i t h your
customers in 64 c o u n t r i e s l o r 3 years. U K price* i n c l u d e VAT: * I 4' .4 .4 machine gun and six hand grenades, until you collect m o t e f r o m
export prices are the same, plus p & p , because o l the entra w o r k the outposts you defeat Gre.it graphics and s o u n d S t i l t s OK
involved. Pay by sterling cheque, bank draft or postal order. All iFlite Cassette £7.95
orders must be prepaid: we send your programs as soon as w e gel "f ti» t . i r i i i . l i j l v i - l»l*<«.|ill ,
I t »•' .H i l i t •

QUILL/ILLUSTRATOR
rr lie
your money! It's taster to order by phone f r o m any c o u n t r y w i t h
" W I I I I I I I 1(1 I I I I I I I 1
your VISA, E U R O C A R D , MASTERCARD or ACCESS. Call 01 8 4 b
m
9353, 24hrs, 7 days a week. ALL PROGRAMS FOR SPECTRUM "Simply brilliant . put a lot of work into The Quill and you tan
A N D SPECTRUM t . BIG fREE ILLUSTRATED C A T A L O G U E Wham! write a game as quic k and slick as any on the market ' tBigKi Write
W I T H EVERY ORDER: DETAILED REVIEWS, L O A D TIMES, and sell your own machine-code graphu adventures with these
W H A T THE CRITICS SAID, ETC.. Catalogue includes all the two amasmg utility programs from Gilsolt. The Illustrator allows
classic 'serious s o f t w a r e ' , l o o . Send £ 1 . 0 0 (refunded w i t h your full-screen heres pictures to be added easily to the adventures
yuu've written with The Quill. The two programs, now Only 122.9S
first order) for catalogue only. T W O FREE B I A N K TAPES OR
together. Add The Patch tor C6.00 tor split-screen test graphic, and
ONE FREE M I C R O D R I V E CARTRIDGE IF Y O U R ORDER F R O M
some interesting smind elfecls. loo!
THIS A D C O M F S TO £ 3 0 OR MORE, e x c l u d i n g p A p . State choice
on order f o r m .

GAMES PLAYER
" . . . A SERVICE THAT IS AS RELIABLE Slow d o w n and live longer with this c o m b i n e d joystick interlace
and game speed controller. It runs ony software w h i c h w o r k s w i t h
AS YOUR PROGRAMS" a Kempston stick. M i c r o d r i v e compatible, loo. Make any game r u n
Nato Alert as slmv .is you like, or freeze the screen to photograph the
(|. N o p p e n . Belgium)
high-score table! Simply plugs onto the back ol your Spectrum.
( D k T r o n i c s l Games Player Interface £11.95

WHAM!
Whaml-The Musrc Bo* is as serious a piece of software as
Taswordor The Quill a n d it's responsible lor the music o n (airhght
YIE AR KUNG FU
Probably the best of all the k u n g fu games. Double-sided rape, To
a n d the f\pkiding Fist." (Siml.ui Uiet) A totally nesv music become a grandmaster, v o u must load and defeat B opponents
creating program for your Spectrum For the first lime, real each more deadly than the last. 10 different attack moves io learn
two-channel music and percussion effects. Includes d e m o of 5 Croat graphics. Sticks O K ilniagine'Konami) Cassette £7.95
W h a m ! hus: Freedom, T m p n a n a , Careless W h i s p e r , Young Guns
Go For It and Bad Boys. Easy t o use. N o Stick. ( M e l b o u r n e House)
Cassette £9.9S
Lord of the Kings
MONOPOLY
"An excellent simulation .. vastly superior to the other, non-

NATO ALERT
A w j i g i m i 1 simulating a non-nuclear conflict in Europe between
aulhorised versions . flu- graphics are very realistic (Home
Computing Weekly) Official M o n o p o l y , w i i h I D board view; lor 2
to (i players any or all of w h o m may be I he computer. SpeCily
NATO and Warsaw Pact forces I or 2 players. > skill levels. U p t o length o l game it you wish No Stick 'Leisure Genius) Cassette
21 different objectives may b e chosen, to d e t e r m i n e length ot play. £9.95
Complex, horrifyingly realistic. M a p graphic* help. Hints given,
too. N o Stick. O n e o l our most popular programs ICCSI Cassette
£5.95
NOW GAMES 2
LORD OF T H E RINGS
Another great c o m p i l a t i o n tape. AIR WOLF (Elite) ( H I X Kit (CC-.2
iA«,Fl TIR NA N O G (Gargoyle) CAULDRON (Palace) WORLD CUP
(Artie). Cassette £8.95. N O W 1 still available w i t h Lords ot
The program everyone's been waiting tor, f r o m the H o b b i t team.
Midnight Bri.in ftloodaxe. Strangcloop.'Pyjamarama.'Arahian Nights
800 w o r d vocabulary in this beautiful graphic adventure. Over 200
f a l c o n Palrol2. Cassete fji.'JS. Or buy b o t h tapes lor just llfc.tS
locations. Twin cassette pack plus copy of the 510-pagc book
Fellowship o l the Ring' Cassettes.Book £15.95 'The Hobbit' itself
still available for only £12.95 (save £2.1
'EXCELLENT CATALOGUE A N D
EXTREMELY FAST SERVICE
TOMAHAWK (A. A m m u n d s e n , New Zealand)
A superb simulation,
While conventional
with pkntv ol a c t i o n . " (Sinclair
aircraft simulations are It-it a penny on the
l/srr)
MICRODRIVER Mk2
PFRFECT TAPE MICRODRIVE TRANSFER AT I H t PRESS O t A SINCLI
Spectrum, this is distinctly different and it boasts the added
adva ntage ot <irmed combat ... controlling the mat hme is BUTTON! ' Menu-driven, very east to use and well error-trapped
surprisingly simple." (Popular Computing IVoekfyi "All helicopter ... I much preferred the Microdriver." (Your Spectrum) Dumps the
characteristics are faithfully reproduced ... much more accessible w h o l e of m e m o r y to m i r r o d r i v e , Save and reload any program. No
to the casujl player than fighter Pilot " (Your C o m p u t e r ; Stic ks Commando use to pirates as Microdriver must be present to RLIN Saved
OK. 1D1g1t.1l Integration) Caswite £9.95 programs. Specially designed R O M fits o n t o the back of your
Interface I or 2 Through connector for add-ons £39.95

THE ART STUDIO


M k r o d r i v e cartridges available in packs ol 4 for only £H.00. Or 2(1
cartridges in a stylish black plastic filing box u n h £35.95. The Mirage
Microdrivcr: £39.95
this prognm really makes the Z80 t hip sing .. performed just
hke MacPaint on the Macintosh." /Personal Computer WorldJ
Outperforms The Artist' in almost every way. It has superior
speed and the menus are easier to use ... contains a printer
whuh handles most Spectrum compatible
driver
printers It is an
WINTER SPORTS
Great new joystick wagglcr w i t h eight very different and vers1 well
extremely powerful utility which should he ol use hi professional planned sporting simulations loading separately Downhill.
artists and designers as well as the home user." (Sinclair User.) Slalom. Giant Slalom. Ice Hockey. Ski j u m p i n g . Speed skating.
AMX M o u s e c o m p a t i b l e , l o o . Fantastic new d r a w i n g package. Bobsled Biathlon. Very g o o d value. Sticks OK. (Electric Dreamsi
IRambirdl Cassette £14.95 Yie Ar Kung Fu Cassette £7.95

POST TO: SPEEDYSOFT (zxib) Program Name Price


37 CHURCH ROAD, L O N D O N SWT3 9HQ, ENGLAND.
For CATALOGUE ONLY, send £1 cash. Refunded with your firsl order.
My computer is I enclose a cheque'PO payable to
SpecdySoft OR charge my VISAACCESS/LUROCARDMASTLRCARD

: n»i i i i n i i i ii i i i i r m
Signature: Expiry Date
Please write clearly. If we can't read it, you won't gel it. Postage & Packing UK add 75p per order
Name: Europe ADD £1.00 per program
Address: 1
Outside Europe ADD £1.50 per program

Postcode:
PHONE NO: if any, in case of query Total Order
Editor: Ray Elder
A s s i s t a n t E d i t o r : Cliff J o s e p h
G r o u p Editor: D a v e B r a d s h a w
G r o u p M a n a g i n g Editor: W e n d y J Palmer
A d v e r t i s e m e n t M a n a g e r : Barry B i n g h a m O r i g i n a t i o n a n d d e s i g n by A r g u s Design Ltd.,
A d v e r t i s e m e n t C o p y C o n t r o l l e r : L y n n Collis Circus H o u s e , 2 6 Little P o r t l a n d S t r e e t , L o n d o n W 1 N 5 AF,
P r o d u c t i o n C o n t r o l l e r : Sue C o u c h m a n
S o f t w a r e A s s i s t a n t : J o h n Gerard D o n o v a n Published by A r g u s Specialist P u b l i c a t i o n s Ltd,
M a n a g i n g D i r e c t o r : Peter W e l h a m 1 G o l d e n Square, L o n d o n W 1 R 3 A B

welcome ...
CONTENTS 6 Microdrive
Utility Suite . . . . . 49
W e ' v e g o t s o m e g o o d n e w s , and s o m e Aaargh!
bad n e w s . . . M a k e the m o s t of your m . d r i v e s .

Shoptalk 1
100 H Spiders 22 Starfighter 54
This is your c h a n c e t o have your revenge
News, news, news. co
on all t h o s e 'orrible c r a w l y things that Up,up, and a w a y !
have crept u p out of the plughole in the
bath. Train Race
^Mm " w Goblin Dungeon . . 28 For all t h o s e f r u s t r a t e d train drivers.

Can y o u escape the G o b l i n ' s lair?

Hardware . . . 14 Light Screen


A FORTH R O M , and a s o u n d booster get
the o n c e over f r o m Z X . Designer .32
QL Business.. . . . . 16 I t ' s a l m o s t finished!

Some business packages for the QL. Mindplay .36 I Astro Balloons . . .59
Adventure time! A c t i o n in outer space.
Please n o t e t h a i S i n c l a i r . Z X . Z X 8 0 . 2 X 8 1 . ZX
S p e c t r u m , Q L . Z X M i c r o d r i v e . Z X I n t e r l a c e . ZX
Net. Microdrive!. M i c r o d r i v e Cartridge. ZX Printer,
we f The J u r y . . . . .38 So YOU want To
Buy A P r i n t e r . . . ? 64
a n d ZX P o w e r S u p p l y a r e all r e g i s t e r e d t r a d e m a r k s
of S i n c l a i r R e s e a r c h L t d .
S o f t w a r e reviews.

Subscription
Airmail and
r a t e s : UK £ 1 3 . 5 0 i n c l u d i n g p o s t a g e .
other rates u p o n application to ZX
Discovering A d v i c e for first time buyers.
Computing Subscriptions, Intonet Ltd, Times
Discovery .43
polyprint . . 651
House, 1 7 9 The M a r l o w e s . H e m e l H e m p s t e a d .
Herts HP1 1 B f l (Tel: 0 4 4 2 4 8 4 3 2 1
A n o t h e r look at the Discovery Disc f r o m
Z X C o m p u t i n g is c o n s t a n t l y o n t h e l o o k o u t l o r Opus.
w e l l - w r i t t e n a r t i c l e s a n d p r o g r a m s . If y o u t h i n k
A n e w , multilingual printer i n t e r f a c e .
that your e f l o r t s m e e t out standards, please feel
free t o submit your w o r k lo us lor c o n s i d e r a t i o n for MicroMusic .44
publication.
A l l s u b m i t t e d m a t e r i a l s h o u l d b o t y p e d if p o s s i
A look at M e l b o u r n e House's WHAM!
ble: h a n d w r i t t e n w o r k w i l l be c o n s i d e r e d , b u t program.
please use your neatest h a n d w r i t i n g . A n y pro
grams s u b m i t t e d should be listed, a c a s s e t t e of
y o u r p r o g r a m a l o n e w i l l n o t be c o n s i d e r e d A l l p r o Machine Code
g r a m s m u s t c o m e Complete w i t h a full e x p l a n a t i o n
o l the operation and. w h e r e relevant, the struc- Trace .. .45
t u r e ; S p e r t r u m p r o g r a m s s h o u l d be a c c o m p a n i e d
w i t h a cassette of the p r o g r a m as w e l l as t h e A machine code d e b u g g i n g utility.
listing
All submissions w i l l be a c k n o w l e d g e d and the
c o p y r i g h t in s u c h w o r k s w h i c h w i l l p a s s t o A r g u s QLSOft .48
Specialist Publications L t d will be paid for at com-
p e t i t i v e r a t e s A l l w o r k for c o n s i d e r a t i o n s h o u l d be A t last, s o m e decent(ish) g a m e s tor the
s e n t t o t h e Editor a t our G o l d e n S q u a r e a d d r e s s •QL!

4 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
Z X C o m p u t i n g is p u b l i s h e d bi m o n t h l y o n t h u f o u r t h F r i d a y o f t h e m o n t h D i s t r i b u t e d b y : A r g u s P r e s s S a l e s & D i s t r i b u t i o n L t d . 1 2 1 8 Paul S t r e e t . L o n d o n
6 C 2 A 4 J S . 0 1 2 4 7 8 2 3 3 . P u n t e d in t h e UK b y : G a r n e t t P r i n t , R o l h e r h a m a n d L o n d o n .

The c o n t e n t ) o l t h i s p u b l i c a t i o n i n c l u d i n g all a r t i c l e s . d e s i g n s , p l a n s , d r a w i n g s a n d p r o g r a m s a n d all c o p y r i g h t a n d o t h e r i n t e l l e c t u a l p r o p e r t y r i g h t s t h e r e i n


b e l o n g t o A r g u s S p e c i a l i s t P u b l i c a t i o n s L t d . A l l r i g h t s c o n f e r r e d b y t l i o L a w of C o p y r i g h t a n d o t h e r i n t e l l e c t u a l p r o p e r t y r i g h t s a n d by v i r t u e of i n t e r n a t i o n a l
c o p y r i g h t c o n v e n t i o n s are s p e c i f i c a l l y r e s e r v e d t o A r g u s S p e c i a l i s t P u b l i c a t i o n s L t d . A n y l e p r o d u c t i o n r e q u i r e s t h e prior w r i t t e n c o n s e n t of A r g u s S p e c i a l i s t
Publications Ltd.
A r g u s Specialist Publications Ltd 1 9 8 6

Micro-wafadrive Tabcalc . .861


Conversion 66 A s o p h i s t i c a t e d spreadsheet p r o g r a m for
h o m e or business use.
H o w to c o n v e r t s o f t w a r e f r o m the
microdrive
Wafadrive.
onto the Rouonics Across the Pond . .94*
More news from America-
Son of
Microdriver 67 I All at C' . 96
M e t a c o m c o ' s C p a c k a g e for the QL.
Mirage have p r o d u c e d a n e w version of
their excellent c a s s e t t e t o m i c r o d r i v e
conversion unit.
Quicksoft . .97
More s o f t w a r e r e v i e w s .
interfaces-
face to face . .. 1 Spectrum Lessons 98
Tasword or A look at some of the latest educational
Getting the right kind of interface for
your peripherals can be crucial, so w e Spectral . . .72 software.
asked J o h n W a s e t o give us a run d o w n
1 Data Creator . . . .99
A c o m p a r i s o n of the t w o m o s t popular
on the d i f f e r e n t t y p e s available.
w o r d processors on the S p e c t r u m .
A short routine for c r e a t i n g m a c h i n e
Extending code DATA statements.
VTX5000 74
If y o u ' v e got a V T X 5 0 0 0 m o d e m , here's
1 Conversion Tips .100
h o w t o add s o m e e x t r a c o m m a n d s t o the H o w to c o n v e r t p r o g r a m s from the
system. Z X 8 1 to S p e c t r u m .

Tasword 1 Coin Drop .102


wordcount A S p e c t r u m arcade g a m e .
A w o r d c o u n t and paragraph count
routine for. the popular w o r d p r o c e s s o r .
I Problem Page.. .106
Fastload 78 Help!

A p r o g r a m that
L O A D i n g times.
will speed up ZX81
Snooker
scoreboard . . . .107
Home A program t h a t ' l l e n d all those
Management a r g u m e n t s about w h o p o t t e d w h a t .

Graphics 79
Bounce Down . . .114
Epson Meets A n applications p r o g r a m for dealing
A r c a d e f u n for the S p e c t r u m .
The spectrum w i t h your h o m e a c c o u n t s .

The Epson range of printers is a m o n g s t Multifile (Alphanumeric . .116


the m o s t popular, so here's h o w t o link
your Speccy u p t o one. A n applications filing p r o g r a m . A w o r d g a m e for the Z X 8 1 .

ZX
5 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
WELCOME

welcome
ing, electronically controlled or Of course I felt a gentle t u g g
what?' ing of t h e lower limb and w a s
This issue m a r k s the end of the ' O h n o t h i n g as c o m p l i c a t e d about to r e m o v e myself f r o m his ten for the BBC c o m p u t e r ( w h a t
s e c o n d year of m y o c c u p a t i o n of as t h a t , ' he haughtily t h r e w presence w h e n he o f f e r e d t o else!).
the Editor's chair, a n d ironically back. 'Only t h e i m p o r t a n t bits, s h o w m e a c o p y of s u c h a True to his w o r d he appeared
the last time m y posterior will the s t o r y l i n e s ' . storyline w r i t i n g p r o g r a m , w r i t a f e w days later c l u t c h i n g a w a d
w a r m that illustrious plastic. of t w o sheets of p r i n t o u t paper
Yes folks, the t i m e has c o m e a n d , e l i c i t i n g a p r o m i s e of
for m e t o m o v e on. : REM ? ; t o r / l i n e program secrecy, let m e have a look. So
In the t i m e I have spent pro fnr TULL OIRLO rftMILlES HOUSE, before y o u read the S p e c t r u m
d u c i n g 2 X C there have been c o n v e r s i o n I m a d e and have
i rained,, show,
m a n y changes, the S p e c t r u m p r i n t e d a r o u n d here s o m e
established its d o m i n a n c e and (not for p u b l i c p e r u s a l ) where, take your Spectrum
the QL e m e r g e d — a l t h o u g h o n 1 CI D I M L* (31 ,32) m a n u a l in your right hand and
ly lately has it b e g u n t o sell in repeat these w o r d s :
20 EOR »'= 1 TO 30! READ L*<K>:
large q u a n t i t i e s , and n o w the 'I promise not to tell another
1 28K Spectrum. NEXT K soul about this p r o g r a m ' . N o w
T h r o u g h alt this w e h a v e 30 TOP K*0 TO 14 cross your heart and hope to die.
m a i n t a i n e d our policy of pro LET X=INT (RND*30)+1
viding s o m e t h i n g for e v e r y o n e
and in return our readers have 50 - THEN GO TO 40 Meanwhile...
been s o m e of the m o s t loyal 60 L.ET (31 ,X)="X"
around. But t i m e s c h a n g e , a n d W e decided to feature the
70 PRINT AT K , 0 | L * ( X ) serious side of c o m p u t i n g in this
in c o m p u t e r circles faster t h a n
73 IT RND1.7 THEN P R I N T "and" issue, s o m e of the applications
any other, and w e m u s t keep up
w h i c h help us in our daily strug
w i t h t h e m . So Z X C has 80 NEXT |< gle t o m a k e life easier in w o r k or
undergone m u c h discussion and
70 INPUT "PRESS ENTER POR THE play.
there are m a n y n e w and e x c i t i n g
NTXT PAGE"?A* Programs, r e v i e w s and ar
d e v e l o p m e n t s in store.
t i d e s a b o u n d on this theme, but
For a start, and m a n y of y o u 100 RUN never fear, w e h a v e n ' t forsaken
have indicated t h a i y o u w o u l d
90O0 DATA "Boy meets g i r l " , " G i r l all else. Games, programs and
be in f a v o u r of such a m o v e , w e
meets dog" , "Land lord w i t h -funny r e v i e w s , get their share of the
will b e c o m e a m o n t h l y publica
space, regular features, articles
tion. T w i c e the a m o u n t of info, v o i c e e n t e r s " , " S t r a n g e g i r l w i t h and h a r d w a r e , n e w s a n d gossip
games, p r o g r a m s , r e v i e w s and all h a v e their place and can be
spots appears' Man f a l l s down s
articles a year as in the past. f o u n d w i t h i n these pages.
A s for m y s e l f , 1 am pleased t o f a i r s " , " B o y s t i c k s g l u e on seat"
h a n d over t o B r y a n Ralph w h o ,"G i r1 loses s k i r t " , "Man w i t h no
has d o n e e x c e l l e n t w o r k o n
other A r g u s p u b l i c a t i o n s and t r o u s e r s c a l l s " , " D o g pukes on ma The Great
w h o m I k n o w will bring a n e w ns s h o e s " , " B o y takes g i r l home", Debate. . .
freshness and drive to Z X C , But " G i r l takes boy home"
before y o u get out the hankies Dear Sirs,
(or cheer w i l d l y as the case m a y 9010 DATA " G i r l takes o f f s k i r t " Your Mrs. Brooksbank w h o
be) I will still be around and , "Man k i c k s dog", "Boy e a t s laxat w r i t e s in d e f e n c e of hex seems
w r i t i n g for the m a g look for ive c h o c o l a t e " , " J o k e about knick t o m i s u n d e r s t a n d . 1 am n o t
t h o s e tell tale t o n g u e in cheek r o u n d l y c o n d e m n i n g hex-
remarks, cynical c o m m e n t s and e r s " , * G i r l s l a p s b o y " , " M a n s l a p s adecimal, I |ust meant that the
verbal flatulence. hoy", "Bo/ b i t e s dog", "Dog runs a v e r a g e p e r s o n w h o under
O n w a r d s and u p w a r d s 1 stands and p r o g r a m s in Z 8 0
a w a y " , " J o k e about p i c k i n g nose"
machine c o d e (not to be c o n f u s
A leaving present 7020 DATA "Mart s c r a t c h e s bum", "G ed w i t h assembler) can read a
i J swears at dog", "Boy p r e t e n d s decimal listing almost as easily
I t ' s not o f t e n w e use a p r o g r a m as he reads this printed page. If
to be a g i r l " , " G i r l p r e t e n d s to
in this s e c t i o n , but I w a s talking there are addresses to figure,
t o a T V producer the other day be a boy 1 Man p r e t e n d s to be a that's what thecomputerisfor. I
and I m e n t i o n e d m y involve- man " , ' J o k e about k n i c k e r s " , " G i r l find p r o g r a m m i n g in machine
ment w i t h computers: code far f r o m being difficult or
makes s i l l y f a c e " , " M a n s t i c k s ou
' O h y e s , ' he said. All our pro forbidding. Once you unders
grams are c o m p u t e r i s e d n o w . ' t t o n g u e " , " B o y w r i t e s d i a r y " , " D o t a n d c o m p u t e r l o g i c it a l l
' W h a t meanest t h o u ? ' asked g i n h e r i t s f o r t u n e " b e c o m e s q u i t e elementary. I
yours t r u l y . have no p r o b l e m dealing w i t h
9999 REM o f t e n t h i s wont make binary in those programs that rc
J u s t w h a t I said, all our pro
grams are c o m p u t e r i s e d . ' sense, but use i t anyway, noone quire bit manipulation, such as
'But h o w ? ' I queried. ' D o y o u has ever n o t i c e d b e f o r e . graphic p r o g r a m s and those that
mean, scheduling, script c o p y - translate characters held in a

6 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
WELCOME

horizontal eight bit file to a ver learn to handle it. I o v e r c a m e its reasonable for the w o r k done the printer. T h e letter h o w e v e r
tical s e v e n bit o u t p u t f o r a one deficiency I no screen d u m p } and e a c h of the several replaced appeared t o be i n c o m p l e t e .
printer But. w h e n I need t o find by plugging the K e m p s t o n inter chips had been r e m o v e d f r o m It is possible t o c o p y a full 2 4
out h o w a m a c h i n e c o d e routine f a c e i n t o t h e b a c k of t h e the p r i n t e d circuit b o a r d in- line S p e c t r u m s c r e e n t o the Z X
works, m a y b e in order t o m o d i f y w a f a d r i v e . It w o r k s beautifully credibly neatly w i t h a solder printer w i t h o u t r e s o r t i n g to
it, having to translate each b y t e p r o v i d e d that the printer is not sucker, and replaved w i t h a chip m a c h i n e c o d e — just one R O M
from hex to d e c i m a l (I think in s w i t c h e d o n and off w h i l e a pro- in the proper chip holder, so that routine will d o the trick. The
decimal, I p r o g r a m in decimal, g r a m is running. I also occa d e f e c t i v e chips can be im routine b e l o w will COPY the first
and w h e n I use a Sinclair c o m - sionally c o n n e c t m y d a u g h t e r ' s mediately replaced if a n y t h i n g 2 2 lines n o r m a l l y , t h e n scroll
puter I enter m y c o d e in d e c i m a l l Silver Reed EB 5 0 t y p e w r i t e r t o goes w r o n g again, I could not those 2 2 lines o f f the t o p of the
i find it impossible t o f o l l o w the the W a f adrive's Centronics port hope to approach his standard of screen, leaving only lines 2 3 and
program past the first five b y t e s . It's quite f a s c i n a t i n g t o w a t c h it w o r k , and will probably take m y 2 4 , n o w m o v e d up t o the t o p of
I have f o u n d hex t o have its d r a w i n g merrily a w a y , and spare S p e c t r u m to t h e m for pro- the screen. T h e n e x t COPY
uses, such as in music p r o g r a m s c h a n g i n g colour, f r o m a Basic fessional repair w i t h the c h i p the c o m m a n d t h e n s t a r t s to c o p y
where y o u need t w o full o c t a v e s program. senl me! t h e w h o l e screen, at w h i c h
of one byte notes, and other Using the K e m p s t o n Inter- Incidentally, the repair took stage y o u c a n use BREAK, after
places w h e r e nine is not e n o u g h . f a c e in this w a y m e a n s that y o u only three days, a m a t t e r of the t w o lines at the top have
However, in all h o n e s t y , I can- c a n ' t use S o f t e k ' s Spectral great relief to me, since I had been copied.
noi see w h e r e it does m u c h t o Writer I c o n t a c t e d t h e m t o see if a b o u t half-a-dozen unfinished A s well as a listing, I have in-
s i m p l i f y S i n c l a i r l i s t i n g s , or it could be m o d i f i e d , but they articles of one sort or another c l u d e d t w o screen copies t o il-
enhance their readability. w e r e not interested almost to locked u p in T a s w o r d files. lustrate that the routine does
Besides, hex loaders use m u c h the point of rudeness. By con- \ can r e c o m m e n d this firm work.
more m e m o r y t h a n a simple trast I c o n t a c t e d M a r t i n Idle of unreservedly for their e f f i c i e n c y
decimal loader. I have a l w a y s T a s m a n w h o c o u l d n ' t have in finding the fault (yes, it w a s , 10 L O A D " " SCREEN$
tended t o w a r d 'lean, m e a n been m o r e helpful. He p r o m i s e d a m o n g other things, the ULA 20 COPY
code'. N o w of course, here w e to send me instructions to again!), their w o r k m a n s h i p and 30 POKE 2 3 6 9 2 , 2 3
are talking hacking. The t i m e m o d i f y T a s w o r d 2. These duly their service. 40 FOR n = 1 TO 2 2
and care i n v e s t e d in a h a c k e r ' s arrived t w o w e e k s later, took Y o u r s sincerely, 50 R A N D O M I Z E USR 3 5 8 2
routine w o u l d never be tolerated about 2 0 m i n u t e s to i m p l e m e n t , D.A John Wase 60 NEXT n
in a b u s i n e s s e n v i r o n m e n t and the p r o g r a m ' s been w o r k i n g 70 COPY
employing so called professional p e r f e c t l y ever since. I certainly
programmers, t h o u g h in m y ex- k n o w w h i c h S o f t w a r e house to Full screens Yours f a i t h f u l l y ,
perience I have f o u n d if y o u take s u p p o r t in the future! R. Thornber
away the assembler and book of J.F. T y d e m a n Dear Sir. Lancashire
algorithms f r o m these 'profes- Baldock I n o t e d w i t h interest the letter in
sionals' the m a j o r i t y w o u l d not Herts your A u g u s t / S e p t e m b e r edition Er yes, funny you should
even be able t o w r i t e their o w n explaining h o w t o c o p y a full 2 4 mention that, the original author
names. line screen f r o m the S p e c t r u m to also spotted it. . .
Sorry about T
•' i't £ '.: i
Well, 1 have r a m b l e d o n long
r w
t t - T T
enough, but I a m still looking for that . . « W
-j n w i V v k. «. 11 a
a good reason for hex in Sinclair

I U r1
listings. " •"}.
1 f. H w
Dear Ray. Vw V
Sincerely y o u r s ,
It is ironic that the c o n t e n t s page P. - A m
Ulysses B. A d a m s u n
of the O c t o b e r / N o v e m b e r issue
Philadelphia, U S A
of ZX C o m p u t i n g , y o u should
•J V * it fir J J
4 w y
I w
«
i A r f. r,
have credited me w i t h the
a u t h o r s h i p of J o h n U r e ' s i t e m o n <J i w n ft - j. i u u 4m
w

K e m p s t o n E peripheral problems, for I had p* I f tt

Dear Mr. Elder,


tried to ' p h o n e h i m as s o o n as I
read his earlier article. H o w e v e r ,
Dti r i11
k*i
"n
< *W3 d
V t.
»' t r
(if
I)
Following the p u b l i c a t i o n of m y each of the three U r e ' s in the Bir-
u U
letter in the current issue of ZX m i n g h a m d i r e c t o r y denied all
f « T t '
Computing, I t h o u g h t that your k n o w l e d g e of h i m ! It is ironic, for
readers m i g h t be interested in I w a s going to pass o n similar in-
the sequel t o m y problems w i t h f o r m a t i o n to that in the current
the K e m p s t o n E printer inter issue. I t o o had had similar pro- f p o i ^ e x p l o H e t t o e 1 •yp'VJiiif^'o
face. blems to t h o s e he described;
Shortly after w r i t i n g the let- after a while, T a s w o r d crashed, L O R D S OF M I D N I G H T ^
— - - - ,_r. •• - -T-
ter, I f o u n d that the interface usually w i t h about an h o u r ' s
was not c o m p a t i b l e with w o r k w a s t e d . The crashed
microdrive. Mr. A r c h e r o f Kemp- rapidly became of increasing oc
ston w a s e x t r e m e l y helpful and curence. and w e r e e x a c e r b a t e d
agreed to change the i n t e r f a c e w h e n a Discovery Disc unit w a s
free of c h a r g e . He a l s o a t t a c h e d , in spite of its beefed
customised the Eprom c o d e to up p o w e r supply. A local shop
enable the s c r e e n dump sent it for repair; three w e e k s
f a c i l i t i e s to m a t c h m y Star later it w a s returned. N o repair
DPS 15 p r i n t e r . W h a t a dif- has been done; they said it w a s
ference! II can e v e n c u s t o m i s e ' w o r k i n g to s p e c i f i c a t i o n ' . 1 then
the characters as the heading o n d i s c u s s e d the p r o b l e m w i t h
this letter indicates). M a n c o m p , a f i r m w h i c h fre
Whilst t ' m in the m o o d for q u e n t l y advertises, and subse
singing praises, I w o u l d like t o quently s e n t it t h e r e . I
mention that I purchased a s i m u l t a n e o u s l y asked f o r a spare
Rotronics W a f a d r i v e at the Z 8 0 chip for a spare S p e c t r u m . I
beginning of the year, w h i c h is a w i s h I h a d n ' t b o t h e r e d t o ask for
lovely little m a c h i n e o n c e y o u this. The t o t a l bill w a s extremely

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 7
up? W h e n this happens n o t h i n g C h r i s t m a s and a Happy New
Sorry! so ( c o u l d not w r i t e this correc-
tion letter before.
c a n be done except start f r o m Year.
s c r a t c h . T h e n it is n o t t h e Sincerely,
N o w , I ' m re-writing the Tasword p r o g r a m but t h e Fuller Laurence C r e i g h t o n
Dear Ed, routine, probably w i t h a slight keyboard. S. A f r i c a
Y o u have missed it! d i f f e r e n c e t o the one I sent This w a s m y p r o b l e m and I
Yes, y o u have printed m y let- before. reverted back t o a DK Tronics
ter on " 2 4 line screen c o p y I hope t h a t this letter is n o t late k e y a b o a r d I have (minus space Deletions
routine', h o w e v e r , you have or t h a t y o u have realised t h e bar f r o m t h e archives) and no
f o r g o t t e n to print the routine mistake. m o r e freezes h a v e been ex Dear editor.
itself. English magazines d o n ' t Yours sincerely, perienced by m e since. N o r m a n Green's article in ZXC
c o m e to Turkey very regularly. Turgut Aydin H a v i n g read t h e article m a d e 2 / 7 about deleting p r o g r a m m e s
m e r e a l i s e t h a t it w a s t h e w a s a useful one, also to us
10 DATA 2 4 3 , 6 , 1 9 2 , 3 3 , 0 0 . 6 4 , 2 0 5 , 1 7 8 , 1 4 , 2 0 1 k e y b o a r d and I will be w r i t i n g t o Z X 8 1 o w n e r s . W e c a n use the
2 0 CLEAR 2 9 9 9 9 : RESTORE FOR n - 3 0 0 0 0 TO 3 0 0 0 9 : Nordic Keyboards who, I s a m e m a c h i n e c o d e pro-
READ a: POKE n,a: NEXT n believe, are the distributors of g r a m m e , only that w e call s o m e
3 0 PRINT " S t a r t tape to load a screen p i c t u r e . " the Fuller keyboards t o see if other addresses in the ROM:
4 0 L O A D " " SCREEN$ they can help us out. I a m really 'Call 6 5 1 0 ' should be replaced
5 0 R A N D O M I Z E USR 3 0 0 0 0 : GO TO 5 0 m i s s i n g m y Fuller k e y b o a r d and by 'Call 2 5 2 0 ' . and 'Call 6 6 2 9 '
t o m y m i n d it is t h e b e s t by 'Call 2 6 5 3 ' . These are the
k e y b o a r d available for the Spec- r o u t i n e s t h a t Ian L o a n calls
t r u m w i t h its single key entries LINE A D D R " ( 0 9 D 8 hex) and
Spectrum t r u m m a c h i n e code p r o g r a m .
The simplest w a y is t o alter the for fullstop, c o m m a , cursors and RECLAIMING <OA5D hex).
Disassembler 'RST 0 0 0 8 ' of line 2 2 1 0 t o delete, extra shift keys for the Even s o m e sort of m e r g i n g is
'RST 0 0 8 , # ' . m o d e k e y s certainly is a pleasure possible on our Z X 8 1 : If y o u use
The s e c o n d is t o w o r k out t o use. That is, if it w o r k s . a m e m o b l o c k that a l l o w s for
Dear ZX C o m p u t i n g , and print the absolute address Yours sincerely, data to be stored in the 8 1 6K
S.H. M a n ' s useful program for relative j u m p s , for n o one Fred Bruggink area, t h e n y o u can store your
( O c t / N o v 1 9 8 5 pp 9 6 9 9 ) w a n t s t o have to bother w i t h S. A f r i c a f a v o u r i t e p r o g r a m m e s there
needs t w o i m p r o v e m e n t s . before y o u load the p r o g r a m m e
Hex a r i t h m e t i c t o find out w h e r e
y o u are going t o w o r k w i t h . You
The first is to allow for the relative j u m p s g o to. This can be
will need t o think o u t a m e t h o d
Definition Byte that always d o n e by adding the f o l l o w i n g
to f e t c h e x a c t l y the p r o g r a m m e
f o l l o w s RST 0 0 0 8 in a Spec- lines:
Cribbage y o u w a n t f r o m the store, and
t h e n y o u will be able t o enter it
into the p r o g r a m m e file by using
145 IF C$ " 3 9 " THEN IF C $ ( 2 ) = " 0 " OR C $ ( 2 ) = " 8 "
Dear Sir, s o m e c o m b i n a t i o n of t h e
THEN IF C$ " O F " T H E N GO T O 4 0 0 0
Your t w o part p r o g r a m m e 'IQ L I N E - A D D R subroutine and
3950 D A T A " D J N Z " , " J R " , ' JR N Z , " , " J R Z , " , " J R
T e s t ' w a s superb and w o r k s like another one, w h i c h Ian Logan
NC " " J R C " calls M A K E - R O O M (2462
4000 RESTORE 3 9 5 0 a g e m : m y c o m p l i m e n t s t o Greg
Turnbull. dec = 0 9 9 E hex). This m e t h o d
4010 FOR J - O T O INT ( B Y T E / 8 ) - 2 also enables y o u t o squeeze
4020 READ l $ : NEXT J : GO SUB 9 8 0 I h a v e t w o criticisms and cor-
rections w h i c h I'd like t o share more data into your R A M , since
4030 LET Q - A : LET Q $ = A $ the p r o g r a m m e file only needs t o
4040 LET A A + BYTE ( 2 5 6 A N D BYTE 1 2 7 ) w i t h other readers w h o m a y
have t y p e d it in: c o n t a i n one or t w o p r o g r a m m e s
4050 GO SUB 9 5 0 : LET 1$ 1$ I A $ at a t i m e . It m a k e s less t h a n a
4060 LET A Q: LET A $ Q $ : GO TO 3 5 0 s e c o n d to have a p r o g r a m m e
1) Once s o m e o n e is busy doing
the test, i t ' s terribly simple to ' m e r g e d ' in that w a y .
W.E. Thomson
Aldeburgh, Suffolk forget w h i c h question number F i n a l y , h e r e is a s i m p l e
y o u had just a t t e m p t e d , t h u s decimal loader that makes it
q u i t e easy t o skip o n e or t w o . By easy to deal w i t h numbers big
adding one simple line the cur- ger t h a n 2 5 5 . First y o u enter the
McGraw-Hill Crash? rent q u e s t i o n being a t t e m p t e d is address w h e r e the m c is to Start,
displayed on line. and t h e n the d e c i m a l codes. You
Dear Z X C o m p u t i n g . Dear Editor, will have to use STOP to get out
Thank y o u for publishing m y First to express my sincere ap- of the p r o g r a m again.
plea, w i t h Randle H u r l e y ' s p r e c i a t i o n of y o u r e x c e l l e n t 1 4 5 PRINT A T 0 , 2 8 ; " " ; AT
' S p e c t e x t ' w o r d p r o c e s s o r pro publication. Especially in these 0,28;"Q.";B 800 INPUT K
gram from 'The Spectrum hard times of h o m e c o m p u t i n g , 805 PRINT K ; " " ;
Workshop Word-processing w i t h so m a n y m a n u f a c t u r e r s go- 810 INPUT N
2) T h e o t h e r s n a g is that the real-
a n d B e y o n d ' , p u b l i s h e d by ing t h r o u g h financial difficulties I 815 If N 2 5 5 THEN GOTO
time clock will only s t o p the
McGraw-Hill. cannot help but notice the 850
g a m e if M I N - 3 0 . T h a i is to say,
In fairness t o M c G r a w - H i l l , I d r a s t i c r e d u c t i o n of a d v e r - 820 POKE K,N
if s o m e o n e h a s t a k e n 3 1
m u s t relate w h a t has happened t i s e m e n t s in ZX C o m p u t i n g and 825 PRINT N
m i n u t e s it just keeps o n going 1
since I last w r o t e t o y o u . In other UK publications. Y o u m u s t 830 LET K = K + 1
The w a y out of this is t o a m e n d
response to a s e c o n d letter, c e r t a i n l y be c o m m e n d e d f o r 835 GOTO 8 0 5
line 1 0 5 5 .
M c G r a w - H i l l sent m e a free tape keeping u p w i t h an excellent 850 POKE K.N-INT
of the p r o g r a m . This t o o , w a s magazine w i t h o u t decreasing (N/256) * 256
f a u l t y , but t h e y replaced it and I t h e a m o u n t of editorial, I 1 0 5 5 IF M I N - 30 THEN 855 PRINT N-INT
have been using it w i t h o u t dif- sincerely hope that y o u will be (N/256) * 2 5 6
GOTO 1 9 5 0 .
ficult for t w o m o n t h s . able t o c o n t i n u e to do so. 860 LET K K+1
It m a y have taken several Referring t o the a m u s i n g arti- 865 PRINT K ; " " ;
m o n t h s t o get it right, but full cle ' W h a t Does It Do?' by J o h n ZX C o m p u t i n g is still the best 870 LET N - INT ( N / 2 5 6 )
m a r k s t o M c G r a w - H i l l for their Ure, in the A u g / S e p t issue, I may magazine of its kind one can buy 875 GOTO 8 2 0
generous after-sales service! be able t o t h r o w s o m e light o n — keep up the w o n d e r f u l w o r k .
Yours sincerely, his p r o b l e m . A n d by the t i m e this letter is Yours,
Julian B l a c k m o r e Is his problem a 'freeze up' printed it will be t i m e t o w i s h Ed, J o h a n n e s Lind
Norfolk w h e n using Tasword o n his set staff and readers a Happy Denmark.

8 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
POWER
C A S S E T T E / D A T A R E C O R D E R 500
Fot your Home c o m p u t e t , -.viil atlosv easy loading of e v e n
I he most s t u b b o r n p r o g r a m Features include save
indicator. mams/battery. a c c e p t s s t a n d a r d c o m p u t e r
leads a n d 5 p m D I N c o n n e c t o r A l s o provides
exceptional a u d i o Quanty
or f i i w listening
(Batiwiesnot included) £24.95

CHEETAH" SWEET TALKER


Based on an allophone system, program any
word or phrase, providing unlimited speech
Now make your Spectium laiK
Compatible wiili Interlace I QJ-
MEGASOUND
& II and Spectrum jLt't.lyD
f-or '18K Spectrum and / X Spectrum
Achieve amazing sound capabilities (bat
your Speclrum nas been lacking just plugs
into ihe user pan at the rear ot your computer
and amplifies sound d p i Q£>
through your T V Z_ I U . y O

56 W A Y EXTENSION
SPECTRUM JOYSTICK INTERFACE
CONNECTOR
Simply plugs into the user port at the rear ot
Cheetah s 6 long extension cable
the computer ana accepts any Atari style joystick
enables Spectrum peripherals
including Chet;;:thi25.0uicks!iot and Kempston
to be distanced r%-7 q c
Comes without rear C* Q 7
from ycKJi computer ! . 3 3
edge connectof at 2_ " . # D
125 J O Y S T I C K
C o m p a t i b l e w i t h ZX S p e c t r u m .
or with conncctor which allows other
Four extremely sensitive tire b u t t o n s
peripherals to be slacked C"1 9 7 ^
A built m a u t o - t " e up al jL I fc. / O
switch provides c o n t i n u o u s
shooting at i h e AERIAL SPLITTER
t o u c h ot a fire b u r t o n . Cheetah s neat splitter unit
complete with sell adhesive pad
allows you to keep your T V and
computer aenai leads plugged m
without disturbing
the picture

R.A.T.
The Cheetah
Remote Action
Transmitter >s the most
sophisticated computer
controller available!
HI-STAK FEET Intra red transmission
so there are no leads
These instantly applied sick on leet
trailing across the
lor your ZX St. Spectrum. New Brain.
living room Touch
VIC TRS etc tilt the computei
control, extremely fast,
and make youi keys easier to see
£ and more eiijoyatue to use.
can be used with
Cheetah RAT
SPECDRUM allowing smoother p Q q q Kempston compatible
programming L t . J J j software Complete
8 digitally recorded real drum sounds
Extra sounds can be loaded (rom tape, with
creative, educational and lun. The most receiver/ p - | Q q c
exciting peripheral COQ QC interface * -
ever developed' £jti7.yO All C h e e t a h p e r i p h e r a l s are m a n u f a c t u r e d
to the highest possible quality standards
Lit'niKit& KilEdit • C3.99 a n d c a r r y a f u l l 12 m o n t h w a r r a n t y

Prices include VAT, postage & packing


Delivery normally 14 days
Export orders at no extra c o s i
Dealer enquiries w e l c o m e

Cheetah, p r o d u c t s available trom branches ot


CHEETAH MARKETING LTD
' / a n a ^ s YVIISMITH$

Marketing
1 WILLOWBHOOK SCIENCE PARK.
MXXWORTH S p e c t r u m d e a l e r s CRtCKHOWELL ROAD. ST MELLONS CARCMFF
and all good computer stores TEL CARDIFF(0222)777337 TELEX 497455
SHOPTALK

Odds and endsr letters, and company info


BYTTEN by the BUG Chat
News and comments from the
Bug Byte w a s a w e l l k n o w n and
software scene.
respected s o f t w a r e house w h o
w e r e taken into the A r g u s fold.
• M a r t e c h have released a
T h e i r r e - e m e r g e n c e w i l l be
c o m p u t e r p r o g r a m based o n the
w e l c o m e d by m a n y .
highly successful Channel Four
Their first n e w o f f e r i n g s are
T . V . Series, THE LIVING B O D Y .
three arcade games, BOMBER
'The Living Body" will cost
BOB, Z O O T and D O G S B O D Y
£ 1 4 . 9 5 f r o n high street stores
and a four part massive adven-
and c o m p u t e r shops.
ture g a m e called the LUDOIDS.
All these are priced at £ 2 . 9 5
• Fancy a bit of a ' w r e c k -
and, w h i l s t not s t a t e of t h e art
creation'? that's what
p r o g r a m s , represent g o o d value
A r i o l a s o f t UK Ltd is promising
for m o n e y . Zoot in particular is a
with PANZADROME.
p l a t f o r m game w i t h a dif-
The c o n c e p t is deceptively
ference, y o u d o n ' t j u m p , but
simple: the Panzadrome is an
move, complete with platform
Island inhabited solely by robot
s e c t i o n , d o w n , left or right.
tanks w i t h v a r y i n g levels of in-
Depending o n w h i c h screen y o u
telligence and viciousness. Your
A New insight? are on, your task is t o p u n c h ,
aim is to destroy it c o m p l e t e l y .
trap, collect, clear or d o d g e . On
Insight are a n e w c o m p a n y t o us H o w e v e r , the games can on- In P a n z a d r o m e o v e r 2 0 0
more a d v a n c e d levels combina-
and they h a v e sent three of their ly really be described as average e n e m y tanks, mines and mor
tions of these a c t i o n s are re-
p r o g r a m s a l o n g for r e v i e w . t o play, Buccaneer and Firebirds tars o f f e r literally hundreds of
quired. It is a g a m e w h i c h re-
V E C T R O N , B U C C A N E R and d u e t o the limited a c t i o n — w a y s t o get yourself killed. A n d
quires t h o u g h t and reflexes and
STAR FIREBIRDS are the titles dodge and fire, and V e c t r o n due all a g a i n s t a s p e c i a l , t o t a l l y
is w e l l p r e s e n t e d w i t h g o o d
and all are arcade g a m e s priced t o the d i f f i c u l t y of play. It is so wreckable 'Panzadrome'
animation.
at £ 7 . 9 5 fast it is almost impossible. This b a c k g r o u n d ( w h i c h y o u C3n
Bomber Bob has y o u defus repair w i t h ' P o l y c r e t e ' ) . Pan-
Star Firebirds is an arcade m a k e s the asking price far t o o ing b o m b s in the W h i t e House by
high, a r o u n d £ 5 . 0 0 w o u l d still zadrome c o s t s £ 7 . 9 5 .
clone w h e r e y o u d o d g e L/R, fir- b o u n c i n g around the maze like
ing at s w a r m s of s w i r l i n g alien be expensive and probably a screens. Nasties get in your w a y
birds, w h i c h d e s t r o y o n c o n t a c t lower budget price w o u l d be • B A L L B L A Z E R is a r e c e n t
a n d cause y o u r d e m i s e and release f r o m A c t i v i s i o n . T h e
and also d r o p b o m b s . Mega- m o s t appropriate. again f a s t a c t i o n a n d g o o d
b o m b s s o m e t i m e s appear to add year is 3 0 9 7 , and y o u are a con-
graphics are used. Ludoids is a t e s t e n t in the final round of the
t o your problems. There are m i n d bender of an a d v e n t u r e
m a n y levels and features and I n t e r s t e l l a r Ballblazer C h a m
g a m e w h i c h y o u need to c o m - pionship. For the first t i m e a Ter-
play g e t s fast and furious. plete in sequence before m o v i n g ran has b a t t l e d t h r o u g h the
Buccaneer is not a pirate o n to the n e x t stage, use of an c o u n t l e s s q u a l i f y i n g rounds t o
g a m e but a s i d e w a y s scrolling elusive p a s s w o r d ensures this. c o m p e t e for the honour of his
aeroplane g a m e w h i c h intro- W e l c o m e back Bug Byte. planet and the u l t i m a t e title any
duces aliens t o an earthly land-
being can possess:
scape. A g a i n c o n t r o l is simple,
Masterblazer.
u p / d o w n and fire. S o m e g o o d
t o u c h e s s u c h as d o c k i n g t o T w o players can play
replenish fuel and shields, and s i m u l t a n e o u s l y or o n e player
the a c t i o n is fast and furious. c a n take o n one of nine practice
V e c t r o n is a m o s t impressive Droid players, each w i t h differ
3 D perspective maze g a m e w i t h ing levels of skill. Available for
similarities to t h e f i l m T r o n . £7.99.
There is an o p t i o n t o overlay the
m a p w h i c h gives i n f o r m a t i o n o n
t r u m . In t w o p a r t s p l u s a
enemy positions and power
^ ^ J r J u ^ J f n o v e l e t t e version of the story, it
sources but w h i l e this is s h o w -
ing y o u c a n n o t fire your insHhi is a text a d v e n t u r e w i t h graphics
a n d f e a t u r e s the c o m p u l s i v e
weapons.
h u m o u r and w i c k e d problems
w h i c h w e r e evident in their first
Back TO School t o their f a n t a s y w o r l d . One day game.
I'll persuade m y boss t o finance Actually, mentioning Snow
ST BRIDES School s o f t w a r e had a trip so I can see for m y s e l f . Q u e e n w a s just an excuse to
me b e m u s e d at first and I a m still M e a n w h i l e , their s e c o n d pro- P^SCiUH AS print a part of their press release
not sure h o w to take their press g r a m , THE S N O W QUEEN, has s h o w i n g t h e a u t h o r . Priscilia
releases. They are so c o n v i n c i n g impressed us in the brief time w e Langridge in s o m e of her m a n y
that I a m s t a r t i n g t o be d r a w n in (OF u i H o n -/o(.< U1ICL guises.
w e r e able to run it on our Spec-
Be ^ c h j

10 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
Once the message is com- and become the grandmaster in
plete the bell rings, and Mikie the traditional martial arts skills.
can m o v e on to the next section. The player takes on the role of
Single hearts can be found on Oolong, w h o is set on becoming
the floor or under stools — any a grandmaster in order to honour

&
class-mates can be m o v e d over the memory of his father. To
^ w i t h a 'Hop Zap'
accessed via simultaneous use
a pelvic flip achieve success Oolong must
master the techniques of the six
^ ^ of the direction and fire controls. teen different kick and punches
— controlled by the player via
Assailants can be temporarily
*j> ^ s t u n n e d by assaulting t h e m the joystick or the keyboard.
w i t h a chicken (!) or basket ball. Eight honourable opponents
But b e w a r e of t h e d a n c i n g equipped with fearsome
c h e e r l e a d e r s . One k i s s c a n w e a p o n s a w a i t O o l o n g , in
render Mikie temporarily inac- eluding 'Star' a female warrior
tive! Even t h o u g h this may ap- w h o can kill w i t h a judiciously
canteen chef are out to t h w a r t pear a dated plot the game is great placed 'Shuriken' 'Blues' is the
Imagine Twosome his efforts. fun t o play. resident Kung Fu master, if the
player can KO him, then the
The player must manipulate Yie ar Kung Fu's scenario is
Imagine s o f t w a r e , in conjunc Mikie t h r o u g h the school's set in Japan, and the action Grand Master title is his.
tion w i t h Konami, have released classrooms, locker rooms, can takes place against t w o col- Yie Ar Kung Fu can be played
Mikie and Yie Ar Kung Fu. teen, g y m n a s i u m , and eventual- ourful backdrops The moun- via the joystick or re-definable
Set in an A m e r i c a n high ly the school yard. You have to tain scene and the temple. keyboard controls. Each costs
school, the player takes on the collect hearts in these sections, The objective of the game is £7.95.
role of Mikie, the school romeo. and each heart represents a let- to develop Kung Fu profiency.
Mikie is trying t o send a message ter in Mikie's message w h i c h
t o his g i r l f r i e n d , b u t t h e will be depicted at the t o p of the
teachers, maniac janitor and micro screen.

• DESERT RATS simulates the terror t o achieve his ends. Only


N o r t h A f r i c a c a m p a i g n in Superman (and you) can stop
1 9 4 1 - 4 2 , from the arrival of him.
Rommel in Tripoli t o the Battle of So gather your w i t s , put your
El Alamein. The bitter campaign p o w e r s of concentration arid
includes Operations Battleaxe courage t o the test t o help
and Crusader and the Battle of Superman foil Darksied's
Gazala. dastardly deeds. Available f r o m
It is a f a s t , i n t e r a c t i v e US GOLD at £ 7 . 9 5 .
wargame w i t h a scrolling map
and six compelling scenarios, for • THE W O R M IN PARADISE is
1 or 2 players. The game is n o w in the shops. 2 0 0 + pic-
packaged in an A 5 video case, tures are included and it's the
comes w i t h a detailed instruc first game to use LEVEL 9 ' s n e w
tion booklet w h i c h includes adventure system.
historical background notes on
the campaign w i t h maps and
photographs, and is priced at • Bubble Bus have released a The W o l f ' s Head, The Eagle's for Damage. Each time a clone
£9.95 from CCS. new budget game, Head, The Snake, The Teapot. hits y o u your Damage reading
BRAINSTORM, at £ 1 . 9 9 . The Boot and The Light Bulb. goes up, this can be repaired at
• SUPERMAN c o n t i n u e s his Escape from Professor Each one must be destroyed the costs of some energy, or by
constant battle t o save t h e Brainstorm's Castle is your only in t u r n b y a n a p p r o p r i a t e finding a repair damage pod. If
world. Darkside the arch enemy hope of survival. The game is an weapon. There are 16 w e a p o n s damage reaches m a x i m u m y o u
of mankind, thirsts for universal arcade/adventure with 6 5 0 in all, but eight are red herrings. loose a life.
domination but he needs the different locations, 2 8 varieties Only three keys may be carried Energy can be replaced by
anti-life formula. This a w e s o m e of Clones, 6 2 doors t o find and at any one time and only one of finding energy pods, but if you
key is imprinted in the minds of open, using keys that are scat- the special weapons. At the bot- run out of energy your laser will
certain humans. Darksied is on tered around and 8 guardians of t o m of the screen there are t w o be disabled. Extra lives may also
earth now and plots a reign of the t o w e r The Fire, The Plant, guages, one for Energy the other be found.

Friday the 13th normal camper, in this n e w


game from Domark, w h o pro-
A quiet holiday c a m p at Crystal duced A View to a Kill and
Lake is disturbed w h e n one of Eureka.
the campers, Jason, is d r o w n - The price is £ 8 . 9 5 and there
ed. His mother, distraught w i t h are five Eureka colour monitors
grief, blames the other campers t o be w o n in a free sound e f f e c t s
w h o did nothing to help him. competition. The unique feature
She v o w s r e v e n g e and of these monitors is their ability
murders all the holiday makers t o expand the game play area to
except one girl w h o kills her. The fill the w h o l e screen!
survivor floats into the middle of Each g a m e tape has 10
the lake where Jason, rises from sound e f f e c t s recorded after the
the water, to take his revenge. computer program. By identify-
Your task is complicated by hav- ing these sounds the purchaser
ing to find a sanctuary, identify has a chance to w i n one of these
and kill Jason w h o appears as a colour monitors.

11
printer interface and A M X A r t , a
Astronomer's A Mouse in the d r a w i n g p r o g r a m and a g o o d
software House? selection of utilities t o enable it
t o be used in your o w n programs
The book b o o m seems t o be dy- On more e x p e n s i v e c o m p u t e r s w i t h the m i n i m u m of e f f o r t .
ing off and m o s t n e w publica- the use of a m o u s e for c o n t r o l , Available f r o m A M S at Green
tions s e e m to be for various graphics and utility p r o g r a m s Lane, A p p l e t o n , W a r r i n g t o n ,
specialist markets. This one is has been m a k i n g some i m p a c t . W A 4 5 N G for a very reasonable
no e x c e p t i o n . A d v a n c e d M e m o r y S y s t e m s £ 6 9 . 9 5 this c o u l d enhance your
W r i t t e n by Robert A Macken- have n o w produced their A M X pleasure and o p e r a t i o n of your
zie and published by Sigma, it is M o u s e for the S p e c t r u m . computer.
a c o l l e c t i o n of Spectrum Comets This neat little d e v i c e c o m e s
routines to p e r f o r m the various c o m p l e t e w i t h an interface
c a l c u l a t i o n s n e e d e d b y all In the series called ' C o m p u t e r w h i c h includes a C e n t r o n i c s
d e v o t e e s of this subject. C l u b ' , this is m u c h less w e i g h t y
The main p r o g r a m s are t o than Astronomer's Software
enable a s t r o n o m e r s t o m a k e and is more at m y level. A i m e d at A MX/ffiiH-j^
predictions about the positions a m u c h more general reader this
of t h e s u n , m o o n , p l a n e t s , is b e a u t i f u l l y p r e s e n t e d w i t h
satellites, stars and m e t e o r ' s f a s c i n a t i n g facts and informa-
and analyse observations, A tion, eye c a t c h i n g illustrations
w e a l t h of i n f o r m a t i o n is also and simple d e m o n s t r a t i o n pro
given. grams.
Very useful, and Mr. T h e book is published by
M a c k e n z i e ' s p e d i g r e e Ihe is M a c d o n a l d at £ 5 . 9 5 and a tape
f o u n d e r a n d d i r e c t o r of t h e of the p r o g r a m s can be o b t a i n e d
British M e t e o r S o c i e t y , and a for £ 3 . 9 5 if y o u do not f a n c y
fellow of the Royal e n t e r i n g t h e m yourself
A s t r o n o m i c a l a n d B r i t i s h In- This series is great in t h a t
t e r p l a n e t a r y S o c i e t i e s ) lends t h e y make a reasonably suc-
w e i g h t t o t h i s b o o k . It will cost c e s s f u l a t t e m p t to c o m b i n e
you £ 8 . 9 5 . c o m p u t i n g w i t h other t o p i c s and
hobbies. Invaluable in schools,
Microcomputer and w i t h an appeal w h i c h c o v e r s
ail ages, I r e c o m m e n d that y o u
Games Design try and look t h e m out at your
bookshop.
A foxy keyboard
Subtitles f o r e d u c a t i o n and It is a useful size, 1 6 x 7 x 3
e n t e r t a i n m e n t ' , this book is not t h e logistics of g a m e s design, he inches, w i t h a slope f r o m the
a book of listings, but a general also discusses languages, pro- W i t h the p r o d u c t i o n of the Spec- rear to the f r o n t . Fitting is very
reading book for e v e r y o n e in- g r a m m i n g , specific utilities and t r u m - sales of k e y b o a r d s have simple and the i n s t r u c t i o n s are
terested in p r o g r a m m i n g . p r o g r a m s s u c h as Quill, D e v p a c d r o p p e d , h o w e v e r Fox Elec idiot-proof, no need to feel w o r -
and m a n y more. t r o n i c s Ltd, of Fox House, 3 5 ried a b o u t t a m p e r i n g w i t h your
Michael Rigg w r o t e it and
M a r t h a m Rd, H e m s b u r y , Nr m a c h i n e if y o u are a c o m p l e t e
keeps the tone light, but Here is that rare thing, a non-
Great Y a r m o u t h , N o r f o l k , have newcomer.
discusses m a n y of the aspects specific book w h i c h could e v e n
b r o u g h t out a n e w m o d e l based The features it o f f e r s for the
of this p h e n o m e n a . Ideas are r e v i v e the j a d e d a t t i t u d e of
o n their popular k e y b o a r d . price asked makes it one of the
t h r o w n out virtually f r o m every yours truly and reinstall that
page and, t h o u g h y o u m a y not sense of e x c i t e m e n t t h a t I first M o s t serious S p e c t r u m users best b u y s around at the t i m e of
agree w i t h all his s t a t e m e n t s , at had w i t h the purchase of m y are still not satisfied w i t h the going t o press.
least there is plenty of f o o d for ZX81.. k e y b o a r d supplied and this o n e
thought. f r o m Fox is definitely w o r t h con-
A t £ 6 . 9 5 f r o m Sigma press I
sidering if y o u w a n t t o i m p r o v e
Not only does Mr. Rigg cover r e c o m m e n d it t o you.
your m a c h i n e . All Purpose
T h e 6 8 F X 2 Deluxe model is a Transfer unit
very smart looking keyboard
w h i c h at £ 4 9 . 9 5 is v e r y
reasonable. Featuring 6 8 g o o d
quality k e y s w h i c h have a solid Great n e w s for all f r u s t r a t e d
fuel and s a t i s f y i n g click t o t h e m , o w n e r s of storage media other
Fox have done their h o m e w o r k t h a n tape. A T and Y C o m p u t i n g
w e l l and all the peripherals w e L t d have p r o d u c e d a unit w h i c h
c o u l d find to try o u t operated w i l l p r o v i d e a Ram Image
p e r f e c t l y w i t h it. This includes Transfer Interface (R.I.T.I.) for
Interface I and Microdrives. most devices, Microdrive.
The w i d e variety of additional W a f a d r i v e , T e c h n o l o g y Resear
keys are w e l l planned and laid c h B e t a disk d r i v e a n d the
o u t and include Single Entry E O p u s Disk drive.
M o d e , Caps L o c k , G r a p h i c s , A n R.I.T.I, makes a c o m p l e t e
Run, Break. Delete, Edit, Dot. c o p y of the S p e c t r u m ' s R A M
C o m m a * I. and so, in t h e o r y , any program
A numeric k e y p a d is also w h i c h has loaded, regardless of
f e a t u r e d along w i t h the essen- the p r o t e c t i o n built in, should
tial full sized space bar. One transfer.
Get lost with Wally. Wilma and Herbert and make enough money lor c r i t i c i s m I have made in the past W e had a quick try of the
your dream holiday next year is the stick on key labels usually SPEC-MATE as they call it, and
Three Weeks In Paradise is the latest Wally venture following hard on used on cheaper k e y b o a r d s . The it p e r f o r m e d w e l t w i t h t h e
the heels of such sucesses as Pyjamarama, Everyone 's a Wally and Fox unit has properly engraved W a f a d r i v e , M i c r o d r i v e and TRL
Herbert's dummy run. key t o p s . u n i t s w h i c h w e have in the

12 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
HARDWARE NEWS

office. It is well designed and Available from 3 5 Villa Rd.


operation is simplicity itself, London. S W 9 7ND.
press a b u t t o n and select the op
tion for the device required and it
does the rest. There are also op • D E A T H W A K E is the latest
tions t o save in special formats. f r o m Quicksilva. Set in the final
Well w o r t h considering, stages of a terrible war, the
although it may be w o r t h bear- player, as admiral in chief, has
ing in mind that every time a bet- the a w e s o m e task of restoring
ter mouse trap is invented the the homelands' morale and
mice soon get smarter! preparing for the great victories
needed to regain lost territory.
Arcade action and more than
just a subtle hint of strategy
combine t o make D e a t h w a k e a
game to w a t c h out for.
D e a t h w a k e will cost £ 7 . 9 5 .

Socket top me!


A rather upmarket s y s t e m is the
one f r o m Comblock electrical
Ltd. w h o provide a six w a y . mini
plug mains board complete w i t h
plugs and a four into one wall
plug featuring the same plugs
and w h i c h are therefore inter-
changable.
The six w a y unit contains
PCB's w h i c h help to reduce the
w e i g h t by some 6 0 % , and the
size by some 3 0 % .
Philips monitor t o p of the range models both
Available in most electrical the market. are included as standard. Unlike
stores, all Conblock need to do computer prices. Monitor prices
n o w is to get their press agents Philips have introduced a n e w have remained pretty constant
to include the price on their press range of colour monitors for a and at £ 2 2 0 , £ 2 4 5 , £ 2 8 0 , and
releases. . . wide range of computers. QL £ 3 2 5 for their CM8500,
o w n e r s may be interested and CM 8 501, CM 8 5 2 4 and
so m a y f a n a t i c a l S p e c t r u m C M 8 5 3 3 respectively they are
owners, not overpriced Pictured is the
A choice of composite video C M 8 5 2 4 , a standard resolution
or RGB is offered, but o n t h e t w o model.

A plug for
duraplug four in a r o w socket.
Called the MultiLine plug,
If, like me, y o u end up wonder- y o u wire four units directly into
ing where to plug in ail your bits the plug, it even features a 'main
and bobs, computer, TV. Tape on' indicator light. It looks to be a
recorder, possibly a printer and very useful unit and at around
disk drive, then Duraplug have £ 5 . 0 0 it is nearly a quarter of the
c o m e up w i t h an alternative t o price of buying a four in a r o w
the bulky square adaptor or long and four 3 pin plugs.

a
J9
'Hardware'
*zx looks at some new add-ons for the
Spectrum.'
W e are used t o e x t r a v a g a n t Middlesbrough, Cleveland
claims here at Z X C , and w h e n TS1 3HX.
this small w e d g e shaped bit of Price: E 1 4 . 0 0
plastic w i t h an edge c o n n e c t o r
on the t h i n end arrived w e w e r e Big Beeps
not terribly excited. Even
Rodney Holland's g l o w i n g letter The S o u n d b o o s t unit f r o m SSL
'extraordinary . . . grand title is a small circuit board w i t h three
p r o d u c t . . . o v e r C I 8 , 0 0 0 and coloured leads ending in press-
eight m o n t h s t o d e v e l o p ' only o n clips a t t a c h e d t o it. The cir-
raised a k n o w i n g glance. cuitry modifies the S p e c t r u m
But as a serious p r o g r a m m e r s o u n d generation and o u t p u t s it
on the S p e c t r u m I w a s in for a t h r o u g h t h e T V speaker, t o u g h
treat, this is a little marvel! luck if y o u ' v e lashed out o n a
W h a t is Microsource? Well, it proper monitor 1
is really three units in one w h i c h Attaching the gizmo was
c o m b i n e t o p r o d u c e one of the very easy, but m a y cause con-
m o s t p o w e r f u l t o o l s for the cern as it means y o u invalidate
dedicated p r o g r a m m e r . T h e unit the guarantee by opening the
provides you with an S p e c t r u m ' s case. U n s c r e w case
ASSEMBLER, a FORTH inter- s c r e w s , separate case halves,
preter and a versatile DEBUG or p o s i t i o n unit and a t t a c h leads as
Monitor. per i n s t r u c t i o n s w h i c h in-
A c c o m p a n y i n g it is a 3 8 clude a g o o d d i a g r a m for those
page manual w h i c h provides all a m o n g us of a n e r v o u s disposi-
the instructions needed to tion and B o b ' s your uncle.
o p e r a t e t h e b e a s t a n d is Before r e c o n n e c t i n g the t w o
satisfactorily clear and concise. Unlike the assembler, the A n y of these features c o u l d halves of the case it is w o r t h
A s w i t h all similar p r o g r a m s no FORTH compiler only c o m p i l e s be o b t a i n e d as individual pro entering a BEEP c o m m a n d , turn
a t t e m p t to t e a c h m a c h i n e c o d e t h e code f o l l o w i n g the com- g r a m s , but apart f r o m the con- ing u p the T V v o l u m e and then
or FORTH p r o g r a m m i n g is m a d e m a n d , m o s t usefully f r o m w i t h i n straints of h a v i n g to load t h e m adjusting b o t h the T V t u n i n g and
and the user is either already a p r o g r a m , and s t o p s w h e n it and the m e m o r y t h e y w o u l d a little fine t u n i n g on the unit t o
proficient or will have to learn reaches the next Basic c o m - o c c u p y , h a v i n g all t h r e e get the best s o u n d y o u can.
f r o m another source. mand. together and available instantly Fitting is that simple, and it
The assembler produces The only d i s a d v a n t a g e w i t h m a k e s the M i c r o s o u r c e v e r y w o r k e d . U n f o r t u n a t e l y , the
s t a n d alone c o d e w h i c h is por- this language is t h a t y o u m u s t p o w e r f u l . You could, for exam- s o u n d is very poor. I tried it on
table w h i l e the FORTH inter- have a M i c r o s o u r c e unit attach- ple, w r i t e a p r o g r a m in Basic and t w o S p e c t r u m s , each w i t h its
p r e t e r is m a c h i n e (or u n i t } ed, as, unlike the assembler, t h e n m o d i f y sections t o FORTH o w n d i f f e r e n t , T V . Tuning is a
d e p e n d e n t . B o t h c a n be used FORTH does not generate code or assembly so that all three very precise job but even at the
f r o m w i t h i n BASIC and com- w h i c h can be used independent t y p e s of c o d e exist in the same best possible c o m b i n a t i o n of
m a n d s for each are held in REM p r o g r a m yet still be able t o run s e t t i n g s the b a c k g r o u n d noise
ly.
lines. A s s e m b l e r prefixed by ' ! ' and use it. w a s so high as t o be e x t r e m e l y
Finally, the D e b u g utility >s
and FORTH by ' and BASIC A t r e m e n d o u s a m o u n t of irritating. W h e n the v o l u m e w a s
easy t o use and p e r f o r m s all the
variables c a n be used t o pass t h o u g h t has been put into this t o w e r e d so t h a t the b a c k g r o u n d
t a s k s y o u are likely to require
parameters t o and f r o m either. p r o d u c t , it is c o m p a t i b l e w i t h hiss w a s u n o b t r u s i v e t h e n the
f r o m s u c h a program, including
The assembler is a t w o pass m i c r o d r i v e s and Interface 1 and level of s o u n d w a s only about
single s t e p p i n g breakpoints and
assembler and all Z 8 0 O p codes c o m m a n d s and o p t i o n s are in- t w i c e as loud as the S p e c t r u m
memory manipulation.
are s u p p o r t e d , plus a w i d e selec- c l u d e d t o m a k e the best use of beeper.
tion of p s e u d o op c o d e s s u c h as t h e m . I really have n o t h i n g but W o r s e w a s t o f o l l o w , over
DEFB, D E F W e t c . A u s e f u l praise for this device, but I did the next f e w days the unit and
f e a t u r e is the w a y in w h i c h find that s o m e t i m e s m y bad the T V c o n s i s t a n t l y needed t o
operands c a n be t y p e d as BASIC habits caused s o m e c o n f u s i o n , be re t u n e d and I w a s beginning
expressions. When the for instance I w r o t e 'JRNZ to experience S A V E / L O A D pro-
a s s e m b l e r is c a l l e d (by LET label'. The assembler insisted o n blems. I ' m not saying the unit
assemble number) t h e w h o l e the f o r m 'JR NZ, label', but c a u s e d t h e m , but w h e n I even
p r o g r a m is s c a n n e d and A L L t h a n k s t o the e x t e n s i v e error tually g a v e up and r e m o v e d it,
code, irrespective of its p o s i t i o n trapping, I soon got t o k n o w its they disappeared — coin-
w i t h i n the p r o g r a m , is c o m p i l e d . r e q u i r e m e n t s and this really is a cidence?
This c a n be a s s e m b l e d as a small quibble w i t h a well From the c o m p a n y w h o have
direct c o m m a n d or d u r i n g RUN t h o u g h t out unit. p r o d u c e d possibly the finest
time. 1 h a v e no h e s i t a t i o n in k e y b o a r d for the S p e c t r u m and
The FORTH used is an im- wholeheartedly recommending o n e of t h e m o s t exciting
p l i m e n t a t i o n of FORTH 7 9 , is this unit to a n y o n e w h o takes graphics aids in the Graphics
1 6 bit integer and also has s o m e their c o m p u t i n g seriously. Pad, this w a s a great disappoint-
unusual and useful features m e n t and, at C 9 . 9 5 c a n n o t be
s u c h as a l l o w i n g the USR com- Quadhouse Computers UK. recommended.
m a n d t o call m a c h i n e c o d e . Regent House, Victoria Rd, Ray Elder

14 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
(jjeerah

are proud to announce


the arrival of their
125 Joystick
Compatible with ZX Spectrum, Commodore 64, Vic 20.
Amstrad. Atao, MSX. etc,
At only C8.95 the features on the 125 are second to none
Besides its unique internal structure, built to withstand
immense punishment from even the most vigorous games
player. the joystick contains no less than four extremely
sensitive fire buttons. Two are housed in (he handgrip
which has been moulded tor extra comlort and ease
of operation. The trigger finger tire button provides
ease and comfort lor your linger and the top tire
button is contoured 10 fit your thumb tor sure lire
shooting. The base fire buttons are positioned lor extra
control and two hand firing whether you are right or left
handed
A built in auto-tire switch provides continuous
shooting at the touch ol a
lire button. with this
The 125 comes complete f f l
with a tull 12 months
warranty and is available | f J f # M * T - J I NEW JOYSTICK
from High Street stores H ^ f c ^ X l X * Jf
and all good computer shops
Price include VA T Postage and Packing Delivery normally 14 days
Export orders el no ctua coif Dealer enquiries welcome
Send cheque/PO now lo Cheetah Marketing Ltd.
1. Willowbrook Science Park.Cnckhoweii Road St Mellons, Cardiff
Telephone (0222) 777337 Tele* 497455

SSSS SS««»«*-• te^


ulion • Fu» P°,nl

error messages —
£ 3 9 . 9 5
EEE22 9 . 9 5
A full ISO standard Pascal compiler!
ASSEMBLER Fast, single pass Pascal compiler • Complete implementation of the ISO
^ e H i n g macro assemu- ^ ^ ns(Qns „ Lin ker. direc- 7185 Pascal standard • Generates native code. Can be linked to assembler
modules Comprehensive error handling Easy interfaces to QLfeatures

£ 5 9 . 9 5
LISP £ 5 9 . 9 5
BCPL A true <
LISP interpreter for exploring the language of artificial intelligence'; with
graphics.
Available from W H Smith. John Lewis. HMV. Menzies and
many computer stores or direct from Melatomco. Every DEVELOPMENT KIT includes Metacomco's popular screen editor and a detailed manual
All KITs will operate either on a standard QL or on QL's with floppy disks or memory expansion.

n i l f R C
I Phone today or post this coupon t o : Metacomco, 26 Portland Square, Bristol BS2 8RZ
I Please send me: Assembler £ 3 9 . 9 5 • LISP £59.95 • BCPL £ 5 9 . 9 5 • QL C £ 9 9 . 9 5 •
26 Portland Square, Bristol BS2 8RZ QL PASCAL £89.95 • more information • I enclose a cheque for £ or debit m y
ACCESS/VISA N o : I I I I I I I I I I CARD EXPIRY DATE
Tel: Bristol (0272) 428781
In the USA call 1 -800-252-6382 I NAME
I ADORE
rnyy/r SS
Ttjdftnj'hv AT + TftHI1 .iboMtonr'., Q l . Q P O S WkUh

f mdM6n VAT, pofl»9* futbn? lik oolf [>*•*» y up to J A di>-v


j POST'
POSTCODE TEL NO SIGNATURE zx^J
OL BUSINESS

QL Business
i n t e r d e p e n d e n t , all r e q u i r i n g screen), so i t ' s a bit d i f f i c u l t to
t i m e and e f f o r t , t h e n y o u ' l l need find t h e m in a long list. Bar chart
to plan the m o s t e f f e c t i v e se- p r i n t o u t s are hard t o read as

Software
q u e n c e of a c t i o n s in order to t h e y lack a grid to help y o u judge
c o m p l e t e the project in the t i m e the position of bars. Still, the
a l l o w e d , and w i t h i n budget. The program doesn't cost $ 1 0 0 +
t e c h n i q u e of c r i t i c a l p a t h as o t h e r s d o , and t o o m u c h
analysis is one p o w e r f u l w a y of should not be e x p e c t e d . B u t ,
planning a n d c o n t r o l l i n g a pro- these are limitations of w h i c h
ject, and 'Project Planner' serious users should be a w a r e .
teaches y o u the principles of
this technique on t w o tutorial
m i c r o d r i v e c a r t r i d g e s (again,
Decision Maker
used e f f e c t i v e l y w i t h the Perhaps the one p r o g r a m of the
manual). A third cartridge gives three w h i c h could be used by
y o u an a p p l i c a t i o n p r o g r a m to b o t h s t u d e n t s and b u s i n e s s m e n
plan your o w n project, or t o just alike is Decision Maker. The pro-
try one or more of t h e e x a m p l e s g r a m is based u p o n the principle
given in the manual. of d e c i s i o n t r e e s a n d r i s k
By telling the c o m p u t e r the analysis. A n y decision one
activities w h i c h will be involved makes c a n have a n u m b e r of
in the project, h o w long they will c h a n c e o u t c o m e s ; each o n e of
take, h o w m a n y people will be these may require further deci-
i n v o l v e d in the project, and h o w sions or result in more out-
Good s o f t w a r e of any descrip is so long that it is sure t o put o f f the activities interact (e.g. c o m e s , each w i t h some pro-
tion has been s t o w t o appear for all b u t the m o s t resolute, but w h i c h jobs m u s t be c o m p l e t e d bability of actually occuring. So,
the Sinclair QL. But as the QL highlights the f a c t that tremen- before others can start), a 'net- f r o m one decision s t e m s several
w a s primarily i n t e n d e d as a d o u s t h o u g h t and planning m u s t w o r k ' is c o n s t r u c t e d . W h e r e o u t c o m e s and further decisions,
business micro, this s o f t w a r e g o into a business idea if suc- y o u have more t i m e t o c o m p l e t e d r a w these d i a g r a m m a t i c a l l y ,
famine has had a particularly cess is t o be achieved. a job t h a n the j o b should take, and y o u get a decision tree. A d d
deleterious e f f e c t on QL sales. y o u w i l l h a v e ' f l o a t ' (spare the c o s t s (or profits) associated
There is one tutorial p r o g r a m
Fortunately, business s o f t w a r e time). But there will be one or w i t h e a c h o u t c o m e , and hazard
w i t h Entrepreneur, this explains
is starting t o appear. One of the more series of jobs w h e r e there s o m e guess at t h e probability of
the principle balance sheets. If
first producers is a c o m p a n y by is n o t i m e t o spare; there are the c h a n c e o u t c o m e s actually oc-
y o u k n o w absolutely n o t h i n g
the name of T r i p t y c h Publishing. critical activities, and the plan- curing, and y o u end u p w i t h all
about the s u b j e c t , t h e n f o l l o w
They have p r o d u c e d a series of n e r k n o w s t h a t he h a s t o the r e q u i r e m e n t s to calculate
ing the manual and the w e l l for-
packages called the 'Brain- manage these more carefully t o the best decision. To check that
m a t t e d screen displays, you
p o w e r ' range. There are current- ensure that the project goes t o the decision is ' b e s t ' , t w o fur-
s h o u l d acquire a basic k n o w
ly three programs in the range plan. ther t e c h n i q u e s called 'risk' and
ledge in a couple of hours.
for the QL, QL Entrepreneur, QL 'sensitivity analyses' are applied
Entrepreneur's t w o applica Project Planner presents the by the p r o g r a m .
Project Planner, and QL Decision tion p r o g r a m s are similar; t h e y n e t w o r k t o y o u in a number of
Maker. These packages each allow y o u t o d e v e l o p a financial w a y s , as a n e t w o r k , bar c h a r t s In actual fact, the mathe-
cost C 3 9 . 9 5, and are sold under plan of the f u t u r e business. In so or tables. If y o u decide t o alter m a t i c s involved (and all the pro-
the Sinclair label. d o i n g , s e v e r a l f i n a n c i a l con- the plan (you have a bright idea g r a m really does for y o u is t o do
All these packages are sold in c e p t s are i n t r o d u c e d and ex- on h o w t o i m p r o v e the plan) the sums) is quite trivial, and
the standard Sinclair 'black plained well. The programs (one t h e n y o u can alter the design o n c e y o u k n o w the rules, t h e n
b o x ' . T i l t the b o x , and a loose is for a single p r o d u c t business, and logic of the n e t w o r k , get a m o s l simple decision trees can
leaf folder drops out c o n t a i n i n g the other for a business w i t h n e w set of analyses f r o m the be solved in a f e w m i n u t e s w i t h
the i n s t r u c t i o n m a n u a l a n d multiple p r o d u c t s ) e x p e c t y o u t o c o m p u t e r , t h e n d e c i d e for a calculator. The logic of con-
microdrive w a l l e t . Each package enter all the relevant informa- yourself e x a c t l y w h a t will be the s t r u c t i n g and decision tree, and
is supplied w i t h f o u r m i c r o - tion. Q u e s t i o n s are clear, and better option. adding the required data are left
drives, these being a m i x t u r e of they are carefully presented as a A g a i n , Project Planner is ex- entirely t o y o u , b u t , of course,
training courses, application checklist in the manual. T h e pro- cellent for the business s t u d e n t , the p r o g r a m helps to d r a w (and
programs, and one spare cart g r a m t h e n analyses all this data w h o should gain a v e r y g o o d ap- p r o d u c e o n a Epson printer)
ridge for b a c k u p . The applica to p r o d u c e a series of financial preciation of the principle and s o m e neat decision trees, and if
tions will not w o r k w i t h o u t first reports. These w i l l tell y o u if practise of n e t w o r k analysis. It y o u dislike m a t h s , then all the
backing up the p r o g r a m , but y o u your plans are s o u n d or if s o m e also a l l o w s the user t o develop hard w o r k is done for y o u .
have t o find t h e i n f o r m a t i o n at m o d i f i c a t i o n s are needed. Your and refine plans before the start So, in m u c h the same w a y as
the back of e a c h manual o n h o w bank manager should be suffi- of projects. Its limitation, c o m the other m e m b e r s of the 'Brain-
t o d o this. ciently impressed to grant the pared w i t h far more expensive p o w e r ' series, Decision Maker \s
Each package is primarily in loan y o u need t o get started! project planning programs on a computer aided tutorial
tended as a training course, but A n d , if y o u ' r e just an armchair 'real' business micros, is the ap- s y s t e m w i t h a relatively un-
y o u also get one or m o r e applica e n t r e p r e n e u r , t h e n there are parent inability t o help in the s o p h i s t i c a t e d a p p l i c a t i o n pro
tion p r o g r a m s w h i c h allow the s o m e e x a m p l e s in the book t o m a n a g e m e n t of on going pro- g r a m w h i c h a l l o w s the theory to
user t o put business t h e o r y to t r y ; t h e y ' l l give y o u a surprising- jects. O n c e a project is under- be applied. A s tutorial packages,
practical use. ly g o o d feel for the d e m a n d s of w a y , inevitably there are pro- all three are excellent, a l t h o u g h
s e t t i n g - u p a n e w business. blems, or, o n the other hand, ac the price of each m u s t be c o n
tivities w h i c h are c o m p l e t e d
Entrepreneur faster t h a n planned. There ap-
sidered high w h e n c o m p a r e d
w i t h standard t e x t books on
pears no w a y t o feed s t a t u s in-
Entrepreneur is a i m e d at the em- Getting started these subjects. All three applica-
formation into program, and tion p r o g r a m s are s o m e w h a t
bryonic businessman; it tries to
receive reports o n their e f f e c t on limited, b u t , again, serve the
f o c u s the m i n d on h o w t o start a S t a r t i n g a business is one area
the n e t w o r k . The printout of the s t u d e n t w e l l t o practise the
business. The 1 2 8 page manual w h e r e y o u need a sound plan of
jobs list, in the f o r m of a table or t h e o r y supplied by the tutorial
is easy t o f o l l o w . It s t a r t s w i t h a action, as well as finance. Y o u ' l l
bar c h a r t , is available. Unfor- programs. But, workhorse
very c o m p r e h e n s i v e list of items need a c t i o n plans for any project
t u n a t e l y , critical activities are business programs, unfor
w h i c h the potential entre o n c e the business is off the
not highlighted on the printout t u n a t e l y , they are n o t .
preneur m u s t address t o f o r m g r o u n d t o o . If there are several
( a l t h o u g h t h e y are on the
his or her business plan. The list a c t i v i t i e s in a project w h i c h are David Nowotnik

16 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
I

I K E Y B O A R D S J O Y S T I C K 1
I SPECTRUM REPLACEMENT I N T E R F A C E S

T H E 6 8 F X 2
FOR THE SPECTRUM 1
THE ULTIMATE 1
THE FOX PROGRAMME 1
JOYSTICK INTERFACE:- 1
^ ^ ^ ^ t a ^ T w Wha! the review M i d . . .
• S j b j L k m SINCLAIR USER
FEBRUARY 1984
"Provide! the easiest Interlace
on the market to u*e"
SINCLAIR USER A N N U A L 1985
"At £28.95 the Interlace I t
excellent value"
ZX C O M P U T I N G J A N U A R Y 1985 1

1 £ 3 9 - 9 5
the lo use,
ONLY INCL. get my approval"

T H E FOX P R O G R A M M A B L E I N T E R F A C E — A N I N T E R F A C E W t T H
1 WE ARE NOW ABLE TO OFFER THIS * Compioie compatibility with all programs
1 TRULY SUPERIOR KEYBOARD AT * games
* m-built memory to store up to 16 different
keysets at one time
Battely back-up so no loss of memory after
1 THIS EXTRA SPECIAL PRICE £39-95 power off. (Battery recharge during loss so no
replacements are required). SPECIAL
THIS KEYBOARD IS FANTASTIC * One switch only (or simplicity of use
* Full casing OFFER
— —

ITS FEATURES INCLUDE: * Through port lor further expansion


» Proven compatibility w i i h the microdrive.
a > •> v 1 1
U I M L Y ..

1 * FULL SIZE SPACE BAR * Built-in pseudo Rom facility with Rom for
personnel too! kit. O
-_
O Q
__
Q
^ ^
W

* INDIVIDUAL GOLD PLATED KEY- * Compatible with Quickshot II rapid fire.


* Compatible with all Atari-type joysticks J^mm
INCL
m

SWITCHES THE INTERFACE THAT ONCE


PROGRAMMED NEVER NEEDS SPECIAL OFFER
_ _ ' „

* SINGLE ENTRY KEYS INCLUDE PROGRAMMING AGAIN!!! BUY THE ABOVE INTERFACE WITH |
NO T A P E S ! ! NO L E A D S TO THE QUICKSHOT II JOYSTICK
FULLSTOP, S H I F T LOCK, EX- C H A N G E !l FOR ONLY

TENDED MODE, COMMA, FULL- JUST FLICK THE SWITCH AND


PLAY THE GAME WITH FOX
d A
J T O ^ - Y D
QC

STOP, EDIT DELETE BREAK,


MINUS, \ RUN D I V I D E A N D
OR BUY OUR STANDARD 1
CURSOR CONTROLS JOYSTICK INTERFACE 1
* 1/4 THICK PLASTIC CASING (KEMPSTON TYPE) qj- 1
r SIMPLE STEP BY STEP ONLY k f INCL 1
INSTRUCTIONS WITH QUICKSHOT II c
l A L L FOR T H I S U N B E L I E V A B L E JOYSTICK t l D - INCL
1 PRICE OF 39-95 OR QUICKSHOT 1 Q 7 C
1 WE STILL HAVE SOME 68FX1 LEFT JOYSTICK X» 1 O - I O INCL |
1 THESE ARE AS ABOVE BUT WITH-
1 OUT EXTENDED MODE, DIVIDE S P E C T R U M
I COMMA + MINUS ON SINGLE ENTRY
1 KEYS ONLY U P G R A D E .NC L° £ 5

1
| LIMITED STOCKS
£ 2 -00
0 - P&P
95 1 6 K T 0 48K
(ISSUE 2 or 3 please state)
IN ONE
SIMPLE KIT 1
1
+ 2

SEND NOW TO PLEASE SEND ME:- 1


FOX ELECTRONICS LTD 68FX2 KEYBOARD • Name
FOX HOUSE 68FX1 KEYBOARD O Address
35 MARTHAM RD PROGRAMMABLE INTERFACE •
HEMSBY Q/S II + PROG. INTERFACE •
STANDARD INTERFACE • I enclose £
GREAT YARMOUTH STANDARD + Q/S II • or Debit my Barclaycard/
NORFOLK NR2 94NQ SPECTRUM UPGRADE • Access
K SPECTRUM CAME

This is a great g a m e for younger


m e m b e r s of the family </ liked
playing it! Ed). The idea is to
guide the telephone w h i c h c o n
tinually descends f r o m the sky
{A UFOne?) o n t o the head of the
w a n d e r i n g non-terrestrial. No,
y o u are not t r y i n g t o brain him,
but provide h i m w i t h the means
t o c o m m u n i c a t e w i t h his h o m e
planet (have y o u seen the

A Strange Being has been spotted by


telephone company's In
tergalactic charges?).

Nicholas Pearson as it searches Potters A f t e r each a t t e m p t , w h e t h e r


y o u w i n or lose, the player has

Bar for a working telephone.


the o p t i o n t o play again im-
m e d i a t e l y (if h e ' s impatient) or
t o see the appropriate end of
g a m e graphics. A n d finally, for
t h o s e w h o are very s l o w , there
is a " H o l d the p h o n e " feature
which slows the game down.
Brief b u t c o m p l e t e instructions
are given by the p r o g r a m so
y o u ' v e seen the film, read the
book n o w e t c , e t c .

NB. Is a telephone engineer a


phoney?

R M I T O S T AY H E R E F O R E V E R
MISSED ONCE W I T H T H E RHONE

1 REM * * * * * * * * * * * * * * * * * * * * * * * s TO PLAY CONTROLS A


• U n d e r l i n e d c h a r a c t e r s * RE 3 PIGHT AND 5 LEFT"
* a r e entered in * 45 PRINT : PRINT ; FLASH 1} IN
*GRAPHICS mode. * VERSE 1 J" YOU CAN HAVE THE "HOLD
*********************** THE LINE FEATURE BY PRESSING 'h
'THIS SLOWS THE DECENT OF TH
3 BORDER 0: PAPER 0: INK 6: C E PHONE DOWN
LS " 5 FLASH 0i INVERSE 0J
4 GO SUB 9000 50 BORDER 0: PAPER 0: INK 6
24 RANDOMIZE : CLS 55 FOR a=0 T O 29
25 BORDER 0: PAPER 0: INK 6 60 PRINT AT 2 1 , a ; " E "
35 PRINT AT 3,13; FLASH 1;" AL 65 INK 4: PRINT AT 0 , a ; " E n

I EN " 70 INK 4: PRINT AT 21,0?"S"


40 INK 6: PRINT : PRINT INVER 75 PRINT AT 1 7 , a ; " E F " ; A T IS,a;
GE l i " S " i INVERSE 0;"AVE THE A H " R B " ; A T 1 9 , a ; " C D "

EN BY LANDING YOUR TELEPHONE O 77 IF INKEY$="S" OR INKEY$="s"


N HIS HEAD E . G . * EF' BEWARE YOU THEN GO TO 82
ONLY HAVE 1 GO AMD HE MIGHT NO 80 NEXT a
T NOTICE THE PHONE THEN. FRESS 81 GO TO 25

18 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 18
K SPECTRUM CAME

82 CLS : BORDER 6: PAPER 5: IN 350 INK 5: PRINT H0» INVERSE l;


K 0 " YOU HAVE LOST DO YOU WISH TO
83 PRINT ; INVERSE 1 ; AT 4 , 0 ! " IMMEDIATELY START AGAIN (y/ri
BEWARE THE IF YOU TOUCH IT >": INVERSE 0
YOU LOOSE. DON'T WORRY IF YOU 360 LET Ln=9600: GO TO 500
RUB THEM OUT. 3"70 PAUSE 100: GO TO 9600
84 PRINT : PRINT • YOU ARE ABO 380 INK 5: PRINT #0; INVERSE lj
UT TO START PREPARE!" " YOU BLEW UP THE PHONE DO YGU
39 PAUSE 250 WANT TO START THE GAME AGAIN
90 BORDER 0: PAPER 0'. INK 6 IMMEDIATELY WITH A NEW PHONE
101 CLS "; INVERSE 0
105 REM 390 LET Ln=9675
106 REM * * * GAME * * * 500 LET Z*=INKEYS
110 REM * * * MOVEMENT * * * 510 IF 15="y" OR Z$="Y" THEN G
120 REM O TO 24
130 LET x = INT <RND*20>+1 520 IF Z t O ' n " AND Z S O ' N " THEN
140 LET a=1: LET b=l GO TO 500
150 FOR w=0 TO 6 530 CLS : GO TO Ln
160 LET d = INT <RND*3>+3 8997 REM
1">0 LET c = INT (RND*29>+1 8998 REM * USER DEFINED GRAFHICS
180 PRINT AT d,c ; "*" 8999 REM
190 NEXT w 9000 RESTORE
208 PAUSE 100 9002 FOR i=USR "A" TO USR »F"+7
209 LET 5=0.2 9003 READ v: POKE i , v : NEXT l
211 FOR g=0 TO 20 9015 DATA BIN 00000111,BIN 00000

214 LET a=a+l: LET b=b+l 011,BIN 00011111,BIN 01111111,BI

215 LET x= x-<INKEYS="5" AND x >0 N 01111111,BIN 01100111,BIN 0110

) + ( INKEY$="3" AND x<lt?) 1111,BIN 01101111

225 IF INKEY*="h" THEN LET s=s 9020 DATA BIN 11100000,BIN 11000
+ 0.2 000,BIN 11111000,BIN 11111110,BI
230 LET v=b N 11111110,BIN 11110110,BIN 1111
235 IF b=18 THEN GO TO 350 0110,BIN 11100110
236 IF SCREENS <v,x>="*" THEN 9025 DATA BIN 11101111)BIN 11101
GO TO 380 111,BIN 01101111,BIN 00011111,BI
N 00011111,BIN 00011000,BIN 0011
238 IF SCREENS •b , x + 1) = " * " THEN
GO TO 380 100,BIN 00111000
9030 DATA BIN 11110111,BIN 11110
240 BEEP s,B+1: PRINT AT V , x ; " I
111,BIN 11110110,BIN 11111000,BI
"}AT b,x + 1 ; " u " ; A T b - i , x ; " ";AT
N 11111000,BIN 00011000,BIN 0011
b- 1 , X- l ; " "iAT b - 1 , X + 15 "
00,BIN 0001100
245 LET 5=0.03
9032 DATA BIN 00011111,BIN 00111
250 PRINT AT 1 6 , 2 9 ; " ";AT 17,2
111,BIN 01111111,BIN 11100111,BI
<?: " " ; AT 18, 29; "
N 11100110,BIN 111 1 1 0 0 1 , B I N 0001
260 PRINT AT 16,a;"EF»;AT 16,a-
1100,BIN 00001111
l ; " ";AT 17,a}"RB";AT 1 7 , a - l ; n "
9033 DATA BIN 11110000,BIN 11111
5AT 1 8 , a ; " C" ; AT 18,a+1;"D";AT 13
000,BIN 11111110,BIN 11100111,BI
, a -1; -
N 01100111,BIN 10011111,BIN 1111
270 PRINT AT 20,15} INVERSE 1?" 1100,BIN 11110000
HOME ! ! ! ! "; INVERSE 0 9 0 3 4 FOR B=USR "T" TO USR "U"+7:
280 PLOT 0,20: DRAW 255,0 READ v : POKE B , v : NEXT B
290 IF b=16 AND a=* THEN GO TO 9035 DATA BIN 00000000,BIN 00111
310 111,BIN 00111111,BIN 00110011,BI
300 GO TO 20° N 001 10011,BIN 00001 111,BIN 0001
310 INK 5: PRINT MO; INVERSE 1} 1111,BIN 00111111
" YOU HAVE WON DO YOU WANT TO 9040 DATA BIN 00000000,BIN 11111
START THE GAME IMMEDIATELY<Y/N 100,BIN 11111100,BIN 11001100,BI
)"} INVERSE 0 N 11001100,BIN 11110000,BIN 1111
320 LET Ln =9300: GO TO 500 1000,BIN 11111100

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 19
K SPECTRUM CAME

9042 FOR W=0 TO 7 1 1 , 0 ; " BE GOOD f ! ! !


9043 READ S 9585 PRINT AT 12,0;"NNNNNNNNNNNN
9044 POKE USR "N"+W,S NNNNNNNNNNNNNNNNNNNN"
9045 NEXT W 9590 PRINT : PRINT
9046 DATA BIN 00011 110,BIN 00011 9592 PRINT INVERSE 1;AT 14,3;"E
100,BIN 01111011,BIN 011111110,B F»;AT 1 5 , 8 ; ; A T 16,8;"CD»: BE
IN 01011100,BIN 00111100,BIN 011 EP 0 . 0 9 , 1 : PRINT AT 1 6 , 8 ; " ";AT
01100,BIN 11011100 I 5 , s ; n

9047 RETURN 9595 PRINT : PRINT " EF DO YOU W


9300 REM ANT ANOTHER GO EF «
9310 REM * * * THE WINNING ROUTINE 9596 LET Lr. = 9 9 9 9 : GO TO 500
9320 REM 9610 REM
9340 PAUSE 100 9611 REM * * * THE LOSER ROUTINE *
9355 LET e=0 -612 REM
9356 LET e=e + l 9613 PAUSE 100: PAPER 01 INK l :
9360 INK 4: PLOT 0 , e : DRAW 255,0 CLS
9365 IF e=100 THEN GO TO 9368 9614 FOR a=0 TO 20
9367 GO TO 9356 9615 LET c = INT (RND*28)+1
9363 INK 3: PRINT AT 8 , 0 ; " N " 9616 LET b=INT <RND*13)+1
9370 INK 5: PRINT AT 7 , 1 2 ; " J L 9617 PRINT AT b , c ! " . "
" ! AT 6,11; "Wm mm' "618 NEXT a
9372 PRINT AT 5 , 1 1 ; ' • • • • • " i AT 9620 FOR a=2 TO 30
4 , n ; " J M L " 9630 INK 4: CIRCLE 7 5 , 7 5 , a
9440 BEEP 1,2: BEEP 0 . 3 , 1 2 : BEEP 9632 NEXT a
0 . 4 , 1 2 : BEEP 0 . 4 , 1 1 : BEEF 0 . 4 , 1 9634 FOP b=0 TO 15
2: BEEP 0 . 8 , 1 1 : BEEP 1,7 9636 INK 6: CIRCLE 190,75,b
9450 FAUSE 30 9638 NEXT b
9460 BEEP 1,2: BEEP 0 . 8 , 1 2 : BEEP 9640 FOR c=0 TO 10
0 . 4 , 1 2 : BEEP 0 4,11: BEEP 0 . 4 , 1 9642 INK 5: CIRCLE 130,70,c
2: BEEP 0 . 9 , 1 4 : BEEP 1,11 9643 NEXT c
9470 PAUSE 30 9659 INK 4: PRINT AT 6,6; INVERS
9480 BEEP 1,2: BEEP 0 . 8 , 1 2 BEEP E 1;" EARTH -J INVERSE 0
0 . 4 , 1 2 : BEEP 0 . 4 , 1 1 : BEEP 0 . 4 , 1 9660 PRINT AT 13,0; INVERSE 1 J "
2: BEEP 0 . 8 , 1 1 ! EEEP 1,7 EF EF EF AM I TO STAY HERE FOR
9490 FAUSE 20 EVER.YOU MISSED ONCE WITH THE
9500 BEEP 0 . 8 , 1 2 : BEEP 0 . 8 , 7 : BE PHONE DO YOU WANT ANOTHER GO <
EP 0. 8 , 1 2 : BEEP 0 3,11: BEEP 1,1 y/r, ) " ; INVERSE 0
1 9663 LET Ln=9999: GO TO 500
9510 LET a=0 9675 CLS : PRINT ; FLASH 1;AT 2,
9515 LET a = a +1 5 5" YOU DONE IT NOW ' 1 ! "
9520 IF a= 15 THEM GO TO 9550 9680 FOR x=46 TO 0 STEP -2
9522 INK 3: BEEP 0 . 0 3 , a : PRINT A 9682 PLOT 0 , x : DRAW 255,0
T 8 , a ; n N " ; A T 8 , a - 1 ; " " 9684 NEXT x
^523 FOR b=8 TO 3 STEP -1 9636 FOR x = 10 TO 25
9524 GO TO 9515 9688 BEEP 0 . 0 2 , x : PRINT AT 15,x;
9548 REM "N";AT 1 5 , x - 1 ; " "
9549 REM * * * GO HOME * * * 9690 NEXT x
9550 REM 9695 PRINT ; FLASH 0;AT 4 , 0 ; " HE
9552 PRINT AT 8 , 1 4 ; " " HAS STARTED TO SULK.HE WANTS T
9555 LET b=8 O PHONE HOME BUT HOW CAN HE D
9560 LET b=b-1 O THAT WITH NO PHONE."
9565 PRINT AT b , 1 5 ; " N " ; A T b+1,15 9700 PRINT : PRINT " WILL YOU
*» it ii HELP HIM AND START THE GAME A
9570 IF b=6 THEN GO TO 9580 GAIN ( y / n ) "
9575 GO TO 9560 9702 PLOT 0,85: DRAW 255,0
9580 INK 5: PRINT AT 10,0f B NNNNN 9710 LET Ln=9999: GO TO 500
N N N N N N N N N N N N N N N N N N N N N N N N N N N •• ; A T 9999 STOP

20 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 20
y r p i ^

[WINNERS m
r ^ Ai v»«n in the national pr«s

of the ASP DREAM HOLIDAY Competition


Argu^Jpecialist Publications Ltd. arc pleased to announce
of the fabulous Dream Holiday Competition,
HKS'I PKI/> Third I'n/e
aholidav an> where in Ihe world the eser popular BBC NI.MJL- B
upio a value o t h . i s been Microcomputer plu^ software
awarded in Mr K.Gouldthorp package. awarded to Master P.
u f : W,HK1MJ« Road, RaddilTe Dawson ot tl l.adiesjde. Brae.
-on Ircnt Nottingham \ f i l 2 - H i Shetland 7M2 VSX
r\
Second Prize / the w inner oi ihe
: vers latest in portable * ideo |
camerarecorderrunrrh <nrr
fourth pri*e
7
upern M i n o l t a X H X ) c a m e r a
WOO) goes in MrC K Dul1\ fiflnun lens and tlashj-un is
of tij Cross Flats Place. BecMon. ce Sullivan Dt 1 A d m e f s
Leeds LSI! 7JN f V'IRO \ illagc Meophant.
DAIJ OST

ASH would like to thank everyone w hi entered the competition,


and t'ONGRATi'I.ATlONSio Mr Ginmlihorp lor h^ winning
sentence which we've printed heli»w

"...to combat boredom bv the beach, mt

keep magazines in easy reach!" f

If an advertisement POOLS PREDICTION


Outputs, best draws, homes and aways

is wrong we're here


Features analytical draw finder.
Prints team form comparison graphs.
Analyses and graphs results every week.

to put it right Takes full account of midweek games and cup" matches between
main league teams.
Promotion/relegation option. (Can be used from season to season).
Easy to use, even for beginners.
If you see an a d v e r t i s e m e n t in the press, in print, Gives paper printout of predictions if required.
Full back-up service.

/
on posters or in t h e c i n e m a w h i c h y o u f i n d
48 WINS (309 DIVIDENDS) received by author so far
unacceptable, write t o us at t h e address below.
"This is the best and most scientific of any program I have seen" -
The Advertising Standards Authority. Mr R A.P. (Secretary, Orpington Computer Club).
ASA Ltd. Dupt 3 Brook House. Tonington Place. London WC1E 7HN 'Once again, thank you for one of the best investments I have made"
- M r D.L.8. (Feltham).
"I would like to congratulate you on your excellent service it is a

BINDERS
rare thing these days" - Mr L.G.P. (Shrewsbury)
"I found your program very professional and userfriendly I am very
satisfied with it" - Mr B.D. (Spalding).

FOR YOUR VALUABLE RACING PREDICTION


COLLECTION OF An easy to use predictor, by the same author, for the flat racing
season.
Z.X. COMPUTING # £5.20\
No knowledge of racing required.
MAGAZINES inc
Input information from any daily newspaper.
'SMART EASY TO USE P&P
Holds data on draw advantage and ground conditions for 37 British
' T O P QUALITY courses.
Self-teaching program is never out-of-date. Customers report wins
To ASP Readers Service, PO Box 35, Wolsey of up to 33/1.
House, Wolsey Road, Hemel Hempstead,
Herts HP2 4SS (0442-41221) Ask for: British Pools £11.95
Please supply Z.X. C o m p u t i n g Binders £5.20 inc. PAP Australian Pools £11.95
Total £. (Please make cheques payable to ASP Lid.) Flat Racing £11.95
Years Required 198 . 198... 198 . ,198 Allow 7 days lor
d e l i v e r y . C h e q u e s , P.O.'* p a y a b l e t o Rombest Or quote

Name A c e e s i / E u r o e a r d . Mastercard number.


Overseas customers please add £1 tor p i p
Address Rombest, Dept. ZX, 2. Welland CroM. Bicester. Oxon., 0X6 8GD.
Please allow 21 days lor delivery Available tor ifl Spectrum Bnlish Poo's also Bva.labd? toi Commodore 64.
8K SPECTRUM CAM

Keith Burton has a close encounter of


the arachnid kind.
A s c a r e t a k e r of S p e c t r u m
Manor y o u have t o keep the
building clear of spiders and
clear u p t h o s e n a s t y creepy
w e b s . There are three floors t o
patrol and s o m e idiot has left
three invisible mines on each
floor! Fortunately, as y o u enter
e a c h floor the mines b e c o m e
visible for a f e w seconds so that
y o u c a n m a k e sure y o u avoid
t h e m . The spiders, being very
light f o o t e d , d o not trigger off
the mines.
Y o u have three lives to risk
and cleaning up a piece of w e b
scores one point. Dead spiders,
the n o n - f l a s h i n g kind, also score
one point but live spiders score a
generous t w e n t y - f i v e points. If
y o u are one of the t o p five spider
e x t e r m i n a t o r s t h e n y o u are
rewarded w i t h having your
n a m e held for posterity in the
high score chart.
So, carefully positioning your
fingers over the QZIP keys for
UP. D O W N , LEFT and RIGHT do
your bit for m a n k i n d in the battle
against these horrid, harmless
beasties.
But first y o u have to t y p e it
in. . ,

t Rf"M XXXXXXXXXXXXXXXXXXXXXXX 2~'0 PRINT AT i , z J " H«


f U n d e r l i n e d c h a r a c t e r s ! 280 BEET .005,z
• a r e entered in # 290 NEXT 2
•GRAPHICS mode. * 300 LET d~a1 LET a-b: LET b~d:
TM ^MTMTMi W
n Kn Mn M MT
r T lfT
U lTt T
KMT M
T lTf M«UITMT X
w v Www
ww
IF c-1 THEN LET c - l: GO TO 320
100 REM GET ur V A R I A B L E S EE! 310 LET c — 1
I 320 NEXT i
110 DIM n*<45): DIM h ( 6) 330 FOR i = l TO 17 STEP 2: PRINT
120 LET n«="zx zx z x AT i » l l ; FLASH 1J PAPER 7; INK
x zx • 2 ! " SPIDERS *: NEXT i
130 rOKE 23658,0 310 FOR 1=2 TO 16 STEP 2: PRINT
140 DIM m«(30,30) AT 1,11? FLASH 1* PAPER 2; INK
150 GO SUB 3210 7{" SPIDERS "I NEXT i: PRINT AT
160 BORDER l : PAPER L: INK 1 9 , 4 ; " KEITH BURTON 1983
LS 350 PRINT AT 21,0! FLASH 1}"
200 REM HBB9 GRAPHIC INTRO PRESS ANY KEY TO PLAY " :
210 LET a«lS LET b=30: LET c = l PAUSE 0: GO SUB 3100
220 LET 1f=3: LET h i = 0 400 REM m m START OF GAME IBB
230 FOR i - 0 TO 21 4 10 LET sc—0
240 FOR I - a TO b STEP c 420 LET I f = 3
250 IF c — 1 THEM PRINT AT i , z 1 130 LET 1=1
; INK 2i GO TO 270 500 REM H B SET UP SCREEN BBS
260 PRINT AT i , z + l j INK 6J"C" 5 l 0 BORDER 0: PAPER 0! INK 6t C

22 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
I8K SPECTRUM GAME)

LS 9 0 0 REM WTMM MOVE YOU W M M

515 IF 1>3 OR 1(1 THEN LET 1=1 910 IF m * ( x , y - l ) = w * THEN GO TO


520 GO SUB 201043*1 970
570 FOR 1=1 TO 7: BORDER i: BEE 920 IF SCREEN* C x , y - l l < > " " THE
P .01,1: BEEP .01,20-1: NEXT i: N LET sc=5c+1: BEEP .01,10
BORDER 0 930 IF y - l < l THEN RETURN
580 FOR 1=0 TO 19: PRINT AT i +1 940 PRINT AT x, yf ' •
, 1 I m * < i + 1> : NEXT i 950 LET y - y - 1
590 PRINT AT x,yJ"E" 960 PRINT AT x , y { ' F *
600 LET mx1*INT (RND*19)+l: LET 970 RETURN
mx2=INT (RND*19)+l: LET mx3=INT 980 IF m * ( x , y + l ) = w * THEM GO TO
<RND*19>+1: LET my 1= I N T (RND*16 1040
)+2: LET my2=INT (RND*16)+2: LET 990 IF SCREEN* ( x , y + l ) < > - * THE
my3=INT (RND*16)+2 N LET sc=sc+l: BEEP .01,10
610 IF m«(mxl,rnyl)=wt THEN GO 1000 IF y+1>20 THEN RETURN
TO 600 1010 PRINT AT x,yJ " "
620 IF m*(mx2,my2)=w* THEN GO 1020 LET y=y+1
TO 600 1030 PRINT AT x,y»"F*
630 IF m*(mx3,my3)=w* THEN GO 1040 RETURN
TO 6 0 0 1050 IF m * ( x - 1 , y ) = w * THEN GO TO
640 PRINT AT mxl.mylj FLASH 1; 1110
INK 21 " J " I AT m x 2 , m y 2 | " I " 1 AT mx3, 1060 IF SCREEN* (x-l,y><>" " THE
my3?"I-: PAUSE 25: PRINT AT mxl, N LET sc=sc+l: BEEP .01,10
Tttyn • * ; AT mx2, my2; " " J AT mx3,my 1070 IF x-1< 1 THEN RETURN
3; " " 1080 PRINT AT x,yJ• -
650 PRINT AT 10,0;'U";AT 1 1 , 0 ; ' 1090 LET x=x —1
P";AT 9,22;-D-;AT 10,22;-O-;AT I 1100 PRINT AT x , y | • F "
1 , 2 2 ; " W I AT 1 2 , 225 "N" 1110 RETURN
660 PRINT AT 2,25; INK 2; BRIGH 1120 IF m*Cx + 1 , y ) = n * THEM GO TO
T 1;"SCORE iAT - 6,25J-HIGH-;AT 10 1 180
,25; -LEVEL-;AT 14,25 J* LIVES" 1130 IF SCREEN* ( x + l , y ) < > " * THE
67 7 0 PRINT AT 4,25; BRIGHT l; IN N LET sc=sc +1: BEEP .01,10
K 6;sc;AT 8 , 2 5 ; h ( l > ; A T 1 2 , 2 5 | l ; A 1140 IF x+1>19 THEN RETURN
T 16,25| 1 f 1150 PRINT AT x , y I " "
' 680 LET 5x1=10: LET sy1=13: LET 1160 LET x=x+l
sx2=14: LET sy2=15: PRINT AT sx 1170 PRINT AT x , y f " F -
1,syi; INK 5; BRIGHT 1; " H " I AT sx 1180 RETURN
2,sy2j INK 2} BRIGHT 1 J " H" 1200 REM f CHANGE LEVEL E3599
700 REM mm MAIN LOOP 1210 IF y=l AND x = l l THEN LET 1
710 INK 7 = 1 + 1: IF 1< = 3 THEN GO TO 510
720 LET a*=INKEY*: BEEP .009,-1 1220 IF y=20 AND x = l l THEN LET
0: IF a * = - i - THEN GO SUB 910 1=1-1: IF 1> = 1 THEN GO TO 510
730 IF a«="p- THEN GO SUB 980 1230 IF 1>3 THEN LET 1=1: GO TO
74 0 IF a*=*q* THEM GO SUB 1050 510
750 IF a*="z" THEN GO SUB 1120 1240 IF 1<1 THEN LET 1=3: GO TO
760 IF x=11 AND (y-1 OR y=20) T 510
HEN GO TO 1210 1250 GO TO 1210
770 GO SUB 1310 1 300 REM n a m MOVE SPIDERS M M
780 IF mx1=x AND my1-y THEN GO 1310 PRINT AT s x l , s y 1 I "
SUB 1700 1320 PRINT AT s x 2 , 5 y 2 | - ^ '
790 IF mx2 = x AND tny2 = y THEN GO 1330 IF m * ( s x l + 1 , s y l ) < > w * AND sx
SUB 1700 l>x THEN LET s x l = 9 x l + l
800 IF mx3=x AND my3=y THEN GO 1340 IF m*(sx2+1,sy2><>w* AND sx
SUB 1700 2>x THEN LET sx2=sx2+l
810 PRINT AT 4,25? BRIGHT li IN 1350 IF m * ( s x l - l , s y l ) < > w * AND sx
K 6 J 5C l<x THEN LET s x l = s x l - l
820 GO TO 720 1360 IF m * ( s x 2 - l , s y 2 ) < > m * AND sx

ZX COMPUTING FEBRUARY/MARCH 1986 23


18K SPECTRUM GAMI

2<x THEN LET s x 2 = s x 2 - l 1790 PRINT AT 3 , 9 ; " |


1370 IF m * ( s x l , s y l + 1 ) < > w $ AND sy
1 >y THEN LET s y l = s y l t l 1800 PRINT AT 4 , 7 ;
1380 IF m*(sx2,sy2+1) < >wwS$ AND sy
2>y THEN LET sy2=sy2+l 1810 PRINT AT 3 t 9 | " 1
1390 IF n>* t s x 1 , g y 1 - 1 ) < > « • AND sy
K y THEN LET s y l - s y l - 1 1820 PRINT AT 6 , 9 ;
1400 IF m « ( 5 x 2 , s y 2 - l ) < > w « AND sy
2<y THEN LET s y 2 = s y 2 - l 1830 PRINT AT 9 , 7 ; " !
1410 IF 5x1(1 THEN LET x 1— 1
1470 IF sx2<1 THEN LET sx2~1 840 PRINT AT 1 0 , 7 ; " B • fl B •
1130 IF 5x1)19 THEN LET s x l = 1 9
1440 IF sx2>19 THEN LET sx2"19 830 PRINT AT 1 1 , 7 ; " a s e e
1450 IF s y 2 >19 THEN LET sy2-19
1460 IF sy1>19 THEN LET sy1 = I 9 860 PRINT AT 12,7J"B B B B B B
1470 IF sy1< 2 THEN LET sy1=2
1480 IF sy2<2 THEN LET sy2=2 870 PRINT AT 13,7;"!
1190 PRINT AT 5 x l ( s y l ! INK 4 ; - h *
1500 PRINT AT 5x2,sy2» I N K 2 ? " H" 1880 PRINT AT 17,7;"YOU STEPPED

1310 IF (sxl=x AND sy1= y) OR (sx ON A MINE!-

2-x AND sy2=y) THEN GO TO 1610 1890 PRINT AT 19,11;'LOSE A LIFE


*
1320 RETURN
1600 REM m CAUGHT A SPIDER KT35 1900 NEXT 1

1610 PRINT AT x , y } BRIGHT 1| FLA 1910 NEXT n

SH 1| INK 4| PAPER S|"H»: LET sc 1920 PRINT AT 20,10; FLASH l ; " C H


•=sc + 2 3 : FOR n=10 TO -10 STEP - l : ANGE LEVEL"

BEEP .01,n: NEXT n 1930 FOR 1=30 TO -30 STEP -4*. BE

1620 LET s x l = I N T (RND*19)+2: LET EP . 0 0 3 , 1 : NEXT 1


1940 LET 1=1-1: IF 1<1 THEN LET
5x2=" I N T <RND*19)+2
1*1+2
1630 LET s y l - I N T <RND*16)+2: LET
1930 GO TO 310
sy1 3 INT <RND*16)+2
1640 IF m * ( s x l , s y l ) - w * THEN GO 2000 REM WM H A L L OF FAME BB
TO 1620 2010 IF s c >h ( 5 > THEN GO TO 2200
1630 IF m * ( s x 2 , s y 2 ) = w * THEN GO 2020 CLS
TO 1620 2030 FOR 1=1 TO 3: IF s c ) h ( i ) TH
1660 PRINT AT s x l , s y l ; INK 4i - H" EN FOR t = i TO 3: LET h ( t + l > = h ( t
1670 PRINT AT s x 2 , s y 2 ; INK 2 1 ' H" ): LET n * ( ( ( ( 1 + 1 ) * 6 ) - 5 ) TO <( i + 1
1680 RETURN ) * 6 > ) = n » ( < < 1 * 6 ) - 3 > TO ( i * 6 > > : LE
1690 STOP T h ( l ) = s c : LET n * ( ( ( i * 6 ) - 3 ) TO (
1700 REM M M N EXPLOSION b o b 1*6) )=p»: LET i =3
1710 OVER l : FLASH l : PRINT AT 0 2040 NEXT 1
,01 INK 21 PAPER
6 , , , , , , , , , , , , , , 2030 FOR 1=1 TO 20: PRINT AT

M M M I I ) M ) M ) M t ) I I I ) I ) I I I '' Fr Ou ; PAPER 4 | "


•: NEXT 1
R n~60 TO -40 STEP -2: BEEP .008
2060 FOR 1-6 TO 13: PRINT AT 1,7
,n; NEXT n: FLASH 0t OVER 0
I PAPER 1;" " : N
1720 FOR 1=1 TO 30: OUT 2 3 4 , i : N
EXT 1
EXT i
2070 PRINT AT 3 , 7 | PAPER 2;"
1730 FOR p=-10 TO -30 STEP -2: B
EEP . 1 , p : NEXT p
2080 PRINT AT 1,121 FLASH l ; " S P I
1740 LET l f - l f - 1
1730 IF l f < = 0 THEN GO TO 2000 DERS*

1760 CLS 2090 FOR 1=0 TO 7: INK 1! PRINT

1770 FOR n=1 TO 3: FOR i =1 TO 7: AT 3,9;"HALL OF FAME": BEEP .008

INK t: BEEP . 0 0 8 , i - 3 : BEEP .008 ,1: NEXT 1

,1-10 2100 PAPER 1

1780 PRINT AT 2 , 9 J " B 2110 PRINT AT 3,91 PAPER 2;"NAME


SCORE "

24 ZX COMPUTING FEBRUARY,MARCH 1 9 8 6
K SPECTRUM CAME

2120 FOR 1=1 TO 5: PRINT AT i+6, F F F"


7fi»AT i+ 6 , 9 ; n * ( C < 1 * 6 ) - 5 ) TO <i* 2 4 3 0 LET ra«(13)="F F F FFFFFF
6 ) M A T l + 6 , 1 8 l h ( l ) : NEXT i F F F"
2130 PRINT AT 13,8;"PRESS S TO Q 2440 LET ra»(14>-"F F F
UIT " F F F"
2140 PAPER 0 2450 LET m*(15)="F F F
2130 PRINT AT 17,7;'PRESS C FOR p p frm

COPY";AT 19,7;"PRESS P TO PLAY" 2460 LET fn«(16)*"F F FFFFF ^FFF


2160 PAUSE 0 F F F"
2170 IF INKEY«="c" THEN COPY : 2 4 7 0 LET m»(17)="F F
GO TO 2160 p pr>
2180 IF INKEY*='q" THEN STOP 2480 LET M*(18)="F FFFFFFF FrFF
2190 IF INKEY«="p" THEN GO TO 1 FFF F"
10 2490 LET m*(19)="F
2199 GO TO 2160 F"
2200 REM • WELL DONE ENTER NAME! 2500 LET M»(20)="FFFFFFFFFFFFFFF
2210 CLS FFFFF"
2220 FOR 1=1 TO 4 2510 LET x = l l : LET y=2: PRINT AT
2230 LET z • —" n i r - i • n r x , y I " F •
inir ii int. • • • ii 2520 LET w«="F-: RETURN
• I I I I . II Ul I . B-4 U L 2600 REM mmm SET UP LEVEL 2 uam
JK I U K - . . 2610 LET M* ( 1 ) = " % W » V . V . V . W . V . ' .
2240 FOR a=0 TO 13 STEP 5: PRINT V . W
AT a,0| INK i + f a / 5 ) \ z * 2620 LET M«(2)="% WW WW
2250 NEXT a \ "
2260 NEXT 1 2630 LET M*(3)="*.
2270 FOR X=1 TO 25: FOR Y=20 TO V
50 STEP 10: BEEP .008,Y! BEEP .0 2640 LET M » ( 4 ) = " \ % WWW
1 ,Y-5! NEXT Y: NEXT X \
2280 POKE 23658,8! INPUT "ENTER 2650 LET M * < 5 ) = "«. •„ \
YOUR NAME"fp»: IF LEN p*>6 THEN % %"
LET p»=p*( TO 6)
2290 POKE 23658,0: GO TO 2020 2660 LET M*<6)="«. «. \ \
2300 REM B H SET UP LEVEL 1 B5H
2310 LET m « ( U = , FFFFFFFFFFFFFFFF 2670 LET M»(7)="S \ WW %

2320 LET m*(2)="E 2 6 8 0 LET M*(8) = "S «. \ \


S V
r * 2690 LET M * ( 9 ) = " \ % \
2330 LET m* t 3 ) = " F EEEEEEE t Z t t t \ %*
FF r m ' 2700 LET M« ( 10) * " \ \
2340 LET m«(4)~"F F \ S S"
F f m
2710 LET M* ( 1 1 ) = " «. % \ \
2350 LET m«(5)='F F FFFFF FFFFF V "
F F"
2720 LET M»TL2)=F"*, S \
2360 LET m * ( 6 ) = ' F F F F
% \ S*
F F"
2730 LET M * ( 1 3 ) » " , \
2370 LET ra«(7)-"FFF F
\ S"
F F" 2740 LET M*<14>="\ ». V , V , \
2380 LET m«(8)-"F F f f f f f f f f f f
F F" 2750 LET M*<15)="\ % %
2390 LET m»(9)«'E F F FFFFFFFF F % \ "
F r • 2760 LET M«<16)="\ \ \
2100 LET m»tl0)="F F F FF \ \ \ "
F F F* 2770 LET M*(17>="% \ WWW
2110 LET m * < l l ) = " \ \M
F" 2780 LET M*(18)= " \
2420 LET m«(12)»"F F F FFFFFF

ZX COMPUTING FEBRUARY/MARCH 1986 25


L8K SPECTRUM CAMI

2790 LET m « ( 1 9 ) = , \ V . \ " . 3260 POKE USR a « + i , a


3270 NEXT 1
2800 LET m*<20)=" W . W . V . V . ' . V . V . 3280 NEXT t

s w . % * 3290 DATA " e " , 3 6 , 1 6 , 1 2 4 , 1 8 6 , 3 6 , 3

2810 LET x = l l t LET y = 2 : PRINT AT 6 , 6 8 , 6 8

x , y | 3300 DATA * -f " , 2 3 3 , 1 9 3 , 1 8 9 , 1 7 3 , 1 8

2820 LET RETURN 1,189, 193,233

2900 REM • • « SET UP LEVEL 3 BBSS 3310 DATA " g " , 0 , 0 , 1 1 9 , 3 4 , 2 3 3 , 3 4 ,

2910 LET m«<1)-"OOOOOOOOOOOOOOOO 119,0

oootr 3320 DATA • h " , 0 , 0 , 2 4 , 6 0 , 6 6 , 9 0 , 1 6


2920 LET m » ( Z I - - 0 O OO 3,163
O" 3330 DATA • 1 • , 0 , 0 , 2 4 , 6 0 , 6 0 , 1 2 6 , 0
2930 LET m * ( 3 ) « " 0 O O OOOOOOOOO ,0

O O" 3340 RETURN


2940 LET m * ( 4 ) = " 0 3400 REM m a m I N S T R U C T I O N S • • •
O" 3410 LET I$="YDU a r e t h e c a r e t a k
2930 LET m»(3)»"0 OOOOOOOO O OOO er o f an o l d house. The house ha
OO o - s t h r e e l e v e l s y o u may move
2960 LET m * ( 6 ) = " 0 O O up and down t h e l e v e l s when e v e
O" r y o u wish b y g o i n g t o t h e s t a i r w
2970 LET m * ( 7 ) = " 0 OOO 0 0 O 0 0 ays on each l e v e l . You j o b i s t
OOO" o -find and k i l l any s p i d e r s yo
2980 LET m*(8>="0 O O 00 O O u can see The s p i d e r s a r e alw
O" ays s p i n n i n g webs which y o u must
2990 LET m*(9>="0 0 0 O O O a 1s o c1ean up.
O O" BEWARE on each l e v
3000 LET m$(10)="O O O O O el t h r e e mines have been p l a
O OO' nted they won't harm t h e spid
3010 LET m « ( l l ) = " 0 O 000 O O ers b u t they w i l l k i l l y o u .
O O You w i l l be g i v e n a
3020 LET m*(12)™"O O O quick look a t where t h e mines
O" are each timeyou change l e v e l s . "
3030 LET m* (13)^*00000 OO O O OO 3420 BORDER 1! PAPER l : INK 6: C
OOO O" LS
3040 LET m*(14>«"0 O 3430 PRINT AT 1 , 1 1 ? FLASH 1? P A P
o- ER 2»"SPIDERS"
3030 LET m * ( 1 3 ) = * 0 000 0000 OOOO 3440 PRINT AT 2 , 0
OH O O " 3430 FOR 1 = 1 TO L E N IF z * ( i )
3060 L E T m * ( 16 ) = " O OO 00 O • THEN PRINT " '*,: NEXT i
O" 3433 PRINT ( i ) } : BEEP .009,10:
3070 LET m®(17) =•O 00 O O • NEXT i
O O" 3460 PRINT AT 2 1 , 4 j " P R E S S ANY KE
3 0 8 0 LFT w»(18) =*0 O OOO OOOOO Y": PAUSE 0: BEEP 1 , 0
OOO O " 3470 CLS I PRINT AT 0 , 1 0 ! FLASH
3090 L E T m * ( 19 ) = • O OOOOO 1 J " I N S T R U C T I O N S ' J AT 2 , 2 i FLASH 0
Q. I " I 1 e-f t " | A T 4, 2 J "P r i g h t " JAT 6,
3100 LET x - l l : L E T y =2 t PRINT AT 2| "S u p " IAT 8 , 2 f " Z down"J AT 1 0 , 2
x , y ; " F" Y o u " J AT 1 2 , 2 | 1 p o i n t " J AT
3110 LET m»(20)="000000000000000 1 4 , 2 } " y 23 p o i n t s ' j A T 1 6 , 2 J " I
OOOOO' mine - lose a l i - f e ' i A T 20,2J"PRE
SS A N Y K E Y WHEN READY * : PAUSE 0
3120 LET w«~"0": RETURN
3480 RETURN
3200 REM • S E T UP UDG M
3210 RESTORE 3290 9900 REM PROGRAM LENGTH 1 2 . 9
3220 FOR t = l TO 3
3230 READ a * SAVE "SPIDERS" LINE l : VERIFY "
3240 FOR 1 = 0 TO 7 SPIDERS": STOP
3230 READ a 9999 REM 2 9 0 3 0 0 0 10 4 9 0

26 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
HARDWARE

Printer Ploys
w o n d e r . ( T h o u g h by the t i m e
y o u ' v e added Interface and the
printer and a couple of
m i c r o d r i v e cartridges to store
your prose on, it is beginning to
c o s t about as m u c h as the

Charles A Barron gets to grips with


£ 5 0 0 0 job!).
Here is a little p r o g r a m that

using his printer.


will give y o u a u t o m a t i c page
n u m b e r i n g and a u t o m a t i c page
headers at the cost of t y p i n g it
not only once. It will only w o r k if
your p r i n t e r / i n t e r f a c e / s o f t w a r e
c o m b i n a t i o n a l l o w s y o u to pro
g r a m in a f o r m f e e d instruction:
that m o v e s the paper t h r o u g h
the printer one full fanfold. You
should also set t h e m to give y o u
a u t o m a t i c skip over the perfora-
tions, if that is possible.
Run off your d o c u m e n t ,
keeping the perforations intact;
tear o f f the last sheet and t h e n
f e e d in page one again, setting
the t o p of the page carefully t o
w h e r e y o u w o u l d w a n t the page
header t o c o m e . Set the pro-
gram running and the printer w i l l
run your printed play or W h i t e
Paper t h r o u g h again, pausing
only once every page to add the
titles and page n u m b e r s .
In the p r o g r a m listing, w h i c h
should w o r k for the c o m m o n
types of d o t matrix printers, y o u
will have to set the baud rate t o
suit your o w n set up, and put
e n o u g h spaces into your title in
line 2 0 t o bring it t o the desired
So Uncte Clive has killed off the have the characters c o n s t a n t l y like this: position on the page. If your
ZX Printer — one of the m o s t addressing each other by n a m e : printer can be p r o g r a m m e d w i t h
useful and impressive little t o y s Y o u ' v e seen the k i n d of thing: M : D! T A B settings, then y o u can use
he ever gave us. But t h e n he these instead of the r o w of
D: M! I t ' s y o u '
gave us Interface I and w h o c a n spaces. The p r o g r a m begins by
M: A s y o u say, D. It is I.
resist plugging in a real live full asking y o u h o w m a n y pages
M U R G A T R O Y D : Daphne! D: A t last, M .
width printer to its little R S 2 3 2 your opus runs to. If y o u are t o o
port ? DAPHNE: Murgatroyd! It's you!
M U R G A T R O Y D : A s y o u say A n d the filled o u t version looks tired after c o m p o s i n g the thing
But n o w that w e all have a like the q u o t a t i o n above. A sav t o face c o u n t i n g t h e m , y o u c a n
Daphne, it is I.
real printer, can w e m a k e best ing of 5 6 k e y - t a p s in four lines! a l w a y s lie to your c o m p u t e r and
D A P H N E : A t last, M u r g a t r o y d .
use of it? The first essential is Once the play, or w h a t e v e r , pretend to have w r i t t e n 2 0 0 0
some s o f t w a r e to m a k e the is c o m p l e t e , y o u ' l l w a n t to give pages it will give u p the pro
thing work properly some- it a finished look. Page numbers. g r a m of its o w n a c c o r d w h e n it
thing like Tasword 2, perhaps, Four Murgatroyds and four M a y b e even page headers? runs out of paper. (But it may
which will f o r m a t our print outs Daphnes in just four lines of (That is w h e r e the title of the never trust y o u to tell the t r u t h
with neatly justified right-hand deathless dialogue. Most piece appears at the t o p of every again!),
margins. But t h a t ' s just a start. writers cheat, w h e n writing page.) An unconscionable CHR$ 1 2 is simply the F o r m
Do your d o c u m e n t s involve t y p their draft versions of the text, a m o u n t of t y p i n g for just a little Feed control code; your
iny the same n a m e or f o r m u l a and use abbreviations for the f a n c y d e c o r a t i o n . A n d none of m a c h i n e m a y need a d i f f e r e n t
over and over again 7 Well, if n a m e s . Ever n o t i c e d h o w the s o f t w a r e packages for the c o d e , t h o u g h that is unlikely.
your software a l l o w s y o u t o c h a r a c t e r s ' names a l w a y s begin S p e c t r u m that I've c o m e across Refer, as they say, to the m a n u a l
seek and replace a w o r d , y o u w i t h d i f f e r e n t letters of the a l l o w s a u t o m a t i c page number and adjust the p r o g r a m accor
can save yourself a great deal of alphabet? That w a y w e can just ing. T h a t is t h e o n l y really dingly. ' A s The 8 a t A t N o o n ' is
finger-tapping. For e x a m p l e , I use t h e initial letter for identifica- d e s i r a b l e f u n c t i o n of t h o s e w h a t w e call in the trade a
spend most of my hours at m y tion in the early scripts. ( W e ' r e C 5 0 0 0 w o r d processors that is variable; please d o n ' t n a m e all
Spectrum p r e t e n d i n g i t ' s a w a y a h e a d of o n e W i l l i a m missing on Uncle Clive's little your d o c u m e n t s after m y play.
word processor in order to w r i t e S h a k e s p e a r e here; M a c b e t h ,
plays. N o w the one t h i n g y o u Malcolm. Macduff all in one
can be sure of in w r i t i n g a play is play. He m u s t have been fonder PROGRAM LISTING
that you are going t o have a lot of quill-scratching t h a n I a m of
of repetitive typing: every t i m e a keyboard-tapping.) 3 " N o of p a g e s ? " ; n
character speaks y o u need his Once the rough d r a f t has 5 F O R M A T " b " ; 4 8 0 0 : OPEN # 3 ; " b "
name in full. A page of quick fire been cleaned up and polished, 10 FOR a - 1 T O n
dialogue may use a c h a r a c t e r ' s y o u just have to use the find 20 LPRINT " A s The Bat A t N o o n ";a
name 2 0 or 3 0 times, especially and-rep/ace f u n c t i o n t o find all 30 LPRINT CHRS 12
when you consider that y o u not y o u r c h a r a c t e r - i d e n t i f i c a t i o n in- 40 NEXT a
Only begin every speech w i t h itials and replace t h e m w i t h t h e 50 CLOSE # 3
the speaker's name, y o u also n a m e s in full. So, the d r a f t looks

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 27
ISPECTRUM ARCADE!

in this frustrating, amazing chase game,


Peter Watson mixes planning with
action — you'll need a good head to go
down to the depths and back!
The o b j e c t of the g a m e is t o
retrieve all the treasure f r o m the
d u n g e o n w i t h o u t being caught
by the goblins. Treasure m u s t be
c o l l e c t e d in order, beginning at
the highest level, and then taken
back to the green door safe
keeping.
To collect a treasure y o u simp-
ly m o v e your m a n up to the re-
quired treasure and he will then
a u t o m a t i c a l l y start flashing, in
d i c a t i n g pick-up.
Y o u have three lives, but if
c a u g h t by a goblin w h i l s t in
possession of a treasure, y o u
are i m m e d i a t e l y killed and the
g a m e ends. A treasure that is
The goblin c o ordmates are W h e n the p r o g r a m listing has
n o t due for collection will block
held in t w o arrays, e a c h goblin all been entered and c h e c k e d it
the path of your m a n . This is not
being m o v e d once e a c h c y c l e of should be saved using the direct
a problem since he has five
the 'goblin m o v e ' loop. Fifteen command GOTO 9 9 9 0 . The
s t i c k s of d y n a m i t e w h i c h he c a n
User Defined Graphics listing will t h e n be S A V E d in the
use t o blast holes in the floor (or
characters are used for a u t o - r u n m o d e f o l l o w e d by a re-
ceiling if at the l o w e s t level). T o
treasures, goblins, man and quest t o r e w i n d tape ready for
use the d y n a m i t e , m o v e your
screen c o n s t r u c t i o n etc verification.
m a n adjacent to s u c h a treasure
a n d t h e n press the ' 0 ' key. The
floor (or ceiling} w i l l flash red Listing details
leaving a hole for your m a n to
pass t h r o u g h . 10 80 Initialisation
100 310 M a i n g a m e loop
Instructions and control
900-960 Variables
details ie cursor k e y s for left,
right, up and d o w n , and 0 t o use 1000-1060 Take treasure
d y n a m i t e , are given at the begin- 2000 2040 Treasure at door
ning of the g a m e . Your status is 3000-3040 Loose life
g i v e n d u r i n g t h e g a m e ie 3500-3540 Sound
treasure collected, number of 4000 4070 Use d y n a m i t e
s t i c k s of d y n a m i t e and lives left. 4500-4570 Explosion
T o w i n the g a m e y o u need t o 5000-5050 Another game
6000-6060 Win game
use ail the d y n a m i t e and entice
the goblins a w a y f r o m the area 7000 7060 Game title
of the green door in order t o give 7070-7140 Instructions
y o u r m a n time to get the 71 5 0 - 7 2 1 0 Game controls
treasures back . . .(unfor- 8000-8150 Screen
t u n a t e l y the goblins are rather 9000 9060 UDG's
quick w i t t e d l l . 9990 9993 Save and v e r i f y
The g a m e will not fit a 1 6K
S p e c t r u m in its c o m p l e t e f o r m .
H o w e v e r if the title, i n s t r u c t i o n s Graphic details
and c o n t r o l details (lines
7 0 0 0 7 2 1 0 i n c l u s i v e ! are Line 8 0 Graphic G , H . I , J , K . L . M . N
deleted it should fit. Line 3 0 Line 1 8 0 Graphic C
should be c h a n g e d to: G 0 S U 8 Line 2 7 0 Graphic 8 (x 3>
9 0 0 0 : CLS Line 2 8 0 Graphic D
Line 3 0 1 0 , 3 0 3 0 , 4 0 6 0 Graphic 8
Line 4 0 2 0 , 4 0 3 0 , 4 0 4 0 Graphics A A
Program details 4050,8020
Line 7 1 7 0 Inverse V i d e o 5 , 6 , 7 , 8 , 0
The p r o g r a m consists of a main Line 7 1 8 0 Graphic C
game loop w i t h calls t o various Line 8 0 7 0 Graphic F (x30>
sub-routines. Extensive use is Lini 8 0 8 0 Graphic E ( x 3 2 )
m a d e of the A T T R i b u t e com- Line 8 1 0 0 Graphic E
m a n d and so any c h a n g e s of col Line 8 1 2 0 Graphic B
our on the playing area of the Line 8 1 3 0 Graphic 0 1x5), Graphic C ( x 3 )
screen should be made w i t h Line 8 1 4 0 Graphic G , H , I , J , K , L , M , N
care.

28 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
ISPECTRUM ARCADE!

1 REM * * * * * * * * * * * * * * * * * * * * * * * OR ATTR (y , x - 1)~7 AND NOT k THE


• U n d e r l i n e d c h a r a c t e r s * N BEEP . 1 , 3 0 : GO SUB 1000
Hare e n t e r e d in * 170 IF ATTR (y,x +1)=32 AND k TH
*GRAPHICS mode. * EN GO SUB 3500: GO SUB 2000
* * * * * * * * * * * * * * * * * * * * * * * 180 PRINT AT y,X i FLASH kj INK
6 ; " C - : BEEP .003,50
10 PAPER 0: BORDER 0: TNK "C: c 190 FOR z —1 TO 3
t.n 200 PRINT AT q ( z ) , p < z ) » " "
70 PRINT AT 11,3) PAPER I J TNK 210 LET p ( z ) = p ( z ) + 1
7; PL A S H l i " Please wait a mome 220 IF ATTR ( q ( z ) , p < z ) ) = 7 THEN
nt " LET p ( z ) = p ( z ) + l
GD SUB 9000: GO SUB ^000 230 IF q ( z ) > y AND ATTR ( q ( z ) - l ,
40 DIM p ( 3 ) : DIM q(3) p ( z ) ) < > 5 THEN LET q ( z ) = q ( z ) - l
60 GO SUB H000: Gn SUB 900 240 IF q C z K y AND ATTR ( q ( z ) + l ,
70 LET d=5: LET k=0: LET 1=3! p < z ) > < >5 THEN LET q ( z ) = q ( z ) + l
I FT t = l 250 IF ATTR <q<z) , p ( z) >=4 THEN
80 LET j ^ ' G H I J K L M N " LET p ( z ) = - p ( z )
100 REM Move man & g o b l i n s 260 IF ATTR ( q t Z ) , p ( Z) ) = 6 THEN
110 LET a E x: LET b= y GO SUB 3500: GO SUB 3000: GO TO
120 LET x= x-(INKEY«="5' AND x>l 1 10
AND ATTR ( y , x - l ) < > 5 AND ATTR (y 270 IF ATTR (qCz>,pCz))=134 THE
, x-1)<>7) + (INKEYS="8" AND x<30 A N GO SUB 3500: PRINT AT 21,28;
ND ATTR <y,x+l)<>5 AND ATTR (y,x TNK 2 ; » H H " : GO SUB 3000
+ 1)< >7) 280 PRINT AT q ( z ) , p ( z M INK 4?"
130 LET y = y - ( I N K E Y * = " 7 ' AND y>l D"
AND ATTR ( y - 1 , x ) < > 5 ) + ( I N K E Y « = • 6 2<?0 IF p ( z ) = ~ l OR p (z ) = 3 0 THEN
• AND y<19 AND ATTR <y+l,x><>5> LET p ( z ) = - p ( z )
140 IF INKEYS="0" THEN GO SUB 300 NEXT z
4000 310 GO TO 110
150 IF a < >X OR b O y THEN PRINT 9 0 0 'REM V a r i a b l e s
AT b,a; " " 910 FOR q=l TO 3
160 IF ATTR (y , x + 1 ) =7 AND NOT k 970 LET p ( q ) = l

29 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
ISPECTRUM ARCADE!

930 LET q(q)=12+q*2 ATTR ( y , x - l ) = 7 THEN PRINT AT y-


940 NEXT q 1, x + 1 J FLASH H INK 2;-«ii": GO S
950 LET x=30: LET y=2 UB 4500: PRINT AT y - l , x + l ; FLASH
960 RETURN 0}- •: LET d=d-l: PRINT AT 21,
1000 REM Take t r e a s u r e 10+d} INK 2|
1010 FOR c=t TO 8 4060 IF d=0 THEN PRTNT AT 21,10
1070 IF t=c AND y —2 + 2 * c THEN GO J FLASH lj PAPER 2; INK 6;•GONE'

TO 1030
1 0 3 0 NEXT c 4070 RETURN
1040 IF NOT k THEN GO SUB 40O0:
4500 REM Explosion
GO TO 1060
4510 FOR e=0 TO 50 STEP 6
1050 LET k=l: PRINT AT y , x - l j " "
4520 BEEP .005,e
J AT y , x + 1 J• •
4530 NEXT e
1060 RETURN
4540 FOR e=50 TO 20 STFP -1
7000 REM Treasure at door
4550 BEEP .005,e
2010 PRINT AT 0 , R + ( t * 2 ) ; PAPER 7 4560 NEXT e
; INK 6 ; j « ( t > 4570 RETURN
2020 LET k=0: LET t = t+l i
5000 REM Another Game"?
2030 IF t =9 THEN GO TO 6000
5010 INPUT • Another Garnet
2040 RETURN
<y/n> LINE z*
3000 REM Loose l i f e
5020 IF OR z*='Y" THEN C
3010 LET 1=1-1: PRINT AT 21,28+1
LS : GO TO 40
f INK 2;
5030 IF z*= " n " OR z<6=" N " THFN C
3020 IF NOT k THFN PRINT AT q<z
LS : GO TO 5050
> , p ( z > ; ' ": PRINT AT q ( 1 ) , p <1 ) ; "
5040 IF z«<>"y- OR z * < > " Y " OR z*
•: PRINT AT q ( 2 ) , p < 7 ) ; " ": PR T N
< >•n" OR z * < > " N " THEN GO T O 5 0 1
T AT q ( 3 ) , p ( 3 > ; " "! GO SUB 900 0
3030 IF 1=0 THEN PRINT AT 2 1,29
5050 PRINT * * INK RND*6; BRIGHT
; INK 2 ; " B " : GO SUB 3500: GO TO
1j TAB RND*15J"0K, BYE FOR NOW":
5000 POKE 23692,235: GO TO 5050
3040 RETURN 6000 REM Win game
3500 REM Sound 6010 CLS
3 5 10 FOR s =50 TO 0 STFP -7 6020 PRINT AT 10,10; BRIGHT l; T
3520 BEEP .01,5 NK INT <RND*6)+1j"WELL DONE 11

3530 NFXT s
3540 RETURN You have a l l the trea
4000 REM Use dynamite sure"
4010 IF INKEYSC>"0" OR d=0 THEN 6030 LET w=INT <RND*50)
GO TO 4070 6040 BEEP .01,w
4020 IF TNKEY<6="0' AND y<>lR AND 6050 IF INKEY*="" THEN GO TO 60
ATTR < y , x + 1)=7 THEN PRINT AT y 20
+1,X-2J FLASH l; INK ?;'QB": GO 6060 STOP
SUB 4500: PRINT AT y + l , x - 2 ; FlAS 7000 REM Game t i t l e
H 0; " •: LET d=d - 1 : PRTNT AT 21 7010 PAPER 0: BORDER 0: CI S
,10 +d; INK 2i 7020 PRINT # 0 ; AT 1,0; INK 7 \ * Pr-
4030 IF INKFY«="0" ANN y<>18 AND ess any key for i n s t r u c t i o n s " ,
ATTR (y,X-1)=7 THFN PRTNT AT y 7030 PRINT AT 3,0; TNK INT (RND*
+1,X +1; FLASH I; INK 2;-£<I;": GO
SUB 4500: PRINT AT y + l , x + l ; FLAS 6> + 1 J
H 0;• ": LET d=d - 1 : PRINT AT 21 • •
, 1 0 + D; INK 2 ; • R"
4040 IF TNKFY«=-0- AND y=18 AND
ATTR ( y , x +1 ) = 7 THFN PRINT AT y-
l,x~2j FLASH lj INK 2;"OQ": GO S
UB 4500: PRINT AT y - l , x - 2 ; FLASH
0}- LET d=d-l: PRINT AT 21,
10 + d J TNK 2;
4050 IF INKEY$="0" AND y=18 AND

30 ZX COMPUTING FEBRUARY/MARCH 1986


ISPECTRUM ARCADE!

8020 PRINT AT b , a ; INK 5 ; " Q n " : B


EEP .005,{b+a)
a • 8030 NEXT b: NEXT a
8040 FOR c = 3 TO 17 STEP 2
8050 PRINT AT c,4+INT (RND*5)*5;

7040 PRINT AT 19,16; INK INT (RN


8060 NEXT c
D*6J + 1 ; " by Peter Watson": BEEP
8070 PRINT AT 1 , 1 ; INK 5:"FFFFFF
.01,INT <RND*50>
FFFFFFFFFFFFFFFFFFFFFFFF*
7050 IF INKEY*="• THEN GO T O 7 0
8080 PRINT AT 2 0 , 0 ; PAPER 7; INK
3 ; • EEEEEJEEEEEEEEEEEEEEEEEEEEEEE
7060 PAUSE 0: BEEP . 1 , 3 0 : CLS
EEEE "
7070 REM I n s t r u c t i o n s '
8090 FOR d = l TO 19
7080 PRINT AT 0 , 4 ; INK 4; BRIGHT
8100 PRINT AT d , 0 ; PAPER 7; INK
1 i " I N S T R U C T I O N S "
3 ; • E • ; A T d , 3 l ; PAPER 7; INK 3 ; " ^
7090 PRINT AT 2,0? INK 7;"Your q
": BEEP . 0 0 5 , ( 5 0 - 0 )
uest i s t o r e t r i e v e a l l t h e t r
8110 NEXT d
easure from t h e dungeon."
8120 PRINT AT 2 , 3 1 ; PAPER 4; INK
7100 PRINT AT 5 , 0 ; INK 7 ; " T r e a s u
0 ; " B " ; A T 0 , 0 ; PAPER ?; INK 6 ; •
re must be c o l l e c t e d i n order
TREASURE
(highest level - f i r s t ) and taken
8130 PRINT AT 2 1 , 0 ; PAPER 2; INK
to t h e green d o o r . "
61" DYNAMITE POOPO LIVES
7 U 0 PRINT AT 9 , 0 ; TNK 7 ; " A n y i t
CCC "
em not due f a r c o l l e c t i o n w i l l r>
8140 PRINT AT 4 , 7 ; INK 7 ; " £ " j A T
lock your path (but not t h e gn
6,22; INK 7 ; " H " ; A T 8 , 1 7 ; INK 7 ; "
b l i n s ' M . However, I -f adjace
I " ; A T 10,12; INK 7 ; " } AT 12,27}
nt t o such a t r e a s u r e , youcan tjs
INK 7 ; " L " JAT 1 4 , 7 | INK 7 ; - V " ; A T
e your dynamite t o b l a s t hales
16,12; INK 7; "M";AT 18,22; INK
in t h e -floor (or c e i l i n g i f nn
-?; • N "
the bottom l e v e l ) . "
8150 RETURN
7120 PRINT AT 1 7 , 0 ; INK 7;"You h
9000 REM Graphics
ave t h r e e l i v e s - b u t i-f raugh
9010 FOR n = 1 TO 15: READ a *
t by a g o b l i n w h i l s t i n posse
9020 FOR p = 0 TO 7 : READ q: POKE
si on of t r e a s u r e i t. * «= i n s t a
USR a$+p,q
nt death ' ' "
9030 NEXT p: NEXT n
7130 PRINT # 0 i AT 1 , 0 ; PAPER 6; I
9040 DATA " A " , 2 5 5 , 2 5 5 , 2 1 9 , 2 2 8 , 2 5
NK 2; FLASH I I " Press any key f
, 1 6 4 , 8 , 0 , " B " , 2 5 5 , 1 2 9 , 1 8 9 , 1 8 9 , 1 2 9
or c o n t r o 1 s . . . "
, 1 6 1 , 1 2 9 , 1 2 9 , " C " , 2 8 , 2 8 , 1 3 6 , 1 2 6 , 2
7140 PAUSE 0: BEEP . 1 , 3 0 : CLS
9 , 28 , 2 0 , 54 , "D " , 5 7 ,5 7 , 1 7 , 2 5 5 , 185 ,
7150 REM Game c o n t r o l s
5 7 , 1 7 0 , 2 3 8 , " E " , 3 4 , 2 5 5 , 1 3 6 , 7 5 5 , 3 4
7,160 PRINT AT 3 , 8 ; INK 4 ; BRIGHT
, 2 5 5 , 1 3 6 , 2 5 5 , " F " , 2 5 5 , 2 5 5 , 2 5 5 , 6 0 ,
1 5 " C O N T R O L S "
2 4 , 1 2 6 , 9 0 , 2 4
7170 PRINT AT 7 , 1 ; INK 7; "5
9050 DATA " G " , 8 , 8 , 2 0 , 2 0 , 2 0 , 2 0 , 2 8
6 7 8 0
, 0 , " H " , 8 , 2 0 , 4 2 , 6 9 , 4 2 , 2 0 , 8 , 0 , " I " ,
1 , 2 6 , 4 , 1 0 , 1 8 , 3 2 , 6 4 , 0 , " J " , 1 6 , 8 4 , 5
1e* t d 6 , 2 5 4 , 5 6 , 8 4 , 1 6 , 0 , " K " , 0 , 2 , 5 , 2 5 3 , 6
own up r i g h t d y n a m i t e ' 9 , 2 2 9 , 1 6 2 , 0 , " L " , 1 6 , 6 8 , 4 0 , 1 3 0 , 5 6 ,
7180 PRINT AT 1 3 , 6 ; FLASH l j INK 1 8 6 , 5 6 , 0 , " M " , 0 , 1 6 , 4 , 1 8 , 3 6 , 8 2 , 8 , 0
6;"C-JAT 1 3 , 8 ? FLASH 0; INK 7 * " , " N " , 2 4 , 1 8 9 , 1 5 3 , 9 0 , 1 2 6 , 9 0 , 1 2 6 , 0 ,
treasure c o l l e c t e d " " 0 " , 0 , 6 , 2 4 , 5 6 , 1 1 2 , 2 2 4 , 1 9 2 , 0
7190 PRINT AT 2 1 , 3 j PAPER 2J INK 9060 RETURN
6| FLASH 1 ; " Press any key t o p
9990 CLS : SAVE " g o b l i n " LINE 1
l a y . . . •
9991 PRINT AT 1 0 , 0 ; INK 7;"Re-wi
7200 PAUSE 0: CLS : BEEP . 1 , 3 0
nd tape then r u n t o VERIFY."
7210 RETURN 999? VERIFY " g o b l i n "
8000 REM S c r e e n c o n s t r u c t i o n 9993 PRINT AT 1 0 , 0 ; INK 7 ; '
8010 FOR a = l TO 3 0 STEP 2: FOR b Tape V e r i -f i e d . " : ST
=3 TO 19 STEP 2 OP

31 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
GRAPHICS

Light Screen
Designer
Part 10: by Toni Baker
ELL S U B . T h i s s u b r o u t i n e ensure that 4 * N points are plot
calculates t h e c o o r d i n a t e s (x,y) ted evenly a r o u n d the ellipse. MB
of a point on the ellipse. For e a c h is t r a n s f e r r e d i n t o t h e B C
d i f f e r e n t angle, t , a d i f f e r e n t register pair, a n d i is stored in
p o i n t o n t h e ellipse w i l l be m e m o r y three. Note that t h e
(Mx.My) (Cx.Cy) calculated. T h e resulting coor- r o u t i n e w i l l o n l y w o r k if
dinates will be left o n the t o p of m e m o r i e s M 4 t o MF are first
t h e calculator stack. assigned as a b o v e . A n y w a y , the
T h e n e x t subroutine is called subroutine then proceeds to
ELL Q . T h i s is t h e r o u t i n e d r a w t h e c u r v e by running into
w h i c h actually d r a w s the ellipse. the s u b r o u t i n e CURVE.
The first t h i n g the routine does is C U R V E is t h e s u b r o u t i n e
t o calculate N, w h i c h is t h e w h i c h d r a w s a curve. It is c o m -
n u m b e r of points a r o u n d t h e pletely general a n d will in fact
ellipse needed t o give a s m o o t h d r a w any c u r v e w h a t s o e v e r , be
HORIZONTAL looking curve. (Actually the it an ellipse, a spirograph pat
n u m b e r is 4 * N , since N is t h e tern, or a superior epitrochoid' It
n u m b e r of points needed for a requires three Things:
q u a r t e r e l l i p s e ) . T h e n it (1) That BC c o n t a i n s t h e
calculates i, the angle needed t o number of line s e g m e n t s t o be

LOX.OY)

Figure 1; The m e a n i n g ! o f symbols used.


N o t e that t. * and y are intended t o refer
l o a general, r a l h e i t h a n specific, p o i n t o n
the ellipse.

In this, t h e p e n u l t i m a t e part of Ellipses


the Light Screen Designer pro-
gram, I shall be c o v e r i n g ellipses. Anyway ellipses. This is
The p r o g r a m has t w o ellipse pro- rather d i f f e r e n t f r o m all the other
cedures; ELLIPSE and line or c u r v e d r a w i n g routines
Q U A R T E R ELLIPSE. First w e ' v e c o v e r e d so far because it
t h o u g h , I ' d like t o talk about last d o e s n ' t make any use of a ready ELLIPSFC
issue's article. One b u g c r o p p e d made R O M routine. It c a n ' t ,
up, w h i c h w a s that if the cursor because there isn't one. W h e n
w a s set t o print in italics, and w e c o v e r e d circles and arcs w e
cursor left w a s repeatedly w e r e able t o m a k e use of t h e
pressed, strange t h i n g s w o u l d R O M ' s CIRCLE or D R A W A R C
happen at the left hand edge of routines, b u t the S p e c t r u m w a s
the screen. The bug o c c u r r e d at never designed t o d r a w ellipses.
address E 4 5 E , w h e r e t h e b y t e This is s o m e t h i n g w e have t o ar-
readng 2 0 should have read 3 2 range all by ourselves.
The other error I made a The p r o g r a m makes exten-
rather silly o n e w a s that I sive use of t h e c a l c u l a t o r
f o r g o t t o actually link t h e pro- memories in fact it needs six-
cedure into t h e rest of t h e pro- teen of t h e m . If y o u refer t o t h e
gram! This is of course simple t o d i a g r a m in figure one, and com-
do y o u just store t h e address pare it t o the chart b e l o w (figure
of t h e start of the procedure in 4 ) , y o u ' l l see exactly h o w these
the c o m m a n d addresses table. m e m o r i e s are used:
The alterations in figure 3 will If y o u d o n ' t u n d e r s t a n d a n y
therefore (a) cure t h e b u g , (b) of the t e r m s in the list y o u should M o
link in t h e text proceedure, a n d be able t o suss it all o u t by look
(c) link in this e d i t i o n ' s ellipse ing at the diagram. O n t o the pro QUARTER ELLIPSE
proceedures as well (well, w e gram. . . Figuro 2 How to the curves.
might as well w h i l e w e ' r e at it). The first s u b r o u t i n e is called

32 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 32
GRAPHICS

sor to the main cursor. Again,


How to use the figure t w o will show you w h a t I
E452 3 2 DEFB 3 2 J u m p displacement
to TEST CPOS
Procedures mean. One final thing I should
DB86 61 E5 DEFW E561 , T E X T _ MODE Link in text procedure point out is that BREAK will
DB46 1 B E 7 DEFW E71 B,Q ELLIPSE Link in quarter ellipse To use the ELLIPSE procedure work throughout the drawing of
procedure you need to place the Origin Cur these curves. If you press CAPS
DB5E 9 0 E6 DEFW E690,ELLIPSE Link in ellipse pro- sor and the Main Cursor at either SHIFT w i t h SPACE whilst the
cedure end of the major axis, w i t h the program is in the middle of draw-
Marker Cursor at any other point ing a curve then the program will
on the ellipse. Figure t w o will simply stop drawing the curve
Figure 3. Alterations to hist issue's routines.
s h o w you w h a t I mean. and return to the main Light
drawn. s c r e e n . It w o r k s by f i r s t The QUARTER ELLIPSE is a Screen Designer program.
(2) That HL contains the ad calculating Px and Py — the little different. Whereas a whole The next article will be the
dress of a subroutine w h i c h coordinates of the centre of the ellipse may be d r a w n at any final part in the Light Screen
calculates the next point on the ellipse, and then calculating a, angle, a quarter ellipse must Designer series. It will complete
curve, and possibly the length of half of the major always be upright (with the ma the program, by talking about
(3) if this subroutine requires axis. It then calls the ANGLE jor axis horizontal). A quarter p a i n t i n g , or c o l o u r i n g i n ,
any q u a n t i t i e s s t o r e d in subroutine listed in part 8 to ellipse will always be d r a w n an- outlines. See you then.
calculator memories, that such w o r k out s, the inclination of the ticlockwise from the origin cur- Torn Baker
memories are initialised. ellipse. Next it has to work out b,
the length of the minor axis, MO not used. Note that memories MO, M l and M 2
w h i c h it does by first working Ml not used. are corrupted by the functions
CREATE MEM will create new out u and v (see figure 1}. It sets M2 not used. SIN and COS.
calculator memories. It requires up the memories ready to draw M3 t The increment of the angle t on each pass of
that BC contains five times the the ellipse and uses the ELL Q the loop.
number of memories needed. s u b r o u t i n e t o do the actual M4 s The inclination of the major axis to the
On return the new memories will drawing. horizontal.
be numbered from MO upwards STK REGS is quite a boring M5 t Eccentric angle of point (x,y) on ellipse.
and should all be considered to subroutine really. All it does is to M6 a Half on the major axis.
contain rubbish. Note that it is put the contents of the registers M7 b Half on the minor axis.
usually necessary to restore all onto the calculator stack in the M8 Mx-Px
calculator memories to normal order, L,H,E,D,C,B w i t h B be M9 My-Py
before returning to BASIC, and ing at the top. MA a * cos t
this may be done by loading A t a d d r e s s E 7 1 B is t h e MB b'sin t
MEM (at address 5 C 6 8 ) w i t h QUARTER ELLIPSE procedure. MC cos s
the value 5 C 9 2 . This first of all works out w h i c h MD sin s
At address E 6 9 0 is t h e quadrant the quarter-ellipse (alls ME Px x coordinate of centre of ellipse.
ELLIPSE subroutine itself. All it into, then sets up the memories MF Py y coordinate of centre of ellipse.
requires is that the three cursors and uses ELL Q to do the draw
are in the right place on the ing. Figure 4. Use of calculator memories.

cso t s r e 27 Int X
SF EILJUB RST ?a l ^ g q j e the c a l c u l a t o r . ET r e c a l l KF
m r e c a l l KK Px EA r e c a l l KA i,iy,('ce9 t
« r e c a l l »5 Px.t 121 r e c a l l KU x,Py,a*C09 t . s l n s
20 cos Fx,cos t 04 nultlply x , P y , a * s l n s'eos t
ti r e c a l l M6 Fx,cos I , a OF add x,Py*a*sln s'cos t
multiply px,a*eos t E£ r e c a l l KB x , p y * a ' s l n s'cos t . b ' s l n t
CA atore HA <KAsi a»cos t ) . EC r e c a l l KC x,py»«"sin S'COII t , b ' s i n t , c o « s
EC rflCfll I HC Px,a*cos t,e»» a 04 multiply x,!>y*a'sln s'cos t . b ' e o a s " s l n t
04 multiply Px,»*eoii s'eos t or add x,Py»«"sln s'cos t«b'cos s " s l n t
OF add P*»a*ccs s*eos t A2 const h a l f x,Py»a"sln S * m s t ' h ' c o s s * » i n t , 4
K5 recall H5 KX*fl *COfl »•«» t,t or add x , F y * a ' s l r i s'eos t»b'eos s ' s l n t
IF sin !l*a*C0a S'OOs t,Bin t 27 lnt
rr r e c a l l K? Fx*a"eo.i s*oos t . s l n t,t E5 r e c a l l K5
04 multiply Px»a»co* »*co» t , b « a l n t EJ r e c a l l KJ x,y,t,l
CB store HS (HBl. b'Sin t). OF add x.y.t.l
ELI r e c a l l KD Pxta'cos s*cos t , b " s l n t , s l n s C5 store M5 (H5i» newly lncr»wnt9d annle t»i).
04 nultlply px»n«co» e'cos t , b ' s i n s ' s l n t 0? delete
05 subtract Px«a"cos s»eos t ~ b * s l n s * s l n t je snd calc Dlsenicn
i' e t)i» c a l c u l a t o r .
A2 const half Pma'cos s'eos t - b » s l j i s ' s l n t,j C9 RET
or ndd Px+e*cos 3*cos s*si.n t*j

OHO CJ s t o r s K) \M5:- 1, the lncrenent In ar.xla).


r> i-iji CJSH AF Stack the c a r r y f l a g . 0? delete J
£F RST 28 Er.SAK* the c l a e u l a t o r . » end calc Disentitle the c a l c u l a t o r .
u MCall Pt a CtWZZD CALL PDA?, FP_T0_1C PC :-N (nu^er of incrsnents In
17 r e c a l l H7 a quarter e l l i p s e ] .
or add »*b F1 POP AF Restore tl-^s c a r r y flat.
J4500£?C1? Ptlc data pl/(2«sqr 2 ) «*b,pl/<?«»v 2) J606 JR C,D«_ELL Junp i f only quarter e l l i p s e reqd.
04 nultlply <e«b)»pl/(2«nr 60 LC H,B
27 lot l n t M s t b ) ' p l / ( 2 * s q r ?>) 69 LB L,C
A1 const one Lit (<a*b)*plA?*sqr 29 ADD HL.Hl
or add K 29 ADO HL,HL
Ji duplicate K,M 44 u> B,H
4> const p l / 2 N,JI,pi/? 4D LD C,L BC:> 4"It.
01 exchange 21FKE5 Dfi_ELL L0 HL,ELL_SUB HLi- address o f e l l i p o c subroutine.
05 dlrlde N,1
-

GRAPHICS

OKC K4A 01 exctianite Ky,Hx,a,py


C5 CURVE PUSH SC Stack nisfber of passes. a store K2 t « i . Fy).
E5 FUSH ML Stack address of mbroutlne. recall H3 Hy,Hx,a,Py,P*
E3
CD2C16 CALL l62C,CALL_J!mr Call subroutine required. end c*lc Disengage tbe calculator.
38
C3DC22 CALL 22DC.FL0T Plot the first point.
CDi^E? CALL ANGLE Calculate the Inclination, a.
It FOP KL HI,:, subrt address.
of tbe najor .axis to the horliontal.
C1 POP BC BCt> n-jnber of passes.
015000 U) BC.0050
C5 cv_ioor PUSH BC CD89I* Create sixteen calculator n*morles.
CALL Bt&5,CfUATT,_«W
B PUSH HL EF Kaangaje the calculator.
BST 28
C32C16 CALL l6SC,CALL_JimP Call subroutine. tty,Hx,»,Fy,Px,s
CD0725 CALL 23C7,STK_TO_BC Bt.xj C:.y; store H4 (K4i. a).
C4
110101 LD DE.OlOl 02 delete Hy,Hx,a,Py,Px
78 LD A,S At- x. CE store HE (HE:- Px).
FDJ644 SUB (COOIDSJO At. x displacement. 02 delete Hy.Hx.a,!^
3004 JS H:,CY_I
store HF (HF:- Py).
CF
16FF Ds» KF u> Indicate x dlep negatlT*. delete Hy,Hx,a
U> D.PF
02
ED44 sin Aabstx displacement). C6 store Hfc (Hfc:. a).
47 aj BARS(x displacenent).
LD B,A
02 delete Hy.Hx
79 LO A,C A:, y.
C8 store H8 (KB;. Hx),
FD9643 SUB (COORDSJR) ) displacenent.
02 delete Ky
)004 JR KC,CV_?
C9 store H? <H?l- Hy).
1EPF LD t,rr E:^ KF to Indicate y disp netstife.
02 delete
ED44 KKJ
14 recall H4 s
4r CV_2 LD C,A Ci- ABS(y displacement).
20 cos cos s
C0BA24 Draw line gegnent. CC (HC:. cos s).
CALL 24BA,DRAW_3
store HC
CD541F CALL 1F54,BRE*K_>:£I Test whether CAPS SHIFT/SPACE pressed. m a l l H4 cos s,s
It
11 POP HL IF sin cos s,aln s
C1 POP BC
CD store MD (HD:. sin »).
J005 JR *C,CV_BCIr .•uitp If so. SB recall HB cos a,sin s,Kx
01 ESC BC
EE. recall HK cos sfaln s,Mx,px
78 IN A,B
subtract cos 3,sin s^Kx-Fx
03
B1 OR C
C8 store H8 (KB;. Hx-Px).
2030 JR tt,CV_100P loop back If not finished. nultlply cos s,(Hx-ft()*sln s
04
21W7 CV_HIT LD HL,2758 IB negate cos s,-(Hx-Px)"sin s
W ax KL't- 2758. 01 exchange -<Hx-Px)«siii s,cos s
<9 RET
E9 recall K9 -(Hx-Px)*sin 3,COS B,^
EF recall HF -{Hx-px)*sln 3pcos s,f*|r,fV
ORG 03 subtract -(Hx-Px)*sln s,cos s.hftr-Py
FT CRUTEJIEH HST 30 Create mrory In workspace. C9 store H9 (H9t- it^Fy).
IB DEC OB DE: points to first byle of area. 04 multiply -(Hx-Px>»ain s,(Hy-Py)*cos s
£0*366)0 U> (MBO.DB Point calculator **™ry to area. OF add a
C9 R£T

OHO fiSO
CD22K ELLIPSE CALL E022,reS7_MRKK Return If marker cursor not in use.
C5 PUSH BC Stack cursor coordinates.
CDC AS? CALL E2QA t5TART_LIME Get cursor coords Into cale ntns.
EF RST 28 IhfAge the calculator.
E2 recall K2 *y
E3 recall H! Hy.Hx
EO RECALL HO Hy.Hx,Oy
E4 recall H4 Hy.Hx,Oy.Cy 1 . ..,,
OF add Hy,Mx,Cy<Qr
A2 const half Ky,Kx,Cy*£ry,i
04 nultlply Hy.Hx,Py
duplicate Hy.Hx^jHy s • \f UC,
31
El recall K4 Ky,Hx,Py,Py,Cy
03 subtract Hy.Hx,fy,Py-Cy
31 duplicate Hy.Hx.Py(py-Cy,ry-Cy
04 nwltlply ny.tx.ry,{F»-cy)p ' JA -..•«!
ti recall H5 Hy.Hx,py,(Py-Cy)?,Cx
11 recall Hi Hy,Hx,py,(Fy-Cy)?,Cx,Qx
OF add Hy.Kx.Py.tPj^Cy^.Cx^Ox
A2 const half I'V.Hx.ty, (Py-Cy)' .Cxrfx.i
04 miltiply
C3 store H> (K3t- Pi).
E5 recall Hi Ny,Hx,py,(Py-Cy)2,P*,Cx
03 subtract Hy, Hi, Py, {Fy-Cy, Px-Cx
31 duplicate Ky, Hx, py, (Py-Cy I 2 , Px-Cx, Px- Cx
04 arultlply i^y.Hx, ty, (Py-Cy J2, (Px-Cx )2
OF add Hy.Hx.Py, (Py-Cy )?.(Px-Cx)?
15 recall H3 Hy.Hx,Py,(Py-Cy)Z*(Px-C*)Z,Px
01 •(change Hy,Hx,Py,Px,(I,y-Cy)?.(P*-Cx)?
28 •qr Hy,Hx,Py,Px,»
01 exc r.ar.gn Hy,Hx,Py,a,Fx
C3 store H) (K3t- Px).
OB delate Hy.Hx.f?,.

34 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 34
GRAPHICS

11 const On* ORO E71S


18 recall H8 u,1,Mx-Px C5 q_ELirpsE PUSH BC Stack cursor eoordir-atea.
EC n u l l MC n t I >K3t-V*,coa a ED5B0EDB LD o M O R i o n u * ) DBi- Origin cursor coords.
C4 miliiply u,1,(Hx-Px)»cea a 7A LE A , D A w Oy'
39 null K9 u,i,(Kx-Px)*cos 90 SOB Ai« dirrerer.ce in y coords.
tt> recall WJ u,i j (Hx-Px)«coa a,)ty-Py,ain b J810 JH C,«BL_2
04 multiply o,1,Otx-Px)*co( I , («y-br)»eln s 61 LD H,A H » b , ilnor a x l e .
OP add U,1,V 7B LD A , E A» Ox
)t £uplicate H,1,V,V 91 SUB C A fiiffercr.ee in x coords.
04 nultiply B.l.T2 3805 jk c . a t t j
tt recall f.6
2
U,1,V , * 6P LD L,A L u a , najor uli.
)1 duplicate I.1.,»»« 5») LD A ,01 A:- quadrant ™t»r.
01 maltiply 1918 JK ClEXJ

05 divide ED44 QSL_t KB)


03 subtract u,1-v*/a* 6F LD L,A Li- a, w j o r ails.
28 •qr tt.iqrO-vW) IP XOR A Ala 0 . quadrant niwfcur.
05 divide b ieaA JR SE1_J
CT • lore K7 (M7i- b , the nlror u l i ) . E344 eiL_? no
02 delete 61 U> R,A Ht- b , » l « r axil.
10 rati wro TB LD A,£ A I . Ox
05 store N5 <H.5i- t i - 0 ) . 91 SUB C Al* differerc* in x coords.
« delete >606 JH C,QEL_4
a end calc Dlsergage Uie calculator. 6r LD L,A Li> a , iwjor axis.
WJ6C7 C1LL DPJ8,CAJ1CkL_HAJU[ Cancel u e narker cursor. JB& ui A,a? A la quadrant r.uftber.

17 AND A K«j«t carry to indicate e l l i p i e . 48 5£L_J LD C,E BC:- coords of ellipse centre.

CD26E& ELL_2 CALL «6?6,Ei:._q Draw the ellipse. taofc JB


CCB?l6 CALL 16B7,S£TJ»HK Clear workspace a<«J restorn calc ITMT.J . ED44 5EL_4 no
CJ»£0 JP E099 • CC_HOVl «o*f the origin c u r w r and return. 6t LD L,A Lia a , »»Jor axis.
5B0J LD 1 , 0 } Ala quadrant nunber.

42 3EL_5 LD B,D BCia coords of * U i p « e centre.


1600 QEL_6 LD D , 0 0 Di* 0 r inclination of e l l i p j e .
if LD E,A I la quadrant n-jjiter.
C3EAES CALL DEEA,AUJUST_B Adjust coords to ROH convention.
CD06E7 CALL E706,ST*_R£aS Put regs onto calculator stack.
015000 LD BC.0050
CSB9U6 CALL £689 j Cft£ATt_HH1 Create sixteen calculator rencrlea.

mm

BF RST 28 tir the calculator.

e.b.q.o.px.py
cr etore HP (KPt- Py).
02 delete a.b.q.O.F*
CI •tore ME (KEt* Px}.
ce delete ».b,q,0
C4 store H4 (K4:a s : « 0 ; Inclination of ellipee!.
CD store HD (KDia a In s w 0).
02 delete e,b,q
ORG £706 Al const one a,b,q,1

C5 sttjtEos PUSH K CC etore KC (KCla COS S la l).

D5 r'sh us 0) subtract e,b,n-1

E5 F0SH HI AJ const pi/2


<Xo; ID B,OJ 04 nultlply a,b,(q-l)*pl/S
El 3TSO_LOOP rep hi HL:» next r e ; pair fne> stock. C5 store M5 (M5i. t l a an^le correspondinc
Ci PUSH BC Stack B. to start of curve).

ti PUSH HL S U c k H. 02 delete a,b

70 LD A , L C7 • tore K7 (17 la b>.

CALL 2De8,STAC*_A Stack one « g onto calc (tack. 02 delete •


E1 PUP HL C6 store H6

7C LD A|K 02 delete
CKKD CALL 2DC8,5?ACK_A Stack one r « ( onto calc (tack. 56 end c«lc Disengage the calculator.
CI POP ac 57 SCP Set carry to Indicate
ion turn srao_Loop quarter elllpa* only.

0? RUT C5TAI£ JP E 6 » , 1 L L _ 2 Drav curve and finish o f f .

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 35
MINDPLAY

Mindplay
The a d v e n t u r e m a r k e t at the
m o m e n t seems t o be s w a m p e d
w i t h adaptions, be t h e y ot i V
s h o w s , or books. This begs the
q u e s t i o n is a n y o n e p r o d u c i n g
original g a m e s t h e s e d a y s ? ' .
W e ' v e also g o t a plethora of
graphic a d v e n t u r e s w h i c h are
o f t e n poor t e x t a d v e n t u r e s w i t h
useless pictures or so called
animated' adventures.
W h a t e v e r happened t o Ye
Olde T e x t A d v e n t u r e ? T h e r e
d o e s n ' t s e e m to have been an The use of graphics in the an o t h e r w i s e lacklustre g a m e . t o defeat the Ludoid menace.
original and enjoyable text g a m e is relatively unusual c o m A s to the story itself, it broad- I t ' s n o t bad either!
a d v e n t u r e for ages, Is it a dead p a r e d w i t h t h e m a j o r i t y of ly f o l l o w s the plot of the original S o . j u s t w h o are t h e s e
art? I ' m sure the market is still graphic a d v e n t u r e s . The screen book. The g a m e is set in Fan- Ludoids? A p p a r e n t l y , they are
there, but the s o f t w a r e houses dislay is split in t w o halves, w i t h tasia a w o r l d of the i m a g i n a t i o n a g r o u p of c o s m i c V e g a n s l d o n ' t
believe a g a m e w o n ' t sell the lower section reserved tor f a c i n g e x t i n c t i o n by the 'all con- ask w h a t they are!) w h o have in-
w i t h o u t pictures. I ' m not anti- the a d v e n t u r e ' s t e x t , the s u m i n g n o t h i n g ' , e r o d i n g its filtrated the corrupt N e w t o n i a n
graphics in f a c t they c a n in some graphics inhabit the t o p half of very fabric and c o n d e m n i n g it t o Rocket C o . ' w i t h the aim of
cases add greatly to a g a m e Oc the screen. This itself is in turn oblivion. The w o r l d needs a hero d i s r u p t i n g t h e g a l a c t i c Free
casionally I'd like t o take a stab sub-divided. There is a f r o m the 'Real W o r l d ' ( t h a t ' s Trade's revolutionary Trans
at a g o o d , f r u s t r a t i n g a n d b a c k g r o u n d scene w h i c h fills you!), s o m e o n e w h o will believe M a t t r a n s p o r t s y s t e m . Your a i m
lengthy t e x t a d v e n t u r e , but v e r y the g r a p h i c s area and other in Fantasia and so save it f r o m is t o hunt out and destroy Trans
{ e w are released n o w . I t ' s a pity, graphics are printed over this. disaster. In the g a m e the player M a t j a m m i n g e q u i p m e n t planted
because the genre is far f r o m ex These ' o t h e r ' graphics include takes the part of A t r e y u , and a r o u n d the galaxy by the
hausted. Even Level 9 n o w add pictures of every object in i h e m u s t find the saviour of Fan- Ludoids, and so u t i m a t e l y defeat
graphics to their games. g a m e . A l t h o u g h you can only tasia. Only t h r o u g h your the Ludoid menace! this is a fair
Anyday now I expect a carry five at a time only five can endeavours will the k i n g d o m be ly original variation on the old
revival of text only a d v e n t u r e s be displayed at one time. T h e restored t o glory. There is cer- quest plot and the game
s w e e p i n g a w a y o f t e n useless s i x t h place in the object display tainly n o t h i n g in the plot that features several original,
graphics and giving us a rip roar area is t a k e n up w i t h a c u t e pic- adventurers w o u l d see as par h u m o u r o u s t o u c h e s s u c h as the
ing plot instead w i t h plenty of ture of one of your t w o possible ticularly original. I t ' s a n o t h e r Rambo of the m i c r o w o r l d Ram
fiendish problems. Ah, well, companions. variation o n the old fantasy land b o t ' This depressive killer robot
w i s h f u l t h i n k i n g , I suppose! Larger screen illustrations for plot. The colour graphics, add is out to get y o u and provides an
J u s t t o repeat w h a t I said last locations and special e v e n t s are s o m e t h i n g t o this game, m a k i n g e x t r a hazard in your w a n d e r i n g s
issue, I'd like t o hear f r o m y o u . displayed in the t o p left of the it an e n i o y a b l e , il s t a n d a r d around the galaxy in search o l
W h a t do y o u think of a d v e n t u r e screen. The i n s t r u c t i o n s claim a d v e n t u r e . the j a m m e r s .
g a m e s in general ? W h a t about The g a m e is a 'Quadraplex
market trends and the quality of A d v e n t u r e " , w h i c h is Bug B y t e ' s
p r o d u c t the s o f t w a r e house pre- w a y of s a y i n g i t ' s split into four
sent y o u w i t h ? Also, specific parts. The first part is set in the
problems with adventures ' C a p S h i f t ' space bar (!), w i t h the
w o u l d be w e l c o m e . A s I c a n ' t f o l l o w i n g three on the planets
possibly play e v e r y t h i n g , o f f e r s o f g Glacia (pretty cold), Vacatia
of help and solutions t o par- (nice and relaxing) and A q u a
ticular problems w o u l d also be (lifejacket required). There is
greatfully received. All letters, p l e n t y of t o n g u e in c h e e k
problems and s o l u t i o n s should h u m o u r t h r o u g h o u t the g a m e
be addressed to: M i n d p l a y , ZX w h i c h certainly helps t o brighten
C o m p u t i n g , 1 Golden Square, it up.
London, W 1 R 3 A B . A s t o the graphics, w e l l they
are slightly a n i m a t e d . For in-
s t a n c e after ordering f r o m the
f o o d m a c h i n e a tray c o m p l e t e
The Never Ending w i t h m u n c h i e s appears t o drift
Story f r o m the m a c h i n e . The graphics
Ocean are full screen illustrations, most
of t h e m very good, w h i c h scroll
Software o f f i h e screen t o allow the t e x t
£9.95 to take over and the majority of
locations feature an illustration.
The Never Ending Story — w a s A t the end of each of the
originally a novel, a film, and has g a m e s four sections y o u find
n o w resurfaced as a c o m p u t e r c o d e d c o - o r d i n a t e s left by
a d v e n t u r e game. The micro ver friendly agents w h i c h give y o u
sion of the story is a graphic text The Ludoids access to the next section. The
a d v e n t u r e w i t h illustrations for Adventures friendly agents, t h o u g h , are not
s o m e locations, all o b j e c t s and friendly e n o u g h to give you a
s o m e special events. The g a m e the graphics are not intended to Bug Byte hand in c o m p l e t i n g your task to
is split into three parts comprised replace the t e x t but merely to £2.95 o v e r c o m e the Ludoids 1
of o v e r 1 0 0 K of d a t a a n d e n h a n c e it. They are certainly All in all, a very enjoyable and
code. O b j e c t s carried and the not sophisticated e n o u g h to This is a real t i m e four part e n t e r t a i n i n g g a m e , w i t h nice
c u r r e n t ' c o n d i t i o n ' of y o u r replace the t e x t , but the neat adventure with animated t o u c h e s . I look f o r w a r d to the
character is carried f r o m one layout and interesting little pic- graphics, taking you on a Ludoids return in the not t o o dis-
part t o another tures certainly add s o m e t h i n g t o journey t h r o u g h t i m e and space tant future.

36 ZX COMPUTING FEBRUARY,MARCH 1 9 8 6
MINDPLAY

in search of t h e legendary Holy


The Quest For The Grail. The landscape is filled by
Holy Grail several w e i r d characters w h o do
Mastertronic s t r a n g e t h i n g s . There is t h e
three headed knight w h o has a
£1.99 lot on his shoulders and o t h e r s
w i t h o d d names s u c h as NC, LC
and SC. To be avoided at all
This g a m e , I s e e m t o r e m e m b e r , c o s t s is the rampant killer w h i t e
w a s released quite a w h i l e ago rabbit, w h o literally has an ex-
by D r e a m S o f t w a r e , It n o w ap plosive personality. All this is
pears under the M a s t e r t r o n i c mildly a m u s i n g but never ' z a n y '
banner as part of their assault on as claim .id on the c a s s e t t e inlay.
the budget s o f t w a r e m a r k e t . The text part of the a d v e n t u r e is
Mastertronic have produced quite enjoyable, h u m o r o u s in
several a d v e n t u r e s at a b u d g e t places, b u t , n o t h i n g remarkable.
price, but none of t h e m have The real p r o b l e m w i t h this
been particularly original or im- g a m e is i t ' s graphics. These
aginative. really s h o w the g a m e ' s age,
The Q u e s t For The Holy Grail being square c h u n k y block
claims to be M o n t y P y t h o n w i t h g r a p h i c s w i t h the o c c a s i o n a l
chips! U n f o r t u n a t e l y , t h e g a m e sparse line d r a w i n g . The
d o e s n ' t live up t o this tag. It at graphics are really disappoin-
t e m p t s t o e m u l a t e the P y t h o n ting. C o m p a r e d t o these the
teams h u m o u r , but I c a n ' t help graphics of Never Ending Story
feeling that J o h n Cleese and c o . are positive masterpieces.
w o u l d be embarrassed to be This g a m e c o u l d have been
associated w i t h this game. so m u c h m o r e b u t , u n f o r t u n a t e -
While it is a passable a d v e n t u r e , ly at no point does the g a m e live
the M o n t y P y t h o n c o n n e c t i o n is u p to the inlays promise that it is
very loose. S o m e t h i n g I w o u l d the c o m p u t e r game t o sur-
like t o see w o u l d be an OFFICIAL pass all o t h e r s . ' It m o s t d e f i n i t e -
Monty Python game that ly is not. I t ' s more a very average
could be interesting! g a m e w i t h t o u c h e s of h u m o u r
Back to the g a m e in hand. and o u t d a t e d graphics.
Your aim is to guide bold Sir Tap
pen t h r o u g h the medieval terrors Brian Robb •

^Tortoise Wise I;
u p around the house. M y sons
m a y be familiar w i t h a program-
mable Interface. But it will be
years before they are familiar

More thoughts from a parent who gets w i t h our p r o g r a m m a b l e w a s h i n g


machine. . .

left behind. It is a w a i t i n g g a m e .
A year ago, the eldest son
c o n f i d e n t l y s t a t e d his c o n v i c
t i o n that in his life girls could
never take the place of c o m
puters, He lavished his t i m e and
Yes, of course I've felt like 'Tur m o t t o , T o r t o i s e w i s e , is ' S l o w l y h a u g h t y laugh. m o n e y o n his S p e c t r u m and may
rung T u r t l e ' more t h a n just a f e w but surely . . . ' . But y o u get used to that even have kissed it g o o d n i g h t
times. But a gentle reminder D a d , ' says the eldest son laugh. A s parents w e get used t o for all I k n o w . W h a t I do k n o w is
to the kind reader w h o w r o t e t o earnestly, w h i l e I relax in front of that laugh. It is t h e same laugh that since then, p u b e r t y has
TURTLEWISE i t ' s TORTOISE the box w a t c h i n g a f a v o u r i t e that greets your g y r a t i o n s o n the s m a c k e d him b e t w e e n his
Sir, and p r o u d of it to b o o t . p r o g r a m m e (spelt w i t h ME at d a n c e floor at C h r i s t m a s parties eyeballs and s o m e days he's all
The c o m p e t i t i o n still s e e m s the end of the w o r d ) . w i t h the f a m i l y . The same laugh over the place. Do I buy a n e w
formidable as I look over the 'Dad, I ' m g e t t i n g a RETURN that greets y o u r flares every g a m e or a n e w record? Do I spot
s h o u l d e r s of t h e y o u n g e r w i t h o u t G O S U B error report. time y o u w e r e t h e m , or your the b u g s in a p r o g r a m or try not
generation, h u n c h e d over their Shall I check t o see if a G O T O records w h e n y o u play t h e m , t o be b u g g e d by the spots on m y
keyboards during their n o n has been entered instead of a the grey hairs, the m i d d l e age nose? D o I sit at the k e y b o a r d
sleeping, non-eating hours. G O S U B in the p r o g r a m ? ' spread . . . w e ' v e m e t it before. and turn on the S p e c t r u m or do I
I used to ask i n n o c e n t l y , Stay c a l m , I think t o m y s e l f . Try a retort like, 'They laugh sit at a friend's house and get
'Can y o u explain w h a t y o u This is not a genuine enquiry. It ed at M a r c o n i y o u k n o w ' or t u r n e d o n by his eldest sister?
are t r y i n g to d o in this p r o g r a m is m e a n t to make m e look stupid. t h e y laughed at C o p e r n i c u s . ' W e parents have lived w i t h
son 7 ' But that is rather like stick- D o n ' t take your eyes o f f the That usually stalls t h e m for a this state of affairs for years. It is
ing y o u r h e a d u n d e r the screen, a n s w e r c a l m l y and c o n while, and gives y o u a c h a n c e t o called C O N F U S I O N and there is
guillotine t h e s e days. The t e m p - fidently 'Surely y o u k n o w the s h o w off a bit of n o n m i c r o bas n o t h i n g quite like it for closing
tation to lop great c h u n k s f r o m a n s w e r t o that one by n o w . ed k n o w l e d g e . So d o not the gap, T o r t o i s e w i s e .
my already fragile d i g n i t y is t o o d o n ' t y o u ? ' T o w h i c h the reply is despair. Indeed, a w o r d of c o m I c a n ' t w a i t until he 'falls in
great for t h e m . s o m e t h i n g along the lines o f , 'Of fort to the reader w h o w r o t e that l o v e ' . T h a t ' s w h e n I'll quietly nip
I stay o n w a t c h . O n the yes. Of course I k n o w . I w a s just the only M a c h i n e C o d e she is o u t a n d buy t h a t QL a n d
defence. Learning their little c h e c k i n g t o s e e if YOU ever likely to learn, is f o u n d o n printer. . .
ploys t o w e a k e n m y morale. M y k n e w . . . ' A n d t h e n there is a the labels of w a s h i n g that piles David Stewart m

ZX COMPUTING FEBRUARY, MARCH 1 9 8 6 37


REVIEWS

We, the Jury


Gladiator m e n t w i t h the various move-
m e n t s and w e a p o n s at your
Domark disposal on a s t a t i o n a r y oppo-
£8.95 n e n t in a t w o player m o d e . This
h o w e v e r , can be more d i f f i c u l t
t h a n y o u imagine as if y o u get
Gladiator s h o w s life at the sharp t o o close y o u m a y w a l k o n t o the
end of the Roman empire 3s y o u s w o r d of your inert adversary.
h o n e y o u r c o m b a t skills to W h e n y o u have lunged, jabb-
avoid d e a t h in t h e arena and ed, parried and t h r u s t to an ac-
w o r k your w a y up t o b e c o m e ceptable standard y o u are ready
the Emperor's c h a m p i o n . for the c o n t e s t t o begin. A n im
Before going i n t o the arena porant element is c h o o s i n g your
for real y o u can w a t c h t w o prac- weapons an a r m o u r y of dag-
ticed gladiators h a c k i n g a w a y at gers, s w o r d s , lances, n e t s and
each other and m a k e a w a g e r o n t r i d e n t s can be u s e d or if y o u fee!
the outcome. To prepare defensive there is a choice of
yourself it is advisable t o experi shields. In all there are 4 5 op-

tions f r o m w h i c h y o u can select is c o n f i r m e d by looking to the


three. Y o u w o n ' t see w h a t fier- Emperor — the figure
s o m e w e a p o n s your c o m p u t e r t r a n s f o r m s into a huge hand t o
c h a m p i o n has o p t e d for until y o u give the t h u m b s up or t h u m b s
are face t o face. d o w n signal.
The c o n t r o l s are c o m p l e x If single c o m b a t games ap-
a n d t a k e t i m e to m a s t e r either on peal to y o u , Gladiator should
the k e y b o a r d or w i t h joystick, provide y o u w i t h m a n y hours of
there are 25 separate s w a s h b u c k l i n g pleasure and if
m o v e m e n t s and m a n y require a y o u w a n t a duelling g a m e w i t h
double-burst on the joystick. that extra element of d i f f i c u l t y
W h i l e y o u are still i m p r o v i n g t h e n definitely t a k e a stab at this
y o u r gladiator skills y o u w i l l one.
have t o get used t o playing pin-
cushion for your o p p o n e n t . GRAPHICS * * * *
There are three b o u t s in each ADDICTIVENESS * * * *
g a m e and your defeat or v i c t o r y OVERALL * * * *

38 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
Sweevos world r o o m s of Knutz Folly
c o n t a i n the sort of obstacles,
Gargoyle Games block and traps that have
£7.95 become famiiliar to games
players, but instead of being
This is the first c o m p u t e r g a m e able to jump over these
that's actually made me laugh o b s t a c l e s S w e e v o m u s t locate
out l o u d ' U n l i k e G a r g o y l e ' s e l e v a t o r p a d s in t h e r o o m s
earlier g a m e s that have been w h i c h will lift him up. But i t ' s not
quite serious and m e n t a l l y tax a l w a y s o b v i o u s h o w he c a n use
ing, S w e e v o ' s W o r l d is an en t h e s e pads to get a r o u n d
joyable, tongue-in-cheek r o m p o b s t a c l e s and S w e e v o has to
t h r o u g h t h e sort of t e r r i t o r y collect obiects, s u c h as tins and
originally explored by U l t i m a t e in b o o t s w h i c h will c o m e in h a n d y .
Knight Lore a n d Alien 8 . S o m e of the traps that are in
S w e e v o is a Self Willed Ex his w a y are very novel. There are
treme E n v i r o n m e n t V o c a t i o n a l great fingers that come
Organism, designed t o g o out in- t h r u s t i n g up out of the ground,
to the galaxy and clean up in- Incan s t a t u e s that d o the same, Spellbound s o p h i s t i c a t e d c o m m a n d s , just
as if y o u w e r e m a n i p u l a t i n g ob-
hospitable planets. The t r o u b l e and pixie-like creatures that look
is that, as Self W i l l e d E x t r e m e c u t e but are absolutely deadly. Mastertronic j e c t s in an adventure. For in-
Environment O r g a n i s m s go, All these t h i n g s are large and £2.99 stance, if y o u are carrying some
poor S w e e v o is a bit of a failure, finely detailed, and very w e l l o b j e c t s and y o u w a n t to use one
he's failed all the t e s t s that the animated especially the in s o m e w a y , by pressing 'fire'
Sweevo machines are m e a n t t o fingers that have a sort of surreal This is a real budget g e m f r o m y o u call d o w n the first menu.
undergo (he failed t o t u r n u p for quality (well, w h e n w a s the last Mastertronic's new M.A.D This presents y o u w i t h com-
the memory test, as he f o r g o t all t i m e that y o u s a w a six foot range ( M a s t e r t r o n i c ' s A d d e d m a n d s s u c h as Get, Drop, Ex-
about it), but his Robo M a s t e r finger p o p up o u t of n o w h e r e ? ) . Dimension). Titles on this label amine, B l o w , Cast Spell, and so
has decided t o give him one All the screens are d r a w n in will be £ 1 dearer t h a n the rest of on. T h e n by going t o the next
more chance t o redeem himself. just t w o colours, in order t o their games, but if Spellbound is m e n u y o u c a n s p e c i f y w h i c h ob-
The artificial planetoid, Knutz a v o i d a t t r i b u t e clashes, but the an e x a m p l e of the standards ject or character that c o m m a n d
Folly, created by one m a d Baron overall quality of the graphics is that these g a m e s will set, t h e n is t o be used on.
Knutz and his w i f e Hazel is excellent. t h e y ' r e going t o be w o r t h every All the characters and ob-
populated by all sorts of genetic T h e o u t s t a n d i n g feature of penny. jects in the g a m e have their o w n
e x p e r i m e n t s c r e a t e d by t h e ' S w e e v o ' s W o r l d t h o u g h , is the Spellbound is the f o l l o w u p t o s t a t u s tables w i t h details of
Baron, and it is S w e e v o ' s task to w a r p e d s e n s e of h u m o u r it Finders Keepers, but is a larger w e i g h t , magical energy, s t a t e of
boldly go w h e r e no S w e e v o has displays. S o m e of the deadliest and more s o p h i s t i c a t e d g a m e , mind, and other qualities that
gone before and clean out the o b j e c t s in the g a m e are bits of w h i c h c o m b i n e s arcade a c t i o n will a l l o w y o u to use t h e m during
place. fruit, and the w a y t o recharge w i t h an a d v e n t u r e style com- the g a m e . This adds another ele
Graphically speaking Knutz S w e e v o ' s e n e r g y level is t o mand system. m e n t of puzzle solving to the
Folly bears a strong goose a goose (you see, t h e r e ' s Y o u play the part of The g a m e as y o u have t o w o r k out
resemblance t o the Starship in this goose runing around, the Magic Knight, w h o has to the best w a y t o use all the ob-
Alien 8. The v i e w is the same one that lays the Golden Eggs, rescue Gimbel the W i z a r d and a j e c t s a n d t o k e e p all t h e
sort of overhead p e r s p e c t i v e as and if y o u run up behind it and g o n u m b e r of o t h e r c h a r a c t e r s , characters safe and happy. A n d ,
in the U l t i m a t e g a m e s , a n d ' B o o ! ' t h e n it will recharge your f r o m a castle w h e r e t h e y have all if t h a t ' s n o t enough, t h e r e ' s a
Sweevo, w h o is an ungainly, but batteries). Oh, and if y o u w a l k b e e n t r a p p e d a f t e r o n e of t i m e limit and s o m e of the usual
endearing l o o k i n g c h a r a c t e r into a r o o m t h a t has a hole in the G i m b e l ' s spells w e n t w r o n g . arcade-style obstacles and traps
moves diagonally a c r o s s t h e floor, t h e n drop t h o u g h that hole The Knight is a large, finely t o get past as well.
screen as he m o v e s a r o u n d the at your peril! detailed sprite, w h o is s m o o t h l y All in all. Spellbound is a
rooms. K e y b o a r d c o n t r o l of T h e r e ' s m u c h m o r e in a n i m a t e d as he w a n d e r s a r o u n d g a m e that w o u l d be g o o d value
Sweevo is actually better t h a n S w e e v o ' s W o r l d that I c o u l d g o the r o o m s of the castle. In his even if a f e w more p o u n d s w e r e
the c o n t r o l s y s t e m u s e d by o n a b o u t , but the best t h i n g I c a n wanderings the Knight will a d d e d t o t h e price. M a s t e r
Ultimate, t h o u g h . I n s t e a d of say a b o u t t h e g a m e is that I'd c o m e across the characters he t r o n i c s and the g a m e ' s author,
rotating and m o v i n g in the direc- rather go back and carry o n play- is looking for, as well as a variety David J o n e s , have done v e r y
tion that he is facing, S w e e v o ing it t h a n sit here and w a f f l e o n of objects t h a t can be used t o w e l l t o p r o d u c e s u c h an ex-
simply m o v e s in one of four much longer. . . solve the problems that will bar cellent g a m e at s u c h a l o w price.
d i r e c t i o n s by u s i n g t h e ap- his w a y . In solving i h e s e pro-
propriate keys, and I f o u n d this GRAPHICS * * * * * blems y o u are able t o use an in- GRAPHICS * * * * *
system m u c h easier t o use t h a n ADDICTtVENESS * * * * * genious s y s t e m of p u l l - d o w n ADDICTIVENESS * * * * *
that of Alien 8 / K n i g h t l o r e . OVERALL * * * * * m e n u s t o assemble s o m e q u i t e OVERALL * * * * * •

ZX
39 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
Con <

Tau ceti
CRL
£9.95
M a n y a t t e m p t s have been made
t o c o m b i n e fast arcade a c t i o n
w i t h complex adventure type
g u e s t s b u t n o n e m o r e suc-
cessfully t h a n this one f r o m
CRL.
W i t h a w e l l set sci-fi scenario
and a seemingly simple task, t o
s h u t d o w n the Fusion reactor in
the capital city of Centralis on
T a u Ceti, y o u are set d o w n in
one of the cities at the controls
of a s k i m m e r . This m a c h i n e
literally bristles w i t h e q u i p m e n t
and a r m a m e n t s , a laser, eight
heat seeking missiles, anti
missile missiles, flares, scan-
ners, c o m p a s s , shields, night
stands and a computer
(guaranteed debugged!).
The first plays are used simp-
ly g e t t i n g t o k n o w h o w t o use alt
this e q u i p m e n t and t h e n y o u Swords And w h a t ' s it like? is a m e n u of o p t i o n s w h i c h are
have the joy of using a d v e n t u r e Sorcery Quite simply it is the best ver-
sion of D u n g e o n s and Dragons
selected by scrolling t h e m until
the o n e y o u w a n t is at the far left
style c o m m a n d s to com-
m u n i c a t e w i t h your c a m c o r d e r , PSS ever p r o d u c e d on a c o m p u t e r . and then pressing key 9 . Initial
recognising the various £9.95 Using only six keys, three for characters c a n either be the
buildings, a r t i f a c t s and e n e m y m o v e m e n t and three t o access built-in default o n e (Flubbit the
c r a f t , and using the m a p (very This is not really an arcade g a m e menus, a w i d e range of actions Dull), y o u can load a previously
impressive) and teleport s y s t e m and, unlike T a u Ceti w h i c h is ar c a n be e x e c u t e d . T w o large w i n - s a v e d character f r o m tape or in
t o get around. cade w i t h an adventure plot, this d o w s are used, the m a n one at itialise a n e w c h a r a c t e r and
The arcade sequences alone is strategy w i t h graphics. the t o p c e n t r e of the screen is a ' t r a i n ' him/her.
w o u l d have m a d e a g o o d g a m e , I have a friend w h o b o u g h t a plan v i e w of the maze s h o w i n g A little practice is required,
but t h e additional s t r a t e g y and S p e c t r u m a year ago because he your position and any m o n s t e r s but o n c e m a s t e r e d , using t h e
t h o u g h t required puts this g a m e hoped to play D u n g e o n s and in the v i c i n i t y . Your character k e y s gives fast access to the op-
in the same league as Elite. D r a g o n s o n it, a l t h o u g h several w a l k s around this maze and tions w h i c h is just as well as the
I k n o w these g a m e s d o n ' t ap- brave a t t e m p t s have been w h e n y o u are engaged in battle, g a m e needs fast decisions. 1
peal t o e v e r y o n e , but for those m a d e , n o t h i n g actually satisfied it b e c o m e s your s t a t u s screen really enjoyed it and had s o m e
w h o like a real challenge in the h i m and eventually he sold it. displaying b o t h the m o n s t e r ' s f a s c i n a t i n g and h u m o r o u s con-
best of c o m p u t e r g a m i n g this is T h i s p r o g r a m will m a k e h i m sick and y o u r o w n status details. v e r s a t i o n s w i t h s o m e rather
a must. that he d i d n ' t w a i t ! O n the right of the T V screen strange beings. All is f o r g i v e n
This is surely a first for Z X C , PSS have been promising this is a 3 D perspective v i e w of w h a t PSS, s w o r d s and sorcery is well
another rare six star program. p r o g r a m for over a year n o w , y o u are f a c i n g , this also alters as w o r t h the wait.
surely the longest w a i t for a pro- y o u m o v e . A t the b o t t o m of the
GRAPHICS * * * * * g r a m so far, and w e have been screen a w i n d o w displays ac- GRAPHICS * * * * *
ADDICTIVENESS * * * * * g e n t l y reminding t h e m at every t i o n s and c o n v e r s a t i o n s w h i c h ADDICTIVENESS * * * * *
OVERALL * * * * * * o p p o r t u n i t y . So, n o w its here, y o u are engaged in. Finally there OVERALL * * * * *

40 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
I r e m e m b e r o w n i n g one of these
Potty Professor
devices, y o u spun the w h e e l in Software Farm
side the f r a m e and as long as it £6.95
w h i r l e d fast e n o u g h or d i d n ' t hit
a n y t h i n g , it w o u l d b a l a n c e
u p r i g h t o n virtually a n y t h i n g , a
I, Of The Mask S o f t w a r e Farm, a l e a d e r i n Z X 8 1
games, t u r n their hand t o the
Electric Dreams
Beach Head 11 piece of string, a pencil point, or S p e c t r u m market and, as c o u l d

us. cold f o l l o w a ramp of books. £9.99 be e x p e c t e d f r o m a c o m p a n y


W h y I m e n t i o n t h i s is w h o established and pioneered
£7.95 because M e l b o u r n e House has From Ex Quicksilva p r o g r a m m e r Hi-resolution graphics on a
created a p r o g r a m in w h i c h the Sandy W h i t e , he of Ant Attack m a c h i n e never d e s i g n e d for
A shoot ' e m u p w a r g a m e f r o m m o v e m e n t of their g y r o s c o p e is and Zombie Zombie, comes a t h e m , it is d i f f e r e n t .
US Gold w h i c h I e n j o y e d m o r e incredibly a c c u r a t e w h e n c o m - graphically s t u n n i n g , f r e n e t i c The p r o g r a m m e r m u s t be a
1han the original. There are plen pared t o the real thing! 3D perspective maze game. f a n of H e a t h R o b i n s o n . For
ty of options o n e or t w o W i t h some similarities to Your e n e m y is t i m e and the only those w h o d o n ' t k n o w , Robin-
players, three d i f f i c u l t y levels, Marble Madness, n o w a hit in w a y to get a n y w h e r e at all is by s o n w a s t h e inventor of the trivia
choice of b e i n g a t t a c k e r or the arcades, y o u have t o steer quick thinking. m a c h i n e , a w h o l e r o o m of c o m
d e f e n d e r a n d k e y b o a r d or this a w k w a r d o b j e c t d o w n five The i n s t r u c t i o n s are vague, plicated machinery linked
joystick options. maze-like ramps, e a c h exten- but your task is t o search the together t o p e r f o r m some sim-
The game c o n s i s t s of four ding over four s c r e e n s . t h e s e are maze and collect the parts of the ple act s u c h as lighting a m a t c h ,
phases; a t t a c k , rescue, escape beautifully c r e a t e d in solid 3 D r o b o t , in t h e c o r r e c t o r d e r , and this is the aim of the game.
and battle. Beach Head II bears perspective a n d have w a l l s and b e f o r e y o u r e n e r g y is e x - You are presented w i t h a task
some vague resemblance t o the pits t o crash into. A s if that is not h a u s t e d . It is impossible t o simp (the first is t o flush the toilet),
arcade g a m e Commando, hard e n o u g h , there are steep ly run a r o u n d the maze and y o u and a graphic representation of a
although t h e g r a p h i c s are slopes, slippery glass patches, have to make frequent and set of objects. These may be
nowhere near as g o o d . directional m a g n e t s , aliens and strategic use of the c r y s t a l s s e l e c t e d a n d p o s i t i o n e d in
The graphics are excellent, n a r r o w ledges to c o n t e n d w i t h . f o u n d at each j u n c t i o n . Firing at various places to create a
though small, and they are w e l l Oh, and y o u are racing against one will transport y o u t o another m a c h i n e to p e r f o r m the desired
animated. Scores t e n d to be of the clock, but at least y o u get j u n c t i o n , another will transport task.
the massive variety and these seven lives w i t h extra ones for y o u to a d i f f e r e n t passage of the Not all of the o b j e c t s may be
are kept o n a high score table. e v e r y 1 0 0 0 points. maze and the third will reveal a required, and s o m e m a y be
Sound is t o the S p e c t r u m ' s I played this g a m e for far piece of the robot w h i c h has t o needed more t h a n once. The ac-
usual standard. The m a c h i n e longer t h a n I c o u l d really spare be hit three times o n d i f f e r e n t tual task can only be successful-
plays a mean g a m e in the one for the r e v i e w and f o u n d gentle faces t o be collected. ly p e r f o r m e d when you
player mode and should provide n u d g i n g ot the joystick lor keys) The robot pieces are not iden duplicate the m a c h i n e that the
a challenge for the m o s t ardent g a m e me the m o s t control. tified and y o u have t o learn by programmer intended you to
arcadian. I particularly liked the A n o t h e r tip — d o n ' t let the e x p e r i e n c e w h i c h is w h i c h . use. M y m o a n is that I created
two player m o d e w h e r e y o u c a n g y r o s c o p e build u p too m u c h S h o o t i n g a piece out of order several devices w h i c h I ' m sure
get rid of your aggression by s p e e d . I c o m p l e t e d the first loses o n e of y o u r three lives. w o u l d have w o r k e d , only t o see
slaughtering a friend. screen after a f e w plays b u t only Your energy runs o u t at an t h e m c o l l a p s e w h e n s e t in
There are s o m e w h o believe c o m p l e t e d the s e c o n d screen a l a r m i n g rate and o n l y by operation. A n o t h e r quibble is
that this kind of w a n t o n destruc- once, and after m a n y a t t e m p t s a s h o o t i n g a robot piece c a n it be the accuract that is needed in
tion is morally u n h e a l t h y — I tearing of the hair program. replenished. I o f t e n had to p o s t i o n i n g the o b j e c t s , there ap
suggest they avoid this pro A m e n t i o n here of the sound. sacrifice a life in order to keep u p pears t o be very little r o o m for
gram. Personally I f o u n d this t o I a m sure t h e y m u s t have used the e n e r g y . R u n n i n g o u t of error.
be a g o o d e x a m p l e of t h e their W H A M p r o g r a m because it energy ends the game. This is an unusual p r o g r a m
mindless zap e v e r y t h i n g that is w i t h o u t doubt one of the m o s t I tried m a p p i n g the maze (a w h i c h will appeal to the lateral
moves game, and I must also ad- impressive bits of m u s i c I have full m a p is available on screen) thinkers a m o n g y o u and to t h o s e
mit to enjoying a f e w plays heard so far. but the t r a n s p o r t i n g s y s t e m is of y o u w h o e n j o y t i n k e r i n g
when the strain of c o p i n g w i t h Brilliant One of the s t a t e of not s h o w n . a r o u n d w i t h mechanical things.
the state of the art m i n d b e n d e r s the art p r o g r a m s a w a r d e d our One for those w h o enjoy fast Y o u ' l l need a lot of patience
becomes too m u c h . rare six star a w a r d , thinking, f r u s t r a t i n g g a m e s . though.

GRAPHICS * * * GRAPHICS * * * * * GRAPHICS * * * * * GRAPHICS * * *


ADDICTIVENESS * * * * ADDICTIVENESS * * * * * ADDICTIVENESS * * * ADDICTIVENESS * * *
* * * * •
OVERALL * * * OVERALL * * * * * * OVERALL * * * * OVERALL

ZX
41 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
One Man and his
3S& Droid
Mastertronic
£1.99
BCs Quest For world Series
Tires This is yet another p r o g r a m f r o m Basketball
M a s t e r t r o n i c w h i c h p r o v e s that
Software Projects cheap does n o t a l w a y s equal imagine
£7.95 nasty. £7.95 Crumpy Cumphrey
There have been one or t w o Supersleuth
Direct f r o m c o m i c strip to screen s h e e p d o g t y p e p r o g r a m s before T h i s c o m p a n y s e e m s t o be
c o m e s Thor of BC. Frantically b u t in general t h e y w e r e p r e t t y specialising in s p o r t s simula-
Gremlin Graphics
pedalling his u n i c y c l e he faces a dire. This g a m e has got it right tions at the m o m e n t , and seems £7.95
f o r m i d a b l e task, first he m u s t and provides all the irritation ad t o prove that specialisation is no
j u n p rocks and holes, then duck f r u s t r a t i o n of dealing w i t h the bad thing. I used t o enjoy playing The copy w e received w a s a pre-
and j u m p until he reaches the mindless w o o l m a c h i n e s that I the old arcade g a m e of Basket- production copy and had no in-
river. remember f r o m m y days on the ball w i t h the roller ball and t w o structions whatsoever, so if I get
T o cross the nver he has t o f a r m . A c t u a l y , the g a m e does players, but this g a m e relegates something slightly w r o n g I claim
leap on the b a c k s of turtles and not have a rural s e t t i n g b u t , as it to the realms of a n t i q u i t y ignorance!
t h e n hitch a lift on the Dooky the title implies, is set in the Y o u can either play against Y o u appear to be a store detec-
Bird. Once he has a c h i e v e d this f u t u r e on t h e planet An- another o p p o n e n t or against the tive w h o is striving to keep his job.
he is beset by falling volcanic dromadous. c o m p u t e r and c o n t r o l a t e a m of Messages appear at the b o t t o m of
debris as w e l l as obstacles on T h e task is v e r y m u c h in the four players. The a c t i o n is fast the screen and I assume you have
t h e g r o u n d until he reaches the sheepdog vein as your droid has and y o u need plenty of practice to deal w i t h them. These tend to
cave w h e r e Fat Broad and stalac t o r o u n d up the six Ramboids in t o w i n , especially against the vary from the mundane (the boss
tites w a i t to hinder his final ob- t w e n t y c a v e r n s w i t h i n a time c o m p u t e r , even at the l o w e s t of w a n t s a cup of coffee), to the
j e c t i v e of rescuing C u t e Chick. limit and take t h e m in c o r r e c t the six skill levels. Luckily a prac- bizarre (ducks on the ground
A c t i o n s are f a i r l y s i m p l e : order to be t r a n s p o r t e d back to tice m o d e is provided. floor!)
speed up, s l o w d o w n , m o v e for- Earth. To do well in this g a m e it is Wandering around, you begin,
w a r d or back, j u m p and d u c k . Each c a v e r n consists of a n o t e n o u g h t o just run w i t h the to remember the layout of the
K e y b o a r d use is w e l l t h o u g h t maze of tunnels w h i c h your ball and shoot for t h e basket, store and where various objects
out, W Q M K plus ENTER and the droid c a n fly around, dig himself y o u need t o develop the techni can be found. The series or se-
usual j o y s t i c k o p t i o n s are includ d o w n t o allow Ramboids t o pass q u e of passing t o your other quence of actions to achieve your
ed. Using a j o y s t i c k does m a k e o v e r h i m or t u n n e l t h r o u g h players. C o n t r o l of the players is objectives is one w h i c h you must
life easier w i t h this g a m e . walls. Each o p e r a t i n g m o d e is cleverly done in that the m e m b e r discover for yourselves. I must ad-
G r a p h i c a l l y t h i s is w e l l selected by pressing the fire but- of your t e a m nearest or actually mit I have not been able to get
d e s i g n e d , the c h a r a c t e r s are t o n and, by holding the fire but w i t h the ball is highlighted and very far at all (and I've tried, h o w
carefully drawn, excellently t o n d o w n , y o u will be s h o w n the under your c o n t r o l . Pressing fire I've tried!).
a n i m a t e d and the b a c k g r o u n d s location of each remaining Ram causes h i m to j u m p , holding fire The animation is superb and of
are a t t r a c t i v e . Inevitably there is boid. causes each player in the t e a m the large animated cartoon varie-
a little colour clashing due t o the Before y o u c a n actually begin to j u m p in turn, so w h e n the t y , t h e other c h a r a c t e r s are
limitations of the a t t r i b u t e file to r o u n d u p the flock y o u have to player y o u w a n t t o c o n t r o l carefully created and all the ac-
and the range of colours used, get f r o m the b o t t o m of the j u m p s , y o u release the fire but- tiontakes place in a well designed,
t h o u g h personally I did not find screen to the t o p past hundreds t o n and c o n t r o l has passed to frustratingly complex building. K
this o f f p u t t i n g . of ' w i l d ' R a m b o i d s who him. this kind of visual arcade puzzle is
For w h a t a m o u n t s to a fairly o b s t r u c t your path, this seem- W h i l e t h e p l a y e r ( s ) under your cup of team then this game is
unsophisticated game I found ingly simple task c a n be annoy- control move the c o m p u t e r for you. but personally I find it ir-
that I had spent an unusually ingly f r u s t r a t i n g . A nice t o u c h is takes charge of the remainder of ritating.
long ttme ' t e s t i n g ' it and 1 have that at the start of e a c h g a m e the t e a m and tries to m o v e t h e m I think there is probably more
gone back t o it a f e w times y o u c a n enter a p a s s w o r d w h i c h m an appropriate manner, usual to this p r o g r a m t h a n I have
since. Every time I misjudge an will allow y o u t o begin o n the ly this is v e r y e f f e c t i v e a l t h o u g h I discovered and so I will simply say
a c t i o n I kick myself and try again screen y o u last achieved access have seen players i m m i t a t i n g that if you liked Everyone's a Wal-
because I K N O W I c a n d o better to. headless c h i c k c n s o n occasion. ly you'll probably enjoy this one, if
is this the definition of addic- A n a c t i o n p a c k e d mind bog- A challenging, fast, and fairly you are easily frustrated then try it
tion? gier at a great price. realistic g a m e . out at your local shop first.

GRAPHICS * * * * GRAPHICS * * * * GRAPHICS * * * * * GRAPHICS * * * *


ADDICT1VENESS * * * * * ADDICTIVENESS * * * * * ADDICTIVENESS * * * * ADDICTIVENESS * *
* * *
OVERALL * * * * * OVERALL * * * * OVERALL * * * * * OVERALL

42 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
HARDWARE

Discovering
b u t in f a c t has a m p l e spare
c a p a c i t y for any n u m b e r of add
ons. It is not the quickest disc,
(but w e ' r e talking seconds, not

Discovery
m i n u t e s ) , for instance the n e w
K e m p s t o n is quicker. H o w e v e r ,
its real p o w e r lies in its c o m b i n a
t i o n of direct access to s t r e a m s
and channels and its r a n d o m ac-
cess facilities; n o other s y s t e m
has quite this c o m b i n a t i o n .
Files are OPENed using the
" M " c h a n n e l j u s t as w i t h

Hints and tips for the Opus disc drive, microdrives, and are similarly
M O V E d t o s c r e e n or printer

from John wase. t h r o u g h the o n board parallel in


t e r f a c e to c h e c k c o n t e n t s ; to get
T a s w o r d II t o print, all y o u d o is
insert OPEN # 3 ; " b " at the start
of line 1 5.
A s e x t e n s i o n s t o microdrive
s y n t a x , files are specified as IN
or O U T ; w i t h EXP y o u c a n ex-
pand a file, and w i t h POINT y o u
can read r a n d o m l y any item.
This is e x t r e m e l y p o w e r f u l in
sorting data; for instance a
d e d i c a t e d database is currently
being w r i t t e n w h i c h will store a
The Discovery unit with a second
5 25" disc unit attached, together
there is the overriding advan- Obscure errors d e d i c a t e d database is currently
tage of direct access t o s t r e a m s
with my faithful Spectrum and being w r i t t e n w h i c h will store
a n d channels. This brings m e to the s y s t e m
FX 80 Note the extender ribbon scientific references,
cable as recommended by Ray itself a most workmanlike recoverable at random, o n the
piece of code. So far, I ' v e f o u n d
Elder
Reliability and n o b u g s and enquiries h a v e
basis of a u t h o r s , k e y w o r d s , or
of journal. So, ' w h a t did Fred
The Discovery disc s y s t e m has expansion revealed only one (extremely Bloggs publish on SUPERBASIC
had several reviews in the m o n t h s obscure). The error-trapping is a i n Z X C o m p u t i n g ? ' is i m
since its release, ranging f r o m M y experiences w i t h the 3 . 5 " case in point I ' v e already mediately answerable. The
thorough articles t o the glib and single sided drive Discovery unit m e n t i o n e d one u n d o c u m e n t e d catalogue, itself a file, can be
superficial. It is hard t o blame have been g o o d . Sceptics might error report. If you disassemble p r i n t e d o u t , or even used as sort
the reviewers tor they o f t e n only be interested t o k n o w that I have the R O M , y o u ' l l find another data prior to ERASEing
have the i t e m for a f e w frantic as yet had n o errors w i t h 3 . 5 " try opening a s t r e a m to a s t r e a m a u t o m a t i c a l l y u n w a n t e d files.
days. H o w e v e r , I ' v e had mine discs - they're incredibly (the m i n d boggles, but i t ' s possi-
I had t h o u g h t of u s i n g
for several m o n t h s , so perhaps I reliable. Their f o r m a t t e d capaci- ble!), t h e n try printing it (e.g.
Discovery w i t h s o m e of the Beta
can add a f e w hints for potential ty of 1 7 8 K (about t w i c e that of OPEN # 5 ; # 5 : PRINT # 5 -
Basic routines, (for instance it
disc-buyers. a rnicrodrive) is, h o w e v e r , still t h o s e w i t h o u t Discovery can get
w i l l c o n v e r t s t r i n g s t o all
quite l o w , so I added the R A M the error message by sending
c a p i t a l s , s i m p l y f y i n g subse-
Paging the ROM c h i p and a s e c o n d drive, but
mine is a double sided, double
m e an s.a.e.!). The R O M is
t h e r e f o r e in m a n y w a y s dif
q u e n t l y sorting). U n f o r t u n a t e l y ,
the p r o g r a m thinks there is an In
For those w h o haven't read the d e n s i t y , self p o w e r e d 5 . 2 5 " ferent f r o m Sinclair's Interface I
t e r f a c e ! ROM there, and s o m e
reviews, I'll give a quick ex unit of f o r m a t t e d c a p a c i t y R O M , and the h o o k - c o d e s are
parts (the error messages for a
planation of the D i s c o v e r y ' s 7 1 8 K . I've invalidated my different. I am fortunate enough
start), g e t s c r e w e d up. I a m
working. D i s c o v e r y R O M in guarantee, b u t e n o r m o u s l y in- to have acquired a c o m p l e t e
assured that a Discovery-
tercepts S p e c t r u m error- creased c a p a c i t y : ( 5 . 2 5 " is still table giving more t h a n s u f f i c i e n t
c o m p a t i b l e Beta Basic 3 . 0 will
messages; if the s t a t e m e n t con- very m u c h a standard a pity information for the average
be o n the market by the time this
tains a disc c o m m a n d , t h e n the O p u s d o n ' t m a r k e t a 5 . 2 5 " unit machine-coder, please w r i t e to
is in print.
Spectrum ROM is paged out and since their s y s t e m o b v i o u s l y m e for a c o p y .
runs it). Finally, readers might like to
temporarily replaced by
k n o w that there is a Discovery
Discovery's ROM. Sinclair A l t h o u g h t h e s o f t w a r e is Tape to disc user group, based in Holland,
himself e m p l o y e d a s i m i l a r already built in t o d e t e c t disc size (for the s y s t e m has sold well in
method w i t h his R O M controlled and d e n s i t y , m y m o d i f i c a t i o n BASIC s o f t w a r e is very easy to t e r n a t i o n a l l y ) : c o n t a c t D. C .
mfcrodrtves: in the present case has t w o disadvantages. Firstly, m o d i f y ; T a s w o r d ll's microdrive K r u i t h o f , Boeierkade 6 , 2 7 2 5
it controls discs. W h i l s t this the t w o units m u s t be con- version goes straight on. CH Zoetermeer, The
presents one or t w o small pro- nected to a c o m m o n mains E v e s h a m M i c r o C e n t r e ' s Inter Netherlands. In short. Discovery
blems, it also has c o m p e l l i n g ad- source: if the s w i t c h o n the back face III transfers e v e n machine- is just w h a t one might have ex-
vantages. of Discovery is used, the t w o c o d e : transfer t o tape and use a p e c t e d of Company which
Because Discovery apes In discs get out of phase and the h e a d e r reader ( w h i c h t h e y ' l l already has a reputation for pro
terface I, it is not c o m p a t i b l e s y s t e m crashes. S e c o n d l y , in supply) up above R A M T O P to d u c i n g add-ons for other micros,
with microdrives, ( a l t h o u g h net- the original Discovery 2 s y s t e m , give start and l e n g t h of the three t h a v e f o u n d it v e r s a t i l e ,
working is possible v i a . t h e on- MOVE " d " ; 1 TO " d " ; 2 copies CODE sections, then alter the w o r k m a n l i k e , absolutely reliable
board parallel i n t e r f a c e ) . the c o m p l e t e disc f r o m one BASIC loader accordingly. and strongly r e c o m m e n d it.
H o w e v e r , it w i l l a c c e p t all 3 . 5 " drive t o another; h o w e v e r ,
BASIC microdrive c o m m a n d s ; w h e n I t r y this the s y s t e m peripheral power
moreover, these are e x t e n d e d , d e t e c t s t w o d i f f e r e n t disc sizes Readers can contact John I/Vase
for i n s t a n c e * m ' c h a n n e l is giving the error report " n w r o n g Discovery is very reliable. The c/o Department of Chemical
default. This makes syntax im- d i s c " (this is not in the hand- o n board p o w e r supply has at- Engineering, University of Birm-
mediately familiar. Additionally, b o o k , but i t ' s there). tracted unfavourable comment, ingham

IX COMPUTING FEBRUARY/MARCH 1986 43


Micro Music
This month we look at WHAM, no, not
L • •• -

the group but Melbourne House's much


vaunted program for the Spectrum.

MT
1

'

••y y- Ly Ly ^ r y y
V "J! V V v 9

Wham! The Music Box, is claim- took up six sides of a cassette in- 5. Set tempo, the choice of selecting b e t w e e n
ed to be the 'complete sound lay. I like m y instructions t o be at 6. Edit mode. seven different w a v e f o r m s and
s y s t e m for your S p e c t r u m ' and idiot level and explained step by 7. Help page. four durations, these are posi-
as such has a lot t o live up to. step. In fact they are a lesson in tioned in the music by the Y,U or
The Spectrum has long been brevity and precision. They do A l l t h e s e e x c e p t ( 4 ) , are I keys.
noted for its particularly pathetic use a step by step approach and s t r a i g h t f o r w a r d and I'll go into You have to be very clever in-
sound facilities and, apart f r o m a v e r y q u i c k l y and clearly in this one later. deed t o use these options effec
f e w e x c e p t i o n s — Romantic troduce y o u to using the pro- From each of these options tively as the Bass d r u m takes out
Robot's Music T y p e w r i t e r f o r in- gram. y o u are taken t o a screen w i t h its one note f r o m one channel and
stance, p r o g r a m s w h i c h are o w n set of controls and options. the noise takes up a note from
based on this feature are d o o m These are, on the whole, well both channels. A s you can im-
ed t o failure. So w h a t has M H prompted and easy to use, and a agine, this can be very effective
produced to entice us? constant display of status is pro- but y o u have to be extremely in-
The answer is a novel and vided. Music is entered by using genious t o use it t o its full.
adventurous w a y of producing the keys CAPS SHIFT to SPACE
{to all intents and purposes) as a piano keyboard and each
press produces a semi-quaver
whampile
T W O channel sound w i t h o u t
any add-on units. No, I c o u l d n ' t on the staves. You have a range This is one of the main reasons
believe it either and loaded in the of four octaves w h i c h y o u select w h y some people will purchase
program w i t h a large dose of by pressing keys 1 to 4. this program. By using this op
scepticism. Notes longer than a semi- tion you can compile a tune in
The program is supplied w i t h quaver are supposedly produc m e m o r y and save it to tape.
five demonstration songs built ed by repeating as many semi- This saved version can be
in, all by W h a m (the group) and quavers as are required to make reloaded and run independently
very impressive they sound too up the note. These are played as to W H A M and can be incor-
well, technically speaking separate notes t o play a quick, porated into your o w n programs
anyway. There is no a t t e m p t t o teach staccatto semi-quaver trill. To t o play either note by note as the
V o l u m e is not very loud at the any music at all, the user is get around this you have to be program operates, or as a one
best of times and sound quality assumed t o have a background quite ingenious w i t h the use of o f f introduction piece.
on the S p e c t r u m has a l w a y s knowledge or to be willing t o ex rests and tempo techniques. This does for sound w h a t the
been rather dubious, but it is true periment. The problem w i t h ex- Other keys w h i c h have func graphics utilities did for title
there is very definitely t w o chan- p e r i m e n t i n g is t h a t y o u get tions are, (6) to return to the screens or HURG did for DIY
nel sound and also, by very things w r o n g and need to be main menu, (7) to erase the games. I am impressed, but I
Clever timing, a rhythmic per continually changing them. The whole tune. (9) rewind, (0) step must say that as a serious tool
cussion effect as well. editing facilities of some other back one note, (Q) replay tune, for a musician or composer then
Even played on an unadorned programs have been a serious (W) set repeat marker, (E) bass it is not really of any real use.
Spectrum it's w a y ahead of problem but w i t h W H A M you drum e f f e c t , (R) restart, (T) tog- However, as a fun program it is
anything else, but add a sound can delete back by one note at a gle b e t w e e n channels 1 and 2, brilliant. I took it to a school and
boost, such as Cheetah's or the time or o v e r w r i t e selectively. (O) fast f o r w a r d , (P) play single let the pupils there try it and,
Currah Microspeech or the SSL This makes editing quick and note. although none had any musical
units w h i c h output the sound simple. knowledge, it fascinated and
through the TV speaker — or W h e n the program is first Percussion e n t e r t a i n e d t h e m for hours.
even the DK Tronics amp, and loaded y o u are faced w i t h the Finally, as a means of getting im-
you have a very respectable 'main* options menu consisting D r u m e f f e c t s are possible f r o m a pressive sounds and music in
music machine. of: simple synthesizer type section. your o w n programs it is in-
Pressing E places a standard valuable, ! may be mistaken, but
On Test 1. Load a tune. bass d r u m effect in the music I ' m sure I heard WHAMPILED
music in GYROSCOPE,
2. Save a tune. and pressing 8 puts you into
At first I w a s concerned w i t h the 3. Hear the tune. 'noise' creation. Melbourne House's latest ar
t that the instructions only 4. ' W h a m p i l e ' the tune. Once in this option you have cade game.
SPECTRUM UTILITY

Machine Code Trace


Coventry's Carol Brooksbank wrote this
utility to find bugs in her programs and
she thought she'd share it with us.

I don't k n o w about y o u , but I personal. I w r o t e the p r o g r a m one or t w o details w h i c h need our table, points t o the correct
don't think that I have ever w r i t - for myself in the first place, and I more explanation. The interrupt place in the table t o retrieve the
ten a machine code p r o g r a m a l w a y s w o r k in hex, so a d e c i m a l subroutine starts by saving the R O M address for that character.
which ran p e r f e c t l y first t i m e . d i s p l a y w o u l d n o t be v e r y present value of HL in the t w o The digit can t h e n be printed.
You k n o w the feeling. Eagerly, helpful. (One of these days I s p a r e b y t e s in t h e s y s t e m A f t e r the 4 digits have been
you type in your latest master- shall f i n d m y s e l f a s k i n g the variables area at 5CBO. This is printed, the p r o g r a m variable
piece, enter R A N D O M I Z E USR greengrocer for " O A pounds of necessary because the existing SCRP at FF1 3 17F1 31 is p o i n t e d
something-or-other and potatoes, please".) The second values of registers m u s t a l w a y s to the next screen r o w d o w n ,
CRASH! There y o u sit, w i t h a reason is rather more i m p o r t a n t . be saved at the start of an inter and the p r o g r a m exits via the
frozen k e y b o a r d and o n l y a There is a direct relationship bet- rupt subroutine, and if w e p u s h normal interrupt subroutine.
b l a n k s c r e e n or a p r e t t y w e e n t h e b i n a r y f o r m of a it o n t o the stack, it will cover u p T h e listing is for the 4 8 K
psychedelic p a t t e r n t o look at. number the bit p a t t e r n held in the address w e are trying to m a c h i n e . 1 6K folk s h o u l d
You have no idea w h e t h e r there the registers — and the hex retrieve. The address is then c h a n g e the initial " F " in the ad-
is a fault in the logic of your pro- f o r m , w h i c h makes the conver POPped f r o m the stack in HL, dresses to " 7 " , each C A L L
gram, whether you have m a d e a sion b e t w e e n the t w o very PUSHed back again so that it is PRINT i n s t r u c t i o n should read
typing mistake or m i s c o u n t e d a s t r a i g h t f o r w a r d . C o n v e r t i n g an in its correct place w h e n the C D B 9 7 E , a n d t h e b y t e s al
displacement, and y o u d o n ' t address to decimal w o u l d in- return is m a d e f r o m the sub- 7E8D, w h i c h point t o HL t o the
know where to start looking for v o l v e m u l t i p l y i n g the high b y t e routine, and the other register start of the table should be
the trouble, because y o u d o n o t by 2 5 6 , adding the l o w byte, values can t h e n be saved on the 2 1 D 7 7E. A t S T A R T , the high
know how far into the p r o g r a m t h e n isolating t h e 5 digits one by s t a c k . The other spare b y t e b y t e of the interrupt vector ad-
the crash occurred. Well, help is one for printing, all of w h i c h a m o n g the s y s t e m variables, dress should be 2 8 , giving the
at hand. w o u l d make the routine m u c h 5 C 8 1 , is used as an interrupt b y t e s 3 E 2 8 . The interrupt vec-
This machine c o d e p r o g r a m m o r e c o m p l i c a t e d . Since t h e counter If this has r e a c h e d 2 2 d , tor address is not required at
will give you a hex trace at the trace routine is in the f o r m of an the printing position is set t o the 7EFF, so the four b y t e s b e t w e e n
right of the screen, as your pro- i n t e r r u p t s u b r o u t i n e , it is t o p of t h e s c r e e n a n d t h e 7EFD and 7 F 0 1 m a y be chang-
gram runs. It is only a partial desirable that it should be as counter reset t o 0 . O t h e r w i s e , ed to NOP if y o u w i s h , t h o u g h if
trace, as it does not s h o w the short and simple as possible. the routine j u m p s f o r w a r d t o they are left as t h e y are the pro-
address of every i n s t r u c t i o n s as The routine m a k e s use of the print the address. gram will simply ignore t h e m .
it is executed if it did, the f a c t t h a t , w h e n e v e r the Spec- The print subroutine s t a r t s
display w o u l d change so fast
that you w o u l d never be able t o
t r u m p e r f o r m s a subroutine, the w i t h the i n s t r u c t i o n A N D OF, Saving
r e t u r n address is pushed o n t o w h i c h has the e f f e x t of resetting
read it but every 1 / 5 0 s e c o n d the s t a c k . O n an i n t e r r u p t bits 4 7 of the A register, leaving T o S A V E the routine o n tape:
it gives you the address that the subroutine, the return address is bits 0 - 3 u n c h a n g e d , isolating
program has reached. This is the p r o g r a m c o u n t e r , the point the number w e w i s h t o print. SAVE " m / c t r a c e " CODE
enough to let y o u keep an eye on reached in the main program. If PRINT m u s t be called, therefore, 6 5 1 1 6 , 1 8 4 (48K)
the progress of your p r o g r a m , w e c a n retrieve this address w i t h the number t o be printed in SAVE " m / c t r a c e " CODE
and to see w h e r e things start t o f r o m the s t a c k and display it, w e bits 0 - 3 of A . If the n u m b e r to be 32348, 184I16K)
go wrong. For instance, if the have a trace. O b v i o u s l y , there printed is the " l e f t h a n d " digit of
crash is caused by the p r o g r a m are a lot of i n s t r u c t i o n s p e r f o r m the t w o in the A register, the in- T o S T A R T the trace:
getting into an endless loop, y o u ed in b e t w e e n the interrupts s t r u c t i o n RRA is p e r f o r m e d 4
will see the same sequence of w h i c h are not displayed, but this times, to m o v e it to the " r i g h t - RANDOMIZE USR 65271
bytes repeated over and over is usually e n o u g h to let y o u see h a n d " position, but the print (48K)
again after the crash happens. If w h e r e a p r o g r a m takes a w r o n g s u b r o u t i n e is c a l l e d d i r e c t l y RANDOMIZE USR 32503
you left out a return instruction, turning. So, if y o u r m a c h i n e w h e n t h e " r i g h t h a n d " digit it t o (16K)
so that the program starts runn- c o d e p r o g r a m crashes, toad in be printed. W h e n PRINT is call
ing through the e m p t y b y t e s this routine w i t h your o w n pro ed, the DE register holds the first T o STOP the trace:
above your program, that t o o gram I a m a s s u m i n g that y o u b y t e of the screen position for
will be obvious. But remember a l w a y s take the precaution of the digit, and at the end of the RANDOMIZE USR 65292
that the trouble is not a l w a y s at t a p i n g your p r o g r a m s b e f o r e P R I N T s u b r o u t i n e , DE i s (48K)
the point where the crash hap- running t h e m , just in case — restored t o that position. RANDOMIZE USR 32524
pens. A w r o n g displacement in- enter R A N D O M I Z E USR 6 5 2 7 1 Since there are only 1 6 digits (16K)
struction may be some w a y <48K>, 3 2 5 0 3 ( 1 6 K ) , run your w h i c h w e shall need t o print, 0 - 9
away from the point to w h i c h it p r o g r a m again, and all should be and A-F, a table is set up, star- Finally, remember that the trace
directs the program. You will revealed. ting at FED7 ( 7 E D 7 1 6K>, w h i c h will not w o r k if the interrupts are
still have to think for yourself t o holds the start addresses of the disabled. Y o u m u s t change your
decide w h y the program runs as
it does. Details bit p a t t e r n s of those digits in the Dl and El i n s t r u c t i o n s to NOP
R O M character table. Doubling while using the trace, and
Why is the display in hex? The p r o g r a m is explained by the the value of the number t o print restore t h e m w h e n y o u have
Two reasons. The first is purely notes in the listing, but there are and adding it to the address of c o r r e c t e d your problems. ^

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 45
MACHINE CODE TRACE PROGRAM L I S T I N G

ADD. M/CODE LABEL ASSEMBLY NOTES

FE5C 2 2 B <"> 5 C INT S/R LD(5CB0),HL Save p r e s e n t v a l u e of HL


FE5F E1 POP HL Fetch program counter
FE60 E5 PUSH HL Save i t a g a i n
FE61 F5 PUSH AF Save
FE62 C5 PUSH BC all
FE63 D5 PUSH DE realsters
FEM 3AB15C LD A . ( 5 C 8 1 ) Fetch program counter
3C INC A u p d a t e ana
FE68 32815C LD(5C81),A s t o r e i t agai n
FE 6B FEU CP 16 Has c o u n t e r r e a c h e d 22d?
FE6D 200 B JRNZ CONT Jump f o r w a r d i f n o t
FE6F 11 1 C 4 o LD DE.401C Set v a r i a b l e t o
FE72 ED5313FF LD(SCRP),DE first screen p o s i t i o n
FE7fa AF XOR A Set c o u n t e r
FE77 3 2 81 5 C LD < 5 C 8 1 ) , A to 0
FE7A ED5B13FF CONT LD DE,(SCRP) Fetch c u r r e n t screen p o s i t i o n
FE7E 7C LD A, H F e t c h f i r s t two d i g i t s
FE7F IF RRA First digit
F E 60 IF RRA to b i t s
FEB 1 IF RRA 0 - 3
FE62 IF RRA of A r e q i s t e r
FE83 CDB9FE CALL PRINT Print f i r s t digit
FEB6 13 I N l DE Point to next screen p o s i t i o n
F E 87 7C LD A, H Fetch second d i g i t
FE88 CDB9FE CALL PRINT P r i n t second d i g i t
FE9B « *?
I> INC DE Next s c r e e n p o s i t i o n
FE8C 7D LD A ,L F e t c h l a s t two d i g i t s
FESD IF RRA Third d i q l t
FE8E IF RRA to b i t s
FE8F IF RRA 0 - 3
F E90 IF RRA of A r e g i s t e r
FE9i CDB9FE CALL PRINT Print tnird digit
FE<?4 13 INC DE Next s c r e e n p o s i t i o n
FE95 7D LD A , L Fetch 1ast d i g i t
FE96 CDB9FE CALL PRINT Print last diqlt
FE99 2A13FF LD HL,(SCRP) Fetch cur r e n t " s c r e e n p o s i t i o n
FE9C CB1C RR H P o i n t HL
FE9E CB1C RR H to next
FEAO CB IC RR H screen row
FEA2 012000 LD B C , 0 0 2 0 down
FEA5 ED4A ADD HL,BC
FEA7 CB 14 RL H
FEA9 CBii RL H
FE AB CB 1 4 RL H
FEAD 2213FF LD(SCRP),HL Save new s c r e e n p o s i t i o n
FEBO D1 POP DE Restore
FEB 1 CI POP BC all
FEB2 F1 POP AF regi sters
FEB3 2AB05C LD H L . ( 5 C B 0 ) R e s t o r e HL
FEB6 C33800 JP0038 E x i t v i a n o r ma 1 l n t e r r u p t s / r
FEB1' E60F PRINT AND OF I s o l a t e number t o p r i n t
FEBB 87 ADD A,A Doub1e i t
FEBC £5 PUSH HL Save p r o g r a m c o u n t e r
FEBD 21D7FE LD HL.FED7 S t a r t of t a b l e t o HL
FECO 0600 LD B , 0 0 Displacement to
FEC2 4F LD C, A BC
FEC3 09 ADD HL,BC Add t o s t a r t of t a b l e
FEC4 46 LD B , ( H L ) F e t c h ROM
FEC5 23 INC HL character table
FEC6 4E LD C , (HL) address for digit
FEC7 C5 PUSH BC and t r a n s f e r t o
FEC8 E 1 POP HL HL
FEC9 06f»8 LD B , 0 8 C o u n t e r o f b y t e s t o pr i n t
FECB 7E RPT LD A . ( H L ) Fetch byte to p r i n t
FECC 12 LD (DE) , A Print it
FECD 23 INC HL Point to next character byte
FECE 14 INC D Point to next screen byte
FECF 10FA DJNZ RPT Jump back u n l e s s 8 b y t e s p r i n t e c
FED 1 1t An LD A. D R e s t o r e DE
FED2 D60R SUB 08 to screen p o s i t i o n

46 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
SPECTRUM UTILITY " . 53' V ' -'

FED4 57 LD D, A for d i g i t 1
FEDS El POP HL Fetch program counter
FEDfc C9 RET Exit subroutine
FED? 3D80 TABLE DEFB
FED9 3 DBS DEFB
FEDE; 3D90 DEFB
FEOD 3D98 DEFB
FEDF 3DA0 DEFB
FEE 1 3DA8 DEFB
FEE3 3D80 DEFB
FEES 3DB8 DEFB
FEE7 3DC0 DEFB
FE£9 3 DCS DEFB
FEEB 3E08 DEFB
FEED 3E10 DEFB
FEEF 3E18 DEFB
FEF1 3E20 DEFB
FEF3 3E28 DEFB
FEF5 3E30 DEFB
FEF7 211C40 START LD HL,401C Store f i r s t
FEF A 2213FF LD(SCRP),HL screen p o s i t i o n
FEFD 1802 JR PASS By- p a ss
FEFF 5CFE DEFB i n t e r r u p t vector address
FF01 AF PASS XOR A Set i n t e r r u p t counter
FF 02 32B15C LD C5C81 ,A to 0
FF05 3EFE LD A,FE H i g h b y t e of interrupt
FF07 ED47 LD I , A vector address to I r e g i s t e r
FF09 ED5E 1112 S e l e c t i n t e r r u p t mode 2
FF06 C9 RET Return
FFOC ED56 STOP I M1 S e l e c t normal i n t e r r u p t mode
FF 0E 3E3F LD A , 3 F Normal i n t e r r u p t v a l u e
FF 1 0 ED47 LD I , A to I r e g i s t e r
FF 1 2 C9 RET Return
FF 1 3 0000 SCRP DEFB Program variable

i S I ' L-J
X O [? 4
X©2 C
1 SEC
x s [£ e
XS F F
X 0HP:
15 F S
X 5 EE ©
X S EI X
J. 0 M F
xS F ©
X s EE ©
X S EZ X
X 0 FL F
XS F ©
OES C
1 5 F I
15E
1 6E X
XOMF

SCREEN DUMP OF MACHINE CODE TRACE DISPLAY

ZX
47 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
OL

M a k i n g a b a c k u p is easy if
y o u k n o w a little about c o p y i n g
f r o m one m i c r o d r i v e t o another
or disk, because u n f o r t u n a t e l y
there is n o b a c k u p p r o g r a m on
the cartridge w h i c h c o u l d cause
problems.
There is no high score routine
as s u c h but there is a high break
table w h i c h is a fairly g o o d idea.
Playing is q u i t e simple w i t h very
Damian Clay takes a look at more new g o o d onscreen p r o m p t s and
easy t o u n d e r s t a n d instructions.
games for the QL. The only really hard parts are
selecting your spin and your
p o w e r , but w h e n y o u get used
t o it it b e c o m e s more easy to
judge.
There is not m u c h in the w a y Overall it is an excellent g a m e
of graphics, and b o t h sound and and is w o r t h every p e n n y , w e l l
colour are v e r y limited, but t h e n w r i t t e n and is well w o r t h adding
t h e y are n o t really needed in an t o your collection.
a d v e n t u r e p r o g r a m . The t e x t is
set out in three w i n d o w s , t w o GRAPHICS * * * * *
w h i c h tell y o u your l o c a t i o n and ADDICTIVENESS * * * *
objects and one for input.
OVERALL * * * * *
It is very easy t o b a c k u p as
there is a b a c k u p p r o g r a m on the
cartridge w h i c h is run separately OL Blackjack
f r o m the master cartridge. It is Ouest
easy t o use, all y o u have to do is
place the master in m d v i and This g a m e is a c o m p u t e r card
your blank cartridge in m d v 2 g a m e s i m u l a t i o n of the English
and run the b a c k u p p r o g r a m . c a s i n o v e r s i o n of B l a c k j a c k
Playing is very simple but it is (pontoon), w h e r e the object of
very easy t o get lost unless y o u the g a m e is t o get a blackjack or
keep a m a p of your m o v e m e n t s . as near to 2 1 as possible.
C o m m a n d s are also very simple Y o u stari the g a m e by sign-
and c a n be easily r e m e m b e r e d ing a c h e q u e for £ 1 0 0 w h i c h is
It is p r e s e n t e d v e r y w e l l your m o n e y to use t o bet o n your
a l t h o u g h there are no o n s c r e e n cards. A f t e r y o u have signed
i n s t r u c t i o n s a n d the w r i t t e n y o u r c h e q u e y o u start to play.
ones are t w o t y p e d sheets of First y o u place your bet, t h e n
A 4 , but they explain the g a m e it displays b o t h of your cards
and h o w to play it v e r y w e l l . f a c e u p a n d the c o m p u t e r ' s
It is quite a g o o d g a m e overall cards o n e face up and one face
and is a very g o o d g a m e for d o w n . It is your turn first, and
a d v e n t u r e lovers, a t m o s p h e r e is y o u can HIT ( t w i s t ) , DOUBLE or
w e l l created and s o m e of the STICK. If y o u have t w o cards of
problems are q u i t e d i f f i c u l t . equal value the c o m p u t e r asks if
y o u w o u l d like t o split. A f t e r y o u
GRAPHICS NA have had your t u r n it is t h e com-
ADDICTIVENESS * * * * p u t e r ' s and it has t o try t o better
OVERALL * * * your score. U n f o r t u n a t e l y the
g a m e does not accept five card
t r i c k s or allow y o u to ' b u r n ' o n
Steve Davis fourteen.
Snooker The graphics are very g o o d
and the cards look nearly real.
CDS Use of colour is also good, a n d
£14.95 sound, t h o u g h limited, is fairly
realistic.
This g a m e is a c o m p u t e r Simula T h e g a m e is v e r y w e l l
t i o n of t h e g a m e of snooker presented a l t h o u g h the instruc-
w h e r e y o u can play either the tions are a t y p e d sheet of blue
c o m p u t e r , another o p p o n e n t , or A 4 paper, but these give y o u in-
the c o m p u t e r can play itself. s t r u c t i o n s on h o w t o use the
The graphics are excellent g a m e and a very brief introduc-
Fantasia player takes o n the role of a spy
in a hostile c o u n t r y under the
and they m a k e it look very m u c h
like a real table. Use of colour is
tion t o the actual g a m e of black
jack.
Adventure absolute rule of the emperor. also very g o o d and c o m p l i m e n t Overall it is a v e r y g o o d g a m e
S.B. Software Your mission is in t w o parts: t o the graphics, h o w e v e r black is and is well w o r t h adding t o your
£8.50 recapture s o m e of the sacred
treasures looted from your
represented by a green w i t h a collection.
pink centre and the b r o w n by a
c o u n t r y and t o assassinate t h e green w i t h a red centre. S o u n d is GRAPHICS * * * * *
This p r o g r a m is a t e x t a d v e n t u r e e m p e r o r w h o is oppressing your fairly w e l l used and s o u n d s quite ADDICTIVENESS * * * *
set in a series of scenes. The people. good. OVERALL * * * * *

48 ZX COMPUTING FEBRUARY'MARCH 1 9 8 6
MICRODRIVE UTILITY

Microdrive File
Utility Suite
w.F. Barnard of Oxon helps to get us
organised with three useful programs
for use with files.

We'd like to k n o w a bit a b o u t Line number, Line length. Max- longest line in the file. If any of m i c r o d r i v e s a file of 9 0 K .
you for our f i l e s " said S i m o n and imum line length so far, and the this i n f o r m a t i o n is not k n o w n The p r o g r a m uses t w o t e m
Garfunkle to M r s Robinson. She Total number of bytes in the file t h e n the file should be first read porary files d u r i n g m y sort and
needn't have w o r r i e d if they so far. by m y File Analyser. If t h e last merge a l g o r i t h m . The last line of
were kept on a m i c r o d n v e as line of the file is not ' * • * • ' t h e f i l e a g a i n s h o u l d be
they are bound to get lost or c o n The listing c a n be halted for then this is added for f u t u r e use. ' * • * • ' . The program will
fused. v i e w i n g by pressing any key. Itis A facility is also included t o take some m i n u t e s to sort a
But, n o w w e have this suite a s s u m e d that the last line of the make a c o p y of this file to large file so it tells y o u roughly
of programs to enable micro- file is f o u r stars i.e. ' • * • • ' c a s s e t t e . This is s o m e t i m e s w h a t it is d o i n g w h i l s t ex-
drive o w n e r s t o get s o m e order k n o w n as archiving. ecuting.
and organisation in their s y s t e m , 2) FILE COPIER The p r o g r a m reads so m a n y
three in all and they p e r f o r m the FILE SORTER lines f r o m the m a i n file into an
following tasks: W i t h only o n e m i c r o d r i v e it is not array and t h e n sorts these into
easy to make copies of data files This p r o g r a m a l l o w s microdrive order. It t h e n merges this array
o n t o other cartridges. This pro- files of u p t o 9 0 K t o be s o r t e d w i t h one of the t e m p o r a r y files
1) FILE ANALYSER g r a m will make a c o p y of a into alphabetical order. The size into the other t e m p o r a r y file.
m i c r o d r i v e file to another car- of the file that can be s o r t e d This c o n t i n u e s until the end of
This program p r o m p t s for the tidge using only one microdrive. d e p e n d s on h o w m a n y micro- the main file. The number of
name of a file and w h i c h micro- The size of the file is limited by drives y o u have. A s s u m i n g that lines that are read f r o m the m a i n
drive it is on. It t h e n reads the a m o u n t of m e m o r y available a full 9 0 K is available o n your file and sorted is selected by the
through the file displaying infor in the c o m p u t e r . cartridges then with one user. This value together w i t h
mation about each line and t h e n The p r o g r a m p r o m p t s for the microdrive a file of 3 0 K c a n be the l e n g t h of the longest line
the line itself. The i n f o r m a t i o n is filename, the n u m b e r of lines in sorted, w i t h t w o microdrives a should be as large as the c o m
of the f o r m : t h e file and the l e n g t h of the file of 4 5 K . and w i t h t h r e e puter's memory allows.

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 49

I
Program 1. File Analyser.
2 REM * M i c r o d r i v e F i l e Analy 333 LET t o t a l = t o t a l + l e n + 1 : REM
ser * 1-<CR>
6 340 IF 1en >max1 e n THEN LET max
10 GO SUB 100: REM i n i t 1en=1 en
20 GO SUB analyse 343 POKE 23692,0
30 STOP 530 PRINT INVERSE 1 ) l i n e ; '
99 L e n - * I len) " M a x - * Jmax 1e n J " Tot~
100 REM * * * * * * * * " | t o t a l
101 REM * I n i t * 360 PRINT a*
102 REM * * * * * * * * 363 IF INKEY«<>"" THEN GO TO 5
103 63! REM wait if key pressed
110 CLS tt: CLEAR tt 370 IF a « < > " * * * * • THEN GO TO 3
120 INPUT "What is the f i l e n a m e 10
2 "f LINE f * 373
130 IF LEN f * = 0 OR LEN f * > 1 0 TH 380 CLOSE #4
EN GO TO 120 390 RETURN
140 INPUT "Which m i c r o d r i v e num 393
ber is i t on? "find 600 ERASE B n a f l l - F i l e an'
130 IF mdCl OR md >8 THEN GO TO 610 SAVE * " m " J l } " F i l e an" LINE
140 10
160 LET l i n e = 0
163 LET t o t a1~0
170 LET naxlen=0 Program 2 Datafile
180 LET analyse=300
11 REM * Copy M i c r o d r i v e Data
190 OPEN # 4 f "in" | m d | f *
F i l e *
200 RETURN
12 REM * Using Only 1 D r i v e .
499 *

14 REM If 2 d r i v e s are a v a i l a b
n n n n n n n n i i n n n i K m
le then use the MOVE command.
301 REM * Analyse f i l e . T h i s ro
16 REM * MOVE , n i , U ; ' O r i g i n a l "
u t i n e H i l l end in EOF e r r o r *
TO " m " I 2 | " C o p y " *
302 REM * u n l e s s the l a s t l i n e
19
of the f i l e is * * * * *
20 CLS CLEAR tt
303 REM H i m n n n n n n n M i H
30 INPUT "What is the f i l e n a m e
n m n n i n i » m i n m » > n e
? •( LINE f «
304
30 INPUT "How many l i n e s in th
310 INPUT #4| LINE a*
e f i l e ? "? 1 i n
320 LET 1i ne=1ine+i
60 INPUT "What is the l e n g t h o
330 LET 1en-LEN a*

50 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
MICRODRIVE UTILITY!

* the longest l i n e ? ' ! l e n 70 GO SUB c l o a e f l i e s


65 75 IF MOT end THEN GO TO 50
69 REM may -fail here if f i l e t 80
oo large t o hold in memory 85 GO SUB f i n i s h o f f
70 DIM a«(1 in, len+3) 90 GO TO 9999
73 99
80 OPEN H 4 J " m " } 1 J f <$ 100 REM * * * * * * * *
83 101 REM * I n i t *
90 FOR i =1 TO 1 i n 102 REM * * * * * * * *
100 INPUT #41 LINE b* 103
110 LET a*(i)«=b* 110 CLEAR tt: CLS tt
120 LET a $ ( i , I e n + 1 TO )=STR* 115 PRINT AT 0 , 3 | ' M i c r o d r i v e Fi
LEN b* le S o r t e r "
130 NEXT i 120 PRINT AT 1,81"W.F.Barnard B
135 . Sc . "
140 CLOSE tt4 125 PRINT AT 2 , l l J " A p r i l 1984"
143 126
150 INPUT "Place your new c a r t r 128 REM 1 i m i t = max no. l i n e s rea
idge in y o u r m i c r o d r i v e and press d from i / p f i l e & s o r t e d
ENTER"» LINE c * 129 REM 1en=max l i n e l e n g t h
133 130 REM a*< 1 i m i t , l e n +3 ) = M i m i t *
160 OPEN #4» "m" M M * l i n e s of M e n * chars (+3 to hoi
163 d o r i g i n a l l e n g t h )
170 FOR i = l TO 1 in 131
180 PRINT H 4 ; a ® ( i , TO VAL a$ 135 DIM f * ( 3 , 1 1 ) : REM 3 m i c r o d r
( i, len +1 TO ) ) ive no.s + f i l e n a m e s
190 NEXT i 140 LET b * = " " : REM input l i n e
193 145 LET TRUE®1: REM Boolean va1
199 REM if l a s t l i n e in f i l e no ues
t * * * * then add i t . 150 LET FALSE=0
200 IF b»< > " * * * * " THEN PRINT M 155 LET swap=FALSE: REM used in
4 ; " * * * * " sor t rout 1ne
210 CLOSE #4 157 LET end=FALSE! REM end of i
213 npu t f i l e .
220 INPUT "Would yo l i k e to mak 160 LET u s e r i n p u t = 2 5 0
e a backup copy of your f i l e on 165 LET i n i t f i l e s = 4 0 0
c a s s e t t e CY/N)? " i b * 170 LET read 1ines=500
230 IF b * - " Y " OR b * = " y " THEM S 175 LET s h e l l s o r t - 6 0 0
AVE f * DATA a*() 180 LET o p e n f i l e s = 8 0 0
235 195 LET merge=900
240 STOP 200 LET c 1 o s e f i l e s = l 1 0 0
999 202 LET f i lename=1300
1000 ERASE "m" M S " C o p y f i l e " 205 LET -f i n i s h o f f«1200
1010 SAVE *"m"J I I " C o p y f i l e " LIN 206 LET o1d=5: LET new=6! REM s
E 10 tream no.s
Program 3. File Sorter. 210 RETURN
11 REM * M i c r o d r i v e F i l e S o r t e 249
r * 250 REM **-*-*-*-**-**-* * * * *
15 251 REM * User input *
20 GO SUB 100: REM i n i t
30 GO SUB user input 253
40 GO SUB ini t f i l e s 233 PRINT * " P l e a s e type in the
45 name of your f i l e t o be s o r t e d 1
50 GO SUB read l i n e s n the -form:-"
55 GO SUB she 11sor t 260 PRINT * " I f red"

60 GO SUB openf i1es 263 PRINT •-where 1 is the micr

65 GO SUB merge o d r i v e numberand * f r e d * is the f

ZX
51 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
IMICRODRIVE UTILITY!

i1ename.• 502 REM n i l i n U H K H K 3 H H H H H H H E


270 GO SUB f i l e n a m e n u n
271 PRINT ' " M a i n -file = • | b* 503
272 LET f * t l ) » b * 504 POKE 23692,0: REM auto scro
274 PRINT '"How many l i n e s to b 1 1
e read and s o r t e d at a time?" 505 PRINT *"Reading main f i l e "
273 INPUT 1 imi t 510 LET count=0
276 PRINT •"What is the l e n g t h 515
of the longest l i n e in you 520 INPUT «4| LINE b«
r f i l e ? ' 530 IF b*="*HHHfr" THEN LET end =
277 INPUT len: IF 1e n <1 THEN TRUE: RETURN
0 TO 276 540 LET c o u n t = c o u n t + l
278 DIM a t ( l i m i t , l e n + 3 ) 550 LET a * ( c o u n t ) = b »
279 560 LET a » ( c o u n t , l e n + 1 TO >=STR

280 PRINT ' " P l e a s e type in the • LEN b«

names o-f 2 -files, in the same 570 IF c o u n t < >1i mi t THEN GO TO

•format as above, t h a t can be 520

used -for o u t p u t . " 575

283 GO SUB -filename 580 RETURN

286 PRINT *"Temporary F i l e 1 =• 599


600 REM 4HHHHHHHHHHHHHHt-***»
290 LET f * ( 2 ) = b * 601 REM * S h e l l s o r t a*(> *
295 GO SUB f i l e n a m e
296 PRINT "Temporary F i l e 2 = ' 603

1 b« 605 PRINT ' " S o r t i n g "

300 LET f*(3)=»b« 610 IF count <2 THEN RETURN

303 615 LET sh 1 1

310 IF f * ( l ) = f * ( 2 > OR f * ( 2 ) = f » ( 620 IF s h K c o u n t THEN LET shl =

3) OR f * ( l ) = f « ( 3 > THEN PRINT »' sh1*2: GO TO 620

S o r r y , you c a n ' t have the same 625

-filenames f o r input and o u t p u t ! " 630 LET s h l - s h l / 2

: GO TO 250 635

350 LET o * = f * ( 3 ) : REM o l d f i l e 640 LET swap=FALSE

355 LET n * = f « ( 2 > : REM n e w f i l e 645

360 RETURN 650 FOR i = 1 TO c o u n t - s h l

399 660 IF a * ( i ) < = a * ( i + s h l ) THEN

400 REM M I X K M»M X * * I M M * GO TO 690

401 REM * I n i t f i l e s * 670 LET b * = a * ( i > : LET a * ( i > =


a * ( i +sh1)

403 680 LET a » ( i + s h l ) = b » : LET sw

410 PRINT ' " I n i t i a l i s i n g f i l e s " ap=TRUE

415 PRINT ' " O p e n i n g main f i l e " 690 NEXT i

420 OPEN #4|"m"iVAL f * ( l , l ) J f * < 695

1,2 TO ) : REM mai n f i l e 700 IF swap THEN GO TO 640

421 705

425 PRINT ' " C r e a t i n g n e w f i l e " 710 IF s h l O l THEN GO TO 630

430 OPEN ttnewl"m";VAL n * ( l ) i n * ( 715

2 TO y: REM c r e a t e n e w f i l e 720 RETURN


440 PRINT # n e w ; " * * * + " : REM w i t h 799
f i l e t e r m i n a t o r
450 CLOSE ttnew *

460 RETURN 801 REM * Open new Ic old f i l e s

499 *
802 REM n i n i n n n n n i n ^ m
•JHHHHHf *
501 REM * Read l i n e s from main 803
f i l e * 810 IF c o u n t - 0 THEN RETURN

52 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
IMICRODRIVE UTILITY!

1083
811
1090 RETURN
815 REM snap new fc o l d f i 1ename
1099
s
1100 REM * * * * * * * * * * * * * * * * * * * * * * *
820 LET b*=o«: LET o«=n«: LET n * *

821 1101 REM * Close new fc o l d f i l e s


*
825 PRINT " O p e n i n g o l d t i l e "
830 OPEN Hold J "m"JVAL o * ( 1 > ; o * (
2 TO ) **

831 1 103

835 PRINT " O p e n i n g new f i l e " 1110 IF c o u n t s THEN RETURN

810 OPEN « n e w | ' m ' l V A L n « ( l ) | n « ( 1120 PRINT H n e w f ' m * ' : REM term

2 TO > i nator

850 RETURN 1130 CLOSE Mnew

899 1140 CLOSE ttold


Q0ICV
r XJ Kj P
r\ PC M
H RMJt ¥H¥K¥R
¥X¥H
¥ 1
¥ I¥XL R
T X
M ¥W M ¥ ¥K ¥K ¥R¥W¥ X¥ X¥ ¥ RR
T It ¥ 1141
H » » » n i l l l ( K I I 1143 PRINT " E r a s i n g o l d f i l e "

901 REM * Merge a * (> w i t h o l d * i 1150 ERASE " m " » VAL o * ( l M o * < 2 TO
le i n t o newfi1e * )

902 REM 1160 RETURN


*M *«* •y*Wt fH* Wf M
X TV fV TJtKVXVItWR Vnw w * 1 199

903 1200 REM

905 PRINT * "Merging" 1201 REM * F i n i s h o f f *

910 IF count=0 THEN RETURN 1202 REM

920 LET p t r = l : REM p o i n t e r i n t o 1203


a* ( ) 1210 CLOSE H4*. REM main f i l e

925 1220 CLEAR HI CLS #

930 INPUT Hoid J LINE b * 1225


1230 PRINT Your f i l e " ' f * ( 1 , 2 TO
940 IF b*="-****' THEN GO TO 10
00 ) ' " o n m i c r o d r i v e " ; f « ( l , l )

945 1240 PRINT * " i s now s o r t e d in th

930 IF p t r > c o u n t THEN GO TO 10 e f i l e "

50 1250 PRINT n * ( 2 TO ) on m i c r o d r

960 IF b * < = a * ( p t r , TO len) THEN i ve "J n * ( 1 )

PRINT Mnewjb*: GO TO 930 1260 RETURN

970 PRINT ttnewja*(ptr, TO UAL a 1299

* (ptr t 1en + 1 TO ) ) 1300 REM * * * * * * * * * * * * * * * * * * * * * * *

980 LET p t r = p t r + 1 IT Jf" ^ ^ ^ ^

990 GO TO 950 1301 REM * Got f i l e n a m e in form


995 1f red *
1000 REM End of o l d f i l e - w r i t e 1302 REM * where 1 is m i c r o d r i v e
rest of a*() to n e w f i l e . no. *
1005 1303 REM * and ' f r e d * is the f i l
1010 FOR i - p t r TO count ename *

1020 PRINT # n e w j a * ( i , TO VAL 1304 REM

a « ( i , l e n + 1 TO )> X MffIf i H f Jf"

1030 NEXT i 1305

1035 1310 INPUT LINE b*

1040 RETURN 1320 IF LEN b*<2 OR LEN b * ) l l TH

1045 EN GO TO 1310

1050 REM End of a * ( ) - copy r e s t 1330 IF b * ( 1 ) < " 1 " OR b * ( 1 ) > " 8 " T

of o l . d f i l e to n e w f i l e . HEN GO TO 1310

1055 1340 RETURN

1060 PRINT Hnewfb* 1399

1070 INPUT #oldJ LINE b* 1400 ERASE " m " i 1 ; " S o r t e r "

1080 IF b « < > " * * * * ' THEN GO TO 1 1410 SAVE * " m " J 15 " S o r t e r " LINE 1
060 0

53 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
ZX81 CAME

Starfighter
Han Crielard has been stargazing in the
Netherlands and invites all budding
space pilots to try shooting them!

The object of the g a m e is to t w o parts, BASIC and machine


BASIC listing
shoot at the stars (inverse ' * 'I code. The m a c h i n e c o d e prints
w h i c h g r o w up. If there are four the score in inverse characters Line(s)
stars above each other, y o u lose at the t o p left of the screen, and
a life. Your task is t o prevent i n c r e m e n t s ii by t e n p o i n t s at a 1 m a c h i n e code.
such a g r o u p of four stars form- time. 10-90 makes the screen black, and sets up variables
ing. Y o u shoot at the stars, and if First, t y p e in the machine print the i n s t r u c t i o n s o n the screen
99-210
y o u hit them, they are c o d e loader and RUN it. The 220-390 print the same screen.
d e s t r o y e d , but not for long. The c o m p u t e r will display a series of 399 460 variables used in the shoot routine.
game ends w h e n y o u have run m e m o r y address a n d ask y o u t o start key routine.
470-480
o u t of lives (you begin w i t h INPUT s o m e n u m b e r s . These 489-840 mam program.
three). If y o u beat the high score are g i v e n in the disassembly 999-1040 m o v e spaceship left.
y o u c a n enter your n a m e (up to listing (figure 1). Then t y p e in 1999 2040 m o v e spaceship right.
thirteen characters), and at the the BASIC listing and y o u are 2999 3230 s p a c e s h i p ' s shoot routine
end of the game the f o l l o w i n g ready t o start. 3999 4210 'lost life' routine
o p t i o n s are displayed: The graphics characters in 4999-5060 print lives o n screen.
line 3 1 0 are the g r a p h i c s 5999 7530 g a m e over routine, a n d print i n s t r u c t i o n s .
Press 1 for i n s t r u c t i o n s . characters on the ' A ' key 7999 8300 input n a m e and high-score.
Press 2 to play again. To S A V E the g a m e , t y p e GOTO 8499-8610 extra life routine.
9 0 0 0 . The g a m e will S A V E 8999 9030 S A V E routine.
Pressing ' 1' or ' 2 ' will give the itself a n d t h e n RUN.
appropriate response, You gain If y o u find i h a t the score
an e x t r a life u p o n r e a c h i n g needed to gain an extra life is t o o
Machine code loader
2 0 0 0 points. high, t h e n alter line 8 3 0 as re-
The p r o g r a m is d i v i d e d i n t o quired.
1 REM XXXXXXXXXXXXXXXXXXXXXXX

»yyyy
xxxxxxxxxxxxxxxxxxx
10 SCROLL
20 FOR X-16514 TO 16345
30 PRINT XI• "J
40 INPUT A
30 POKE X,A
60 PRINT A
Figure 1. Disassembly listing. 70 SCROLL

r* ***•»»• * 1
MACHINE DISASSEMBLY 80 NEXT X

LABELS ADDRESS ASSS;iBL3R DECIMAL

SET UP 16514 NOP 0


16515 NOP
16516 LD HL, (D-FILE) 42 12 64
16519 LD DE,512 17 f* 2
1652? ADD HL,DE 25 1 REM U?F£Rh40) 1 : 6fcRNDE£RND ) £
16523 LD ( 1 6 5 1 4 ) , H I 34 130 64 ; uSSF/ P R I N T ?THN C^XXX
ii? POKE 1 6 4 1 3 : 0
SCORE 16526 LD EL, (D-FILS) 42 12 64 ' :0 Lil ! 5 — |
16529 LD DE, 1 2 17 12 0
16532 ADD HL, DE 25 _ f t
16533 LD A, (HL) 126 60 LET" HT =0
16534 INC A 60 70 LET I $ = ' j
16535 CP 166 254 166
16537 JR NZ 5 32 5
16539 LD (KL),156 54 156 105 PRINT hT 2 . 1 0 : " m
16541 DEC HL 43 THB 10; '^m^Jj^f^M -1
16542 JR 245 24 245 i
16544 LD (HL),A 119 110 PRINT RT 6 , 5 ; "
• r.T —> q • "
16545 RET 2(21 >H • t > D ,

54 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
ZX81 CAME

4 0 1 0 I F ;_V Q T ^ E N P R I N T R T 1 5 , 9 ,

4 0 2 0 IF L U = 8 T H E N GOTO 6000
4 8 ^ 8 G~<5UB S000
4 0 4 0 FOR U = 8 TO 50
4 0 5 0 NEXT U
4 0 6 0 DIM P ( l l )
4 0 7 0 LET D = 15
4 1 0 0 l-OSUE? =000
4 2 0 0 PRINT RT 9 , D ; " 8 "
1 5 8 P R I N T A T 4 2 1 0 GOTO 520
H $ 4 9 9 9 REM
1 6 0 P R I N T R T 2 0 , 5 ; " ; R T 2 0 , 3 , 5 0 0 0 L E T U $ = C H R $ ( L U + 1 5 6 3
1$ R T 3 , 2 9 ; U $
2 0 0 P R I N T R T 2-3,4-; "I 5060 RET UR N
5999 REM
2 1 0 I F I N K E Y $ = " " T H E N G O T O 2 1 0 5O00 F i j w i j = 0 T»~i 2 0
2 2 0 L E T S C = 0 6010 PRINT R T _ 1 1 , 1.; "
2 3 0 L E T L U = 3 &0c0 r O ^ D = 0 TO 1
2 4 0 L E T = 6030 NEXT B
2 5 0 G O S U B 1 0 0 0 6048 PRINT RT 1 1 , 1 ; "|
3 0 0 P R I N T R T 3 6 0 ^ 0 NEXT U
T R B 1 0 ; " 3 F. 0 F. 0 u Q 5 i ifj
3 1 0 P R I N T R T .3 . 1 0 ; " 7000 IF 5 C / H I THEN GOSUB 3800
; R T 1 4 , 1 0 ; - M M 7010 n n T n - p n,-i-rt oi D /siU • RD *J h• _esD $
*
3 2 0 P R I N T H T 9 , 1 5 7 0 2 0 P R I N T R T 1 6 , 3 : "T
3 3 0 P R I N T R T 1 6 = 1 2 ;
3 4 0 P R I N T R T 1 3 , 3 ;
1 7 , 3 ;

3 5 0 P R I N T R T 3 , 2 3 ; " A ,-X J
3 6 0 P R I N T R T £ 0 , 5 ; " CT 1 . _,-]k

.; H $ , R T 2 2 . , 5 J ' .1 R T 7 0 6 0 G O T O " 7 8 6 8 - ( 6 9 6 8 R N D I N K E Y 5 =
3 7 0 P R I N T : ,
" L J + C4 0 R N D I N K E Y $ = " 2 " <
3 9 9 REM m •—• — V
4 0 0 DIM P i l l ) i*—
vw — B
4 5 5 L E T D =15 7170 G O T O 2 0
4 7 0 IF INKEYS<>"M" THEN GOTO 47 7999 REM ^ ^ S ^ s f c t t a K
0 3 0 0 0 PRINT RT 6 , 5^ ; 5 TrfS
: R T ~ 1 7 , 5 ; "
4 9 ^ P R I N T A T 1 6 , 0 ; B $ ; A T 1 3 , 0 ; 3 $
5 0 0 L E T R = U 3 R 1 6 5 1 6 3 8 2 0 P O K E 1 * 4 - 1 3 , 2
^ 1 0 L E T S C = 5 C + 1 0 3 0 5 0 I N P U T 1 $
5 2 0 L E T D $ = I N K E Y $ 3 0 7 0 I F L E N I S > 1 3 T H E N G O T O 3 0 6 0
5 3 0 L E T D = D - ( I N K E Y $ = " Z " A N D D > 1 3 8 3 0 F O R H = 1 T O L E N 1 $
& 1 + T I N K E Y $ = " X " R N D D < 2 0 ? 3100 LET L=C0DE 1$(Hi
5 4 0 P R I N T H I 3 1 1 0 I F L < 1 2 9 T H E N L E T 1 5 ( H ) = C H R
5 5 0 IF D S = ' M THEN GOSUB 3 0 0 0 5 ( L + 1 2 B )
600 LET F=INT ( R N D * l l i + 1 8 3 1 2 0 I F L > 1 2 3 T H E N L E T I $ ( H ) = C H R
610 LET B=INT (RND*4)+18 $ ( L - I 2 8 )
6 2 0 I F P E E K ( P E E K 1 6 3 9 6 + 2 5 6 * P E E 3 1 3 0 N E X T H
K 1 6 3 9 7 4 6 * 3 3 + F + I S = 1 5 1 THEN GOTO 3 1 4 0 P O K T 1 6 4 1 3 , 8
600 3 1 5 0 P R I N T R T 2 2 , 0 ; B S ; B $
: N T R T B ; F ; " B " ' 3 2 8 0 L E T H I = 3 0
700 L E T P ( F - 9 ) ~ P T F - 9 ) + 1 3 2 1 0 L E T J S = S T R $ H I
—' A
F I 0 I F _ P ( F - 9 : I = 4 T H E N G O T O 4 0 0 0 O c. c. t 1 i H S = H S ( T O 5 - L E N J $ >
3 0 0 L E T R = U S K I & 5 2 6 3 2 3 0 F O R X = 1 T O L E N J S
820 . E T 5 C = 5 C + 1 0 3 ^ 4 0 L E T H $ = H $ + C H R $ ( C O D E J $ I X ; +
3 3* 0 =-C = 2 0 0 0 T H E N G O S U B 3 5 0 0 1 2 3 3
GOTO 520 3 2 5 0 N E X T X
1000 FOR R =0 TO 2 3 3 2 6 0 P R I N T R T 2 0 , 1 6 ; M S
1010 PRINT RT R , 0 : B $ 3 2 7 0 P R I N T R T 2 2 , 5 ; " S A ; hT 2 2 , 3 ,
1020 NEXT R IS
1030 RETURN 3 3 0 0 R E T U R N
20Q0 FOR M =9 TO 13 3 4 9 9 R E M
2010 PRINT RT M , 0 ; B $ 3 5 0 8 F O R G = 1 T O 2 0
2020 NEXT M 3 5 1 0 P R I N T R T 1 6 , 1 0 ; B $ (
2030 PRINI HT 1 6 , 0 : B $ ; B $ 3 5 2 0 L E T R = R N D * R N D
2040 RETURN 3540 P R I N T R T 1 6 , 1 0 ; "I
2999 REM 3 5 5 0 N E X T G
3 0 0 0 F O R Z = 1 0 T O 1 3 3 5 6 8 L L T L U = L U + 1
3 0 1 0 P R I N T R T Z , D ; " 1 3 5 7 0 G O S U B 5 0 . 0 0
3 0 2 0 N E X T Z 3 5 3 0 F O P L = 1 T O 1 0
3 2 0 0 F O R X = 1 0 T O 1 3 3 5 9 0 N E X T L
3 2 1 0 P R I N ; H I X , D ; "1 3 6 0 0 P R I N T R T 1 6 , 1 0 ; B S !
T O 1 8 3
3 2 2 0 N E X T X 3T? 1 0 R E T U K N
3 2 2 5 L E T P ( D - 9 ) = 0 9 0 0 0 5 R U E " 5 T R R F I G H T E Q "
3 2 3 0 R E T U R N 9 0 1 0 C L S
3999 r f m Y 0 2 0 S L O U
4 0 0 0 L E T . U = L U - 1 9 8 3 8 R U N

ZX
55 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
PECTRUM EDUCATIONAL

Train Race
w i t h the multiplier missing and
invites the child to press a
number key. If the choice is cor
rect the child's train t o o t s , and
c h u g s o n o n e space. If the
response is incorrect the c o m -
p u t e r ' s train m o v e s on. The

Train yourself to be better with the


g a m e c o n t i n u e s until one of the
trains reaches the b u f f e r s . If it is

times tables. Clyde Bish comes to you


the child's train that w i n s , the
machine produces a musical

inter-city from Exeter.


border e f f e c t .
The score is displayed, along
w i t h an i n v i t a t i o n to play again
w i t h the s a m e or a n e w player at
the same or a d i f f e r e n t level.

Entering the
program
Firstly, L O A D in the " w a l l "
g a m e f r o m your Horizons tape,
then BREAK and NEW the
m a c h i n e . ( D o n ' t panic you
only w a n t the m a c h i n e c o d e and
t h a t ' s safe above R A M T O P ) .
N o w t y p e in the listing, but note
that the capital letters in quota
t i o n m a r k s in lines 3 , 4 , 5 , 1 0 0 .
1 1 0 , 5 6 0 Inot the word
" W R O N G " ) , 6 0 0 (not the w o r d
"CORRECT"}, 5000, 5050
and 5 0 8 0 (not the w o r d " C O R
RECT" are used-defined
graphics and m u s t be entered in
the graphics m o d e .

T o S A V E the p r o g r a m use:

S A V E " t r a i n r a c e " LINE 9 9 9 9 :


SAVE " m c " CODE 3 2 2 5 6 ,
300

and v e r i f y w i t h :

VERIFY " " : VERIFY " " CODE

If y o u have a printer a t t a c h e d
and w a n t a p r i n t o u t of the
c h i l d ' s n a m e , the level, and the
score add the line
A great p r o g r a m w i i h w h i c h to t e s t i n g the speed at w h i c h the multipliers f r o m 2 t o 9 is o f f e r e d .
practise y o u r tables, w i t h a c u t e child c a n find the key in q u e s t i o n T he g a m e is n o w ready to begin. 1 0 0 8 LPRINT n $ , m ' "right";s,
line in graphics. The t e c h n i q u e s and a l l o w s for this in the reac The c o m p u t e r displays a s u m "wrong";t"
w h i c h m a k e this different f r o m tion time thus not penalising the

TRAIN
the run of the mill m u l t i p l i c a t i o n child w h o is unfamiliar w i t h the
tester programs are that the keyboard. (There m u s t be a f e w
a n s w e r is given so the multiplier of t h e m still a r o u n d ' !
is needed, and the t i m e limit for On L O A D i n g , the title
the player is o b t a i n e d f r o m a test " T R A I N R A C E " appears in large
at the s t a r t . letters, c o u r t e s y of Sir U n c l e ' s
C o u p l e d w i t h C l y d e ' s tight " H o r i z o n s " tape} and a train
programming techniques and chugs and s t e a m s across the
use of the Horizon " B i g P r i n t " screen. The friendly c o m p u t e r
routine, all in all a p r o g r a m f r o m t h e n introduces itself, asks the
player's name, and explains the

RACE
w h i c h e v e r y o n e could learn.
idea of t h e g a m e , g i v i n g a I'T I I I T F P'i W t T T T T M I I I
The scenario is a race bet
w e e n t w o trains to the end of d e m o n s t r a t i o n of w h a t t o do.
the track. A c o r r e c t response A f t e r c h e c k i n g the t i m e it
m o v e s t h e player's train ( w i t h takes for the child t o locate and
appropriate graphic and s o u n d press specified keys (this infor
e f f e c t s ) . A n incorrect one m e t i o n being used later to deter
m o v e s the c o m p u t e r ' s train. It mine the delay time during the
also incorporates a routine for game) a c h o i c e of m a x i m u m

56 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
SPECTRUM EDUCATIONAL!

" : PRINT A T 9 , n + 1 J " 1 I | " ; AT


Figure 1. Line breakdown
10,n+1; " j m m " > AT 1 1 , n + 1 J " MOPOR"
Line 3 POKEs Caps S h i f t f o l l o w e d by the title ;AT 8,N +1; I N K 5 ; • S § " : BEEP . 0 1
sequence. During this the graphics are set u p
, - 3 0 : NEXT n : CLS
so as n o t t o p r o d u c e a noticable pause in the
running of the p r o g r a m . 6 I N K2 : L E Txs=5: LET ys=10:
45 m o v e s the train across the track. LET yy = 65 ? L E Tp $ ^ " H E L L 0 " : GO S
6 asks for the player's n a m e .
UB 3000: INPUT I N K 1;TAB 5}"Wha
100-110 train d r a w s u b r o u t i n e .
200-230 train p o s i t i o n / c o l o u r subroutine. t 1 s your name?"''TAB 5;"Type t h e
500-720 main p r o g r a m loop. T h e c o m p u t e r selects the l e t t e r s then"'TAB 5 ; " p r e s s ENTE
q u e s t i o n s , c h e c k s the a n s w e r s , and p r o d u c e s
R'"'r.$: CLS: GO T O 5 0 0 0
the s m o k e graphics before calling the
subroutines above. 100 PRINT AT w,X 5 INK i i " 1 II " i
1000 1 0 4 0 end/play again? routine. AT w+1,x? " ; ("JKLH" AND b$="YOU
3000 3 1 0 0 large letters subroutine.
")+<"STU" AND b*="ME")|AT w+2,xj
5000-5090 i n s t r u c t i o n s and d e m o n s t r a t i o n .
5100-5160 c h e c k s speed of key press and sets level of " 'JQE23" ! AT w+1, 31; I N K 1 ; " G" ; A T
play w+2 , 3 1 J " I " : PRINT N FFFFFFFFFFFFF
9000 9 0 5 0 sets up user-defined graphics, FFFFFFFFFFFFFFFFFFF": BEEP .01, -
9999 p r o g r a m a u t o r u n s t o this line, L O A D i n g in the
large letters m a c h i n e c o d e f r o m the Horizons 20
tape b e f o r e starting. 110 INK i : PRINT AT w, xJ " 1 H
JAT w41,x J " J "| INVERSE lfbSJ I N
VERSE 0!AT w +2 , x J " DEED": INK 1!
PRINT AT w + 1 , 3 1 J " G " J A T w+ 2 , 3 1 f "
I": PRINT "FFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFF" BEEP . 0 1 , - 3 0 : RETU
RN
LET w-l; LET X«T:
LET b$ ="ME ": RETURN
230 LET i =4 I LET W=6: LET x=s:

M 1 F'T 1 r f w r f r J LET bS="YOU"; RETURN


500 P A P E R 71 BORDER • CLS : LE

3
T t=0: LETs = t : GO SUB 200: GO S
J f ^ K
iTwT UB 110! GO SUB 2 3 0 : GO SUB 1 1 0

I ' l l show y o u a m u l t i p l i c a t i o n 510 LETa=INT (m*RND+l>: LET b =


sum l i k e t h i s o n e INT (RND*10): PRINT AT 1 2 , 1 0 ; a ; M

x = 10 X ? = "Ja*b: PAUSE d + 1.00: LETa


$=INKEY$: PRINT AT 12,14;a$
Y o u ' l l h a v e to p r e s s the n u m b e r
o to 9 ) w h i c h g o e s w h e r e the H 550 I F a$=STR* b THEN GO T O 6 0
is. If y o u ' r e r i g h t then y o u r 0
train m o v e s - liKe this
560 PRINT AT 14,12; FLASH 1J"WR
ONGn : L E Tt = t + i : FOR n= l TO 2 : P
1 REM *********************** RINT AT 0 , t + l ; FLASH 0 i INK 5 } " 9
* U n d e r l i n e d c h a r a c t e r s * BC": BEEP . 5 , 3 6 : PRINT AT 0 , t + l ;
• a r e e n t e r e d i n * ": FAUSE 5 : NEXT n : GO S U B 2
*GRAPHICS mcde. * 0.0: GO S U B 100: GO T O 7 0 0
*********************** 600 PRINT AT 14,11; FLASH l}"CO
3 POKE 23658,3: PAPER 6 : EORD RRECT": L E Ts = s + l : FORn = l TO2 :
EF 6 : CLSt INK l : LETxs =5: LET PRINT AT 5 . S + 1 ; FLASH 0J INK 5 ;
>'=. = 8 : LET>y=0: LET pS="TRAIN": "R8C": BEEP .5,31: PRINT AT 5 , s +
?0 SUF 3.000: LETyy=100: LET 1;" " : PAUSE 5 : NEXT n : GO S U B
= "RACE * : GO S U B 3.000: GO S U B 9 0 0 230: GO S U B 1 0 0
0: PRINT AT 1 2 , 0 ; INK 0i"FFFFFFF 700 PAUSE 5 0 : PRINT AT 14,10;"
^EEEE^EFFFFFFFFFFFFFFFFF" "JAT 12,105"
4 I N K2 : FOR n - 0 TO 2 5 : P R I N T 710 I F s =26 OR t = 2 6 THEN GO TO
AT 9, nJ * 1H I "IAT 10,n?" M l " ; 10.00
AT l l , n ; " DEED": I F n = 0 THEN PA ? 2 0 GO TO 5 1 0
USE 5 0 1000 I F s=26 THEN BORDER 2 : BEE
5 PRINT AT 8,'n+1; I N K 5 ; " B§C p . 5 , 0 : BORDER 3 : BEEP .75,5: BO
'•: BEEP . 0 1 , - 2 0 : PRINT AT 8 , n + 2; RDER 4 : BEEP . 2 5 , 5 : BORDER 5 : BE

ZX COMPUTING FEBRUARY/MARCH 19R6 57


(SPECTRUM EDUCATIONAL)

EP .5,5: BORDER 6: BEEP .5,0: BO 5070 PAUSE 500: PRINT AT 10,0;"


RDER 7: BEEP 1,5 it t
1.005 PAPER 6: BORDER 6: CLS : LE
T xs =2: LET ys =3: LET yy=25: LET II » » t ?
FOR n=l TO 4: PRINT "
p$="You Scored": GO SUB 3000: P NE
RINT AT 10, 12;s j " RIGHT";'''TAB XT n
1 2 ! t ; " WRONG" 5080 PRINT AT 13,14;"5";AT 15,11
101.0 PAUSE 200: CLS : LET xs=3: ; FLASH l;"CORRECT": LET s=s+l:
LET y 5 =4: LET y y=50: LET p$="Tha FOR n=1 TO 2: PRINT AT 5 , s + l ; IN
nk you": GO SUB 3000: PAUSE 150: K 5; FLASH 0 ; " : BEEP .5,31:
INK 2: LET x5 = 2: LET ys=3: LET PRINT AT 5 , s +1j " ": PAUSE 5: N
yy=100: LET p$="Play again?<Y/N) EXT n: GO SUB 230: GO SUB 100
": GO SUE 3000: PAUSE 0 5090 PRINT AT 1 8 , 0 ; " I f y o u ' r e wr
1020 INK 3: LET xs=l: LET ys=2: ong, or don * t M *"answer then my t
LET yy = 135: LET p$="Sarne Flayer? r a i n moves": PAUSE 200: CLS
(Y/N)": GO SUB 30.00: PAUSE 0: I 5100 PRINT "Let 1 p r a c t i c e pressi
F I N K E Y $ < "> " Y " THEN RUN ng the numbers": PAUSE 150: PR
103.0 LET yy=160: INK 0: LET p$=" INT ''TAB 13;"Ready!": PAUSE 75:
Sane tables? (Y/N)": GO SUE 3000 CLS : LET d=.0: LET "40518":
: PAUSE 0: IF INKEY$="Y" THEM C FOR n=1 TO 5: PRINT '"'TAB 12;"P
LS : GO TO 500 ress ";a$(ri): FOR c = l TO 1000: I
1040 CLS : GO TO 5150 F INKEY$=a*(n) THEN GO TO 512.0
3000 LET xx=(256-8*xs*LEN p$)/2 5 110 NEXT c
3100 LET i=23306: POKE i , x x : POK *^!20 IF c >d THEN LET d=c
E i +1,y y: POKE i+2,xs: POKE i+3, 5 130 CLS : PAUSE 25: NEXT n
ys: POKE i * 4 , 8 : LET i=i+4: LET w 5140 CLS : PRINT "OK, we're read
=LEN pt>: FOR ri = l TO w: POKE i+h, / to p l a y " : RANDOMIZE
CODE p$(n): NEXT n: POKE i+w+1,2 5150 PRINT ' ' ' " P r e s s maximum mu1
55: LET w = USR 32256: RETURN t i p1 i er ( 2 to 9 ) " : PAUSE 0: LET m
5000 PAPER 7: BORDER 7: LET s=0: $=INKEYS
LET t=s: INK l: CLS : PRINT AT 5160 LET m=VAL m$: CLS : GO TO 5
12,0J"Wei 1 f n * 5 " we're g o i n g " ' ' 00
"to race t r a i n s - l i k e these": P 900.0 RESTORE : FOR n=USR "a" TO
AUSE 200: GO SUB 200: GO SUB 110 USR "u"*?: READ a: POKE n,a: NEX
: GO SUE 730: GO SUB 110: PAUSE T n: RETURN
5.0: FOP n = 12 TO 14: PRINT AT n,0 9050 DATA 60,126,255,255,255,255
tI » , 12"7, 6 0 , 4 8 , 2 5 2 , 254 , 2 5 5 , 2 5 5 , 2 5 5 , 2
n : NEXT n: PRINT AT 1 2 , 0 ; " I ' m 55,60,0,0,120,252,252,252,248,24
d r i v i n g the RED t r a i n " : PAUSE 20 0 , 2 5 5 , 2 5 5 , 2 5 5 , 5 6 , 6 8 , 8 4 , 6 8 , 5 6 , 2 5 5
0: FOR n=1 TO 2: PRINT AT 0,t+2; ,??5,255,130,146,130,130,120,255
INK 5;"gBC": BEEP .5,36: PRINT , 2 5 5 , 2 4 , 2 4 , 0 , 0 , 0 , 0 , 1 5 , 2 0 7 , 2 5 5 , 2 5
AT 0 , t +2 ; " -: PAUSE 5: NEXT r. 5,207,15,15,15
5.050 PRINT AT 12,0; "You're d r i v i 9060 DATA 0 , 0 , 0 , 0 , 0 , 6 , 1 5 , 1 5 , 0 , 0 ,
ng the GREEN t r a i n " : FAUSE 200: 0 , 0 , 0 , 9 6 , 2 4 0 , 2 4 0 , 2 5 5 , 2 4 7 , 2 5 1 , 2 5 3
FOR n=l TO 2: PRINT AT 5,s+2; IN ,254,254,254,255,255,220,187,123
K 5?"8§Q": BEEP .5,31: PRINT AT ,251,251,252,255,255,59,219,219,
5 , s +2; " ": PAUSE 5: NEXT r. 219, 219,60,255,240,208,208,208,2
5055 PRINT AT 12,0;" 0 8 , 2 0 8 , 4 8 , 2-10, 1 5 , 1 5 , 1 5 , 3 , 4 , 5 , 4 , 3
H ,255,255,255,136,73,72,72,135,25
5060 PAUSE 50: PRINT AT 1 0 , 0 ; " I ' 5 , 2 5 5 , 2 5 5 , 4 0 , 4 1 , 4 0 , 4 0 , 1 9 9 , 2 5 5 , 2 5
II show you a mu1tip1 i c a t i o n " ' " s 5,255,35,36,37,36,195,240,240,24
um l i k e t h i s one"* * TAB 10;"2 x ? 0 , 1 2 8 , 6 4 , 6 4 , 6 4 , 1 2 8 , 2 5 5 , 2 5 1 , 2 4 9 , 2
= 1 0 " ' ' " Y o u ' 1 1 have to press th 50,251,251,251,255,255,216,155,8
e number"'"(0 to 9) which goes w 8,219,219,216,255,255,31,255,63,
here the ? " ' " i s . If y o u ' r e r i g h t 255,255,31,255
then y o u r " ' " t r a i n moves - l i k e 9999 CLEAR 32255: LOAD ""CODE 32
t h i s " 256,300: GO TO 1

58 ZX COMPUTING FEBRUARY/MARCH 1986


K SPECTRUM CAME

Astro Balloons
A n o t h e r set of i n s t r u c t i o n s is
given in the p r o g r a m , along w i t h
a c h o i c e of s o u n d or n o t , and the
skill level. This ranges f r o m 0 (in-
credibly t e d i o u s ) to 9 (im-

A crazy game from D. Mearns of possibly fast). Being a hot air


balloon there are n o brakes. This

studious Oxon! m e a n s , that o n c e y o u have


s t a r t e d g o i n g in a certain direc-
tion you will keep going
(regardless of w h e t h e r or not
special gas w h i c h will leave tox- y o u are pressing that key) in that
ic f u m e s behind. If y o u double direction until another direction
back on yourself y o u will die in key is pressed. T h e k e y s t o use
stantly. are g i v e n in the p r o g r a m . G o o d
Y o u may w o n d e r w h y stars luck!
have been used as the asteroids
i n s t e a d of User Defined Notes
G r a p h i c s . T h i s is b e c a u s e
SCREEN$ w h i c h I have used For those of y o u w h o are in-
l o detect collisions cannot terested, I h a v e p r o v i d e d a brief
recognize UDGs. Stars looked b r e a k d o w n of the p r o g r a m plus
the most realistic out of the a list of the variables used (see
Sinclair character set. figure 1).

Figure 1 Variables and line break


down.

20-90 Print balloon and c h e c k for w i n . I N K E Y $ .


(Stages 1 to 3).
100 410 M o v e balloon a n d check lor crash. (Stages 1
t o 3).
2000 2330 Print r a n d o m maze for stage 4 .
2500-2560 Print balloon. I N K E Y $ . (Stage 4 ) .
2600-2910 M o v e balloon and c h e c k for crash. (Stage 4).
3000-3010 Check for w i n , (Stage 4).
3700 3750 End of stage routine.
3800 3820 Crash routine.
8000 8080 Print i n s t r u c t i o n s .
9000 9070 Initialisation procedures.
9100-9220 Print maze. (Stages 1 to 3).
9998 9999 User D e f i n e d Graphics.

Whilst out in your hot air balloon f i e l d is g u a r d e d by s e v e r a l a reserved for r a n d o m n u m b e r s .


one Sunday a f t e r n o o n , y o u ac- asteroid belts. There is only one d direction travelling in.
cidentally drift out of the E a r t h ' s w a y t h r o u g h e a c h asteroid belt, f-g reserved for FOR NEXT loops.
atmosphere and t h r o u g h a pass- and e v e n if y o u s u c c e e d y o u gold number of gold bars collected.
ing black hole into another solar m u s t have ten gold bars t o pay pa skill level.
system. Y o u land o n the planet the gatekeepers at points along pause a m o u n t of t i m e t o pause in b e t w e e n m o v e s of the
Garthrog w h e r e t h e e m p e r o r the w a y . The emperor gives y o u balloon.
tells y o u t h a t t o g e t b a c k t e n to start o f f w i t h , but after sc score.
through the black hole y o u w i l l that y o u m u s t pick up the ten o n screen stage 11 t o 4 ) .
need a good supply of A i n t h o r your w a y . The emperor t h e n has x,y X and Y co-ordinate of balloon.
crystals. H o w e v e r , the c r y s t a l your balloon refuelled w i t h a

1 REM * * * * * * * * *** * * * * * * * * * * * * 35 IF INKEY*=-M" OR INKEY*='0'


• U n d e r l i n e d c h a r a c t e r s * THEN PAUSE 1: PAUSE 0
• a r e entered in * 40 PRINT AT X,yj INK 3 J ' . "
•GRAPHICS mode. * 50 IF INKEY*="5" OR INKEY*="0'
THEN GO TO 100
60 IF INKEY*='6" OR INKEY*~ * A"
5 LET SCREEN=4: LET SC=0 THEN GO TO 200
6 POKE 23653,0 ~>0 IF INKEY*="7" OR INKEY*="0"
7 GO SUB 9990 THEM GO TO 300
10 GO SUB 9000 80 IF INKEY«="8" OR INKEY«="P"
15 POKE 23658, 8 THEN GO TO 400
20 PRINT AT x , y j INK 3 ; " Q " : IF 90 GO TO {d*4>*100-300
THEN BEEP .008,20 100 IF ATTR <x , y - 1 ) = 6 THEN PRI
25 PAUSE pause NT AT x , y - 1 J " *: LET sc=sc+10: B
30 IF X=10 AND Y~6 AND g o l d - 1 0 EEP . 5 , 2 0 : LET g o l d = g o l d + l
THEN GO TO 3700 105 LET SC=SC+l: IF SCREEN* (x,

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 59
SPECTRUM GAME

y - 1) O " " THEN GO TO 3800 THEN GO TO 2800


110 LET d=l: LET y=y-1: GO TO 2 2560 GO TO D*100+2000
0 2600 LET d=6: IF SCREEN* ( x + l , y )
200 IF ATTR ( x + l , y ) = 6 THEN PRI = •*" THEN GO TO 3800
NT AT x • 1 , y I " LET sc=sc+10: U 2605 IF SCREEN* t x + l , y ) = " . " THEN
EEP .3,20: LET g o l d = g o l d H LET sc=sc +INT (RND*l0)
203 LET SC=SC+l: IF SCREEN* lx + 26l0 LET x=x+l: GO TO 2510
1 , y ) < >" " THEN GO TO 3800 2700 LET d=7: IF SCREEN* ( x - l , y )
210 LET SC=SC•1: LET d=2: LET x ="+' THEN GO TO 3800
=x+l! GO TO 20 2705 IF SCREEN* < x - l , y > = " . " THEN
300 IF ATTR ( x - 1 , y ) = 6 THEN PRI LET SC=SC+INT (RND*l0)
NT AT x - 1 , y » " ": LET sc=sc+10: B 2710 LET x=x-1: GO TO 2510
EEP .5,20: LET g o l d = g o l d + l 2800 LET d=8: IF SCREEN* ( x , y + l )
305 LET SC=SC+i: IF SCREEN® <x- ="*" THEN GO TO 3800
1 , y ) < >• " THEN GO TO 3800 2805 IF SCREEN* ( x , y + l ) = " . " THEN
310 LET d=3: LET x = x - i : GO TO 2 LET sc = sc + INT (RND*10>
0 2810 LET y=y+l: GO TO 2510
400 IF ATTR (x,y+1)=6 THEN PRI 2900 LET d=9: IF SCREEN* ( x , y - l )
NT AT x , y + l ; * •: LET sc=sc+10: £ THEN GO TO 3800
EEP .5,20: LET gold=gold+l 2905 IF SCREEN* < x , y - l ) = " . " THEN
105 LET SC=SC+l: IF SCREEN* <x, LET sc = sc +INT <RND*10)
y • 1 )< >• " THEN GO TO 3800 2910 LET y-y~1: GO TO 2510
410 LET d=4: LET y=y+l: GO TO 2 3000 FOR F=0 TO 21: FOR G=0 TO 3
0 l: IF SCREEN* ( F , G ) = " . " THEN PA
2001 LET d=8 USE l: PAUSE 0: GO TO 2520
2005 PAPER 0: CLS : INK 7: BORDE 3010 NEXT G: NEXT F
R 0 3700 PRINT AT 0,0?: FOR F=-1 TO 2
2010 FOR TO 22: PRINT • * * * * » 2: LET A=INT (RND*6)+l: PRINT I
* * * * * * * * * * * J F * * * * * * * * * * * * * * * " : NF NK A ; * * * - ) H H H H H T * * * - I H ( - * * * * * * * * * * * * *
* * * * * * "
XT i
2011 LET x = 11: LET y-1 3710 NEXT F
2020 LET a=IMT <RND*3)+1 3720 INK 2: PAPER 6: PRINT AT 8,
2025 PRINT AT x,yf INK 2 J " . " 10; FLASH l;"WELL DONE ! ! • ; A T 16
2030 GO TO a*100+2000 ,11|-SCORE:•JSC: PAUSE 50: LET S
2100 LET y=y+1 CREEN=SCREEN+1
2105 IF y>30 THEN GO TO 2500 3730 IF S C R E E N >4 THEN LET SCREE
2110 GO TO 2020 N=l: LET PAUSE=PAUSE-5: IF PAUSE
2200 LET x=x + l <1 THEN LET PAUSE=1
2210 IF x >20 THEN LET x=20 3750 GO SUB 9100: GO TO 20
2220 GO TO 2020 3800 INK 2: PAPER 6: PRINT AT 7,
2300 LET x= x - l 9; FLASH 1;"YOU CRASHED ! ••;AT 1
2315 IF x<l THEN LET x=l 4,12;"SCORE:-;sc
2330 GO TO 2020 3805 FOR f = l TO 200: NEXT 4
2500 LET x=l1: LET y=l 3810 PRINT AT 21,0}* PRESS ANY K
2310 PRINT AT x,y; INK 3;"S" EY FOR ANOTHER GAME'
2313 PAUSE pause 3820 IF INKEY®="" THEN GO TO 38
2513 IF INKEY*="0" OR INKEY*="M" 20
THEN GO TO 3000 3830 RUN
2517 PRINT AT x , y? " " 4000 LET go 1d=10: IF screen>l TH
2518 BEEP .008,20 EN LET g o 1d = 0
2520 IF INKEY*="5" OR INKEY*='0" 8000 INK 6: PRINT AT 2 , 0 ; " S t a g e
THEN GO TO 2900 1-Gulde the b a l l o o n I?)
2530 IF INKEY*~• 6 " OR INKEY*~"A" round the course w h i l e
THEN GO TO 2600 a v o i d i n g the deadly
2510 IF INKEY* = "7 * OR INKEYS="Q" a s t e r o i d s (*) and your
THEN GO TO 2700 own t r a i l ( , ) . "
2350 IF INKEY*=-8" OR INKEY*="P" 8010 PRINT *"Stage 2-As stage 1,

60 7X COMPUTING FFRRUARY'MARCH 1 9 8 6
K SPECTRUM CAME

but you must eat a l l the 00 TO 2000


gold bars (?) to pass 9110 PRINT "»»*XXmKH(* X * * * * * * * *
through the g a t e . "
8020 PRINT *"Stage 3-As above,bu m i n m n **
t more a s t e r o i d s h * mini*
ave moveed in" 9120 PRINT "* J LTX TX X
T T XT J TL

8030 PRINT •"Stage 4 - N e g o t i a t e y * If If If


T X T ** * *******
our way along the t w i s t i n * H 4 IK K X it M X "It "Jf" ^ ^
K.M.M M y y w j t JC. •
g passage. C o l l e c t a l l T T T T T T T 1TT

the c r y s t a l s ( . ) t o pass. 9L30 PRINT " * * * *


M H M. TM 1JTt *TXT JTt * * *
Press pause when compl T T T
* J L J L J t X X X X X X J L J L
eted . " T T T T T T T T T T *

8040 PAUSE l : PAUSE 0 **-** * *"

8050 INK 5: PRINT AT 2,01' 9140 PRINT "* * ' ; INK 2; • _ • I


* * * * * * * * * *
INK 7 1 " * * * *
UP, 7 or Q * * * " 1 INK 21 I I " ; I N K 7J - *
* * * * * *

DOWN. . . . 6 or A ¥ ¥ ¥ M ¥ JL
T T T T T T

9150 PRINT "* W W


T T
XJL
T T
JT ¥ ¥ ¥ ¥
T T T T ^ T

8060 PRINT " LEFT . . . . 5 or X.JL11X. ¥ ¥


** ******
0 * **** **** *
RIGHT...8 or T T T T T T T

P 9160 PRINT
* * * *
"*
* "
** ****
PAUSE...0 or * *****
T T T T T T T
* ********
WW ¥ ¥ ¥ JLJUL
M T T T T T T T T

80->0 FOR f = l TO 9: PRINT " *** *** *•


•: NEX 9170 PRINT " * * * *********
T * M M M
T T T
m M «
T T T *IfT*ItT•m ; INK 2 t " I R ; INK
* * * * * * * * * * * * * * *
8080 PAUSE 1: PAUSE 0 7; "**
9000 INK 7: PAPER 01 BORDER 0! C * ' ; INK 2; " "5 INK 7 ; " * * * ***
LS : PRINT TAB 91 INK 4;"CRAZY B
ALLOONS'JTAB 9 j " «": 9180 PRINT " * * * * * * * * * * * * * * * * * * * *
PRINT AT 21,0; Derek Mearns fc JC-JC.JC.Jt
T T T T T¥ T¥ T¥ ¥T ¥T ¥T ¥T JL
T •

Robert E n r i g h t " 9190 LET g o 1d = 1 0


9010 FOR f=0 TO 40: NEXT * 9200 INK 6: IF SCREEN >1 THEN PR
9012 PRINT AT 3,0;"Do you want i INT AT 11,1J"B"}AT l f 6 ; " B » | A T 2,
n s t r u c t i o n s ?".* IF INKEY*="y" OR 16) " B * | A T 7, 17) " B " i A T 6, 14| •B" ; A
INKEY«="Y" THEN GO TO 8000 T 1 2 , 1 1 } " B * J AT 9, 16! " B " | A T 10,25
9014 IF INKEY*="n" OR INKEY*="N" ?'P";AT 17,5)*B"|AT i i , 3 | " B « : LE
THEN GO TO 9018 T go 1d=0
9016 GO TO 9012 9210 INK 4: IF screen=3 THEN PR
9018 FOR f = l TO 20: NEXT i INT AT 10, 1 I " * " | A T 2 , 1 7 J " * " ! A T 3
9020 PRINT AT 3,0?"Do you want s , 1 9 ; " * " J AT 6 , 19 J " * * J AT 3 , 2 J " * " ; A
ound ? ": IF INKEY*="" THE T 3 , 1 1 ; * * " IAT 3 , 2 8 1 " * "
N GO TO 9020 9220 IF s c r e e n >2 THEN PRINT AT
9030 IF INKEY®="y" OR INKEY*="Y" 5 , 2 9 ; " * " J AT 7 , 2 6 ; * * " ; A T 1 2 , 2 2 ; " *
THEN LET s * = ' y " : GO TO 9050 •;AT 10,26J"*"|AT I S , 1 3 1 " * * SAT 1
9040 IF INKEY*="n" OR INKEY*="N" 8 , 8 ? " * • | A T 13,51"*"
THEN LET s * = ' n " : GO TO 9050 9980 RETURN
9045 GO TO 9030 9990 FOR -f •» 1 4 4 TO 145: FOR g=0 T
9050 PRINT AT 3 , 0 ; " E n t e r the ski O 7: READ a: POKE USR CHR* *+g,a
11 level (0 TO 9)• : NEXT g: NEXT *
9060 INPUT pa: IF pa<0 OR pa>9 T 9996 LET d=3
HEN GO TO 9060 9997 LET x=19: LET y=2
9070 LET pause=(9-pa)*10+1 9998 RETURN
9100 RESTORE : INK 7: PAPER 0: C 9999 DATA 16,56,124,56,84,68,68,
LS : BORDER 0: IF screen>3 THEN 1 2 4 , 0 , 0 , 0 , 6 0 , 1 2 6 , 2 5 5 , 0 , 0

ZX COMPUTING FEBRUARY/MARCH 1986 61


J

a the meteoric rise of ZX Computing!a


yj ,J t .*!.'. , 4
, aT

The return of Ha Hey's Comet from its round trip of the sofa r system has
always heralded a momentous event.
1986 is no exception.
WAMM-
iipyw^llt ON MARCH 28
z x COMPUTING GOES MONTHLY
With a fresh new look, full colour pages and the latest news and
reviews, ZX Computing Monthly! will be geared for owners of all
Sinclair machines. An expanded games review section featuring
colour screenshots and in-depth analysis of the top releases makes
ZX Computing Monthly! a must for the avid games player.

For Sinclair owners searching for new uses for their machines ZX will
explore novel applications and utilities.

ZX will continue to publish high quality programming projects and.


series on how to improve your computing expertise.

ZX will be interviewing leading software authors to bring you an in-


valuable insight into how the best selling utilities and games are
created.

All this plus our regular adventure column Mindplay, expert help
with computing problems, programming contests, exciting
competitions and special offers makes the new ZX Computing FROM
Monthly! indispensible for the Sinclair owner. Don't miss it -place MARCH 28
an order with your newsagent now!
ONLY £1.50
UTILITY

So you want to
buy a printer!?
John wase's jaundiced look at hard-copy
machines.
Well, w h a t do y o u w a n t it for? If cheap t y p e s have fabric ribbons,
D o u b l e — s t i- i k (5 D o u b 1 « - s t r i k<
y o u simply w a n t t o LIST pro- but the better have cellulose f i l m
grams a ZX Printer will probably ribbons and give superb letter
suffice i t ' s incredibly c h e a p quality bank manager s t u f f . Dot-matrix printer* tre pr Dot-matrix printers are pr
{assuming t h a t y o u c a n still f i n d T h e y ' r e n o t t o o noisy, b u t fairly
one for sale). O n t h e other hand, s l o w (the cheapest only a f e w a ser1rs of dots; the qrea a aeries of dots) the grea
printing t e x t , or data after characters per second), and y o u
quality of the resultant quality of the resultant
calculations is a m u c h more c a n print only w h a t ' s on the
d e m a n d i n g o c c u p a t i o n , needing daisy-wheel: subscript and s t r i U n q improve *ti I 1 tur striking improve still fur
printers w h i l l take up to A 4 s u p e r s c r i p t are a v a i l a b l e o n
paper. So, check y o u r piggy- s o m e t h r o u g h s o f t w a r e com- almost (but not quite) as almost (but not quit»> a*
bank and t h e n decide u p o n the m a n d s w h i c h m o v e the carriage
paper size y o u w a n t , decide up or d o w n , b u t print is c h a n g e d quicker, thouqh they can B quicker, though they can b
w h e t h e r n a r r o w is s u f f i c i e n t , only by c h a n g i n g the daisy-
picturei - useful 1f yew w pictures - useful if you w
decide w h e t h e r y o u need per- w h e e l — t o r t u o u s in m i d -
f o r a t e d , roller p a p e r or c u t stream. retained m their own ROM retained in their own ROfl
sheets. (If y o u w a n t to print out
programs, the computer can Double-strike dots they can t t>e fiddled with they can't be fiddled with
have apoplexy if y o u try t o s t o p
and change the paper you really D o t - m a t r i x printers are probably Fig 2. Normal and emphasized
need roller or p e r f o r a t e d for this the m o s t versatile. They print a mode on an Epson FX80 printer
purpose). G o o d , y o u ' v e decid- series of d o t s and t h e greater the Paper, ribbon and
ed. N o w for the printer. density of d o t s the better t h e
quality of the resultant letters.
interface
Various m e t h o d s of double strik- d u m p s . Their letters are retained
in their o w n ROM (Read Only Some d o t - m a t r i x printers need
Daisy, daisy. . . ing i m p r o v e still further the letter
M e m o r y ) w h e r e of course they special paper (can be pricey),
quality. The best is almost (but
c a n ' t be fiddled w i t h ; w i t h more s o m e need a ribbon, s o m e will
Daisy w h e e l p r i n t e r s have a n o t quite) as g o o d as daisy-
expensive ones have a range of do w i t h either. S o m e print in a
plastic w h e e l , like a daisy, about w h e e l , and usually a lot quicker,
t y p e f a c e s (including italic) and variety of colours by raising or
3 " across. Each petal has a let- t h o u g h t h e y can be rather noisy.
the m o s t expensive ones an ad- l o w e r i n g a multicolour ribbon.
ter o n it, and the relevant letter is T h e y will o f t e n print pictures —
ditional R A M (Random A c c e s s The cheapest of all, the original
struck against a ribbon. S o m e u s e f u l if y o u w a n t s c r e e n
M e m o r y ) enabling y o u t o design ZX d o t - m a t r i c printer, ( n o w ap-
your o w n leters or t o d o w n l o a d p r o a c h i n g o b s o l e s c e n c e ) , the
Fig 7. A daisy-wheel, and the sort of result one gets from it.
other standard t y p e f o n t s . A l p h a c o m and the Floyd res-
p o n d directly t o the S p e c t r u m
R O M routines and c o n n e c t u p
directly t o the S p e c t r u m outlet
p o r t . A l l o t h e r p r i n t e r s , of

64 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
UTILITY

whatever t y p e will require y o u


to buy a separate i n t e r f a c e and
prmter p l o t t e r . This usually has
a f o u n t of letters w h i c h it can
Turning turtle 3 . If portable, ask h o w long the
batteries last (on some small
connecting cable: y o u m u s t add print in a variety of sizes by c o m Finally, there are the turtles, portables, t h e y ' l l do only four or
the cost of this to the cost of plicated m o v e m e n t s of the pen w h i c h w a l k along the floor or five pages before expiring, so
your printer. (side t o side) and the roller (up table w i t h ' p e n u p ' and 'pen y o u ' l l either have to have
and d o w n ) . They will also res down' commands. Although rechargeable batteries and a re-
p o n d t o c o m m a n d s t o PLOT and charger, or a m a i n adaptor (ex-
Difficult D R A W , and t h u s - m a k e all sorts
they are claimed t o p r o d u c e
large p o s t e r s / d r a w i n g / p l a n s , tra?) or b o t h ) .
descenders of pictures and graphs. A s the they m o v e only on the basis of 4 . A s k all your friends about
m e c h a n i s m w e a r s , so the letters their o w n w e i g h t and frictional reliability. A c h e a p and nasty
The next cheapest dot m a t r i x g e t more and more d i s t o r t e d . grip and errors are c u m u l a t i v e ; I d o t - m a t r i x t h a t jams and loses
printers are likely t o print o n S o m e of the cheaper ones re do not believe their a c c u r a c y is your text is a curse, tf it is being
relatively n a r r o w paper, t h e n quire m o n t h s of w o r k and a long, s u f f i c i e n t for general use as a used, for instance, to monitor an
progress up t o A 4 . S o m e of the long p r o g r a m t o get t h e m to, printer. e x p e r i m e n t a n d print h o u r l y
cheapest of even the A 4 t y p e s say, d r a w graphs. D o n ' t be over results, y o u lose t h e e x p e r i m e n t
will still have i n s u f f i c i e n t d o t s t o c o m e by the d e m o n s t r a t i o n pic- too, for it jams u p the c o m p u t e r .
give l e t t e r s w i t h proper ture w h i c h it w i l l d r a w ; (one of Read all the r e v i e w s y o u can
descenders: t e x t f r o m s u c h our post docs spent many hours Decisions, use y o u r local library.
printers can be d i f f i c u l t to read. p r o v i d i n g s o f t w a r e for a c h e a p decisions 5. Buy by mail order only if y o u
If this worries y o u , d o n ' t buy. plotter t o d r a w graphs f r o m data are c o n v i n c e d that the printer is
Do remember that y o u have put into a B * * B, a l t h o u g h the So, y o u ' v e decided w h i c h sort. reliable and w o n ' t need cons-
by n o w passed the price of the t h i n g w o u l d d r a w the m o s t It c a n be bought f r o m a general tant servicing/sending to the
Spectrum by q u i t e a long w a y . A marvellous demonstration multiple, f r o m a specific c o m - makers. Buy c h e a p ones only
good printer c a n be driven v e r y graphs on its o w n ) . So, unless puter shop, or mail order. W h i c h f r o m a local s h o p w h e r e y o u can
satisfactorily by an inexpensive y o u have t o o m u c h time o n your one? c o m p l a i n if w h e n t h e y g o
computer. Isn't it w o r t h p a y i n g hands, make sure p r o g r a m m i n g A f e w tips m i g h t help. wrong,
just a little m o r e to achieve a rea- is easy. 1. See a range of the t y p e y o u 6 . W a t c h the price. S o m e of the
soanble print quality, for once If y o u need to d r a w o v e r h e a d like d e m o n s t r a t e d if at all possi- more popular (and very reliable)
you have b o u g h t a printer at that p r o j e c t i o n transparencies or pro- ble. printers like the Epson range can
sort of price, y o u ' r e stuck w i t h fessional graphs for reproduc- 2 . A s k about the prices of vary in price by over C I 0 0 for
it! tion. d o make sure that ap special paper, special pens and the same model, but f o r t u n a t e l y
propriate pens are available and replacement ribbons, t o g e t h e r c a n be b o u g h t w i t h c o n f i d e n c e
PLOT and DRAW will fit, a n d that o v e r h e a d pro- w i t h the n u m b e r of reasonable by m a i l - o r d e r . S o , in t h e s e
jector transparencies are firmly copies f r o m each ribbon. Check cases, s h o p around.
The third sort of printer is the gripped and d o not slip. the a v a i l a b l y of these i t e m s . G o o d printing!

This is a parallel interface in the


usual box w i t h t h e f a m i l i a r Polyprint, the multilingual the T a s w o r d bank, ( w h i c h con-
tains all the National character
ribbon cable. T h e d i f f e r e n c e is
that it contains not just the usual printer interface. sets) I probably w o u l d n ' t !
This leaves y o u w i t h at least six
Z80A PIO chip, but that it also 1K banks to play w i t h . Using an
has an additional 8K EPROM. EPROM-blower (e.g. C a m b r i d g e
This is arranged in banks of 1 K, M i c r o e l e c t r o n i c s ' PROMER SP
each of w h i c h displaces, in turn, or BLOPROM SP), the c o n t e n t s
the 1 5 - 1 6 K area of the Spec of the EPROM c a n be read into
trum ROM. So w h a t ? Well, this R A M and S A V E d o n tape (for
area contains t h e character set, s u b s e q u e n t r e p l a c e m e n t if
and each bank, as well as con- necessary). The R A M c a n t h e n
taining the printer driver soft- be POKEd as required and the
ware ( w h i c h includes a COPY EPROM r e b l o w n . Y o u could, for
routine), also c o n t a i n s a instance, incorporate foreign
character set. O n s w i t c h i n g on, character f o n t s like Arabic or
bank 0 is selected, w h i c h is the Greek, or m a t h e m a t i c a l sym-
standard S p e c t r u m set. Banks bols, perhaps w i t h the data t o
l . 2 . 4 . 5, 6 and 7 c o r r e s p o n d t o e n a b l e d o w n l o a d i n g of t h e
French, G e r m a n , Danish, printer. This gives this interface
Swedish, Italian and Spanish. unique advantages, (provided
"All very p r e t t y , " y o u m a y say, that y o u have a c c u m u l a t e d all
"but w i l l I ever u s e t h i s ? " the other peices of gear).
Perhaps not, but bank 3 , besides If I w a n t e d |ust t o w r i t e in
a Tasword printer-driver, con- G e r m a n , and n o t h i n g else, then I
tains d a t a t o c h a n g e t h e w o u l d be inclined merely t o
Tasword character set to those POKE the relevant n e w letters
other nationalities, too, a n d this into T a s w o r d . This is a specialist
is the real value of the p a c k a g e . tions t o T a s w o r d ' s BASIC pro- means of Mailmerge, the f o r e i g n piece of e q u i p m e n t and w o n ' t
This i n t e r f a c e is n o t t h e gram, a variable, (e.g. n). c o u l d addresses and envelopes w o u l d appeal to e v e r y o n e . H o w e v e r ,
easiest to use. It is n o t the be u s e d w h i c h w o u l d auto- be correctly printed. All clever to the specialist the c o m b i n a t i o n
strongest, nor the cheapest, nor matically s w i t c h the text and s t u f f if y o u need a n u m b e r of of all the facilities it o f f e r s c o u l d
yet the most user friendly, in also the printer o n printing (the foreign languages. prove invaluable.
spite of the very detailed instruc e x a m p l e s are for t h e Epson H o w e v e r , the real p o w e r of
lions. H o w e v e r , m o s t multi- F X 8 0 , but can easily be a d a p t e d this d e v i c e lies in the ease w i t h Poly print IS available, mail-order,
lingual users will also w a n t to t o other printers). The variable w h i c h the various 1K banks c a n from Cambridge Microelec-
use a w o r d p r o c e s s o r , (e.g. could w e l l be s t o r e d along w i t h , be called. Perhaps y o u d o n ' t tronics, 1 Mi!ton Road, Cam
Tasword), and here it c o u l d be for e x a m p l e , c o m m e r c i a l ad w a n t all t h o s e Spectrum bridge, price €44.95 plus
invaluable, for by a l e w altera- dresses o n Masterfile, and, by displays w i t h the e x c e p t i o n of V.A.J.

65 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
SPECTRUM UTILITY

Microdrive to
o w n more t h a n o n e drive.
I decided to make the pro-
g r a m operate o n the default
drive, drive a on p o w e r up,

Wafadrive
because it is easy t o go into
Basic and designate drive b as
the default drive if necessary. If
y o u feel y o u must be able t o
s w i t c h drives w i t h o u t g o i n g into
Basic, y o u will have t o insert
s o m e e x t r a l i n e s of B a s i c ,

Carol Brooksbank deals with the possibly in the f o r m of a sub-


routine if there are not e n o u g h

problems of converting Microdrive free lines at the point w h e r e y o u


are m a k i n g t h e alterations.

programs to work on the wafadrive. IF d = 1 THEN LET d $ = "a"


IF d - 2 THEN LET d $ = " b "
LET q $ - n$
LET n $ = d$ + " : " + q$

The instructions w h i c h f o l l o w
will operate on the specified
drive if the Basic listed above is
present, but on the default drive
w i t h o u t it.
Alter simple L O A D and S A V E
i n s t r u c t i o n s w h i c h load and
save Basic so that they read

LOAD * n $
S A V E n$
S A V E * n $ LINE n n n n (auto-
running programs)

M a c h i n e code s a v i n g instruc-
tions should be altered to read

SAVE *n$,a,b

M a c h i n e code loading instruc


tions are exactly like Basic ones,
the w o r d CODE is not used in
Wafadrive instructions. You
must remember though, that
y o u c a n n o t have t w o p r o g r a m s
on the same w a f e r w i t h the
same name, so if the Basic and
c o d e p r o g r a m names are the
same, alter one or the other. I
simply add A, B e t c . t o the
m a c h i n e code n a m e , so that if
the Basic p r o g r a m is M F , the
m a c h i n e c o d e is M F A . Also, if
t h e c o d e b e i n g s a v e d is
s o m e t h i n g s u c h as a file, so that
y o u m a y w i s h to save u p d a t e d
versions under the same name,
use the f o r m ;

S A V E # n $ , a,b
II y o u are t h i n k i n g of b u y i n g a the lines w h i c h will need conver- and f$ the data array.
Rotronics W a f a d r i v e , y o u m a y son. T h e y are easy t o s p o t , as In the Masterfile program, This will avoid h a v i n g to erase
be w o n d e r i n g w h e t h e r it is k e y w o r d s s u c h as L O A D or the drive number is specified by the old file, or give the n e w one
possible to convert the S A V E will be f o l l o w e d by an pressing keys 1 - 8 to select a another name before being able
Microdrive options on commer asterisk and inverted c o m m a s particular microdrive in t o save it.
cial p r o g r a m s so that they can enclosing a l o w e r case " m " , ie. response to the prompt
be used w i t h W a f a d r i v e . it is not T A P E / M I C R O D R I V E ? Key 0 Data
only possible, it is easy. LOAD * "m";d;nS selects the tape option. Y o u
I have recently c o n v e r t e d the SAVE * " m " ; d ; n $ CODE,a,b have t o decide w h e t h e r it is The only area w h e r e y o u meet
C a m p b e l l Masterfile program, LOAD * " m " ; d ; n $ CODE necessary for y o u t o select a any d i f f i c u l t y is in the saving and
w i t h the MF Print o p t i o n for full SAVE * " m " ; d : n $ D A T A f$() particular w a f a d r i v e in this w a y . loading of data arrays. There are
size printers, and the examples It is very rarely essential t o no W a f a d r i v e equivalents t o the
given in this article are taken In these e x a m p l e s , d represents s w i t c h f r o m one drive t o another M i c r o d r i v e data instructions.
from that. the drive n u m b e r , n$ the pro- in the course of a program,
First, y o u m u s t e x a m i n e the g r a m n a m e , a the m a c h i n e code because the s o f t w a r e w r i t e r s S A V E (or L O A D ) * " m " ; d ; n$
Basic p r o g r a m , and identify all address, b the n u m b e r of b y t e s c a n n o t be sure that a user will D A T A f${)

66 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
SPECTRUM UTILITY

Data is n o r m a l l y s a v e d o n not be w a s t i n g time. Then, load f i l e " gets the w h o l e program operative w h e n y o u try to load
wafers by using t h e OPEN # and in the short p r o g r a m above f r o m running for me. Scrabble, y o u get the report
PRINT # i n s t i t u t i o n s , and read w a f e r , run it, start the tape and ' O u t of m e m o r y ' , and y o u can-
by using the OPEN # and INPUT the file w i l l be loaded into the interface n o t initialise t h e W a f a d r i v e w i t h
# instructions. Y o u c o u l d w r i t e S p e c t r u m . N o w delete line 1 0 . Scrabble already loaded. If y o u
extra lines of Basic t o use this and save the p r o g r a m on w a f e r , W h y d o I have a K e m p s t o n inter- c a n enter N E W * w h e n the
method, b u t it is rather cumber- using the appropriate file name. face w h e n the W a f a d r v i e has p r o g r a m is loaded y o u have no
some and there is a m u c h easier The file will be saved, t o g e t h e r C e n t r o n i c s and R S 2 3 2 inter- p r o b l e m , if y o u c a n ' t f o r g e t it.
way. w i t h the Basic REM line, and y o u faces. y o u ask. Well, I already r e m e m b e r , t h o u g h , t h a t t o keep
Alter the datas loading lines will be able t o load it into your had b o t h a K e m p s t o n and a mor- on the right side of the l a w , any
to main program quite normally bid dislike of parting w i t h m y b a c k u p copies y o u m a k e m u s t
w h e n required, because the pro- hard-earned w h e n I b o u g h t the be entirely for your o w n use, and
MERGE *n$ g r a m w i l l ignore the m e r g e d W a f a d r i v e , so I s a w no reason t o not supplied to o t h e r s .
REM line. buy another C e n t r o n i c s connec- A n y other problems? Well,
To a n y o n e used t o loading ting lead w h e n the K e m p s t o n the only other one I m e t w a s , I
Write the f o l l o w i n g short pro-
programs from tape, this w o r k s p e r f e c t l y w e l l w i t h it. a m sure, peculiar to me. O w i n g
gram, and save it on the w a f e r
m e t h o d of l o a d i n g d i f f e r e n t What about making backup to the curious g e o g r a p h y of m y
you are using for your main pro-
Basic p r o g r a m s m a y s o u n d s l o w copies of games onto small h o m e , the printer sits o n
gram, calling it w h a t e v e r y o u
and elaborate, but r e m e m b e r W a f a d r i v e ? I have put Psion t o p of the freezer, and w h e n e v e r
like.
that p r o g r a m s load very q u i c k l y Chess o n t o w a f e r s u c c e s s f u l l y , the freezer m o t o r c u t s in and
f r o m the w a f e r s . Y o u d o n o t and it loads m u c h more q u i c k l y . out, it resets the S p e c t r u m . M y
0 LOAD DATA f$() have t o search for the p r o g r a m s , Y o u have t w o problems in this dealer tells m e that s o m e t h i n g
9999 REM the W a f a d r i v e does that for y o u , area. First, c a n y o u break into called ' T h e Plug' w o u l d cure
so c h a n g i n g p r o g r a m s in mid- the program successfully, to this, and I m a y yet brush the
If LINE 9 9 9 9 is used by the main s t r e a m is quick and easy. make any sort of c o p y ? If so, m o t h s o f f m y A c c e s s cards and
program, replace it w i t h any line You should keep all t h e Basic, y o u are h a l f w a y there. W h e t h e r try it, b u t in the m e a n t i m e I
number w h i c h is unused. f $ m a c h i n e c o d e and file p r o g r a m s y o u can n o w c o p y t o w a f e r s s w i t c h the freezer t o fast freeze
must be the array letter used by t h a t y o u w i l l w i s h to use d e p e n d s on h o w m u c h m e m o r y w h e n I use the S p e c t r u m so that
the program. together on the same w a f e r , so is used by the p r o g r a m c o n c e r n the m o t o r is on p e r m a n e n t l y ,
Whenever y o u are using your that loading t h e m as needed is ed. The W a f a d r i v e uses part of and that cures it. A p a r t f r o m
main program, use the save t o quick and easy. I w r o t e a loading the S p e c t r u m m e m o r y for its that, no problems. In f a c t , I find
tape option for saving any files p r o g r a m for M a s t e r f i l e w h i c h o w n operations, and there m a y the p r o g r a m c o n v e r s i o n s quite
which are in the f o r m of data loads t h e K e m p s t o n i n t e r f a c e not be r o o m for the p r o g r a m a n d absorbing, and the resulting
arrays, tt is a w i s e p r e c a u t i o i n t o software, the Masterfile the W a f a d r i v e to o p e r a t e speed when using the
make b a c k u p copies of w a f e r m a c h i n e c o d e and the M a s t e f i l e t o g e t h e r . Psion Scrabble is an W a f a d r i v e a great blessing. I a m
files on tape a n y w a y , so y o u will Basic so that L O A D * "master- e x a m p l e . If the W a f a d r i v e is sure y o u will too.

Son of Microdriver pose of the M i c r o d r i v e r is t o per-


f o r m tape to m i c r o d r i v e , or e v e n
since the Microdriver costs
almost £ 4 0 it does m a k e it
t o enter pokes tor infinite lives
and so on; an o p t i o n t h a t a l l o w s
Strikes Back! tape to tape transfers of all financially impractical, so that y o u t o c h o o s e w h e t h e r or n o t
S p e c t r u m s o f t w a r e , so that y o u should keep the i n d u s t r y h a p p y . y o u w a n t t o save the current
can n o w use y o u r m i c r o d r i v e for The Microdriver looks just screen display this can save
The M i r a g e M i c r o d r i v e r g o t LOADing commercial software like a j o y s t i c k interface, except a b o u t 7K of space on the car-
some excellent r e v i e w s w h e n it w i t h o u t needing to spend hours for a small red b u t t o n on one tridge and further reduces
was first launched just a f e w of h a c k i n g t o get past piracy pro- side, and an e x p a n s i o n port in loading t i m e s ; COPY — this
months ago, and n o w M i r a g e tection systems. However, the the back. It plugs into the rear a l l o w s y o u t o print a c o m p l e t e
have p r o d u c e d a Version 2 . 0 Microdriver does n o t encourage port o n the Interface 1, and o n c e screen d u m p t o the ZX Printer
Microdriver that is faster and piracy, since any b a c k - u p copies the m i c r o d r i v e is set up w i t h a (and, as far as I c a n tell, t o other
also offers s o m e n e w facilities. of s o f t w a r e will only run if t h e cartridge in it, y o u can load d e d i c a t e d printers s u c h as the
In c a s e y o u m i s s e d t h e Microdriver is still c o n n e c t e d to whatever software you choose A l p h a c o m 3 2 and Seikosha
reviews of the original version I'll the S p e c t r u m . This doesn't f r o m tape. Once the s o f t w a r e is G P 5 0 S ) . There is also a D U M P
just do a quick recap. The pur- m a k e p i r a c y i m p o s s i b l e , but loaded y o u t h e n press the but- facility, that a l l o w s y o u t o store
t o n on the side of the Micro- screen d u m p s or sections of
driver, f o l l o w the p r o m p t s , a n d m e m o r y o n t o microdrive.
let the thing d o all the w o r k for If y o u ' v e g o t a microdrive and
you. w a n t t o use it t o speed up
The w h o l e process is v e r y loading of s o f t w a r e t h e n the
easy t o f o l l o w as the Microdriver M i c r o d r i v e r is an e x c e l l e n t
d o e s n ' t require y o u t o d o m u c h device. I t ' s reliable and v e r y sim-
more t h a n c h o o s e the o p t i o n ple t o use, a n d t h o u g h , at
y o u w a n t ( S A V E / L O A D etc* and £ 3 9 . 9 5 it isn't cheap, if y o u use
give the p r o g r a m a n a m e . W i t h a lot of c a s s e t t e based s o f t w a r e
its Version 2 . 0 R O M , the n e w t h e n its c o n v e n i e n c e value
M i c r o d r i v e r is e v e n faster t h a n should j u s t i f y the expense.
before, and w h e n I m a d e a back- For o w n e r s of the existing
u p copy of a g a m e that took five Version 1 . 0 Microdriver, Mirage
m i n u t e s to load f r o m c a s s e t t e , are quite laudably o f f e r i n g an
the microdrive v e r s i o n loaded in upgrade sevice at a cost of
only eight s e c o n d s (thirty s e v e n £ 5 . 9 5 w h e n the original
and a half t i m e s faster t h a n Microdriver is returned.
tapel! Enquiries, upgrade order e t c .
The n e w facilities available to; Mirage M i c r o c o m p u t e r s Lts,
w i t h Version 2 . 0 are; an improv- 2 4 Bank S t , Braintree, Essex
ed POKE facility t h a t a l l o w s y o u C M 7 7 U L (tel. 0 3 7 6 4 8 3 2 1 ) .

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 67
UTILITY

interfaces
dard; a serial board will cost ex
tra.

face to face.
interface 1
This bad n e w s m u s t be set
against t h e g o o d n e w s that
Sinclair's Interface 1 already has
an RS232 p o r t s u i t a b l e for
printers on board. So if y o u
already have Interface 1, y o u

The problem of hooking up the


m u s t balance the cost of paying
e x t r a for an RS32 board on the

Spectrum to a suitable printer is


printer and a printer cable
against paying for a separate

investigated by John wase.


parallel interface to put on the
outlet port of the S p e c t r u m .
Perhaps this is w h y there are so
f e w other S p e c t r u m RS232 in
terfaces available; Euroelector-
Not so very long ago. M a t t t i o n f r o m the R O M PRINT and parallel (or Centronics-type) in- nics Z X L p r i n t III being the only
Nicholson, w r i t i n g for You and COPY routines fed o u t at the t e r f a c e takes e a c h byte and c o m m o n one; unusual in that
Your Barclaycard, suggested in rear port is n o t in a recognised sends each of the eight bits the little box c o n t a i n s b o t h serial
an article o n h o m e c o m p u t e r s s t a n d a r d f o r m . T h e ZX printer simultaneously (i.e. in parallel) and parallel boards, and that the
that there w a s s o m e d i f f i c u l t y in has a sort of built-in interface t o the printer. The serial (or r e l e v a n t c a b l e s are s o l d
c o n n e c t i n g a S p e c t r u m u p to a w h i c h a l l o w s it t o interpret fluc- RS232-type) i n t e r f a c e sends separately. ( A n d i t ' s the ZX
printer. H o w t i m e s have c h a n g t u a t i n g signals as ' m a k e a d o t ' or each of the eight bits one after LPRINT III that w e use for prin-
ed! I t ' s n o w not only easy, but 'don't make a dot' (the the other. t i n g listings and in w o r d pro-
y o u ' r e spoilt for c h o i c e over the A l p h a c o m and Floyd c a n be said Printers, in t u r n are sold set cessing Ed.)
means available. L e t ' s look at t o e m u l a t e the ZX printer (hence up t o decode either serial infor-
the w a y i t ' s done and s o m e of
the alternatives available.
t h e i n t e r f a c e c o n t a i n i n g the
c h i p l a n d properly o r g a n i s e d
m a t i o n , or parallel i n f o r m a t i o n Parallel printing
(or, occasionally, both) in other
(hence the s o f t w a r e , w h i c h will, w o r d s , the printer is itself equip- A h , but y o u b o u g h t the one w i t h
for instance, permit proper ped w i t h a serial or w i t h a parallel
Hardware LLISTings of Sinclair interface. The majority of printer
the parallel port, d i d n ' t y o u !
Well, w h a t m a k e of interface are
hassles. . . Keywords). installations used t o be set up for y o u going to b u y , then? The
There are t w o main sorts of parallel t r a n s m i s s i o n of informa- c h o i c e is b e w i l d e r i n g . A t least a
There are likely to be four types add-on printer interfaces t o fit a tion; h o w e v e r the s w i n g is n o w dozen, probably more. H o w
of S p e c t r u m h a r d w a r e t o S p e c t r u m because there are t w o tending t o w a r d s serial. Never does one make a rational deci-
consider — the original rubber main w a y s of sending informa- theless, m a n y printers still c o m e sion?
b u t t o n S p e c t r u m , t h e Spec- t i o n t o a s t a n d a r d printer. The w i t h a parallel interface as stan- There are t w o main sorts of
t r u m + , Interface 1 and add-on
keyboards, each influencing
the w a y a printer m i g h t be con-
nected.
N o w , have y o u c h o s e n your
printer? Y o u have? Y o u ' v e
Chosen it already, have y o u 7 By
mail order, too? So, y o u ' r e s t u c k
w i t h it 1 All right; l e t ' s see h o w to
c o n n e c t it up.

ROM rattlers
If i t ' s a ZX printer, an A l p h a c o m ,
or a F l o y d , t h e n t h e s e are
designed to use the S p e c t r u m
R O M routines LLIST, LPRINT
and COPY. T h e y will each fit
directly into the S p e c t r u m or
S p e c t r u m + , via the rear expan-
sion p o r t , a l t h o u g h some m i g h t
not easily fit e v e r y sort of add-on
keyboard. For other printers, an
interface and cable are required
at extra cost — a point w o r t h
t h i n k i n g about if y o u w a n t only
t o LIST p r o g r a m s .

Why extra
interfaces?
Standard printers expect infor-
m a t i o n t o be presented t o t h e m
in standard fashion, and are
designed for this. The informa-

68 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
UTILITY

interfaces; in one sort the soft


ware is L O A D e d (e.g. f r o m the
cassette supplied), w h i l s t the
other has s o f t w a r e o n board on
EPROM. W h i l s t in theory the
cassette-based s o f t w a r e m u s t
oe fed in each time the printer is
used, in practice this is not as
oad as it loks: for instance, for
writing t e x t , T a s w o r d II incor-
porates m o d i f i c a t i o n s f o r a
range of interfaces; the POKEs
;ire saved w i t h the program. I t ' s
still necessary t o L O A D s o f t
ware, t h o u g h , f o r L L I S T ,
LPRINT a n d C O P Y ( v a r i o u s
sizes). This is located in the
printer buffer w h i c h N E W clears
out — a bit of a bind s o m e t i m e s .

Eprom for
efficiency
Interfaces w i t h a n o n b o a r d
EPROM are usually a little more
expensive, but all y o u have t o d o
is s w i t c h on and there it is. It
cant be NEWed a w a y , but there
can still be certain problems. For
instance, all ZX Basic's key-
words are e n c o d e d by single
edge connector, but simply W a f a d r i v e c o m e s w i t h Spectral c o m p u t e r and interface. Power
ASCII codes or t o k e n s w h i c h are
because it m a y have strained W r i t e r , (a w o r d processing pro d o w n , c h e c k that the D plug t o
decoded by the printer interface
the S p e c t r u m PCB, and put a g r a m ) , a n d i n c o r p o r a t e s ap- the printer is tight, and clipped in
software so that p r o g r a m s are
micro-crack in one of the con- propriate t e x t printing i n t e r l a c e if clips are provided. Check that
USTed correctly; s o m e t i m e s it
d u c t i v e tracks. s o f t w a r e . W i t h Discovery i t ' s it d o e s n ' t w o b b l e . Check that
is necessary to use ASCII codes
even easier: just enter the c o m the mains plugs are in order,
to send other i n f o r m a t i o n t o the
m a n d OPEN #3;"b" (for in
printer, a n d s o m e t i m e s t h i s is the price right? stance, insert this at the start of
that, if a mains adapter is used, it
is s a t i s f a c t o r y ( w i t h o u t w o b b l e )
can't easily be done if the soft
Check the r e v i e w s , check the line 1 5 in T a s w o r d II) and y o u ' r e and that the S p e c t r u m p o w e r
ware decodes t h e m ail the time,
adverts. This last s u m m e r in a a w a y . Oh, and do, at s o m e supply is properly p l u g g e d in at
in a d d i t i o n , c e r t a i n B a s i c -
seaside chainstore, I s a w an old stage, m e n t i o n your rich uncle b o t h ends. The socket can o f t e n
augmenting programs, like Beta
m o d e l being o f f e r e d as a special that y o u will need (at extra c o s t l be loosened on the S p e c t r u m
Basic and MegaBasic can pre-
r e d u c t i o n ; but it w a s still C 1 0 a printer cable. printed circuit board. Check that
sent LISTing problems. Finally,
dearer t h a n the nationally adver- the cable interface c o n n e c t i o n
to make big screen copies IA4>
is g o o d .
you need t o feed in additional tised price of a replacement
m o d e l ' Oh, do m a k e sure that
So, what can go S o m e interfaces use a pin
cassette-based software
anyway. the i n s t r u c t i o n leaflet 3nd the wrong? connector; some (e.g.
cable are included in the little Discovery), use an edge connec-
box. Firstly never, ever, connect or tor like the S p e c t r u m edge con-
Fitting in If y o u are the p e r f e c t ig disconnect your Spectrum to e c t o r . D i r t y edge c o n n e c t o r s
n o r a m u s (join the club), take the the interface of the printer with c a n be cleaned w i t h an ink
Now the little box itself. First, f o r printer and Spectrum to the local the power on. S w i t c h off first. If eraser p r o v i d e d there is still
goodness sake d o n ' t just buy micro-shop (preferably not y o u pull the S p e c t r u m and inter metal there! M a k e sure that the
one w i t h o u t t r y i n g it for size. chain-store). Their prices will f a c e a p a r t w h i l s t t h e y are interface c o n n e c t o r is n o t fouled
Some older interfaces will not probably not be the cheapest, p o w e r e d up, y o u can (and pro by the S p e c t r u m heat sink, (the
physically f i t the S p e c t r u m + b u t y o u are l i k e l y t o g e t bably will) b l o w t h e m b o t h . a l u m i n i u m strip); it must go right
and some will not fit an add on specialist a d v i c e ensuring that T h u s , interface w o b b l e is bad h o m e . If trouble persists, t h e n
keyboard, so check first, n e x t , y o u are a i d e d s a t i s f a c t o r i l y . n e w s : a v o i d it. A c r a s h i n g get your local micro shop to run a
look at the design. Reject any in- A l t e r n a t i v e l y , for the bargain T a s w o r d can be c a u s e d by dirty test on the gear.
terface w h i c h is f l i m s y or w h i c h prices, order by mail order. or loose c o n n e c t i o n s . C o n t i n u e d Good luck with your
has an edge c o n n e c t o r w h i c h is crashing f r o m this cause endeavours and Happy Prin-
not really g o o d and t i g h t , since will d a m a g e the health of your
poor c o n n e c t i o n s can lead t o Cunning ting!

loss of text or, at w o r s t , loss of combinations


computer and interface! There
are t w o m a i n p a t t e r n s , t h e If y o u are lucky e n o u g h to have a
upright box and the box w h i c h rich uncle, he m i g h t be c o n n e d
ies flat at the back. If y o u favour into g e t t i n g y o u a c o m b i n a t o n
one of the latter, make sure that deal, like the Rotronics
it does n o t need additional sup- Wafadrive, which comes with
port, particularly if y o u use an b o t h parallel and serial inter
add-on keyboard. If the inter faces on board, or a Discovery
face is hanging o u t at the back, it disc unit, w h i c h incorporates a
may not crash the c o m p u t e r parallel port. B o t h these units
through a poor c o n n e c t i o n at the s u p p o t y LLIST and LPRINT.

69 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
HARDWARE

Epson Meets The


the LLIST, and RETURN instruc
tions also o n separate lines, b u t )
w o u l d still like t o k n o w w h y the

Spectrum
S p e c t r u m will p e r f o r m instruc-
tions following a REM in s o m e
cases and not in others!
LLIST, m e r g e d on t o the end
of any p r o g r a m for Llisting, and
run by a direct c o m m a n d

R.C. Luxton thought his troubles were


GOTO 9985 works for me,
and w o u l d probably require very

over when he got an FX80 — here he


little a d j u s t m e n t to m a k e it w o r k
e q u a l l y w e l l for a n y similar

explains the pitfalls.


printer i n t e r f a c e d to the Spec-
t r u m , e v e n w i t h a different inter-
face.
Extra care should be taken in
t y p i n g it in as s o m e of the s y n t a x
W h e n I retired m y f a i t h f u l ZX of nine d i f f e r e n t character sets got c o n f u s e d , so that some care is u n u s u a l . T h e c o l o n s are
t h e r m a l printer in favour of a for the U S A , France, G e r m a n y , w o u l d have t o be taken s w i t essential and the CHR$ (27);
shining n e w Epson F X 8 0 dot- England, Denmark, Sweden, c h i n g the t o k e n s O N and OFF. "E"; in Line 9 9 9 9 sets the
matrix printer, I f o n d l y imagined Italy, Spain and Japan, e a c h of p r i n t e r for e m p h a s i z e d Pica
that all m y troubles w o u l d be
over, and that I w o u l d simply
w h i c h , in a d d i t i o n t o an
alphabet, numbers, etc, con-
LLIST face, but c a n be c h a n g e d as re-
quired.
have t o press a key or t w o in tains a number of unfamiliar W i t h s o f t w a r e - d r i v e n printer in
order to have lots of d i f f e r e n t c h a r a c t e r s applicable t o that t e r f a c e s simple Pokes are s u f f i
t y p e f a c e s and other p r i n t i n g
tricks at m y c o m m a n d .
c o u n t r y ' s alphabet.
In all of the sets except those
cient t o s w i t c h t o k e n s on and Tasword
o f f , but this does not w o r k w i t h
How wrong I was! for England and Spain, the c o d e the K e m p s t o n E! H o w e v e r , I This routine will take care of the
The Epson does s u p r e m e l y 3 5 s y m b o l is ' W. In the English f o u n d that p u t t i n g the required LLISTing problem, but even the
w e l l all that is claimed tor it, and set, c o d e 3 5 is the ' £ ' sign. COPY:REM CHR$ 0 (or 1) into a superb T A S W O R D II w o r d pro-
m y K e m p s t o n E C e n t r o n i c s in- Thus, if y o u call the English set Basic line w o r k s , and Ihe Spec cessor p r o g r a m is not w i t h o u t
terface, w h i c h has a built in ( N o . 3 ) by i n p u t t i n g LPRINT t r u m e v e n reads the CHR$ in its troubles. O n m y E p s o n F X 8 0 ,
Eprom and o c c u p i e s no space in CHR$(27);"R";CHR$(3); t h e n s t r u c t i o n AFTER the REM the DIP s w i t c h pins S W 1 6, S W
R A M , remains p e r m a n e n t l y at the Epson will faithfully print ( w h i c h it should not do), b u t that 1 -7 and S W 1 8 have been set
t a c h e d t o the back of the Spec- every ' £ ' . But w h a t do y o u do if adding a c o l o n and another in- ON, OFF and OFF, w h i c h a u t o
t r u m , quietly going about its y o u w a n t t o print BOTH L"s s t r u c t i o n on the same line w i l l matically downloads the
business. W h a t I did n o t k n o w A N D # ' s w i t h i n the listing? not w o r k ! ENGLAND International
w a s that a k n o w l e d g e of C o n t r o l (Have y o u n o t i c e d h o w m a n y The simple a n s w e r w a s to Character Set w i t h its ' £ ' as
and Escape codes w a s essential magazines print listings for put the s w i t c h i n g c o m m a n d s o n character 3 5 , along w i t h other
to use the m a n y f u n c t i o n s of the S p e c t r u m p r o g r a m s using an a line of their o w n , as in lines characters specific t o that set
printer and t h a t s o m e hard s t u d y italic b r a c k e t , or the ' £ ' , in place 9 9 9 5 and 9 9 9 7 of m y p r o g r a m . This is fine if I w a n t to print the
of t h e F X S O ' s o p e r a t i o n s of the ' # ' ? Presumably their
manual w o u l d be needed. printer d u m p s have similar
The S p e c t r u m uses single troubles?). How Does LLIST work?
b y t e t o k e n s for k e y w o r d s and In an ordinary Basic program,
the K e m p s t o n interface will in it w o u l d b e s i m p l e t o c a l l s = 23755
terpret the t o k e n s t o print out b a c k w a r d s and f o r w a r d s bet- FN a( ) = ( 2 3 7 5 9 ) Start of first p r o g r a m line.
the full k e y w o r d s during w e e n say, the G e r m a n set, w i t h FN b( ) ( 2 3 7 7 0 ) Remainder of the line.
LLISTing. This h o w e v e r , can its code 351 H). and the English Fnc( ) = Current line n u m b e r . I s & s * 11.
c o n f u s e the printer so the Ep- set c o d e 3 5 ( C ) , but this w o u l d
s o n ' s c o n t r o l codes m u s t be not do for LLISTing It w a s t h e n Line 9 9 8 6 If n e x t line - start of this routine, t h e n stop.
entered w i t h the k e y w o r d s OFF. that I d i s c o v e r e d the ESC 6 , 9987 Sets up printing f o r m a t and starts | FOR NEXT
T o s w i t c h OFF t h e t o k e n s , Printable C o d e Area Extension' loop.
COPY : REM CHR$ 0 is entered in the manual, w h i c h had ob- 9988 tf | ' #* (Code 3 5 ) , ( w h i c h w o u l d not prinl
as a direct c o m m a n d . Similarly, viously been designed for such thus!) then LLPRINT ' # '
COPY : REM CHR$ 1 is entered use. This allows 3 3 extra 9989 If) ' £ ' , (Code 9 6 ) , ( w h i c h w o u l d not print
to s w i t c h t h e m on. characters Spanish. thus!) then calls ESC 6 . Printable Code Area
I s o o n f o u n d that the Escape Japanese etc t o be loaded in Extension and LLPRINT CHR$ 1 3 4 ( £ ' ) .
and C o n t r o l codes w o r k e d as to c o d e n u m b e r s that are not 9990 If j 'OPEN W (Code 2 1 1 1 , ( w h i c h w o u l d not
printed in the manual if I put the normally used, t h u s code 1 3 4 is print thus!) t h e n LLPRINT 'OPEN #'
codes in Basic lines and set the the ' £ ' character. For this y o u 9991 If j 'CLOSE r (Code 2121, ( w h i c h w o u l d
t o k e n s w i t c h e s OFF w i t h a enter, LPRINT CHR$(27);"6"; not print thus!) t h e n LLPRINT 'CLOSE W
direct c o m m a n d . T h u s : ESC SO, f o l l o w e d by a call for the 9992 If J - 3 2 , t h e n LLPRINT it! B e l o w 3 2 is n o t
the Enlarged m o d e s e t t i n g re character you w a n t printed, printable.
q u i r e s LPRINT CHR$ ( 2 7 ) ; thus: LPRINT CHR$ 1 34 for the 9993 CHR$ 1 4 signifies a numerical c o n s t a n t in the
CHR$(14); to be sent to the ' £ ' sign. line, f o l l o w e d by five b y t e s for the n u m b e r
printer in order to print enlarged It became o b v i o u s t h e n that a itself, so d o not LLPRINT them 1
characters. p r o g r a m w o u l d be needed t o set 9994 C o n t i n u e s w i t h the remainder of the line.
up the printer and do all the s w i t - 9999 Sets variables. The first sets Epson F X 8 0 for
Emphasised pica face CE') and can be c h a n g
Symbol shift ching necessary t o call the op-
ed as required.
tions required t o LLIST w i t h cor
A snag become evident rect printing of the ' W and ' £ '
h o w e v e r , w h e n I tried t o LLIST characters. But. if these w e r e IMPORTANT: 'OPEN £ ' in line 9 9 9 0 and 'CLOSE £ ' in line
p r o g r a m listings c o n t a i n i n g the c o n t a i n e d in just a f e w lines t o 9 9 9 1 MUSTbe entered using individual Jet
' £ ' and ' s y m b o l s . The F X 8 0 MERGE at the end of a p r o g r a m ters. S p e c t r u m k e y w o r d s will not w o r k w i t h
a l l o w s y o u to d o w n l o a d any one t o be LLISTed, t h e n the printer

70 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
HARDWARE

' , but in this set there is n o ' W programmed character 1 2 8


(which is character 3 5 in m o s t w i t h 2 7 , 8 2 and 3 , and char
of t h e o t h e r international 1 4 3 w i t h 2 7 , 8 2 and 2. w h i c h
character sets)! are the codes for Escape code
A little study of the p r o g r a m 2 7 : *R' (code 8 2 ) , the Epson In
printer c o n t r o l codes s h o w s that ternational character set selec-
Graphics character 1 2 8 is pro- tion, w i t h ' 3 ' for the English set
g r a m m e d w i t h n u m b e r s 2 7, and ' 2 ' for the G e r m a n version.
112 and 4 8 , w h i l e character N o w , t o print ' £ ' I simply type
143 has 2 7 , 1 12 and 4 9 . This in the ' #' key, but t o obtain the
means that using G R A P H I C S 8 , hash, I t y p e in GRAPHIC SHIFT
(Code 1 2 8 ) , Escape c o d e 2 7 , 8, ^.GRAPHIC 8.
and 'p' (Code 11 2 for the Ep T h e K e m p s t o n E interface re
son proportional spacing m o d e ) , quires the t o k e n s to be s w i t c h e d
is sent to the printer, f o l l o w e d by OFF b e f o r e loading T a s w o r d
0' (OFF), in other w o r d s , COPY:REM CHR$ 0), and if the
GRAPHIC 8 sets 'Proportional dip s w i t c h N o . 2 (SW pin 2 - 4 ) in
spacing' to OFF, while the Epson printer is set on, then
GRAPHIC SHIFT 8. (Code line feeds are a u t o m a t i c . The
143), Escape c o d e 2 7 , c o d e T a s w o r d Printer Linefeed should
112 Cp'), and code 4 9 , C I ' ) , b e s e t t o r 0 " , and the Printer Car-
sets it t o ONI. riage Return t o 1 3 .
I decided that proportional T h e S p e c t r u m m a n u a l , page
spacing w a s an o p t i o n that I 1 6 6 , explains h o w Basic pro-
could d o w i t h o u t , so I s i m p l y re g r a m lines are c o n s t r u c t e d .

• '..!• 11 V
M H
m
liil^jjliilhil^iL,!!
rail
9 9 8 5 GO SUB 9 9 9 9
9 9 8 6 IF FN c ()=9985 THEN LPRINT
ill^ki'lrii : STOP
9 9 8 7 L P R I N T TAB 1; (" " A N D FN c
41 (><=9)+(" " A N D FN c ( ) > = 1 0 A N D F
N c()< i 0 0 ) ; F N c < ) ; : FOR j =FN a()
TO FN b O
^lilSl^iS! 9 9 8 8 IF PEEK j = 3 5 THEN LPRINT "
m
BlpfHijjSa
£": N E X T j
9 9 8 9 IF PEEK j = 9 6 THEN GO SUB 9
995: L P R I N T C H R * (27);"6";: LPRI
NT C H R $ 134;: G O SUB 9997: N E X T
m

j
ffiL m K
i r i M m ffiH •lisffli km 9 9 9 0 IF PEEK j=211 THEN LPRINT
1,119'
i'^WsaKM H n a m fliMM
" OPEN £": N E X T j
9991 IF PEEK j = 2 1 2 THEN LPRINT
mm jmiiii •
HI
mam HSMSi
TIR; SHJ Milt SI BH H I " C L O S E £";: N E X T j
I
IBS IjWiliF « Will 9 9 9 2 IF PEEK j > = 3 2 THEN LPRINT
i C H R * PEEK j;
iteMSKKi ftmtMHM
9 9 9 3 IF PEEK j = 14 THEN LET j=j+
itiotmg mm H tmm
L Hi w 1 BIS m m
'Mt | t M i 9 9 9 4 N E X T j: L E T 5=FN bb(())++l1:: GO
JL ml
'II;
Hill '' ' ''I'
TO 9 9 8 6
9 9 9 5 COPY :: REM C H R * 0
9996 RETURN
9 9 9 7 COPY : REM CHRf 1
9998 RETURN
9 9 9 9 GO SUB 9995: L P R I N T C H R $ (2
7) ; "E " ; : L P R I N T C H R * (27)'; "R" ; CH
R $ (2); GO SUB 9997: LET 5 = 2 3 7 5 5
: DEF FN a ( ) = s + 4 : DEF FN b ( ) = s + 3
+PEEK < s + 2 > + 2 5 6 * P E E K (s+3): DEF
FN c ( ) = 2 5 6 * P E E K s + P E E K (s+1): RE
TURN : REM " E " ( l i n e 2) is -for EM
F'HASI ZED p r i n t . C h a n g e a s requir-
ed. *"LL I ST" ( c ) R . G . L u x t o n *

ZX
71 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
WORDPRO

Tasword or
c u p y more than 1 line on the
paper, m a k i n g a nonsense of the
justification and w o r d - w r a p .

Spectral?
(Fig. 4). Y o u can o v e r c o m e this
w i t h T A S W O R D by indenting
the margins, r e d u c i n g the col-
u m n s per line. (Fig. 51.

Search facilities
Both p r o g r a m s use the ' a r r o w '
keys t o m o v e the cursor one let-
ter or one line in any direction,

Carol Brooksbank has been using both


but T A S W O R D also a l l o w s y o u
to m o v e the cursor back or for-

wordprocessors for some time now and


w a r d one w o r d at a time for rapid
m o v e m e n t . SPECTRAL has very

gives some advice to those about to


fast repeat, so t h a t a l t h o u g h the
cursor m o v e s one letter or one

venture into this field.


line at a t i m e , if the key is held
d o w n c o n t i n u o u s l y the move-
ment is m u c h more rapid t h a n
TASWORD's word jumping.
If y o u are t h i n k i n g of b u y i n g a T h e repeat speed m a y be altered
w o r d p r o c e s s o r p r o g r a m for Fig. 1. 64 C O L U M N SCREEN DISPLAY by the SPECTRAL user if re-
your S p e c t r u m , y o u c o u l d find quired. SPECTRALalsoallows the
yourself t r y i n g t o c h o o s e bet i s a test p i t t e , to U e 5cretb A i . ^ l i i i w 1. cursor t o be m o v e d t o the next
w e e n T A S W O R D 2 and SPEC full s t o p — m o v i n g a sentence at
If J speak i n the tonjujes of »e» v>4 anvels, but baw JM>T loue, a time.
TRAL WRITER. The p r o g r a m s
I an a fioisji cr a c i a w i r t f cymbal. rtrj-rf if I bai't p r o f t e t i c B o t h p r o g r a m s allow y o u t o
are very similar. 8 o t h are superb ; o » t r s , and understand a l l »yst«ries and a l l k»o«d$t. arid if i
w o r d processors, p a c k i n g some a l l f a i t b , so as to r t w t i « nounUins, hut haot not l o w , 1 search for a particular w o r d or
very impressive features into a ciN nothing. phrase, but T A S W O R D also has
small e n o u g h space t o leave the facility to replace every oc-
r o o m for over 3 0 0 lines of your currence of a particular w o r d or
This i s a test piete to shun The srrceu display itf 5PEC7PSI phrase w i t h another w o r d or
creative genius in the
WITEC. phrase a u t o m a t i c a l l y very
S p e c t r u m ' s m e m o r y . But there
are small b u t i m p o r t a n t dif handy il y o u discover that y o u
If J spMb i o tbe 10JJ5UB5 trf juit assets, but haitp not Idwf..
ferences, and t o c h o o s e the one I i t a nDisu gnng or a clanging ts«bal- BiU i f I haue prophetic have been mis-spelling a w o r d
that will suit y o u best, y o u need and iwnterstam) a l l »KstpriE5 and a l l hmwledge, and i f ) throughout a document.
t o k n o w w h a t the d i f f e r e n c e s iMVs J U f i i t b , sa as to ffnoK* Mouofaias, bur baw oat louf., J
are. aM nothing. insertion
In this article, I a m c o n c e n
trating on those d i f f e r e n c e s , and T A S W O R D has an Insert M o d e
not describing operations w h i c h w h i c h a l l o w s y o u to insert extra
T A S W O R D is displayed w i t h d e n t e d paragraphs w h i c h are
are c o m m o n o n b o t h if the only s e n t e n c e s in the middle of a
black print on w h i t e screen. justified, (Fig. 2). SPECTRAL
difference is the key pressed to document without over-writing
S P E C T R A L is c y a n on blue, has full user-definable tabula-
p e r f o r m the operation. B o t h pro w h a t is already there. W i t h
w h i c h appears w h i t e o n black on tion, as f o u n d on the best type-
grams p e r f o r m all the basic f u n c SPECTRAL y o u m u s t first insert
a m o n o c h o r o m e T V , but there is w r i t e r s , w h i c h makes t y p i n g in
tions t o allow y o u t o enter, cor blank lines and t h e n t y p e the ad
a m e n u o p t i o n for changing the c o l u m n s v e r y easy. (Fig. 3), but
rect, print, S A V E and L O A D ditions in t h e m .
screen colours to suit yourself, y o u c a n n o t indent t h e right
t e x t . The d i f f e r e n c e s are in the and y o u c a n incorporate the col margin.
extra features. S o m e y o u may our c h a n g e s into a b a c k u p c o p y This feature will probably be Block Copying
think vital, some y o u will pro- of the p r o g r a m if y o u w a n t to a major factor in your choice bet-
bably have no use for. The final make them permanent. W i t h T A S W O R D , the start and
w e e n the p r o g r a m s . Producing
c h o i c e will d e p e n d on your o w n end of the block t o be m o v e d or
w o r k in c o l u m n s is tedious w i t h
copied m u s t be m a r k e d , and it
preferences, and the sort of
w o r k y o u do.
Text Capacity T A S W O R D and simple w i t h
c a n t h e n be m o v e d t o lines
SPECTRAL. On the other hand,
w h i c h will be inserted above the
T A S W O R D , 3 2 0 lines of t e x t , the ability t o j u s t i f y to less than
Screen Display SPECTRAL. 3 5 0 lines. the 6 4 t h c o l u m n c a n be very
line w i t h the cursor in it. For
s o m e reason, I never get this
useful. If y o u have a printer
right, and a l w a y s have to have
B o t h p r o g r a m s display t h e t e x t
on screen as it will be printed,
Tabulation w h i c h c a n produce alternative
several a t t e m p t s before I get the
t y p e f a c e s , y o u will have difficul-
w i t h 6 4 characters per line, the block w h e r e I w a n t it — but that
T A S W O R D has no t a b s , but t y w i t h larger t h a n usual ones
special t y p e f a c e s they use for is just a personal i n c o m p e t e n c e .
does have adjustable margins. when using SPECTRAL,
this are slightly d i f f e r e n t , (Fig. If the block is copied, it will still
These can be used t o produce in- because 6 4 characters m a y oc-
1), and y o u may find one more also appear in its original place,
readable t h a n the other. If it but if m o v e d , the original will be
helps y o u t o decide, I prefer
Ho. ?. TftSwORO INDENTED PARAGRAPHS. d e l e t e d and relocated.
SPECTRAL, m y h u s b a n d likes SPECTRAL only copies text
T A S W O R D ! In f a c t , b o t h are ' M i s f i r s t p a r a g r a p h i : t yped w i t h t h e full width , fcl coUnn blocks. If y o u w a n t to m o v e a
n,4i g i n s d'v 5e-t rthev T t ^ p r o g r a m i c L o a d e d . The par «jgf aph below paragraph y o u m u s t delete it
perfectly readable, but i r . t y p e d MI t h t h e l e f t m a r g i n » e t a t and t h e r i g h t at 50.
T A S W O R D also has a ' w i n d o w ' f r o m its original location after it
f e a t u r e t o allow y o u t o see the li I w i t h t h e tCflUue?; O* "p6>h i n d angels, but has been copied to the n e w one.
h * i v e n o t l o v e , 1 at. <J n o i s y gong or a clanging
text full size if y o u have d i f f i c u l t y cymbal. And if 1 rm^e prophetic powers, and
I find the c o p y i n g m e t h o d easier
reading t h e c o n d e n s e d print. u n d e r s t a n d a l l m y s t p r I f ^ and a l l l.nowl e d g e , and i f 1 to handle, t h o u g h . You insert
( T h o u g h this is a f e a t u r e I have h . w s a l l f a i t h s o «;• t o r e m o v e m o u n t a i n s , but have e n o u g h blank lines to a c c o m -
n o t l o v e , 1 a« n o t h i n g .
never needed t o use.) m o d a t e the block w h e r e y o u

72 ZX COMPUTING FEBRUARY'MARCH 1 9 8 6
WORDPRO

m a y b e n u m b e r e d or u n - to be c o m b i n e d w i t h data s t o r e d
Fig. 3. SPECTRAL TABULATED TEXT
umbered, the starting page using the Campbell M A S T E R
n u m b e r to be specified by the FILE program, t o p r o d u c e per-
ORG 71AF
user if it is a value other t h a n ' 1 ' . sonalized circular letters e t c .
71AF CDA371 ROOM CHK C A L L 8W
C A L L FP TO BC If the p a g e s are n u m b e r e d , There is also the TASPRINT pro-
CDA22D
LD A , ( 5 B 0 1 >
m o d e l will print the n u m b e r s at g r a m , w h i c h p r o d u c e s alter-
3A015B
LD L , A the t o p right hand corner of each native t y p e f o n t s w i t h suitable
6F
LD H , 0 0 page, w h i l s t m o d e 2 may be full-size printers.
2600
AF XOR A selected if the n u m b e r s are re- There are, at present, no sup
ED4A ADC H L , B C quired t o alternate b e t w e e n t h e plementary p r o g r a m s for SPEC-
01FF00 LD B C , O O F F top left and t o p right corners t o T R A L , t h o u g h thre have been
AF XOR A facilitate binding. SPECTRAL rumours of plans t o p r o d u c e a
ED42 SBC H L , B C a l l o w s a page heading of up t o merging p r o g r a m .
30uD JRNC NO ROOM 3 2 characters t o be printed if re- T A S W O R D has an e f f i c i e n t
CD9C71 C A L L SH quired, w h i c h will be printed on c u s t o m e r b a c k u p service, and
47 LD B , A the side opposite the number esoteric queries are a n s w e r e d
AF XOR A C o n t r o l characters m a y be used rapidly and helpfully. The only
3A025B LD A , ( 5 6 0 2 ) if this is to be underlined, or in letter 1 have ever w r i t t e n to
90 SUB B bold t y p e , e t c . S o f t e k , the publishers of SPEC-
3802 JRC NO ROOM SPECTRAL also a l l o w s the T R A L , w a s not a n s w e r e d , but
A7 AND A user t o s p e c i f y t h e m a r g i n w i d t h Rotronics, the m a n u f a c t u r e r s of
C9 RET and the number of lines o n a the W a f a d r i v e storage s y s t e m ,
37 NO ROOM SCF page before a f o r m f e e d is ex- will handle queries about SPEC-
C9 RET ecuted, The default values, TRAL and t h e y have issued a
J w h i c h operate unless the user l e a f l e t g i v i n g l i s t i n g s for an
c h a n g e s t h e m , centre the t e x t upgraded version.
w a n t to put it, and s p e c i f y that graphics keys (G-mode keys o n the 8 0 c o l u m n page, and give The upgrade gives several
the block starting line, and 1 -8) d e f i n e d as printer c o n t r o l s 6 0 lines per page. To c h a n g e t h e i m p r o v e m e n t s to SPECTRAL's
ending line, is to be m o v e d w h i c h suit Epson printers. The margins or centre the t e x t w i t h printing. Parameters s u c h as
to a position s t a r t i n g line. If y o u user c a n re-define these if re T A S W O R D , y o u m u s t use page n u m b e r s , m a r g i n w i d t h
have not left e n o u g h blank lines quired, either t o suit another printer c o n t r o l s to set the left and number of lines per page are
to receive the c o p i e d paragraph, printer, or t o c h a n g e t h e c o n t r o l s margin. O n the w h o l e , SPEC- selected at print time, instead of
you get an ' o v e r l a p p i n g error' available. These are entered into T R A L ' s p r i n t i n g facilities are going first t o another m e n u o p
report, but the t e x t is n o t over the t e x t w h e r e required for more versatile than tion, T h e printer c o n t r o l s are im-
written. underlining, bold t y p e , italics TASWORD's. proved, so the p r o g r a m n o w
e t c . w h e n u s i n g a full size recognises C H R $ (0), and there
Justification printer. is a multiple copies o p t i o n . You
SPECTRAL uses the graphics Printing Part of c a n also elect t o pause the prin-
Both programs allow
automatic word-wrap
for
or
keys in the same w a y , but t h e y
are not pre defined, and the user
Text ting o p e r a t i o n at the end of each
page to a l l o w for c h a n g i n g paper
justification to be t u r n e d o n or m u s t define each one to his o w n w h e n using single sheets.
T A S W O R D will print f r o m a
o f f , for single lines t o be un- requirements before m a k i n g the In addition, a b u g is r e m o v e d
specified line to another
justified, and single lines or personalized b a c k u p copy of the f r o m the p r o g r a m and there are
specified line. SPECTRAL will
paragraphs to be j u s t i f i e d . program. One d r a w b a c k w i t h i m p r o v e m e n t s to some of the
print f r o m the cursor t o the end
SPECTRAL has an e x t r a facility, SPECTRAL - the program m e n u s . For instance, the direc-
of the t e x t . If only a centre sec-
in that the w h o l e text-file c a n be recognizes ' 0 ' (zero) as a null tories are d i s p l a y e d w h e n
tion is t o be printed w i t h SPEC
un-justified or justified. The lat- c o d e , so c o d e s w h i c h include loading or erasing a W a f a d r i v e
TRAL, the cursor m u s t be placed
ter needs a p p r o a c h i n g w i t h cau- C H R $ (0) c a n n o t be used. W i t h file. The 'save p r o g r a m to w a f e r '
at the s t a r t i n g line, a f o r m f e e d
t i o n , b e c a u s e e v e r y line is an Epson printer there are usual- o p t i o n is i m p r o v e d so that the
printer code entered at the end
justified, including headings and ly alternatives w h i c h use other program loads m u c h more
of the p o r t i o n t o be printed, and
short e n d o f - p a r a g r a p h lines, codes, but this c o u l d be a pro- q u i c k l y . The listing, 'Upgrading
the printing o p e r a t i o n s t o p p e d
w h i c h gives s o m e very odd ef- blem w i t h other printers. Spectral W r i t e r ' is available f r o m
manually w h e n the required sec-
fects. W i t h SPECTRAL, it is also T A S W O R D recognizes ' 0 ' as Rotronics for 7 0 p or for C1 y o u
tion has been printed. Alter-
possible t o centre unjustified CHR$ (0). m a y send your original copy of
natively, a selected p o r t i o n can
text in the page, m o v e it t o the W i t h SPECTRAL, it is also the p r o g r a m t o Rotronics w h o
be S A V E d separately, and the
left margin or m o v e it t o the right possible t o send a line feed or will u p g r a d e it for y o u . The
s e c t i o n L O A D e d in place of the
margin, t h o u g h 1 c o n f e s s that I f o r m feed i n s t r u c t i o n t o the listing is three pages of BASIC
full text before printing. T e x t
have yet to find a use for this printer direct f r o m the k e y b o a r d . plus a n u m b e r of POKEs, s o the
w r i t t e n using T A S W O R D and
facility. extra 3 0 p to have it done for y o u
saved on tape may be loaded in-
SPECTRAL has a 'bell' a ZX Printer t o SPECTRAL. The reverse is
seems g o o d value.
beep w h i c h s o u n d s near the e n d W h i c h to chose? It really is a
only possible if the t e x t is shorter
of a line, w h i c h is handy if t e x t is B o t h p r o g r a m s send t e x t t o the personal choice. My own
t h a n 3 2 0 lines.
being e n t e r e d w i t h o u t w o r d - ZX printer in 6 4 c o l u m n f o r m a t . preference is for SPECTRAL,
wrap, or j u s t i f i c a t i o n , using the T A S W O R D will also print any because the t y p e of w o r k I do
program like a t y p e w r i t e r . specified line at double height. makes the tabs, the page
Supplementary n u m b e r i n g and heading and the
Saving Text Page Layout Programs page layout facilities very
useful, but I k n o w that others
W i t h T A S W O R D , the w h o l e t e x t T A S W O R D a l l o w s the user to The T A S W O R D user w i t h a prefer T A S W O R D . I hope that
file is S A V E d . Spectra! a l l o w s specify the tine spacing, but has M i c r o d r i v e can o b t a i n a p r o g r a m this article will at least help y o u
the user to specify that only cer- no facilities for page n u m b e r i n g called T ASMERGE w h i c h a l l o w s to c h o o s e the one w h i c h will suit
tain lines of t h e t e x t are t o be or heading. SPECTRAL has n o text p r o d u c e d w i t h T A S W O R D y o u best,
SAVEd if required. line spacing facilities, so double
line spacing m u s t be e n t e r e d as
Printer Controls a printer control. H o w e v e r ,
SPECTRAL has v e r y valuable
TASWORD comes with the page n u m b e r i n g facilities. Pages

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 73
COMMUNICATIONS

xtending
gram, after s w i t c h i n g on, press
any key and then ' BREAK'. Now
type ' N E W ' on key ' A ' and
ENTER. Do NOT use option 7 on

VTX5000 BASIC
the menu, as this clears the
machine code f r o m memory.
N o w enter your Prestel cartridge
into microdrive one, and type
" R U N ' (ENTER). The program
will autorun.

David Knight presents a way of making Catalogue


Prestel more user friendly! W i t h the n e w program, a f e w
changes have been made apart
f r o m just saving and loading on
The program supplied in ROM First, type in the Xtend pro- menu, and press BREAK (Caps- microdrive instead of on tape.
for the VTX 5 0 0 0 m o d e m is gram, o m i t t i n g lines 5 0 0 0 & Shifted SPACE). N o w enter your Most obvious is the
very good, but it does not have 9 7 8 0 if you do not have a printer 'prestel' cartridge into 'Catalogue/erase file(s)' option
any microdrive or Interface 1 attached via the R S 2 3 2 socket, microdrive 1 and type MERGE on the main menu. To use this
c o m m a n d s . I have w r i t t e n a pro- or if you w i s h t o use the ZX * ; 1 ; " X t e n d " . This will make place a cartridge in microdrive 1
gram, w h i c h , w h e n MERGED Printer instead. Save the pro all of the changes needed to the and press any key. It will be
w i t h the program supplied, gram w i t h GO TO 9 8 2 0 . N o w , program. Save the whole pro catalogued. Then y o u have the
allows y o u to use the Microdrive s w i t c h the c o m p u t e r off and on gram w i t h GO TO 9 8 0 0 . You option of erasing files. Once you
and R S 2 3 2 socket on the Inter at t h e m a i n s , t o place t h e should use a cartridge w i t h o u t have erased all of the files you
face 1 . I will explain the M i c r o n e t m e n u in m e m o r y . the filename 'run' on it. need, press ENTER w i t h o u t any
modifications later. Press any key to go the main In order to use your n e w pro filename, and the cartridge will

Figure 1 The Xtend program. 4400 RETURN


4997
798 REM Extended Prestel menu 4998 RFM P r i n t e r RS 232
799 4999
8(1(5 POKE 23609,10: PAPER l: BOP 5000 POKE mf,16: LET x=USR s t r :
DER 0: INK 7: LET mn=ot GO SUB d GO SUB 9730: GO TO mm
m: GO TO mc 7300 GO SUB 3100: GO CUB 4220: S
900 DATA "Main Prestel Menu",9, AVE * " m " ; i ; q S DATA bS M : GO TO 7
10,"Log ON or OFF","Preste1 Term 000
i n a l " , " S a v e Frame","View Frame", 7400 GO SUB 3100: GO SUB 4400: L
"Print F r a m e " , "Down 1 o a d e r M a i 1 OAD * " m " { l j q * DATA b*()
box Message","Enter BASIC","Cata 9100 GO SUB c i : GO SUB er: RESTO
logue/erase f i l e ( s ) ' RE ( 1 0 0 0 * m n +9 0 0 ) : READ PRINT
2997 TAB ( (32-LEN rnS)/2)} PAPCR 7} 1
2998 REM MDV save NK 2;m$'*: READ n i , o s : PRINT " K
2999 EY FUNCTION"**: FOR i=o TO n i -
3000 GO SUB 3100: GO SUB 4220: S l: READ m*t: PRINT TAB ( 1 • 1 ) j i J TA
AVE *"m";1;q*CODE ix-960,960: GO B I 7 ) i m $ " : NEXT i: PRINT W0; IN
TO mm VERSE l;"ENTER"} INVERSE 0 ; " GO
3100 GO SUB c l : INPUT "Catalogue TO Main Menu": LET 1*=CHR$ 17+CH
? LINE z*: IF z$="y" THEN P R* 2+" ON": IF ls=o THEN LET 1«
RINT AT 0,0;"Input cartridge and =CHRS 17+CHR* 4+CHR* 16+CHR® o+"
press a ley."'. PAUSE 0: PRINT A OFF"
T 0 , 0 ; " 9330 IF key>47 AND key<(48+ni) T
": CAT 1 HEN GO TO (I00+mn*1000+900*<mn=
3110 INPUT "Filename "> "J LINE q o ) + o s * 1 0 0 * ( k e y - 4 8 ) ) + ( 7 0 0 AND key
S: RETURN »CODE "Q")
4 1 97 9335 IF key=56 THEN GO TO 9700
4 198 REM MDV load 9697
4 1 99 9698 REM Erase / Catalogue
4200 GO SUB 3100 9699
4210 LOAD *"m";1;q*CODE : GO TO 9700 CLS ! PRINT "Press a key Hi
4 100 th c a r t r i d g e in mic r o d r ive. ":
4220 INPUT "Erase f i r s t 7 LIN PAUSE 0: CAT 1
E z*: IF z$=-y" THEN ERASE "m"; 9710 INPUT "Name •f i l e to erase (
j u s t ' INVERSE If"ENTER"; INVER

74 ZX COMPUTING FEBRUARY/MARCH 1986


E E E M S S

SE 0 ; " to go to Main Menu) "j


! IF z«="* THEN CAT is PAUSE 0:
GO TO mm
9720 ERASE • m ' j l j z * ! GO TO 9710
9 7 2 4

<?725 REM P r i n t o u t through RS-232


9726
9730 CLOSE #3: OPEN # 3 ; " b " : FOR
a=ix~960 TO i x - 1 STEP 40 2 Load O m n i c a l c 2 : 3 Set w i l l be reset t o pica s i z e d
9735 FOR c=a TO a + 39 printer t o c o n d e n s e d m o d e ; 4 characters, so y o u will not be
NEW. able t o use c o n d e n s e d m o d e
9740 LET b=PEEK c O p t i o n s 1, 2 and 4 explain until y o u reload O m n i c a l c .
9750 IF b< 3 2 OR b>127 THEN LET themselves, o p t i o n 3 sets a d o t To get round this, load O m
m a t r i x printer into ' c o n d e n s e d ' nicalc, and set up a file. W h e n
n = 32
m o d e , a l l o w i n g 1 6 c o l u m n s of y o u w i s h t o print it, save the file
9760 LPRINT CHR* b; data in O m n i c a l c 2 t o be printed, and reload O m n i c a l c , this t i m e
9765 NEXT c this, I k n o w to be true on a s e t t i n g the printer to c o n d e n s e d
Brother M - 1 0 0 9 , but may be m o d e . Y o u m a y n o w print it out,
9767 LPRINT CHR* 13JCHR* 10;
d i f f e r e n t on other makes. I find in s e c t i o n s if necessary. This
9770 NEXT a that O m n i c a l c ' s Open 3 c o m a u t o r u n p r o g r a m m a y be ex-
9780 RETURN m a n d is u n s a t i s f a c t o r y , as it p a n d e d u p o n to load other pro-
opens channel 3 in ' b ' m o d e , grams other than Omnicalc,
9797
w h i c h does n o t line feed on m y s u c h as T a s w o r d 2. The Prestel
9798 REM Save updated BASIC printer It is necessary t o set the m e n u m a y also be further ex-
9799 bit s w i t c h e s d i f f e r e n t l y inside panded upon, so d o n o t be afraid
the printer, w h i c h is a bit sloppy. to do so. But y o u need a k n o w
9800 ERASE " m " ! U " r u n " : SAVE *"m ledge of BASIC and perhaps
Option 3 corrects this, and
• ; l ; " r u n ' LINE 800: VERIFY * " m " ; a l l o w s wider t e x t s t o be printed. m a c h i n e c o d e . I look f o r w a r d to
1 J • r u n " : REM Change ' r u n 1 to "ru H o w e v e r , if y o u s w i t c h your seeing further p r o j e c t s in this
printer off w h i l e in O m n i c a l c . it magazine and in others.
npr* i+ u s i n g a u t o r u n program.
9810 GO TO 800
Figure 2 Autorun program
9817
10 BORDER 4
9818 REM Save Xtender program
20 FOR a=t> TO 3 1: T NT AT *
981 9
} INK 2 ; ' B U } A T IF a<21
9820 ERASE " m - | 1 f " X t e n d " ! SAVE *
THEN PRINT AT INK 2;"»">A
" m " ; 1; "Xt end•
T a,31;
30 NEXT a
be c a t a l o g u e d again. T h e n it will c o n t a i n s Omnicalc 2 , a n d the
return to the main m e n u . e x t e n d e d BASIC. This makes it 40 I NP^UT " •
W h e n loading or saving, y o u possible t o enter data into O m 50 PRINT AT 4 , 4 ; ' P r e s t e l Car
are given the o p t i o n t o c a t a l o g u e n i c a l c a f t e r g e t t i n g it f r o m t r i d g e " ; OVER 1;AT 4 , 4 ;
the cartridge before loading lor P r e s t e l . T h i s is i d e a l f o r
saving). W h e n s a v i n g y o u are s t o c k b r o k i n g etc If y o u have
given the o p t i o n of erasing any Omnicalc 2 you may w i s h to do 60 PRINT AT 6 , 4 ; " P r e s s key 1,
file w i t h t h e s a m e f i l e n a m e this. T o start w i t h , y o u m u s t
2, 3 or 4";AT 9 , 4 ; " 1 P r e s t e l ext
before s a v i n g the current file. c o p y Omnicalc o n t o cartridge
This is similar w i t h b o t h screen (not using their m e t h o d , h o w - ended menu*;AT 1 1 , 4 ; " 2 Omnicalc
files and mailbox messages. ever, as it uses the filename t w o ' j A T 1 3 , 4 ; ' 3 Set p r i n t e r t o C
If y o u w i s h t o load a file f r o m ' r u n ' ) . C o p y it w i t h one of the
ondensed*fAT 1 5 , 4 ; " 4 Return t o B
tape, y o u m a y BREAK into t h e t a p e / m i c r o d r i v e c o p i e r s avail-
program, and type LOAD able, preferably w i t h the file- ASIC (NEW)"
" " C O D E T h e n t y p e GO T O n a m e ' r u n o t ' . I use Trans Ex- 70 LET a*=INKEY*
mm. press by R o m a n t i c Robot, b u t
80 IF a*="" THEN GO TO 70
The final change is for users any other should so. The Prestel
w i t h a full sized printer a t t a c h e d e x t e n d e d m e n u should be saved 90 IF a * - " I " THEN LOAD * " m'

via the R S 2 3 2 port. (I use a under the n a m e ' r u n p r ' . To d o ; " r u n p r "
Brother M 1 0 0 9 , b u t the pro- t h i s , c h a n g e line 9 8 0 0 ap-
propriately and GO TO 9 8 0 0 . 100 IF a«="2" THEN BORDER 7! L
gram should w o r k w i t h other
makes). It c h a n g e s o p t i o n 4 T y p e in the ' a u t o r u n ' pro- OAD * " m " ; 1 J " r u n o t •
from c o p y i n g t o the ZX Printer t o g r a m and save it under the n a m e 110 IF a*="3" THEN CLOSE #3:
copying t o a full-sized printer, it ' r u n ' LINE 0 . N o w y o u c a n use
is not p e r f e c t , h o w e v e r , as it will PEN tt3l"b": LPRINT CHR* 15;: CLO
the Prestel m e n u t h e same w a y
print block graphics as j u m b l e d as b e f o r e , e x c e p t t h a t y o u SE #3: OPEN # 3 f " f : POKE 23728,2
characters. If this is u n s a t i s f a c should choose option 2 w h e n 55: POKE 23729,255
tory for your needs, insert your the a u t o r u n p r o g r a m loads.
o w n copier f r o m line 9 7 0 0 on- 120 IF a*="4" THEN NEW
wards. It is p e r f e c t l y a d e q u a t e 200 GO TO 70
for printing pages of informa-
tion, but n o t for c o p y i n g pic-
Options 9000 ERASE " m " J 1J " r u n " i SAVE *"m

tures. " ; 1 J " run• LINE 0: VERIFY * - m " ; l ;


The full o p t i o n s are as f o l l o w s : 1
My current Prestel cartridge Load e x t e n d e d Prestel m e n u : "run"

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 75
Tcisword plus.
John wall shows how to add wordcount,
paragraph-count and Header facilities
to Tasword ll.
that gives, in a fraction of a se- simplfied. Just before the end is heading does not o v e r w r i t e it.
cond, the number of w o r d s reached DE will hold 0 0 0 1 (hex There is a facility from BASIC to
typed into the file up t o present. least significant byte first) chage the heading at any time.
Controlled f r o m BASIC, it also and the next decrease of DE will The header information is stored
gives a paragraph count. leave FF 0 0 1255 decimal) and b e t w e e n 5 2 6 6 0 and 5 3 1 0 7
The mam problem is where to the D register will hold zero and 4 4 8 bytes or seven lines of text
put the code. In T a s w o r d T w o the routine will return to basic. and the code to manipulate it
ihe text file is held b e t w e e n The w o r d count is held in the BC is f r o m 5 3 1 1 0 to 5 3 1 4 5 . The
3 2 0 0 0 and 5 2 4 8 0 w i t h an ex- register so that the c o m m a n d code is three, almost identical,
tra 1 2 8 bytes after that ob PRINT USR 5 2 6 1 0 will return block transfer routines of 12
viously used for o v e r f l o w (he actual count (See lines 6 0 bytes each. The first is describ
routines. The machine code sec- and 9 3 6 0 ) . The code could be ed in figure 2.
tion is held from 5 4 7 8 0 to made shorter by o m i t t i n g the The second routine has the
6 5 5 3 5 . However, the machine CORRECT FOR END OF LINE values in HL and DE interchang
code also uses bytes lower than ERROR routine. H o w e v e r this ed. The third routine moves the
5 4 7 8 0 for data storage. I chose w o u l d give a false count already entered text seven lines
5 2 6 1 0 as an address as far as because the routine w o u l d not d o w n and uses the LDDR in-
possible from the data section of separate t w o w o r d s one of stead of LDIR.
the machine code routines and w h i c h ends at column 6 4 and The Basic at lines 9 0 0 0
no problems have arisen. The one w h i c h begins at column 1 of simply calls the three routines in
Word Count main disadvantage is the extra the next line. There is a brief ex the right order. Routine three
time the program takes to SAVE planation of the code in figure 1. moves the text, then routine one
T a s w o r d T w o has rapidly and LOAD, perhaps another 1 0 prints the header. Routine t w o is
become the standard W o r d Pro- seconds each for the basic and used w h e n a n e w or edited
cessor for the Spectrum and has the machine code. header is needed. See lines
most of the features that pur The machine code routine in- Header Routine 9 0 1 0 and 9 0 4 0 .
pose built W P ' s h a v e , t w o volves only relative jumps. You
f e a t u r e s t h a t are m i s s i n g might be puzzled by the 2 5 6 This enables the recall of a pre-
however are a current w o r d that is added to the DF register entered address heading of up to
count and automatic header. initially. This is so that the test seven lines. It also pushed d o w n
This is a machine code routine lor the end of the text file is the entered text so that the

Figure 1. the machine code routine.

INITIAL CONDITIONS CHECK IF FINISHED


W o r d count set to zero LD BC, 0 0 0 0 Have w e reached the end of LD A, 0 0
File length + 2 5 6 2 0 , 7 3 6 LD DE, 5 1 0 0 the file, Is the most sig- CP D
File start address 3 1 , 9 9 9 LD HL, 7C FF nificant byte of DE zero? RET Z
If so return t o basic.
CHECK IF NEXT BYTE IS NOT A SPACE
Select next byte a INCLHL CORRECT FOR END OF LINE ERROR
H o w many bytes t o go? DEC DE Is this the end of a line? LD A , 3F (63)
AND L
CHECK IF FINISHED CPL
Have w e reached the end of LD A, 0 0
the file? Is the most sig- CP D If not continue w i t h next
nificant byte of DE zero ? RET Z byte of word. JR NZ. d
If so return t o basic. If last byte of line then INC HL
check next byte — first of LD A, (HL)
Is this byte a space? If so LD A , ( H L ) next line. CP 2 0
try next byte. CP 2 0 32 dec-space DEC HL
JR, Z next byte (a)
If next byte is a letter
INCREASE W O R D COUNT then go to w o r d increase. JR, NZ, b
If not a space then must be
start of new w o r d . Increase b INC BC If this byte is not a space d LD A, (HL)
w o r d count by One. then try next byte of w o r d . CP 2 0 3 2 dec space
JR NZ, c
LOOK FOR END OF WORD
Select next byte c INC HL If END OF WORD GO TO START
of word. If this byte is a space look JR. a
H o w many bytes t o go? DEC DE for next w o r d .

76
n u m b e r s in lines 9 8 1 0 a n d s o m e t h i n g in and take note of
9 8 2 0 are E X A C T L Y as printed, the w o r d c o u n t value. If y o u
Figure 2. Block transfer routine. as a single error could crash the have a fairly long t e x t file, try out
entire p r o g r a m . the paragraph count facility.
Load HL w i t h address of first
Y o u will need t o n o t e the start
b y t e to be m o v e d : LD HL, CD B4 ( 5 2 6 6 0 )
4. Type GOTO 9800 and line and the end line of the
Load DE w i t h address of ENTER. paragraph y o u w a n t to c o u n t
destination: LD DE, 7 D 0 0 ( 3 2 0 0 0 ) t h e n go to the STOP m e n u and
Load BC w i t h length of block: LD BC, CO 0 1 ( 4 4 8 )
5. N o w delete lines 9 8 0 0 to select " w " . Remember the
Use LDIR LDIR
9990. routine will count separate
Return to BASIC: RET p u n c t u a t i o n marks like " - " as
6 . Save your n e w p r o g r a m on c o m p l e t e w o r d s . The same will
tape (or Microdrive} by using apply t o n u m b e r s .
Basic 2 . Edit e v e r y line t o 1 0 0 0
replacing numbers w i t h V A L
S A V E " t a s w o r d " LINE 1 5 :
SAVE "tasword" CODE
The Heading menu item
a l l o w s y o u t o print the heading
Modifications " n u m b e r " . Note that this 5 2 6 1 0 , 1 2 9 2 5 (or s i m i l a r already held at 5 2 6 6 0 or if
d o e s n ' t apply t o n u m b e r s in str- M/Drive commands). there is no heading in t h e n y o u
ings e.g. PRINT " 2 fix c a n t y p e your o w n in and ' f i x ' it
M o d i f i c a t i o n s are required to heading as t y p e d " , or n u m b e r s 7. Check that the p r o g r a m sav- t o be recalled at any t i m e .
T a s w o r d Basic. There is n o t in variables e.g. j 1 , or initial line ed properly by VERIFYing it. Use H o w e v e r , once y o u have f i x e d it
m u c h spare r o o m in the Basic n u m b e r s but it does apply t o VERIFY " " : V E R I F Y " " C O D E . y o u m u s t t h e n re-SAVE the pro-
area w i t h T a s w o r d loaded so GOTO and GOSUB line g r a m so t h a t it w i l l be available,
some preliminary w o r k has t o be n u m b e r s . Each time y o u do this The machine code is each time y o u re-LOAD. Y o u
done. All the n u m b e r s in lines up y o u save three b y t e s . Y o u can a u t o m a t i c a l l y called each t i m e c a n do this s a v i n g by using item
to 1 0 0 0 m u s t be c h a n g e d to check h o w m u c h m e m o r y y o u y o u g o t o the m e n u via S Y M B O L t ' on the m e n u .
VAL " n u m b e r " . have saved by t y p i n g in line SHIFT/STOP and again using
Provision m u s t be made to 9 9 9 0 and using G O T O 9 9 9 0 o p t i o n ' t ' . If y o u have made any
display t h e i n f o r m a t i o n . One every n o w and t h e n . The n e w m i s t a k e s at all t h e n the p r o g r a m
item o n the STOP M E N U has Basic requires over 1 0 0 0 bytes will crash and y o u will have t o
been c h a n g e d and one has been of extra space. If y o u need start again. Due to this it m i g h t
a d d e d . I n s t e a d of " b a c k t o Microdrive routines you will be better to save the p r o g r a m
b a s i c " there is " h e a d i n g (lor a need t o make e v e n more space after step 3 until v o u are sure it is
l e t t e r ) " and then " w o r d c o u n t " by using V A L " n u m b e r " right w o r k i n g properly
has been added at the b o t t o m of t h r o u g h the program. Once y o u have saved a c o p y
the m e n u . as in steps 6 and 7 y o u can lust it
3 . A d d or m o d i f y the lines as out by RUN Going IO the STOP
1. Load T a s w o r d in the normal s h o w n in the listing, m a k i n g ab- m e n u y o u should see a w o r d
way. solutely certain that the count of zero. Load a file or t y p e

25 fin SUB VAL "4000-: PRINT AT 710 SAVE a*CODE VAL "52610",VAL
VAL " 2 " ,VAL "0" i " p r i n t t e x t 4i 1 "12925"! GO SUB VAL "900"
e p " 790 VERIFY aSCODE : PRINT AT VA
55 PRINT : PRINT "heading (for L "21",VAL "20"J" m/code O.K. ' !
l e t t e r ) h* RUN
60 PRINT : FRINT "word count t 9000 CLS : PRINT "new heading? y
o t a l = ";USR VAL " 5 2 6 1 0 " J TAB VAL /n"
•31"J"w" 9002 IF INKEYS<>'y" AND INKEY3K >
170 IF b = VAL "104" THEN LET i *= "n" THEN GO TO VAL '9002*
VAL "18" 9010 IF INKEY*='n" THEN RANDOMI
175 IF b«=VAL "119" THEN LET i= ZE USR VAL "53134": RANDOMIZE US
VAL "20" R VAL * 5 3 i 1 0 " : RUN
180 IF i O V A L "0" THEN PRINT A 9020 PRINT "1 - go back and type
T i-VAL "2",VAL "31"! FLASH VAL new heading SEVEN LINES MAXI
•1";CHR* b ; : GO TO VAL "500" MUM"*'"2 - -fix heading as typed"
500 PRINT AT VAL "20",VAL "10"; 9022 IF INKEY*<>"1* AND INKEYS<>
": PRINT AT VAL "18 "2" THEN GO TO VAL "9022"
",VAL "30" i" "I PRINT MVAL " l ' i " 9030 IF I N K E Y * = ' l " THEN RUN
press the "; FLASH VAL "1*J"ENT 9040 RANDOMIZE USR VAL "53122":
ER"J FLASH VAL * 0 " ; " key to proc RUN
eed"*" p r e s s "; FLASH VAL " l ' i * 7300 INPUT ' S t a r t l i n e : * ; x : IF
c " ; FLASH VAL "0"5" to change ch x ? VAL "320* OR x< VAL "1" THEN G
a i ce • O TO VAL "9300"
670 IF b=VAL "104" THEN GO TO 9310 PRINT AT VAL "18",VAL "31"!
VAL "9000" • " i " p a r a s t a r t s at l i n e " i x j "
680 IF b=VAL "119" THEN GO TO
VAL "?300" 9320 INPUT "End l i n e : " i y : IF y>
699 REM d e l e t e VAL "320" OR y<VAL "1" OR y<x TH

ZX
77 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
SPECTRUM UTILITY

EN GO TO VAL "9320" 20402450030350270620001862000620


9330 PRINT "para ends at l i n e 63165254000032007035126254032043
"»y 032235126254032032231024217"

9340 LET pk=VAL "52614": LET s t = 9820 DATA "033180205017000125001

VAL " 3 1 9 9 9 " + VAL "64"*<x-VAL "1") 19200123717620103300012501718020

: LET 1n = VAL " 6 4 " * ( y - x + V A L "1") 50011920012371762010330632030172

9 3 5 0 POKE p k + V A L "3",VAL " 2 5 6 " * ( 55204001064078237184201"


st/VAL "256 * -INT (st/VAL " 2 5 6 " ) ) 9840 READ a$: FOR n=53110 TO 531
9351 POKE pk+VAL INT tst/VAL 45: LET a=VAL a*( TO 3 ) : POKE n,
"256") a: LET a$=a$<4 TO ): NEXT n: STO
9352 POKE pk,VAL " 2 5 6 " * ( 1 n / V A L " P
2 5 6 " - INT (In/VAL "256")> 9990 PRINT VAL "65536"-USR VAL "
9353 POKE pk+VAL " 1 " , I N T (In/VAL 7962"
• 2 5 6 " ) + VAL "1"
9360 PRINT "para count = ";UGR V
AL "52610";TAB VAL "25"; PLASH V
AL " 1 " ; " a n y k e y ' : PAUSE VAL "0"
9370 POKE pk,VAL "0": POKE p k + VA
L "1",VAL "81": POKE pk+VAL " 3 " ,
VAL "255": POKE pk+VAL "4",VAL "
124": RUN
9800 RESTORE : READ a*! FOR n=52
610 TO 52657! LET a=VAL aS ( TO 3
): POKE n,a: LET a*=a*<4 TO ): N
EXT n
9810 DATA "001000000017000081033
25512403502706200013620012625403

ZX81Fast Load
This simple little p r o g r a m in-
creases the Baud rate at w h i c h
the Z X 8 1 saves and loads t o
1 5 0 0 . This means that the
already a w k w a r d save/load
system becomes even more
critical, h o w e v e r I have f o u n d lan Deaville lives in the fast lane in
that p r o v i d e d y o u keep your
c a s s e t t e in g o o d o p e r a t i n g con- Rotherham and explains to the other
d i t i o n , clean and w i t h the heads
r e g u l a r l y a d j u s t e d , then n o ZX8lers how to join him.
real p r o b l e m s s h o u l d be ex
perienced.
Y o u m u s t make absolutely cer PROGRAM 1 20 FAST
tain that the characters in Line
3 0 IF A » = " " T H E N G O T O 8 0
1 0 are e x a c t l y the same, and
the Line 1 REM must c o n t a i n 1 REM 244 CHARS 40 POKE X,16*C0DE A«+CODE A«<2>-
2 4 4 characters. It m i g h t be ETC, ETC 476
w i s e t o save a c o p y of this pro 10 L E T A*«"CD230F11067FCD2B7FCD2 3 0 L E T A*=»A«(3 T O )
g r a m BEFORE r u n n i n g it! B0F211D7F221640CD707FCD2B0FC90B0 6 0 L E Y X"=X+1
H a v i n g RUN the p r o g r a m , B0B000000000000CDA80338F9EB11CB1 70 GOTO 30
delete one line at a time, lines 1 0
to 9 0 and t y p e in m a k i n g sure 2CD460F302E10FE1B7AB320F4CD4E7FC 80 SLOW
Line 1 REM is still there pro B7E2328F8210940CD4E7FCDFC0118F83 90 STOP
g r a m 2. Prepare a c a s s e t t e and E37CB13C89FE602C6014FD3FF062310F
RUN the p r o g r a m , it will save ECD460F307206IE10FE0D20EEC3D87F1
itself o n tape a n d t h e n set itself PROGRAM 2
8E0C DA803CB12CB0ACD7C7F18FB0E010
u p ready for use. Before saving
or loading any p r o g r a m load this 6003E7FDBFED3FF1F30491717382810F 10 SAVE "SUPERLOAD"
in first, a p r o g r a m m u s t be saved 1F1BAD2E303626BCD7C7FCB7A792003C 2 0 P R I N T "TO S A V E USE RAND USR 3
at this speed before y o u can B7B7B38F310F3D12004FE3630B23FCB1 2312"
reload it at the higher Baud rate.
130ADC97AA728BBCF0CA7063010FEC36 3 0 P R I N T "TO L O A D USE RAND USR 3
Use R A N D USR 3 2 5 1 2 to
E7F21824011007F01E000EDB021FF7E2 2323"
save a p r o g r a m and R A N D USR
3 2 5 2 5 t o s u b s e q u e n t l y reload a 20440C3C303" 40 PAUSE 130
program. 13 L E T X - 1 6 3 1 4 30 RAND USR 16738 •

78 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
ZX81 DOMESTIC

Home
Managemen
Graphics
Glaswegian Mr A.G.
Cameron provides a
graphic account of your
domestic financ
This p r o g r a m began as a simple
routine w h i c h I used t o plot a bar
chart of m y electricity bills since
I m o v e d into m y n e w house!
Gradually it has d e v e l o p e d a pro-
per INPUT r o u t i n e , a S A V E
routine, a facility t o list the cur-
rent data, and the ability t o scale, based o n the m a x i m u m program with its data n u m b e r w h i c h , w h e n divided in-
generate a vertical scale value y o u w i s h to plot. These (2080-2130). to the data, will p r o d u c e a result
a u t o m a t i c a l l y . W i t h the recent s t a t e m e n t s are only e x e c u t e d less t h a n 4 4 , so that it can be
arrival of a n e w ZX printer, it has
also acquired hardcopy
o n the initial s e t t i n g up run of Scale p l o t t e d o n the Z X 8 1 's 6 4 x 4 4
grid. Lines 2 4 1 0 t o 2 4 7 0 store
the p r o g r a m .
facilities. Lines 1 0 7 0 to 1 2 1 0 display The s u b r o u t i n e entitled " S C A L E the vertical axis labels for later
There is e x t e n s i v e use of the main m e n u screen and call DEFINITION" ( 2 3 3 0 - 2 4 8 0 ) use by the plot routine.
subroutines in the p r o g r a m , as I the appropriate subroutine looks c o n f u s i n g at first glance. The a c c o m p a n y i n g hier-
a m a c o n f i r m e d ' s t r u c t u r e d ' pro- d e p e n d i n g o n the u s e r ' s selec- This sets up the vertical axis archical d i a g r a m s h o w s the rela-
grammer, a n d this is the easiest tion, scale. The user is p r o m p t e d for t i o n s h i p s b e t w e e n all t h e
w a y t o add n e w c o d e t o an old The rest of the p r o g r a m con- the m a x i m u m value he w i s h e s s u b r o u t i n e s called in the pro-
program. sists of the various s u b r o u t i n e s t o plot t o IM). Lines 2 3 8 0 - 2 4 0 0 gram. I find diagrams like these
Line 1 0 3 0 sets u p the array for a c c e p t i n g ( 1 2 2 0 1 3 6 0 1 , work out a number which, w h e n e x t r e m e l y useful as an aid to
to c o n t a i n your data, and lines correcting ( 2 1 4 0 - 2 2 8 0 ) and multiplied by four, w i l l give a u n d e r s t a n d i n g the logical struc-
1 0 4 0 and 1 0 5 0 p r o m p t for 3nd listing (1 3 7 0 - 1 7 5 0 ) data, plot value (N) greater t h a n or equal t o ture of a p r o g r a m .
accept a title for the chart. Line ting the bar chart (1 7 6 0 - 1 9 4 0 ) , M . The labels for the scale are A f t e r t y p i n g in the p r o g r a m
1 0 6 0 calls a subroutine to set printing the chart t h e n w o r k e d out by accumul- and R U N n i n g it for the first time,
up t h e required v e r t i c a l axis 1 1 9 5 0 - 1 9 9 0 ) , and s a v i n g the ating N four times. D is the y o u will be asked for a title for

HOME M A N A G E M E N T G R A P H I C S

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 79
ZX81 DOMESTIC

the c h a r t , t h e n for the m a x i m u m d e s t r o y e d as the array A ( 2 4 ) 1270 IF A(B)< >0 A N D B < 2 4 THEN 60
value v o u w i s h to plot. W h e n will be re-initialised. T o re-enter
y o u have responded t o these the p r o g r a m at the main m e n u TO 1260
p r o m p t s y o u w i l l be presented after e x i t i n g for any reason, 1280 IF B = 2 4 AND A ( B ) < > 0 THEN GO
w i t h the main m e n u . Enter the enter:
TO 1310
number of t h e o p t i o n y o u w a n t ,
and press " N E W L I N E " . O p t i o n GOTO 1070 1290 G O S U B 2000
2 — i n p u t Data is a g o o d place 1300 GOTO 1350
t o start! There are still s o m e enhance- 1310 SLOW
T o save the p r o g r a m and m e n t s w h i c h c o u l d easily be in-
d a t a , e n t e r o p t i o n 5. On c o r p o r a t e d into this program. 1320 FOR B=1 TO 50
reloading, the p r o g r a m will run For e x a m p l e , h o w a b o u t fully 1330 P R I N T AT 10,0;"DATA BUFFER
automatically, andgostraight to a u t o m a t i c scaling? All y o u need F U L L . . . R E P R O G R A M " ; A T 10,0;"
the m a i n m e n u , missing out the is a fairly simple module, called
" T I T L E " and " S C A L E DEFINI- f r o m the Plot routine, t o scan
T I O N " steps. If y o u w a n t to t h r o u g h the data array to find 1340 NEXT B
change the scale or the title, y o u the highest value, t h e n call a
have to leave the p r o g r a m (op m o d i f i e d version of the Scale
1350 SLOW
t i o n 6), and enter: Definition m o d u l e t o set up your 1360 RETURN
axis labels. A more interesting 1370 REM L I S T OR TR
GOTO 1040 project w o u l d be to replace the
1380 CLS
e x i s t i n g Plot module w i t h one
The Title and Scale Definition w h i c h uses block graphics s y m 1390 P R I N T AT 17,0;" CUPPENl
screens will be displayed again, bols to plot t w o values side by OR TO
and y o u can enter n e w values. side (a ' c l u s t e r e d bar' chart).
Remember that if y o u use RUN Happy ( s t r u c t u r e d ) pro
1400 LET B = 0
a g a i n , y o u r d a t a w i l l be gramming. 1410 P R I N T " D A T A " , " D A T A "
1420 P R I N T " P O I N T " t " V A L U E "
1000 REM H' j H E HRNRGEHEN T 1430 PRINT
GPflPHIC5 1440 L E T B=B+1
1010 REM * * V E R S I 0 N 1.2** 1450 IF A(B)< >0 THEN PRINT B; >i _
1020 REM ** 2 0 — A P R - 8 4 * * ";CHR$ (B+37),A(B)
1030 DIM A(24) 1460 SCROLL
1040 P R I N T "PLEASE INPUT TITLE, 1470 IF A ( B ) = 0 THEN LET B = 2 4
1480 IF B < 2 4 THEN GOTO 1440
1050 INPUT T$ 1490 S C R O L L
1060 G O S U B 2330 1500 SCROLL
1070 REM H R I N M E N U R N O C O N T R O L 1510 P R I N T "PRESS 0 TO C O N T I N U E "
1 080 SLOW
1090 C L S 1520 SCROLL
1 100 P R I N T AT 0 , ( I N T ((32-LEN T$ 1530 P R I N T ' a FOR HARDCOPY
) / 2 ) ) ; T $

1110 PRINT 1540 IF INKEY$="" THEN GOTO 1540

1120 P R I N T M M ENTER...(1)TO 1550 IF INKEY$="C" THEN GOTO 158


INPUT D A T A " , " ...(2)TO LIS 0
T DATA", ..(3)TO C H A N G E 1560 IF INKEY$="P" THEN GOSUB 15
DATA"," (4)TO PLOT CHAR 90
TII » it (5 > TO S A V E " , " 1570 GOTO 1540
...(6)TO E X I T " 1580 RETURN
1130 INPUT X 1590 REM H R R D C 0 P V DR T R LISTING
1140 IF X=1 THEN G O S U B 1220 1600 FAST
1150 IF X=2 THEN G O S U B 1370 1610 FOR F=1 TO 5
1160 IF X=3 THEN G O S U B 2 1 4 0 1620 LPRINT
1170 IF X=4 THEN G O S U B 1760 1630 NEXT F
1180 IF X=5 THEN GOTO 2 0 8 0 1640 L P R I N T AT 17,0;" CURRENT
1190 IF X=6 THEN GOTO 2 2 9 0 Li R T n f
1200 F A S T 1650 LET B = 0
1210 GOTO 1070 1660 LPRINT " D A T A " , " D A T A "
1220 REM 0 R T R C R P T U R E 1670 L P R I N T " P O I N T " , " V A L U E "
1230 C L S 1680 LET B=B+1
1240 FAST 1690 IF A < B)< >0 THEN L P R I N T B;
1250 LET B=0 - ";CHR* (B+37);AT 0 , 1 6 ; A ( B )
1260 LET B=B+1 1700 IF B < 2 4 THEN GOTO 1680

80 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 80
ZX81 DOMESTIC

1710 FOR F=1 TO 5 BE"


1720 L P R I N T 2 1 7 0 P R I N T AT 2 , 2 ; " E N T E R T H E L E T
1730 N E X T F TER (FROM THE C H A R T ) OF T H E
1740 S L O W V A L U E TO BE CORRECTED"
1750 R E T U R N 2 1 8 0 INPUT X*
1760 REM P L 0 T R 0 U I I N E 2190 LET Y=CODE XS-37
1770 C L S 2 2 0 0 P R I N T AT 2 , 2 ; " C U R R E N T V A L U E
1780 G O S U B 2 4 9 0 IS: " ; A ( Y ) ; "
1790 FOR B—1 TO 2 4 ii

1800 P R I N T AT 2 1 , ( B + 2 ) ; C H R $ (B+3 2210 P R I N T AT 4 , 0 ; " P L E A S E INPUT


7) NEW VALUE..."
1810 F O R C = 2 TO INT (A(B)/D> 2220 INPUT E
1820 P L O T ( ( ( B * 2 ) — 1 ) + 5 ) , C 2230 LET A(Y)=E
1830 N E X T C 2240 CLS
1840 N E X T B 2250 P R I N T AT 10,8; "IU F' 0 R T E C 0 H P L
1850 P R I N T AT 1 0 , 2 7 ; " P R E S S " ; A T 1
1,27;TO";AT 12,27;"CONT;";AT 2 2 6 0 P A U S E 100
13,27;"0 TO";AT 14,27;"PRINT" 2270 CLS
1860 P O K E 1 6 4 1 8 , 0 2280 RETURN
1870 P R I N T AT 2 3 , ( I N T <(32-LEN T 2 2 9 0 REM @ESMJ
$ > / 2 ) ) ; T * 2300 CLS
1880 P O K E 1 6 4 1 8 , 2 2 3 1 0 P R I N T "READY'
1890 IF I N K E Y * = " " T H E N G O T O 1890 2320 STOP
2 3 3 0 REM S C R L E D E F I N I I I O N
1900 IF INKEY*="P" THEN GOSUB 19 2340 CLS
50 2 3 5 0 P R I N T AT 0, 11; " ; A
1910 IF INKEY$="C" THEN GOTO 193 T 1 , 8 ; " S C A L E D E F I N I T I O N " ; A T 3,1;
0 " P L E A S E E N T E R THE M A X I M U M V A L U E
1920 G O T O 1890 YOU W I S H TO C H A R T . . . "
1930 CLS 2 3 6 0 INPUT M
1940 RETURN 2 3 7 0 DIM B ( 5 )
1950 REM r - P I N I L« ft F1F" H 2380 LET D=INT (M/44+.99999)
1960 COPY 2390 LET T=D*44
1970 LPRINT 2400 LET N=T/4
1980 L P R I N T AT 0,(1 NT ((32-LEN T 2 4 1 0 REM S E T UP Y - A X I S A R R A Y
$ ) / 2 ) );T* 2420 LET B(1)=0
1990 R E T U R N 2 4 3 0 LET V=N
2000 REM I N P U T R O U T I N E 2 4 4 0 FOR F = 2 TO 5
2010 S L O W 2 4 5 0 LET B ( F ) = V
2020 P R I N T AT 0,11; "ID R T R I N P U T 2 4 6 0 LET V = V + N
2 0 3 0 P R I N T AT 2 1 , 1 ; " I N P U T V A L U E 2470 NEXT F
,D t (";CHR$ ( B + 3 7 ) ; " ) " 2480 RETURN
2 0 4 0 INPUT E 2 4 9 0 REM R U T 0 5 C H L I N G
2050 LET A(B)=E 2500 LET W=0
2060 C L S 2 5 1 0 FOR F=1 TO 5
2070 RETURN 2 5 2 0 P R I N T AT ( 2 0 - W ) , 0 ; S T R * B ( F )
2080 REM U-|:»l=MaaiiT17n
2090 CLS 2530 LET W=W+5
2100 P R I N T " t m i a i T A P E " , , "THEN P 2540 NEXT F
RESS N E H L I NE 2550 RETURN
2110 IF I N K E Y $ = " " T H E N G O T O 2 1 1 0

2120 SAVE "BARCHARU"


2130 G O T O 1070
2140 REM 0 R T H C O R R E C T ! 0 N
2150 CLS
2160 P R I N T AT 0,8; Ci R T n C O ft R E C TI

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 81
PECTRUM BU SINES

Multi
R.L. van Der wardt sent us this versatile
filing program from Holland — just for
the record!
•SMSLIM ENTER HLTEP BACK FORWARD
ORDER RESET L I ST DELETE
PRINT COPY QUIT SELECT

MODERN TANKS
t. a n k X 1 R 2

country BORNEO
c r e w 234-

a r fn j iii t n t. 90mm , 5 0 i n 7 . 6 2 m m

1 9 . 0 0 0

eng i ne SCANIA D S - 1 1 6

Km / 5 5

This is a superb, user-friendly, The first entry is the file name


program w i t h a w i d e range of and then y o u have to enter the
possible uses. One key c o m number of fields you require (to a
mands are utilised t o the full and m a x i m u m of eight). Once this
as it is w r i t t e n in Basic it can be has been entered then enter one
modified to individual user's re- by one each of the field titles. ENTER skips over a field. O — Orders (sorts)
quirements. W h e n this is c o m p l e t e y o u D - Delete a record alphabetically
W h e n you have t y p e d in the should be passed to the main S — Selects a required record P — Print, as w r i t t e n t o a Spec
program or loaded it f r o m tape screen w h i c h gives the follow L — lists the w h o l e file, pressing trum printer Sinclair,
you have the option to load a file ing options: a key halts the listing. A l p h a c o m or G P 5 0 s , but can be
or define a record's layout. Ob B - Goes back one record altered by changing the pro
viously if this is the first time you F — Goes f o r w a r d one record gram.
have used the program y o u will E Enter a record R - Reset, goes back to the first Q Quit. Goes back to the main
need to define the layout. A — Alter a record. pressing record menu.

lO Rf"M k=VAL a«(3): LET paj=VAL <4l:


LET b r = VAL (5) : FOR f =0 TO L FN
a$-6: PRINT AT i BRIGHT 15' 3
* * * * * * ****KXK*N*X**KIIXI<y
PRINT AT PAPER pap? INK
* Mill T T - F T I F *
ink; BRIGHT b r | a « ( f » 6 i : NEXT f:
I w r i t t e n hy *
NEXT d! RETURN
* R.L. v.d. Ward! *
* * * * * **** * * * * * * * * * * * * * * * 60 RFM
i nkeyS i n p u t - s y s

20 PAPFR ft: TNK 9: pnRDTR O* T 70 LET yy=y: DIM zS<l,max»


\ ASH 0: BRIGHT 0: DVrR o: INVfRS RO PRINT AT x , y j BRIGHT 1} OVI
F 0: CLS : pnkr 7 3 ^ 6 7 , 1: POKC 77 R 1; "5-
658,O: FOR n = USR -a- TP USR "h" ?0 PAURR 15: LET X«=INKEVI
l: POKE n,126: NEXT n: RTM B=A 100 TT CODE x*=6 THCN R A N D O M 17.
30 GO TO 220 E USR 43 17: GO TO 80
40 RFM 110 IF CODE X«<12 OR CODE
d a t a - p r i n t - s y s AND CODE x*(37 OR CODE v * M 2 : 1 T

HEN GO TO 80
50 READ a: FOR d=l TO a! READ 120 FOR n=1 TO 5: NEXT n
a*: LET x = VAL a® ( 1 TO 2): LET i;, 130 IF CODE v«=12 THFN GO TO 1

82 ZX COMPUTING FEBRUARY/MARCH 1986


SPECTRUM BUSINESS

70 0

140 IT CODE x»=13 THEN GO TO 7 740 RFM


00 d e f i n e 1ayou t
150 LET z«s(1,y-yy*i>=xs: PRINT
AT x , y y ; BRIGHT 1 J 7 « ( 1 ) : LET y~y 350 DIM r « < l l , 3 2 ) : DIM t » ( 5 0 1 , 2
H : IF y=max+yy THEN LET y = y - l 1): LET t i ( 5 0 1 ) = S T R $ l : LET t = l
160 GO TO 80 360 RESTORE 360: CLS : DATA 2 , "
170 RFM 00621 LAYOUT
de1ete ",*20700Name of f i l e (max.
'.7 c h a r s ) " : GO SUB 50
180 IF y - y y THEN PRINT AT x, y5 370 LET max=32! LET x=21: LET y
" ": GO TO P0 =0: GO SUB 60: LET r « ( 1 > = z * ( 1 , T
190 PRINT AT x , y ; " "t LET f1, O 32): PRINT AT 3 , 0 ; PAPER 1? IN
y - v y ) = " " : LET z * < 1 , m a x ) = " " : LET K 7 } r t ( l )
y=y-1: PRINT AT x , y j " "J GO TO O 380 PRINT AT 2 0 , 0 , , , , : RESTORE
0 380: DATA I,"20700Number of f i e i

700 REM ds (max. 8 ) " : GO SUB 50: LET m-i

enter = i : LET x=20: LET y=26: GO SUB


0: IF CODE 7$(1)< 49 OR CODE 7%(\
710 PRINT AT x , y y ; BRIGHT 1;zt< )>56 THEN GO TO 380
1 ) ! RETURN 390 LET r $ ( 2 ) = z * ( l )
770 REM 400 FOR s=l TO VAL r*{2>
s t a r t of program 410 PRINT AT 2 0 , 0 , , , : RESTORE 4
10: DATA 1,"20700Name of f i e l d "
230 RESTORE 230: CLS : DATA 2 , " +STR* s: GO SUB 50
M0621 MULTI-FILE 420 LET max=10: LET y =0: LET * =
' , - 0 2 7 0 1 W r i t t e n by R.L. 21; GO SUB 60: LET r $ ( s + 2 ) = z * ( 1 )
v.d. u a r d t " : GO SUB 50 430 PRINT AT s + 4 , 0 ; r $ < s + 2 ) : NEX
240 RESTORE 240: DATA 2,"11060P T s
ress 1 to load a f i l e from tape" 440 PRINT AT 2 0 , 0 , , , , : FOR r. = 0
,"13050 Press 2 to d e f i n e lay TO 300: NEXT n: GO TO 620
out ": GO SUB 50 450 REM
750 TF TNKFYS="1" THEN GO TO 7 menu
"!0

260 TF INI<rYI="7" THEN GO TO 3 460 RESTORE 460: CLS : DATA 3 , "


O0621 MULT I - F I L E
770 Gn TO 75(=? " , " 0 2 7 0 1 W r i t t e n by R.L.
7no RFM v . d . Wardt u , "03701 1985 Ksr,
load a f i l e from tape garoo S o f t w a r e " : GO SUB 50
470 RESTORE 470: DATA 5 , " 0 9 7 0 0
290 DIM rtS( 1 1 , 3 2 ) : DIM t %< 50 1, 2 f I 1 ENTER THE FILE", " 1 1700
1 ) C21 RESTART MULT I - F I L E " , "1370
300 RESTORE 300: CLS : DATA 2, " 0 C3] SAVE THE F I L E " , "15700
00621 LOAD A FILE FROM TAPF [41 LOAD A F I L E " , " 2 1 0 6 0 P
","05700ENTFR LOAD NAME:"I RESS THE APPROPRIATE KEY GO
C.O SUB 50 SUB 50
310 LET max=6: LET /=16: LET x= 480 LET a4=INKEY$
5: GO SUB 60: LET s * = z * ( l , TO 6) 490 IF a $ < " i " OR a$>1 THEN G
320 RESTORE 320: DATA 2,"05060 O TO 480
INSERT TAPE AND PRESS ^ P L AY"" 500 PRINT AT VAL a$*2+7,5; OVER
,"10700 Loading -for l; BRIGHT l ; - m r : FOR n=0 TO 7
MF": GO SUB 50*. PAUSE 50: PRINT 00: NEXT n
AT 1 5 , 0 j : LET 1 " M F L "+5$: LOA 510 IF a $ = " l " THEN GO TO 620
D IS DATA r $ ( ) : PAUSE 50: PRINT 520 IF a$="2" THEN GO TO 220
AT 1 5 , 0 ; : LET 1<S="MFR "t5$: LOAD 530 IF a*="3" THEN GO TO 550
1S DATA t * ( ) 540 IF a*="4" THEN GO TO 280
330 LET t=VAL t £ ( 5 0 l ) : GO TO 62 550 REM

ZX COMPUTING FEBRUARY.'MARCH 1 9 8 6 83
(SPECTRUM BUSINES

save the f i l e : LET s * = z $ ( l , TO y-yy>


840 FOR n=1 TO t STEP UAL rS<2>
560 LET t$(501)=STR® t 850 IF t « ( n , TO LEN 5$)=B$ THEN
570 CLS : RESTORE 570: DATA 2 , " BEEP .05,20: LET p=n: PRINT AT
00621 SAVE THE FILE 2 1 , 0 , , ; A T 3 , 0 , , : GO SUB 1530: G
","05700ENTER FILENAME": GO O TO 660
SUEi 5 0 860 NEXT n: BEEP . 0 5 , 0 : PRINT A
580 LET max=6: LET y=15: LET x= T 2 1 , 0 , , ; A T 3 , 0 , , : FOR n=0 TO 25
5: GO SUB 60: LET (1, TO 6) : NEXT n
590 RESTORE 590: DATA 2,"05060 870 GO TO 660
INSERT TAPE AND PRESS ^REC"" 880 RFM
,"10700 Saving reset "p"
: GO SUB 50
600 LET 19i="MFL " + s<6: SAVE 1$ D 890 LET p=1: GO TO 660
ATA r * ( ) : LET 1S="MFR PAUS 900 REM
E 50: POKE 23736,181: SAVE DA copy t h i s r e c o r d
TA t!£<)
610 PAUSE 50: BEEP .075,20: PAU 910 PRINT AT 21,0; PAPER 1;"~CO
SE 50: GO TO 450 py-v _ PLEASE WAIT"
620 REM 920 LPRINT r $ ( l > : LPRINT
operat ing -file 930 FOR n=3 TO VAL r l ( 2 ) + 2 : LPR
INT r t ( n , TO 10);" " ; t $ < p + n - 3 > :
630 LET p=1: LET m e m = I NT (500/V NEXT n
AL r $ < 2) ) 940 LPRINT : LPRINT : PRINT AT
640 CLS : PRINT AT 0 , 0 ; PAPER 7 2 1 , 0 , , : GO TO 660
; INK l ; " MENU "; INVERSE 15" EN 950 RFM
TER AL. T E R BACK FORWARD OR copy a l l records
DER RESET LIST DELETE PR
TNT COPY QUIT SELECT 960 PRINT AT 21,0; PAPER t; M ~PR
650 PRINT AT 4,0; PAPER 2i INK TNT"' - PI E A S E WAIT"
6; BRIGHT l J r S t l ) : FOR n=3 TO VA 970 LPRINT r<£Cl): LPRINT : LPR!
L r«i<2)+2: PRINT AT n*2,0J INUER N T

SE i | r « ( n , TO 10): NEXT n 980 FOR 4=1 TO t-VAL r%(2) STEP


660 GO SUB 1530 VAL r$<7>
670 POKF 23658,0: LET a$=INKEY$ O90 FOP n= 3 TO VA' : * < 2 ) + 2 * L

: IF THEN GO TO 670 I NT r<fc(n, TO 10);" " ? t « ( + U i - 3 )


680 IF a$="s u THEN GO TO 810 1000 IF T NKEY'Ji< > " " T HEN PRINT A
690 IF a<S= r" u THEN GO TO 880 T 2 1 , 0 , , : GO TO 660
700 IF a*="c" THEN GO TO 900 1010 NEXT n: L P R INT' : LPRINT
710 IF a$="p" THEN GO TO 950 1020 NEXT 4
720 IF a*= u d u THEN GO TO 1040 1030 LPRINT : LPRINT : PRINT AT
730 IF a«= M e" THEN GO TO 1150 2 1 , 0 , , : GO TO 660
740 IF 34="a" THEN GO TO 1710 1040 REM
750 IF a <E="o" THEN GO TO 1300 d e l e t e t h i s record
760 IF 3 t = " l " THEN GO TO 14 1 0
770 IF THEN GO TO I 470 1050 IF t = l THEN GO TO 670
780 TF 3S="b" THEN GO TO 1500 1060 PRINT AT 21,0; PAPER I : "D^1
790 IF a$="q" THEN GO TO 450 ete t h i s record"? ( y /n >"
800 GO TO 670 1070 POKE 23658,0: IF INKEY*="n"
810 REM THEN PRINT AT 2 1 , 0 , , : GO TO 66
s e l e c t 0
1080 IF TNKEY*="y" THEN GO TO 1
820 PRINT AT 21,0; PAPER 1i"~SE 1 0 0

LECT*" " 1090 GO TO 1070


830 RESTORE 830: DATA 1,"03701E 1100 PRINT AT 2 1 , 0 , , : PRINT AT ?
NTER ORDER": GO SUB 50: LET x=3: 1,0) PAPER 1 ; ' P l e a s e Wait"
LET y=12: LET max=20: GO SUB 60 1110 FOR + «=p TO p +VAL r * ( 2 ) - l : I

84 ZX COMPUTING FEBRUARY;MARCH 1 9 8 6
ISPECTRUM BUSINES!

ET NEXT i 1360 IF v£<1)<=w$(1> THEN GO TO


1120 FOR +=p TO t - 1 ! LET t « ( + ) = t 1390
*(-f+VAL r * ( 2 ) ) I NEXT + 1370 FOR *=1 TO VAL r $ < 2 ) : LET t
1130 LET t=t-VAL r * ( 2 ) <S( j + + - 1 ) = w * < f ) : NEXT f
1140 PRINT AT 2 1 , 0 , , : LET p = l : G 1380 FOR f = l TO VAL r S ( 2 ) : LET t
O TO 660 $ ( j + f + ( VAL r*<2>-1) ) ( f ) : NEXT
f
1150 REM
e n t e r 1390 NEXT j : NEXT k
1400 PRINT AT 2 1 , 0 , , : LET p = i : B
1160 IF ( t - 1 ) / V A L r$(2)>=mem THE EEP .05,20: GO TO 660
N GO TO 1570 1410 REM
1170 FOR n=l TO VAl r $ ( ? ) : PRINT 1 i s t
AT n * 2 + 4 , 1 1 ; "
•: NEXT n 1420 PRINT AT 21,0; PAPER l J ' ^ L I
1180 PAUSE 10: LET x= 4: FOR g=l ST^": FOR p=l TO t-VAL r J I 2 ) STE
TO VAL r $ ( 2 ) : LET x=x+2: LET y =1 P VAL r<S(2)
l: LET max*2i: GO SUB 60: LET t« 1430 GO SUB 1530
< t ) = z « ( l , TO 21): LET t = t + i : NEX 1410 FOR n=1 TO 75: IF INKEY®<>"
T 3 " THEN BEEP .5,20: PRINT AT 21,
1190 LET p»t-VAL r«<2>: IF p<=0 0 , , : GO TO 670
THEN LET p=l 1450 NEXT n
1200 GO TO 660 1460 NEXT p: LET p=p-VAL r « ( 2 ) :
1210 REM PRINT AT 2 1 , 0 , , : GO TO 6^0
a l t e r 1470 REM
f o r w a r d
1215 IF t = l THEN GO TO 670
1220 PRINT AT 21,0; PAPER 1}"~AL 1480 LET p = p + VAl. r$<2>: IF p> = t
TER^": PRINT AT 3,0f INVERSE 1i THEN LET p=t-VAL r * <2)
BRIGHT 1;" Press -ENTERS to ski 1490 GO TO 660
p a -field " 1500 REM
1230 PAUSE 10: LET t t = t : LET t=p bac k
: LET max=2l: LET y = l i : LET x= 4
1240 FOR q=l TO VAL rtt(2) 1510 LET p =p-VAL r $ ( 2 ) : IF p<=0
1250 LET y » l l : LET x=x+2: GO SUB THEN LET p=l
60 1520 GO TO 660
1260 IF z * ( t ) = " 1530 REM
• THEN PRINT AT x , l l ? BRIGH p r i n t r ecor d
T 1 ; t * ( t ) : GO TO 1280
1270 LET t * ( t > « z * ( l , TO 21) 1540 IF t =0 THEN RETURN
1280 LET t = t + i : NEXT q 1550 IF p<=0 THEN LET p=l
1290 PRINT AT 2 1 , 0 , , J A T 3 , 0 , , : L 1560 LET d»l!. FOR n=p TO p +VAL r
ET t = t t : GO TO 660 * ( 2 > - l t PRINT AT*d*2+4,11; BRIGH
1300 REM T l ; t * ( n ) : LET d=d+i: NEXT n: RE
a l p h a b e t i c a l order TURN
1570 REM
1310 PRINT AT 21,0? PAPER 1J"^OR no more memory l e f t
nrp~ PLEASE WAIT*
1320 DIM v$(VAL r $ ( 2 > , 2 1 > : DIM w 1580 PRINT AT 21,0; PAPER 1;"
%< V A L r « ( 2 ) ,21) NO MORE MEMORY LEFT!
1330 FOR k=l TO t-VAL r*<2> STEP FOR n=0 TO 15: BEEP .05,20: BEEP
VAL r « ( 2 ) : FOR j = l TO t-(VAL r * .05,25: NEXT n
<2 ) +1 ) - k STEP VAL r$(2) 1590 FOR n=0 TO 200! NEXT n
1340 FOR -f = l TO VAL r * < 2 ) : LET v 1600 PRINT AT 2 1 , 0 , ,
* ( + ) = t « ( j - 1) : NEXT * 16 10 GO TO 660
1350 FOR TO VAL r $ < 2 ) : LET w 9999 CLEAR : SAVE "MULTI-FILE" L
$ < -f ) = t * ( j + -f + ( V A L r $ ( 2 > - l ) > : NEXT INE 0: PAUSE 50: VERIFY "MUL T I - F
4 TL E " : PAUSE 50: RUN

ZX COMPUTING FEBRUARY,MARCH 1 9 8 6 8b
(SPECTRUM DOMESTIC)

lines 3 3 4 0 , 3 3 6 0 , 3 3 9 0 and
3 4 1 0 , w h i c h r e m o v e or imple-
ment Spectrum c o m m a n d word
t o k e n s should be either left out
or s u b s t i t u t e d w i t h those re-
quired by your interface. If you
w i s h t o use a printer other t h a n
the Epson or Star y o u will have
to check the printer codes
An excellent spreadsheet program from a g a i n s t t h o s e g i v e n in y o u r
printer manual. If y o u do not
J.F. Tydeman, specifically for the have t h e W a f a d r i v e , y o u will be
unable t o enter s o m e of the lines
wafadrive and Kempston E, but very as these use the W a f a d r i v e ' s Ex-
t e n d e d Basic. D o n ' t enter these

easily modified to suit all systems. lines w h i c h only occur in the


Load Save routine. M o d i f y the
M e n u accordingly.

T A B C A L C is a spreadsheet pro d o e s n ' t have e n o u g h characters use M i c r o d r i v e , m o d i f y the ap- Program


g r a m designed to take full ad- p e r l i n e t o p r o d u c e a useful print propriate LOAD/SAVE com-
v a n t a g e of the facilities o f f e r e d out f r o m this type of program. m a n d s in the routine starting at Description
by the R o b o t r o n i c s W a f a d r i v e line 5 0 0 0 but note the d i f f e r e n t T h e p r o g r a m , w h i c h stores in-
and a line printer. A n alternative w a y in w h i c h the W a f a d r i v e f o r m a t i o n entered in a three
listing is p r o v i d e d to permit the Entering the handles the loading and saving dimensional array, uses the
p r o g r a m t o be used w i t h the listing of data. Enter listing 2 instead of Spectrum's string handling
K e m p s t o n 'E' interface and a lit lines 3 0 0 0 t o 3 4 2 0 if y o u w i s h facilities extensively, particular-
tie h a c k i n g is all that is required Listing 1 is for the W a f a d r i v e t o use the K e m p s t o n 'E' inter- ly w h e n handling t h e screen
t o adapt the p r o g r a m t o other in- and uses the W a f a d r i v e ' s Cen- face. Listing 2 should be easily display. It is m e n u driven and
terfaces and M i c r o d r i v e . Tape tronics port to feed the printer. m o d i f i e d to suit other interfaces. features eight principal routines.
facilities h a v e n ' t been f o r g o t t e n Simply enter the listing and run I n t e r f a c e s o f t w a r e should be A description of these is given in
either, b u t the ZX printer just the program. Should y o u w i s h to entered instead of line 3 0 2 0 and figure 1.

Figure 1. Description of main routines. 3180 3310 Requests the input of a tille and sends t o the
printer the data t o be printed.
2000 2060 Defines certain variables representing either a 4010-4070 C h e c k s t o see if the appropriate Totals Hags
screen location or the c o r r e s p o n d i n g position have been reset If not, goes to the ap
in the array A $ and then prints the initial propriate subroutine.
screen display. 4080 4200 Sets all c o l u m n totals initially t o 0 and enters a
2070-2 220 T h e Input Logo. This loop enables the cursor series of nested loops t o total each c o l u m n ,
t o be m o v e d and data t o be entered or deleted Safeguards included in lines 4 1 5 0 and 4 1 6 0
as required. S u b r o u t i n e s l o c a t e d at lines prevent the p r o g r a m crashing if a nul e n t r y is
2 2 3 0 2 5 1 0 are called to print on screen as f o u n d , or the total b e c o m e s t o o big.
required. The principle o p t i o n s available are: 4210-4350 Similar routine for Line Totals.
Caps shift + ' 5 ' M o v e cursor left 4360-4370 Minor subroutine t o set k e y b o a r d ' c l i c k ' .
Caps shift + ' 6 ' M o v e cursor d o w n REFORMAT/INITIALISE. . . LINES 9000 9440
Caps shift + ' 7 ' M o v e cursor u p
Caps shift + ' 8 ' M o v e cursor right W h e n using the p r o g r a m for the first t i m e it m u s t be f o r m a t t e d . To
Symb.shift + 'A' Return to m e n u d o this select o p t i o n 1 f r o m t h e Main M e n u .
S y m b . s h i f t + ' : ' — Print ' : ' at cursor
Delete Delete at cursor, and backspace. LINE NUMBERS DESCRIPTION
Enter M o v e cursor to first position of next 9010 Gives the o p p o r t u n i t y t o return t o the m e n u if
c o l u m n . If end of array, print cursor at beginn- the o p t i o n has been chosen in error.
ing of next line 9020-9170 This section permits y o u t o d e f i n e u p to 1 5
A S C 2 Character Print al cursor p o s i t i o n c o l u m n titles, each eight spaces w i d e . Line
' T ' — Entered t o indicate the position of a sub- Titles and Totals c o l u m n s are not included as
total. they are f o r m a t t e d a u t o m a t i c a l l y . The max
2230-2310 Reprint screen display if cursor m o v e s o f f right i m u m w i d t h of the array A $ is 1 3 6
hand edge. characters, w h i c h c o r r e s p o n d s t o the number
2320-2370 Reprint screen display if cursor m o v e s o f f left of characters w h i c h c a n be p r i n t e d in con-
hand edge. densed m o d e .
2380-2420 Reprint screen display if cursor m o v e s o f f t o p 9180 9310 Routine for entering Line Titles. Up t o 9 9 titles
edge. may be entered. If y o u w i s h to enter t e x t c o m -
2430 2470 Reprint screen display if cursor m o v e s o f f bot m a n d s y o u m a y enter a blank title in the ap
torn edge. propriate line. This facility is also available
2480-2490 'Enter' S u b r o u t i n e . w h e n e n t e r i n g c o l u m n titles. Used t o g e t h e r it
3000-31 70 Print o n screen a m e n u of various printer is possible t o f o r m a t the p r o g r a m to the re
codes and f o r m a t o p t i o n s . A little practice will quired dimensions w i t h o u t entering titles and
enable y o u to select an appropriate f o r m a t and should be used if only text entry, or c o l u m n s
print it a n y w h e r e desired on A 4 paper. The of non standard w i d t h are required. Titles m a y
BOX o p t i o n is used t o print out numeric data t h e n be entered f r o m the m a i n program.
in the f o r m of a.table and should be used in 9320 9340 Permits c o l u m n markers t o be entered and
c o n j u n c t i o n w i t h LINE S P A C I N G for o p t i m u m should only be selected if c o l u m n s of a stan-
e f f e c t . Print o p t i o n s are cancelled w h e n prin- dard eight character w i d t h are required.
t i n g is c o m p l e t e d and m u s t be re-entered if a 9340-9450 Defines certain variables used by the Printer
c o p y is required. Routine.

86 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX
(SPECTRUM D0MESTI1

y o u have selected a f o r m a t con- Paper and Ink colours to be set


MONTHLY EXPENSES
1AR 8 5 HOTEL MEALS DRINKS FARES SUNDRY TOTALS
taining more than 6 x 8 from the Menu,
character columns, (excluding
1 2. 65 J 1 . 8 0 i" 4 . 45 Titles and Totals), you will need
t o select the condensed printing
Clear numeric data
O
1 mode. (Lines 6140-6200
SUN 3 O
9 . 54 3 . 44 I 12.98 Nested loops are used t o clear
1
20. 30 6 . 32 1 .OO 27. 62
calculation the array w i t h the exception of
= 1
0
Routine (Lines line and c o l u m n t i t l e s . T h e
I routine then calls part of the for-
*
12.54|
4000-4370) mat routine to allow the option
7 12.54
of entering column markers.
a I O This routine should only be used
l if standard eight-character col-
9 I o
umns have been formatted. If cancel/reinstate
i
SUN lO i o either, or both, Column and Line totals (Lines
l
11 l 0 totals have been cancelled (Op-
tion 8) then flags will have been
6000-6130)
12 4.25 8.62 | . 90 13. 77
set to prevent the appropriate
13 21 . 65 21. 65 This routine prints a menu w h i c h
1 part of the routine from func-
g i v e s o p t i o n s t o c a n c e l or
14 1
i 1.23 1 .23 tioning. A safeguard is included
r e i n s t a t e Line a n d C o l u m n
1 w h i c h will prevent Totals con-
15 I O Totals. Flags are set and the ar-
taining more digits than the col-
I ray sliced according to the op-
16 I 0 u m n w i d t h f r o m being printed.
tion selected. Data recorded in
SUN 17 1 0 A n audible warning is given dur-
I these segments is retained in
ing calculation should this oc-
IS I 0 m e m o r y . Exercising this option
I cur. A s the routine can take
I fully, after f o r m a t t i n g without
19 4.63 1.91 1 6. 54 some time if the array has been
Line/Column Titles or Column
extensively filled w i t h data, the
20 O Markers, enables t e x t only to be
column or line number currently
21 2 . 45 J . 90 3. 35 entered. If you w i s h to enter a
being totalled is displayed on
mixture of text and numeric data
22 o screen.
then enter numeric data first,
23 1 O calculate totals (if required),
1
1 cancel Line and column totals
SUN 24 t 0 SAVE/LOAD routine and t h e n enter t e x t . If ap-
25 O (Lines 5000-5300) plicable, Column and Line Totals
26 1 O should be reinstated before sen-
(
A c o m p r e h e n s i v e routine t o ding data to the printer.
27 18. 44 2.45 1 . 65 j 22.54
l o a d / s a v e to t a p e or w a f e r
28 1 0
( w h i c h could easily be adapted important points
29 2 . 45 . 98 j 3. 43 for use in other programs. If you
1 are converting this routine to 1. The largest number w h i c h
30 1 0
microdrive it should be noted can be entered is
SUN SI 1 O that Saving or Loading Data on 9 9 9 9 9 9 9 or in decimal
TOTALS 60. 39 27, 19 7.8 28.89j 5.83 130. 1 the Wafadrive is carried out by f o r m 9 9 9 9 . 9 9 . Totals or
reading the different elements of sub-totals w h i c h exceed
the array A $ . This is achieved this will not be entered.
w i t h nested loops w h i c h are
Enter a n d / o r Data File loaded o t h e r w i s e an Er-
necessary with tape or
2. Text c o m m e n t s must not
be entered before totals
ror will result.
Amend Data (Lines Sub totals at any line may be microdrive. Note that Column have been calculated.
2000-2510) selected by entering a ' T ' in the T i t l e s and all t h e variables 3. The program must be IN-
first space of the column where necessary to run an unformat ITIALISED or D A T A LOAD-
This routine is the heart of the it is required. These markers ted version of the program are ED before selecting any of
program and is probably the should be entered each time a also saved. the other MENU options.
most complex. It w o r k s by slic- calculation, or recalculation is 4. Should the program return
to BASIC for any reason it
ing the three dimension array
A $ , defined during initialisation,
made as the calculation routine
removes them.
Attributes (Lines m a y be r e s t a r t e d w i t h
and printing on the screen in t w o 8000-8020) GOTO 1. Do not use RUN
' W i n d o w s ' . These w i n d o w s as this will clear all data
correspond t o the f o l l o w i n g Printer Routine A simple routine w h i c h enables e n t e r e d .
screen locations. Line 0 , Col (Lines 3000-3420)
umn 8, and Line 2 0 , Column 3 1 .
A ' * ' cursor w h i c h may be The listing of this routine in the Program 1
moved to any position on the main program uses the
screen using the cursor keys, or w a f a d n v e ' s Centronics port. If, 500 REM TABCALC
to the next column by depress- however, you do not have a
ing ENTER should be positioned wafadrive, listing 2 will give you 510 BRIGHT I: INK 5: BORDER 0:
where it is required t o enter or the same printer facilities via the PAPER 0: CI S
amend data. If the cursor moves Kempston 'E' interface. Both
1000 BEEP .5,2: POKE 23658,8: CL
off the screen in any direction listings are for Epson or Star
the a p p r o p r i a t e w i n d o w is printers but should be easy to S : PRINT AT 0,10) INVERSE 1 I "OP
reprinted. A slight pause is ex modify for other printers. The TTONS"*''
perienced at this point. T h e routine provides an extensive
1010 PRINT "(1) RE-FORMAT/INITIA
Enter A m e n d option MUST NOT range of formats and up to 1 3 6
be selected unless the program c h a r a c t e r s per line m a y be List";''
has either been Formatted, or a printed in condensed mode. If 1020 PRINT "(2) ENTER AND/OR AME

ZX COMPUTING FEBRUARY/MARCH 1986 87


IPECTRUM DOMESTIC!

ND DATA"J'* X , Y ; " * " : PAUSE 2


1030 PRINT "(3) PRINTER R O U T I NET" 2080 PRINT ; OVER 1; PAPER 8;AT
• F » x,Y;•*"
I
I N P R I N T "(4) CALCULATION ROUT 2090 LET B«=INKEY*
INE " i ' ' 2100 IF L >= 1 AND CODE B«6> = 3 2 AN
1050 PRINT "(5) SAVE/LOAD ROUTIN D CODE B$< = 1 2 7 THEN PRINT ;AT X
E " ; * ' ,Y;B«: LET AT(P,L,C)=B«: LET Y=Y
1060 PRINT "(6) ATTRIBUTES"}'' +1: LET C=C+L: GO SUB 4360: IF Y
1070 PRINT "(7) CLEAR NUMERIC DA >31 OR OWIDTH THEN GO SUB 2230
TA"J * ' 2110 IF L<I AND CODE B*>=32 AND
1080 PRINT " <S> CANCEL/RE INSTATE CODE B$<=127 THEN PRINT ;AT X,Y
TOTALS" ; * * ;B*: LET A*(VAST,I,C)=B«: GO SUB
1085 PRINT "(9) WAFER DIRECTORY" 4360: LET y=Y+l: LET C=C+l: IF
• **
t Y>31 OR OWIDTH THEN GO SUB 223
1090 PRINT H0JAT 0,0? INVERSE 1J 0
•SELECT ROUTINE NUMBER REQUIRED" 2120 IF B*=CHR* 9 THEN LET Y=Y+
T PAUSE 0 L: LET C=C+L: GO SUB 4360: IF Y>
1100 TF TNKEY«="1" THEN GO SUB 31 OR OWIDTH THEN GO SUB 2230
f?000 2130 IF B*=CHR$ 8 THEN LET Y=Y-
1110 IF INKEY$="2" THEN GO SUB I: LET C=C-I: GO SUB 4360: GO SU
2000 B 7000
1120 IE INKEY$="3" THEN GO SUB 2140 IF B*=CHR* 10 THEN LET X=X
3000 +1: LET L«L+L: GO SUB 4360: IF X
1130 TF INKEY«="4" THEN GO SUB >20 OR L >LINES OR (20*(P-1) ) + (L-
4000 1)=W THEN LET P=P+L: GO SUB 243
1140 IF INKEY«="5" THEN GO SUB 0
5000 2150 IF B$=CHR* 11 THEN GO SUB
1150 IF INKEY*="6" THEN GO SUB 7040: GO SUB 4360: LET X=X-I: LE
8000 T L = L - l : IF L <0 THEN LET L =0: L
1160 IF I N K E • 7 • THEN GO SUB ET X=0: BEEP . 1 , . 1
6140 2160 IF CODE BS=195 THEN LET B*
1170 IF INKEY*="8" THEN GO SUB =CHR$ 124: PRINT ;AT X,Y;B$: LET
6000 A3I(P,L,C)=B«: LET Y= Y+L: LET C=
1180 IF INKEYS="9" THEN CLS : I c+L: GO SUB 4360: IF Y>31 OR C>W
NPUT "DRIVE A OR B^";D«: GO SUB IDTH THEN GO SUB 2230
6500 2170 IF CODE BS=12 AND X=0 THEN
1190 GO TO 1000 GO SUB 7000: PRTNT ;AT X,Y;" "Z
2000 REM MAIN LOOP LET A*(VAST,1,C)="": LET Y=Y-1:
2010 LET P=l: LET X=l! LET Y=8: LET C=C-L: GO SUB 4360
LET L=1: LET C=9 2180 IF CODE B$=12 AND X>0 THEN
2020 CLS GO SUB 7000: GO SUB 4360: PRINT
7030 IF WIDTH > 32 THEN PRINT IN ; INVERSE 1;AT X,Y;" LET A»(
VERSE 1;AS(VAST,1, TO 32): FOR N P , L , C ) = " " : LET Y=Y-L: LET C=C-1
TO LINES: PRINT ; INVERSE L;A 2190 IF CODE B$=13 THEN LET C=C
*<P,N,I TO 8); INVERSE 0;A»(P,N, -Y: LET Y=INT (Y/8): LET Y=Y*8+8
9 TO ^2): TF N=W THEN GO TO 206 : LET C=C+Y: GO SUB 4360: GO SUB
0 2430
70^0 TF WIDTH < =32 THEN PRINT I 2200 IF B«=CHR$ 226 THEN BEEP .
NVER5E L;A«(VAST,L, TO WIDTH): F 5 , . 5 : RETURN
OR N=1 TO LINES: PRINT ; INVERSE 2210 PRINT AT 21,0; INVERSE 1;"P
I ; A « ( P , N , I TO 8>; INVERSE 0;A*< AGE " ; P ; " ";AT 2 1 , I I ; - L I N E " ; L ; "
P,N,9 TO WIDTH): IF N= W THEN GO •;AT 21,21;'COLUMN ";c;" "
TO 2 0 6 0 2220 GO TO 2070
2 0 5 0 NEXT N 2230 IF OWIDTH THEN LET C=C-1:
2060 PRINT ; INVERSE 15 A T 21,0; " LET Y=Y-l: BEEP . 5 , . 5 : RETURN
2240 IF L >11NES THEN LET 1=1-1:
LET X=X-l: BEEP . 2 , . 2 : RETURN
2070 PRINT ; OVER If PAPER 8;AT 2250 LET Y=8

88 ZX COMPUTING FEBRUARY/MARCH 1986 88


IPECTRUM DOMESTIC!

2260 IF C +23 >WIDTH THEN PRINT A 2510 RETURN


T 0,8;US<9 TO 32): PRINT AT 0,8; 3000 REM PRINTER CODES
INVERSE 1JASfVAST,1,C TO WIDTH) 3010 CLS :
: GO TO-2280 3020 OPEN # * 4 , " c "
2270 IF C-23<=WIDTH THEN PRINT 3030 POKE 23679,WIDTH
AT 0 , 8 ; INVERSE 15 A S < V A S T , 1 , C TO 3040 PRINT J INVERSE 1;AT 0 , 1 9 ; "
C +23 > PRINTER CODES"
2280 IF C+23<WIDTH THEN FOR N= 1 3050 PRINT ;AT 0 , 0 ; " ( 1 ) COMPRES
TO 20: IF N+20*(P-l><=W THEN P S E D " ; ' ' ; " ( 2 > ENLARGED";'•;" (3)
RINT ; INVERSE 1;AT N,0;AS<P,L-X S U B S C R I P T " ; ' ' ; " t 4 ) IMPRESSED";
+N,1 TO 8 ) ; INVERSE 0;AT N,8;AS( • • ; " ( 5 ) I T A L I C S " J ( 6 ) BOXED
P,L-X+N,C TO C+23): NEXT N " ; * * ; " < 7) SET LEFT MARGIN
2270 IF C+23 >=WIDTH THEN FOR N= "(8) DOUBLE STRIKE";**;"<9> LI
1 TO LINES: IF N+20*(P~1)<=W THE NE S P A C I N G " } ' T ; " ( P ) LLPRINT DAT
N PRINT ; INVERSE 1;AT N,0;AS(P A * ; * * ; " <M> MAIN MENU"
,L-X+N,1 TO 8 ) ; INVERSE 0;AT N,8 3060 PRINT ;AT 2,19; INVERSE l ; "
;US(9 TO )JAT N,8;AS<P,L-X+N,C T ENTER NUMBER";AT 3 , 1 9 ; " REQUIR
O WIDTH): NEXT N ED. ": PAUSE 0*. IF INKEYS="P" T
2300 IF N^21 THEN FOR M=N TO 20 HEN GO TO 3180
: PRINT AT N,0;US(1 TO 32): NEXT 3070 IF INKEYS="1" THEN PRINT tt
N 4;CHRS 15
2310 RETURN 3080 IF INKEYS="2" THEN PR TNT »
2320 REM LEFT 4JCHRS 27+CHRS 87
2330 IF C<9 THEN LET C=C + l : LET 3090 IF INKEYS="3" THEN PRINT «
Y=Y+l: BEEP .5,.5:'RETURN 4;CHRS 27+CHRS 83
2340 LET Y=31 3100 IF INKEYS="4" THEN PRINT H
2350 PRINT AT 0 , 8 ; INVERSE 1;AS( 4;CHRS 27+CHRS 69
VAST,1,C-23 TO C) 3110 IF INKEYS="5" THEN PRINT M
2360 FOR N=1 TO LINES: IF N+20*( 4;CHRS 27+CHRS 52
P - 1 X = W THEN PRINT AT N,8;AS(P, 3120 IF INKEYS='6" THEN LET R=1
L-X+N,C-23 T O C ) : NEXT N 3130 IF INKEYt=" 7 " THEN GO SUP
2370 RETURN 3320
2380 REM UP 3140 IF INKEYS—"8" THEN PRINT tt
2390 IF P<1 THEN LET P=P+l: LET 4;CHRS 27+CHRS 71
l.=L + l : LET X=X+l: BEEP . 1, . 1S R 3150 IF TNKEYS="9" THFN GO SUB
ETURN 3380
2400 LET YY=Y: LET CC=C: LET C=C 3160 IF INKEYS="M" THEN CLOSE #
-Y+8: LET L=20: LET X=20! LET Y= *4: RETURN
8: GO SUB 2280 3170 GO TO 3030
24 10 LET Y=YY: LET C=CC 3180 CLS : PRINT #0;AT 0,0; I NVF
2420 RETURN RSE lJ'SET PAPER POSITION k PRES
2430 REM DOWN S ENTER": PAUSE 0
7 4 4 0 IF P > P A G E S OR W < 1 0 0 A N D ((2 3190 INPUT ; INVERSE 15"INPUT ""
0 * P ) + L - 1 ) = W THEN L E T P = P - i : IET TITLE'" OR " " E N T E R " Z S
X = X - 1 : LET L = L - 1 : B E E P . 2 , . 2 : p 3206 PRINT #4;AT 0,8;ZS: PRINT M
ETURN 4; ' "
2^50 LET YY=Y: LET CC=C: LET C=C 3210 PRINT #4;AS(VAST,1,1 TO WID
-Y +8: LET Y=8: LET L=l: LET X=i: TH)
GO SUB 2280 3220 FOR M=1 TO PAGES: FOR N=1 T
2460 LET Y=YY: LET C=CC 0 LINES
2470 RETURN 3230 IF LEN TS>=WIDTH AND M=1 AN
2480 REM ENTER D N—1 AND R=1 THEN PRINT #4;TS(
2490 IF C >=WIDTH THEN LET X = X+1 1 TO WIDTH)
: LET L=L+1: LET Y=8: LET C=9: G 3235 tF LEN TS<WIDTH AND M=1 AND
0 SUB 2260: IF X >20 OR <20*<P-1) N=1 AND R=1 THEN PRINT «4;TS
> + L - 1 > 3E W THEN LET P = P+ 1 : GO SUB 3240 IF R=1 THEN PRINT «4;SS(1
2430: RETURN TO WIDTH)
2500 IF Y >31 THEN GO SUB 2230 3250 PRINT #4;AS(M,N,1 TO WIDTH)

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 89
IPECTRUM DOMESTIC!

3260 IF R= I THEN PRINT #4;RS(I TF COR=1 THEN LET COR=0: LET AS


TO WIDTH) (PAGES,W-20*(PAGES-1),O TO 0+6)=
3270 IF ((M-1)*20)+N=W THEN GO "TOO BIG*: NEXT O
TO 3290 4170 NEXT N
3280 NEXT N: NEXT M 4 180 NEXT M
3290 LET R=0 4 190 NEXT 0
3300 PRINT **4}CHRS 27+CHRS 64 4200 RETURN
3310 CLOSE #*4: RETURN 4 210 REM LINES
3330 INPUT J INVERSE L;"NUMBER O 4220 LET COUNT=0
F CHARACTER. SPACES FOR MARGIN 4230 FOR M=1 TO PAGES
• J z 4240 FOR N=1 TO 20
3350 PRINT W4;CHRS 2 7 + C H R S 7 7 + CH 4250 IF AS(M,N,1 TO 7> = "
RS Z THEN LET AS(M,N,0 TO 0+6)="
3370 RETURN " : GO TO. 4320
3380 PRINT AT 10,0; INVERSE L;"N 4260 PRINT ; INVERSE 1;AT 10,5;"
UMBER PIXELS FOR LINE SPACING E CALCULATING LINE : ";N+(20*(M-
NTER: 8 = NORMAL: 6 = SUBSCRIPT4 1 ) ) ! " "
= COMPRESSED SUBSCRIPT 4270 LET AS(M,N,WIDTH-7 TO WIDTH
: INPUT Z - 1)=" 0"
3400 PRINT #4;CHRS 27+CHRS 65+CH 4280 FOR 0=9 TO (WIDTH-15) STEP
RS Z 8
3420 CLS : RETURN 4290 IF AS(M,N,0 TO 0+6)="
4000 REM TOTALS * THEN GO TO 4310
4010 CLS : IF COLT=0 AND LINT=0 4300 LET TOT=VAL AS(M,N,(WIDTH-7
THEN PRINT ; FLASH 1;AT 10,0;"T ) TO (WIDTH-1))+VAL AS(M,N,0 TO
OTALS CALCULATION NOT AVAILABIF" 0+6): GO SUB 8030: LET AS(M,N,WI
: PAUSE 200: RETURN DTH-7 TO WIDTH-1)=VS: IF COR=! T
4020 IF COLT=0 THEN GO TO 4040 HEN LET COR=0: LET AS(M,N,WIDTH
4030 GO SUB 4080 -7 TO WIDTH-1)="TOO BIG": NEXT O
4040 IF LINT=0 THEN RETURN 4310 NEXT O
4050 BEEP . 1 , . 1 4320 NEXT N
4060 GO SUB 4210 4330 NEXT M
4070 RETURN 4340 BEEP . 5 , . 5
4080 REM COLUMN 4350 RETURN
4090 FOR N=9 TO (WIDTH-8) STEP 8 4360 REM KEYBOARD CLICK
: LET A*(PAGES,W-20*(PAGES-1),N 4370 BEEP .007,3: RETURN
TO N+6)= " 0": NEXT N 5000 CLS : PRINT "SAVE I LOAD OP
4100 FOR 0=9 TO WIDTH-8 STEP 8: TIONS": PRINT AT 2 , 0 ; " ( 1 ) SAVE P
LET TOT=0: LET SUBTOT=0: LET COU ROGRAM TO TAPE ";AT 4 , 0 ; " ( 2 ) SAV
NT=0 E PROGRAM WAFER DRIVE A " J AT 6,0;
4110 PRINT ; INVERSE 1;AT 10,5;" *(3) SAVE PROGRAM WAFER DRIVE B"
C A L C U L A T I N G COLUMN : " ; I N T (0/8) JAT 8 , 0 ; " ( 4 ) SAVE DATA TO TAPE"
• • •
i 5010 PRINT AT 10,0;"(5) SAVE DAT
4 1 2 0 F O R M = 1 TO P A G E S A TO WAFER DRIVE A";AT 12,0;"(6)
4 130 FOR N=1 TO 20 SAVE DATA TO WAFER DRIVE B";AT
4140 LET COUNT=COUNT+1: IF COUNT 14,0J"(7) LOAD DATA FROM TAPE";A
>W-1 THEN GO TO 4190 T 16,0;"(8) LOAD DATA FROM WAFER
4150 IF AS(M,N,0 TO 0+6)=" DRIVE A"JAT 18,0;"<9) LOAD DATA
" THEN GO TO 4170 FROM WAFER DRIVE B"
4155 IF A«(M,N,0)="T" THEN LET 5020 PRINT #0JAT 0,0;"SELECT NUM
SUBTOT=TOT-SUBTOT: LET ES=STRS S LER OF OPTION REQUIRED": PAUSE 0
UBTOT: GO SUB 8500: LET AS(M,N,0 5030 IF INKEYS= * 2" THEN CAT *:
TO 0+6)=ES: LET SUBTOT=TOT: GO INPUT "NAME 7 ";GS: SAVE #QS LIN
TO 4170 E 500: VERIFY *QS: CAT *: PAUSE
4160 LET TOT"VAL AS(PAGES,W-20*( 150: RETURN
PAGES-1) ,O TO 0 +6 ) + VAL AS(M,N,0 5040 IF INKEYS="3" THEN POKE 23
TO 0+6): GO SUB 8030: LET AS(PAG 767,1: CAT * : INPUT "NAME ^ ";QS
ES , W - 2 0 - * (PAGES - 1 ) , O TO 0+6>=YS: : SAVE #QS LINE 500: VERIFY *GS:

90 ZX COMPUTING FEBRUARY/MARCH 1986 90


IPECTRUM DOMESTIC!

CAT *: POKE 23767,0! PAUSE 150: 6040 PRINT AT 1 0 , 0 ; " ( 3 ) CANCEL


RETURN COLUMN TOTALS"
5050 TF INKEY*="4" THEN GO SUB 6050 PRINT AT 15,0}"(4) RE-INST
5200: INPUT "NAME ? SAVE 6 ATE COLUMN TOTALS"
% DATA A * ( ) : RETURN 6060 PRINT AT 20,0*," (5) RETURN
5060 IF INKEY«6="5" THEN GO SUB TO MAIN MENU"
5200: GO TO 5130 6070 PRINT 4*0; A T 1,0J INVERSE 1}
5070 IF INKEY$="6" THEN GO SUB "SELECT APPROPRIATE NUMBER ": PA
5200: POKE 23767,1: GO SUB 5130: USE 0
POKE 23767,0: RETURN 6080 IF INKEY*="1" AND LINT=1 TH
5080 IF INKEY*="7" THEN CLS : I EN LET LINT=0: LET W I DTH»=W I D T H -
NPUT "NAME ?";Q«: PRINT AT 20,10 8
;"START THE TAPE": LOAD DATA 6090 IF INKEY*="2" AND LINT=0 TH
A$(): GO SUB 5300: RETURN EN LET LINT=l: LET WIDTH=WIDTH+
5090 IF INKEY*="8" THEN GO SUB 8
5150: GO SUB 5300: RETURN 6100 IF INKEY*="3" AND COLT=l TH
5100 IF INKEYS="9" THEN POKE 23 EN LET COLT~0: LET W=W-1
767,1: GO SUB 5150: POKE 23767,0 6110 IF INKEY«="4" AND COLT=0 TH
:: GO SUB 5300: RETURN EN LET COLT=l: LET W=W+1
5110 IF INKEY*="1" THEN INPUT " 6120 IF INKEY«="5" THEN RETURN
NAME? -IQ«: SAVE Q$ LINE 500: RE 6130 GO TO 6000
TURN 6140 REM CLEAR NUMERIC DATA
5120 GO TO 5000 6150 FOR M=1 TO PAGES
5130 CAT *: INPUT "NAME -;QT: 6160 FOR N=1 TO LINES
INPUT "ERASED";Z%: IF 2$="Y" THE 6170 LET A*(M,N,9 TO >=""
N ERASE *Q* 6180 NEXT N: NEXT M
5140 OPEN #*4,G«: FOR M=1 TO 6: 6190 GO SUB 9320
FOR N=1 TO 20: PRINT 444 ; A * ( M , N > : 6200 RETURN
NEXT N: NEXT M: CLOSE ***4: CL.S 6500 REM WAFER DIRECTORY
: CAT * : PAUSE 150: RETURN 6510 LET D*=D*+":": CAT *D*
5150 CAT *: INPUT "NAME ? "JQS 6520 PRINT 440J A T 0,0? INVERSE If
5160 DIM A S ( 6 , 2 0 , 136) : OPEN ***4, "PRESS ANY KEY TO CONTINUE": PAU
Q*: FOR M=1 TO 6: FOR N=1 TO 20: SE 0
INPUT * 4 4 ; A S < M , N> : NEXT N: NEXT 6530 RETURN
M: CLOSE *4*4: RETURN 7000 REM CURSER LEFT
5170 RETURN 7010 IF C< 9 AND C >0 THEN RETURN
5200 CLS : PRINT *40JAT 0,0J"SAVI
NG " I 9 * : LET A*<6,2)=STRS WIDTH: 7020 IF Y< 8 THEN GO SUB 2320
LET A«(6,3)=STR* LINES: LET A*( 7030 RETURN
6,4)=STR* W: LET A*(6,5)=STRS VA 7040 REM CURSER UP
ST: LET A*<6,6)=STRS PAGES: LET 7050 IF L<1 AND L>-1 AND P=1 THC
A*<6,7)=STR* COLT: LET A«(6,8)=S N RETURN
TR* LINT: LET AS(6,9)=STR* COR: 7060 IF X<1 THEN LET P=P-1: GO
RETURN SUB 2380
5300 LET WIDTH=VAL AS<6,2): LET 7070 RETURN
LINES=VAL A * ( 6 , 3 ) : LET W=VAL A«( 8000 REM ATTRIBUTES
6 , 4 ) : LET VAST=VAL A$(6,5): LET 8010 CLS : INPUT "BRIGHT7";BR I:
PAGES=VAL A«(6,6)*. LET COLT=VAL INPUT "PAPER COLOUR 7 " ; P A P ; , ; " I N
A$(6,7>: LET LINT=VAL AL(6,8): L K COLOUR? "JINK: BRIGHT BRI: PAP
ET COR=VAL A$(6,9): GO SUB 9350: EF? P A P : BORDER PAP: INK INK: CLS
RETURN
6000 REM CANCEL/REINSTATE TOTAL 8020 RETURN
S 8030 REM TOTALS-JUSTIFICATION t*
6010 CLS CORRECTION FOR TO MANY DIGITS'
6020 PRINT AT 1 , 0 ; " ( 1 ) CANCEL L 8040 IF LEN STR* TOT>7 THEN BEE
INE TOTALS" P . 5 , . 5 : LET COR=l: RETURN
6030 PRINT AT 5,0;"<2> RE-INSTA 8050 LET Y«=STR« TOT
TE LINE TOTALS" 8060 IF LEN Y«<7 THEN LET Y*-"

ZX COMPUTING FEBRUARY/MARCH 1986 91


IPECTRUM DOMESTIC!

•+Y»: GO TO 8060 S LIMITED TO A " ; ' ' ; : PRINT ;TAB


8070 RETURN 3J"MAXIMUM OF 7 CHARACTERS'"
8500 REM SUBTOTAL JUSTIFICATION 9200 PRINT AT 18,0;"INPUT S WHEN
8510 IF LEN ES<7 THEN LET ES=" YOU HAVE ENTERED ALL THE LINE
"+ES: GO TO 8510 TITLES REQUIRED. "
8590 RETURN 9210 PRINT AT 21,0;"PRESS ENTER
9000 REM FORMAT FOR A BLANK TITLE
9010 CLS : PRINT FLASH 1;AT 10, 9220 LET COUNT=0: FOR M=1 TO 5:
5?"ARE YOU CERTAIN^ (Y/N)": PAUS FOR N=1 TO 20: LET COUNT=COUNT+1
E 0: IF INKEYS="N" THEN RETURN 9225 IF COUNT=100 THEN GO TO 92
9020 CLS ! PRINT ; INVERSE 1;AT 90
8,0;"ENTER THE NUMBER OF 8 CHAR 9230 PRINT AT 0,0; INVERSE 1;"EN
ACTERWIDE COLUMNS YOU REQUIRE. D TER LINE ";COUNT
O NOTINCLUDE TOTALS OR TITLES CO 9240 GO,SUB 9460
LUMNS MAXIMUM 15 9250 IF ZS»"S" .THEN GO TO 9290
": INPUT WIDTH 9260 LET AS(M,N,1 TO 7)=ZS
9030 LET WIDTH=(WIDTH+2)*8: IE W 9280 NEXT N: NEXT M
IDTH >136 THEN CLS Z PRINT } INV 9290 LET AS(M, N, 1 TO 7)="TOTALS"
ERSE 1;AT 10,10;"TO MANY COLUMNS 9300 LET PAGES=M: LET W=(20*(M-1
»"i PAUSE 150: CLS : GO TO 9070 ) +N)
9040 IF WIDTH >80 THEN CLS : PRI 9305 IF LINES< 21 THEN LET LINES
NT INVERSE 1;AT 10,0;"YOU MUST =LINES+1
SELECT CONDENSED PRINTING 9310 IF LINES=21 THEN LET LINES
IN THE PRINTER ROUTINE ": PAUSE = 20
1 0 0 9320 CLS I PRINT INVERSE 1;AT 1
9050 LET COR = 0 : LET LINT=1*. LET 0,2,"DO YOU WISH TO ENTER COLUMN
COLT=l: LET CO=0: LET W=99: LET PRINT INVERSE 1JAT 12,10;"M
PAGES=INT (W/20)+l: LET VAST=6: ARKERS? Y/N": INPUT LINE ZS: IF
LET LTNES=20 ZS="N" THEN CLS : GO TO 9350
9060 DIM AS(6,20,WIDTH) 9330 CLS : PRINT FLASH 1;AT 10,
9070 CLS 10;"PLEASE WAIT!": FOR 0=1 TO PA
9080 LET A=INT (WIDTH/8J-2: PR IN GES: FOR N=1 TO LINES: FOR M=8 T
T AT 5 , 5 ! "ENTER THE: NAMES OF-'. O WIDTH STEP 8: LET AS(O,N,M)="!
' ' ; T A B 5;"UP TO " ; A ; " COl UMN TIT ": NEXT M: IF <O-1)*20+N=W THEN
LES" CLS : GO TO 9350
9090 PRINT AT 10,3? "EACH TI TIF I 9340 NEXT N! NEXT O: CLS
S LIMITED TO A " ? * ' ; : PRINT ;TAB 9350 LET SS="
3;"MAXIMUM OF 7 CHARACTERS'" 9360 FOR N=1 TO (WIDTH-8) STEP 8
9100 PRINT AT 15,0;"INPUT S WHEN : LET ss=ss+": NEXT N:
YOU HAVE ENTERED ALL THE COLU LET SS=SS+"!"
MN TITLES REOUIRED. " 9370 LET R=0
9110 PRINT AT 20,0;"PRESS ENTER 9380 LET US="": FOR N=1 TO 32: t
FOR A BLANK TITLE ET US=US+" ": NEXT N
9120 FOR N=9 TO WIDTH-8 STEP 8: 9400 LET RS="
PRINT INVERSE 1;AT 0,0;"ENTRY " 9410 FOR N=1 TO (WIDTH-8) STEP 8
;INT ( N - l ) / 8 : LET RS = R S + " ! ": NEXT N:
9 130 GO SUB 9460 LET R$=RS+"{"
9140 IF ZS="S" OR ZS="S" THFN L 9420 LET TS="
ET WIDTH = N+7: GO TO 9 170 9430 FOR N=1 TO (WIDTH-9): LET T
9150 LET AS(VAST,1,N TO (N+6>)=Z S = T S + : NEXT N
S 9440 RETURN
9160 NEXT N 9450 REM : GO SUB
9170 LET AS(VAST,1,N TO <N+6))=" 9460 INPUT LINE ZS: IF LEN ZS>7
TOTALS" THEN PRINT FLASH 1;AT 2 0 , 0 ; " I
9180 CLS *. PRINT AT 7 , 5 ; "ENTER T NCORRECT! RE-ENTER!": PAUSE 50:
HE NAMES O F : - " ; ' ' ; T A B 5;"UP TO 9 PRINT AT 20,0;"
9 LINE TITLES" ' ": GO TO 9460
9190 PRINT AT 13,3;"EACH TITLE 1 9470 RETURN

92 ZX COMPUTING FEBRUARY/MARCH 1986 92


IPECTRUM DOMESTIC!

CHRS 27;CHRS 27;CHRS 69


£*«#S£S 3110 IF INKEYS="5" THEN LPRINT
IM 85 I0UL
1
MLS mm fonts SUHW TOTALS CHRS 27;CHRS 27;CHRS 52
1 2.6 5 1.80 4.451 3120 IF INKEYS="6" THEN LET R=1
1 0\
SiftI 1 : CLS
1 0)
1
9.54 1.44 3130 IF INKEYS="7" THEN GO SUB
2<uoi
1
6.12 1.00 Ik .62!
1 01 3320
1
1
1 12.54 12.54', 3140 IF INKEYS="8" THEN LPRINT
8 1
1 0!
9 1 0! CHRS 2 7 J CHRS 27JCHRS 71
1
SIM 10 1 0\ 3150 IF INKEYS="9" THEN GO SUB
1
11 1
1 0\
3380
12 4.25 9.62 .90 13.77',
11 21.651 3160 IF INKEYS="M" THEN RETURN
1

»
14 J
1
1.21 1.2l\
15 0\ 3170 GO TO 3030
16.44ii 5.00 2.96 5.0% 11.41 3180 CLS : PRINT »0}AT 0,0; INVE
SttH i
i
IS i o: RSE L;"SET PAPER POSITION FE PRES
t
19 *i 4.61 1.91 6.54: ENTER": PAUSE 0
20 <i 01
S
3190 INPUT ; INVERSE 1|"INPUT ""
2.45 .90 1.15!
ii 10.35j 12.15 12.7: TITLE"" OR " " E N T E R " J Z S
21 i 1.12 1.12\ 3200 LPRINT ;AT 0,8;ZS: LPRINT
SDH 24 5.79 4.56 10.15'.
1 0\
25 i
1 3210 LPRINT ;AS(VAST,1,1 TO WIDT
26 0\
H)
27 1S.44\
1
2.45 1.65 22.54'.
i 0\ 3220 FOR M= 1 TO PAGES*. FOR N=1 T
3? 1
2.45 .98 L'i
JO O LINES
StfH 11 0\ 3230 IF LEN TS>=WIDTH AND M=1 AN
WHS 99.m 50.11 15.12 11.97 7.15 205.95',
D N=1 AND R=1 THEN LPRINT ;TS(1
TO WIDTH)
3235 IF LEN TS<WIDTH AND M=1 AND
N=1 AND R=1 THEN LPRINT }TS
3740 IF R=L THEN LPRINT »SS(1 T
O WIDTH)
3250 LPRINT ;AS(M,N,1 TO WIDTH)
Program 2. Kempston E inter-face code
3260 IF R=1 THEN LPRINT ;RS(1 T
to replace main program lines
O WIDTH)
30005REM PRINTER C O D E S 3270 IF ((M-1)*20)+N=W THEN GO
3 0 1 0 CLS : TO 3290
3 0 2 0 COPY I REM /I 3280 NEXT N: NEXT M
3 0 3 0 POKE 23679,WIDTH 3290 LET R=0
3 0 4 0 PRINT ; INVERSE 1}AT 0,19;" 3300 LPRINT CHRS 27»CHRS 27;CHRS
PRINTER CODES" 64
3 0 5 0 PRINT ;AT 0,0;"(1) COMPRES 3310 RETURN
SED";'*;"(2) ENLARGED"J'';"(3) 3330 INPUT ; INVERSE 1;"NUMBER O
SUBSCRIPT";'*;"(4) IMPRESSED"; F CHARACTER SPACES FOR MARGIN
* *;"<5) I T A L I C S " ; ' ' ; " < 6 ) BOXED •»z
• ; ' * ; " ( 7 ) SET LEFT MARGIN " ; * ' ; 3340 COPY : REM CHRS 0
"(8) DOUBLE S T R I K E " ; * * ; " ( 9 ) LI 3350 LPRINT CHRS 27;CHRS 77|CHRS
NE SPACING";*';"(P) LLPRINT DAT Z
A " ; * * ; " < M) MAIN MENU" 3360 COPY : REM CHRS 1
3060 PRINT ;AT 2F19J INVERSE 15" 3370 RETURN
ENTER NUMBER";AT 3 , 1 9 ; " REQUIR 3380 PRINT AT 10,0J INVERSE 1J"N
ED. •: PAUSE 0T IF INKEYS="P" T UMBER PIXELS FOR LINE SPACING E
HEN GO TO 3180 NTER: 8 = NORMAL: 6 » SUBSCRIPT4
3070 IF INKEYS="1" THEN LPRINT = COMPRESSED SUBSCRIPT
CHRS 27;CHRS 15 : INPUT Z
3080 IF INKEYS="2" THEN LPRINT 3390 COPY : REM CHRS 0
CHRS 27;CHRS 27;CHRS 87 3400 LPRINT CHRS 27;CHRS 65;CHRS
3090 IF INKEYS="3" THEN LPRINT Z
CHRS 27;CHRS 2 7 J CHRS 83 3410 COPY : REM CHRS 1
3100 IP INKEYS="4" THEN LPRINT 3420 CLS ! RETURN

ZX COMPUTING FEBRUARY/MARCH 1986 93


US NEWS

Across the Pond


for y o u . The m o s t e f f i c i e n t com-
pany I have discovered to date
also has the m o s t extensive
catalogue I have y e t seen. T o
make m a t t e r s even better, their
by Mark L. Fendrick prices are q u i t e l o w , w h i l e the
quality of their service is quite
high. O n any order I have placed
w i t h t h e m , I have received m y
tapes w i t h i n t e n days. (I have
It has been more t h a n a year and C e n t r e Hall, PA 1 6 8 2 8 ; ( 8 1 4 ) UK sources o f t e n had t o w a i t longer for pro-
a half since Timex left 3 6 4 - 1 3 2 5 ) . Unlike the E M U
grams f r o m A m e r i c a n com-
t h o u s a n d s of us in the lurch, but emulator, this d e v i c e gets per- W i t h all these e m u l a t o r s n o w panies). W r i t e t o S p e e d y s o f t
as y o u c a n see, w e h a v e n ' t m a n e n t l y installed inside y o u r available, US o w n e r s needed a ( 3 7 C h u r c h Road, London
disappeared or ' g i v e n up the c o m p u t e r , and is m a n i p u l a t e d source for S p e c t r u m h a r d w a r e S W 1 3 9 H Q , England) lor your
c h i p ' . This past year has seen by w a y of a m a g n e t i c s w i t c h a n d s o f t w a r e . M a n y of t h e c o p y of their large catalogue.
m a n y n e w p r o d u c t s appear for w h i c h s i t s o n t o p of t h e dealers w h o sell these e m u l a t o r s
our c o m p u t e r s . M a n y of these keyboard. This does require are s t o c k i n g up on p r o g r a m s and
are f r o m the U n i t e d K i n g d o m ,
w h e r e t h e S p e c t r u m (and Spec-
o p e n i n g of the c o m p u t e r , b u t is
q u i t e simple t o install, a l t h o u g h
add-ons f r o m the United Mass storage
Kingdom. Among these,
t r u m + ) is still a popular micro- m o s t d e a l e r s w h o sell t h i s a l t h o u g h by no m e a n s limited to In 1 9 8 4 the m o s t eagerly an-
computer. A few hardware d e v i c e also provide Uor a small these v e n d o r s alone, are Curry t i c i p a t e d release w a s the
items have appeared as well, fee) installation service. A s I ex- C o m p u t e r , D a m c o Enterprises, m o d e m for the T / S 2 0 6 8 . and
s o m e d e v e l o p e d specifically for plained in m y earlier r e v i e w of Zebra S y s t e m s ( 7 8 - 0 6 J a m a i c a then the S m a r t II s o f t w a r e t o ac
the T i m e x a d a p t a t i o n s in addi- the R O M S W I T C H , h o w e v e r , t h e A v e n u e , W o o d h a v e n , N e w York c o m p a n y it. In 1 9 8 5 the prize
tion t o m o d i f i e d S p e c t r u m c o m - installation requires no c u t t i n g 1 1 4 2 1 ; ( 7 1 8 ) 2 9 6 - 2 3 8 5 ) , and w a s mass storage devices. A s
patibles. or drilling, is a c c o m p l i s h e d using t h e English M i c r o C o n n e c t i o n a d v a n c e d as the T / S 2 0 6 8 is, it
S o m e of the m o s t i m p o r t a n t nothing more than a screw- ( 1 5 Kilburn C o u r t , N e w p o r t , Rl is h a n d i c a p p e d by the necessity
add-ons w h i c h b e c a m e q u i t e driver, and is simple e n o u g h t o 0 2 8 4 0 ; ( 4 0 1 ) 8 4 9 - 3 8 0 5 ) . The of using a cassette based mass
popular in the last year w e r e f o l l o w the i n s t r u c t i o n s and run English Micro Connection storage s y s t e m s l o w and
those devices w h i c h enabled the S p e c t r u m sof t w a r e in a b o u t f ive handles both Spectrum soft- c l u m s y — w i t h no m e t h o d of
Timex/Sinclair 2 0 6 8 to run minutes. w a r e as w e l l as selling the Spec a u t o m a t i c a l l y turning the
Sinclair ZX S p e c t r u m s o f t w a r e . But, if y o u w a n t e d t o use any t r u m + along w i t h all of the cassette player on or o f f . One of
Unlike the situation here in the of t h e S p e c t r u m h a r d w a r e popular add-ons. (You may the features w h i c h d r e w m a n y
States, literally t h o u s a n d s of peripherals, a S p e c t r u m R O M is w a n t t o k e e p in m i n d t h a t of us t o the T / S 2 0 6 8 in the first
titles exist for the S p e c t r u m in not e n o u g h . W h e n Timex releas- a l t h o u g h t h e r e are d e v i c e s place w a s t h e promise of m i c r o
Europe and other parts of the ed the T / S 2 0 6 8 , for s o m e w h i c h allow y o u to use b o t h drives such as those available
w o r l d . Until n o w a g o o d p o r t i o n reason t h e y r e c o n f i g u r e d t h e ex- Timex and Sinclair s o f t w a r e and for the ZX S p e c t r u m . Of course,
of the available S p e c t r u m s o f t pansion bus and r e m o v e d the h a r d w a r e on your T / S 2 0 6 8 . Timex abandoned us before
w a r e w o u l d n o t w o r k due to dif- 9 V p o w e r w h i c h is present on there is n o device w h i c h a l l o w s t h e y b r o u g h t it to market, so
ferences in the t w o o p e r a t i n g the S p e c t r u m bus. Because of the opposite transformation. third party designers s t e p p e d in
systems. (Some software writ this, a d d - o n s d e v e l o p e d for t h e O w n i n g a S p e c t r u m eliminates and t o o k up t h e slack, U n l i k e t h e
t e n in BASIC w o u l d load a n d S p e c t r u m are inoperable on a t h e possibility of using m o s t pro- m o d e m , w h i c h w a s already
run, but the majority of t h e best T / S 2 0 6 8 . This t o o has been d u c t s designed for the T/S designed and ready for release,
programs contain varying r e m e d i e d in 1 9 8 5 w i t h t h e 2068.) One company, independent developers had t o
degrees of m a c h i n e c o d e and d o Z-link. This device, w h e n at- h o w e v e r , continues to take w o r k f r o m s c r a t c h t o m e e t the
not work on the A m e r i c a n t a c h e d to a T / S 2 0 6 8 c o n t a i n i n g s o m e of t h e m o s t popular Spec- need. Today the Sinclair o w n e r
machine.) an e m u l a t o r of one sort or the t r u m s o f t w a r e and m o d i f y it t o is in a p o s i t i o n q u i t e unfamiliar in
other, reconfigures the Timex w o r k o n t h e T / S 2 0 6 8 , o f t e n ad t h e p a s t , a n d a c h o i c e of
bus w h i l e adding the 9 V re ding the ability t o utilize m a n y of s y s t e m s is available f r o m w h i c h
quired t o run m a n y S p e c t r u m the T i m e x ' s a d v a n c e d features, t o choose. T h o s e w h o w a n t a
ROM and EMU designed add-ons. A m o n g the s u c h as j o y s t i c k control. t r a d i t i o n a l disk d r i v e s y s t e m
dealers o f f e r i n g the Z-link are Knighted Computers (707 have at least t w o f r o m w h i c h t o
The E M U series of S p e c t r u m
T.E.J, C o m p u t e r Services ( 8 5 9 H i g h l a n d S t r e e t , F u l t o n , NY choose. A E R C O (Box 1 8 9 3 0 ,
e m u l a t o r s w e r e the first of these
N. Virgil A v e n u e , Los A n g e l e s 1 3 0 6 9 ; ( 3 1 5 ) 5 9 3 - 8 2 1 9 ) has Austin, Texas 7 8 7 6 0 ; ( 5 1 2 )
devices t o appear on t h e m a r k e t
C A 9 0 0 2 9 ; ( 2 1 3 ) 6 6 5 - 5 1 1 1) o b t a i n e d rights t o translate all of 4 5 1 - 5 8 7 4 ) , w h i c h has been
developed by Douglas D e w e y
and Curry C o m p u t e r ( 5 3 4 4 W Q u i c k s i l v a ' s S p e c t r u m line. In p r o d u c i n g interfaces for the
of the Triangle Sinclair Users
Banff, Glendale, AZ ( 6 0 2 ) addition t o the m a n y fine g a m e s Sinclair c o m p u t e r s since almost
G r o u p ( 2 0 6 J a m e s Street, Carr
978-2902). ( s u c h as F i g h t e r P i l o t — the beginning, has finally releas-
boro, NC 2 7 5 1 0 ) . For t h o s e of
m o d i f i e d t o use the Timex ed its long a d v e r t i s e d disk drive
you unfamiliar with this For t h o s e w h o w a n t b o t h the j o y s t i c k port) K n i g h t e d C o m - s y s t e m . A s e c o n d s y s t e m has
e m u l a t o r , it is a circuit board S p e c t r u m s o f t w a r e and hard- puters also has m a n y fine been developed and m a r k e t e d
w h i c h is inserted into the Com- w a r e e m u l a t i o n in o n e device, serious applications s o f t w a r e as by Ramex International (1 7 6 2 0
m a n d Cartridge port a n d replace D a m c o Enterprises ( 6 7 Bradley well. 2 6 Mile Road, W a s h i n g t o n ,
the standard T/S 2068 C t , Fall River, M a s s . 0 2 7 2 0 ;
Michigan; (313) 7 8 1 - 5 8 0 0 ) .
operating system with a ( 6 1 7 ) 6 7 8 - 2 1 1 0 ) has m a r k e t e d One of the best, and m o s t in- T o c o m p a r e s y s t e m specifica
pseudo-Spectrum operating a d e v i c e w h i c h they call the e x p e n s i v e w a y s of g e t t i n g tions w r i t e to b o t h c o m p a n i e s
s y s t e m . Using this device, the R a i n b o w Plus interface. This in- British s o f t w a r e is f r o m the and request more i n f o r m a t i o n .
vast a s s o r t m e n t of S p e c t r u m t e r f a c e c o n t a i n s b o t h features dealers in England t h e m s e l v e s .
s o f t w a r e , w h i c h w a s previously necessary t o run S p e c t r u m soft The dollar is still q u i t e s t r o n g as A l s o n o w a v a i l a b l e is a
unable t o operate o n a T / S 2 0 6 8 w a r e as well as t o a t t a c h Spec c o m p a r e d to the British pound, m i c r o d r i v e for the T / S 2 0 6 8 .
will w o r k just fine. t r u m h a r d w a r e al) in a single cas- and usually this results in the A l t h o u g h this is not the s y s t e m
A second emulator w h i c h ed device. The T i m e x C o m m a n d price being l o w e r w h e n ordering p r o m i s e d by T i m e x , it is f r o m a
became available t h r o u g h m a n y Cartridge port is available for direct. M a n y British dealers ac- c o m p a n y w h i c h has been in-
Sinclair d i s t r i b u t o r s t h i s year, t h o s e f e w C o m m a n d Cartridges cept M a s t e r C a r d and/or Visa v o l v e d w i t h the T i m e x c o m p u t e r
was the ROMSWITCH, w h i c h w e r e made available, and w h i c h m a k e s the handling of the f r o m the t i m e w h e n the T / S
developed by G. Russell Elec- a l l o w s s w i t c h i n g beck and f o r t h e x c h a n g e of c u r r e n c y q u i t e sim- 1 0 0 0 w a s the only m i c r o in the
t r o n i c s ( R . D , 1, B o x 5 3 9 , b e t w e e n modes. ple as the bank handles all of that line. The A & J M i c r o d r i v e Com-

94 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
pany ( 1 0 5 0 East Duane is a great item for user groups as
A v e n u e , Suite 1, S u n n y v a l e , C A q u a n t i t y d i s c o u n t s are available.
9 4 0 8 6 ; ( 4 0 8 1 7 3 2 9 2 9 2 1 first They w o u l d make fine presents
developed a microdrive w i t h in too. (Personal note to m y w i f e ,
t e r f a c e for the T S 1 0 0 0 , a n d kids, p a r e n t s or w h o e v e r I
w h e n the T . S 2 0 6 8 c a m e o n t o w o u l d n ' t m i n d g e t t i n g one!)
the m a r k e t p l a c e t h e y r e s p o n d e d Remember t h a i a n y t h i n g still
w i t h the c o m p a t i b l e model available for the T / S 1 0 0 0 will
Utilizing a stringy f l o p p y w a f e r w o r k on the Z X 8 1 .
w h i c h measures one a n d three Before w e leave the topic of
quarter inches by t w o and one graphics, I w o u l d like t o remind
half inches by one quarter of an y o u about three fine programs.
i n c h , their o p e r a t i n g s y s t e m Both Multi-Draw (Knighted
c o m e s on an EPROM w h i c h re C o m p u t e r s ) and D r a w II (Peech
quires very simple additions to II) are m u l t i - f e a t u r e d graphics
the L O A D and S A V E s t a t e m e n t s p r o g r a m s w h i c h p r o d u c e ex-
to a c t i v a t e the m i c r o drive. W i t h cellent results. A n e w entry in
m u c h increased speed, and the field is Pixel S k e t c h and
a u t o m a t i c o n / o f f under s o f t G r a p h i c s Editor f r o m L e m k e
w a r e c o n t r o l , this reasonably Software Development ( 2 1 4 4
priced s y s t e m solves m a n y of W h i t e Oak, W i c h i t a , KS 6 7 2 0 7 ;
the p r o b l e m s of the original (316) 6 8 7 0 3 1 5 ) . I am now
c a s s e t t e based m o d e . To m a k e p u t t i n g this p r o g r a m to a full test
this p a c k a g e e v e n m o r e attrac but in the m e a n w h i l e you m a y
tive, the A & J i n t e r f a c e a l l o w s w a n t to w r i t e t o Lemke Soft
use of the c a s s e t t e port, and w a r e fo their full catalogue.
contains a parallel printer inter-
There are still m a n y p r o d u c t s
face.
w h i c h I have simply not had a
A final mass storage s y s t e m , c h a n c e t o fully test yet, w h i c h
believe it or not, is f r o m Timex will be t o p i c s in f u t u r e c o l u m n s ,
C o m p u t e r C o r p o r a t i o n ! No, not One of the m o s t interesting cur
the g r o u p f o r m e r l y headed by rently on m y desk is f r o m G.
Dan Ross in W a t e r b u r y , Con- Russell Electronics. It is an ex
n e t i c u t , but by T i m e x of Por perimental p r o g r a m for the T / S
tugal. Zebra S y s t e m s has signed 1 0 0 0 (and T S 1 5 0 0 and Z X 8 1
an a g r e e m e n t w i t h Timex of Por of c o u r s e ) t o c r e a t e m u l t i -
tugal t o i m p o r t the TC 2 0 6 8 c o l o u r e d graphic scenes on your
s y s t e m t o this c o u n t r y . This is a black and w h i t e T V w i t h no
T S 2 0 6 8 look-alike w i t h an h a r d w a r e c h a n g e s or additions
A m e r i c a n R O M and a S p e c t r u m other t h a n an optical screen
c o m p a t i b l e e x p a n s i o n bus. The w h i c h goes over your TV
c o m p u t e r also c o m e s w i t h a screen. You are s u p p o s e d to be
S p e c t r u m emulator I w h i c h does able to paint in 9 colours in-
not w o r k w i t h the T / S 2 0 6 8 ) c l u d i n g various shades of red,
giving this c o m p u t e r , nick- blue, y e l l o w , black and w h i t e , I
named the Silver A v e n g e r , the f i n e p r o g r a m s t o a s s i s t in available for the kids to color us- a m q u i t e a n x i o u s t o try this (got
best of b o t h machines. Design c r e a t i n g the speech y o u require ing the simple m e n u provided. ta find a black and w h i t e set) and
ed as part of this s y s t e m is a f r o m your speech synthesizer. Unlike traditional coloring will report t o y o u a s s o o n as I d o .
m a t c h i n g 3 Yi inch disk interface The p h o n e m e editor helps y o u to books, a child c a n ' u n d r a w '
create the phoneme strings I w a s saddened to hear, as I
and drive. Zebra S y s t e m s has a n y t h i n g , and the picture c a n
utilized by the device, and add prepared to w r i t e this m o n t h ' s
made this disk s y s t e m available, a l w a y s be restored to its original
t h e m to your o w n p r o g r a m s . column, that H a w g Wild Soft
not only for the TC 2 0 6 8 , but u n c o l o u r e d c o n d i t i o n s i m p l y by
The Text to-Speech s o f t w a r e w a r e w a s t h r o w i n g in the t o w e l
for the T S 2 0 6 8 as well. reloading the s o f t w a r e . A se-
( w h i c h y o u can merge w i t h any and going o u t of business. Your
cond program Tech Draw
p r o g r a m y o u have, or write) presence shall be m i s s e d Gary.
c o m e s w i t h features s u c h as
Y o u may also w a n t to w r i t e
Zebra a l l o w s y o u t o t y p e in t e x t , w h i c h various textured shadings,
t o the f o l l o w i n g c o m p a n i e s for
automatically gets converted brush strokes, selectable input
While w e are on the subject and sent to the ZebraTalker. and o u t p u t (to a T / S 2 0 4 0 copies of their Sinclair related
of Zebra S y s t e m s , y o u w o u l d N o t h i n g c o u l d be simpler. printer or a full size printer in t w o catalogues:
certainly w a n t to w r i t e for their The Zebra Graphics Tablet is sizes) on c o n v e n i e n t pull d o w n
catalogue, c u r r e n t l y the largest an interface designed t o con- m e n u s . Of course y o u m a y save E. A r t h u r B r o w n C o m p a n y ,
Timex/Sinclair c a t a l o g u e around nect a supplied Koala Graphics any of your creations. 3 4 0 4 P a w n e e Drive, Alexandria
One of the reasons for this is that Tablet to your T / S 2 0 6 8 . The MN 5 6 3 0 8 , (612) 7 6 2 - 8 8 4 7 .
Zebra still actively s u p p o r t s the s o f t w a r e p r o v i d e d a l l o w s y o u to D.I.Y.
Timex line; c a r r y i n g m o s t of ' d r a w ' on the tablet w i t h a H e a t h C o m p u t e r Services, 9 5 0
w h a t is available f r o m other s t y l u s (included) and have t h a t A n y of y o u w h o regret miss- E a s t - 5 2 S o u t h , G r e e n t o w n , IN
sources as w e l l as c o n t i n u i n g t o ' d r a w i n g ' transferred to your T V ing the time, in 1 9 8 1 / 2 , w h e n 4 6 9 3 6 , (317) 6 2 8 - 3 1 3 0 .
produce n e w p r o d u c t s of their or monitor screen. C o p i e s c a n b e Sinclair o f f e r e d the Z X 8 1 as a
o w n for our machines. Last year sent t o your T / S 2 0 4 0 printer if do-it-yourself kit, here is your T w e n t y f i r s t C e n t u r y Elec-
t h e y released t w o e x c e l l e n t y o u desire. T w o n e w releases second chance. Both Zebra tronics. 6 8 1 3 Polk Street, Gut-
hardware developments the also w o r k w i t h your Zebra S y s t e m s and Sunset Electronics tenberg. NJ 0 7 0 9 3 , (201)
ZebraTalker II and the Zebra Graphics Tablet Coloring ( 2 2 5 4 Taraval Street, San Fran- 869-2616.
Graphics Pad for the T S Book and T e c h - D r a w . Coloring c i s c o , C A 9 4 11 6 ; (4 1 5)
2 0 6 8 . T h e y b a c k e d u p these Book is terrific for the children 6 6 5 - 6 1 6 1 ) are n o w o f f e r i n g A n y dealers that I missed please
p r o d u c t s w i t h s o m e excellent w h o are a l w a y s around w a n t i n g the kit once again. They c o m e accept m y apologies, and send
s o f t w a r e to go w i t h both. to use your c o m p u t e r . A n u m b e r w i t h all parts and instructions as me a c o p y of your current cata
ZebraTalker II c o m e s w i t h t w o of pre d r a w n circus scenes are well as a limited w a r r a n t y . This logue.

ZX
95 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
r
LANGUAGES

Glance by A . D e n n i n g and
published by C h a p m a n and Hall.
The manual c o v e r s the usage
of all the p r o g r a m s and gives in
detail the f e w departures f r o m
the standard. The portable
library is likewise explained in
detail. S o m e of the library pro
g r a m s are c o n c e r n e d w i t h
m e m o r y allocations, s o m e are
we take a close look at Metacomco's I/O routines and finally, there are
a set of M a c r o s for general file,
version of the C language. string and m a t h e m a t i c a l opera-
tions.
The Editor is a joy t o use. it
can be s o o n m a s t e r e d and enter-
ing p r o g r a m s and routines is
This is a package designed for simplicity itself. H o w e v e r , using
the professional C p r o g r a m m e r , the compiler is a fairly lengthy
but is also user friendly e n o u g h business and needs to be ap-
t o be considered by the h o m e p r o a c h e d carefully and step by
user. As can be e x p e c t e d for step. Experienced p r o g r a m m e r s
such a specialist program, the w i l l not find any problems but
cost is high at C 9 9 . 9 5 , but for the n o v i c e m a y find it c o n f u s i n g .
this y o u get a plug in EPROM O n c e the p r o g r a m or suite of
c o n t a i n i n g part of Q I C , t w o car routines has been created o n t o
tridges w i t h the compiler phases tape or disk t h e n the first part oft
1 and 2 . and a third cartridge the compiler is used. This com-
w i t h the Screen Editor, C run piles the source programs into
time s y s t e m and the linker. Also an i n t e r m e d i a t e c o d e ready for
i n c l u d e d is a 2 0 0 + p a g e use by the s e c o n d part of the
manual. Before looking at the compiler. Finally the object code
package in d e p t h it m a y be is linked t o any other routines
w o r t h w h i l e l o o k i n g at the and the c o m p l e t e d p r o g r a m may
language. be saved.

The C Language Opinion


A l t h o u g h M e t a c o m c o say C is a
This m u s t be the definitive C
high level language it is generally
compiler for the QL. E v e r y t h i n g
considered to be a m e d i u m level
is p r o v i d e d for the e x p e r i e n c e d
one and w a s d e s i g n e d for
p r o g r a m m e r , and it they are
general purpose applications o n c o m p e t e n t in C they will find it
the UNIX o p e r a t i n g s y s t e m by easy t o use this well produced
Dennis Ritchie. This language version. I e n t e r e d the sample
has several advantages. For a p r o g r a m s supplied and also a
start it is a c o m p i l e d language c o u p l e of o t h e r s t h a t I had
w h i c h means that the final code developed on the S p e c t r u m and
is in the m a c h i n e language of the all c o m p i l e d a n d o p e r a t e d
processor and so will p e r f o r m at w i t h o u t any p r o b l e m . It seemed
very high speed. Secondly, it too g o o d t o be true!
has excellent data s t r u c t u r e s
For n o v i c e s or those w i s h i n g
a n d fairly s t r u c t u r e d c o n t r o l
and Q D O S f u n c t i o n s , fu are a risky media lor storing s u c h to learn it c o u l d be looked at as
f l o w . Portability is a major ad- an expensive program. Backup an i n v e s t m e n t , if y o u approach
floating point arithmetic,
vantage of the language, a pro- t a p e s are e s s e n t i a l , and it seriously t h e n all the features
M a c r o s and e x t e n s i v e error trap
g r a m w r i t t e n in C for the Hisoft preferably a disk drive for max you could ever w a n t are provid
ping and messages.
D compiler for the S p e c t r u m will i m u m security. I used a 4 0 track ed.
The screen editor is the main
w o r k on any other C compiler, w i t h the T e c h n o l o g y Research
unit for creating C routines and The price makes it prohibitive
p r o v i d i n g , of c o u r s e , no interface and I have not had any
is very flexible, w i t h a large set for the h o m e dabbler and y o u
m a c h i n e specific code has been problems w i t h my copies,
of c u r s o r a n d e d i t i n g c o m - m u s t be certain that y o u will be
used. a l t h o u g h M e t a c o m c o are slack
m a n d s , user defined w i n d o w s intending t o get full value out of
Due to this portability a large in not p r o v i d i n g any built in
and the ability t o run multiple the p r o g r a m . It is perhaps wise
library of general f u n c t i o n s are b a c k u p routines. Users at this
versions. The linker will take the to buy a t e a c h i n g book t o study
available w h i c h saves having t o level are unlikely t o possess
files c r e a t e d by the editor and before investing in this p r o g r a m
program many routines similar quality e q u i p m e n t . M o s t
the library and link t h e m (you'll need it a n y w a y ) .
yourself. C has m a n y f o l l o w e r s i m p o r t a n t l y , even t h o u g h the
t o g e t h e r before c o m p i l a t i o n into Finally y e t a n o t h e r m o a n
w h o are ardent fans, but to be m a n u a l is a w e l l w r i t t e n and
the final p r o g r a m code. about the microdrives. I k n o w it
fair, it also has its critics. l e n g t h y t o m e , it is a ' f u n c t i o n a l isn't M e t a c o m c o ' s f a u l t , but
d e s c r i p t i o n ' o n l y a n d no
In Use t e a c h i n g ot the C language is
after m a k i n g only one b a c k u p
Metacomco's c u n d e r t a k e n . Users are a s s u m e d
c o p y one of the tapes failed. A
OK, so far all this c o u l d be glean- f r u s t r a t i n g and expensive pro-
to be proficient and if not they
This is a full version w h i c h is as ed f r o m the press release and blem.
are directed to the 'C' bible, The
c o m p a t i b l e w i t h the original as is a d v e r t i s i n g claims of M e t a c o m -
C Programming Language by
possible. Designed by Lattice, it c o , n o w w e c o m e to the acid QL C p r i c e d £ 9 9 . 9 5 is
B . W . Kernighan and D M . Rit
is based in their tried and t e s t e d test. Using it. available f r o m M e t a c o m c o , 2 6
chie and published by Prentice
8 0 8 6 8 8 C c o m p i l e r s and in For a start, and M e t a c o m c c Portland Square, Bristol
Hall. A n alternative is C at a
eludes a large library of UNIX a d m i t this, the m i c r o d r i v e tapes BS2 8RZ.

96 ZX COMPUTING FEBRUARY MARCH 1 9 8 6


Quicksort
Clive Smith tests his skill and strategy in
this software selection.
damage will add to your head
Waterloo Rothmans Football aches.
M.C. Lothlorien Quick Quiz A s a motorbike fanatic I loved
£9.95 cassell Ltd this game and I suppose you had
better take that into account
£8.95 w h e n looking at my rating, I find
Ever since I saw Rod Steiger
storming around as Napoleon the arcade simulations of motor-
Here is a 'just for fun' quiz, no cycle racing unsatisfying but the
I've been interested in this bat tie in w i t h famous personalities
tie. Unltke most w a r g a m e s for program seemed to produce all
or T V s h o w s , no o f f e r s of the atmosphere and excitement
the computer you do not c o m fabulous prizes, in fact the w o r s t
mand the British side or the of the track, I felt sorry for the
that it could be accused of is the unsung managers of the teams
historical winners, yep, you get plug for Rothmans.
lumbered w i t h being Napoleon. after playing this.
For fans of the art of spherical
A l t h o u g h cast as the under- dexterity this is a challenging
dogs, a f e w liberties have been OVERALL * * * * *
test the knowledge, 1 8 sets of
taken in order to enhance the questions totalling 1 0 0 0 ques-
p a y a b i l i t y of the game, the tions in all, and covering every Strongman
French army has been increased
to five corps of infantry instead
aspect from general, to trivia Martech
of four, and the Prussian army
and non league football.
£7.95
The quiz is well presented,
will arrive earlier than in reality to 321 Family Quiz giving three variations in play
make your task a little more dif Oh no, I thought, my T A C 2 'in-
ficult. Purists may not approve. TBD format, Assigned, Three in a destructable' joystick had just
The game is played by means £9.95 Row and the Race. A full quiz
can be played w h i c h involves a
snapped whilst playing
of g r a p h i c s a n d single key Supertest, and I c o u l d n ' t a f f o r d
combination of all three.
presses f o r m a series of option Everything is t h r o w n into this to get another to test a similar
blatant a t t e m p t at exploiting Not a lot t o add, except that it game.
menus. This allows for an unex- is a good example of h o w the
pected variety of actions to be Y T V ' s (inexplicably) successful Well, there is an interesting
s h o w . Ted Rogers narrates the quiz can be implemented on a option in this game. The in-
taken quickly and easily. computer and it is a must for
instructions i>nd presents each famous left/right action only has
The playing area w a s a little football fanatics.
section on the tape, and a wide to be done at the start of the
small and al first I w a s confused
range of prizes f r o m toy Dusty game to set the overall strength
due t o the booklet map being OVERALL * * * *
Bins to a seven day holiday in w h i c h is split b e t w e e n each
printed w i t h the French army at
Spam is up for grabs. muscle, thereafter it becomes a
the b o t t o m and the English at
the top, but onscreen the map is The program is in three sec- Endurance matter of strategy in assigning
tions and will operate on all the amount of power and effort
rotated 9 0 degrees clockwise. I
spent quite a while trying to Spectrums including the f e w CRL each muscle puts into each task.
move the w r o n g army. 1 6K versions still in existence, £7.95 Fortunately for me, the 'train-
Once I began to play properly no source of possible sales has ing session' of building up your
I soon mastered the first, and been overlooked! Beware! From the picture on the strength can be bypassed and a
easiest, of the three levels and Section one is the quiz part cover you may think that this is random amount of strength is
achieved a decisive victory on and three families take turns in an arcade game — not so. This is allocated. The tasks are Truck
my second play. For w h a t ap answering general knowledge in fact a strategy and tactical Pull, Log Chop, Barrel Loading,
pears a simple, s l o w , intellectual questions by pressing True or g a m e par excellence, if this Car Roll, Fairground Bell, Sumo
exercise I found it unaccoun- False. Section t w o is a simple ar game is bought by mistake then Wrestling.
tably gripping and addictive. cade s e q u e n c e a n d s e c t i o n it m a y w e l l c o n v e r t a f e w During each event some ac-
Not tonight Josephine, I ' m three is a lucky dip, w i t h not hardened arcade addicts. tion, timing the pressing of the
going t o have another w h a c k at even the c o n v o l u t e d clues of the One to six players can com- fire button etc, is required and I
Wellington. original TV program to 'help'. pete and the keys are w a s not going to get out of the
Fans of 3 2 1 will possibly find r e d e f m a b l e or a K e m p s t o n L R action that easily, for Barrel
OVERALL * * * * something of interest here and joystick can be used. Games Loading and Fairground Bell w e
1 so might avaricious individuals, may be saved t o tape t o allow were back t o it and the keyboard
was although it is w o r t h pointing out
t h a t e v e n if y o u a c h i e v e
you to continue w i t h a game
later on.
had to suffer for the sake of this
review.
everything possible you do not The first stage is in selecting M a r t e c h have tried to do
get the prize but only an entry in the bike c o m p o n e n t s and the something a bit different and
the 'Grand D r a w ' for these riders, this is done by choosing have succeeded on the whole,
prizes. It is realistic in that the between options displayed the graphics are not as detailed
game had the same e f f e c t on me g r a p h i c a l l y . D u r i n g the race as in some varieties of this
as the TV s h o w , I fell asleep! messages will be given and y o u game, but the slightly more
Personally I think this program can send instructions t o your varied gameplay and extra
w o u l d be better s t u f f e d into riders. Wear and tear must be thought required make up for it.
Dusty Bin! dealt w i t h as well as refuelling. W o r t h your consideration.
Unexpected problems such as
OVERALL * headlamp failure and crash OVERALL * * * *

H 1986 97
EDUCATION

Spectrum
him.
A s a basis for project w o r k
t h e s e a d v e n t u r e s h a v e been
w e l l s t r u c t u r e d and offer c o n
siderable potential. T h e y do not
c o n t a i n a w e a l t h of related sug
gestions and this m i g h t be an
area for i m p r o v e m e n t in the
f u t u r e b u t , w i t h a little t h o u g h t
and t i m e t h e y c o u l d be very
valuable additions t o y o u r Spec-
t r u m educational library.

By the t i m e y o u read this the t o g o and sell the last remaining see m a n y ideas w h i c h can be ex- Halley's Comet
n e w g o v e r n m e n t s c h e m e t o pro i t e m of value, the family c o w . t e n d e d into other areas of the
vide additional educational s o f t O n c e a c c o m p l i s h e d the a d v e n timetable and overall I felt that Finally t o s o m e t h i n g entirely dif-
w a r e s u p p o r t for schools should turer proper begins. the p r o g r a m has a great deal of ferent; Ha/ley's Comet (Your
be w e l l under w a y . This s c h e m e A s w i t h all a d v e n t u r e s e a c h potential. Language w o r k is just Own Planetarium). In v i e w of
will make n e w p r o g r a m s or the l o c a t i o n is d e s c r i b e d f o r t h e one area in w h i c h the possi- the current mania s w e e p i n g cer
equivalent m o n e y available t o player and a response is t h e n ex- bilities are almost endless. tain sections of our populace
s c h o o l s , the d i f f e r i n g pro pected. W h a t m a k e s this adven- O n the m i n u s side are a f e w this is very t i m e l y a l t h o u g h by no
cedures d e p e n d e n t u p o n the in- t u r e s o real are the v e r y at- minor points. Lots of t e x t to read m e a n s original in idea.
dividual Education A u t h o r i t i e s . m o s p h e r i c d e s c r i p t i o n s . The on a single screen, and a f e w There seems t o be a super-
If y o u are the teacher respon- children loved t h e m and w e r e in idiosyncrasies have crept into a b u n d a n c e of a s t r o n o m y pro-
sible for purchasing n e w soft- n o w a y d i s a p p o i n t e d by the lack t h e s t o r y l i n e (in t h e g i a n t ' s g r a m s at the m o m e n t , h o w e v e r
w a r e t h e n u n f o r t u n a t e l y the age of graphics. Indeed this is a plus treasure r o o m it is impossible t o this deals specifically w i t h
old problem of suitability still ex- point in that they c a n go a w a y lift a reel of t h r e a d but y o u c a n H a l l e y ' s C o m e t and after only a
ists. If y o u are lucky e n o u g h t o and recreate their o w n impres- carry a chest of treasure). Care short time in w h i c h t o look at it
have access t o a Teachers' Cen- sions of the locations and the needs t o be t a k e n t o o w h e n us- seems to be an e x t r e m e l y detail-
tre w i t h a s o f t w a r e library for characters which they meet. ing the REDESCRIBE o p t i o n , this ed program.
reference t h e n the problem is Despite the fact t h a t there are no c a n occasionally put y o u back in It is possible t o go b a c k w a r d s
not so bad. O f t e n h o w e v e r , pictures the interest is m a i n t a i n a situation f r o m w h i c h there is and f o r w a r d s in t i m e t o see t h e
w o r d of m o u t h r e c o m m e n d a t i o n ed by the t e x t and by careful use no w a y out! d i f f e r i n g s t a r planet c o n f i g u r a
or impartial r e v i e w s are the only of colour in paper and ink w h i c h For t h o s e w h o require tions for any given date. There
m e a n s by w h i c h it is possible to g o s o m e w a y to adding t o the graphics. Turtle will provide a are e x t e n s i v e o p t i o n s for v i e w
be sure of o b t a i n i n g t h e right scene description. p h o t o c o p i e d booklet of delight ing planetary m o t i o n s and star
p r o g r a m for your needs. K e y b o a r d entries are simple, fully a m u s i n g illustrations and a c h a r t s as well as being able to
using N O R T H , S O U T H , or the map. use one of the t w o p r o g r a m s as
standard verb/noun statements The n o t e s supplied provide all a c o m p u t e r equivalent of an
O r r e r y ( m o d e l of t h e solar
Classroom s u c h as GET S W O R D , GIVE
B O T T L E , or a b b r e v i a t i o n s .
the a n s w e r s for teachers
w i t h o u t t h e t i m e to g o fully system!).
Adventures S o m e t e x t is lit up t o provide t h r o u g h it together w i t h a f e w A n almost endless list of key
clues for t h e next a c t i o n . A t related ideas for further w o r k . I f u n c t i o n s puts y o u in c o m m a n d
I personally m u s t a d m i t a par- s o m e points these represent the feel that this is one area of the of y o u r o w n c o m p u t e r i s e d
ticular p r e f e r e n c e for adven- only course of a c t i o n so it is w i s e package that c o u l d have been p l a n e t a r i u m and these take a lit
tures w i t h i n the c l a s s r o o m . It is t o t a k e heed of t h e m ' more substantial for t h o s e w h o tie g e t t i n g used to. A little prac-
possible, w i t h a certain a m o u n t The children I tried this w i t h d o not have the ideas f l o w i n g tise h o w e v e r soon makes these
of guidance f r o m the teacher, or w o r k e d in g r o u p s and t o o k great f r o m their fingertips, but on the second nature.
e v e n parent if these are used at care in d e c i s i o n making, w h o l e this, in my opinion, is a The program has zoom
h o m e , to e x t e n d an a d v e n t u r e especially after their first at- w o r t h w h i l e and value-for facilities as well as being able t o
p r o g r a m into t h e basis for a t e m p t resulted in being sent to m o n e y program. A n d the verdict f o l l o w m o v e m e n t s of planets
w h o l e c u r r i c u l u m topic. bed by J a c k ' s m o t h e r for being of the children 7 'Great!' and stars in daylight. One rather
Jack in Magicland has been foolish! It w a s e n c o u r a g i n g t o silly s u g g e s t i o n is to take your
available for s o m e time n o w and see the a m o u n t of discussion
that t o o k place, even f r o m
Pirates! television outside at night to
is t h e first in a trilogy of adven- c o m p a r e your display w i t h the
tures for children aged 6 1 2. All children w h o normally took little T h e t h i r d of t h e a d v e n t u r e night s k y . N o t w i t h s t a n d i n g this
have been w r i t t e n by a Primary part in class activities. A s the trilogy. Jack and the Pirates h o w e v e r , the p r o g r a m seems
School teacher and c o m p i l e d a d v e n t u r e proceeded it b e c a m e m o v e s a w a y f r o m a fairy story v e r y c o m p e t e n t . It has a c o m
w i t h The Quill, the adventure harder and harder t o get t h e m s e t t i n g and p u t s Jack in the days prehensive duplicated booklet
w r i t i n g aid by Gilsoft. a w a y f r o m it, t h e y were of pirates and Long J o h n Silver. w h i c h is v e r y necessary t o get
O n first impressions there is d e l i g h t e d at every n e w location For m e this does not have the u s e d to all the d i f f e r e n t keys!
nothing spectacular to make and puz2le! same initial appeal or the amus- If y o u require a p r o g r a m to
y o u leap w i t h a n t i c i p a t i o n , no W o r k i n g t h r o u g h the adven- ing descriptions, but the further k e e p tabs of the C o m e t o n
loading screen and only a block ture the children discovered the children got into the c l o u d y n i g h t s t h e n this w e l l
graphic title page. H o w e v e r , t h e m a n y l o c a t i o n s and p u z z l i n g s t o r y l i n e the more possibilities w o r t h a look.
delights a w a i t w i t h i n . situations. This gave p l e n t y of b e c a m e apparent. The problems
The first a d v e n t u r e is based o p p o r t u n i t y for t h e m t o decide are more complex here and a Jack in Magicland, Jack in
u p o n the s t o r y of J a c k and the t h e necessary f o r m of com- m a p soon b e c o m e s essential. Crazy land. Jack and the Pirates.
Beanstalk and is t e x t only. I tried mands t o give the c o m p u t e r . This is a w o r t h w h i l e exercise in Spectrum 48K, €5.95 each,
this w i t h several g r o u p s of 9 - 1 0 T h e brief d u p l i c a t e d Teachers' e a c h of the a d v e n t u r e s a n d from; Turtle Software, Bridge
year olds and they f o u n d n o dif Notes suggest that the p r o g r a m again, c a n lead to a lot of f o l l o w - Street Mills, Witney, Ox on,
f i c u l t y w i t h the readability of the will encourage reading and spell- up work. 0X8 6YH.
text a l t h o u g h it w o u l d probably ing t e c h n i q u e s a n d t h i s un- A s w e l l as looking o u t for
be rather heavy g o i n g for the d o u b t e d l y is the case, if only for t h e m s e l v e s in this adventure it is Halley's Comet. Spectrum 48K,
average 6 year old. the f a c t that the c o m p u t e r will also necessary for the players to C8.95 from; Anima Scientific
The story begins w i t h the not accept incorrect spellings! t a k e care of a certain character Computing, 33 Lilac Walk,
pupil t a k i n g the part of a very W a t c h i n g the children play e n c o u n t e r e d at the start, he c a n Hebburn, Tyne and Wear
lazy J a c k , reluctantly e n t r u s t e d this a d v e n t u r e it w a s possible t o help y o u out if y o u d o n ' t lose NE31 2LT.

98 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6
SPECTRUM UTILITY

Creator Good things come in small


packages they say,
and Bill Mcintosh's useful
program proves it!
you will find that the data T o POKE t h e code back into
statements containing your m e m o r y simply c h a n g e X in line
c o d e have been inserted. T h e 5 of t h e HEX LOADER t o t h e
listing c a n n o w be S A V E D or start address of your c o d e a n d
PRINTED in t h e n o r m a l w a y . run.

5 I.FT * * 6 5 0 0 0 ! LET a = 1 0 : LET


b=J 1: LET c = 12! LET d = 1 3 : LET e
14! LET * = 1 5
10 READ a *
20 FOR n = 1 TO 15 STEP 2
30 LET w=VAL a * ( n )
40 LET w=w*16: LET w=w+VAL
n + 1)
50 POKE x , w : LET x=x+l
60 NEXT n
70 GO T O 10
80 STOP
This p r o g r a m takes c o d e f r o m program code with SAVE 9977 DATA •00000000710E2772"
m e m o r y b e t w e e n t w o specified "DATACREATE" CODE
addresses a n d creates D A T A 65000,220. 9973 DATA •9FFE2AEAFDED5BEP"
s t a t e m e n t s w h i c h c o n t a i n the The start address of the c o d e 9974 DATA "FDB7ED527DE60778"
code in string f o r m using hex t h a t y o u w i s h t o c o n v e r t should 9975 DATA •0E2AEAFD7DE6F86F-
n o t a t i o n . O b v i o u s l y this c a n be POKE ed into 6 5 0 0 0 a n d
save m u c h t i m e a n d e f f o r t , 6 5 0 0 1 and t h e address of the 9976 DATA "1108001922EAFD2A"
especially in preparing p r o g r a m s last byte should be POKE-ed into 9977 DATA •EAFD2B22EAFDED5B"
for s u b m i s s i o n t o magazines. 6 5 0 0 2 and 6 5 0 0 3 using the 9978 DATA "E8FDB7ED5272A1FE"
The code has been m e t h o d in Figure 1 as a n exam-
deliberately kept inside string 9979 DATA •21BCFE22A5FE3E08"
ple.
9980 DATA -32A3FE2AEAFD2B22-
9981 DATA •EAFD237E219EFE77 "
10 LET X = 3 0 0 0 0 : REM start address 9987 DATA -AFED6F47ED6F4FED "
20 POKE 6 5 0 0 0 , X - 2 5 6 * ) N T ( X / 2 5 6 ) 9983 DATA "6F79FE0A3803C607"
30 POKE 6 5 0 0 1 , I N T ( X / 2 5 6 )
9984 DATA •4F78FE0A3803C607•
40 LET X = 3 0 2 3 4 : REM end address
50 POKE 6 5 0 0 2 , X - 2 5 6 ' I N T ( X / 2 5 6 ) 9985 DATA -472AA5FE79C63077-
60 POKE 6 5 0 0 3 . I N T ( X / 2 5 6 ) •2B78C630777B22A5"
9986 DATA
9987 DATA "FE21A3FE3520C421"
q u o t e s in order t o keep t h e a m - T y p e a n d RUN a n d t h e n 9988 DATA •CB5C011800CD5516'
m o u n t of m e m o r y that the NEW. Before running the "2A9FFE2B229FFE23"
s t a t e m e n t s take u p t o an ab- m a c h i n e c o d e there m u s t be one 9989 DATA
solute m i n i m u m . p r o g r a m line in BASIC n u m b e r e d 9990 DATA " EB21A7FE7223732B"
T o use t h e p r o g r a m , first of 9999. This can contain 9991 DATA " 11CB5C011800EDB0"
all CLEAR R A M T O P t o s o m e a n y t h i n g that y o u like. It m a y be •2AA1FE110800B7ED"
value b e l o w 6 5 0 0 0 . T y p e in the of more use t h o u g h t o u s e 9 9 9 9 9992 DATA
HEX loader f o l l o w e d b y t h e as a REM s t a t e m e n t t o make 9993 DATA •52D21DFE21C80011•
D A T A lines. W h e n y o u ' r e happy notes a b o u t the listing. The data 9994 DATA "C800CDB503C90000"
that all is correct t h e n t y p e RUN line n u m b e r s start f r o m s o m e
and w a i t until t h e m e s s a g e ' O u t number, depending on the 9995 DATA "0000000000000000"
of data' appears. T h e p r o g r a m a m o u n t of code, increase in 9996 DATA "00I400E422000000 B

code will t h e n have been placed single steps, and a l w a y s end at •0000000000000000"
9997 DATA
into m e m o r y at 6 5 0 0 0 a n d is 9998
9998 DATA -0000000000220D00"
about 2 2 0 b y t e s long. W h e n T y p e in R A N D USR 6 5 0 0 4 .
y o u have done this, S A V E t h e W h e n t h e o p e r a t i o n is c o m p l e t e 9999 REM START 65000, END 65220

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 99
Conversion tips
(PROGRAMMING TIPS!

A guide to ZX81 /Spectrum program conversions


from David Nowotnik.
T h e v e r s i o n s of B A S I C o f f e r e d t r u m (see T a b l e 1). but y o u w i l l h a v e t o f i n d s o m e c h a n g e s appear in t h e tables.
by the t w o Z X c o m p u t e r s are There are q u i t e a lot of c o m - a l t e r n a t i v e for t h e high resolu- A c o m m a n d s u c h as POKE
so similar t h a t m a n y p r o g r a m s mands and functions on the t i o n a n d file I/O c o m m a n d s . USR " a " . . . . o n t h e Spec-
f o r o n e c a n be u s e d b y the Spectrum which are not The c o m m a n d PLOT a p p e a r s t r u m i n d i c a t e s User Defined
o t h e r . T h e Z X 8 1 has only t w o available o n the Z X 8 1 . A list of o n b o t h c o m p u t e r s , but t h e ef- G r a p h i c s ; Z X 8 1 users d o n ' t
c o m m a n d s w h i c h are n o t pre- t h e s e a p p e a r s in Table 4 . T h e f e c t is q u i t e d i f f e r e n t , so have t h i s f a c i l i t y , so y o u ' l l
sent on the Spectrum, stars indicate those c o m m a n d s b e w a r e ! A n o t h e r t i p : PEEK and h a v e t o o m i t this and use a
S C R O L L and U N P L O T , and a n d f u n c t i o n s for w h i c h there POKE s h o u l d be used w i t h cau- s t a n d a r d c h a r a c t e r instead.
these should cause you f e w is n o s i m p l e t r a n s l a t i o n t o t i o n . tn c o n v e r s i o n , addresses
problems when converting Z X 8 1 BASIC. Those for colour w i l l a l m o s t c e r t a i n l y h a v e t o be
Z X 8 1 p r o g r a m s t o t h e Spec- a n d s o u n d c a n be o m m i t t e d ; changed. Some of those

ZX81 Spectrum Comments

SCROLL R A N D O M I S E USR 3 5 8 2 If t h e p r o g r a m uses r a n d o m n u m b e r s , t h e y


or c o u l d b e c o m e rather p r e d i c t a b l e w i t h t h e first
LET t = USR 3 5 8 2 o p t i o n . If so, use t h e s e c o n d , u s i n g a variable (in this
case t) w h i c h is o t h e r w i s e not u s e d .
PLOT Y , X PRINT A T 2 1 - Y / 2 . X / 2 ; Print t h e a p p r o p r i a t e quarter s q u a r e g r a p h i c s
character.
UNPLOT Y,X PRINT A T 2 1 - Y / 2 . X / 2 ; Print a space, or the a p p r o p r i a t e quarter square
i graphics character.
i
Table 1 ZX81 to Spectrum conversions.

Spectrum ZX81 Comments

BIN BIN a l l o w s t h e represen-


eg LET y = BIN LET y = ( d e c i m a l no.) t a t i o n of a n u m b e r in
10010101 Conversion to decimal: b i n a r y . O n t h e Z X 8 1 use t h e
10010101 =149 decimal equivalent, but
b e w a r e ; BIN is o f t e n
128 6 4 32 16 8 4 2 1 used w i t h User D e f i n e d
A d d these n u m b e r s t o g e t h e r w h e n G r a p h i c s , w h i c h are not
a 1 a p p e a r s at the a p p r o p r i a t e available on t h e Z X 8 1 .
p o s i t i o n in b i n a r y .

READ^DATA LET READ a n d D A T A are


eg READ x , y LET X = 5 0 used t o s t o r e a lot of
DATA 5 0 , 6 0 LET Y = 6 0 i n f o r m a t i o n in a p r o g r a m . Use
LET i n s t e a d .

DEF FN a n d FN The defined function can


eg DEF a(x) = SQR x LET X $ = " S Q R X " appear in a s t r i n g . Use


LET t = FN a(i) LET X = I the k e y w o r d f o r built-in
LET T = V A L X $ f u n c t i o n s (eg SQR). The
e q u i v a l e n t of FN m a y need 2
lines, as s h o w n .

PLOT no equivalent

SCREEN$
e g LET a = SCREEN? x , y LET A = PEEK(PEEK 1 6 3 9 6 U s e d in i n t e r a c t i v e g a m e s
+ 2 5 6 ' P E E K 1 6 3 9 7 + 1 + Y + 3 3 * X | t o d e t e c t c h a r a c t e r s in the
display file. N o t e — this
f o r m u l a only w o r k s w h e n a
R A M pack is f i t t e d .
Table 2 Spectrum to ZX81 conversions.

100 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 ZX


[PROGRAMMING TIPS!
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 w h i c h a c c u r a t e l y varies by 5 0
POKE 1 6 4 3 7 , 2 5 5 e v e : y s e c o n d . In the e x a m p l e .
LET t = (PEEK 2 3 6 7 2 + 2 5 6 * use t h e first line t o s t a r t t h e
LET T = ( 6 5 5 3 5 - PEEK PEEK 2 3 6 7 3 ) / 5 0 ' c l o c k ' . T h e variable T w i l l
1 6 4 3 6 - 2 5 6 * PEEK 1 6 4 3 7 ) have t h e t i m e in s e c o n d s a f t e r
/50 For t i m e s greater t h a n 1 0 the start. The counter can
m i n u t e s , y o u c a n use b y t e only be u s e d f o r 1 0 m i n u t e s .
2 3 6 7 4 as w e l l .
2 Line n u m b e r zero
C o n v e r t s t h e first line of a
POKE 1 6 5 1 0 , 0 POKE 2 3 7 5 6 , 0 p r o g r a m t o line n u m b e r zero.
(As t h e s t a r t of B A S I C can w h i c h c a n n o t be e d i t e d , a n d
move, eg w i t h microdrives) so is p r o t e c t e d .
use w i t h c a u t i o n .
3 RAMTOP
POKE 1 6 3 8 8 , X - 2 5 6 * I N T CLEAR x C r e a t e s a safe area at t h e
(X/256) t o p of R A M s t a r t i n g a t a d d r e s s
POKE 1 6 3 8 9 , INT ( X / 2 5 6 ) x, f o r s t o r i n g d a t a , m a c h i n e
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 SCREEN$


DEF FN PAPER VAL$ *

«
DRAW READ
ERASE #
RESTORE
FLASH *
VERIFY
Table 4 Spectrum functions not available on the ZX81.

System variables Conversion Table. LAST K


MARGIN
16421
16424
23560
No Equivalent
MEM 16415 23656
Variable ZX81/ Spectrum/
MEMBOTT 16477 23698
T/S 1 0 0 0 TS2068 MODE 16390 23617
NXTLIN 16425 23637
BREG 16414 23655 OLDPCC 16427 23662
CDFLAG 16443 No Equivalent PPC 16391 23621
CH A D D 16406 23645 PRBUFF 16444 23296
COORDS 16438 23677 PR CC 16440 23680
C O O R D S (Byte 2 ) 16439 23678 RAMTOP 16388 23730
DEST 16402 23629 SEED 16434 23670
DF CC 16398 23684 S PSN 16441 23688
D FILE 16396 No Equivalent S POSN (Byte 2) 16442 23689
DF SZ 16418 23659 STKBOT 16410 23651
E LINE 16404 23641 STKEND 16412 23653
ERR NR 16384 23610 STOP 16419 23660
E PPC 16294 23625 STRLEN 16430 23666
ERR SP 16386 23613 T-ADDR 16432 23668
FLAGS 16385 23611 VARS 16400 23627
FLAGX 16429 23665 VERSN 16393 No Equivalent
FRAMES 16436 23672 X PTR 16408 23647

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 101


SPECTRUM GAME

Hugh Davis has been visiting the


Hereford arcades and offers you the
chance to get rich quick!
The p r o g r a m ' C o i n D r o p ' is a
v e r s i o n of the coin-in-the-slot
g a m e popular in seaside and
f a i r g r o u n d a m u s e m e n t arcades.
A . c o i n is a l l o w e d t o fall d o w n a
vertical pin-board bouncing
f r o m one pin t o another in a ran
d o m p a t h until it reaches one of
six coin-bearing channels. T h e
channels c o n t a i n a n y t h i n g f r o m
zero t o f o u r coins, and the aim is
t o bring the total u p t o five, u p o n
w h i c h all f i v e will ' d r o p ' t o t h e
player's a d v a n t a g e . Coins w o n
in this w a y c a n be retained or
r e i n s e r t e d . T h e r e s u l t is in-
fluenced principally by the deci-
sion w h e n t o a l l o w the coin t o
fall d u r i n g its passage along the
t o p of the b o a r d . H o w e v e r ,
there is the facility t o ' n u d g e ' the
***********************
coin just once in either direction. * U n d e r l i n e d c h a r a c t e r s *
The f o u r t h c h a n n e l s w a l l o w s up * a r e e n t e r e d in *
all coins and so should be avoid-
*GRAPHICS mode. *
ed! Y o u have only six coins t o
start w i t h , and so it is essential ***********************
t o make an early gain. GO SUB 3000: BORDER 5: PAPE
INK 1
Figure t. lines
LET ow=0
3000-3050 define graphics LET a$="«6«: LET b<S=" C O "
2500-2538 w r i t e t h e title
GO SUB 2500
2 540-2580 illustrate t h e title page
2600-2670 print t h e i n s t r u c t i o n s CLS
35-65 d r a w t h e pinboard FOR n=0 TO 21i DIM i$(26>:
75-85 d r a w t h e c o i n channels
PAPER 6;AT n , 3 ? i $ : DIM j $
1000-1050 d r a w a r a n d o m n u m b e r of coins in e a c h of five
channels (2): PRINT PAPER 5}AT ri, 0 ; j ® ; AT
1 105-1 1 6 0 transport a c o i n across the t o p of the board n , 3 0 ; j « : NEXT n
1200-1320 cause the c o i n t o fall as far as the first pin
40 FOR n=0 TO 192 STEP 32
135-190 cause the c o i n t o b o u n c e d o w n t h e pins as far
as t h e c o i n channels 45 CIRCLE 32 + n , 7 7 , 2 : BEEP . 0 5 ,
500-560 make t h e c o i n c o m e t o rest i m m e d i a t e l y a b o v e 1.0: CIRCLE 32 +n, 109,2: BEEP . 05,
the next highest c o i n in its channel
20: CIRCLE 32+n,141,2: BEEP . 0 5 .
604-61 5 e m p t y a filled channel
2000-2080 print the Score Sheet at t h e end of t h e g a m e 30
50 NEXT n
Figure 2. Variables
35 FOR n=0 TO 160 STEP 32
a$ t o p half of coin 60 CIRCLE 4 8 + ri, 9 3 , 2 ! BEEP 05,
b$ b o t t o m half of c o i n 4 0 : CIRCLE 48+n,125,2: BEEP 05,
a to f no. of coins in t h e channels
g no. of coins in the channel being t o p p e d up 2 0

k decides d i r e c t i o n of horizontal m o t i o n 65 NEXT n


m distance fallen 70 PAUSE 100
t gross loss
w gross w i n n i n g s "72 DEF FN t ( ) = I NT C(65536*PEEK
nw net w i n n i n g s in any one g a m e 23674 +256*FEEK 2 3 6 7 3 +FEEK 23672
ow overall w i n n i n g s
i /50)
cr coins in hand
(x,y) coin coordinates 74 LET 11 =FN t i l

102 ZX COMPUTING FEBRUARY'MARCH 1 9 8 6


K SPECTRUM CAME

FOP <-. = C TO 21 565 IF y=17 THEN PRINT AT 20,1


30 F P IM T INK 4;AT ;, 2) " Z " 5 AT 7 ; - ";AT 2 1 , 1 7 ; - ": BEEP 1,0
n , " ? ; E " 56S IF cr<=0 THEN GO TO 2000
IF N-12 THEN PRINT INK 2; 570 PRINT INK 2; FLASH 1 JAT 1,
AT r. , 3} " EF EF EF EF EF EF 20;" Press L n

CF-: REM GRAPHICS EF 575 IF INKEY$="1" THEN PRINT


90 NEXT n INK 2! FLASH i ; A T 1 , 2 7 ; " M " : GO T
95 PLOT INK 3 } 2 4 , 1 5 ? : DRAW I 0 1100
NK 3 \ 2 0 7 , 0 576 LET t=FN t ( ) : IF t>t1+240 T
100 LET w=0: LET 1=0 HEN GO TO 1990
110 PAUSE 100 578 IF INKEY$= H a" AND 1>40 THEM
120 GO TO 1000 LET r.w=w-l: GO TO 20.00
130 PRINT AT x , y ; " "JAT x + l , y i 580 GO TO 575
If II
600 BEEP 1,40
135 IF INKEYS="a" AND 1>40 THEN 604 FOR r»=0 TO 4
LET r.w = w - l : GO TO 2000 606 LET w=w+10I LET tiw=w-l; LET
140 LET k=2*C0S ( P I * <INT (RND*2 cr=nw+60
) ) ) 608 PRINT AT 12 +2 * r . , / { " " ; AT 1
150 LET x = x +2 3 +2 * r t , y ; " BEEP . 1 , 3 0 : PAUSE
151 IF m=2 AND y<23 AND INKEY*= 20
"p" THEN LET y=y +2: GO TO 160 610 PRINT AT .0, 1 5 ; "
152 IF m=3 AND y>7 AND INKEY$=" 612 PRINT BRIGHT l ; FLASH 1;AT
q" THEN LET y=y-2: GO TO 160 0 , 1 5 ; c r
154 IF k>0 AND y=27 THEN LET y 615 NEXT r.
=y-k: GO TO 160 618 IF c r < =0 THEN GO TO 2000
155 IF k >0 AND y<26 THEN LET y 620 IF y=5 THEN LET a=0
= y + k 621 IF y=9 THEN LET b=0
157 IF k <0 AND y =3 THEN LET y = 622 IF y=13 THEM LET c=0
y - k : GO TO 160 624 IF y=21 THEN LET e=.0
158 IF k <0 AND y>4 THEN LET y = 625 IF y=25 THEN LET +=0
y + k 630 PRINT INK 2? FLASH 1;AT 1,
160 PRINT INK 1JAT x , y J a * f A T x 20; M Press L "

+ 1, y ; b * 635 IF INKEY*="1" THEN PRINT


INK 2} FLASH 1;AT 1 , 2 7 ) " M " : GO T
165 BEEP . 0 5 , 2 0
0 1100
166 FOR n=1 TO 100: NEXT n
638 IF INKEY*="a" AND 1>40 THEN
170 LET m=m+1
GO TO 2000
180 IF m=6 THEN GO TO 500
640 GO TO 635
190 GO TO 130
1000 LET a*INT <RND*3>: FOR n=l
500 IF y=5 THEN LET g=a: LET a
TO a: IF a< >0 THEN PRINT INK 1
=a+1: GO TO 530
505 IF y=9 THEN LET g=b: LET b 1 AT 23-2*n,5}b«5AT 2 2 - 2 * n , 5 ; a * :

=b+l: GO TO 530 BEEP . 0 5 , 0 : NEXT n

510 IF y=13 THEN LET g=c: LET 1010 LET b-INT (RND*3): FOR n«l

c = c + l : GO TO 530 TO b: IF b< >0 THEN PRINT INK 1

515 IF y=17 THEN LET g=0: GO T I AT 2 3 - 2 * n , 9 1 b « | A T 22-2*n,9»a«:

0 530 BEEP .05,10: NEXT n

520 IF y=21 THEN LET g=e: LET 1020 LET c*INT (RND*5): FOR n-1

e=e +1: GO TO 530 TO c: IF c<>0 THEN PRINT INK 1

525 IF y=25 THEN LET g=+: LET ;AT 2 3 - 2 * r » , 1 3 ; b * ; AT 2 2 - 2 * n , 1 3 ; a S

+ = + + 1
: BEEP .05,20: NEXT n

530 IF g=4 THEN GO TO 600 1040 LET e=INT (RND*5): FOR n=l

540 FOR n=0 TO 3 - g : PRINT INK TO e! IF e< >0 THEN PRINT INK 1

1;AT 12 +2 * n , y » " "}AT 1 3 + 2 * n , y ; " ; AT 2 3 - 2 * r > , 2 1 ; b s ; AT 22-2*n,21JaS


"}AT 14+2*M,y5a«iAT 1 5 + 2 * n , y j b ! BEEP .05,30: NEXT n
* 1050 LET f = INT <RND*3): FOR n»l

550 PAUSE 20 TO f : IF + O 0 THEN PRINT INK 1

560 NEXT n JAT 2 3 - 2 * n , 2 5 »b S j AT 2 2 - 2 * n , 2 5 ; a S

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 103


SPECTRUM GAME

: BEEF .05,40: NEXT r. 2002 LET ow=ow+nw


1060 PRINT INK Zi FLASH 1;AT 1, 2003 IF ow>=0 AND INT t ( o w - 1 0 ) / l
20!" Press L " 00)=INT (ow/100) THEN PRINT IN
1065 IF INKEY$="1" THEN PRINT K 7; PAPER 1J FLASH 1;AT 1,4;" W
INK 2; FLASH 1;AT 1,27;"M": GO T INNINGS SO FAR #"}AT l , 2 2 i o w / 1 0
0 1 100 0 J " 0 "

1068 IF INKEY$="a" AMD 1:-40 THEN 2004 IF ow)=0 AND INT ( ( o w - 1 0 ) / I


GO TO 2000 00) O I N T (ow / 100) THEN PRINT I
1070 GO TO 1065 NK 7; PAPER l; FLASH 1JJAT 1,4;"
1100 LET 1=1+10; LET NW=W-1: LET WINNINGS SO FAR #"}AT l , 2 2 j o w /
cr=nw+60 100 ? " . 0 "

1101 FRIMT AT 0,155" 2006 IF ow<0 AND INT (< O W"10)/10


1102 PRINT BRIGHT lj FLASH 1;AT 0)=INT (ow/100) THEN FRINT INK
0, 1 5 ; c r 7? FAPER l; PLASH 1JAT 1,7;" LO
1104 PRINT INK 15AT 0,31 a$ j AT 1 SS SO TAR #"?AT 1,21}-ow/100J"Q
,3jbS: PAUSE 6
It

1105 FOR R; = 3 TO 27 7O07 IP ow<0 AND INT ((ow-10)/10


1110 PRINT AT 0,r>;" "JAT 1 , r: J " 0)< >INT (ow/100) THEN PRINT IN
II K 7} PAFER l; FLASH 1 ; A T 1 , 7 J ' ' L
1115 IF n=27 AND c r < =G THEN GO OSS 30 FAR »)"iAT 1 , 2 1 J-ow / 100 5 "
TO 2000 .0 "
1120 IF n=27 THEN GO TO 1060 700? FOR n=0 TO S
1130 PRINT INK 1JAT 0 , n + 1J a $ ; A T 201C DIM i$(Z6)
1,n+1;b$ 2020 PRINT PAFEF. 2; ERIGHT 1 ; AT
1140 PAUSE 6 13 + n , 3 J
115.0 IF I N K E Y $ = " m" AMD INT (n/2) 2030 NEXT n
O I N T ( ( n - l ) / 2 ) THEN LET y=n+1: 2040 FRINT INK 7; PAPER 2,AT 14
PRINT AT 1 , 2 0 5" ": GO T .4;"Yov have j u s t spent J FLASH
0 1200 1J FRIGHT I ; AT 1 4 , 2 4 ; 1 ; '' p '
1160 NEXT n 7050 PRINT INK "J r AFER 2;AT 16
1200 LET x=0: LET m=0 ,7?-and have won "; PLASH l; E M
1210 PRINT AT x , y J" "JAT .. + I , y 5 GHT l ; AT 1 £.20 ? w; "p"
II It 2060 IF nw> = 0 THEN PRINT INK 7
1212 PRINT AT 0 , 1 5 ; " : PAPER 2 J AT 18,5;' our net gain
1215 PRINT ERIGHT 1; FLASH HAT i= " } INK D AFER 0} FLASH 1J
0 , 15 ; c r FRIGHT 1iAT i e , 2 2 ; n w j " p "
1220 LET x = x +2 : LET rn=m+l 7070 IF w<0 THEN PRINT INK
1230 PRINT INK 1;AT x,y!a$;AT x FAPEP 7JAT 18,5;"Vour net loss
+ 1 , y ; b S is " : INK 7: PAPER .0; FLASH i; B
1240 BEEP .05,20: FOR n=l TO 50: PIGHT 1J A T 18, 22 5-nw; "p"
NEXT n 20E.0 PRINT INK 7f PAPER l j FLAS
1250 IF INT ((y+1)/4)=INT (<y+3) H 1J BRIGHT 1J AT 2 0 , 4 ; " r r e s s F
/4) THEN GO TO 1300 to play again "
1260 IF m=2 THEN GO TO 1300 2082 IF L>t1+240 AND INKEY$="p"
1270 GO TO 1210 THEN LET 11= F N t<): LET ow=0: G

1300 PRINT AT x , y ; " ";AT x + l , y j 0 TO 2100


U II 2085 IF INKEY*="p" THEN GO TO 2

1310 PLOT INK 35 2 4 , 1 5 9 : DRAW I 100

NK 3 J 207,0 2090 GO TO 2040

1320 GO TO 135 2100 FRINT AT 1,3!"


II

1990 PRINT AT 0 , 1 5 | " M ;AT 1,2


2105 FOR n=0 TO 8
0} "
2110 DIM iS(26)
1992 PRINT INK l; FLASH 1}AT 1,
2120 PRINT PAPER 65 A T 13 + r . , 3 j i $
8J n ARCADE CLOSING "
2130 NEXT n
1994 FOR n~0 TO 400: NEXT n
2140 GO TO 75
2000 PRINT AT 0 , 1 5 } " "iAT 1,2
2500 DIM iS(704): PRINT AT 0,0}1
0;" "

104 ZX COMPUTING FEBRUARY'MARCH 1986


K SPECTRUM CAME

% 15,q;b$*. BEEP . 05 , q
2520 PLOT 26,144: DRAW 0 , - 3 2 , 1 1 * 2565 LET q=q+4: IF q<29 THEN GO
PI / 10: BEEP . 0b, 10 TO 2560
2523 PAUSE 30 2570 IF q=29 THEN PRINT FLASH
2524 PLOT 32,112: DRAW 12,32: BE 1; BRIGHT l; INK 1;AT 10,2J" PRE
EP .05,10: DRAW 12,-32: BEEP .05 SS <I> FOR INSTRUCTIONS "
,10: PLOT 35,120: DRAW 13,0: BEE 2575 IF INKEY$="i" THEN GO TO 2
P .05,10 600
2526 PLOT 80,136: DRAW - 8 , - 8 , 3 * P 2580 GO TO 2570
1/2: BEEP .05,10: PLOT 64,120: D 2600 CLS
RAW 8 , 8 , 3 * P I / 2 I BEEP . 0 5 , 1 0 2610 PRINT INVERSE 1 ; AT 1 , 1 0 ; "
2527 PAUSE 30 CASH-FLOW "
2528 PLOT 88,112: DRAW 0,32: BEE 2615 PRINT AT 3,2; "Get + ive coin,
P .05,10: PLOT 104,112: DRAW 0 , 3 s in one column to s t a r t
2: BEEP . 0 5 , 1 0 : PLOT 83,128: DRA the i l o w . "
W 16,0: BEEP . 0 5 , 1 0 2620 PRINT AT 6 , 3 ; " Y o u have s i x
2529 PAUSE 30 10p p i e c e s to p1 ay w i t h , p l u
2530 PLOT 116,128: DRAW 3 , 0 : BEE s any w i n n i n g s "
P . 0 5 , 1 0 2622 FOR n=0 TO 400: NEXT r.
2531 PAUSE 30 2625 PRINT INK 6; PAPER 2;AT 10
2532 PLOT 136,112: DRAW 0,32: EE , 1 ; " CONTROLS "
EP .05,10: DRAW 16,0: BEEP . 0 5 , 1 2630 PRINT AT 1 0 , 1 3 ; " L i n s e r t s c
0: PLOT 136,123! DRAW 10,O: BEEF o i n";A T 1 1 , 13J "M l e t s i t f a l l "
. 0 5 , 1 0 2635 PRINT AT 13,3; "F and Q nudg
2533 PAUSE 30 e the c o i n to r i g h t or le-f
2534 PLOT 176,1121 DRAW - 1 6 , 0 : B t (once o n l y ) "
EEP .05,10: DRAW 0,32: BEEF .05, 2640 PRINT AT 1 7 , 2 ; "< A > enables
10 yru to abandon a yame w i t h
2535 PAUSE 30 your wini i ngs a f t e r sp
25"6 FLOT 194,144: DRAW 0 , - 3 2 , 5 * ending 50p "
P I / 6 : BEEP . 0 5 , 1 0 : DRAW 0 , 3 2 , 5 * F 2642 FOR n=0 T 0 400: NEXT r>
1/6: BEEP .05,10 2644 DIN i«(160>: PRINT FAFER 6
253" FAL'SF 30 :AT 3 , 0 : i s
2538 FLOT 21^,144: DRAW 3 , - 3 2 : B 264 6 PPTNT INK 1} FLASH 1}AT 5,
EEP .05,10: DRAW 3,16: BEEP .05, 2i " ARCADE CLOSES IN 4 MINUTES "
10: DRAW 8 , - 1 6 : FEEP .05,10: DRA 2648 FOR n=0 TO q n 0 : ME"T n
W 8,32: BEEF . 0 5 , 1 0 265^ PRINT AT 5 , 2 ; "
2540 FOR n=13 TO 21 "; INK* r; PLASH 1
2545 PRINT INK 2;AT n , 3 ; " E ^ EF 5 . 7 ; " =RESS 2 TO PLAY "
EF EF EF EF EF" 7660 IF INKEY$="z" T HEN RETURN
2550 PRINT INK 4!AT n , Z i " F » ; A T 2670 GO TO 2660
n , 2 9 ; " E " 3000 RESTOPE : LET r=0
2555 NEXT n 3010 LET u=PEEK 23675+256*PEEK 2
2558 LET q=5 36"76
2560 FOR r,=0 TO 3: PRINT INK 1} 3020 READ j : IF j = . 5 THEN RETUR
AT 1 2 + 2 * n , q i " " 5AT 1 3 + 2 * n , q ! " N
";AT I 4 +2*n , q ; ; AT 15 + 2 * r i , q i b l : 3030 POKE u + n f J : LET n=n+l: GO T
BEEP . 05 , q : NEXT r. 0 3020
2561 FOR r.=0 TO 2: PRINT INK 1} 3040 DATA 7 , 3 1 , 6 3 , 1 1 2 , 1 1 9 , 2 2 3 , 2 3
AT 12 + 2 * n , q > " "iAT 13 + 2 * n , q J " 9,231, 2 2 4 , 2 4 8 , 2 5 2 , 1 4 , 2 3 0 , 2 4 7 , 2 4
" i AT 14 +2 * n , q ; A T 15+2*n,q;b$: 7,247, 2 3 1 , 2 2 4 , 2 3 1 , ® ? , 1 1 2 , 6 3 , 3 1 ,
BEEF . 0 5 , q : NEXT n 7, 2 4 7 , 2 4 7 , 2 3 1 , 1 9 3 , 1 4 , 2 5 2 , 2 4 8 , 2 2
2562 FOR n =0 TO 1: PRINT INK If 4
AT 12 +2 * n , q ! " "!AT 1 3 + 2 * n , q i " 3050 DATA 1 2 7 , 1 2 7 , 1 2 7 , 1 2 7 , 1 2 7 , 1 2
" ; AT 14 + 2 * n , q ; a t ; AT 15 +2 * n , q f .' 7,127,127, 2 5 4 , 2 5 4 , 2 5 4 , 2 5 4 , 2 5 4 , 2
BEEP . 0 5 , q: NEXT r, 54,254,254, .5
2563 PRINT INK 1JAT 14,qJa$;AT 9020 SAVE " c a s h - f l o w " LINE 1

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 105


PROBLEM PAGE

Problem Page
modified to:

2 2 G O SUB 2 6
2 3 FOR c = 1 TO 9
2 4 PRINT o $ ( B + X , c | ; : PAUSE
25
2 5 NEXT c
2 6 LET X = V A L " 0 0 0 0 2 2 0 4 4
068092124125" (((A-D*
change them yourself to 3 + 1 ) T O { ( A - 1 ) * 3 + 3»
RESTORE A . 2 7 RETURN
The r a n d o m n u m b e r routine
is d i f f e r e n t in the Z X 8 0 and A L L
A p a r t f r o m Line 2 2 , w h i c h
o c c u r e n c e s of R N D ( n u m b e r )
g o s u b s t o 2 6 t o get the position
should be replaced b y :
in o $ ( ) that the n a m e n o w oc-
cupies and t h e n returns to the
INT (RND * n u m b e r + 1)
same routine (recursive), the
lines are s t r a i g h t f o r w a r d .
So the line 1 2 0 should read:
M a k i n g t h e t r a n s f e r s also
b e c o m e s simple, replace lines
1 2 0 LET c(a) = INT (RND * 10
9 9 5 2 to 9 9 5 9 with:
+ 1) + 10

9 9 5 2 GO SUB 2 6 : LET A A = X
Save 9 9 5 3 LET A - C: G O S U B 2 6
9 9 5 4 LET o $ ( D + X) = o$
T h e s a v e r o u t i n e is p r e t t y
(B + A A )
straightforward, but I w o u l d
9 9 5 6 LET o $ ( B + A A ) = v $
c h a n g e it t o 1 5 5 0 SAVE
9 9 5 7 RETURN
" g r a n d s t a n d " LINE 1 0 1 0 , a n d
Line 1 5 6 0 t o GO TO 1 0 1 0 .
The PEEK 1 6 4 2 1 in Line N o w , the reason w e had the fun-
3 4 9 0 is a w a y of c h e c k i n g for a ny recursive positioning of line
full screen. The S p e c t r u m does 2 6 b e c o m e s clear, w e c a n use it
not need this line as it will o f f e r a f r o m this routine t o d e t e r m i n e
scroll w h e n the screen is full. t h e X value. O n c e the t w o posi-
T h e r e f o r e leave out Line 3 4 9 0 . tions of the t e a m s have been
H o w e v e r it appears again in Line d e t e r m i n e d t h e n t h e y are s w a p
8 3 4 2 w h e r e its purpose is dif ped.
f e r e n t , so t o get t h e same result Finally, I have w r i t t e n this as I
change the 1 6 4 2 1 t o t h e Spec- developed the conversions
t r u m address 2 3 6 8 9 , (this c a n deliberately in an a t t e m p t t o
also be done in line 3 4 9 0 if y o u demonstrate h o w a problem
w i s h ) , also the s a m e appears in m a y be s o l v e d and t h e n resolved
line 8 5 1 5 and 8 5 1 6 . as a c o n v e r s i o n p r o g r e s s e s .
The lines f r o m 9 9 6 0 to S t r u c t u r e d p r o g r a m m i n g is
9 9 8 8 print t h e title s c r e e n . great, p r o v i d i n g y o u have all the
Replace all these w i t h a r t w o r k of f u n c t i o n s y o u require available.
your o w n or, if y o u d o not w a n t The Z X 8 0 and 8 1 d o not have
t o g o t o t h e trouble, simply o m i t data capabilities and the w a y s of
This issue I h a d a n o f f e r I T h e main use of this Data is t h e m e x c e p t for 9 9 8 8 RETURN. e m u l a t i n g it are m a n y a n d
c o u l d n ' t refuse, Ray t h e Ed ask- m a d e in lines 2 2 t o 3 8 , so Leave this last line in because at varied, this w a s a clever but fair
ed m e t o give s o m e advice o n r e m o v e all t h e s e l i n e s a n d s o m e p o i n t s the p r o g r a m will ly s t r a i g h t f o r w a r d m e t h o d .
how GRANDSTAND, which we replace t h e m w i t h j u m p t o this routine and it is best Of course, there are other
published a c o u p l e of m o n t h s t o keep it in case y o u fail t o f i n d w a y s , l o o k i n g at it in retrospect I
back for the Z X 8 0 , c o u l d be 2 2 RESTORE A all the GO SUB 9 9 6 0 state- w o u l d p r o b a b l y use a three
c o n v e r t e d for the S p e c t r u m . A p - 2 3 FOR c = 1 T O B : READ o $ : m e n t s . I w o u l d p u t s o m e simple dimensional array DIM
parently he has been i n u n d a t e d NEXT c title in a n y w a y , even if it is only o $ ( 3 2 , 7 , 9 ) a n d r e a d each of the
w i t h pleas for help! 2 4 FOR c = 1 T O LEN o$ t o PRINT the n a m e of t h e g a m e . seven R E M / D A T A separately,
2 5 PRINT o $ ( c ) ; : PAUSE 2 5 N o w for the hardest bit of all; t h e n t h e a w k w a r d Line 2 6
Data 2 6 NEXT c lines 9 9 5 2 t o 9 9 5 9 deal w i t h couldbe left o u t as t h e ' A ' value
b e c o m e s the s e c o n d element —
2 8 RETURN m o v e m e n t of t e a m s by p o k i n g
The lirst t h i n g is that D A T A is . n f o r m a t i o n a r o u n d the REMs. ie. Line 2 4 w o u l d b e c o m e PRINT
s i m u l a t e d in lines 1 t o 7 , so Briefly, t h e subroutine at line 3 1 W e have to f i n d another w a y , so o $ ( B , A , c ) and lines 2 2 and 2 6
c h a n g e lines 1 t o 7 t o D A T A does t h e same as the RESTORE perhaps it is w o r t h g o i n g back t o w o u l d be r e d u n d a n t . M a n y lines
lines so t h a t e a c h f o l l o w s the ( n o w in line 2 2 ) . Line 2 3 reads s t a n d a r d principles, and w r i t i n g c o u l d also be c o m p r e s s e d into
format: the Data until the required n a m e the p r o g r a m in a m o r e s t r u c t u r e d multi-line s t a t e m e n t s , and by
is in o $ and the l o o p f r o m 2 4 t o w a y . A d d lines: u s i n g t h e DEF FN f u n c t i o n
1 DATA "LIVERPOOL", 2 6 prints o u t each letter of the several of the calculations could
" M A N . UTD.'\ "NOTTM. F.", name. PAUSE 2 5 causes a slight 9 0 1 9 D I M 0 $ ( 1 4 9 , 9 ) : REM 1 be speeded up and p e r f o r m e d
" Q . P . R . " , and so o n delay t o i m i t a t e the T V t e l e t y p e c o u n t e d 1 4 9 data items. more e f f i c i e n t l y ,
style printing. 9 0 2 0 RESTORE: FOR i = 1 T O I hope this has g i v e n y o u all
until all t h e names are entered. Lines 9 9 5 2 and 9 9 5 5 need 149 s o m e ideas, personally I f i n d
There is n o need t o be precise t o be c h a n g e d t o RESTORE A t o 9 0 2 1 R E A D o$(i): N E X T i c o n v e r t i n g p r o g r a m s s e c o n d on-
w i t h each name being nine allow for the r e m o v a l of the ly t o creating an original for giv-
characters long, b u t a m a x i m u m s u b r o u t i n e at 3 1 . If y o u find any N o w all the Data is held in the ing satisfaction, and as a l w a y s ,
l e n g t h of nine c h a r a c t e r s is G O S U B 3 0 lines w h i c h I ' v e e l e m e n t s of array o $ ( ) and so if y o u have a p r o b l e m d r o p m e a
wise. missed then d o n ' t forget to lines 2 2 t o 2 8 can be further line, and I'll d o m y best to help.

106 ZX COMPUTING FEBRUARY/MARCH 1986


IPECTRUM DOMESTIC!

if you are a budding Steve DavisLthis


program from Dungannon's Brian
Buckley will straighten your cue.

W h e n playing Snooker the m o s t tape. All D A T A should be check- This a l l o w s c o r r e c t i o n s t o be


tedious part is keeping track of ed for errors. A f t e r responding m a d e to either p l a y e r ' s score.
the score. Not being an e x p e r t , I to all of the p r o m p t s at the start W h e n called, t w o s h o r t BEEPs
also have difficulty in of the p r o g r a m , there will be a will be heard, and a p r o m p t
r e m e m b e r i n g the value of each short pause (about two " P l e a s e ENTER b a l l t o be
colour! Frequently m y family seconds) as all t h e U D G ' s a r e set d e l e t e d " w i l l appear at the base
spend more time discussing the up. Y o u w i l l t h e n see a snooker of the screen. The response t o
a c c u r a c y of the scores t h a n ac- table being d r a w n o n the screen, the p r o m p t will be the incorrect
tually playing, so w h e n this pro- f o l l o w e d by t h e s c o r e b o a r d ball. For e x a m p l e , if y o u ac-
g r a m arrived ( f o u n d it very itself. This is the main display. I cidentally add the blue ball t o
valuable indeed. N o w here it is shall n o w describe the various your score instead of a red. Y o u
for y o u t o share the benefits of features of t h e p r o g r a m . w o u l d press " — " t o use the cor-
an a c c u r a t e and i m p a r t i a l rection routine, and in response
referee. to the p r o m p t , ENTER " E " . The
H a v i n g t y p e d the p r o g r a m in- Score correction p r o m p t will t h e n disappear and
the value of the blue ball w i l l be
t o the m a c h i n e , S A V E it w i t h
S A V E " S N O O K S C O R E " LINE Pressing the " - " k e y , ( S Y M - r e m o v e d f r o m your score. Y o u
3 0 . This will ensure t h a t the pro- BOL SHIFT and " J " pressed will n o t i c e that " L a s t S h o t " has
g r a m a u t o m a t i c a l l y RUNs w h e n together), brings the score cor- c h a n g e d t o " e r r o r " , t o remind
subsequently LOADed from rection facility into operation. y o u that the c o r r e c t e d ball has

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 107


F L A S H should be c h a n g e d t o the A f t e r c and d there is only one
Control keys.
other player. The f o l l o w i n g ex space in q u o t a t i o n marks. These
1 - C h a n g e s F L A S H i n g of one p l a y e r ' s n a m e t o ample w i l l illustrate w h y . numbers are the same
the other. During his visit t o the table, t h r o u g h o u t the listing.
player 1 p o t s a red ball, f o l l o w e d
0 - W h e n pressed at the end of a f r a m e , resets
by the black. His break is n o w In line 1 8 0 , the q u o t a t i o n
break and points t o 0 , and increases the ap
eight points. He returns t o his m a r k s a f t e r s$ c o n t a i n t w o
propriate f r a m e score by 1.
seat after missing the n e x t red spaces.
R A d d s value of Red ball t o score of player
(failing t o pot it), w i t h his break In line 3 8 0 , the first set of
w h o s e n a m e is FLASHing.
still eight points. Player 2 c o m e s quotation marks contain 2 0
Y - A d d s value of Y e l l o w ball.
t o t h e table. The scoreboard spaces, and the second, 3 2 .
G - A d d s value of Green ball.
n o w s h o w s his n a m e FLASHing. In line 5 4 0 , 3 2 spaces are
N - A d d s value of B r o w n ball.
He a t t e m p t s to pot a red ball but c o n t a i n e d in t h e q u o t a t i o n
E A d d s value of Blue ball
fails, returning t o his seat. Player marks.
P - A d d s value of Pink ball.
1 t h e n c o m e s t o the table again, Line 5 8 0 also has 3 2 spaces
K - A d d s value of Black ball.
a n d the scoreboard c h a n g e s so w i t h i n q u o t a t i o n marks.
F Brings Foul shot s u b r o u t i n e i n t o operation.
that his n a m e FLASHes. A s the In line 6 8 0 , w i t h i n the same
Brings score c o r r e c t i o n s u b r o u t i n e into opera-
F L A S H c h a n g e s back to player q u o t a t i o n m a r k s as " M A T C H
tion.
t ' s n a m e , his previous break is O V E R " , four spaces are con-
reset t o 0 . If the F L A S H had not tained before and after the
yet to be input. Y o u should y o u are familiar w i t h the ENTER- been c h a n g e d to player 2 w h e n words.
remember that w h e n c o r r e c t i n g ing s y s t e m used in this part of he w a s p l a y i n g (even t h o u g h he In line 6 9 0 , t w o spaces are
a s c o r e , t h e p o i n t s w i l l be the p r o g r a m , y o u can just press d i d n ' t score anything), it means inserted before and after the
d e d u c t e d f r o m the player w h o s e " E N T E R " w h e n the value of the t h a t a n y t h i n g t h a t player 1 w o r d in q u o t a t i o n marks.
name is F L A S H i n g , and f o u l s h o t is four points (after call scores this time will be added In line 7 0 0 , the string after
" E N T E R " M U S T be used. This ing the routine of course), as it is o n t o his previous break, thus " M A T C H INFORMATION" con
is to give the player using the w h e n y o u miss a red, or acciden- m a k i n g the break incorrect. s i s t s o f 17 CHR$ 1 3 1 ' s .
facility time t o think. tally p o t a coloured ball w h o s e Line 7 1 0 h a s 3 2 C H R $
value is w o r t h up to and in Points to note 1 3 1 's in q u o t a t i o n marks.
FOUl shots eluding f o u r points. If a f o u l shot In 7 2 0 , w i t h i n the q u o t a t i o n
is played and the points for it In lines 1 1 8 0 and 1 2 0 0 , the marks, there are five spaces
If a foul s h o t is played, the player given to the w r o n g player c a p i t a l l e t t e r s c o n t a i n e d in before and after the w o r d s .
r e s p o n s i b l e s h o u l d h a v e his (pressing " F " w h e n the inno double q u o t a t i o n m a r k s should Line 1 1 7 0 has 3 2 CHR$
name set to F L A S H . The "F" cent player's name was be t y p e d in using GRAPHICS 1 4 3 ' s w i t h i n its q u o t a t i o n
key should t h e n be pressed. F L A S H i n g , instead of the guilty m o d e as they are user d e f i n e d marks.
A f t e r t w o s h o r t BEEPs, a p r o m p t p l a y e r ' s name), just change the graphics characters. A list of
" P l e a s e ENTER the f o u l e d b a l l " F L A S H and carry out the score t h e m appears b e l o w : In the first q u o t a t i o n m a r k s in
will appear at the base of the c o r r e c t i o n procedure, r e m o v i n g line 1 1 8 0 , there is one CHR$
screen. The response to this will the value of the foul, and t h e n 1 4 3 and A . In the second set,
be the colour (only one letter!} of the procedure for f o u l shots, 1 4 CHR$ 1 4 3 ' s . In set three. B,
"A"
t h e ball w h i c h w a s f o u l e d , given above. w h i l e in set four 1 3 CHR$
f o l l o w e d by " E N T E R " . If the cue "B"
1 4 3 ' s . Finally, in set five, C and
"C"
ball w a s p o t t e d , j u s t p r e s s Break "D"
1 CHR$ 1 4 3 are contained.
" E N T E R " . If for e x a m p l e , y o u In t h e long s t r i n g in line
accidentally pot the black ball in- The p r o g r a m w i l l display each tlgM 1 1 9 0 , t h e r e are 3 0 CHRS
stead of a red, set your n a m e t o p l a y e r ' s break t h r o u g h o u t the ttp W 1 4 3 ' s . Line 1 2 0 0 is almost the
FLASH and t h e n press " F " . In m a t c h , but this will be correct is same as line 1 1 8 0 . The dif-
response t o the p r o m p t , ENTER the f o l l o w i n g m e t h o d is used. ferences are in sets 1, 3, and 5,
" K " . Y o u w i l l t h e n see your op- It is essential that the player In line 1 6 0 , s$ c o n t a i n s seven w h e r e the graphics characters
p o n e n t ' s score increase by at t h e table should have his spaces, and f o l l o w i n g a. b, b1 are D, E, and F. Line 1 2 1 0 has
seven points and your " L a s t n a m e F L A S H i n g . W h e n his visit and b 2 , w i t h i n the q u o t a t i o n 3 2 CHR$ 1 4 3 ' s in q u o t a t i o n
s h o t " c h a n g e to " f o u l " . W h e n to the table is c o m p l e t e , the m a r k s there are t w o spaces. marks.

Figure 2 Variables. af ) Stores player 1 's f r a m e scores t h r o u g h o u t the


match.
a Player 1 's score d u r i n g a frame. b( ) Scores player 2 ' s frame s c o r e d t h r o u g h o u t the
b Player 2 ' s score d u r i n g a frame. match.
c Player 1 's overall f r a m e score. b1 Player 1 's break.
d Player 2 ' s overall f r a m e score. b2 Player 2 ' s break.
e Value of blue ball. s1 X position of Player 1 's scores.
f Value of a Foul shot. s2 X - p o s i t i o n of Player 2 ' s scores.
9 Value of Green ball. p1-p6 D A T A for p o c k e t s for main display.
k Value of black ball. hi Highest break of m a t c h .
1 Number of f r a m e s over w h i c h m a t c h is being hif Frame in w h i c h highest break w a s obtained.
played. a$ Player 1 's name.
n Value of b r o w n ball. b$ Player 2 ' s name.
P Value of Pink ball. c$ Holds INKEY$.
r Value of Red ball. f$ INPUT for a f o u l s h o t .
s LEN a $ . h$ Holds n a m e of player w i t h highest break.
t X - p o s i t i o n of Player 1 's name. m$ Holds n a m e of w i n n e r of each f r a m e .
u LEN b $ . s$ Last s h o t .
V X - p o s i t i o n of Player 2 ' s name. vS INPUT for score correction.
w a m i n u s b. w$ " p o i n t . " or " p o i n t s . " , d e p e n d i n g on score dif-
X b m i n u s a. ference.
y Value of Y e l l o w ball. x$ " F r a m e . " or " F r a m e s . " , d e p e n d i n g o n I.
z Current f r a m e . 7$ "leads b y " .

108 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6


IPECTRUM DOMESTIC!

Figure 3 Line description 360 (f b a. Player 2 ' s f r a m e score (d) is increased


LINE NUMBER LINE FUNCTION by 1, and b$ is assigned t o m $ .
30 Sets screen colours and BEEPS u p o n L O A D i n g 370 Each Player's final score in a f r a m e is assigned
f r o m tape. t o the subscripted variables a and b. A check
40 Sets " L " cursor, PRINTS title and asks if in- is m a d e t o see of a w i n n e r e x i s t s , and if so,
s t r u c t i o n s are required. c o n t r o l is sent to 6 7 0 .
60 A s s i g n s pressed key to y $ . If y $ is " y " , con- 380 Plays a short tune at t h e e n d of a f r a m e and
trol is sent to 8 6 0 for i n s t r u c t i o n s to be blanks out the last shot for each player. A l s o
PRINTed. blanks out the lead line.
70 Resets screen colours u p o n returning f r o m in- 390 Increases current f r a m e by 1. Sends c o n t r o l
structions. back to the start of the main loop.
80 READs values f r o m the D A T A s t a t e m e n t in 400 & 410 Check for keypresses.
line 9 0 and sets these variables. 420 A s s i g n s any pressed key to string variable c $ .
100 Sets " C " cursor and a c t i v a t e s k e y b o a r d 430 C r a s h p r o o f i n g : c h e c k s for valid k e y s being
BEEP. Requests Player 1 's n a m e t o be pressed. If an invalid key is pressed, a BEEP is
ENTERed. issued a n d c o n t r o l sent back to the start of the
110 Requests Player 2 ' s n a m e t o be ENTERed. s u b r o u t i n e s at line 4 0 0 .
120 Requests the n u m b e r of f r a m e s over w h i c h 450 590 4 5 0 4 3 0 assign certain strings t o s$ depen-
the m a t c h is t o be played to be ENTERed, and ding o n c $ . 5 4 0 - 5 8 0 u p d a t e lead tine and
sets x $ . calculate the x - p o s i t i o n so as to keep it cen
130 PRINTs a thank y o u message, s w i t c h e s tralised on screen.
k e y b o a r d BEEP o f f , sets " L " cursor and sends 600 Requests input for a f o u l shot and c h e c k s en-
c o n t r o l t o s u b r o u t i n e at 1 1 1 0 w h i c h PRINTs a try is valid If n o t , t h e n c o n t r o l is sent back t o
snooker table o n screen. M a i n screen is t h e n the start of t h e line.
PRINTed o n the table. 610 If f$ (input in a b o v e line) is one of five certain
140 Reserves space for u n s c r i p t e d variables a and strings, t h e n f$ is set to " 4 " .
b. These are used t o hold the scores at the 630 Deals w i t h a f o u l shot against Player 2 by ad-
end of each frame. d i n g the relevant a m o u n t of his score and
150 Start of main loop, PRINTing it o n screen.
160 Sets various scores t o 0 and t h e n PRINTs 640 A s 6 3 0 , b u t for Player 1.
these on screen. 650 Requests input for score c o r r e c t i o n and
170 Sets Player 1 's break t o 0 . c h e c k s input for validity. If an invalid input is
180 F L A S H e s Player 1 's n a m e and PRINTs all of d e t e c t e d , c o n t r o l is sent back to the start of
his scores. the line.
190 C h e c k s c $ for " " , and if f o u n d brings score 670 BEEPs a n d flashes BORDER w i t h various col-
c o r r e c t i o n routines into operation. ours at the end of the m a t c h .
200 A s in 1 9 0 , but c h e c k s for " f " and deals w i t h 680 Resets scores t o 0 and PRINTs final screen.
f o u l shots. 700 PRINTs i n f o r m a t i o n a b o u t highest break etc.
210 Sets s$ to " " and sends c o n t r o l to 2 6 0 if 71 0 PRINTS all f r a m e scores for e a c h player.
c $ is " 1 " . 720 Gives i n s t r u c t i o n s for using p r o g r a m again.
220 If c $ is " 0 " (end of frame) and a b, sends 730 A s s i g n s INKEY$ t o z $ . If z$ is " y " , p r o g r a m
control to 3 5 0 . is RUN again.
240 U p d a t e s Player 1 's p o i n t s score and break 740 Erases p r o g r a m f r o m m e m o r y as it is no longer
C h e c k s tp see of the break the highest required. R A N D O M I Z E USR 0 w a s used as
break and if so. m a k e s h $ a$ and hif - the N E W did not r e m o v e U D G ' s .
current f r a m e 17) A l s o males hi bl. 750 & 760 S c a n k e y b o a r d for pressed keys.
260 Sets Player 2 ' s break t o 0 . 780 Calculates x p o s i t i o n of Player 1 's n a m e and
270 FLASHes Player 2 ' s n a m e and PRINTs all of scores.
his scores. 790 Calculates x - p o s i t i o n of Player 2 ' s n a m e and
280 C h e c k s of c $ is " — " , and if so, sends c o n t r o l scores.
to score c o r r e c t i o n routines. 800 & 810 Prevent a and b l b e c o m i n g negative.
290 Checks if c $ os " t " , and if so, sends c o n t r o l 830 & 840 Prevent b and b2 b e c o m i n g negative.
t o subroutine dealing w i t h f o u l shots. 860 1030 Instructions.
300 If c $ is " 1 " , sets s$ t o " " and sends con- 1040 PRINTs i n s t r u c t i o n s about seeing i n s t r u c t i o n s
trol to 1 7 0 . again.
310 Sends c o n t r o l t o 3 5 0 if c $ is " 0 " and b a. 1060 A s s i g n s INKEY$ t o z $ . If z$ is " y " . t h e n in-
330 Updates Player 2 ' s p o i n t s score and break. s t r u c t i o n s are PRINTed again by sending con-
C h e c k s t o see if the break = the highest trol t o line 8 6 0 .
break and if so, m a k e s h $ b$ a m d hif z. 1110-1160 Sets u p U D G ' s for p o c k e t s ,
A l s o m a k e s hi - b 2 . 1170-1210 D r a w s table.
350 If a b. Player 1 's f r a m e score (c) is increased 1220 1 260 D R A W s lines on table.
by 1, and a$ is assigned to m $ . 1280 1330 D A T A for U D G ' s .

1 REM rian B u c k l e y " : P A U S E 75: P R I N T


•Underlined characters* AT 1 1 , 1 ; " D o you nant i n s t r u c t i o n
f a r e entered in * s {y/n>?"
•GRAPHICS mode. * 5 0 GO SUB 7 5 0
M K K X X I H K X M M JHHHHHHhfr * * ** 60 L E T y * = I N K E Y » : IF y » = " y " TH
30 C L S ! B O R D E R 4: PAPER 4: IN EN GO TO 8 6 0
K 0 : C L S ! BEEP .1,10: B E E P .1,1 7 0 B O R D E R 4: PAPER 4: INK 0: C
5 LS
40 P O K E 2 3 6 3 8 , 0 : P R I N T AT 3,7; 73 REM 80 k 90 BALL V A L U E S ETC
'Snooker S c o r e b o a r d " ; A T 7.8; B 80 R E A D z . C p d . r . y . g . n . e . p . U . f ,

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 109


HB—WFPECTRUM POMESTICI

X,M,hi 2 3 0 BEEP .05,40


90 DATA 1,0,0,1,2,3,4,5,6,7,4, 2 4 0 L E T a - a + V A L c«: L E T b l - b l + V
0 , 0 , 0 AL c«: GO SUB 450: IF bl>-hi THE
100 BEEP .1,20: P O K E 2 3 6 5 8 , 8 : P N L E T h i - b l : L E T h « - a « : L E T hi-f
O K E 2 3 6 0 9 , 7 5 : C L S : P R I N T AT 0 , 0 •z
; " P l e a s e : | A T 5,01'Enter player
l's first n a m e " : INPUT aC: GO S 2 5 0 GO TO 180
UB 7 8 0
110 P R I N T AT 8 , 0 1 " E n t e r p l a y e r 2 6 0 LET b2-0
2' 5 -first n a m e " : INPUT b « : GO SU 270 PRINT F L A S H 1 1 AT 3 , v | b « | F
B 790 L A S H 01 AT 3,t J a*I AT 6 , s 2 | b | " "»
120 L E T x*«=" F r a m e s . PRINT A AT 9 , 3 2 ( d ) " "I AT 1 2 , 9 2 1 b 2 | " "»A
T 11,0; "Enter the n u m b e r o-f fram T 16,sZ-(LEN s * / 2 ) | s « I " ": GO S
es o v e r " * " w h i c h the m a t c h is to UB 4 0 0
be p l a y e d " : INPUT l: IF 1<2 T H E N 2 8 0 IF c « - * - " THEN GO SUB 650:
LET x$=" F r a m e . ": IF 1<=0 TH LET b - b - V A L v«: LET b 2 ~ b 2 - V A L v
EN BEEP .5,-5: GO TO 120 «: GO SUB 630: GO SUB 4 5 0 : BEEP
.05,40: GO TO 2 7 0
125 REM 130 S E T S UP M A I N SCREEN 2 9 0 IF c « - " f " THEN GO SUB 600:
GO TO 6 4 0
130 P R I N T AT 1 5 , 1 0 ; " T h a n k - y o u " : 3 0 0 IF c « - " l " THEN BEEP .1,20:
P A U S E 50: CLS : P O K E 2 3 6 0 9 , 0 : P LET GO TO 170
OKE 2 3 6 5 8 , 0 : C L S : GO SUB 1110: 3 1 0 IF c « - " 0 " A N D b O a THEN GO
PRINT I N V E R S E If B R I G H T 1;AT 0, TO 3 5 0
3J "Over " ; 1 ; xSj TAB 20» " Fr atne : " i z 3 2 0 B E E P .05,40
; I N V E R S E 0; B R I G H T 0f F L A S H l;A 3 3 0 LET b - b + V A L c«: LET b 2 - b 2 * V
T 3,tIa$| FLASH 0|AT 3,v;b*;AT 6 AL c«: GO SUB 4 5 0 : IF b2>-hi THE
,1;"Points:"»AT 9,1I"Frames:";AT N LET h i - b 2 : LET h t - b ( : LET hi*
1 2 , 1 » " B r e a k :•J AT 15,1 J "Last"J A —z
T 16,3;"shot:" 3 4 0 GO TO 2 7 0
140 DIM a(1): DIM b(1> 345 REM 350-390
150 FOR q e 1 TO 1 U P D A T E F R A M E S C O R E S tc
160 L E T a=0: L E T b = 0 ! L E T s»=" H I G H E S T BREAK E T C .
" : LET b l = 0 : LET b 2 - 0 : PRI C H E C K S FOR W I N N E R
NT AT 6 , s l | a ; " "J AT 6 , s 2 ; b J "
;AT 9,siici- " ; A T 9,*2;di" M A T 3 5 0 IF a>b THEN LET c - c + l : LET
12,sHblJ" " ; A T 12, s21 b 2 ; • "|A m*-a«
T 16, s 1 - (LEN s « / 2 ) | s * 3 6 0 IF b >a T H E N L E T d - d * l : LET
n«-b«
170 LET b l - 0 3 7 0 LET a ( q ) - a : LET b ( q > - b : IF
180 P R I N T I N V E R S E 1} B R I G H T 1) c >d A N D c >INT (1/2) OR d>c A N D d
AT 0 , 2 6 ; z : P R I N T I N V E R S E 0; BRI >INT (1/2) THEN GO TO 6 7 0
GHT 0 | F L A S H 11 AT 3,tfa*» F L A S H 3 6 0 FOR o-l TO 5: B E E P .l,o: NE
0J AT 3,vj b»; AT 6 , s 1 ; a ! " "i AT 9, XT o: P R I N T AT 1 6 , s i - ( L E N a « / 2 > |
s U c | * M A T 12, s 1 J bl } " "»AT 16, - I AT 2 1 , 0 | "
si-(LEN s*/2);®«J" GO S U B 4 0
0
190 IF c * - " - " THEN GO S U B 6 5 0 : 3 9 0 LET z - z + l : NEXT q
LET a » a - V A L v»: L E T b l = b l - V A L v
«: GO SUB 800: GO SUB 450: BEEP 3 9 5 REM S U B R O U T I N E 4 0 0 - 4 4 0 :
.05,40: GO TO 180 400lc410 S C A N K E Y B O A R D
2 0 0 IF c » = " + " THEN GO S U B 6 0 0 : 430 CRASHPROOFING
GO TO 6 3 0
2 1 0 IF c « - " l " THEN B E E P .1,20: 4 0 0 IF INKEY*<>"" THEN GO TO 4
LET s«-" •: G O TO 2 6 0 00
2 2 0 IF c « - " 0 " A N D a<>b THEN GO 410 IF I N K E Y * - " " THEN GO TO 41
TO 3 5 0 0

110 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6


IPECTRUM DOMESTIC!

420 LET c«-INKEY* - AND +«<>"e" AND +»<>"p" AND


4 3 0 IF c*< >"r" A N D c*< >"y" A N D < > "k " THEN GO TO 6 0 0
c»< > " g " A N D c*< >"n• A N D c « < > " e " 6 1 0 IF + * - " " OR f * - " r " OR f«-"y
A N D c « < > " p " A N D c * < > " k " A N D c»<> • OR 4 » « " g " OR f « - " n " T H E N LET
A N D c * < >"-" A N D C * < > " 1 " A N D f*-"4"
c«<>"0" THEN B E E P . 3 , - 1 0 : GO TO 620 RETURN
400
440 RETURN 625 REM 630 FOUL AGAINST PR. 2

445 REM SUBROUTINE 450-590 6 3 0 L E T b - b * V A L f«: P R I N T AT 6,


4 5 0 - 5 3 0 U P D A T E S« s2|b|" ": B E E P . 0 5 , 4 0 : GO S U B 4
540-500 UPDATE LEAD 5 0 : GO TO 100
LINE
6 3 5 REM 640 FOUL AGAINST PR. 1
450 IF c*«" 4' THEN LET s«-" fo
ul • 640 LET a-a+VAL P R I N T AT 6,
460 IF c«-' THEN LET s»-" er si|a|" BEEP .05,40: GO SUB 4
r or " 5 0 : GO TO 2 7 0
4 7 0 IF c * - 1 r" T H E N LET •«-" re
d" 645 REM SUBROUTINE 650
4 9 0 IF c « - ' y" T H E N LET ye SCORE CORRECTION
llOH*
4 9 0 IF c«-' g* T H E N LET gr 650 BEEP .05,35: BEEP .05,30: I
een" N P U T " P l e a s e E N T E R ball to b e d e
5 0 0 IF c«-' n• THEN LET s«-" br l e t e d " ' v « : IF v » < > " r " A N D v « < > " y
own " • A N D v » < > " g " A N D v » < > " n " A N D v«
3 1 0 IF c«-' e" T H E N LET »«-" bl <>"e" A N D v * < > " p " A N D v » < > " k " A N
ue* D v«<>"f" THEN GO TO 6 5 0
520 IF c*-' p" T H E N LET s»-" pi 660 RETURN
nk'
5 3 0 IF c«-''k" T H E N LET bl 6 6 5 REM 670fc680 E N D OF MATCH
ack *
5 4 0 L E T w«- p o i n t s . - : LET 2 * - " 6 7 0 FOR m-1 TO 3: FOR o-l TO 3 5
leads by "J P R I N T AT 2 1 , 0 | " S T E P 3: B E E P . 0 1 , o : B O R D E R 0 / 6 :
N E X T o: N E X T • : B O R D E R 4
5 5 0 IF a - b - 1 OR b - a - 1 T H E N LET 660 LET a-0: LET b-0: LET bl-0:
w * " " pot nt." LET b2-0: PRINT AT 6,«l|a|" "I
3 6 0 IF a>b THEN L E T w - a - b : PRI AT 6, s2 lb)" M A T 9 , s l | c | " " | AT
NT AT 21,15-•LEN ( a * + z * * N « ) / 2 | a t | 9 , s 2 1 d | " "|AT 12,si I bl I " * I AT 1
z*1H|H« 2,s2Ib2I" "I F L A S H 1| B R I G H T 1|
5 7 0 IF b > a THEN L E T x - b - a : PRI AT 1 6 , 1 0 ! " MATCH OVER "I I
NT A T 21,15- -LEN ( b «+z*+w«>/2|b*| NK II F L A S H 01 B R I G H T 0 | A T 2 1 , 0 )
Z $ | X | H *
560 IF b - a T H E N PRINT AT 20,01
6 9 0 P R I N T Nil F L A S H 1| B R I G H T 1
|" P r e s s any key tor m a t c h info
590 RETURN •: GO S U B 7 5 0 : C L S

595 REM S U B R O U T I N E 6 0 0 - 6 2 0 695 REM 700le710 M A T C H INFO.


600 FOUL SHOT
6 1 0 A S S I G N S V A L U E S TO 7 0 0 P R I N T AT 0 , 9 1 " M A T C H I N F O R M A
CERTAIN FOUL SHOTS T I O N " | INK 7 I A T 1 , 9 1 "
•' INK 0 |
600 BEEP .05,35: BEEP .05,30: I m « | " won in f r a m e " | z | " . " ' " T h e h
N P U T " P l e a s e E N T E R the -fouled b a ighest b r e a k of the m a t c h " * " w a s
1 1 " * * * : IF f * < > " " A N D f*< >"r" AN "J h i|" w h i c h "|h»|" o b t a i n e d - ' M
D 4•< >"y• A N D f * < > " g " A N D f « < > " n n f r a m e "|hi fI"."

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 111


PECTRUM DOMESTIC!

7 1 0 P R I N T ' 'Frame: 'I TAB t|a«|TA 650 RETURN


B v | b * ' INK 7 I "
6 5 5 REM 660-1040 INSTRUCTIONS
": INK 0: FOR w-1
TO z: P R I N T TAB 2 » w | T A B s l f a ( w ) 8 6 0 B O R D E R 01 P A P E R 01 INK 6: C
I TAB s 2 | b ( w ) : N E X T w LS : P R I N T B R I G H T If I N V E R S E 1|
7 2 0 P R I N T Wl| F L A S H 1| B R I G H T 1 AT 0 , 6 | • I N S T R U C T I O N S FOR USE"I B
)" P r e s s •'Y•" to u s e a g a i n R I G H T 0| I N V E R S E 0 ) * ' * " T h e f o l i o
•: GO SUB 7 5 0 Ming m e t h o d has b e e n - ' " u s e d to e
7 3 0 L E T z * - I N K E Y » : IF z * - " y ' TH nter the p o t t e d bal1 . "
EN RUN 6 7 0 P R I N T '"The f i r s t letter o4
e a c h ball I s " * " p r e s s e d on the k
7 3 5 REM 740 PROGRAM REMOVAL e y b o a r d and t h e " ' " v a l u e of that
ball is added t o " * " t h e s c o r e o4
740 CLS : PRINT "This program w the p l a y e r w h o s e "
ill r e m o v e i t a e U " ' ' c o m p l e t e l y 6 8 0 P R I N T • n a m e is f l a s h i n g . • * '
from m e m o r y in f i v e " * ' T A B 1 2 | " s e - e . g . If a red ball is p o t t e d , t h
c o n d s " ! P A U S E 10: FOR n-1 TO 5: e " " R " " Uey is p r e s s e d l a g r e e n ba
B E E P . 1 , 3 0 : P A U S E 40: N E X T n: RA 111-
N D O M I Z E USR 0 6 9 0 P R I N T •the ""G"" Uey, ind s
o o n . " ' "Th< e x c e p t i o n s a n t h o s
7 4 5 REM SUBROUTINE 750-770 e balls"
750le760 S C A N K E Y B O A R D 900 PRINT "whose c o l o u r s begin
w i t h " * B " " . " ' - T o enter t h e s e bal
750 IE1 INKEY*<>"" THEN GO TO 7 Is,the L A S T " * " l e t t e r is u s e d . . . '
50 : GO SUB 1 0 6 0
760 IF INKEY*--" THEN GO TO 76 9 1 0 P R I N T "e.g. To e n t e r a b r o w
0 n b a l 1 , p r e s s " ' " t h e ""N"" keyl a
770 RETURN b l u e b a l l , t h e " " E " " " " k e y | and f
inally the b 1 a c k , • " K " " . "
7 7 5 REM SUBROUTINE 700 920 PRINT 'To c h a n g e the flash
C A L C U L A T E S C O L U M N OF ing of o n e " ' " n a m e tD the o t h e r ,
P R . l'S N A M E tc S C O R E p r e s s " 1 " . " " R e s e t t i n g the poi
n t s to 0 at theend of a f r a m e is
7 6 0 L E T 3—LEN a*: L E T t - 1 4 - ( s / 2 achieved by p r e s s i n g the ""0"
>: L E T s l - t + ( s / 2 ) - 1 : R E T U R N " key."
9 3 0 P R I N T *"If a foul shot o c c u
765 REM SUBROUTINE 790 r s , t h e g u i l t y " ' p l a y e r ' s n a m e sh
C A L C U L A T E S C O L U M N OF ou1d be set to f l a s h and the ""
PR. 2 ' S N A M E k S C O R E F"" key p r e s s e d . "
9 4 0 P R I N T "In r e s p o n s e to the p
rompt w h i c h " * " w i l l appear, ENTE
7 9 0 L E T u - L E N b«: L E T v - 2 5 - ( u / 2 R the f o u l e d b a l l . If the c u e b
): L E T s2-v + < u / 2 > - 1 : R E T U R N all w a s p o t t e d t h e n just press
""ENTER"". The"'"appropriate a
7 9 5 REM SUBROUTINE 600-620 mount will then b e '
P R E V E N T S bl fc a < 0 9 5 0 P R I N T "added to the innoc
ent p 1 a y e r * s ' * ' s c o r e . ' : GO SUB 1
800 IF b1< 0 THEN LET bl-0 060
910 IF^ a < 0 THEN L£T a-0 9 6 0 P R I N T "The program also
620 RETURN offers t h e " * " f a c i 1 i t y of c o r r e c
ting a w r o n g " ' " i n p u t . For e x a m p
8 2 5 REM SUBROUTINE 630-850 le, say you p o t " ' " t h e g r e e n bal
P R E V E N T S b 2 (t b < 0 1 and a c c i d e n t a l l y " ' " a d d the bl
ack to your s c o r e (or"
630 IF b2< 0 THEN LET b 2 - 0 9 7 0 P R I N T "give p o i n t s to the w
640 IF b < 0 T H E N LET b-0 r o n g p1 a y e r ) '*"a11 that you h a v e

112 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6


IPECTRUM DOMESTIC!

to do is p r e a a " "the m i n u s Uey( 1 1 1 0 - 1 1 6 0 S E T S UP P O C K E T S


symbol shift k J) . " '"In r e s p o n s 1 1 7 0 - 1 2 6 0 D R A W S TABLE
e to the p r o m p t , E N T E R "
9 6 0 P R I N T "•"*:•- and the v a l u e 1110 FOR i-0 TO 7: R E A D pi: POKE
of the b l a c k " ' " b a 1 1 will be dedu USR " a " + i , p i : NEXT i
cted from y o u r " * " s c o r e , e n a b 1 i n g 1120 FOR i-0 TO 7: R E A D p2: POKE
the g r e e n ball tobe E N T E R e d " : GO USR "b" • i,p2: NEXT i
SUB 1 0 9 0 1130 FOR i-0 TO 7: R E A D p3: POKE
9 9 0 P R I N T "It should be reme USR " c " M , p 3 : NEXT i
mbered that"'"when correcting 1140 FOR i-0 TO 7: R E A D p4: POKE
a score, t h e * ' " p o i n t s will be USR " d " + i , p 4 : NEXT i
d e d u c t e d from t h e " * " p l a y e r w h o s e 1150 FOR i - 0 TO 71 R E A D p5: POKE
name is f1 a s h i n g , • * " a n d the USR " e " + i , p 5 : NEXT i
last s h o t " " will s h o w " ' " " " e r r o r 1160 FOR i-0 TO 7: R E A D p6: POKE
"" to remind you that a"'"co USR "f"+i,p6: NEXT i
r r e c t i o n is b e i n g m a d e . " 1170 PRINT INK 01 *
1000 P R I N T *"To keep the corr
ect "break d i s p l a y e d , it i
s e s s e n t i a l t h a t " "the player 1190 P R I N T INK "I INK 41
who is s h o o t i n g " ' " s h o u l d have " I
his name f l a s h i n g . " ' "e.g. If pi INK 0|" "| INK 4|"
ayer 1 has just s c o r e d " * " a n d pla "I INK 0|"
yer 2 does not s c o r e , t h e " 1190 FOR i-1 TO 16: P R I N T INK 0
1010 P R I N T "next pot by playe I • "| INK 4 » "
r 1 will b e " ' " a d d e d to his prev
ious b r e a k , a n d " ' " p o i n t s o b t a i n e d ' » INK 0f " ": NEXT i
on two v i s i t s " * " t o the table do 1200 PRINT INK 01" "I INK 4|
not count as o n e " ' " b r e a k . " : GO " I
SUB 1090 INK 0|" ") INK t|"
1020 P R I N T B R I G H T 11 I N V E R S E 1| "| INK 0|"
AT 0 , 9 | " S U M M A R Y OP K E Y S " : I N V E R S 1210 P R I N T INK 01"
E 0: P R I N T * * "R - R e d " ' " Y - Yell
ow " * " G - Green • * "p - P i n k " "N -
b r o w N " * "E - b l u E " "K - b l a c K " " F 1220 P L O T P A P E R 7| INK 4| INVER
- F o u 1 " * " 1 - c h a n g e n a m e flash* SE 1170,24
*"0 - end of frame" 1230 D R A W P A P E R 7| INK 41 INVER
1030 P R I N T "- - s c o r e c o r r e c t i o n SE 1 1 0 , 1 4 3
"* * "This p r o g r a m u s e s the INKEYS 1240 PLOT PAPER 71 INK 4| INVER
" • " f u n c t i o n , so it is not n e c e s s SE 1 1 7 0 , 6 0
ary"* "to p r e s s " " E N T E R " " , u n l e s s 1250 P L O T PAPER 7| INK 4| INVER
this i s " * " i n d i c a t e d by a p r o m p t SE 1(70,64: D R A W P A P E R 7| INK 4

I INVERSE 1|0,64,-PI*1.03
1040 PRINT B R I G H T 1| F L A S H 1|AT 1260 PLOT PAPER 7| INK 4| INVER
2 0 , 2 | "Press - - y - to see instru SE 1 | 1 3 2 , 9 4 : P L O T PAPER 7, INK
c t i o n s " | A T 2 1 , 2 1 " a g a i n , a n y other 4| I N V E R S E 1 1 1 9 0 , 9 4 : P L O T PAPER
key to s t a r t . * 7| INK 4| I N V E R S E 1 | 2 2 5 , 9 4
1050 GO SUB 7 5 0 1270 R E T U R N A
1060 LET z « - I N K E Y « : IF x«-"y" TH 1290 DATA 2 5 2 , 2 5 2 , 2 5 2 , 2 4 9 , 2 4 0 , 2 2
EN GO TO 6 6 0 4,0,0
1070 C L S : GO TO 7 0 1290 DATA 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5 , 1 2 6 , 6 0
1090 P R I N T B R I G H T 1| F L A S H 11 AT ,0,0
2 1 , 2 1 " P r e s s any key to c o n t i n u e 1300 DATA 63,63,63,31,15,7,0,0
... 1310 DATA 0,0,224,240,249,252,25
1090 GO SUB 7 5 0 2, 2 5 2
1100 C L S : R E T U R N 1320 DATA 0,0,60,126,255,255,255
, 255
1105 REM SUBROUTINE 1110-1270 1330 DATA 0,0,7,15,31,63,63,63

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 113


SPECTRUM GAME

Bounce Down
Jack Knight goes beyond catching a
s t r u c t the c a n n o n , not mainly
because i t ' s simpler, but, as
User D e f i n e d Graphics can be
coarse, the result here w o u l d
have been no i m p r o v e m e n t . The
e x c e p t i o n is the rim of the barrel
w h e r e the k e y b o a r d graphics
w o u l d have been too heavy.

bullet — catch a Brighton cannon ball! (You need to w a t c h out for these
t w o User D e f i n e d G r a p h i c s
w h e n t y p i n g the c a n n o n con-
s t r u c t i o n p r o g r a m line). T h e
T h e idea is c r a z y . C a t c h a s e v e n catchers, a n d 5 0 balls purpose of recording c a t c h e s c a n n o n ball had to be specially
cannon-ball^ (but t h a t ' s not all). w i t h w h i c h t o set up a record w a s o v e r c o m e by printing a Y, designed ( c o m p l e t e w i t h shine)
W h a t ' s the cannon-ball doing? score. w h i c h is invisible because the but has been m a d e t o earn its liv-
W o u l d y o u believe, i t ' s bounc- The main s e c t i o n s of the pro- INK colour is the same as the sky ing by doubling, disguised in
ing' g r a m are clearly identified by (and using SCREEN$). ATTRI- w h i t e , as the s m o k e f r o m the
It takes a g o o d eye t o high REMs w h i c h indicate their func- BUTE is used to i d e n t i f y the cat- cannon.
s c o r e in this original a r c a d e tions. But, the f o l l o w i n g c o m cher and also t o ensure the can- Variable i has been used as an
g a m e w r i t t e n in BASIC. To play, m e n t s may be of interest: non ball eraser does not erase o n / o f f s w i t c h t o ensure the ball
use the cursor k e y s and to Variables d and a drive the part of the c a t c h e r . is c a u g h t only w h e n b o u n c i n g
position the catcher t o take the c a n n o n ball across the screen. To introduce variety, the d o w n and to restrict the
ball. But take care, a misjudge- The b o u n c e is achieved by ad track of the ball is not only ran- d e s t r u c t i o n of the catcher t o a
m e n t c a n be fatal, and t h e ding or s u b t r a c t i n g dd ( and us- d o m i s e d at the m o u t h of the direct hit on the raised u p por-
b o u n c e of the ball is not regular. ing a double negative to m a k e a cannon but is diverted tion.
If, instead of going t h r o u g h the positive). ( " u n e v e n e s s of the g r o u n d " ) e n The design of the p r o g r a m
opening, the ball c o m e s d o w n The p r o b l e m of i d e n t i f y i n g route. m e a n s that N e w Game does not
on the raised u p top, the catcher the blue o p e n i n g of the catcher Keyboard graphics have go t h r o u g h the o p e n i n g instruc-
is d e s t r o y e d . Y o u have a store of f r o m the rest of the sky for the been used in particular t o con- tions or the s e t t i n g - u p again.

130 P R I N T ; INK 5iAT 17,f;"Y";T


|H IL-HE 5 CANNON BHLL:. AB -f + l; INK 6 J "C•;AT 18,f; INK 6
S C O R E CATCHERS
J PAPER 3 | " W m m
140 IF ATTR (d,a)< >40 THEN PRI
NT AT d,a;" "
150 LET d~d+dd: LET a=a*aa
160 IF d-=17 THEN GO TO 2 0 0
170 IF d ™ 1 8 THEN GO TO 300
180 IF d=14 THEN GO TO 400
190 GO TO 100
200 REM *DECIDES C A T C H / L O S T CAT
C H E R * ( N B " G R A P H I C S + D)
210 IF ATTR (d,a)=46 AND i=l TH
EN GO TO 3000
2 2 0 IF SCREEN* <d,a)="Y" AND i-
1 THEN PRINT AT d,a;"D": BEEP .
1,0: PRINT AT d,a;" • : LET s=s*5
1 REM *********************** : P R I N T ; INK 7{ PAPER 0;AT 2,9;
• Under 1i ned c h a r a c t e r s * siAT 1,28J j-11" ": LET J - j - 1 ! G
*are entered in * O TO 2 4 0 0
• G R A P H I C S mode. * 230 GO TO 100
*********************** 300 IF ATTR id,a)=30 THEN LET
10 REM * BOUNCE DOWN* by Jack a=a-l: LET aa=0
Knight 310 LET dd=-dd
2 0 LET h=0 3 2 0 IF INT (RND*2 + 1 ) T H E N LE
30 GO TO 6000 T aa=0
90 REM *MAIN ROUT INE*<NB"GRAPH 330 LET i=0
ICS" + D , C ) 340 GO TO 100
100 IF a>31 THEN GO TO 500 400 LET dd=-dd
105 PRINT AT d,a; 410 LET aa=1
110 PRINT AT 17,4+li" "I PRINT 4 2 0 LET i = 1
AT 18,f;- IF ATTR <17,f)<>40 4 3 0 GO TO 100
THEN PRINT AT 17,*J" • 500 LET j » j - i : PRINT ; INK 7; P
120 LET 4= f+(INKEY*=*8" AND *< = APER 0 ; A T 1,28 i j i " IF j = 0 TH
2 9 ) - ( I N K E Y * = " 5 " AND *>=11> EN GO TO 4000

114 ZX COMPUTING FEBRUARY'MARCH 1 9 8 6


K SPECTRUM CAME

T 1 5 , 2 t J A T 16,3;-D": BEEP .3
|H I G H E S T 0 CRNNON B H L L S S , - 2 0 : PRINT AT 14,3J" "!AT 15,2;
=• C O R E 0 CATCHERS
"JAT 16,3}" •
2999 GO TO 100
3000 REM *LOST CATCHER* (NB "GRA
PHICS"+D)
3100 PRINT AT d,a;-D"
3200 FOR a=1 TO 3: BEEP .2,5: BE
EP . 2 , - 5 : NEXT a
3300 PRINT AT 17,+;" ";AT 18,f;
• •

3400 LET g=8"l: PRINT ; INK 7; P


APER 0;AT 2,28;g;AT l , 2 8 i j - l | "
•: LET j = j - l
3500 IF g=0 OR j=0 THEN GO TO 4
000
510 GO TO 2400 3600 GO TO 2400
900 REM *OPENING* 4000 REM *CLOSING*
910 BORDER 0: PAPER 5: CLS 4050 FOR b=1 TO 3
920 PRINT J INK 1iAT 5 , 7 } " I F BA 4100 FOR a=7 TO 0 STEP -1
LL HITS TOP-";AT 7,7;"CATCHER DE 4200 BORDER a
STROYED*;AT 12,6;"TO MOVE CATCHE
4300 BEEP .1,a
R USE";AT 1 4 , I I ; " < - OR ->";AT 16 4400 NEXT a
,6;"(AFTER CANNON FIRES)" 4500 NEXT b
930 FOR a=l TO 20: BEEP . l , a : B 5000 REM *NEW GAME*
EEP . 1 , 2 0 - a : NEXT a: CLS 5100 PRINT ; INK l;AT 5,9;'FOR N
1000 REM If S E T S STAGE* (NB " GRAPH I EW G A M E - " ; A T 7,9;"PRESS --ENTER"
• • *
CS"+A,B,C)
>
1100 FOR a=19 TO 21: FOR b=0 TO 5200 IF INKEY*=CHR* 13 THEN GO
31: PRINT ; INK 4;AT a , b ; " B " ; : N TO 5400
EXT b: NEXT a
5300 GO TO 5200
1200 PRINT AT 14,1;"S"!TAB 0;"WM
5400 IF s >h THEN LET h=s
";TAB 0;"LB'JTAB 0;"B";TAB 0;"0*
5450 PRINT ; INK 7; PAPER 0;AT 2
1300 FOR a=0 TO 2: FOR b=0 TO 31 , 9 ; 0 ; - -;AT i , 2 8 ; 5 0 ; A T 2,28;7;
: PRINT ; INK 0;AT a , b ; " B " ; : NEX AT l , 9 ; h
T b: NEXT a 5500 PRINT AT 1 7 , ' } A T 18,f;
1400 PRINT ; INK 7; PAPER 0;AT 1 " ; AT 5,9; " " ; AT 7
,1;"HIGHEST:0";TAB 155"CANNON BA
, 9». • •
LLS:50";TAB l;"SCORE :0•;TAB 15
5600 GO TO 2000
;"CATCHERS :7"
6000 REM *CREATES GRAPHICS*
1500 PRINT ; INK 6JAT 17,15;"C";
6100 LET z= 255
AT 18,14; 'WM'
6200 FOR a=1 TO 4
1600 FOR a =1 TO 20: BEEP .1,20-a
6300 READ a*
: BEEP . l , a : NEXT a
6400 FOR b=0 TO 7
2000 REM ^INITIALISES VARIABLES
6500 READ c: POKE USR a*+b,c
ETC*JNB "GRAPHICS"+D)
6600 NEXT b
2100 LET 5=0
6700 NEXT a
2200 LET +=14
6800 DATA " A ' , 0 , 0 , 0 , 0 , 0 , 0 , 3 , 3
2300 LET g=7
6900 DATA " B " , 3 , 3 , 0 , 0 , 0 , 0 , 0 , 0
2350 LET i =0
7000 DATA " C " , 2 5 2 , 2 5 4 , z , z , z , z , z ,
2375 LET j=50
z
2400 LET c=INT (RND*2+1)
7100 DATA "D",60,126,239,223,223
2500 LET e=INT (RND*2+1)
,z,126,60
2600 LET d = 14 + c
7200 GO TO 900
2700 LET dd=l
2800 LET a=l+e
2900 LET aa=1 • •• %
v %• <
2950 PRINT INK 7 ; AT 14,3;"D";A

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 115


ZX81 GAME

Alphcmumerics
Darren-John Norbury of
Andover sent us this 1 or 2
player game to make you
think!

A l p h a n u m e r i c s is l>ast?cl u p o n the allocated thirty seconds m a t h e m a t i c a l operations (addi- scores then the higher scorer
the television quiz g a m e ' Count (very rough t i m i n g ! f r o m the tion. s u b t r a c t i o n , m u l t i p l i c a t i o n claims the points (the points be-
d o w n ' . It is designed to lest the displayed letters. A scoring and division), to manipulate the ing equal to the number of let
p l a y e r ' s (or p l a y e r s ' ) q u i c k p r o m p t occurs at the end of t o p n u m b e r s to arrive at the ters in t he player's w o r d ) and the
thinking and agility w i l h letters each g a m e . T h e letters g a m e s target figure (using each of t h e lower scorer receives zero. If the
and numbers. are g a m e s 1 , 2 , 3 . 5 , 6 and 7 t o p n u m b e r s only once, if at all). n u m b e r of l e t t e r s e a c h has
Once again, a scoring p r o m p t a c h i e v e d is equal t h e n b o t h
The g a m e is divided i n t o e i g h t G a m e s 4 arid 8 . therefore, appears at the end of the g a m e . players get the points a c c o r d i n g
rounds, six of w h i c h arc letters .ire the n u m b e r s g a m e s . In this to Ihe value of the w o r d s made.
games, making the test case the c o m p u t e r p e r f o r m s the A l p h a n u m e r i c s can be played In the numbers g a m e each per-
n u m b e r s g i i n i e s . In the letters c h o o s i n g p r o c e s s itself a n d by either 1 or 2 people. If y o u ' r e son a l w a y s scores a c c o r d i n g to
games the c o m p u t e r w i l l pick c o m e s up w i t h a display of 6 tan playing alone then simply enter i n s t r u c t i o n laid d o w n by the
nine letters totally at r a n d o m d o m l y p i c k e d n u m b e r s , five of your score at the e n d of each c o m p u t e r , regardless of w h o is
I f o l l o w ii ig the ' v e r b oi c o n s o w h i c h h a v e c o m e f r o m the r o u n d as p r o m p t e d W h e r e t w o nearer (unless, of course, they
n.int p i o m p t w h i c h is the only range 1 to 10 a n d the s i x t h of people play, h o w e v e r , the scor are m o r e t h a n 1 5 adrift).
say Di.it Die player lias in this w h i c h w i l l be either 2 5 , 5 0 . 7 5 ing is slightly d i f f e r e n t , In the let The maximum points
< box ii( letters) a n d display or 1 0 0 . F o l l o w i n g this a target ters game each of the players available in this g a m e are 8 0 ; m y
[ l i n n The idea then, is t o m a k e figure w i l l be displayed The idea c o m p a r e their respective personal best is 4 6 , o n the one
its long .1 w o n I .is possible inside of the g a m e is, using the four scores. If there is a d i f f e r e n c e in player o p t i o n . Good luck!

l R E M Al P H A N l ' M F R I C S 4 7 I F A= 7 T H E N G O T O 300
6 1 F T S = 0 *=0 P R I N T " R O U N D " ; R " I S A L E T
•1
I F T A = 0 T P S G A M E

1 n P R I N T " a 1 p h a n u m c f : 5 1 F O R F = 1 TO 5 0
H
C 5 5 2 N E X T F

1 1 P R I N T 2 0 0 D I M ( 5 )

1 2 P R I N T " HOW M A N Y P L A Y E R S ( 1 7 ! 0 L E T V * ( 1 ) * " A "

OR 2 ) r>" 2 1 1 L E T V * ( 2 ) = " E "


LL J LL
1 3 I N P U T P 2 1 2 L E T V « C3> =
H Q , .
1 5 F O P T = 1 T O B 2 1 3 L E T ( 4 ? =
» U II
1 7 P R I N T " I N P U T N A M E " J I 2 1 4 L E T ( 5 ) =
N R I
1 8 I F 1 = 1 T H E N I N P UT G * i 'J D I M C * ( 2 ! >
J L E T n p .1
t ^ I F 1 = 2 T H E M I N P U T H I C $ ( 1 ) =
II P II
2 0 I F 1 = 1 T H E N L E T G S = 0 7 7 2 L E T C ® < 2 ) =

2 1 I F 1 = 2 T H E N L E T H S = 0 7 2 3 L E T C $ < 3 ) - M D "

7 2 N E X T I 2 7 4 L E T a (4 1 =
LL P * "

F O R F = 1 TO L 5 0 2 2 5 L E T C * < 5 ) = " G "

2 5 M E X T F 226 L F T C S ( 6 ) = " H "


» J <•
7 6 CL.S 2 7 7 L E T CS< 7 ) -

7 0 F O P R = 1 T O 8 2 2 S L E T C ® ( 8 ) = " K "

4 0 I F R = 4 T H E N L E T A = 2 7 2 9 L E T C S ( 9 ) = " L "

4 1 I F R = 5 T H E N L E T A = 0 2 3 0 L E T C * ( 1 0 ) = » M "

4 2 I F R = 3 T H E N L E T A = 2 2 3 1 L E T C S ( 1 1 ) s ' N "
I| P LL
4 4 I F A ~ 2 2 3 2 L E T C $ ( 1 2 )
=
T H E N P R I N T " R O UN D " ;
(L » 2 3 3 L E T C $ ( 1 3 ) = " Q "
R ; I S A N U M B E R S G A M E

4 5 f o p r = i TO 5 0 2 3 4 L E T ( 1 4 ) — " R "

N E X T F 2 3 5 L E T C * ( 1 5 ) = " S "

116 ZX COMPUTING FEBRUARY/MARCH 1986


ZX81 CAME

236 LET C$(16)="T" 830 DIM ES(5,3)


237 LET C$(17)*"V" 840 LET E$(L)="25"
233 L.ET C${18)="W" 84 1 LET E$( 2 ) = "50"
239 LET C*(19)= "X" 847 LET E$(3)="50"
240 LPT CS ( 2 0 ) = " Y " 843 LET E$(4)="100"
241 LET CT(21)="Z" 844 LET ES(5)="75"
250 CLS 370 LET F = I NT <RND*5)+1
260 PRINT "VOWEL OR CONSONANT? 330 PRINT
(V OR C?)" S90 PRINT E<£(F);" •;
265 FOR T=1 TO 9 =>20 FOR 1=1 TO 5
270 INPUT BS 930 LET W = I NT (RND* 10 >+ 1
280 IF B$="V" THEN GOTO 300 940 PRINT W; RT
290 IF BS="C" THEN GOTO 350 950 NEXT I
300 LET D=INT <RND*5)+1 955 PRINT
305 PRINT " ";VS(D)J 956 LET H=0
3 \ 0 GOTO 370 960 LET H=INT (RND*1000)+1
350 LET D = I NT (RND*21)+1 1000 PRINT "THE TARGET FIGURE IS
360 PRINT " B ;CS(D); "; H
370 NEXT T 1 005 PRINT
380 PRINT 1010 PRINT "YOU HAVE 3 0 SECS TO
390 PRINT "YOU NOW HAVE 30 SEC. G E T ,AS N E A R "
S I N WHI CH- 1 020 P R I N T -AS POSSIBLE"
4 0 0 RP I NT " T O MAKE THE LONGEST 1030 FOR F= 1 TO 100
WORD YOU " 104O NEXT F
410 PRINT "CAN FROM THE ABOVE L 104 5 PRINT
ETTERS" 1050 PRINT "START"
420 POR F=1 TO 100 1055 PRINT
C0R P=1
425 PRINT 1060 TO 900
4T0 P R I KIT " ST ART " 1070 NEXT F
440 FNP F=1 TO 900 1 030 PRINT "STOP"
444 NEXT F 1090 PRINT "ENTER YOUR SCORE - I
44 = PF: I N T 0 POINTS "
JFCO P P I N T "FINISH" 1 1 0 0 P R ! NT "FOR SPOT ON, 5 FOR W
4 70 PRINT ITHIN 15"
4 SO PRINT "NOW CHECK THE VALID: 1 1 02 PRINT
TY OF
YOUR" 1 1 C4 PRINT "WHAT HAS "!G$;" SCOR
490 PRINT "WORD AND ENTER YCL'R ED?"
SCORE • n 1 105 I N P U T G>
500 PP I NT » pnX NTS CPP USING 1 1 0 6 L E T GS = GS + Q
" LETTER?" 1 107 IF B= 1 THEN GOTO 2000
505 PRINT 1 103 PRINT "WHAT HAS "}HSJ" SCOP
c^ O P R I N T "WHAT HAS i ii rL tt> it " 3CCR "

ED*"' ! 0° I NP'JT V
510 INPUT 0 1 1 1 0 I E T H S= H S + V
M ! L E T GS - G S * Q 2000 NEXT P
512 I C S= 1 THEM GOTO 20 10 CI r
C ( —
"WHAT HAS 11 QJ-^ip 201 2 PR T NT v •v-**yv.
PRINT " (HE;
E r*- 1 " * "

514 INPUT V 2013 PRINT FINAL SCOPH


5 15 L E T H S = HS + V c »

525 PR I N T 2014 PRINT * * * * * * X* * **


530 GOTO r000 *"

800 CLS 2016 PRINT GS;" SCORED ; GS


310 PRINT "POUND " ;P ; " IS A MUM 2017 PRINT
BERS GAME " 2018 P R I NT H$;" SCORED ";HS
320 PR I N T "HERE APE YOUR 5 ML'ME 201« PRINT
ERS" 20<20 P P T NT "MAXIMUM =30"

117 ZX COMPUTING FEBRUARY/MARCH 1986


ZX81 CAME

board (lines 2 5 0 0 - 2 5 4 0 1 .
N o w , using the cursor keys,
y o u m o v e the letters a r o u n d (ob-
viously y o u c a n only m o v e each

Letter Puzzle
letter horizontally or vertically
into the e m p t y square). This is
dealt w i t h in lines 1 0 0 3 7 0 . The
m o v e s y o u make are c o u n t e d ,
and a hi score (or rather a low-
score) is kept for finding the
s o l u t i o n in the least possible
moves.
A beautiful presentation of the block You will find that there are

puzzle game from Joao Campos of


s o m e initial settings that do not
a l l o w f o r a proper s o l u t i o n ;
t h a t ' s w h e n the last three letters
Portugal. are M - O - N instead of M N O; in
this case, either press the " F "
key to restart g a m e , or w a i t for
the c o m p u t e r to tell y o u that the
I have used letters in this version s o l u t i o n is i m p o s s i b l e (lines
rather t h a n the more o f t e n used 5 0 0 0 5 0 1 0 ) and invite y o u t o
A$ and B$ The t w o possible s o l u t i o n s . n u m b e r s , the m a i n reason being restart llines 4 1 4 0 - 4 1 7 0 ) .
C$ Set of the 1 5 letters + space. that e a c h square is represented
0$ Auxiliary set, t o load L$ r a n d o m l y . by only one character, and this
G$ and H$ The t w o " s o l u t i o n i m p o s s i b l e " c o n f i g u r a t i o n s . means it is easier to identify for
I and J Loop c o n t r o l variables. moving.
K$ INKEY$ hold. Once y o u have ENTERed and
L$ Letter d i s p o s i t i o n in the board. S A V E d the final version and y o u
M Original position of the m o v e d letter. have RUN the p r o g r a m then,
R R a n d o m pointer to C$ and D$ . after the title page has been
RCD Hi score. displayed, y o u have the o p t i o n
S Moves counter. of c h o o s i n g f r o m t w o solutions
s$ Initial o p t i o n (0,1 or 2 ) . of the puzzle. Y o u may c h o o s e
V E m p t y p o s i t i o n in the board. solution number one, or t w o , or,
X and Y Printing c o o r d i n a t e s ( c o l u m n a n d line). by pressing 0 , take any of the
t w o (lines 1 0 0 0 - 1 2 2 0 ) . The
This p r o g r a m is about 5 . 7 K long. c o m p u t e r t h e n s h u f f l e s the let-
ters (this is done in FAST m o d e
lines 6 0 0 - 9 9 0 ) and displays
f-igt/re I The main variables the initial d i s p o s i t i o n of the

130 LEI L s (M; = " "


1 9 0 L E T 5 = 3 + 1
2 0 0 P R I N T h T 13 3 + i 3 < 1 0 0 ) •MS 10
i ;S
2 1 0 GOSUB 3 0 0
2 1 5 I F L $ =G 5 OR L $ =H $ THEN C-0~0
5000
2 2 0 I F L $ = H « OR _ $ =6$ THEN GOTO
4-000
2 3 0 GOTO 1 0 0


3 0 0 LET Y =3 t I N T S U / 1 0 > t 2
MOUES 310 .FT X =3* •U-INT ( U / 1 0 ) * 1 0
3 2 0 P R I N T hT Y;>: TAB X i
13 j (U) ; " | " ; TAB X
0 LET Y = 3 * I N T tM 1 0 . i + 2
3 4 0 i_ET /•' = 3-*• <:M-INT ( H / 1 0 ! - 1 0 . 4 .
3 5 0 P R I N T AT Y ; X ; " ";TAB X
";TAB X;"
3 6 0 L E T U=M
7 0 RETURN
600 FH5"
610 DIM A $ ( 5 4 )
5 RHND 6 2 0 D I M B5 ' 5 4 I
10 GOSUB 3 0 0 0 630 DIM L $ • 54•
2 0 GOSUB 1 0 0 0 640 L E T OS = " f l B C D E F G H I J K L M N O
30 GOSUB 6 0 0 645 LET D$=C$
100 I F INKEY5=" THEN GOTO 1 0 0 650 FOR 1 = 1 1 TO 1 4
1 2 0 LET K 5 =INKEY% 5 6 0 LET H ; I I • =C 5 ; I - 1 0 1

1 3 0 I F K $ = : F : ' THEN GOTO 4-14-0 670 LET 5 5 ( I ) = 0 5 ( 4 * 1 - 4 - 3 )


1 4 0 I F K 5 < " 5 " OR • K$ > " 3 ThEf-i GO 660 GOSUB 9 0 0
TO 1 0 0 6 9 0 NEXT J
150 LET M = U : K | ) - 1 0 * £K$ = 6 7 0 0 FOR 1 = 2 1 TO 2 4
i +10 + ( K $ =711:« - i K $ = " 3 " ) 7 1 0 L E T A $ i I ; = C S i I - 1 6 . i
1 6 0 I F L $ t M; = ' THEN GOTO 1 0 0 720 LET S5 1 I ) = 0 5 !. 4 * I - S 2 m
1 7 0 LET L $ i U ; =LE tM) 730 GOSUB 90.0

118 ZX COMPUTING FEBRUARY/MARCH 1 9 8 6


ZX81 GAME

i M-t?
—r a tI iNpf"c* A
' " 1 I" T
J. 2050 PRINT RT MOUES";TRB 2
""50 r ' j h . j. — w' j. t 34 4 ; " H I - S C O R E " ID R O D < > 1 0 0 0
750 LET R$ ( I ) = C $ ( I - 2030 PRINT RT 1 3 . 5 ; 3
^70 LET R$ (1) = C $ : 4 * 1 - 1 2 1 ) 2035 IF RCD<>1000 THEN PRINT R
7 . 5 Ci G0 S U£ 900 1 3 , 2 3 + ( R C D < 1 0 0 ) + (RCD <10) ; P C D
790 NEXT I 2070 FOR 1=11 TO 14
S00 FOR 1=41 TO 2030 GOSUB 2500
310 LET R $ ( I ) = C 5 ( 1 - 2 3 ) 2090 NEXT I
320 L E T B $ • I ) =C:5 ( 4 * 1 - 1 6 0 ) 2100 FOR 1=21 TO 2 4
330 GOSUB 900 2110 GOSUB £500
40 NEXT X 2120 NEXT I
350 GO S U B .2000 2130 FOR 1=31 TO 3 4
330 SLOW 2140 GOSUB 2500
370 RETURN 2150 NEXT I
900 i_ET R = I N T (RND*15) +1 2130 FOR 1=41 TO 4 4
910 IP D$(Si T H E N GOTO 930 2170 GOSUB 2500
'="20 L E T R=R + 1 2130 NEXT I
930 IF R >13 THEN LET R=1 2190 RETURN
94.0 GOTO 910 2500 LET Y = 3 * I N T ( 1 / 1 0 ) + 2
950 LET L$ (I) =C$(R) 2510 LET X = 3 * ( I - I N T ( 1 / 1 0 ) +10>
930 L E T D $ (R • = " + " 2530 IF i_$ ( I ) ' > " " THEN PRINT
970 IF L $ ( I ) = " THEN LET U= I v1 t • , ' F 3 * * ' " ; T R B X "I M s (I) ; " i
930 LET G $ =R % RB X; • LHJ"
931 LET G S ( 4 2 > =R $ ( 4 3 ) 2540 RETURN
932 LET G$ ( 4-3) = R $ ( 4 2 ) ^000 LET RCD=1000
933 LET H$=Bs 3010 PRINT 1 J , C A M P O S " J T A B 2"
934 LET H$ (24-) = B $ ( 3 4 ) 34"
935 LET H$ (34-) = B $ ( 2 4 ) 3020 PRINT
990 RETURN 3030 PRINT
1000 CLS
1020 P R I N T TwE. 9: 3040

103 0 PRINT AT 2 ; ? : " — o e M f i B 1 3050 PRINT


9; : , , ,AT 3 , 7 ; " IhBlCJ " ; T A B 1 fij&K. ^ L
9 , ' inEThi ' : TRB 7 " i EFGHi <1 '; TRB 3030 PRINT
19; 11 I B F J N I ; TRB 7; " JIJKLi " ; TAB 1 3 0 7O PRINT
7; " 2 • iCGKOi ThB 7 ; " |MNO i " ; T A B
19. jPHL I -; TRB 7 . " 1 "; TRB 1 3030 PKINT
q " • • in 1 1 >i gjg I B t "
104-0 P R I N T AT 9 , 2 ; "CHOOSE YOUR 0 309O PRINT
P T I O N : "
1050 PRINT ; , T h B 2 ; " 8 FOR SOLUTI 3110 - P I N T
ON 1 j " d J j L i m u j A i & f e i
1030 PRINT , •, T H B 2; FOR SOLUTI 3120 PRINT , , ; , , . T R B 3; (PRESS R
ON 2 ; " NY KEY)"
1370 PRINT ..THB 2 ; "13 FOR ANY OF 3130 IF INKEY $ = '" T H E N GOTO 3130
THE TUG . 3140 RETURN
1030 If :NKEY$ <> "HEN GOTO 103 4000 IF 3$ = " 1 " R N D L $ < > R $ OR 3 3 =
" 2 " RND L 5 < B$ T H E N GOTO 100
1090 IF I N KEY 5 = " T H E N GOTO 1090 4010 FOR 1 =1 TO 10
110.0 L E T 5 $ = I N KEY 5 402C PRINT wT 2 0 , 2 ; flfaHTTrf^-^y^
1110 IF S$<"S" OP 3 5 > " S " THEN GO CONGRATULATIONS."
TO 1030 4030 IF 3 > =RCD T H E N GOTO 4060
1120 PRINT RT 1 3 . 5 ; " * YOU CHOSE 4040 P R I N T RT 1 0 , 2 5 ; " R NEW"
OPTION CHR$ (CODE S$+12S) 404-5 P R I N T T R B 2 4 ; " H I - S C O R E "
1130 PRINT RT 2 0 . 3 ; " T O NO'JE _ET~ 4050 PRINT RT 1 3 , 2 3 + i S ' 1 0 0 ) + :S I
ERS, ;TAB 3; USE KEYS 5 5 7 3' 0) ; 5
1140 FOR 1 = 1 TO 125 4030 FOR J = 1 TO 2
1150 NEXT I 4070 NEXT J
1130 CLS 4-030 P R I N T RT 2 0 , 2 ; " Y O U MADE I ~ .
1 1 7 0 Tr-.r\ T.IT
~ r> J. • 1
QT
n t 35J2T*Z^qsgsM^a
W I S H T O 5T OP , j' , 4 0 911 0 I F 3 <RCD THEN PRINT RT 10 2
p" n If C^ • ^.TBCTI—t
,
M T
- , , , Ti-R ' ^ i J. '0 '. TR
er • " 3 H U F F .
B*
D •_• i-1_
r -r-—
i 1 ! —
~
4 1 0 0 FOR J = 1 T O 2
1 1 3 0 F ~'R J = 1 T.1U 4 1 1 0 NEXT J
1190 NEXT I 4 1 2 0 NEXT I
1200 L E T 3 4 1 3 0 IF THEN LET RCD=3
RT 21
1220 KETURN
4 145 IF I N K E Y S <> ' THEN GOTO 4-14
3
2010 PRINT AT 3, 4 1 5 0 IF I N K E Y 5 =' T H E N GOTO 4150
AT 1 3 , 3 ; " =Bn 4 1 3 0 CLS
R T 4. 3 I g H M M 4 1 7 0 GOTO 20
S, I M S . 5 0 0 0 PRINT RT 2 0 , 6 ; W l A f c E S T C ^ S
2020 FOR 1=5 TO 13
2030 PRINT RT 1 , 8 ; " H ;TRB 22; 5010 GOTO 4-140
1 9000 SAUE "PUZZLg"
2040 NEXT I 9010 RUN

ZX COMPUTING FEBRUARY/MARCH 1 9 8 6 119


ZX COMPUTING
Lineage: 40p per word F^ J
Semi display: €9.00 per single column centimetre Ring 01 - 437 0699
for informalion on series bookings/discounts.
Send your requirements to:
STUART TAYLOR
All a d v e r t i s e m e n t s in this s e c t i o n must be prepaid.
A d v e r t i s e m e n t s are a c c e p t e d s u b j e c t to the terms a n d c o n d i t i o n s A S P Ltd., 1 G o l d e n S q u a r e ,
p n n t e d on t h e advertisement rate c a r d (available o n request). L o n d o n W1

1 • UTILITIES SOFTWARE 1

SPECTRUM TAPE AND DRIVE


TRANSFER UTILITIES
ALL S P E C T R U M o w n e r s n e e d T C ? - o u r s p e c i a i i a l t a p e u t i l i t y S e n d SAE tor FULL
HORSE RACING WINNERS
D E T A I L S of this a m a z i n g a n d w i d e l y used p r o g r a m
• Integral header reade-
* i n c l u d e s B A U D R A T E (speed) measurer A l l e r a p r o f i t a b l e Hat season we have i n t r o d u c e d an e x c i t i n g p r o g r a m tor the
* can save high speert |erky parts in " n o r m a l f o r m tor DRIVE transfer N a t i o n a l Hunt — the B R I M A R O O N J U M P F O R M U L A
• -.0 m a n y extra features wfs c a n ' ! possitny list them here Just try H a n d see As m e
market leadei w e c a n t aftord to let y o u d o w n This is N O T A G A M E , b u t a s e n o u s p r o g r a m tor a n y o n e interested in making
C O S T only £6.50 (Of £9.99 o n c a r t r i d g e w i t h MT6 a special m drive p r o g r a m — money o u t of horse r a c i n g However, y o u d o n ' t have t o have r a c i n g k n o w l e d g e l o
£7.50 w i t h M T 6 o n tape) use the p r o g r a m it >s user f r i e n d l y a n d g u i d e s y o u t h r o u g h o u t

It d e a l s d i f f e r e n t l y w i t h i n e v a r i o u s t y p e s of races a n d i n c l u d e s past form. speed

TAPE TO DRIVE TRANSFER OF RECENT


I gufes g o i n g , d i s t a n c e winners, ctass of horst-s trainers at d i f l o r e n l c o u r s e s . etc
a n d i n c o r p o r a t e s m u c h specialised racing k n o w l e d g e

PROGRAMS T h i s k n o w l e d g e w a s put to g o o d use dvi'ing the Hat season w h e n , despite the poor
s u m m e r and i1s effect o n results, o u r flat p r o g r a m the Briroardon F o i m u l n
recorded on i n c r e d i b l e 39®° profit m a r g i n A l l <esulls are f u l l y c h e c k a b l e
Yes S P E C T R U M o w n e r s n o w have .1 L O W C O S T w a y ot t r a n f e r r i n g m a n y of even
m e L A T E S T h i g h s p e e d ' l e r k y p r o g r a m s t o their drives You w i l l bo amazedl Other Our c u s t o m e r s w e i o naturally d e l i g h t e d '
m e t h o d s are expensive or very limned.
"/ am most impressed by your oflo'ls to make racing pay • Mr G. T fCarhslej
Fir'.My y o u need our M O i 1; I tor m - d r i v e l or WD16 (lor Wafa or Disc drive They give
y o u the loots l o c o n v e r t p r o g r a m s so that Ihey will run o n your drive Includes Thanks for giving ma the etitjo ovor the nooktes - Mr. J.T. 'Wigan)
ability t o c o p e w i t h v l o n y p r o t j i a m s c a n s p t i l / c h o p byles in one g o . ' VAL creator,
FIEMkili make Visible, etc. etc FULL m a n u t i (highly r a l o d by C R A S H : w t l h "Ploase lot me know it you nave a National Hunt program as good as the Bnmardon
e x a m p l e transfers i a l s o n e ^ r l T'C7 lor latest p r o g r a m s : M D l b or W D 1 b cost £6.99 Formula ' - Mr S.H. t Hertford!
Manages mote programs" - Your S p e c l r u m ( T C 7 3'SO needed tor latest
Very many thanks lor two wonclorlut programs which are such fun to use and
programs)
worth every pound spent on them ' Mr T II iHomel Hempstead,
I have lound your program excellent • Mr C.S 'Woodley

LERM INFORMATION SHEETS Thank you very much lor a f00% service • Mr J H r Blackburn)
A return oICI80 Mr. J.G. tPrestwick)
E a c h sheel gives y o u the D E T A I L E D i n s t r u c t i o n s r e q u i r e d t o transfer 8 ot the m o r e
Full i n s t r u c t i o n s are a l s o senl on how to adapt the p r o g r a m t o your o w n n e e d ; a n d
P O P U L A R p r o g r a m s lo drive using our s o f t w a r e T n e y c o s t £ 1 each plus SAE. J p t o
i n c l u d e any ideas of y o u r o w n if y o u wish t o do so
sheel 5 avaiiabie.
TRANSFER PACK - T C 7 - M T 6 M D 1 b on C A R T R I D G E * i n f o r m a t i o n sheet* 1-3 PRICE £20 Ithis i n c l u d e s f u l l o p e r a t i n g i n s t r u c t i o n s and 10 pages o l d e t a i l e d
all tor £15.30 (other drive o w n e r s get p r o g r a m s o n tape - sheets l o t same price w i t h g u i d e l i n e s o n h o w to make r a c i n g pay)
WD l b r e p l a c i n g M D I b ) .
U P D A T E SERVICE: for lalest version o n v o u r L E R M prodtiC! send o l d tape arge
SAE to get a £2 R E D U C T I O N OVERSEAS: a d d £ t Europe. £2 o t h e r s for e a c h
p r o d u c t SAE lor enquiries Available for B B C ( B ) , S P E C T R U M , C o m m o d o r e , A m s t r a d .
S e n d c h e q u e or P.O. for r e t u r n of post service to
ALL P R O G R A M S CARRY OUR M O N E Y B A C K G U A R A N T E E (not u p d a t e * )
B R I M A R D O N C O M P U T E R R A C I N G SERVICE
LERM. OEPT ZX. 10 B R U N S W I C K G D N S . C O R B Y , N O R T H A N T S NN18 9ER. 48, P i e r r e m o n t Road, D a r l i n g t o n D L 3 6 D H

O t h e r r a c i n g software also availaD e. i n c l u d i n g the p r o l i t a b l e BRIMAROON


F O R M U L A for the tlal Details o n request

PUNTERS PARTNER FREE S P E C T R U M software oan


W n l l r n by a mathcmiilx'iin. fotmcily when you iOtn our library Games
permutation adviser for a leading pools educations .' Utilities available Full
VIDEO
rifrm
INTERFACE 007 FOOTBALL Of »ll forecasting mclhtxte I
have seen I consider yours the most
details I torn Cygnet Software'. 412
Fulbndge Road Wemngton. Peter-
The Ullimate device to transfer bcillian Mr E D of Somerset (copy to this
magazine) borough, Cambs PE4 6SE
ANY program, even Hyper Loads By a n a l y s i n g r e c e n t r e s u l t s an
to a Microdrive (Wafa/Disc- XXX V I D E O ACCUHA1E raling is computed tor each
team 'about 65 lor lowly Dn 4 o r S c o l s 2 t o
S E N S A T I O N A L postal software
drtve versions available shortly) 100 for a lop c l a i i clubl TRUE ODDS for bargains for Amsirad. Atan BBC
Simply load as normal, press a T e l e p h o n e (day or night) any match between these teams are C o m m o d o r e (ail f o r m a l s ) .
button on interlace 007 a n d i h e 0373 - 830563 displayed
HOMES AWAYS DRAWS shown order
Electron. Spectrum For Iree list
program Iree/es. Press a key & FOR DETAILS o l -nent send a SAE or phone Teletex
a special copy Saved to tape TREBLE CHANCE matches selected in Ihu Cleckhealon 0274 875299 2 8
same pattern as score d'aws occur on Ihe
Reload this by MERGE ' Enter Glossy list from: XXX Video coupon Brooklyn Court, Bradford Road.
GO TO 2 and program virtually Ciub, 2 Streatham High Rd.. UNIQUE scciiinulalive o d d ! calcu'slnr for Cleckheaton. W Yorks
lumps onto cartridge. Cartridges London SW16 individual (lued) odds betting
RACING Popular bets explained Com-
ALARMS
(You must be over 18 to ask for details)
Load independent of interface. prehensive calculator gives felums from
almost any bet
INTERFACE 007 . £29.95 EASY TO USE lull instructions given
{plus f l 50 Reg postage! FOR S A L E throughout Past results 4 team names are
in the program Updating cculdn't be
B U R G L A R A L A R M Equipment
O ' s e a s Europe *£2 Others - £ 4 easiei Please visil our 2,000 sq, ft,
S I N C L A I R 16K rampacks for ONLY £8.95 (overseas please add £! p i p ) showrooms or write or phone for
ZX-GUARANTEED (Dept ZX) Z X 8 1 . £ 6 . i n c l u d i n g VAT & BOXOFT (Dept Z)6S ALLANS MEADOW. your Iree catalogue. CWAS Lid.,
29 Chadderton Drive. Urisworth. NESTON. SOUTH WIRRAL L64 9SO
postage Halbar. Unit 1 Bury Walk, Tel: 051-33$ 2668 100 Rooley Avenue, Bradford BD6
Bury. Lanes. Tel: 061-766 5712 Available lor 48K Spectrum only IDB, Telephone (0274) 731532,
Bedford. Beds
TO ADVERTISE YOUR REPAIRS AND
SPARES SERVICE PHONE STUART TAYLOR
01-437 0699
COMPUTER REPAIRS FREEPOST
SINCLAIR
SPECTRUM REPAIRS
rtctfrfeiMttil! rm'ojwivtrtSntisrcynpijlws
sf«< ir« rtraiiKi w c( ffif DW
Boat »ailE n w m Hlrsate w i t f i i SinctMr
COMPUTER REPAIRS
Kffijwm at preeqtBteCiirclu&He carta isiair. All m a c h i n e * d e s p a t c h e d w i t h i n 72 G u a r a n t e e d Six M o n t h s
CCStia;. VAt, fncswtvt 0 laJI V: tiiXM «»!()!'. h o u r s o l receipt We have been maintaining all types ot computer syslems from
Recurs guai jfllttd lot 3 monies S p e c l r u " i £ 17.00 ZX-81 £12.50
Spicfruni £1S;Srep»1s S p e c l r u m 16 t o 4BK upgrade £25.00
mainframes to micros for over 15 years and offer you:
l i n e parts. VAT a n d r e t u r n p o s t a g e )
OK El 1 SO nc pals
For a ( a i t a n d reliable service. s e n d
• Full overhaul and update with each repair
•t«Rim rt^S ncpali
UCra#M {15 55 nt pati m a n c m e . b n e l d e s c r i p t i o n o t fault a n d • Six months warranty on w hole computer not only the
Knfarr 1 11 flSftfleprt c h e q u e or postal o r d e r t o the e x p e r t s repair done
SUB Capital Computer Services, • 24hr turnaround on most faults - including soak test
Eft fWOO-parti Sinclair Depl.. 44 Rich's Road.
Etrew £1996 - parti Cardiff CF4 4AA.
• Returned to you by first class post fully insured
iKMtmriLqxKGwKil £15® Tol: (0222) 614401. • Freepost we pay the postage both ways
Civquwftelitnptoisepfxnt • All inclusive price lor any fault £20
&&txa< trade Pret M P ELECTRONICS (ZX), FREEPOST,
Cill or lord * i f tfeoje « P 0
TV. Servion el Cwntudqe Llil. DEREHAM. NORFOLK NR19 2BR
Frmcft i Road. Cmitrrt* CBdW Tel: 036287 327
I n (p?3 311371 BBC SPECTRUM REPAIRS
• S p e c t r u m repairs £18 96 mc parts,

S P E C T R U M REPAIRS •
insurance and p p
B B C B repairs £18 9r> • pints,
insurance and p • p
GIVE
S e n d your c o m p u t e r w i t h c h e q u e or
We expertly repair Speclrums
for Cl 7 inclusive of parts and
labour and relurn poslage
P O. for £18 95 and d e s c r i p t i o n o t tault
to SUREDATA (ZX).
Computer Service
YOUR SINCLAIR REPAIRS

BUSINESS
45 W y c h w o o d Avenue, E d g w a r e . New low li>ed prices Just look ill these —
Speclrums upgraded to 48K (or M i d d i . Tet: 01-951 0124 PL53 Speclmm/Plus £15.00
C34 inc P&P All keyboard Microdrive
Interface I
£18.00
£18.00
faults cosl only CI2
A BOOST
Interlace 2 £12.00
R. A. Electronics, ZX Printer £12.00
133 London Road South, Special winter otter t6-48K only £24 00
Please enclose briel description ot fault
Lowestoft. Suffolk.

CALL
SINCLAIR SERVICE CENTRE and £1 80 p i p lor each item sent to
Tel: (0502) 66289. Micro-Mend, Main Si, F « « l ,
Peterborough PEJ 3DB
Fast repair service for S p e c t r u m , ZX81. Tel: (0733) 241718

STUART
Interface 1 and r m c r o d n v e AH units
repaired to o r i g i n a l slnndard hy our
ZX S P E C T R U M REPAIRS H N C qualified Matt Average rnptur
CHECK THESE FACTS cost £15 but tor l i e r e s t i m a t e send your

TAYLOR
m a c h i n e w i t h £1 95 i r e t u r n p o s l a g e i
1 F AST R E L I A B L E SERVICE
w i t h a briel d e s c r i p t i o n of fault T u r n -
2 Q U A L I F I E D STAFF around appro* 24hrs. Established SPECTRUM REPAIRS
3 3 MONTH GUARANTEE International Service O u t w o r k is fully £14.95 inclusive of labour parts and p i p .
• • FREE P O S T E R • •

ON
g u a r a n t e e d Personal callers w e l c o m e Fast reliable service b y q u a l i f i e d c n g s
S e n d your m a c h i n e o n l y average r e p a . ' 2 4 h r s 3 m o n t h s guaran-
Plus ,1 c h e q u e ' P O for £ t 9 95 QUANTUM tee Ftw help Of odvit e ring
To M I C R O T R I X 33 City A r c a d e . C o v e n t r y C V t 3HX H S C o m p u t e r Services. Unit 2.

01-437
24 Gl. Moor SI B o l l o n BL1 1NP or p h o n e (0203) 24632 Of (0203) 7 t 4080 The Orchard. W a r l o n . Preston.
Tel 0304 396176 Lancashire PR4 1 BE Tel: (0772) 612686

0626
ACCESSORIES ELECTRONICS WANTED
« Connect a monitor t o your Spectiunt
E L E C T R O N I C S T A P E F O H 48K
• Super sharp text Superb colour graphics •
SPECTRUM • True T1VAnalogue outputs • come syncs
ZX S P E C T R U M
Fof small businesses and hobbyists Input
CAN YOU : im in 290
• Monitor quality pictures - no del crawl specification lor full det.rls of Any elect- Then call me now on 01 405 0978


Suns HGB monitors 4 monitor-'TVs
Simply plug - , into expansion port
ronic circuit SendCIS.00torqu*ckreptyto i Pat) anyiime
OUTPUT •

No Separate p<j*w Supply required
Mew through port version Anciws connection ot modems
N.J. E D W A R D S .
68. Woodhill Rise. C o s l m e y . Norwich

MODULE |0y 5lick interlace;, ele


Price £34 95 o• £36 95 (through portl • £ l p i p many addons pan 8
Norfolk NRS 0DW

software SAE lor details


20 Starling Close. B u c k h u r i l Hill Essex IG9 5TN
Tet. 01-504 2840

WARNING NOTICE
Advertisements placed in this magazine are to be in strict compliance with our standard conditions
(copies of which conditions are available on request) and on the clear understanding that the advertiser
warrants that his advertisement(s) does not infringe any c o p y r i g h t or condition of sale of any interested
party in the advertised product.
Further, the advertiser indemnifies the proprietors of this magazine in respect of costs, damages, or any
other claims brought against them as a result of legal action arising from the publication of the
advertisement.
Any breach of these terms or the said conditions may result in prosecution of the advertiser by the
proprietors.
TERMS &
FOR HIRE
CONDITIONS

CLASSIFIED ADVERTISING
TERMS & CONDITIONS
Hire & Exchange Software. Our 1*rm* lor n«w advertiser* (seml-
display and lineage) are strictly pro-
E x c h a n g e y o u r s o f t w a r e ! P h o n e or lorma payment* until satisfactory
s e n d list o l y o u r s o f t w a r e a n d a s k reference can be taken u p (encludlng
f o r d e t a i l s . S o f t w a r e hire1 N o recognised advertising agencies)
Cheques and PO's should be crossed
m e m b e r s h i p c h a r g e P & P tree
and made payable to
H i r e t a p e s I r o m £ i 50. P h o n e f o r
ARGUS SPECIALIST PUBICATIONS
details LTD .
T & P Software. 4 Maine Road. and send together with the
N e w l a n d . D r a x , S c l b y . N o r t h Yorks. advertisement to
Tel: 0757 618007. THE CLASSIFIED DEPT.. L H.
NO: 1 G O L D E N SQUARE LONOON.
W1R 3AB
There are no reimbursements tor
cancellations. Advertisements arriving
too tale tor a partlclular Issue will be
Inserted In the tolowing issue unless r £ o l 4 5 7 o 6 W
accompanied by instructions to the
contrary.
All advertising sales are subject to
I K / 1 6 K Z X 8 1 h i g h qua! ly soil- Government regulations concerning
VAT. Advertisers are responsible tor
ware" Also A Z U C exclusive.
c o m p l y i n g with the various legal
Z X 8 1 w o r l d w i a e c l u b For d e t a i l s requirements In forcc eg: The Trade
seno an SAE to A C V . I Foxweli Description Act, S e i Discrimination
Act & The Business Advertisements
ACCESSORIES
Square. Southfieids, Norti-ampton
(Disclosure) Order 1977.
N N 3 SAT. England. FULL TERMS A CONDITIONS OF
ADVERTISING AVAILABLE
REQUEST
ON
T H E L E A D E R GAMES
Z X - G U A R A N T E E D has established
itself as the leading supplier of GENU-
TO FILL INELY easy to use tape utility programs
lor handling ALL types ol programs,
NEW!!! Ai!-m-on< S(JM.vare Club THIS even the Hyper |crky tone types We
e x c l u s i v e l y for S p e c t r u m o w n e r s - also supply tapes to transfer your
2 0 0 l i l i e s f o i l i r e rC 1 . 0 0 l o r t w o SPACE progs to Microdrive, etc Send stamp
for full list l-iil-ih' HIHM
RING
weeks) Discounts o n current best
sellers (up to 70^oi. tree r e v i e w s
Z X - G U A R A N T E E D (Dept ZX)
STUART
All u f t n r t p««c f t M t>Mt OMKIMJMI MX MO
Write loi details K D Software. 24 4 * 9 &A E to* rtcmttio* '.^30-381-7909
29 C h a d d e r t o n D r i v e . U n s w o r t h ,
Lindsey St. Epping. Essex C M 1 6 • i
TAYLOR 1
B u r y . L a n e s . T e l : 0 6 1 - 7 6 6 S712 I UJ• t n 24 PARSLOE8 AVENUE
6RD. L GAMES DAOENHAM HM95MX

ZX COMPUTING
CLASSIFIED ADVERTISEMENT — ORDER FORM
If you have something to sell now s your chance! Don't turn the page — turn to us!
Rates of charge: 40p per word per issue plus 15% VAT (minimum of 15 words). Please state
classification and post to: ZX COMPUTING, CLASSIFIED DEPARTMENT,
1 GOLDEN SQUARE, LONDON W1.

£5.25
£7.00
£8.75
eio.so
£12.25
£14.00
£15.75
£17.50
Please p l a c e m y advert in Z X C O M P U T I N G for issues c o m m e n c i n g as s o o n as possible.

I a m enclosing my Cheque/Postal Order/International Money Please use B L O C K C A P I T A L S a n d include post codes


O r d e r tor ( d e l e t e a s n e c e s s a r y ) £ ( M a d e p a y a b l e to A S P Lid)
Nam* (Mr/Mrs/Mlta/Mi)
( M e t * accwangryi
O R Debit m y Access/Barclaycard
Addrast
V7S4 (Delete as necessary)

Signature ..Oat*.

All classihed advertisements must be paid for m advance Daytime Ttl. No


THIS IS MORE THAN JUST MANIPULATION OF USER
DEFINED GRAPHICS. You will find your own style develop-
ing as you become acquainted with the features of this
<•kjk I S stunning graphics package.
k* m The first time we saw ARTWORX we ended up staying at
| m the office till two in the morning! The more you work with
^ ^ ^ this program, the more you find you can do with it.
I » W h e n first loaded a comprehensive menu appears, bro-
\ * * \ v ken down into sections such as FREE, LINE, CIRCLE, POS-
Wjf 1 * ITION, ERASE and MODIFY. Within these are degrees of
1 1 lit 4 n n imii n variation accessed by moving the joystick controlled cur-
U/tKZt c o m e s sor to the option of your choice and hitting the fire button.

out oj
vrMl V / J the
f l l l t
I r i t S Hat
fli
TlUi
t h p 4 4 f l t The screen changes to "canvas" and your cursor be-
comes a tiny paintbrush activated and deactivated by

un to
is up
is Uou I
^ ^ I jou! •
pressing the fire button-
The speed at which the cursor moves and the thickness
of the lines you draw are controlled by a 1 - 4 keyboard

To change options, tap the space bar and you shoot back
to the menu to reselect.
You can create in modules on screen and then move
them around, reverse them, mirror them, expand or com-
press them, erase in part or in total, colour them using
"spray", "shade", background and paper selections.
Then combine the modules into a cohesive package and label using any of four typeface variations or select the User Defined
Graphics option and design your own typefaces! Save it or dump it to the printer, or, use Tasman's TasCopy to shade in grey scales
to the printer.
Also included is ARTWORX GALLERY- You can store up to five designs and recall, review at random or cycle your masterpiece to
create animation! This is one of those programs that once you see it run you've got to have one of your own.
ARTWORX is microdrive compatible, Kempston joystick compatible and will work with Tasman's Printer Interface, (or any printer
interface that uses printer buffer software). Create some magic of your own- ARTWORX. £ 9 , 9 5 includes VAT
Menu

mmm
uKU •*<:.« fKwt«
t

II
ffirpw
niih, lirtu »
• *v lit.hl B( K*utm

J.-HJM a
1111— •
ICJO-UI •
i • •••
• ••••
It 1 • • •
M» < » P * y y
«» f f v n 11 €
lft
tt

Question: What new Spectrum game program creates a whole new category of entertainment software, is neither arcade, nor adventure
based, and yet combines the thrill of c r m p e t i t i o n with a tough test of your general knowledge? time's up!I
Answer:
Answsr: TRIVIA 2000 - A detailed and fast paced version of the popular board game!
• Decide the number of players. • Determine how many questions each player is asked. • Fire u p the questions and see how well you can do.
The computer " t a u n t s " you, applauds your success and sympathizes when you are wrong. The scoreboard keeps track of each player's progress
and can be checked at any time - the number of questions asked to date, the percentage of the total answered correctly, all with as few disparaging
remarks as possible, (this program turns your Spectrum into an
arrogant machine!).
• ARTWORX Please add 50p
Trivia 2000 comes with a set of General Trivia Questions. You can • TRIVIA 2000
for shipping & handling
order more questions separately covering: Sports, Colour Code, Super • Please send information on " F R A M E " and 'TRUSS"
Sleuth and General Categories 1 and 2. Watch subsequent adverts for
new category listings
This is a great game individually or collectively and also a great way
Address
for non-computer users to experience the versatile attributes of the
Spectrum, (it's also a lot of fun!!). _£ 9 . 9 5
includes VAT
"FRAME" and "TRUSS" Postcode
At last, we have " F R A M E " and " T R U S S " programs that will put the

Rcimcx
Spectrum Plus to work for the Consulting Design Engineer, the Civil/ TM 17620 26 MILE ROAD
Structural and Mechanical Engineer as well as the Engineering student. WASHINGTON. MICHIGAN 48094 U S A
Please write for i n f o r m a t i o n and pricing. International Ltd. TELE: 01-313-781-5800
n
M M i
hfl m
mm- software getting harder

rk

5 sf

SPECTRUM
&
AMSTR A D ^ J*
R.R.P. £8.95 ^ ^ ^

DURELL sates
dept., y y > v
Castle Lodge, Castle G r e e n , T a u n t o n T A 1 4 A B ^

You might also like