ZXComputing Apr 1987
ZXComputing Apr 1987
50
I
« FOR ALL SINCLAIR USERS
• I THE ESSENTIAL
[Stvp professorj
ZX CONTACTS
DIRECTORY
WORLD'S NOT
READY FOR A RANDOM LANDSCAPE
SPECTRUM COMIC GRAPHICS
STRIP UVUTYU!
THE DISCIPLE
L A LONE VOICE
KINGS OUT,,.
i „ v ^ s
/ V
/i
Spectrum
READY OR NOT...
HERE IT COMES
5U3W-X THE VERY FABRIC OF SPAOTIME BECINS TO CRUMBL£...
Star
C.C.I
M E G A
S P O R l T i M E
COMMODORE 64 * \
X
(C)E8-95 (D) £14-95
SPECTRUM 48K,12QK,+ ADVANCE • S O F T W A R E • P R O M O T I O N S • L I M I T E D
REGULARS
Leaderboard (48)
NEWS: The latest In soft and hardware. 4
1 FEATURES
CROSSWIRES: Your technical queries answered. 12
DISCIPLE: John Wase with more Into on this exciting QL COLUMN: Brian Becket with the latest on the QL
new add-on. 16 scene. 67
Melbourne Mystery
Undeterred by the tact that might well f i n d yourself
they've just been gobbled up bumping Into monster with lots
by Mastertronlc, Melbourne of tentacles, eyeballs a n d
House are carrying on as usual n a m e s like S h e g b a g the
and are about to release The Greebly. In addition to the
Mystery ot Arkham Manor. The eyeballs the g a m e also
game casts you as an Intrepid features animated graphics,
newshound a t t e m p t i n g to text, Icons a n d putl-down
uncover the uneartly mystery menus and the adventure Is so
that s u r r o u n d s the sleepy complex that it's had to be split
village of Arkham. Into two parts. After a few
The literary trendies d i s a p p o i n t i n g releases It
amongst you will of course sounds as If Melbourne House
remember that Arkham House may be back on form, but youH
was the company that publish- have to wait until May before
ed the stories of cosmic horror shelling out your £8.95 to find
weirdy, H.P. Lovecraft. so you out.
r
Disciple
G. Peikner, Leitha, Austria; S.
Ogleby, B F P 0 4 5 ; D. Riley,
Spalding; K, Sagner, Bellflower,
Editor Bryan Ralph
California, USA; D Emmerson, In our review of the Disciple
Bridgenorth; AG. Punchard, Assistant Editor: Cliff Joseph
last month we g a v e an
F a r n b o r o u g h ; C. Renders, Consultant Editor Ray Elder
incorrect price The Disciple
Farnham; K. Stephens, Hayes; H. costs £89.95 Inc VAT. Advertising Manager: Peter Chandler
ZX Computing Monthly If published on the fourth Friday ot each month. Subscription rates cn be obtained from ZX Subscriptions, intonet, Time* House,
179 The Marlowes. Hemel Hempstead, Herts HPS1 166
The content* o) this publication. Including oil articles, designs, plans, drawings and other Intellectual property rights herein belong to Argus Specialist
Publications Limited. All right* conferred by the law o< Copyright and other Intellectual property rights and by virtue o< International copyright conventions
are specifically reserved to Argus Specialist Publication* Limited ond ony reproduction require* the prior written consent erf the company.
Argus Specialist Publications Umlled ©1967
Throb!
Pulsator is the next release the same name from 2000 AD
w m
planned by Marfech, In which Nemesis has to take on his arch-
you have to rescue a number of enemy, Torquemada, and at-
pulsies' from mazes infested tempt to foil his plan lo destroy
with deadly alien creatures. all life in the galaxy. Apart from
Due for a spring release. Pul- their tetters page there can't be
sator should also be accom- much of 2000 AD fhat hasn't
panied by Nemesis the War- been turned Info a computer
lock. based on ihe character of game
New Multiface
Romantic Robot have just re- a function to format microdrive
leased the follow up to the cartridges to over 100K,
Multiface O n e This new multi- Multiface 128 works wifh
purpose interface has been tape microdrive and Discovery.
dubbed fhe Mulfiface 128 but Versions are being prepared for
despite the name if Is compat- the Disciple and tentatively tor
ible with all existing Spectrum Beta. The Muif'face 1 will retail
versions. Improvements on fhe at £44.95. Further Information
original Include the ability to from Romantic Robot on
save to fape at two speeds and 01-200-8870.
Hardball Winners
Five readers will doubtless Carrtckfergus, Co Antrim; A.
be found in their local parks Galrdner, Leamington Spa;
putllng their new baseball kits Anthony Smith, Little Neston,
to work. The winners of our South Wirral; French, New 5
Advance Software Hardball Milton, Hants; D. Haffner,
C o m p e t i t i o n are F. Bond, Redd Itch, Worcs.
Nosferatu Winners
system to Mr R. Scott of Stroud, about his progress with the
Gloucestershire; a head master system.
of a large primary school who
Piranha's adventure among Birmingham; M. Radley, Fife; A.
the undead. Nosferatu is on its James, Llanelli; D Thompson,
way to thirty ZX readers. They
are: L. Higgins, Nottingham; M.
Nicholson, Plymouth; R. Finch,
Runcorn; T. Woodward, Wigan;
A. Laleine, London N4; M. Suter,
Bristol; M. O'Connor, Chester-
Coclemasters3 Brainache
Southampton; S. Goodman, field; A. Motin, Leeds: I. McVicar. Brainache. an arcade featuring a combination of
Middlesbrough; G. Irvine. Co Clydebank: E. Chun, Galgate; adventure is the latest solid and vector graphics
Antrim; P. Vlnce, London W4; N. M. Hensel, Neviges, West Ger- release on the Codemasters Both games should be In the
Brownlee, Galashiels; S. Yahn, many; N. Owen, Gt Missenden; budget label, due to be shops as you read this,
Dudley; L Hawker. Newcastle; C C Thomas, Mablethorpe; J. followed by Transmuters, a priced £1.99.
Hill, Wakefield; R. Butl, Lahore, Rimmer, Lllverpool; A. Sae2,
straight arcade game
Pakislan; Lcpl Wagland, BFPO M a d r i d , S p a i n ; S. Burnett,
20; M. Rage, Bridgham; 1 Knight, London N17.
Heels with
new title from Ocean.
Looking a little bit like an
w
Egyptian version of Knight
Ocean Lore, HoH will be available
this month for £7.95.
Pharaoh 'nuff?
^ i f t
m A - >2, ^ i S u
Obi-when? kenobi
Long, long ago, in a galaxy nave gotten hold oi the rights 1o gun yet. so you'll just have to
far, tar away — Da-Da1 Roll convert the series of Star Wars wait
credits, cue Darth Vader coin-op games for home com- "You haven't learnt much
(wheeze, gasp, hiss) — "Your puters. Lord knows when they'll young Skywalker, but you ore
powers are weak old m a n . . , " appear, since they're nol due not a Jedi y e t . . . " (wheeze.
All this is just my way of for release until late '87 and gasp. hiss),
letting you know thai Domark programming hasn't even be-
SABOTEUR TL
Avenging Angel
Available on Spectrum, Amstrad & Commodore
DURELL sales dept.,
Castle L o d g e Castle Green, Taunton, Somerset, TA1 4 A B R.R.P. £7.95
Telephone (0823) 54489
UM
OR
Ray Elder tackles more technical nightmares
Chip oft the old block You do not say whether you have used ^ ^ Actually ALL QLs are now
the same TV for all these machines and technically obsolete! Seri-
if you have then It may be an unusual ously though there were seve-
Dear Sir, case of Incompalability between the ral versions ol the ROM, each having
Please could you help me new machines and your set. If you have slightly dlflerent features. Unfortunately
with a problem I am having tried them out on different sets then it we do not have machines with ail ver-
with TASWORD 2. I have a Spectrum+ is possible lhai a faulty batch of sions of the ROMs at our disposal so
connected to a Centronics GLP 2 printer machines was supplied to Rochester, cannot speak for all of them. The one
by a ZXprint 3 Interlace and when using but I can assure you that this does not we used accepted the error trapping
Tasword 2 everything works perfectly seem to be a common problem. routines. As this was a non official
except when I use block move or block routine (Sinclair did not claim it in the
copy commands. specs or acknowledge It in the manual)
Both of these commands work I'm afraid you will simply have to
perfectly on the screen but when it accept that it is not available to you.
comes to printing files in which they Opus out of tune Sorry.
have been used all I get is a system
crash. As I mentioned earlier it's only a 11 have a Spectrum 128+2 and
minor problem but infuriating when I I have recently bought an
have a lot of repetitive text that has to ' Opus Discovery. I am unable
be typed out every time. Have you or
any of your readers come across this
to get commands into the Discovery. DISKussion
After five phone calls to Opus who gave
problem before? Any help would be me various checks to do, it still does not Dear Sir,
gratefully appreciated. work. At the present moment I
Yours faithfully, I borrowed a Spectrum + and the own a Spectrum +. Multiface
Richard Boyles Discovery worked a treat. On informing 1, Rotronics Wafadrive & Timex
Opus they suggested that I enter the 2040 printer. Recently I discovered that
MAIL O R D E R
ADVERTISING
British Cod* of Advertising Practice
Advertisements in this publication are required to conform to the
British Code of Advertising Practice In respect of mail order
advertisements where money is paid in advance, the code requires
advertisers to fulfil orders within 28 days, unless a longer delivery
period is stated Where goods are returned undamaged within seven
days.Ihe purchaser's money must be refunded Please retain proof of
mm
postage/despatch, as this may be needed
TO 45
Camlel Devos lives in Belgium, 40 IF CODE i * <n)>90 AND CODE i
has Hercule Poirot as a hero, *(n)-s<91 THEN LET i*(n>=CHR* (
and provided the program with CODE l*(n)-26)
some Al. His idea was to check 45 NEXT n
each word decoded for 50 LET e«=il+" "
impossible letter combinations
X
100 FOR n=l TO LEN 0*
and skip to the next shift if valid. 110 IF et(n)< >" " THEN PRINT e
The rule he uses is that there are *(n) u
never more than four consonants 120 NEXT n
5 together and short words
contain at least one vowel. 130 PRINT AT 20,0;"Just wait. I
uj Ricky Han used the FN to II do my best."i LET
140 IF s>25 THEN PRINT AT 20,0
help him produce a three line ;"This seems impossible to solve
solution. Chris Oliver also used
o
ct the FN to produce a coder and with this decoder.": PAUSE 0:
decoder, however, both his CLS s BO TO 5
programs were identical except 150 LET m=0: LET c=0: LET x*=e*
OL
DATA
The Poke @ Command
This command allows a value between 0 and 255 to be stored in
the variables area of the disc operating system (GDOS).
o
which do nof relate to hook codes or GDOS syntax statements. It
contribute useful routines or an address is poked ln1o these two locations, it makes a call
comments of general interest, Indirectly to this address for further synfax checking. Necessary
c/> please send them in to ZX when adding extra commands to the syntax.
5
Computing, marking your
envelopes Disciple.
Handball w
Normally ^? b J n d A mstrad
Spectrum
drawn Vy
i SALE IN 0-007S063HMSG&4
f MTtoCKV&CKFoft /
S f Vi£ Stesaesr o/= J
J^/fef Hato^. jC
HHWiM i
I TV/£ 7Z3 S ^ A ^ E
r H M K - t f o c e 1 /tve A 'fAN-JArry-
Jto-LA LOO" OF A CCHK smtr P l o t *
hfrm A J"
TtANWov CArrXoMPfL&t
EVZRy r1o&£L OF^fr
t\lFb Tt> &BV Fu#r*o?FxfiWP ^mntf/.
His SMCU-ZN &«AtH
fc A Hf/A
X OW! cI
V
JB5i«j
T i ffi e : S t r e n g t h :
12.4-3 S t a m i n a :
LUCK;
FORURRD
TURN RIGHT
TURN RIGHT
O
+PEN DOOR
Figure 1
33 6 A
14. 5 197 £6 182
vacated screen right. In addition obviously need a similar system 119 19 35 16 24-9 213 17 28
to the actual picture we will also for a computer strip, each 0 £5 £09 193 13 32 238 213
need captions, and perhaps element taking up as little 17 96 0 25 £09 124 254 72
56 £23 £09 193 13 194. 219 £53
speech bubbles. We'll also need memory space as possible. 19 26 £54- 0 200 17 144 £54
an on-screen input system to a Since a background or icon £37 33 0 91 50 4 91 £05
vertically scrolling communica- may be used more than once in 173 254.62 22 215 62 2 £15
tions window, indications of a story line it would be 53 4 91 215 62 144 215 £01
184 171 24-7 171 £50 170 252 168
strength, stamina etc for an uneconomic to store each £53 165 250 160 £4.7 159 184 159
adventure (or profits, stocks held complete illustration separately. 181 160 179 162 17S 165 179 166
etc for a strategy game) and Instead, we'll hold each element 181 170 164. 171 0 £37 91 0
perhaps a real-time clock and, 91 £6 103 19 26 71 62 175
as a series of bytes In memory, 15£ 111 19 26 71 19 213 £6
in a "Superman'-type strip, a and call them, more or less as 87 62 175 154- 79 £05 214 £54
visual reminder of your persona subroutines, when needed by a £09 19 26 254- O £00 254 1
at any given time. driver routine. 32 £3i 19 26 24. £20 197 £05
4.8 £55 193 17 1 1 120 146
With these requirements I 4-5 4 £1 21 £37 68 71 121
came up with a screen display Let's get the necessary 14-9 4.6 A
29 29 £37 68 79
like that shown In Fig. 1. I machine code on board first. 176 £00 121 184. £29 98 107 34
£ 5 i 4-6 0 56 A
101 107
emphasise that this is just a CLEAR 64935, type in the loader 72 7-*1\ A w" 0 91 95 120 £03
suggestion — you will be writing (Program 1), setting the from and 6 3 Or A. A 125 129 56 3 164 56
the program which uses the strip end values to 64936 and 65375 3
cr
* A *
111 237 91 C. 91 c.'4.
so you must decide on the final
1 A-1A
,*%103 2 3 7 9M 14 0 912 2 7 124
respectively, then RUN and enter • _
— —
125 J. W X 111 197 205 M- w
display format, and the purpose the numbers from Table A, *.cc 3.93 227 3"? 32 ££0 225 £01
1 TA.i c
•Z. _•
of this series is to show you how. reading across each line. Save i£5 £20 192 31 Sc 3 173
(Later in the year I'll be showing the code with: 230 £4.8 4
A < 67 124 —»
t
173 £30 199 1^3 f Q=l
~R
ic* A 4
PROGRAM 2 PROGRAM 3
5 REM drawCODE must be on 50 LET m*="THIS IS AN EXAMPLE
boar d OF SCROLLING IN A SPEECH BUBBLE"
5
10 POKE 23296,80: POKE 23297,1 : LET m=LEN m$: LET m $ = '
95: RANDOMIZE USR 65197: POKE 64 2
o
942,96: POKE 64943,234: RANDOMIZ 60 FOR f=l TO m: PRINT AT 1 ,23
E USR 64936 ; ml <f T0 'f+7): PAUSE 10: IF INKE O
20 REM draw background then Y$=" " THEN GO TO 60
remainder 70 NEXT f z
<
at
ZX Computing Monthly • April 1987 21
5 I - I O R 1
More compact classics from ZXC readers.
Io
PAUSE 0
ta error?": STOP 210 BORDER 6l PAPER 6« INK Oi C
30 INPUT "Speed 1 TO 25b ":s: 90 DATA 176,92,49,0,91,22,6,79 L S t PRINT AT 10,5; BRIGHT 1| IN
POKE 32773,s-1 ,135,J 35, 135,129,103,111,6.16 VERSE 1(" ZX COMPUTING MONTHLY "
40 PAUSE 1: PAUSE 10: RANDOM12 100 DATA 229,229,229,229.16,230 220 FOR X-0 TO 20 STEP 4i PRINT
E USR 32768 . 121 , 6 1 , 30,7,21,32,234,237.123, AT X,41 BRIGHT It PAPER RND»7(
0
tt
Facts!
One of the principle ways in
0
oc which we learn is simply to take
in facts. Experts give us facts
0 1 through books, TV. newspapers,
24
Fig 1. Learning Example In Serial Decision making
LUI
lOO REMark Stable Expert S y t t M
110 RE hark Learning n n facts 910 LET r <r», 1) -Oi LET r<n, 21-0
120 RE Mark (Serial Decisions) 920 PRINT i PRINT
1 30 RE Mar k 930 INPUT -Enter new question! "it*
140 REMark David Nontnik 940 IF LEN <t«> >40 THEN PRINT s PRINT Too long "t PRINTi BO
ISO REMark February, 1987 TO 930
160 REMark 930 IF t»«"" THEN PRINT t GO TO 930
170 REMark Initialise 960 LET q*(x>-t*i LET l<x)-LEN <t»l
180 Din qS<30,40>i DIM 1 <50) 970 PRINT
190 DIM r <50,211 LET n-Ol RESTORE 9SO INPUT "Enter new answer: "it»
200 FOR 1-1 TO 7 990 IF LEN <t*)>40 THEN PRINTi PRINT " Too long'"i GO TO 970
210 READ p*i LET 1U1-LEN <p»>i LET qS<l)-p» lOOO IF t«-"" THEN GO TO 970
220 FOR J-l TO 2 1010 PRINT
230 READ r <I,j1 1020 PRINT "Is "Jt«!" the yes or no answer to:"
240 ft X I J 1030 LET a*-q«(x)i LET a*-a*<l TO l<*»H PRINT a*
230 LET n-n+1 1040 PRINT
260 tCXT 1 1030 INPUT -Y or N "|k*
270 DATA -Is It a h o w computer?•,2,7 1060 IF k»-"y" OR k»-"Y" THEN GO TO 1lOO
280 DATA "Does it have at least 12SK. Of RAM7",3,6 1070 IF k*-"n" OR k«-"N" THEN GO TO U I O
290 DATA "Has it a built-in tape r e c o r d e r , 3 , 4 1080 GO TO 1030
300 DATA "Spectrum 128",0,0 1090 :
m 310 DATA "Spectrum •2",O t O
320 DATA "Spectrue Plus",0,0
U O O LET r <x,1>-n*lt LET r<x,2>-ni GO TO 1120
1110 LET r<x, 1)-nI LET r(x,2)-n+l
330 DATA -IKM PC",0,0 1120 LET r <n,1)-Oi LET r(n,2)«0
340 i I 130 LET n«n*l
400 CLS 1140 LET q*<nl«t«i LET 14n>-LEN <t«)
410 PRINT - Expert System for Computer"! PRINT " Selection" 1 ISO LET r(n,l)-Oi LET r(n,2>-0
420 PRINT! PRINT! PRINT - Select! "t PRINT I 160 RETurn
430 PRINT - 1. Use the system4 1 170 S
440 PRINT • 2. Expand knowledge base" 2000 REMark Save Knowledqe base
430 PRINT 3. Stop" 2010 PRINT
460 PRINT • "ji INPUT d* 2020 PRINT "Do you want to save the knowledge base?"
470 IF d*-"l" THEN BO SUB SOOs PRINTi BO TO 410 2030 INPUT "<y or n> "»k»
480 IF d«-"2" THEN GO SUB BOOi PRINT: BO TO 410 2040 IF k»-"n- OR k«-"N" THEN STOP
483 IF d*-"3" THEN BO TO 2000 2030 IF NOT <k*-"y" OR k*-"Y") THEN GO TO 2030
490 GO TO 450 3000 REMark OL SAVE DATA routine
300 REPlark Use the expert system 3010 DELETE mdv2 expert base
510 LET x«li PRINT 3020 OPENNfcW #4, mdv2_expert_ba*e
320 LET a*-q*<x>i LET a*-a*<l TO 1 <x ) > 3030 PRINT «4,n
530 PRINT a*; " "i I INPUT k* 3040 FOR 1-1 TO n
540 IF k*-"y- OR k«-"Y" TkCN LET x«r <x , 1 ) I GO TO 360 3050 PRINT •4,q«<l)l PRINT «4,1<1>
330 LET x-r <K ,2) 3060 PRINT «4,r<l,l>! PRINT *4,r<l,2>
360 PRINT 3070 END FOR I
370 IF r <x , 1 > -O THEN GO TO 600 3090 CLOSE 14
380 GO TO 320 3100 STOP
590 i 31 lO 1
600 REMark Give the i n n e r 4000 REMark Spectrum SAVE routine
610 PRINT "The answer is a ";q*<x) 4010 SAVE -Expert 1"! GO TO 400
620 RE Turn 4020 :
630 i 4030 RE Mar k QL LOAD procedure
BOO REMark Teach the system new facts 4040 DEFine PROCedure LD
810 PRINTi PRINT: IF n>48 THEN PRINT "Knowledge base full'i 4050 DIM q« <50,40) ,1 <30> ,r 150,2>
RE Turn 4o6«J OPEN IN »4, edv2^expert base
820 PRINT "First use the system until « get * 4070 INPUT »4,n
830 PRINT *to the end of a branch that you wish" 4080 FOR l-l TO n
840 PRINT -to alter." 4090 INPUT S4,af,b,c,d
830 GO SUB 300 4100 q»<i)-a»: l<l(-b
860 PRINT t PRINT "Do you want to add to this point? <y/n» 4110 r<i,l)-ct r <i,2)»d
870 INPUT k* 4120 END FOR 1
880 IF NOT <k«-',Y"0ft k«-"y") THEN RETurn 4130 CLOSE »4
890 LET n-n»l 4140 GO TO 400
900 LET q«<n>-q*<x>! LET lln)>llx) 4150 END DEFine LD
Information and rules. This Is not Spectrum, then omit lines 3000 to question/answers, so allow for a
particularly convenient; It 3110 and 4030 to the end. reasonable expansion to the
assumes that the expert All the expert systems this seven included (lines 270 to 330
teaching the system new month deal with micro- and fig. 2(a)) in the program. On
knowledge Is also a computers. The idea is that you RUNnlng, once the arrays are set
programmer. Not only has he to specify a set of features, and the up the program's basic menu is
type In DATA lines containing expert system wllf select a shown; a choice of Interrogating
facts, he has to understand how computer for you which meets the knowledge base (1),
the program works, and the your specifications. expanding the knowledge base
structure of the rules. He may For the serial decision (2) or stopping (3) is given. Using
even have to modify or update example, a small knowledge the knowledge base follows
some of the existing rules or base is included, which allows much the same idea as last
some program lines to allow the you to select one of the month's program. You give yes/no
system to work with the new rules Spectrum computers. The answers to each question until
and knowledge decision tree tor this very small an answer is given, then you go
So, why have a computer if It expert system is shown In fig. back to the menu. Before you try
can't do things automatically for 2(a). When you RUN this teaching the knowledge base
you. And that's what the first two program, the knowledge and anything new, try using the
programs this month wilt da One rule arrays are created (line 180) system a few times.
for serial decisions (fig. 1) and and filied (lines 190 to 260). The Once you have the feel of the
one for parallel decisions (fig. 3). questions and answer strings are system, press "2' on the main
Like last month, they were written entered Into array q$ (line 210). menu. Apart from the
on the QL, but tested on both Numeric array 'r' (line 230) is the introductory message (lines 820
Spectrum and QL. They are a rule array which contains the to 840), the first part of adding to
little light on the Interrogation pointers to positions in array q$ the knowledge base Is just like
side; the theory and practise of depending on >es' 0 r 'no' using it. The purpose is to get to
that was covered last month. answers. A zero in the rule array the appropriate part of the
These programs aim to show you Indicates that an answer has knowledge base that you wish to
how to teach facts and rules to been reached. expand.
an expert system. If the diagram in fig. 2(a)
Let's start with the serial Rules looks like an upside-down tree to
you, then that's exactly what it is
decision maker in fig. 1. Type in
the listing as shown if you have The rule and knowledge arrays — a decision tree. And
a QL. If you are using a are dimensioned to 50 rules and something like a real tree, this
M
one 'grows' by spreading new it have built-in microdrives?' get the option to save the
branches from its tips. Once you So, when the message "Enter knowledge base. If you say yes,
reach a tip (ie. an answer), you new question' appears on the then, for the first time, there is a
can replace that answer with a screen, type in the above difference between QL and
question. One answer to that question (with the question Spectrum versions.
question should be the answer mark), then enter the new On the Spectrum, (lines 4000
you have just displaced; the answer, 'QU on request, and to 4020), the program is simply
other answer, for this expert finally, tell the computer whether SAVEd (with all Its data), and set
system, another name of a the answer given Is the yes or no to autorun the next time you
computer. So the question response to the new question. load, without re-dimensioning
should be carefully chosen (by The program then sorts out the the variables.
you, the expert) to discriminate rule and knowledge base (lines You can't do that on the QL.
between the old answer 1100 to 1160) to insert the new so the routine (lines 3000 to 3100)
(computer system) and the new question and two answers in the is used instead. Place a
one. right place. When all that is cartridge in mdv2_ before
Fig. 2b gives you one done in an instant, the program saying y' to 'Do you want to
example. Start from the main returns you to the main menu. save the knowledge base?'. A file
menu, press option '2', then called expert_base is saved on
select yy.'n' to the three Knowledge base mdv2_ with all the data. Next
questions. You'll end up being time you want to use this
told that the answer is a In the same way, you can add knowledge base on the QL, load
Spectrum 128, and the questions further knowledge and rules to the program, and type in LD
"Do you want to add to this the system, up to a maximum of instead of RUN. This activates the
point?" A 'n* reply would take 50. If you had answered 'n' to routine (lines 4030 to 4150) to
you back to the main menu (an the first question "Is it a home load in the data from
escape route if you've taken the computer?'. you would get the expert_base, before you use the
wrong branch); you should reply response "IBM PC". Now, while program.
Y'. So far we have a home that Isn't too far from the truth, It may have occured to you in
computer, with 128K of RAM, I'm sure that those computer using this program that a serial
which does not have a built-in experts amongst you would want approach is probably not the
cassette deck, This fits a to add a great deal more! best way to select a computer.
Spectrum 128; it's also true for a Once you've expanded the You are more likely to have a list
QL, and that's the extra answer knowledge base, the last thing of features that you want, and
that I want to insert at this point. you'll want to do Is lose all that match those against various
So, what yes/no question will work when you turn off your computer profiles for the best fit
differentiate between a QL and computer. So, when you select — in other words, use a parallel
Spectrum 128? I've chosen 'Does 'stop' from the main menu, you approach to decide on your
EXPERT
SYSTEMS
Has it a
built-in tape
Fig. 2a. Decision tree for serial learning example Fig. 2b. Adding a new branch to the tree
27
ZX Computing Monthly • April 1987
expert system to do a bit more response to each of the seven numbers; these are not just
work for itself. The program for features. The computer will make restricted to zeros and ones;
this example is in fig.4. (t again a guess; if the guess is right, you'll get higher numbers, and
uses the parallel decision then the rules are not changed, negative numbers too.
approach, but this time, it tries to but if the guess Is wrong, then Typing in features time and
develop the rule base for itself. the rules are altered, and the time again is rather boring, so
You'll find It's very inefficient, but updated rules are displayed. there is an automatic feature
the program coding will give At this point, some entry to speed things up; option
you an idea how the expert explanation is required as to 3 from the main menu. It selects
system will automatically adjust what is happening during a possible answer at random
its rules — well, almost adjustment of the self-learning (lines 2100 to 2170 — please note
automatically; it still needs a rule array (s). That array is the different structures in line
little help from us! initially filled with zeros (line 410), 2110 depending on which
To keep things fairly simple, that's why the answer was always machine. Spectrum or QL, you
there are just five answers in this the same on the very first test. are using), and feeds the yes/no
self-learning program, with seven When you enter the profile of answers automatically into string
features. Line 180 dimensions any one computer system (lines t$. The computer will then select
several arrays. As before, f$ and 2000 to 2090) a string of ones an answer, as before, using its
a$ contain the names of the and zeros is set up, representing developing rule array (s). As the
features and answers, your sequence of yesyno answers. computer now knows the correct
respectively. The rules are now in In lines 2200 to 2300 every answer (as It selected this itself!),
numeric arrays; array V contains element in that string is It tells you if the answer is right
the rules stored In the program compared with the or wrong, and updates the rule
(the reason for this will become corresponding rule (in array V) array If it is wrong.
apparent in a moment), while for each possible answer. If a Whether you use the manual
the array V is the rule base match is found, then the score or automatic profile entry
which the computer will create (q) is Incremented (line 2260), procedure, you may be
by self-learning. Numeric array and the total for each possible surprised by the number of times
V is used In decision making; if answer stored in numeric array this expert system has to
keeps the score of each possible V*. The highest score indicates 'practise* to pass the test (option
answer when comparing the best fit of the entered profile 1) and get the answer right every
entered features against the rule and the rule base, and this Is time for every item. In teaching
base. how the answer is selected (line an expert system, it is always
When you RUN the program, 2410). much easier to be able to give
you again get a Menu with If the computer's answer is the computer the correct rules to
three options. Option 1 just tests wrong, then you tell it the enter into Its rule base. But self
the self-learning rule base for correct answer (lines 2420 to modification of the rules may
you. It will go through each 2560), and the self-learning rule well be necessary sometimes; for
answer In turn, and enter the array is adjusted. Each rule example, a manufacturer may
stored features from the correct element in the correct answer Is change some of the features of
rule array (r), then gets the Incremented if a 'yes' response one or more of his computers.
computer to make a decision was given to a particular feature Self learning may be the easiest
based on those features using (lines 2770 to 2790). For the way a user, not familiar with the
the rule array it is developing (s). answer given incorreclty (and Inner workings of the system, can
When you first RUN the program, other possible answers which update the rule base to adjust
and select the test option, you'll scored the same as the to these changes.
note that the rule array will Incorrect answer), the rule So far, we have considered all
always select "Spectrum 48K' — it element is decremented by one our examples as capable of
still has a lot to learn! for each feature given 'yes' ' n dealing with yes/no responses
You can start teaching the the profile supplied by you (lines only. What happens If the user
system to allow It to adjust the 2710 to 2760). doesn't know the answer? And
rule array either manually or All that may seem rather what happens If the response
automatically. Option '2' is the complicated, but il you work cannot be as simple as yes or
manual approach. You will be through it a few times, I hope no? The mathematics of our
asked five times (before returning you will start to see the logic of experts systems get a little more
to the main menu) to think of what Is going on. When the rule complex as we consider these
one of the five answers, and array Is printed out on the items in the next part of this
provide the correct yes/no screen, you'll get strings of series.
1
210 DATA "V2&. of RAH" 500 PW1NT " 3. Auto -1 r a m i nq"
220 DATA "Large selection o< gamps" SIO PRINT - "ts INPUT d*
320 IF d»-"l" THEN PRINT t GO TO 560
<
230 DATA "ZBO processor"
240 DATA "Built-in cassette" 530 IF d*»"2" THEN GO TO 640
250 DATA "Built-in RS237 port" 540 IF d*»"3" IkCN SO TO 760
260 DATA "Cones with business programs 55o OO TO 510
270 DATA "Proper keyboard" S60 REHark Te«t the knowledge base
570 FOR fc-1 TO 5
at 280 REMark Answer i
0
290 DATA "Spectrum 4 » " ,0, 1 , I ,0,0,0,0 980 LET t-ki GO SUE) 21201 GO SUB 2200
300 DATA "Spectrum PIu»".O,1,1,0,0,0,1 590 PRINTi PRINT "fly answer Is "«4*<hlgh>
310 DATA "Spectrum 128" , 1 , 1, I .O.O.O, I 600 PRINTi PRINT » Press ENTER to continue"
320 DATA "Spectrum *2",1,1,I,1,0,0,1 610 INPUT d*
O 330 DATA "01",1,O.O.O,I,I,1 620 NEXT Ic
iwsiii;
Views on products old and new
in this month's post bag
Hi, Beta!
I was very interested in the
Beta Plus '81 no more review ot the HiSott Compiler
In the February 1987 issue
Could you please print an which arrived today. I bought the
occasional article on the Beta Having read about PC Allen's programme to speed up the calcula-
Plus Interface? Since Ray request for ZX81 hardware, I tions in the Multiple Linear Regression
Elder 's excellent review (DecUan. 85/86) thought I'd drop you a line program from University Software which
I am sure many readers must have about the "Pine Marten" newsletter. I've I use.
bought this system. However I haven't enought replies to send out the second I think some of the points I found may
heard any more about this interface issue ot the newsletter — and PM will be of interest to your readers I tried to
until your review of the Hisoft Compiler include an offer tor a joystick interface compile only the calculation section as
mentioned that the compiler would not adaptor. The adaptor will enable Ihe manual said one could move in
work with the Beta Interface. Even Spectrum joystick interfaces to be used and out of BASIC but this does not apply
mentioning utilities which can be on the ZX81. The newsletter is totally free if the parts left in BASIC use variables
converted to work with Beta would be to contributors (ie. almost anyone who from the compiled section.
helpful. writes in to it). There is now a charge ot The original program used variables
The people at Print 'N Plotter 40p for the newsletter tor those who in DIM statements I had to decide on
(01-403-3622) have been very helpful, can't think of anything to say. Overseas maxima (or these to use numbers in the
and I found their Paint Plus art utility readers may send two IR coupons. DIM statements
converted easily to work with the Beta Since last writing to you I have The other point is not to use byte
Plus and is well worth doing. decided not to produce any more sving ersions (or the compiling. By
Great magazine, could be perfect! software for the ZX81; the HiRes utility replacing P I byte savers and
No threats. I'll keep on buying it. may still be released, work on it has VAL"number" with actual numbers the
Cyril Heywood, been given very low priority so I can't compiled code used about 1.5K less on
London. say when if might be finished. I've sold my printer version of the program. The
only around 20 copies of "War Web" to compiler version uses more bytes than
Some popular pieces ol hard- date and this doesn't justify the cost of the BASIC one as noted by your
ware, such as the Discovery the mailers (96 on the mailing list) or the anonymous reviewer but the speed
disc drive, give rise to their advertising. increase is worth this. With the BASIC
own user groups which are often the I will no longer be advertising ZX81 version result calculation could take up
main source ot information lor inter- games, but I would like to reassure your to fifteen minutes with ten independent
ested users, but as far as we know there readers that I will continue to supply the variables — the compiled version takes
aren't any groups tor the Beta system so
there's not much being written about it.
current range of games tor the ZX81
and "Pine Marten" will continue as long
30 seconds
I have found the option of a C
Maybe there's someone oul there who as people write in. Microdrive backup very useful. Q
runs such a group and would like lo get
in touch with us?
Gary Rowland (Pooler Games),
Dagenham, Essex.
J.F. Osborne.
Huntingdon. Combs. c
ZX Computing Monthly • April 1987 2<
LWJ
thedlSCQPLE
interface for all computers in the them on the entry coupon. Clues
Spectrum range. to the answers can be found In
Cunningly designed to John Wase's Disciple review in
resemble the Interface 1, the last month's ZX and perhaps on
Disciple uses the same raised this page. Or, to avoid educated
connector leaving the guesswork perhaps Rockfort
Spectrum's input and output Products will send you a
Your chance to win the ports free to use. With features brochure If you ring them on the
such as snapshot button number to be found elsewhere
most exciting Spectrum allowing up to 16 snapshot tiles in this issue.
to be saved when working with The first two correct entries
add-on to appear for a double density, the Disciple has picked out of the hat will receive
found favour among serious a Disciple.
very long time Spectrum users since its recent
introduction. The Questions
"•"he Disciple is an immensely We are offering two Disciples 1 How many 48K commercial
versatile multi-purpose interface in this competition. All you have games could save on a double
that functions as a disk, printer, to do is select the right answers sided double density disc using
dual joystick and network to the questions below and ring the Disciple with an 80 track disk
drive?
a) 8.
b) 12.
c) 16.
2. Loading a file from disc with
the Disciple is approximately:
a) 20 times
b) 40 times
cj 60 times
faster than loading the same file
from tape.
3. To copy a screen from a
commercial program to your
printer with the Disciple, you
simply:
a) Press Cap Shift and the
snapshot button.
b) Enter LPRINT.
c) Press P and Snapshot button.
4. Which statement is incorrect?
a) The Disciple uses hook codes
similar to Interface 1.
b) To transfer most commercial
programs from tape or micro-
drives to disc press the snapshot
Disciple Competition button.
Please ring the appropriate letter c) The joystick ports are
Kempston, Interface II and
1. A B C Protek.
2. A B C
3. A B C The competition is open to all
4. A B C ZX readers except employees of
Argus Specialist Publications,
Chase Web, Rockfort Products,
and Miles Gordon Technology.
Name: The editors decision is final and
no correspondence can be
entered into.
Address: Send your entries to: Disciple
a. Competition, ZX Computing
Monthly, No 1 Golden Square,
London W1R 3AB
Send your entries to Disciple Competition, ZX Computing, No 1
o
Please remember to put your
Golden Square. London W1R 3AB address on your entry envelope.
ELEVATOR f >
JL C \
7\
J
S t (•(!( III S « ORE I I CIV >)3
030390 oooauo f;«him:> h i
IE
i i i i i i i i
IfJI I
1 i i i i i i i1 1 B
EI 11
i r r r i T f i ••5
U11J
RANDOM LANDSCAPE
GRAPHICS the production of at least part of Background work
Alan Davis presents a each garphic illustration,
technique for creating perhaps by using a small I don't propose to do more in
number of subroutines to set up this article than to tackle the job
a limited number of of drawing backgrounds,
random adventure backgrounds onto which because this alone generated
0 backgrounds different shapes can be quite enough interesting little
z superimposed. In this way you
could arrange for each location
problems to keep us occupied
for a month! At the outset, I
in your adventure to have some
1
decided it would be a rather
espite the arrival ot the 128K sort of illustration — though neat idea to let the Spectrum's
Spectrum, many of us are still there's a price to pay of course. random generator take over the
s trundling along with our old 48K Inevitably there'd be a certain creation of the picture, and
< machines, and are generally sameness about them, even began (as I so often do) by
fairly content I suspect. Speaking though they might differ in trying out a few simple ideas in
at purely personally, and confining detail. BASIC Listing 1 will show you the
my remarks to the adventure One program which used sort of thing I was aiming for,
O game genre, I don't believe that something like this technique and if you type it in and run it
O the potential of 48K has been was the immensely successful you'll get some idea of the
exhausted yet (or anywhere near "Valhalla", which has been effects that can be achieved
DC
a. it). But having said that, I must
admit that there's one aspect of
given a new lease of life
recently by being released as a
even with these simple routines
(It's ridiculously slow of course,
adventure programming where budget game. Again, speaking but that doesn't matter for the
the limitations of 48K are very moment). The screen shot which
2 evident. I'm talking about
purely for myself. I always felt
that the game itself was slightly should be lurking somewhere
graphics, of course. They gobble less interesting than cold rice about these pages shows an
memory mercilessly, and any pudding, but I must admit that I application of the same
adventure writer is always on the do find the illustrations highly principles, extended to use the
look-out for programming atmospheric So the method entire screen, and with some
o methods which can help to clearly can work, and yet oddly graphics for buildings
111 selve this problem. enough nothing quite like it superimposed to show how the
a. seems to have been attempted ideas could be used in practice.
One possible solution is to use
CO some method of "streamlining" since. Shall we have a go? As you'll see, this little
. Listing 2 ;
pointer which can be moved
along the table. Whenever we
want a random number we just
collect the entry in the table •HISOFT GENS3M2 ASSEMBLER*
indicated by the current position ZX SPECTRUM
of the pointer and move the
pointer along one notch ready Copyright (C) HISOFT 1983,4
for the next random number All rights reserved
collection (When the pointer
Pass 1 errors: 00
gets to the end of the table, we
simply arrange for it to move 10 *C-
back to the start again). This way 20 ;DRAU, PLOT, And "RND* routines
we can get 256 different pictures 30 *D*
according to the initial position 65000 40 ORG 65000
of the pointer. Of course you'll 50 DRAU
rightly point out that during the 60 ;Thia is the equivalent or DRAU C,B
70
drawing of one complete 65000
80
EXX
65001 PUSH HL
picture the pointer will cycle 65002 90 EXX
many times through the table, 65003 100 LD DE.110101
repeating itself every time. 65006 1 10 CALL »24BA
Indeed it will — but oddly 65009 120 EXX
enough it doesn't matter much 65010 130 POP HL
140
in practice. A hint of regularity in 65011
150
EXX
things like the "grass" or "reeds" 65012
160
RET
graphics will hardly be obtrusive 170
anyway and with more 180
complicated shapes like 190
;Thts is equivalent to PLOT C,B
mountains the use of the 8933 200
PLOT EQU H22E5
random numbers by the graphic 210
220
routines is complex enough to 230
mask almost completely the 246)
RAND
underlying repetitions. The 250
;This replaces contents of A register by INT(RND*A)
; Note that addresses 64744 to 64999 Bust contain
techniques wouldn't suit a 260
; randon integers between 0 and 254 inclusive
statistician — but It'll do for us. 65013
270
LD (VALUE),A; Store A in (VALUE!
280
65016 LD HL,64744; Start of randoa number table
290
Translation 65019
65023
300
LD
LD
DE,(POINT); Current value of pointer
D, 0
310
We're now in a postiton to 65025 320
ADD HL,DE
attempt what we set out to do — 65026 330
LD A, E
that is. to "translate" the slow bits G5027 340
INC A
of our original BASIC program 65028 350 LD (POINT).A; Store next value of pointer
65031 LD A,(HL); Pick up randon integer (r)
into machine code. In order to 65032
360
CALL D2D28; Stack it
do so we need 4 essential 65035
370
380 LD A.255
subroutines, and these are given 65037 390 CALL «2D28; Put 255 on stack
in Listing 2. The first two are just 65040 400 RST 40; Calculator on
the well-known methods of using 6504 1 4 10 DEFB 5; Divide to leave "RND" on stack
the ROM routines for drawing a 65042 420 DEFB 56; Calculator off
line and plotting a point. To get 65043 430 LD A,(VALUE)
65046 CALL H2D28; Put (VALUE) on stack
the equivalent of PLOT x.y we 65049
440
EST 40; Calculator on
450
load the C register with "x". the B 65050 460 DEFB 4; Multiply (VALUE) by *RND"
register with "y" and then CALL 65051 470 DEFB 39; Effectively INT(VALUE*"RND" )
PLOT. To get fhe equivalent of 65052 480 DEFB 56; Calculator off
DRAW x.y we load the B and C 65053 490 CALL #2DD5; Result to A register
registers similarly and then CALL 65056 500 RET
DRAW. 65057 510 POINT DEFB 0
65058 520 VALUE DEFB 0
The interesting stuff comes 530
with the third routine (labelled 540
RAND in Listing 2). i've annotated 550 BKGRND
this in some detail so that all I 560 ; This draws the picture frane, and then prints
570
need to do here is explain how 580
; horizontal stripes of background paper
65059 LD A,2
it's used. It produces the 65061 590 CALL #1601; Select screen for printing
equivalent of INT (RND»x) using 65064 600 LD B, 95
a table of 256 random integers 65066 610 LD C.0
as we discussed above. The 65068 620 CALL PLOT
routine is entered with the A 65071 630 LD B, 0
register holding the value of "x", 65073 640 LD C, 128
650
and on return you'll find the A 65075
65078 660
CALL DRAU
register holding INT (RND«x). In 65080 670
LD B.80
other words, it does much the LD C,0
65082 680
CALL DRAU
same job as the defined 65085 690
LD A, 17
function in Listing 1. You'll need 65087
700
RST 16
to fill the table from BASIC 65088
710
LD A,(PAP 1)
720
yourself of course as I described 65091 730 RST 16
earlier — but once you've done 65092 740 LD B,5; Five rows of paper (PAP1)
that the table can be saved 65094 750 LOOP 1 LD A, 6
along with the rest of the code 65096
65097
760 RST 16
LD A. 13
as a single block. You control 65099
770
RST 16
the starting point of the RAND 65100
780
DJNZ LOOP 1
790
sequence by POKEing 65057 65102 800 LD A. 17
(POINT) with the current location 65104 810 RST 16
number in your adventure — this 65105 820 LD A,(PAP2)
is effectively the "pointer" we 65108 RST 16
were talking about before. 65109 LD B,2; Two rows of paper (PAP2)
Listing 3
65258 1570 LD (HT),A 65391 227® CALL DRAU
65261 1580 LD A.7 65394 2280 LD A. ( I I )
65263 1590 CALL RAND 65397 2290 INC A
«HIS0FT GENS3H2 ASSEMBLER* 65266 1600 ADD 1 65398 2300 CP 128
ZX SPECTRUM 65268 1610 LD (HN ) ,A 65400 2310 RET Z
65271 1620 XOR A 65401 2320 LD (II).A
Copyright (C) HISOFT 1983,4 65272 1630 LD (PP).A 65404 233® JP L00P6
All rights reserved 65275 1640 RET 2340
65276 1650 SUAP2 LD (HT).A 2350
Pass 1 errors: ®0 65279 1660 LD A, 16 236® GROUND
65281 1670 CALL RAND 65407 237® CALL IN IT
10 *C- 65284 1680 ADD A.8 65410 238® L00P7 LD A, 128
20 iPicture c o m p o n e n t s 65286 1690 LD (MX),A 65412 239® CALL RAND
3 0 *D+ 65289 1700 LD A, 1 65415 2400 LD C. A
65 N E 40 ORG 65140 65291 1710 LD < PP),A 65416 2410 LD A,8
1020 65294 1720 RET 65418 2420 PUSH BC
1030 MNTNS 65295 1730 II DEFB 0 654 19 243® CALL RAND
6514® 1040 C A L L IN1T 65296 1740 PP DEFB 0 65422 2440 POP BC
65143 1050 LD A,24 65297 1750 HT DEFB 0 245®
65423 ADD A, 104
65145 1060 C A L L RAND 65298 1760 MX DEFB 0 65425 246® LD B. A
65148 1070 LD (HT),A 65299 1770 MM 0
DEFB 65426 247® CALL PLOT
65151 1080 LD A, 23 1780 65429 248® LD A,( II I
65153 1090 LD (MX),A 1790 65432 249® INC A
65156 1 100 XOR A 1800 LAKE 65433 2500 CP 5®
65157 11 10 LD <MN>,A 65300 1810 CALL IN IT
1120 65435 2510 RET Z
65160 LD A,2 65303 1820 LOOPS LD A, 125 65436 2520 LD < I I ) ,A
65162 1130 CALL RAND 65305 1830 CALL RAND 65439 2530 JP L00P7
65165 1 140 LD (PP).A 65308 1840 LD C, A 2540
65168 1 1 5 0 L00P4 LD A.( II I 65309 1850 LD A,8 2550
1 160 C, A
65171 LD 65311 1860 PUSH BC 2560 GRASS
1170
65172 LD B. 136 65312 1870 CALL RAND 65442 2570 CALL INIT
65174
1180 CALL PLOT
1190
65315 1880 POP BC 65445 2580 LOOPS LD A,(11 I
65177 XOR A 65316 1890 ADD A. 128 65448 2590 LD C, A
1200 LD C. A
65178 65318 1900 LD B, A 65449 260® LD
1210 B. 96
65179 LD A.< H T ) 65319 1910 CALL PLOT 65451 261® CALL PLOT
1220
65182 ADD A.7 65322 1920 LD A.4 65454 262® LD A,8
1230
65184 LD B, A 65324 1930 CALL RAND 654S6 263® CALL RAND
1240
65185 CALL DRAW 65327 1940 LD C, A 65459 264® LD B, A
1250
65168 LD A,(PPJ 65328 1950 LD B, 0 65460 265® C.0
1260 LD
65191 CP 0 65330 1960 CALL DRAW 65462 266® CALL DRAU
1270
65193 JP NZ, UP
1280 65333 1970 LD A, ( II ) 65465 267® LD A. ( I I )
65196 LD A.2 65336 1980 INC A 65468 2680 INC A
1290
65196
1300
C A L L RAND 65337 1990 CP 50 65469 269® CP 128
65291 LD B, A 65339 2000 RET
1310 Z 6S471 270® RET Z
65202 LD A,(HT)
1320 65340 2010 LD (II).A 65472 271® LD ( II ) ,A
65205 1330 SUB B 65343 2020 JP LOOPS 65475 272® JP LOOPS
65206 1340 LD (HT),A 2030 273®
65209 1350 LD B, A 2040 274®
65210 1360 LD A,(HN) 2050 REEDS 275® INIT
65213 1370 CP B 65346 2060 CALL IN1T 2760 ;Transparent paper
65214 1380 CALL NC,SyAP2 65349 2070 LOOP6 LD A,2 65478 2770 LD A. 248
6S217 1390 CONT LD A.( I I ) 65351 2080 CALL RAND 65480 2780 LD (MASKT
65220 1400 INC A 65354 2090 LD (MN),A 2790 ;Sei counter to zei
65221 1410 CP 128 65357 2100 LD A.7 65483 2800 XOR A
65223 1420 RET Z 65359 2110 CALL RAND 65484 281® LD ( II >.A
65224 1430 LD (II),A 65362 2120 ADD A, 1 65487 282® RET
65227 1440 JP L00P4 65364 2130 LD (MX),A 23696 2830 HASKT EQU 23696
65230 1 4 5 0 UP LD A.2 65367 2140 LD A, ( II ) 8933 284® PLOT EQU 8933
65232 1460 CALL RAND 65370 2150 LD C, A 65000 285® DRAU EQU 6500®
65235 1470 LD B, A 65371 2160 LD A,(HN)
65236 1480 LD A.(HT) 65374 2170 ADD A. 119
65239 1490 ADD A.B 65376 2180 LD B, A
65240 1500 LD (HT),A 65377 2190 CALL PLOT
65243 1510 LD A.(MX) 65380 2200 XOR A
65246 1520 LD B, A 65381 2210 LD C. A
65247 1530 LD A.(HT) 65382 2220 LD A. (MN) 65013 2860 R A N D EQU 65013
65250 1540 CP B 65385 2230 LD B, A
65251 1550 CALL NC.SUAPl 65386 2240 LD A.(MX) Pass 2 e r r o r s : 0 0
65254 1560 JP CONT 65389 2250 SUB B
65257 SUAP1 LD A, B 65390 2260 LD B. A Table used : 278 fro» 367
37
ZX Computing Monthly • April 1987
Fruit m a c h i n e s i m u l a t i o n s 5 1 i 10 I f p e l I 4 0 I [ i « « Somebody somewhere thought
Inevitably lack the excitement it would be a great idea to
of the real thing. On the plus GRHBLE base a game on the trials and
side you can't lose your shirt but H IGIIER « LOUER COl I ECT tribulations of a software distri-
on fhe other hand you're nof 5RKE i- TRKE bution company. With such an
going to walk away with your inspired concept as a starling
pockets bulging with loose point this game was always
change Without the thrill of the going to face an uphill struggle
gamble the simulation Is ulti- to succeed. Nonetheless great
mately — fruitless. That being games can spring out of lack-
said Dizzy Dice manages to be lustre notions — unfortunately
slightly better than most games Wlbstars Isnt one of them.
of this kind so If you want a Wlbstars Is three mini games
harmless Imaginary flutter this .tacked together. Firstly there's a
might be worth a whirl especi- very rudimentary game In
ally at a budget price which you must gef your van
The presentation Is bright under the rlghf chute to receive
and full of activity once the the goods due for despatch.
fruits are rolling. A touch of 05E Secondly there's a brief arcade
diversity is added to the usual section, where your van is
game with the opportunity to displayed from a blrdseye view
gamble your winnings on a rou- Dizzy Dice is about as good going along the road. In front
lette wheel or on the throw of a a game as you'll get in this un- is a van from a rival firm which
dice (guessing whether it will adventurous genre but purists jettisons debris into your path.
be higher or lower than the will notice a glaring Inaccur- All you have to do is avoid the
previous throw). acy. When they are about to run junk thrown at you. The climax
Starting off with $10 you must out of coins, the machine will of the game is a platform and
conveyor belt scene — man-
IJuul)
turn if Into $100 thus breaking suddenly turn benevolent and
the bank. You then move on to give you four fruits in a row and oeuvre your goods up the
try breaking the bank at higher a hefty payout, just to keep you screen, avoid the hazards and
cash limits. In the game you can finally get your goods
to market. As a screen from a
platform game It works reason-
ably well but there's only one.
AGENT
has vast supplies of weedkiller to the mothercraft. That's about
with which you can rid the the extent of the gameplay — Any platform game you could
mention hastarmore screens of
ORANGE galaxy of weeds. Apart from
agriculture there's an element
there's a little bit of everything
but no highly addictive feature at least equal complexity.
A'rrT of trading — on returning to Agent Orange Is a n Wlbstars three games do not
U.9S your home planet you can interesting attempt to try stand up either on their own or
cash In your crops and buy a something a bit different but the when thrown together In this
This is the famous "life" program bigger ship The main action idea of combining "life" with order. A poor release which is
of m u l t i p l y i n g cells trans- however takes place on the arcade action sounds a lot below the standard of much
planted and grafted onto an uncultivated planets where you better than If plays in practice. budget software
arcade game The result is a pilot your tiny ship out of the
farmers Tr> space foray with mother craft and set about
liberal doses of sowing, reaping seeding the surface There are
00 and zapping. alien fighters fo avoid and
destroy and indigenous weeds
1)881)
The aim of the game is to
5 that will choke your harvest,
CiMAM:
establish plantations on alien
planets, there are eight to counteract these threats,
conquer and the final planet harvest your crops and fly back ij i i
ftJMff
i J8St*
s<
o ' y*
• • • •
• *
114
o (00»»<>0<>0<KH <m a
CO
quite a few full-price titles. The
M
trouble Is that the business of
finding all those herbs and
ninaniiiin
things goes on a bit too long, so
that Instead of getting down to
the serious business of trans-
mogrifying each other, you
spend most of the time wan-
Released on yet another ot dering around bits of forest and
Mastertronic's labels (Bulldog) along dead-end pathways look
Feud is a promising looking Ing for flashing flowers. Finding
game thai doesn't quite come the herbs ought to be just the
up with the goods. build-up to the big fight, but as
The plot has possibilities — It is It takes so long that the
you play a wizard named action gets slowed down and
Learic who is involved in a feud drawn out, making the game a
with his brother Leanoric, who lot less addictive than it could
also happens to be a wizard. be SCALE'fC*fRIC
Being wizards their feuding Still, It is very nicely
involves much turning of each presented, and while It's not a |MPH |MPH
other into frogs, blasting with budget classic It Is a fairly
fireballs and the like But before respectable effort.
the spell throwing you both
hove to collect the necessary
herbs and Ingredients to
prepare the spells.
may have been an idea to
Graphically the game Is
very slick. Learic is quite a large SCALEXTRIC
Virgin/Leisure Genius
change the Scaiextric formula
and include a larger Held of
figure very well animated as ne cars, weaving your way through
wanders around in his monk's £9.95 back markers can be just as
habit, and on the whole the
graphics compare well with uuulJ Scaiextric arrives on the
Spectrum as a sophisticated
satisfying as winning.
One area of racing that has
at last got some attention Is
construction set with almost crashing. In most simulations
limitless possibilities for whatever happens In one
designing your own tracks as player mode Its always your
well as 17 pre-set simulated fault and you are eliminated,
Formula 1 circuits. whereas in Scaiextric the rule Is
Constructing a circuit Is that the car approaching from
behind Is always the loser, but
f£L
simplicity Itself with an Icon
driven system and there is the if the difference in speed
option to save the tracks you've between the two colliding cars
built. Racing takes place on a is less than 20 miles an hour
fm
split screen display where you there's no crash — the front car
have the option to race in two is just shunted along the track.
w
player mode or against a com- A good value package only
puter controlled car. There's lacking the competitive edge
also a plan view of the whole that comes from having a grid
circuit which plots your position full of cars racing round the
during a lap — a useful aid track.
jMik&fldlll 1 when trying to anticipafe sharp
bends.
W*1*E • This computer simulation
offers plenty of variety as far as
tracks are concerned but be-
cause every race is just a two
car race the racing action can
become stale very quickly. It
-A " M J When It comes to sports simula- long wait while the machine at once you've accomplished
tions. authenticity can be a the end of the lane sweeps that It becomes very much like
drawback. This ten pin bowling away knocked over pins Auth- top level darts, It's more of a
10th FRAME
US Gold
game replicates the tedious
features of the game while fail-
enticity could certainly have
been sacrificed to avoid the
surprise when you miss than
when you hit the target. Even
£9.95 ing to exploit the excitement of pauses especially as even when you get a strike It's very
the actual gama Tedious real- during the action this game is low key — no flashing lights or
istic features include a painfully still in the slow lane whistles
Controls are keyboard only The animation, such as it is.
and there is no computer oppo- is good and the graphics are
nent so you've either got to be fair and although it will suit
content on improving your own those who are ten pin bowling
score over the three difficulty fanatics the Impulse buyer may
levels or strongarm some friends find It repetitious and over-
into joining in (up to eight priced.
players).
The skill factor comes In
during the aiming and throw-
ing of the ball, direction is
selected with a cursor and
speed and accuracy by testing
your reactions on a moving bar
diagram at the bottom left of
the screen. This indicator also
determines the amount of
"hook" you put on the ball. A
bad error of judgement means
that the ball will generally spin
into the gutter about a third of
the way down the alley.
Mastering the refinements ol
the game takes some time but
BY ALAN DAVIS
FIRST STEPS INTO
•_ast month I described what I
Listing 1
hoped was a painless method of
making the often traumatic
transition from BASIC to machine
code programming. If you've
had a go at it, then I hope It i REM * * * BASIC "MASH" R O U T I N E * * *
proved successful for you — but I 2 REM
8 REM *** DRAW P A T T E R N ***
must confess that I'd feel a little 9 REM
guilty if we just left It at that. 10 C L S : FOR 1=1 TO 96
Those who are left scratching 20 P L O T 127.87: DRAW 8 0 * S I N ( P I * 1 / 4 8 ) , 6 0 * C O S (PI*l/48>
their heads and wondering 30 N E X T 1
"How do I get from here to 3D 3 7 REM
sprite graphics?" might, with 3 8 REM *** PICK UP INK A N D P A P E R C O L O U R S ***
some justification, feel somewhat 3 9 REM
dismayed! So here goes with a 4 0 P R I N T # 1: AT 0 , 0 ; " P a p e r c o l o u r ? (0-7)*
5 0 CO S U B 2 © 0 : LET p a p e r = V A L 1*
second instalment. The 3D sprite 60 P R I N T * 1;AT 0 . 0 ; " I n k c o l o u r ? (0-7>"
graphics are still a bit far off, but 7® G O SUB 2 0 0 : L E T lntc=VAL i»: IF ink=paper T H E N G O T O 7®
I hope we can get a few steps 7 7 REM
nearer without offending the 7 8 REM * * * MOM "MASH" T H E S C R E E N IN T H E C H O S E N C O L O U R S ***
purists too badly. 79 REM
80 FOR 1 = 0 TO 7 6 7
o
210 PRINT «1;AT 0,0,,
we'll actually be able to write a 220 RETURN
rather useful little screen
manipulating routine. The
programming won't be elegant,
it won't be economical, and it'll
o
Listing 2 give Toni Baker hysterics — but
It'll be simple (very), and it will
work pretty well. Just to whet
your appetite, take a look at
Listing 1 — or, better still, drag
Use of t h e HL register pair the old Spectrum out of its
to " p o i n t " to an a d d r e s s . corner and spend a couple of
minutes typing it in, When you
RUN It, the program will draw a
a
65368 10 ORG 6 5 3 6 8 pattern on the screen and ask
65368 20 LD H L , 2 2 5 2 8 you to set the PAPER and INK
65371 30 values. If you respond in each
LD A , ( C O L O U R ) case with a number between 0
65374 40 LD ( H L ) , A and 7. the screen will be
65375 50 RET coloured in from top to bottom
in the new PAPER and INK
C
65376 60 COLOUR DEFB 7 colours, leaving the original 2
pattern completely Intact. You've
probably seen this sort of thing
1 before — it's often called a
Listing 3 ^^^M
"wash" routine, and it would be
1 a useful addition to any
graphics designing program <
since the Spectrum doesn't have C
A simple "count ing" loop an inbuilt BASIC command to do
it. The trouble is that, as you may i
ORG 65368
have noticed, it's very s-l-o-wll
We don't have to look far to C
65368 10
find the reason for this snail's c
65368
65370
20
30
L D A, 0
LD (COUNT),A
pace. It lies In lines 80, 90 and
100, where the program loops all
c
65373 40 LOOP LD A , ( C O U N T ) the way through the screen
65376 50 CP 255 attributes area of memory,
poking Into each address the
65378
65379
60
70
RET Z
INC A
appropriate value for the current
choice of INK and PAPER. Since c
there are 768 character squares h
65380
65383
80
90
LD ( C O U N T ) , A
JP LOOP
to be coloured, it's not surprising C
that this takes bit of time.
Wouldn't it be nice if we could
u
65386 100 C O U N T DEFB 0
replace lines 80 to 100 with a G
O
41
ZX Computing Monthly • April 1987
LRU
FIRST STEPS INTO
machine code routine to do the now comes the clever bit, and a COUNT. This is just to make sure
same job instantly? After all, the new Z80 instruction: LD (HL),A. that the counting of the loops
Spectrum's screen attributes area This means "put the number does actually start at zero. At
is just a section of memory like held in the A register into fhe line 40 we enter the loop Itself —
any other (It occupies the 768 byte of memory whose address and I've used the label LOOP to
bytes from address 22528 Is held In the HL register pair." In mark this point in the program;
onwards), and as we know, our case, this results in the we'll see why in a moment. Here
shoving numbers around like this number 7 being stored in we put fhe current contents of
is something that the Z80 is very address 22528. Then, finally, line the COUNT byte into the A
good at. So this is what we're 50 returns us to BASIC register (zero on this first pass, of
going to attempt. Now you might be thinking course), and line 50 then
"but why don't we just use the confronts us with another new
Registers instruction LD (22528),A instead of instruction: CP 255. Think of this
In the previous article we dealt alt this messing about with HL?". as meaning "ComPare the
with the Z80's registers only one But don't worry about that for number in the A register with
at a time, but a single register now — all will be revealed In 255". Now obviously the Z80 can't
can hold only numbers up to due course. Meanwhile, you actually "compare" two numbers
255, and to write our "wash" might like to try out this little in any intelligent sense, but it
routine we'll need to be able to routine for yourself. To do so, can do a simple subtraction of
handle numbers larger than this. assemble the code and return to one from the other — and if the
Fortunately there's a simple BASIC NEW the Spectrum (which result of the subtraction Is zero,
solution. We can store larger will still leave the machine code then clearly the numbers are the
numbers by using TWO registers, intact in the UDG area) and same. So the outcome of the CP
and the Z80 has a large set of enter the command PRINT AT 255 instruction will be
instructions for handling pairs of 0,0!'A" to get the letter "A" in the "remembered" by the Z80 as
registers for just this purpose. Two top left character square. Now either ZERO or NOT ZERO.
registers which are paired type RANDOMIZE USR 65368, (Incidentally, this result is stored
together are the H and L and abracadabra — the "A" will In a single bit of the F register
registers (other common pairings still be there, but in white INK on called the "zero flag", but you
are D/E and B/C). and an black PAPER. Try poking a don't really need to worry about
Instruction for loading the HL different value (8xPAPER+INK) into that here). The contents of the A
pair with a number takes the 65376 (COLOUR), and do register are unchanged by all
form: RANDOMIZE USR 65368 again. It this.
really does work, doesn't it? So I think you'll see that here we
LD HL,515 all we need now is to repeat the have the possibility of
What's actually happening here? process 768 times to change the conditional actions. We can
Well, the number 515 is In fact colours for the whole of the make the program perform one
being split into two separate screen; in other words, we need action in the event of a ZERO
bytes. One of these - the "H"igh a program loop. result, and another If we get NOT
byte — stores multiples of 256, ZERO Which brings us to line 60
and the other — the "L"ow byte Loops — and you can probably guess
— stores whatever remain. So In Forget our present problem for what "RET Z" means: "RETurn if
this case the H register stores the the moment, and let's consider a the result is Zero". In other words,
number 2 (2x256=512) and the L simpler one How can we make if the number held in the byte
register stores 3 (i.e. 515-2x256). the Z80 simply count a specific COUNT turns out to be equal to
It's easy to discover the biggest number of cycles (say 256) and 255, the program will return to
number that can be stored in then "return to BASIC'? In other BASIC On this first pass, of
this way: if both registers contain words, can we write the course, COUNT contains zero — it
255, then we have equivalent of something like: isn't equal to 255. So the
o 255+255x256=65535. However, we program moves on to the next
z don't really need to cope with
this In detail at present; it's
FOR 1=0 TO 255: NEXT I
Well yes we can. There are
instruction, line 70. Here the A
register is increased by 1 (we
enough just to appreciate that dealt with INC A last month),
s any number of 65535 can be
several ways of doing It, in fact
— and Listing 3 is one of them. and then line 80 causes this new
<
loaded into the HL register pair. There are better methods than number to be deposited In
We're now in a position to this one, but this method COUNT. After the first pass, then,
oe
take a look at Listing 2. which is perhaps sticks closer to the COUNT will no longer contain
an assembly program for concepts we already know; zero but 1. Finally, at line 90, we
changing the attributes of the actually, a better equivalent as encounter a "jump" instruction:
first character square on the JP LOOP. This tells the Z80 to go
O a BASIC subroutine would be:
back to the instruction labelled
o
oe
screen (top left hand corner).
We'll be storing the machine 10 LET COUNT=0
20 IF COUNT—25=0 THEN
"LOOP" and carry on from there.
a.
code In the user defined I think you can follow the rest
graphics area, and the ORG RETURN yourself. The program will cycle
directive at line 10 tells the 30 LET COUNT=COUNT+1 round and round, increasing the
assembler to do this. Line 20 40 GOTO 20 contents of COUNT by one each
2 loads the number 22528 (which
is the address for the start of the
What I've done in Listing 3 is to
set up a single byte (COUNT)
time, until eventually it contains
255. When this happens, line 60
attributes area, remember) Into will cause a return to BASIC
which will serve the same
the HL register pair, and line 30 purpose as the counting This is the most complicated
loads the A register with the variable In the little BASIC loop bit of programming we've
O contents of the byte labelled
COLOUR (see line 60, where the
above. The program proper starts
at line 20, by clearing out the
attempted so far, and it's worth
making sure that you understand
111
Q.
defined value of 7 corresponds contents of the A register, and just what's going on before
to white INK and black PAPER). line 30 then dumps the result proceeding further. If you get
CO This much Is fairly obvious — but (zero) into the address labelled lost, refer back to the little 4-line
Listing 4
assembler program Is very close. containing 22528 for the first run,
Happy? Good — because 22784 (22528+256) for the
we're now very nearly home and second, and 23040 (22784+256)
dry. ff we combine Listing 2 and for the third and final run. But we
Listing 3, with just a very slight don't need to type in the whole
(but crucial) addition, we have a thing three times, because the "Washing" the top third of the
routine (Listing 4) which will Z80 allows us to use the screen •
perform a "wash" over the first equivalent of a BASIC subroutine
256 character squares of the using the CALL instruction. Listing 65368 10 ORG 65368
screen. Lines 20 to 40 set up the 5 — which is, at last, our ultimate 65368 20 LD HL,22528
initial conditions (put first goal — shows how It can be 65371 30 LD A,®
address of attributes area into done fairly painlessly. What I've
HL, and zero the counter) and done here is to take the whole 65373 40 LD (COUNT),A
then the loop is entered. The A of Listing 4 (with the initialisation 65376 50 LOOP LD A,(COLOUR)
register picks up the "colour" of HL removed), and attach the 65379 60 LD (HL) , A
(line 50) and transfers it to the label "WASH" to It - as you can 65380 70 LD A,(COUNT)
address which HL points to (line see at line 90 of Listing 5. This 65383 80 CP 255
60) Then we check the counter now forms a subroutine which 65385 90 RET 2
(lines 70 to 90) increase it by one can be called using CALL WASH.
(line 100) and store the new 65386 100 INC A
The main assembler program 65387 1 10 LD (COUNT),A
count (line 110). Now comes the then becomes the sequence of
crucial addition I mentioned. It's instructions from lines 20 to 80, In 65390 120 INC HL
a new instruction, but you'll which HL Is given the 65391 130 JP LOOP
know exactly what it means: INC appropriate initial value, and 65394 140 COLOUR DEFB 7
HL (iine 120). This increases the the subroutine WASH called 65395 150 COUNT DEFB 0
number held in HL by 1 — so three times before the return to
that HL now "points" to the next BASIC is made at line 80. Just
address in the attributes file. Line one further point may puzzle you
130 causes a jump back to the like, save the machine code
here: why is It that previously the bytes thus produced (SAVE
instruction labelled LOOP, and RET Z Instruction has caused a
the whole process is repeated "wash" CODE 65368,44). NEW the
return to BASIC whereas now it Spectrum (which leaves the
over and over again until 256 no longer does? The short
cycles have been completed, machine code still intact in the
answer — which is all we have UDG area), type In Listing 1
causing a return to BASIC at line space for — is that in this case it
90. again — and just for fun, run it
was preceded by a CALL once more to remind yourself
Can you see now why we instruction, and the Z80 what life used to be like before
used the apparently roundabout "remembers" where to carry on you were a machine code
routine in Listing 2? By storing from after it returns from a wizard. Tedious, eh? Now BREAK,
the current attribute address in subroutine. Incidentally, just as delete lines 80, 90, and 100, and
HL. we can simply "point" the every BASIC subroutine must end add the following BASIC lines:
routine to the next address by with a RETURN sooner or later, so
using the INC HL instruction every machine code subroutine 80 POKE 65410,ink+8*ipaper
repeatedly as we go round the must somewhere terminate with 90 RANDOMIZE USR 65368 36
loop. a RET. Now RUN the program. Wait for
Listing 4 will indeed work — the pattern to be drawn; choose
but of course it will only wash Run your paper colour; hold your
the top third of the screen. What breath . . . then choose the
about the other two thirds? No Now let's make it all work. ink . . , 0
problem. All we need to do is to Assemble Listing 5, and if you Magia
z
1
Listing 5 1 2
<
Complete screen "wash ". a
65368 10 ORG 65368
65392
65395
1 10 LOOP
120
LD A,(COLOUR)
LD (HL),A
(5
65368 20 LD HL,22528 65396 130 LD A,(COUNT) 0
6537 1 30 CALL WASH 65399 140 CP 255
65374 40 LD HL,22784 65401 150 RET Z
65377
65380
50
60
CALL WASH
LD HL,23040
65402
65403
160
170
INC A
LD (COUNT),A s
65383 70 CALL WASH 65406 180 INC HL a
65386 80 RET 65407 190 JP LOOP
65387 90 WASH LD A,0 65410 200 COLOUR DEFB 7
C
w
a
65389 100 LD (COUNT),A 6541 1 210 COUNT DEFB 0
«/!
ZX Computing Monthly • April 1987
mil
Activision's latest casts
the hacker as hero.
HACKER 2 seeing, and sneak your MRU in
unnoticed. You have to check
nilK H L E M I ' i H H V f III I N H H L E H I Pt H C E 3 several things at once, so the
H D H I L E REMOTE U N I T S f HHII' 5 J III T H I N MFSM has four screens.
T H E H I L I T H R V C O M P L E X . f HI H MRU MRS
H E C K E Q U I P P E D U I 1 H H R t Mil T E O P T I C H E Sounds complicated? I've
HNHLVZER ( R n m FDR THE E X P R E S S simplified it considerably!
P U R P O S E OE CRT H E R I HE INTELLIGENCE. Hacker 2 Is an extremely
complex piece of software; It's
difficult too, and challenging,
though not especially
Intellectual. Quick thinking and
intelligent mapping are
required. What makes it so
unusual is the incredible
R E H n V E R C O P V OE T H E D O C U H I N I HHRRED attention to detail. For example,
"CLASSIFIED* F R O M T H E V R t l l . T HMO you have to set the vertical hold
DELIVER IT TO DOR HEFMT U R I I I N G HI on each of the TV screens. The
THE E N T R H M C E . P I E C E S OE THE MHOLT'S video simulation is so authentic
C D H H I H R T I O N HRF H I D D E N I N H I I L I HE
CRHINETS. T H E R E C E S S C O D E I D O N E OF you even get noise bars when
I ME C R H I N C T S I S ' R E D /*. you fast forward. And the CIA
(RETURN)! manual Is convincingly
confusing (not that I've ever seen
a CIA manual). Real efforts have
The MFSM Is linked by satellite to been made with this game to
create realism: something very
Hacker 2: The CIA's central computer, which is
rare with British software.
connected by modem to your
Doomsday Papers computer. On your screen you The few animated graphics
Activision see a mock-up of the MFSM. are adequate rather than
£9.99 Security at the base is not so stunning (slightly chunky);
slack that MRUs can wander otherwise Hacker 2 Is perfectly
cassette labelled Actisource, around undetected. Guards executed. Patience Is required,
an incomprehensible technical patrol the corridors, and there but It does pay off. Instability is
manual and no instructions are thirty-eight security cameras questionable, but I reckon this
would not seem the obvious scattered around. Two electronic will provide value for money for
beginnings for a great game monitors flick through these most people. Activision's
But to my great surprise, these successively, checking that no Spectrum conversions are
ingredients make Hacker 2 one unidentified objects are in the usually lacklustre aflairs
of the most sophisticated picture. With the MFSM, you can (remember the lamentable
releases I have played for ages. view what any of the 38 Ghostbusters?), so congratula-
It's American, of course. cameras see. what either tions are in order; at last they
In this game's prequel, you monitor is registering, or a plan have created a winner!
hacked your way through of the Immediate area
numerous obstacles to prove surrounding the MRU. The clever
yourself one of the world's finest bit is, the MFSM also Includes 38
hackers, but your endeavours video channels. If you
did not go unnoticed. Loading synchronise correctly, you can
the Actisource tape, you log on bypass a camera with a
to what seems a normal enough recording of what it should be
Micronet style service — until tne
menu is interrupted by a
message from the CIA! As the
leading expert on breaking
security systems, they have a
mission for you. The Russians
have developed a simple but
devastating plan to topple the
US government (trust those
scheming commies). The details
are enclosed in a document —
'The Doomsday Paper" (sort of
thing the Ruskies would call T (.?» - ERM I IV*
such devious plans). Your task is
to retrieve these papers from the
g
military complex in Siberia
(where else? As you may have
guessed, I do not entirely
approve of the typically
paranoid American scenario).
How can you do this, if you're
sitting in front of a screen back
home? Via the miracles of
modern technology, that's how.
o
UJ
Hidden within the base are three
Mobile Remote Units (MRUs,
droids at your disposal), and the
Q. Multi-Function-Switching Matrix
(MFSM), which controls the MRUs.
</>
i
are four 18 hole courses to play wrong club or apply too much
on plus a practice driving slice and you pay dearly as
range. Up to four players can your score threatens to expand
take part in a round and there off the scoreboard. On a lot of
are three levels of difficulty, holes, water hazards dominate
novice amateur and profes- and if this was real life you'd be
sional (where subtle shifts in spending a fortune in lost balls.
wind direction affect the flight of Pinpoint accuracy is essential all
the ball). Each player has a the way down to the hole. You
OSTIilt
choice of club (from an are kept up to date with the
o
III
available 14) and can adjust the
power, slice and hook in his shot
exact distance to the hole, even
down to the last few Inches so
by timing the drive against a that even a tap in can be a
Q. problem especially as most
</>
moving bar display.
The joy of the game Is the greens have a vicious slope. An H I T
THE DISC
COLU
John Wase presents another
selection of useful routines for
Discovery owners.
S ome months ago, a for two files. Line 2 creates a Since there are plenty of streams
correspondent was asking about random access file with a available, Chris finds it sensible
random access files and how to record length of four: that is to reserve some for writing to
handle them. He thought that three digits, plus one for the and others for reading from files.
perhaps the best solution was to ENTER used as a separator and Chris also warns, too, of using
set up a relatively short file of automatically inserted each CLEAR*: whilst uselui on
key numbers to be used as an time we print # to the fila This occasions for closing all streams,
index to manipulate larger files. gives 999 of these records plus it does what it says. Thus, it
When I wrote back, I pointed out an extra two at the end which clears out everything in all open
that this was a general disc are used as slots for storing streams, doing a Paul Daniels on
filing problem rather than a counters. Line 3 creates a further the record you were trying to
Discovery problem, but that he file of record lenght 63 (plus one send to the tile. So in routine
was on the right track. Now for the separator): because - 1 is "find", line 690, CLEAR # could
here's a short program that stipulated for the file size. It uses be used, but In the "delete
Illustrates the principle perfectly. one half of the space available record" routine which moves
on the disc, which is why the key-numbers in the index file,
index file was created first. Next, each stream must be closed
The Dreaded Telephone the positions used for storing the (line 760) to send the latest r$ to
List! counters are primed (lines the file.
As Chris says, this is a good The manual does not mention
Yes it is; once again I've got a illustration of the method that if you POINT # n;x and "x" Is
telephone list. This is by Chris Discovery uses to write to a not a valid number, you get the
Oliver of Barton-under- random access file. This part of "nonsense in Basic" report. And
Needwood, and took my eye the program is then no longer unless you are a very fast reader,
because It illustrated beautifully needed. you will need to control the
random access filing. It was scrolling when printing the
clear, It had clear contents of a file to the screen. A
accompanying noted and it Listing 2
The first thing this program simple variable is used in the
came with a disc. So let's look at "list-all" and "scroll" routines of
the program. Chris uses two must do is fetch the the example program.
random access files, a main current values of the counters
record file holding names, before manipulating or adding
addresses and numbers, and a further records, and this is done Improvements
file of key numbers, used as an In lines 70-90 which illustrate
index. The index number-keys clearly the method of reading The example program has been
must be filed as string arrays, from a random access file. And deliberately kept simple.
dimensioned so that, as in all this now covers the basis of the Improvements could include use
random access flies, each entry program; the rest is merely of subroutines for reading from
in a particular file is the same manipulation. or writing to random access files
length as the others. As Chris says, there are one or and use of an "inserting search"
two things mentioned only routine instead of the simple
briefly in the Opus manual progressive search could speed
Listing 1 which are worth emphasizing. things up. In addition, the crude
This program creates Firstly, you cannot get a stream "change record" routine could
and reserves space on the disc to flow in two ways at once. be replaced with an editing
routine, and an "Add-More?
option in the add item routine
would be helpful. Use of
Listing 1 machine code Insert and find
routines and/or the RAM disc
1 REM First croats the two R&ndon-Access Files:- Main file "directory" holds (particularly the big 128K one)
nwoi and phone nuabers; each record oan total up to 63 character*;
Index-file "index'' to hold nuabers up to three digits lorm i.e. 1 to 999
would also make things run
PLUS separators ! faster. Finally, I had a glitch in
2 OPEN *6,"'•"; J; "index RND4, 1001: CLOSE «6 the discs (which got an attack of
3 OPEN M ; "»"; 1; "directory'RND64, -1: CLOSE «4
4 REM The last two positions in the index file ( 1000 & 1001 > are reserved perpetual motion) or something
for counters (not dal*ations) and need prininf with Zeroes. while the program was running:
5 OPEN «7;"•-;1;"index RHD4
6 POINT «7;1000: PRINT 97,"000-
all innocent, I RAN it again. That
7 POINT *7;1001: PRINT »7;"000-: CLOSE «7 loses the files; this could be
e CLOSE »7: STOP avoided by having listing 1 as
9 REM ••«**«•«•**«•«•••«•»»**««•*»••*«»*•»»»*«•**•««•»***••«»««»*«•«•»•«*
an autorunnlng subroutine
o
615 PRINT BRIGHT l.lt.it REH looking message
issue. He had had continual 619 REH test char/num Input
errors of this sort, and noticed 620
625
IF lt< 1 )<":' THEN LET o f f s e t s
OPEN *4;"•";1;"directory"RND64 OPEN »6;"n";1;"index RND4
that they often appeared 630 POINT *6. pntr INPUT *6;rt: POINT S4.VAL rt
o through interference from other 635
640
INPUT »4.ft
FOR <1=1 TO LEN it
M peripherals, for Instance 645 IF FN ct(ft(q+offset))<>FN ct(i»(q)> THEN CLEAR * RETURN
switching off a printer. He 650 NEXT q
5 recommends that if you are 660 LET found=l: LET at-"another "
Ic
10 CLEAR USR • » * - t l ! LET a-'-'SR A","3J',"3C",•IB","17-,-7E-,-FE" Figure 3. Tim says that due to his
•a'-aos PRINT -Cod* located at ,•OE",-30*,•lO","FE",-OD*,-2S",• relative inexperience, he only
•(•""US* b/ RAND0WI2E 0»-."FE*,-22*,-ZB","OF",•23','A7 used the BC, HL and A registers;
USR *|a *,'ED',*42*,*D0*1"09*,•16*.*EB*
70 FOR 1 TO a»3S! READ a*: p 110 DATA •33',•J3-,-23",*Z3'P-Z it could perhaps have been
OKF l , < C' ODE ••(11-49 <7 AND **I 3*,•IS",-Fl-23-, *^E»,-FE-,'22" shorter otherwise. He also asks
II)•»•It>»!««(CODE *•<&> 48-17 a ,-28',-EB",'DA',•90","je*,'Fa',*
ND »a<2>>•»•! ) ! NEXT I D6" ,-IS-, - 30' , T2", 'C6-, -3a-, "77 about peripherals, being scared </3
100 DATft-ED*,-4B-, *4B*. "SC. *2 • ,* 18*,'ED* to use his SPECDRUM in case
everything blew up. It should be
Gomes based on top films have change weapons while reading machine guns can cause you
often been top flops but this the instruments that report your problems as they can overheat
high flyer is set to reverse the speed, altitude, attitude and jam before you can score
trend and is soaring up the (climbing or descending) and enough hits to destroy him.
chart as a game in its own right. plot your opponents position on The two player game is a
You star in the game that pits your radar. Luckily, these simple head to head contest
you in a high speed aerial duel displays are easy to read even where both players have a stock
against either a human when travelling at speed as of three planes. The last plane
opponent or a series of that's the way this game's flying wins the contest.
computer opponents. The action played. Against the computer your
takes place on a vertical split The contest begins as both three planes (or lives) must
screen display with vector fighters take-off from their tackle a series of computer
graphics representing the F14 respective carriers and head pilots that increase In skill. You
tomcat fighters. I found the straight for each other. Thanks to don't score any points, just
vertical split screen displays the simple flight controls you survive to fight the next level or
worked exceptionally well and can concentrate on the combat group of three fighters. The first
made the game a lot easier and decisions on whether to two levels are relatively easy as
than the normal horizontal atfack with your machine guns the enemy mainly attacks with
display (one player's screen on or fire a sidewinder homing it's machine guns and fall easy
top of the other's), particularly for missile. A missile will wipe out prey to your sidewinders but
players hunched either side of your opponent in a single shot from then on it gets a lot harder
the keyboard. You can of course but you will have to keep him in as you face a succession of
use joysticks if you have them your sights while your missile missile firing goes. To win you
but single stick owners may opt systems lock on. To add to your will really have to be Top Gun,
for the keyboard to make the problems and also your
battles fair. If you're up against chances of survival you can also
the computer you'll need all the fire a flare to distract enemy fire
help you can get. but since you can only select
Control of the F14s is a mixture one system at a time you have
of the standard climb, bank and to anticipate your opponent's
dive controls with additional actions almost before he knows
keys to control the throttle and them himself. Even the simple
,. , A B
HI i l l J IL )j I
NHFUIGHT
ACE OF ACES
US Gold
£9.95
I I V
tEfiLIfl
or
RflSTEHPHn
o x
PARIS o
ma
AC1S
-
UW
"No 8ritish aircraft will ever punches up the mission's tactical
bomb Berlin" was the claim of map that plots the relative
Luftwaffe chief Herman Goering. positons of you, the target(s), any
Now. thanks to US Gold, you can bad weather that can make
join the ranks of RAF Mosquito flying even more hazardous and,
pilots that not only bombed ot course, the dangerous Me109
Berlin but also trounced trains, fighters. Once you reach your
pummelled planes, sank target (on a bombing mission)
submarines and even scored it's all up to the skill, accuracy
victories against the dreaded and timing of the bombardier.
V-1 buzz bombs. Opening the bomb doors will
Your game begins in the hopefully reveal the target that
briefing room with your possible can be destroyed by your
targets marked on the Squadron bombs. This screen is also used
Leader's blackboard. You to dump empty fuel tanks to
choose whichever ones you like, lighten the load and to switch
go on a practise mission or the forward gunner (pilot screen)
attempt the Ace of Aces from cannon to rockets.
grandslam and go for the lot. Naturally each mission is
However before you can bomb different and requires specialist
submarines and trains while tools, so you can customise your
fighting Me109s, London bound weapons load before you set off
bombers and V-1s you'll need to adding extra bombs, rockets or
learn how to fly this highly cannon ammunition and extra
versatile fighter bomber. fuel tanks for longer flights.
The mechanics of flying are To finish your training you
similar to those experienced by should fly a few practise
Lancaster bomber pilots in the missions to tune up your timing
excellent Dambusters gome and as you bomb the train (taking
consists of a series of screens care to hit only the carriages
each with their own set of that don't contain POWs) and
controls. The plane is steered submarines before they dive to
from the pilot's screen that shows safety.
the view through the front of the In the real bombing mission it
aircraft as well as instruments to is vital that you get everything
monitor the plane's height, right as you only get one
speed and course and direction chance. The ideal approach is
and height of any enemy at tOOmph at anything under
"bandits The Mosquito has two 1,000 feet but this might not be
Rolls Royce engines that are always possible if you've been
controlled directly from the port damaged by Me109 attack.
and starboard engineer controls. After the raid get back to
These monitor the throttle and blighty in time for another
boost given to each engine and mission. Your performance is
also contain a fire extinguisher based on a points system with
in case the engines overheat. high scores awarded for getting
There are also flaps and landing back as well as for targets hit
gear controls that can be used and even bombs, fuel and
in evasive tactics as they'll rockets saved.
cause a sudden loss of speed After a few successful sorties
although you don't need them to you'll be ready for a double
land or take-off as the computer mission, perhaps defending
does that for you. London against V-1 and bomber
attacks until finally you go for
On course the grandslam and become one
Selecting the navigator's screen of the Ace of Aces.
—,—r-^^-
•
•
(c -i]
- 4 - 4
ACROJET
PROGRAM
Ton! Baker shows how ^ nee upon a time, when I was M—, MR (etc) functions of the
a lot younger than I am now, I more expensive version. It
to squeeze some extra was privileged enough to own seemed that the Internal
a calculator. It wasn't anything hardware of the two calculators
memory out of 16 and flash, you understand, because was Identical, but they were
calculators had only just come put into two different external
onto the market — but it was cases so that they could sell at
48K Spectrums. good enough for me at the two different prices for differing
time. It did add and subtract, sections of the market. I
multiply and divide. All very suppose It must have been
PROGRAM simple stuff. I grant you, but fun
at the time
cheaper for them to do that
than to produce two entirely
A friend of mine also had a different machines.
10 CLEAR 3 2 7 6 7
calculator. This was a more With that little anecdote in
20 LET X = 3 2 7 6 8 expensive version. It was made mind, we return to the present.
3 0 FOR 1=0 T O 14 by the same company, but was Calculators have long gone
40 LET C = 0 the next one up In the range. It out of fashion — today,
5 0 FOR J=1 T O 6 had an extra column of buttons computers are In thing. I
60 R E A D A on the right, and was coloured began to wonder, however,
70 POKE X,A black instead of white The whether what was true of
8 0 LET X=X + 1 extra buttons were things like calculators in the early days,
90 LET C = C + A M+, M—, MR and so on — all might also be true of
100 NEXT J
memory functions, allowing you computers now. Could it be
to store and recall numbers possible that Inside the various
110 R E A D A and so on. Then, one day, different boxes there was
120 IF A O C T H E N P R I N T 'ERROR while we were playing a basically one, and only one,
N LINE 10*1+160: STOP casual game of throwing-
calculators-around-the-room (as
type of Spectrum?
C
Literally speaking, of course,
2
130 NEXT I
140 R A N D O M I Z E USR 3 2 7 8 6 children do), the case of my this cannot be true. The IN ports
£
150 STOP prized calculator came apart, seem to give different results for
160 DATA 2 2 , 0 , 0 , 1 7 , 7 , 1 6 , 6 2
revealing a panel of little different issues of Spectrum, but
rubber buttons on one half, the central problem remains. It
170 DATA 3 , 6 5 , 8 0 , 8 2 , 7 3 , 7 6 , 3 7 9
180 DATA 3 2 , 7 0 , 7 9 , 7 9 , 7 6 , 3 2 , 3 6 8
and a grid of wires on the
other half. It became
is not possible that the
advanced features of the
2
<
190 DATA 6 2 , 2 , 2 0 5 , 1 , 2 2 , 1 , 2 9 3 immediately apparent to me Spectrum 128 (extra memory,
200 DATA 7 , 0 , 1 7 , 0 , 1 2 8 , 2 0 5 , 3 5 7 that pushing down one of the full screen editor, and so on)
210 DATA 6 0 , 3 2 , 6 , 6 4 , 1 9 7 , 1 , 3 6 0 rubber buttons would make a
are and have always been,
220 DATA 1 1 , 0 , 1 7 , 7 , 1 2 8 , 2 0 5 , 3 6 8 contact between a vertical
wire and a horizontal wire, and
available on the old 48K and <S
16K Spectrums?
230 DATA 6 0 , 3 2 , 1 9 3 , 1 6 , 2 4 3 , 1 7 , 5 6
hence register the key
It turns out that is in fact the
G
depression. It was then that (
240 DATA 3 , 7 , 2 0 5 , 8 4 , 3 1 , 2 1 0 , 5 4 0 noticed an inconsistency — case. Both 16K and 48K
250 DATA 1 2 3 , 2 7 , 1 1 8 , 1 1 8 , 2 0 , 2 0 3 , there were more vertical wires machines, have in fact already
09 than there were columns of got 128K of RAM built in -
260 DATA 1 5 4 , 2 8 , 2 0 3 , 1 5 5 , 2 1 3 , 1 2 2 keys, giving an extra six
though accessing it has not
possible contacts. been easy. On the Spectrum
875 128, outputtlng a byte to port
270 DATA 205,155,34,230,248,179 7FFD was sufficient to page in
1051 Surprise surprise! the extra memory. On the 48K
57
280 DATA
290 DATA
33,0,88,17,1,88,227
1,255,2,119,237,176,79
Imagine my surprise when, with
the case still open, I pressed
on the extra contacts to see
and 16K machines this Is not so
It is possible however, to
devise a machine code
cU
300 DATA 209,24,219,0,0,0,452 what happened — only to find
that they performed the M+,
program which will give
genuine access to the extra
a
c/i
advertisements. AND T I D Y
/
Then, if an advertisement bothers I enclose £ (please make cheque payable to ASP Ltd)
Name
you, you'll be justified in bothering us.
The Advertising Standards Authority. Address
Back Issues
Back issues are handled by a
company called Infonet, Times
House 179 The Mariowes, Heme!
Hempstead. Herts HP1 1B& It you
have missed an issue copies
may stiff be available from
Infonet, price £1.5G+50p towards
postage and packing. Copies
ore stili available for all ZX
Computing Monthlies but copies
of the former bl-monthty issues
are stricly limited.
Intonet: 0442 48435
Subscriptions
All matters relating to
subscriptions are handled by
Infonet. If you want to subscribe
at a special discount price (£3 Listing problems, etc...
off the usual annual sub price)
refer to the subscriptions savings Although we attempt to be as
department at the end of this accurate as possible mistakes
directory, but hurry as this offer do periodically occur. If you
ends on April 30th 1987. have a problem with a listing or
an article please write to us
Photocopies rather than phoning. If a
Future services
mistake has been spotted then
If you want to get hold of an we wilt send you a correction In the near future we hope to
article from a past ZX there is a sheet, if not we'll do our best to launch a Software Service
photocopy service available, help If you wish to correspond offering ZX readers the chance
price £1.50 per article. Send with a contributor over a to purchase tapes of series that
requests to the Golden Square problem with an article write c/o have appeared in ZX. This is still
address marking your envelope ZX Computing, marking your in planning stage but if there
clearly "Photocopy service". envelope clearly with the are listings or series from ZX that
Cheques payable to ASP contributors name. In all cases you would particularly like to
Limited. please enclose a SAE and mark buy in tape form drop us a line,
your envelope clearly with an we'd like to hear from you — it
Binders indication of It's content, le the could help to decide the first O
ZX Binders are available, price title of the listing. It's simply few releases.
£5.20 inc p&p from ASP Readers
Sen/ices, PO Box 35. Wolsey
easier to process that way and
you will receive a reply sooner. Bryan Ralph, Editor, a
We try to be prompt in ui
House, Wolsey Road, Hemel
a
Hempstead, Herts HP2 4SS. 0442
41221. Cheques payable to ASP
Limited.
responding to letters but please
understand if you suffer a delay
in receiving a reply.
ZX Computing Monthly, No1
Golden Square, London W1R
3AB (01 437 0626).
•
ZX Computing Monthly • April 1987 59
REPAIRS
When your Spectrum
decides to go on the
blink who do you turn
to? ZX focuses on
professional repair
companies.
• f you're one of the people
who got a Spectrum this
Christmas then It's quite likely
that you're still at the stage
where you're totally Infatuated
with the thing. Well It's time I put
a stop to that.
It's one of those inevitable
facts of life that your home
computer, like any other house-
hold gadget, may one day blow
a gasket and leave you In the
lurch just when you need It.
That's why we've listed all those
repair companies In this issue
But just what are the frailties that
the Spectrum Is heir to?
We spoke to some repair
services and it seems that alt
sorts of things have happened to
machines at one time or
another, from the fairly common
cup of coffee getting knocked
over them, to a TV aerial getting
struck by lightning and the
shock going right through the
Spectrum where It blew out
every circuit in the machine.
Self-inflicted problems
However, acts of God apart, it
does seem that a lot of what
goes with Spectrums Is, as one
company totd us, "mostly self-
Inflicted". There are certain
problems, such as keys ceasing
to function, that just crop up on the C64." As a result, the the left-hand side, this matches
from time to time and they're Spectrum doesn't have some of up with a little bar on any
plain bad luck, but there is one the safeguards that are built Into interface that is designed for use
cardinal sin that you can and more expensive computers and with the machine. This is the
should always avoid. Never plug other types of electrical alignment key, a fairly cheap
anything into, or remove appliance, and there are no way of ensuring that the proper
anything from, the Spectrum's 'buffers' protecting the chips, electrical connection Is made
peripheral port while the power which are the heart of any when using any peripherals).
is switched on. computer, from the raw
I know that sounds a bit eiectrtcal supply. On the other Having a go
obvious but everyone we spoke hand, as Barry Clayton added,
to agreed that 'misuse of the "because it's a low-cost machine Then there is what's known as
edge connector" is still the it's that much easier to repair, so "amateurs having a go" The
number one cause of dead it's a case of swings and Quantum repair service told us
o
Spectrums. Barry Clayton of roundabouts." that quite a lot of things go
Microfare In Bristol told us: Another similar problem that wrong the moment people start
"There are some problems
o
can be avoided is when the to take the cover off the
that are very Spectrum specific alignment key on an Interface machine. "Don't touch it — a
They're caused mainly because falts out, causing a bad computer In complexity is 5/6
UJ the Spectrum was built down a connection when the interface is times more complex than a car
tt tow-cost specification. It's often ptugged In (If you look at the engine and there's very few
things that could be avoided by Spectrum's edge connector people who could take one
Q having a fuse here or there, as you'll see a little notch cut out of apart."
RIS PAIR
Contact Nicola Baty on 0 1 - 4 3 7 0 6 9 9
Guide
QUANTUM
ELECTRONIC SERVICES COMPUTER RELIABILITY COMPUTER REPAIRS
We are the experts, having serviced Sinclair computers
SINCLAIR SERVICE CENTRE
We have the spares for repairs to:
CENTRE Since the introduction of the ZX80
Don't waste money on estimates — we repair Sinclair
S P E C T R U M / O L . MICRODRIVE. INTERFACE t . Dear Computer Owner, computers al price quoted (inclusive parts, labour,
* Fast repair service postage. VAT. irrespective of fault No hidden charges)
Given the choice would you prefer to have Repairs guaranteed lor 3 months.
» Free estimates
• White you wait service available in most cases your computer repaired inside an hour, Spectrum C18.75 inc part*
Please phone first and have it sent back to you the same day. ZX81 £11 50 Inc parts
OB IF YOU WANT TO DO IT YOURSELF! 16 KRam £9 95 inc parts
4164 Memory £1.90 probably running the risk ot it breaking Microdrive £15 95 inc parts
4116 Memory £0.99 down again with the same or similar fault Interface 1-11 £16,75 inc parts
280 A CPU £2 9S also
AH price* include VAT. Please add £1.00 p * p within 24 hrs of receipt, BBC £22 00 + parts
Electron £19 95 + parts
OUANTUM or would you prefer to wait a little XK Memory Expansion Kit £15 95
33 City Arcade. Coventry. CV1 3HX.
Phone: Coventry (0203) 24632 longer and have your computer go Computer ffe'ai'en please pAone lor
through our unique validation and Spec<»l T'td& Price
Call or send with cheque or P O
rigorous environmental heat soak tests, T.V. S E R V I C E S O F CAMBRIDGE L T D .
which highlights any hidden weaknesses French's Road. Cambridge, CB4 3NP
COMPUTER REPAIRS within your c o m p u t e r , therefore,
increasing the computers
Tel: 0223 311371
A
Send computer only + cheque to:
B Y T E S N' B Y T E S MSTRAD
CORN
TAR I
Block 14, Holden Way Donlbristle
FIXED PRICE Ind E s t . , Dunfermline, Fife, Scotland
SPECTRUM KY11 5JW
REPAIRS
£19.95 all inclusive
Telephone: 0383 824576 SPEAK/EASY COMPUTER
Bring this ad for £1.00 discount
Note all computers carry a tlx month warranty
SERVICES
Open 6 days a week
Do not post — please phone us
ALL REPAIRS T O
0332 365280 SPECTRUM COMPUTERS
COMPUTER SPARES • 3 month full waranty
FIRST BYTE COMPUTERS Stockistsof full range of Sinclair parts • Fast reliable repairs by fully
10 Main Centre, London Road, Trade CounterOpen qualified engineers
Derby DE1 2PE. Mon-Sat9.30am.-5pm.
• Open 6 days a week
P.V. T U B E S • Late nights Tuesday
SPECTRUM REPAIRS 104 Abbey Street, Accrington, & Fridays up to 8pm
Lanes B B 5 1EE. • Trade repair enquiries
£14.95 inclusive ol labour, parts and p 4 p
Fast, reliable service by qualified engs . average repair
24 hri. 3 month guarantee.
Tel: 0254 390936 welcome
For help or advice ring Telex: 635562 Griffin G
H. S. C O M P U T E R S E R V I C E S , (For P.V.) 141 Merry Street, Motherwell,
Unit 2, T h e Orchard, Warton, Preston. Strathclyde ML1 1JP.
Lancashire PR4 18E. Tel: (0772) 632686
Tel: 0698 53609
NOBLES COMPUTER
WHY NOT SPECTRUM REPAIRS
ADVERTISE IN OUR REPAIRS * All repairs carry a 4 month guarantee.
From £3-£19 incl all parts, labour * Free estimates,
NEWEST SECTION and 3 m o n t h Guarantee
Phone tor special postal rates
* 7 days a week, 24 hour answering
service.
+ ADVERTISE YOUR MICRO F A R E NOBLES
REPAIR SERVICE? 296 Gloucester Road, Horfield, 14-17 Eastern Esplanade,
Southend-on-Sea, Essex.
Bristol
01-437 0699 Tel: 0272 46575 Tel: (0702) 63377/8
61
M example, you always chose the that they're OK "if treated
same key as the lire* key in properly."
REPAIRS arcade shoot "em ups) then you So, despite the poor
could literally wear the reputation that Sinclair
membrane out. This led to the machines had for reliability in
large market In add-on their early days, the repair
keyboards. When people getting companies seem to agree with
their machines repaired Sir Olive's own claims that much
decided that for a few pounds of the problem was due to the
Keyboard problems crop up extra they might as well go the wear and tear inflicted on the
from time to time; and the whole hog and buy themselves machines by their owners
quality of the keyboard was an entirely new board. ("butchered" was the word one
always one of the things that That about covers the company used), rather than
Sinclair machines were criticsed problems to which the Spectrum poor quality control. The
for in the past. Instead of using is especially prone. Peripherals Spectrum may not have that
'proper' typewriter style like the microdrive and Interface many safeguards built into it,
keyboards, Sinclair opted for a 1 are a different kettle of fish and any mass produced item
cheaper, pressure sensitive mem- altogether, although some of will throw up faulty units from
brane. The trouble with that was you might be surprised to hear time to time, but as long as you
that if you constantly chose a that repair services don't seem don't blow It up yourself your
particular key that got used to have too much trouble with Spectrum should stand you in
more than the others (if, for these, the general view being good stead for years to come
ROCKFORD PRODUCTS
01-203-0191
Newcomers to the Spectrum
market with their Disciple unit
which is a combination disc,
Joystick and networking
interface
ACT1VISION (H-431-1101
The UK offshoot of a large
American outfit, so most of their
stuff is conversions of C64 games
such as Ballblazer, Hacker and
their all-time biggy, Ghostbusters.
ADDICTIVE 0202-296404
ALU G ATA 0742-755796
ADVANCE SOFTWARE
0279*412441
New software house made
impressive debut with Hardball
ARGUS PRESS SOFTWARE
0742-755796
Software conglomerate that
makes a habit out of swallowing
up smaller companies^.
Quicksilva, Lothlorien. Bug Byte
and A ' n F are all members of
the APS stable.
ARIOLASOFT CH-836-3411
BUBBLEBUS 0732-355962 CODEMASTERS 0295-68426
Promising new budget label
CCS 01-658-0763 formed by ex Mastertronlc
Strategy/Wargames aren'f programmers.
articularly big business In the
uiK market, but CCS have CRL 01-985-2391
managed to specialise In them Emerged last year as purveyor of
without going bust. Their latest good quality adventures such as
release, Vulcan is reviewed the Bogglt and Dracula.
elsewhere this Issue.
CSD 0252-522200
DOMARK 01-947-5626
Masters of the licencing deal,
Domark have been responsible
for such software classics as
Friday The 13th, View To A Kili
and the Christmas success,
Trivial Pursuit.
DURELL 0823-54489
ELITE 0922-55852
FTL 021-5572981
The arcade label launched by
Gargoyle Games who had
previously concentrated on
adventure games. There's only
been one FTL release so far, the
cracking lightforce, but there's
more to come.
GREMLIN 0742-753423
The software house that Monty
Mole built
HEWSON 0235-832939
Andrew Hewson's outfit has buift
up a solid reputation based on
ood games. The latest Is Steve
?urner's Runarama.
Tu
MASTERTRONIC 01-377-6880 PALACE 01-278-0751
HI SOFT 0525-718181 The UK's top budget software A subsidiary of the Palace Films/
Latest product is the ZX Basic house, so successful In fact that Video outfit, Palace have tended
Compiler. they've just gone and bought to stick to a small number of
out the once proud . . .
INCENTIVE 0734-591678
Makers of the Graphic Adventure MELBOURNE HOUSE 01-943-3911
8 ood releases such as the
auldron games and the recent
Antiriad, though they may be
Creator. expanding in the future.
MIKROGEN 0344-427317
LEVEL 9 0734-595759 PIRANHA 01-836-6633
With no competition in sight, MICROSPHERE 01-883-9411 An offshoot of the MacMillans
Level 9 are our top adventure publishing company. Best game
company. Their Middle Earth MIRRORSOFT 01-377-4837 to date Is the quirky Trapdoor.
and Silicon Dream trilogies are
landmarks in the field. These OCEAN 0619-803488 PSS 020-3667556
days they're spreading their High output of coin op
wings by doing link-ups with conversions and spin-offs. SOFTWARE PROJECTS
other companies, such as Knight Notable games recently, Cobra 051-4289393
Ore, due from Ralnbird in April. and Great Escape. Since making Matthew Smith's
fortune with Manic Miner and
Jet Set Willy, they've had what is
kindly referred to as a 'low
profile,' though their Dragon Lair
conversions show that there's life
In them yet.
TASMAN 0532-438301
Makers of multifarious Tas —
utilities such as Tas Copy, Tas
Print, but most notably Tasword
now in its third incarnation.
TELECOMSOFT 01-240-8838
Telecomsoft Is the little bit of
British Telecom that owns or
markets Odin, Beyond, Firebird
and Ralnbird {who are con-
veniently profiled in this Issue).
U.S. GOLD 021-3563388
Close runners to Ocean in the
big league. U.S. Gold have got a
variety of labels under their
wing. Including marketing deals
with Vortex, Ultimate and
Adventuresott, as well as a
seemingly endless store of U.S.
software waiting to be converted
onto the Spectrum.
VIRGIN 01-834*8341
The software arm of the Branson
empire Last year snapped up
Leisure Genius and thereby the
rights to titles such as Scrabble,
Monopoly and Scalextric.
Name
Address
Send this form w i t h your remittance to: Subscriptions Savings Offer (S.087)
ISFOSETLTD.. Times House, 179 The Martou es, Heme! Hempstead, Herts. HPI IBB.
ZZZzM
Brian Becket looks at
the latest QL software.
Z X Microfairs continue to microdrive and works with an wires plus the typewriter-like
showcase new products unexpended QL but is designed keyboard. You just take off the
although it seems as if there are to take advantage of disc, RAM old QL top. slot in the new LED
less visitors each time. The only discs, and so on if you have the wires (the keyboard comes with
advantage to come out of this is facilities. The Front Page is a clear instruction sheet) and
the relative ease of walking designed to offer a reasonably the new keyboard tails. After
around to see what's on offer powerful desk-top publishing at replacing the screws, you're
without all the pushing and a bargain basement price to ready to go. It's an impressive
shoving through hordes of those who want to produce their product and a good bargain.
games nuts. There wasn't much own news letters, handouts or There's no soldering to worry
new in the way of the QL either whatever. about — the only tool you need
at the most recent Microfair, but GAP'S MD had read my QL is a small Phillips-head
any news Is good news these obituary a few months back and screwdriver — and the result
days and it is impressive how told me that — while he would gives you a QL with a keyboard
new products keeping coming defend to the death my right to of professional quality- The main
despite Amstrad having officially say it — I ought to be taken out drawback I found with Sir Clive's
sealed the coffin. and shot. He had noted a keyboard was the tendency to
Digital Precision worked all growing QL enthusiasm among hit two keys at the same time but
night and had the long-awaited church groups, school groups Schdn's replacement avoids this
Turbo-charge, son-of-Super- and such like and I pointed out and you can type with an ease
charge mega-compiler out on that this could be due to the that's a pleasure by comparison.
the day. Although my review fact that the QL had reached The board's layout is exactly the
copy arrived a day or so after rock-bottom prices in the last tew same (the function keys are in
the show, I am sadly unable to months. This combined with red but the rest is in the black
say much more about Turbo some of the truly excellent that we all know and love) and
than I said last month as
unfortunately I was sent the
wrong si2e disc.
I did. however, get Digital's
Q I COLUMN
final benchmarks Tor Turbo and
can pass them on as hot-off-the-
presses news. According to
Digital, average speed-up
factors for compiled code are:
(1) Integer benchmarks x84 for
Turbo compared to x41 for
Supercharge, (2) floating point
benchmarks x H 7 for Turbo
compared to x7.2 for
Supercharge. Digital's estimates
for its competitor QLiberator are software available (including the the board is compatible with all
x11.2 and x4.1 respectively. For a Front Page) makes the QL an peripherals and software.
"Superbasic long program attractive proposition to low-
(Project Planner), Digital's budget groups and others QL casino
estimates are QLiberator x7, outside the IBM life-style. At the
Supercharge x12 and Turbo- end of the day. he forgave me (I If you fancy running a small
charge x45. For comparing think) for being a journalist — casino for your family,
compiler speeds. Digital takes especially after I said that I was neighbours and anybody with a
QLiberator as x1 and puts fully behind all small QL few quid to lose, Pyramid has
Supercharge at x1.7 and Turbo companies and users — and we just released Super Croupier at
at x2.3. Digital was over the parted as friends. But the QL is £15. You play against the QL but
moon about the results and — dead and — unless somebody there's nothing stopping you from
up to the lost minute — the pulls off a minor miracle with letting the computer be the
programmers and designers Amstrad. it's going to stay that House backed up by your cash
didn't know how good a product way. This doesn't mean that the but this would be illegal and —
they had developed. They machine won't be useful to a lot as QL owners are an honest lot
expected Turbo to be as fast or of people for a long time or that — the point is of academic
faster then Supercharge but it's pointless to produce any interest only. There are six games
confessed to pure delight when more new QL products but only on the program: roulette,
the results came in. Turbo looks that it's out of the race in the blackjack, baccarat, carta +
an excellent piece of software marketplace. alta, poker and slot machine.
and the company deserves Personally, I like the Poker and
every success with it. Speaking of new products, the
keyboard stakes are getting the Baccarat because I've never
hotter. There was one selling for had any luck with Blackjack or
Making headlines around £50 at the Microfair. It Roulette in real casinos.
Baccarat is a very enjoyable
just gives the old keys a better
The Front Page is not just the feel and frankly I don't think it's game (it can also be a costly
title of a classic play and a worth £50 so I don't plan to say one) and it's nice to have a
good movie but also a package any more about it. Schon has computer program to play
of QL software offering desk-top won the race to get their first against. It's a very good
publishing for a mere £22.50. and its replacement boards are package (you even get Snoopy
Produced by GAP Software, the now available. They sell for just running around the screen to
help out) and well worth the
O
Fronl Page is a no-frills program over £40 and you get a new QL
that is fully menu-driven and housing with a new set of LED money. O
enables the user to produce text
and graphic layouts freely and
easily. It comes on one 0
various captions, and the chosen) and, if everything is in instantly that the same address
original renumber routine, which order, a prompt will appear in has been used for all three
is a mere thirty-three bytes in the lower part of the screen commands: this is permissible in
length, grows into a somewhat requesting you to: ENTER this case because the first
larger 1140 bytes! STARTING LINE, STEP SIZE instruction in the program has
Before we can go any further, This requires you to enter two the same code as the RAMTOP
however, it will be necessary to values separated by a comma, marker. LD, A,N. RAMTOP can of
enter the HEX LOADER program followed by ENTER. The values course be set at any address
and the machine code. The entered must be such that the you desire, provided that it is
LOADER program has been STEP SIZE is not greater than the somewhere below the
designed to ensure that the STARTING LINE, although the two concerned.
process of entering the machine can be equal. Otherwise you
code is error-free, rejecting any can enter any values you like — Display file
lines that are not correctly 1,1 - 999,99 _ 9000.2 eta If you
entered, or in the wrong order. type in rubbish, illegal values, or It was mentioned earlier that this
The HEX CODE Is arranged in ENTER with no values at all, the program could be entered
127 lines of eleven pairs, fhe first system will automatically use the anywhere — It can also be
nine pairs represent the actual values 10,10. stored in the Display File (at
machine code instructions, whilst Directly the renumbering address 19000) in cases where
the last two pairs contain a process has been completed (in renumbering Is an afterthought,
checksum of the values in the a fraction of a second with an or where you only intend to use
particular line. If any other the program once. You will not
0
average program) the program need to use the CLEAR
method of input is used you title will appear on the screen, command with this method, but
z should remember to ignore
these last two pairs.
where it will remain until a key is
pressed. The only restrictions you must use CLS first, so try:
renumber.
saaan
3FFF?1003B36F123
3 6 r 3 ? 3 3 6 C 9 C D003B
)
»
2
7
603R4
6039?
7 3 t RT>03AFCF 1 7FFF
FC7R391607010000
»
1
3
4
6076B
60776
2BBE70FC237323D3
5E2356E5EB160059
> 0
> 0
isaa i<i 1 1 1000A7FD57IB34 ) 3 60400 7FFFFC7R 1 3H3F360 > 3 60784 A7FD573BI9FBF172 > 5
A0074 000000006B6BB05A > 6 6M4MR 69*0*97979|07PB6 1 0 6079? 7B73DIEI23232323 > 1
A0037 IC024EAA00130000 > 7 604 1 6 004F09444PF1ni73 1 7 60800 73737FFE7AC24AEC ) 5
0304B0I30080ia«a ) 3 60474 1RF673I37R06FD43 1 R 60B0R 737FFF2B280CFE0D > 0
A004R P0AD0000C63A80F0 1 7 6 0 4 **7 lirFC 1 RI)9F043nFFfI ) R 60816 CA46ECFE3ACA4AEC 1 7
A0ff*6 0C004 70080CC4C0I > 4 60440 7AnCErFn3Rt»FFCA7 1 7 60874 18EE237EFE0ECA84 ) 1
60064 8D00R19900001F«a ) 0 6044R Fn3?3«1?7tDCFC11 > 7 60837 ECFE0DCA46ECFE3A } t
AM7? R07700007A038074 > 7 60436 I1FFC.3F0A7773 1 71.3 » A 60840 CA4AEC18ED2A333C »2
A00R0 0001A000B1990000 > 7 60464 3F007 7 1718F777DC 1 3 60848 ED4BDCECED3BDFEC > 7
A««RR 0R000I196C000600 ) 3 60477 FC 7 A 0 F F C A F R F 7 R F 4 > 4 60856 EB09EB424B702371 > 7
6009A 80 1 70000060080F5 1 6 60480 7A333C1807737373 > 7 60864 735E23562319ED5B 1 0
A0104 6 7 R 1 0 F 7 6 F 3 1 1 IR00 > 3 604RR 7373737FF3FH3R4R » 0 60872 4BSCA7EDS2300319 ) 8
A01 12 19E3C 1E1 1 1 D 3 0 0 1 9 > 6 60496 3CA7FD37FI I»?A!)Fn 0 60880 18E2C90000000000 > 8
A0170 F5111D00A7ED32EB > 3 60904 FF0n?6FAFE0F?8E3 > 5 60868 0000000000000000 ) 0
A017R F13FtCF5D50A5703 » 3 6031? FFFC7810FEED780C 1 0 60896 3C00000000000000 »6
0A".F03rB7ACPPA?8 > 7 60370 FFF77B0BFFCA7B04 ) 4 60904 0000000000000000 ) 0
60144 03A7ED37I80119D1 > 3 60378 FFF370D6737FFF0F > 3 60912 000000401000007C > 5
6013? F30A0376006F19EB > B 60336 7B0AFF0D7BCBFF3A ) 7 60920 0000000020000000 ) 7
60160 F17373772BF13D70 1 3 60344 78CB1BF0737323F3 > 1 60928 42183C3C08004400 1 6
601 6R OA7A333C06042310 > 3 60392 3E2336D3D3E11B1E > 2 60936 0000001040007C00 ) 1
601 76 FD7FFFFA287A181C > 5 60360 3E04A7110A00ED32 ) 7 60944 2000004000783842 J 2
60IR4 4F4F 204 1 4 3544 94F > 0 6036B 3810115A00ED3238 ) 0 60952 3878446820381C00 } 6
60192 4E 3 A 0 D 4 6 4 9 9 2 9 3 S 4 1 4 60376 0A118403ED523804 ) 6 60960 9928424218004838 1 3
60700 CAC3EA53S4413445 > 3 60384 18033D3D3DC9CD90 > 1 60968 7878383840004 238 ) 2
60708 4D4S4ES42118EB06 ) 6 60592 EC08D12A333C0100 ) 3 60976 28381C4030444442 1 2
60216 1C7ED72310FB183A > 7 60600 00037E23BA20047E ) 0 60984 444444543C44 2000 ) 2
60224 08F3C D9CF BF10871 > 7 60608 BB281823055E2356 »8 60992 A108423C28007044 ) 1
6023? D3FD11C0500607C5 > 2 60616 2319E3A7ED3B4B3C ) 4 61000 4444441078007C04 } 1
60240 D30604C3D306707F ) 1 60624 E D 5 2 E 1 D 1 3 BE306E1 » 1 61008 3 0 4 4 2 0 4 0 1 0 4 4 787C »3
60240 12D51412D1132310 > 2 60632 C34AEC210000110A ) 5 61016 784444S4227B2000 ) 2
60236 F6D11414C110ECD1 60640 0019087BBI20FAAF 61024 A1083E4248004878 > 3
60264 06701310FDC110DF } 1 60648 EBE1732372D3F5FR J 3 61032 444478104400423C
60272 71C05A0640367223 » 3 60656 CD90ECE1D t 2B7B7B > 8 61010 3078P040I0444044 > 5
60200 10F B010000C 3 3 D 1 F > 8 60664 2B4 7 0 8 4 F B 8 2 8 1 A D S > 7 61048 4044445422402000 > 6
60788 494F303334703334 ) 1 60672 C51600S9A7ED9242 1 3 61056 990802427E004440 ) 5
60796 4152347D4C494E45 } 3 60680 C0EB19C1D1C5D548 »5 6 1064 4 4 4 4 4 0 1 0 4 4 0 0 4 244 ) 6
60104 2020333443302033 ) 1 6068B 0600CD5316EB23D1 > 6 61072 2840207E38443C42 ) 1
6031? 60696
} >
493A430D7180FB06 > 6 C1C5782B10FDE5C1 5 6 1080 3C4438543C3C2000 0
60370 1C7ED773I0FB7I00 1 7 6 0 704 D3E1E3FE04280AFE > 3 61088 423E3C3C0800423C 1 8
6037ft 3BF3F3060036W073 > 1 60712 032B0CFE02280E18 ) 1 61096 44443C0C44007C3C } 5
60336 1 0FBF1CnnF133A0B 1 7 60720 1211E803CD4BE D11 > 7 61 104 243C200000000000 I 0
60344 3CFF0D7R0CFF7C7R 1 3 60728 6400C D 4 B E D 1 1 0 A 0 0 ) 3 6111? 0000000000000000 ) 9
603*7 0RFF303BEFFF3A30 > 3 60736 C04BE0110100CD4B 1 6 61 120 JC00000000000000 > 6
60360 FAF3T371010I1101 » 7 60744 ED18«EAFED523803 ) 6 61128 0000000000000000 > 0
60360 aar l>R30-*F 1 F 1 F F 0 D > 0 60752 3C18F919C6300203 ) 3 61 136 000000007A535C01 1 1
60376 7R09F3O7F1063077 ) 3 60760 C9D1C5E1C1E53E0D } 1
tack n l c g
\nic5
Part 3: Toni Baker
goes wandering
into some 3D
10 RANDOMIZE FN G (— 10 ,10,10, 10
,1,1 ,40,33402)
landscapes. 20 STOP
elcome to the final part of this 30 DEF FN G < X,X, X , X ,XX,,X , X=u
)
series. Take a look at the screen
dump included in this article — SR 3 3380
this is just one possible output of
the program listed here. As you Figure 1.
can see, it has a number of
interesting properties. Firstly, it is Rule one — the subroutine must Such a subroutine may be
a three-dimensional graph. assume that on entry the placed at any address, and
Specifically it is a graph of the calculator stack is empty, therefore It Is possible to contain
function. containing no entries a library of such functions in
whatsoever. memory simultaneously.
Z= SIN(R) Rule two — you are allowed to Once such a function
Where R = SQR(X2+Y2) make use of calculator subroutine exists in memory, it is
memories MO to M3, but then easy to draw the graph of
The function, as well as the memories M4 upwards are it. Figure One shows the BASIC
boundaries and scales of the strictly out of bounds, and program required to draw the
graph, can be easily changed. must not be corrupted. screen Image shown. More
The program is therefore Rule three — sixteen memories generally, Figure Two shows the
capable of handling almost any altogether are used by the BASIC line required to draw any
three-dimentional graph. There main program, numbered MO graph; it is a use of the BASIC
are of course restrictions on what to MF. You will need to read function FN G, requiring eight
Is possible. The function must be at least two of them — parameters. The last of these
of the form Z=f(X,Y) - that is to memory ME contains the parameters must be the address
say, there must exist an variable X, and memory MF of the machine code subroutine
algorithm to convert given contains the variable Y. Your for calculating the Z values,
values of X and Y to a single algorithm must read these Figure Two explains the purpose
value of Z. memories whenever X and Y of each of the eight parameters,
But notice something else are required. with reference to Figure Three.
about the graph. Hidden detail
really is hidden. Anything which
falls behind a peak or ridge is
hidden from view, and is not yS A. ^.
drawn on the screen. Of course .«'. x x >.
— this isn't a true hidden line .<x ." x j t X _xrj K . x
algorithm. It cannot draw solid
figures — it is restricted to
drawing one very special kind of
three dimensional landscape, a
^pgx \A W W >V
graph of a function of X and Y.
The last subroutine in the
machine code listing {the part
labelled DEMO FN at address N S ^ ^ ^ ^ ^ & I Z / / \ / \ ». i K ^ - K A W ^
827A) is not actually part of the
main program at all. It is merely
the algorithm for calculating Z,
given X and Y. for the function Z=
3 SIN(R)/R (with R = SQRfX^2)). % t \
You can replace, or supplement,
this subroutine with similar
functions of your own, providing
you follow the RULES, which I
shall now explain: An example of the 3D landscape! that the program generates.
to be multiplied.
a UT tt
Listing
tl G_D>_CC«7_1 ncall hi dravT
JA aba AKtdravT)
m ncall H3 AfC(dn«T!,draiJI
iik aba AIStdnvrl.AICtdradl)
0J aubtract AS«dt»»T)-JlkJ<dr»Jt)
v> It tan A»(<l™wT)< AtO(dnw«)T
•KV, uy.
duel iui< W.HV
<Mi 1100 0000 junp tn>*,i>_«ll_OOIfr_? wuap I f lln* horlaontal-lan.
(ISO CP to CO n c a l l TO
S_PL_>M
o
)BT LD A,FT A l - FT t o l l f o t l "Abo*. *cr.*n*. CI aten n <»1ia rails).
» CP (HI) M M m HI
yet c w.dia^T
Z
M >rtum i f p o i n t t o bo p l o t t e d BO n e a l l TO
1. •hidden". J» andc.lr Smtcn c a l « l a t « r off.
s
77
47 10 H,A CWM0 CALL ? S K , n _ 7 0 _ A A i * rt>inb*r of polnta t o plot.
s<
4* C, B i » p l o t coortuutn. itiek ,nd i l T a c t i o n ,
O
•ndcalc •tor* »
M SIT Itiun, C4 •ton M (J44i. now forward p l o t poaltlon).
ui
a.
oo
s or
J7
•44
lilt
plotY,( (*?-T1 H*-T)
• 1/2
plotT.ploU
5)HT»cie Ct
w
E9
•tor* Mf
dee l te
retail fl
(H*aor ratwurn* x. aX2).
r»
5 01 *c
i ha*v* ploU.plotY 0 •Lor* HP (Mtaory n* contan
i * 7. -Y?).
< J« anducl 9>lt«h illnlitnr off. 01 dee l te
on « SET Mun. )• eodcae l Swtich cac l ual tor off.
CSC4I CALL SIC4,C_rtOT_J> l Plot t IreL pon i t on cure*.
cue aC i4 17 «ST 7> dwtich cac l ual tor «.
O CW*'
ff
S_ftOT_)S CALL. B1?»C
MT ?B
, _CCWW7 Cfec l ofleto FlOt coordtnoM
plMl.plotT
l . u
a
0_U0P_Y» recall 1¥
recall 4
7
Y.YB
O C5
0?
•I on
Mitt
(PH ccntfeu
po l tx
il plot*). OJ
CP
•gptract
•tor* IV
7-TH
(Decreaenl 7 valu* bp YI).
tt
a. C4
H
J*
•lor* K4
4*1*1*
(IMi caiUlu plotX),
a»llch cac l ual tor off.
V
0J
v>
recall K7
•obtract
It uro
7.71
7-71
T<717
co
j cei JP 9!00,C,_PLOT Jufep to plot point. 000* u
j ep Lrve.c_oiT_7 <Juap if 7 now l**e than 71).
2 JO eftSeae l Swtich cac l ua
l tor off.
cnc 4ix EAUMI CAU «ID0,G_IKAir0_!t> Pa
r w nefet B^fwanl of curve.
ctwi CALL «I?N,;_cc«VI>rc CiltvliU ai¥_T0 cocrtlmtM. 0 ur » Swtich cac l ua
l tor on.
CKWI CALL 91»,C_IRAVro IfM th* lino. J*' u
j ap S_tC0PJTI June La£k to contn i ue drawn
i g curve.
C3S41* CALL t* pnur korj mnd< n; c_«irt_» recall "E X
8P7BII jp »c,t«7».n3an_L Cmintt VUf report if *o. u recall n x.xx
O e» NSR rthtnlw return. 0) •abtraot
•tor* fS
X-XI
(Decreaent X vau l e t? XI}.
iii B ojaits
eft; BIDD
MB n. Stock aubroutn
l * *44re»*t.
CI
A recall its X.XI
o.
</>
72 ZX Computing Monthly • April 1987 72
urn
aubtract H I ft BOB_m nsrr » Switch c a l c u l a t o r HI.
«J
It «*ro *<J1f IS r a t a l 1 YS. X
5*
» • not I >411 31 dupllcat* t.x
)l dupl i e a t * 1,1
OHG rtt<i4 JO t#ro
m_aio U> H L , ( B D 4 i a ) HLi p t l t o u i * r d*f|n*4 FK r e c o r d * . cooa ,'uap t r u * . : r _ E a » (Junp I f K-O),
7t is MttO » 41*14*
Figure 3.
which explains six of them full width of the screen ensuring parallel to the Y axis are drawn.
diagramatically. maximum possible resolution. In each case the lines (or to be
Figure Three in fact shows a All you actually have to worry more precise, curves) are drawn
bare grid, without a function about is the range of values from front to back. It is because
imposed on it. (You could argue allowed by X, and the range of the curves are drawn in this
of course that it shows a graph values allowed by Y. In this order that the elimination of
of the function Z = 0, but that program the X values range hidden detail is possible.
would be trivial). This grid is from X1 to X2, In steps of XH. If any part of a line falls
converted into a 3D graph (such while the Y values range from Y1 behind already existing detail,
as the one whose screen dump to Y2 in steps of YH, so you don't then the hidden part must not
is shown) by elevating (or necessarily have to start at the be drawn. By working from front
perhaps lowering) each point on origin (although of course you to back this decision is easy to
the grid by the Z value can if you want to). make. If a line Is intended to be
calculated for that point. The drawn above all other parallel
grid will therefore "warp" into a lines, then the line will be visible,
three dimensional graph. Algorithms and must be drawn. On the
Although the scale for the Z other hand, if a line is intended
axis must be included by hand Let's have a look at the main to be drawn below any of the
as one of the parameters for FN program itself, and see how its parallel lines, then it is hidden
G. the scales for the X and Y algorithm works. The first thing to and must not be drawn.
axes are worked out note is that the graph is drawn In practice, however, whole
automatically by the program. in two passes. In pass one the lines are not always either
The scales are chosen so that lines parallel to the X axis are completely above, or completely
the graph fits exactly across the drawn, and in pass two the lines below, other detail. In practice
teen nica
ZX Computing Monthly • April 1987 73
UW
only po/t of a line must be coordinates are held in coordinates plotX and plotY from
drawn, this means that the DRAW memories M4 and M5). It the graph coordinates X, Y and
algorithm in the ROM is no good compares the coordinates given Z, using an isometric projection
to us, and we must rewrite one of with the column table, in the algorithm similar to that in Port
our own. The decision process of manner described above, and Two of this series. On exit, the
whether an individual dot PLOTs the point only if it is not screen coordinates plotX, plotY,
composing part of a line is to hidden. are left on the calculator stack.
be plotted or not Is still, however, The second subroutine Is In that order.
tremendously easy. G DRAWTO (address 8128). This Then we have the subroutine
What we do is to construct a is my own version of the DRAW G PLOT 3D (address 81C4),
table, at address 8000h, of 100h algorithm. It will draw a line which is used to plot the
bytes. Each entry in the table beginning at the point whose endpoints of the lines. On entry
corresponds to a pixel-column screen coordinates are held in the graph coordinates X,Y must
from the screen. Whenever we memories M4 and M5, and be stored in memories ME and
plot, or attempt to plot, a point ending at the point whose MF. The subroutine will convert
in the screen, then we must screen coordinates are at the these to screen coordinates
examine the table enfry top of the calculator stack, in before attempting to plot the
corresponding to the column the order X,Y. Instead of actually point.
number of the point. The table plotting each point on the line, G DRAWTO 3D (address
contains the height, In pixels, of however, it will subject each 81 DO) is very similar. It takes the
the uppermost plotted point on point to the G^PLOT algorithm graph coordinates X and Y from
the screen in the given column. above, to decide whether or not memories ME and MF, and
If the point to be plotted lies it is hidden. converts them to screen
above this point then it may be Next we have a nice easy coordinates, and then proceeds
safely plotted and the table subroutine, G__CLEAR (address to draw a line from sceen
entry updated. If the point to be 818B). All this does is to empty coordinates M4,M5 to the point
plotted lies below this point then the column table ready for each calculated, hiding any points
it is hidden, and should not be pass. which need to be hidden. The
plotted. If we now take a look at The next subroutine is called subroutine also tests whether or
the machine code itself, we G_CONVERT (address 8189). Its not BREAK is pressed, so that you
shall see this algorithm in detail. purpose is to convert three- can break out the program
I shall explain the workings of dimensional graph coordinates before it's finished by pressing
each subroutine as we come fo to two-dimentional screen BREAK or CAPS-SHIFT/SPACE.
It. coordinates. It takes the graph The subroutine G GRID
coordinates X and Y from (address 81DD) is the main
Routines memories ME and MF algorithm for drawing the grid. It
respectively, calculates the is in three parts. The first part is
The first subroutine is called graph coordinate Z using the concerned with initialisation. It
G PLOT (address 8100). This Is subroutine provided by the user, creates the sixteen memories
the subroutine which attempts to and will then proceed to required by the program and
PLOT a point (whose screen calculate the screen Initialises memories M6 to MD.
The values for M6 to MC are
taken from the calculator stack,
and are the first seven
parameters supplied by FN G.
Figure Four The value for MD has to be
calculated, and this is done
These are the calculator memories used by the program. Note that the here. The final two parts are the
first six of these variables are multi-purpose, so that different variables first and second pass of grid
are stored there at different times. drawing. On each pass an outer
Any line-segment drawn by the program is defined as being either loop varies Y (or X) for each
"horlzontal-ish' or 'vertical-ish", depending on its slope, for "horizontal- curve, whilst an inner loop varies
ish" lines, the FORWARD coordinate is always the X coordinate, and the X (or Y) for different point along
TRANSVERSE coordinate is always the Y coordinate. For "vertical-ish" that curve. Finally, the calculator
lines the reverse Is true, with the FORWARD coordinate being the Y memories are restored to
0 coordinate, and the TRANSVERSE coordinate being the X coordinate. normal. Note that on entry HL
must contain the function
Z
1
subroutine address.
MO drawX DRAW displacement in X direction.
dispF DRAW displacement in forward direction. The final subroutine in the
M1 drawY DRAW displacement in Y direction. program is called FN__GRID
s< dispT
ratio
DRAW displacement in transverse direction.
The ration dispT/dispF.
(address 8264), and it is this
subroutine which transfers the
parameters supplies by FN G
M2 lineX X coordinate of next point on line.
Forward coordinate of nex point on line. onto the calculator stack (and
QC lineF the last one Into HL) before
o
M3 lineY Y coordinate of next point on line.
lineT Transverse coordinate of next point on line. leaping into G GRID to draw
at
M4 plotX X coordinate of point to PLOT,
plotF Forward coordinate of point to PLOT. The subroutine DEMO FN
M5 plotY Y coordinate of point to PLOT. (address 827A7 is not a part of
plotT Transverse coordinate of point to PLOT. the main program, ft is, rather,
a M6 X1 Lower bound for X (see Figure 3). an example program, intended
M7 Y1 Lower bound for Y (see Figure 3). to be replaced by your own
2 Upper bound for X (see Figure 3). efforts, as described earlier.
M8 X2
M9 Y2 Upper bound for Y (see Figure 3). This program concludes the
MA HX Step size dividing X axis (see Figure 3). TECHNICAL GRAPHICS series. We
MB YH Step size dividing Y axis (see Figure 3). shall give graphics a break, for
MC Zscale Amount by which Z coords must be multiplied. a while, but graphics enthusiasts
o
III
MD XYscale Half of amount by which X and Y
coordinates must be multiplied.
have no fear. A new series
entitled 3D-GRAPHICS Is planned
for the not-too-distant future. Until
a. ME X General X coordinate (3D). then, there'll be some surprises.
MF Y General Y coordinate (3D).
CO Good programming everyone.
Figure 1
lnternal-channel:'R" is quite the location of a RAMdisc file is R OPEN. Four additional entry
interesting in fact. It is not constant — it may move points are Included, labelled
permanently attached to stream either If another file is erased, or OPEN 4, OPEN __5, CL0SE_4
minus-once, so to use it from If more bytes are inserted into and CLOSERS. Calling OPEN_4
machine code all you have to another RAMdisc serial file. This will open a RAMdisc serial file
do is select stream minus-one as means that the file has to be re- called "FILE1" and attach if to
the current stream (by loading A located every time we wish to stream four. Similarly, calling
with FF and calling address read or write into It. To save time OPEN 5 will open a RAMdisc
1601h). It is Impossible to use we make use of a temporary serial file called "FILE2" and
from BASIC Prior to selecting butter virtually all of the time. attach It to stream five. The
stream minus-one the system Figure One shows the actual routines CLOSE_4 and CLOSE_5
variable K_CUR must be made organisation of the channel will of course close these new
to point somewhere into information block for our R channels.
dynamic RAM. Printing to stream channel. Note that R_CHREC This means that the new
FF will then Insert characters into R RECLEN, and bit one of channel may easily be used in
dynamic memory at the point R CHFLAG are used only If the BASIC Take a look at Figure
indicated by (K_CUR). file is a READ file The remaining Three It contains a BASIC
Our new channel is also variables are used for both types program which demonstrates the
called "R". but its use is much of file. RAMdisc serial files at work, first
more exciting — and of course it To interface with BASIC an as WRITE files, then as READ files.
MAY be used from BASIC example machine code Try it — you may be surprised at
We require a channel program is appended to the how fast it all works*
information block over Y2K in end. Essentially, a RAMdisc serial Of course you won't always
size. Most of this is in fact a huge file may be opened by loading want your tiles to be called
0200h byte buffer. For reasons of the A register with the stream "FILE1" or "FILE2". and you won't
speed, the buffer is used most of number of the stream to be always want to use streams four
the time, with RAMdisc itself only opened, whilst the actual or five. That Is why the more
being accessed once the end filename is stored in the system general entry point R_OPEN Is
of the buffer is reached. It is of variable N_STR1 at address included, which, as has already
course important to realise that 5B67, and then calling the label been stated, requires that A
Figure 2
AND
1010 RANDOMIZE USR 47713: REM OPEN #4, "R__FILE1"
1020 RANDOMIZE USR 47720: REM OPEN #5,"R_JILE2"
1030 FOR I - 1 TO 512
CHANNELS
1040 INPUT HUNT I
1050 PRH7T #4;2»I
1060 PRINT #5?I*I
1070 NEXT I
contains the stream number, 1080 RANDOMIZE USR 47736: REM CLOSE -#4
and (N STR1) contains the
filename (with trailing spaces if 1090 RANDOMIZE USR 47740: REM CLOSE *5
required). You will have to write 1100 REM READ FILE DEMO
your own machine code to
patch any other combination 1110 RANDOMIZE USR 47713: REM OPEN #4,nR_.FILE1"
into BASIC, utilising this routine.
The potential for streams and 1120 RANDOMIZE USR 47720: REM OPEN #5,"R_ FILE2"
channels is limitless. It is
theoretically possible, for 1130 FOR I = 1 TO 512
instance, to have a channel 1140 INPUT #4;A
which utilises a RANDOM
ACCESS FILE, or INDEXED FILE, in 1150 INPUT #5;B
RAMdisc — though the program
would have to be much more 1160 PRINT A,B
complicated. I have shown you
enough of the potential use for 1170 NEXT I
streams and channels to whet
your appetite a little, and there I 1180 RANDOMIZE USR 47736: REM CLOSE #4
shall leave you. If demand is 1190 RANDOMIZE USR 47740: REM CLOSE #5
high enough, I may return with
more. Good programming 1200 STOP
everyone, and may the force be
with you.
Figure 3
EKRATUK
In OPEN_NEW at address B06D (Streams and Channels Part Two, January Issue, page 68)
there is an instruction missing. The instruction is POP BC (hex code C1). It should
be the eleventh instruction of the routine, occurring between OR C and JB Z,0PEN_NEW_2.
Sorry about that.
Figure 4
0
z Th» fall <mlnf are VKtcrri roulir... in th* Sp*ctrunf* ft CM 0, Hot Ice that {Mr, .rr two ce KFT ; Solum If uliv etandard
1
PAJ*.
alternative such T«Vor tables, on. for th* Spectrum and on* for I he Thle I* c YIA Bit 6.K
because Ih* two nctilnes r*ve different KCfto. It tlx *<* of Ih* I* clwi^ at *4» CO Feturn unl**« KL ha* croaaad
<
HIT SI
lnd*fin*t. point In the fvtur*, th«n it will bt n*c***ary to r*wrlt* tua ub)> furth*r. a w* toundry.
CV4 SRT 6,11 Correct addraa* in HL.
CMS HFC (S|Hlna 11» only) 0) asc > Docr*c*nt pax* cod*,
CJACOJ V_Bi!M> J7 C^J£ J.rt.ntt* an orrar report, C? r<rr Return.
CJtiK 1C44 ChMfe cumnl Mf ]«x*.
CJJ71C Y_*Q1CAT
at ejrjie T_SfACE
JT 1C97
JP ICt)
Create r*w entry In catalogue.
Ensure enough (pace in UHlic area.
The following subroutine works a Ml U » a glorlfl.4 L'JM instruction. which works la
HAM lac area a* well aa In standard wtory. It* action la l*.r**foldt (1) JwrfNnt SSL
O CJUlO
OJ61D
JP 1D1?
JF 1356
FlM ctll'.Mw entry for fllaaua,
Tidy up last oatal<«we entrr.
And BHL'f (?) Load one byte irow addraaa (PHL) to addraae (BHL')t (9) If ML la not
aqual to CDI than to atap (t),
O CDC KPC (Spectrin 1?s • 1 only) CFC B71A
oe
a.
v^tjatcp JP G*n*rat* an error report, CDO07 CAM B70E,OK_teL Dacrennrt addraoa In EHL,
CJ9J1C JP »C*J Chance current UK pace. V} ax
2
CJKIC T^KKWCAT JF 1CH6 Create new entry In catalogue. C0007 CALL S70S, DCC_5HL >•• rar*nt ;**t-eo<Jad addraaa In BHL*.
C5i?ia T_3P»CE JF 101} Knnutr* enough apaca In RAWlec area. w ni
CJJ110 Y_FIKS JF 1831 Find catalogue entry far fllenaae. Tfl L0 A,B Ai« pacing code of KB Of addraa*.
C)T1U> 7 JF 107} Tidy up laat catalogue entry. cmK CALL KJT,V_f*3t iW* in tta raw wnorjf ma*
7S LD A.iML) Ai* tyt* to lead.
The re»t of the prorru will tie the sane, whichever version of the Spactnui you Have. 11 PUS* A> 3Urk this tyta,
The following aubroutlne will decrement a p*4*~c0ded address held In radiatar-trlplet rHL. W n
78 LD A,» A la i coda of TO addraaa.
O IT ate irroe carse CALL afT,7_PV.R P»*a In th* 70 wnory pa«a.
i n It II EC HL rerent HL. Ft POP AT i i t tyt# to
7® LO A,B A I- pa.:* cod*.
o. c» os
77
»
LS (HL).A
an
Load tyta into wiwry aa raquirad.
(A
CBCt CALL KFc,v_tnRC)i Generate error mesage 7 17110 LD KL. I07>, BJ_ttKCR
n jfjp 1} "h Pll* doe* not Bill'. 17 AKD A
StC KL.K
TV* nest irjbr^jlln* la desg i ned to natch up the bufTer for R-ehannel with tli* JP M.R_l«!Er if dean il g with lNI!>-rl.
corespondn i g rs.'lcn of KAHa l e nmvttry. 7h* *ubrpulln* will e l ave BHL pon i g to th* SD7MW
i tn IB 3p.(»m_sp) Ce l ar MChn l e stack as far aa
Ilnl tyt* twyond th* A l' Ma l c umt, cut pon i t in,- to (he atart of th* MMM i nefrerH. return Iron ISIlTtiA rout in*.
and ML' pon i tn
i g to th* flrat byt* beyond the corespondn i g regoi n In the R-cnamel It POP HI
buffer. It will aa l o agl nal whether or not thia la an end-of-flle bo l ck. It require* tl FLIP HL
that U Initially polntl to the channel InfonMtlon bo l ck. LD (ac-;_sr),KL Reao l re nornal error r.lum addree*
CDOM ; R_«ICT_LOOP CALL B»0).R_I«ttr Input a alngl* character into A.
CMC M >
FEOS CP 00
KO R_»TCH IUOH IX Stack channel Info addreaa. c e RET I Return If character la **nt*r-.
LS l,(«_CltB) IX»577» HT T.(ILAr:jC)
» WSR A1 Stack record nupber to natch. 7007 JR M,»_IIPW_? Jwi If don i g IKiV7 LIKE.
CD477F7 CALL B 7 4 7 . H H D _ H L E IX t points to oatalogu* entry. rsM CP M
CI POP K BI* record number. ?C0) JX Ui,R_IKPV._? Junp une l ea chr la "qvolio".
cieo SLA > B I - record IWWT cwyir CALL *l«,ADD_CHA*_l R*giat*r quote* twice.
otot L9 C , 0 1 PC[- JOjh • record nuaber . 1. c»wr i ro'V CALL 0r8,iA0D_C«A*_t Insert ctarace l r Into IfflJtf area.
}T SCP 19i » J R R_im JTL00P L o o ;
) b a r
k to Input rset of string.
0* tx AT.AT* Signal 'Old of ril* block*. The following rout In* input* a single characote*r a
frn R-chann«l and return* It in th*
me. B OD LD L,<S7_LEX)
A reglater.
DOTTCI ID H,(SP_LT»»1)
CBS BfO l !
ID A.(S_l.ra-l) AHLI- length of fil* (17 bit).
C»»}> R_IKKE7 CALL iaie is RO* 0.
0
DDTIDP
A RD A LD NL(
7A JA 4
* tH£7ADm)
A7
KM?
M O
SBC ML, BC
SBC A , C
A
O AMI i- length of renalnder of file.
»
li POSH BL
ax
Stack return aUrsss m RCX 0.
z
AL6
rttsK K
1
AT
n
J» K.R_r_»0_ECF Junp If UiJl part of AHL 1* non-sero. »
SOOS
ItSH W
1101W LD DL.0201
WKH SL Sa
l ck alternative reglater a*t.
m>
19
SIC HL.36
ADD KL. I S
c,R_r_ncr Jwp If AHL Lea* than OJOI h.
asoAiijc
DSC»184«
LD tX,{CTHCHL)
HT 0.{«_CKrL4fl)
IXI pon
l ta to channel Information. 2
<
>904
7«0d JR z,»_iwrr_? Juap If thla 1* a READ rile.
a
R_RJ*i_B» HLis i*ngth of record (o?aofa nu).
JIOOW LD HL.0700
CVQU R_fllRCIt CALL KFC,T_H
I >C8 Genera*l report cede,
0
oe Bt Al.U1 Signal *Rot and of fit* block*.
ID i--rr id "b Vrong fll* type*.
EE J<,HL Den^th of r*enrit. DMXDB R_I«EF_J LD I,{R_CH»fTr)
LD t,((jim7t.i) DEi* poetlo
l n of n*xt byt* to mad.
O
DDCKQA LD T) SWCC
LD K,( J_.r:ir T.i)
oc
DDMOB
DOT HOC i9 To?) AHllw eirid address H start of fll*. DDCRNIE (IT l,(it_CRrLMS)
CDUR7 CALL R7;A(ADD_ANL.X 7B0T
AHLlw cod*d addras* or RA>^lac **r**«Tt JR 2,H_I(K£>R_SLO Junp unless thl* I* an ECT bo
l ck.
/I.3H K otack acch s r*cord nwater • 1. ntcif LD L,(h_RECL») Q.
2
C5
D> lUSti DE .tack length ol record. snttu LD KLte e
l ngth of curent record.
U H. JH ML A7 AJfi A
ftSN Af Stack gage-Coded addres* of *e -r*n1. fflH SRC HL. ~JL
4} LD B.D 2004 ;R H2.R_IWiKf_-.LAD Jwp une l e* ws have e
r ached the
4T LD C,K ICIS length of r*cord. *nl of th* (EOF) record.
C&5AB7 CALL F7W.13C>_Aia, tc AMI. paw-coded add reps of fcyl* ctr;i6 CALL BtrC,V_Bl>i> Cenerate error report
following RAHLIM oej^ent. 07 jUS 07
47
n
AT
LD
rep At
LS C, A
ML I- this addreaa. Il S^ S_«lKar_h£AD HISK IX
D
EL
011100
Kt HI
LD CI .OOB
l
•e an or rit**.
KLl point* to channel information.
O
Ui
DL PCP DE CDEls pa^e^odad addrtea of segnent. 0? AM HL.BC Qa
D9 AM "as alt*rnatlv* r*gl*t*r*. 19 ADO KL. KLtt p
Hi points
l ta to
on tobuffer.
nest byte to read.
CO
S
s
J1B4
CWRTO
CL
LD 4,04
CALL B6»,t_PAtI
POP TC
S * l * c l pa^* c o n t a i n ! ^ c a t a l o f u * .
ra^lalar t o as R chanu l ( 1 * t o *tor* I t f l r a l l y la Ih* b a f f * r , and * l t l a * t « l j r la a
I4M41*0 f l l * ) .
ac Kit
< 01
H> BOA
POP CE
U L,(SL_STAJTJ) x
Butt- poaltlca of
AKLra prwloo*
inaortloo.
(p*4*-Cod*d) Addr of
CDOO*B CALL * BOO, SWAP
LB HL, (RTTADM)
P*6* In RCVI O,
O
DD7X0C LO A.(S7_9TA*T.2) which aay haw* b**a *or*d. 09
>6 CP B C5 PUSS BC
v>
O
jcc J1 C . R _ » _ F « n » Jimp I f f i l e *4dr*a* pracaod* R S I Dt
point of l n * * r t l a e . B res* KL Stack a l t a m a t l w * r*4latar eel.
tt DM S K XL, CC LCT?AM*C u> a x e m e n . )
KT «,(i.cvu;)
Hi point* to Channel Information.
a.
400 KL,DC nc*i»44
JR c,R_m_Fouiai Juap If f l ) * addroa* pracaada C414BB JP Z.M1B,ll_tMC* Error If t h l * 1* e RIAB f i l e .
point of lanrtln. OD^BOB LD I,|I.CNRA)
S II
»
FJ
A 01,KL
u ISF),KL
H BE. HL DCi* ouKtar of hyta* ln*arl*d.
DD!40C
11
LD 0,(»_CKIM>L)
TON A
POT KL
Dtia nunbar of byte* In kuffer.
o
III
CEF4
JC
a *J»_A:II»
SET 6,H
IRC 4
n -K.IC.
AULi- M . addraa* of f l l * .
TT
U
ELTtCB
LD (A),A
ISC 01
LD ( 4 v C H n T t ) , t
Stor* brie l a b u f f e r .
3*1- new no. of tytee In buffer.
a O
a
B
a
(SF).KL
DC, HL S t i * poalllcn of IA**rtlo4.
D0720C
li
LD ( * _ c K j r r t a i ) . o
OK 0
Stor* new no. of chr* In buffer.
CO
»w UI L . T Ai» naaa of thla chawal (-»-), ctrnt CALL > £ n , T _ P l b l Salact pa<a containlr^ f l r a t
»> :ac n. LD 4 , 0 )
nob j* n.i_arjm Ju>p if fll*n*a*a ara dlffarant. o m ( CAU B6PT,T_P4C( Salact a o r t a l RAH.
ton tun «_0F_tu>i ?aat all tan charadtara of fllaoaa* C5»!» t_op_mt JP B941 ,R_0C_KIT Juap t o t i l t routlna.
JOIt Jl nc,«_op_Loap Loop back If on* found. t o a a a r l a l f 11a o a l l * d P I L V l CL0U_d v l l l cloaa atraoa f o u r i and CLOSE_) w i l l cloaa
DSbtOS
usret
ID «,0_STABTa1)
U i,(»_3TUrT.J) IIIi* paca-<odad addraaa of f 1 la
J»4 0PW_4 LD 1 , 0 4 11- atraaa auabar.
ae
O
714DRA LB B . , R I L ^ _ L RLi polnta t o f l l a a a a * .
vlth 41 van oaaa. 1*0) Juarp t o opan * t r a a a .
CAU KTT,T_PA£I
o
CWT* Salaat coatalnl^ flrat byta )•» LB 1 . 0 ) l i a atraaa n w b a r .
or thl* fll*. LD E . . F I L I _ ? KLi polnta t o f l t a o a a * .
:css
}«» «_0?_C0«T
J% K.J_0P_QmCF.
LD 1 , 0 )
Cl»a arror aaloaa thla la a PEAD
fll*.
OBO
CVMW
)«04 CL0SI_l
UP
J? RJfl»,»_o™i
LD 1 , 0 4
COP7 f l l a n a a a I n t o ayataa warlabla.
Juap t o opan channol.
11* atraaa nuabar.
ae
nmt CAU »IT,¥_PASI Pa«a in poraal RAH, tsc:
LS 1 , 0 )
S
n POP IP Ratrlava aaro fla4> )») CU»»_) l i a atraaa Quabar.
o
S T R E A M S AND CHANNELS CL </)
1
and the deadly Ninja.
The mechanics of the game
are very simple and are
basically move and fight, Ninjas
must be carefully managed as
Moving forward a few
hundred years brings us to 1940
The gameplay depends on
you making a lot of very fast
debriefing mode, several
Mi
historical 'what-lf' variations and
and PSS's Battle of Britain (£8.95). decisions. As the German forces no need to reload any data
Hitler had commanded Goering, start to appear, you must after every game (necessary on
his head of the Luftwaffe, to scramble squadrons to intercept the 48K Spectrum due to
I destroy the RAF prior to a them. After combat or a memory restrictions).
planned invasion of Britain. Due prolonged patrol, a squadron One feature not available on
to the RAF's meagre resources, must be landed in order that it board war games for obvious
just about any tactic would have can refuel and reload. Failure to reasons is that of hidden
worked provided the Germans monitor the status of your movement by the enemy. Enemy
had maintained it. In practice, squadrons will result in them units are only discovered literally
Goering decided that his becoming dispersed and un- when you bump into them. There
methods weren't working and so available to you for a period of are several ways of moving your
switched his forces to nighl time. Airfields closing because troops. Normal movement,
bombing major cities. of the weather add to your assault and travel. Assault
Horrendous though the blitz was, problems. means that a unit will go all out
there was no way it was ever to gain its objective whereas
i
Again, a fairly simple game
going to destroy the British to play but as any one who has travel is very defensive — you
planes for the simple reason that ever tried to Juggle will tell you, can move only along roads (at
the Spitfires and Hurricanes it is very easy to throw a lot of double speed) but are very
never flew at night! balls up into the air at once. It is vulnerable to attack. You can
There are three main a different matter to keep them also choose to hold a position
scenarios for you to try. The fhere or fortify it.
ai training game gets you used to Terrain plays an important
commanding the forces at your part in the game. Not only does
disposal by simulating a light it affect the rate of movement,
raid. In Blitzkrieg, the Germans but also how well a unit can
throw everything they have at The final game this month is attack from or defend a position.
you but only for a period of one Vulcan (£8.95) from CCS. This Combat is decided by many
day. Finally, there is the much simulates the Tunisian campaign factors including the strength of
longer campaign which is of 1942-43 and is by far the most a unit, how well it is supplied
played over thirty days. There detailed of the three games on and the weather. Supplying your
are also optional arcade offer. Control however remains units is a vital element in your
sequences in which you can try straightforward and is all menu strategy and you should also
shooting down Messerschmldts driven. make good use of any air power
from the comfort of your own There are five different that you have, either to deliver
mess room. If you choose this scenarios designed to last an air strike or reconnoitre as
option, how well you do in your anywhere from half an hour to you try to discover the enemy's
own personal combat directly sixteen hours. You can choose to positions.
affects the outcome of a play either the Axis or the Allied Vulcan is very well presented
particular battle. This Is fine for forces and the game can be with an excellent instruction
arcade fans but those of you played against either a booklet giving players hints and
only interested in the strategy computer or human opponent. the historical background to the
elements should leave well The 128 version offers several campaign. Highly recommen-
alone. other options including a ded to serious strategists.
Vutcan Vulcan
Sattt* of Britain
Samurai
CO
2
<
O
at
t
Peter Sweasey having decided categorising games is packaging adds greatly to the
a bit futile anyway — so I atmosphere of an adventure,
some problems pigeon reviewed It here and is standard with games from
Talking of France's finest, Infocom (the world's leading
holing this month's tnfogrames have a very interest- adventure writers — unfortu-
ing product fined up for release nately only for disc based
unusual adventures. soon. Murder On The High Seas machines), and quite common
is a complex adventure among American companies.
featuring 40 characters, includ- But Spectrum adventures have
F u n n y old month: none ot the ing suspects to question, but virtually never seen anything like
games for review is entirely what especially appeals to me it. The closest attempt was the
conventional. Imagination — is the packaging. Included with original release of Valkyrie 17,
another cheapie from prolific the game will be evidence — where you were given some
author Peter Torrance — is four such as cartridge cases, hair, documents, a stylish badge and
mini-games in one — yet is the newspaper cuttings, ink — which audio messages, containing
closest to conventional. you can examine when It's Information vital to the game's
The Growing Pains Of Adrian referred to in fhe game Such completion. Runestone nas a
Mole is another Level 9 multi-
choice adventure In the past
these have been bought to us
from Mosaic, but this time the
ame comes courtesy of
ichard Branson's Virgin Games
— Mosaic billed as "producers",
t hope this continues as a
partnership; while Mosaic have
been responsible for some
commendably unusual
licencing deals over the past
few years, their advertising has
been far too subtle for the
games to achieve the high sales
they deserved.
Third curiosity is The Inherit-
ance from the cross-Channel
software invaders at Infogrames.
It is so hard to classify, I almost
reviewed It elsewhere in the
magazine. But while It's not
straight adventure (no text Input,
a
<
nor much to read), nor is It really
an arcade game (no finger-
reactions needed). In the end. I tnfogram*K providing tho clues
E L P L I N E
about (though how it doesn't go same game: to steal the lamb,
all soggy Is unexplained). The just take it, then give the butcher
keypad combination, incident- that small lead box from the
Starting this month with ally. is 8875. There's no need to bedroom safe (you know, the
RamJam's highly recommended unlock the doors in the Roman one with the glowing stuff in it).
but tricky Terror* of Ttantoss. villa, indeed there's no need to Simon also asks for help with
Both Mike Putpher and Keith enter ft, at least not to complete about a squillion other
White are being foxed by the the game. adventures, so here we go. In
Fangiizard. Simply follow your Andrew McMaster wishes to Project X. The Microman he
country code: CLOSE GATE pass the television camera in cannot escape the car: CLIMB
behind you. To catch the dog, Seabase Delta. You need to SEAT BELT, WIND HANDLE and OUT
Keith, you must PART the brothers. throw a pancake at it! How do (take the lighter first). In Dracula
Make one take the sack to the you make a pancake, you cry? Part TWo (I nope you're over 15.
side of the Temple, and PUT You'll need the hen's egg (blow Simon) progress from the first
SACK INTO HOLE. Then make the a chewing gum bubble to wake location is obtained like this:
other enter the temple, CLOSE the poultry), and the bowl, which LOOK AROUND, LOOK OLD
DOOR and attempt to CATCH is on the conveyor belt if I WOMAN and LOOK EYES. Take
DOG. The mutt should run remember rightly. Examine the what she offers you, but hide it.
through the hole in the wall — kitchen shelf and take the flour In The Final Mission, Simon wants
straight into the sackl As for the from It, then open the fridge to to avoid the slime. In fact,
well, SHINE LANTERN down it to find the milk. MAKE PANCAKE, dealing with the green stuff will
see the rungs. Get Lobo to fetch COOK PANCAKE, GET PANCAKE solve you another problem If you
the Temple door, and drop It (how you manage to carry it prepare properly. Take the straw
down the well. When Scam around without It falling to bits (from the northern corner of the
climbs down he will find it has or sticking to your hands Is not large cell) and use it to fill the
broken into planks, which can explained — realism Is not a one inch gap at the bottom of
be used to build a bridge strong point in this game). the door. Making sure you have
across the river. the soap (from south of the great
Marcus Beer wishes to kill pillared hall), go to the chamber
Zzzz is not the sort of noise Stripe in that anarchic with the rising, damp breeze,
you should make when reading adventure, Gremlins, having and head up into the cubby
this column, but it is the title of a already blown up the store As hole Walt until you hear a
somewhat unplayable Master- the gas exploded, the not-so- splintering sound, then DROP
tronlc cheapie. Miss L. V. Burton cute one should have rushed SOAR Not only will the slime
from Clapton cannot board the away and knocked you over. So have been cleaned up. but it
bus having passed the FOLLOW STRIPE and he'll lead will have smashed the door for
crocodile, even though she has you to the swimming pool. You you! As for the native woman in
the bus stop sign. A question of should have drained this earlier, Espionage Island (a game
precision vocabulary, I suspect. so when Stripe dived In to repro- banned oy W.H. Smith for one of
ERECT SIGN. STOP BUS and GIVE duce he will have knocked Its responses!), you must give her
MONEY. himself out. GET the unconscious the beads.
Stephen Lawrence cannot fiend, head UP then go east.
find the magic soissors or the Dawn will break — and you Simon asks many more m
key In part three of Bored Of The know how gremlins hate light questions, but space is runnliTg
Rings. ENTER FORGES to find the . . . To rescue Antman in The out, so we'll save those for next
latter, while the former are found Hulk, first PLUG EARS, HOLD NOSE time.
In the bar, W from the headless and CLOSE EYES. Then GET ANTS,
statue (you'll have to kill the north twice to the underground
Kremlins first). room, go through the crack and Peter Sweasey for Poet
they will attack Uttron. As for Laureate
Dead End Quest Valkyrie 17, If you go to the
Carpathians In the taxi, you
'If you're stuck in a game
And your hair's all torn out
Neil Talbott Is flummoxed by won't be able to pass the guard. Then remember my name;
Melbourne House's rather good However, where to really go in Just give me a shout!
Morton's Quest (or is it Master- the taxi, Is answered by solving Fill In the coupon
tronic's now?). In the deserted the other problem Marcus asks It's as easy as pie
beach he wants to stay under- about — how to use the
telescope. You need to INSERT Send It to Mindplay (well you try
water. Head out and CLIMB INTO thinking of a rhyme for 'coupon!
boat, go down and, as you RINGPULL in the slot, then TURN
TELESCOPE for your destination. And to solve I will try."
suspected, you'll find an
aqualung. Then, to prevent suffo- (The ringputl comes from the
can in the fountain — kill the fish (Er, I think you better stick to
cation, N,N,N.SE,U,SE,D,N,E and reviewing, Sweasey — Ed).
FILL AQUALUNG. Progress in this with the liquid).
Philistine! A few rules: British
sector will find you the spray correspondents, please enclose
paint you need in the future: Gremlin Gripes a stamped, addressed envelope
you'll also find someone who if you want a personal reply
wants that newspaper you asked Help for Simon Fuller with the rather than wait some months for
s
successful books (which more options to appear, as a period setting (it is a diary, after Mole mostly because few ol the
spawned high-rating television whole sub-plot Is pursued. The all). I wasnt very far from decisions are ol long term
series) were in diary format aim is to make Adrian as Adrian's age in 1982, so I was Importance If this game was
(which the game retains). The popular as possible (there's a quite nostalgic ot Sue Towns- more sophisticated, one
Growing Pains sees Adrian with p e r c e n t a g e score a n d a end's references to events such decision could utterly alter the
as the start of breakfast tele- rest of the adventure, parts of
vision (setting the alarm extra the plot being made com-
early!). Then it's ruined with a pletely unleasible. Again, a
reference to Dirty Den (East- possibility if disc had been
Enders began in 1985 for good- used.
ness sake!); or giving the option
As with The Archery Growing
to see Jaws or Superman at the
5 cinema (both were films of the
Pains has questionable dura-
bility, since after playing several
seventies that wouldn't have
times you'll have seen all it has
been playing in 1982). Mr Austin
to offer. The game is a fun exten-
should have done what all
sion of Ihe books, and should
good authors do — research
offer some entertainment. But I
what he's writing about. I was
feel that because it was impos-
also puzzled at some ol the
sible to do full justice to the
changes he made to Sue
original text (ie print It all), the
Townsend's original text. While
T h u r s d a y F e b r u a r y 1 1 h . project should not have been
tight memory obviously
fi b i <3 t i f J c aide i o r in y in o t h r prevents the computer version
attempted.
• od i y . I t h ;» t a - ' h f i" t e i. d
P O; I C j f d . b e i n g identical, in some
C h o o s e o ne o f i h t • o I i o »•• i n <3 tor instances Pete Austin has
r<i e : changed little details — like
1* i g r i o r c i t JB i t . 13 no*. who said what, or a person's
i d df £ s ed t o (l) €' j reactions — yet not made the
^ > h i dt i t 1" r 0 fti in y f a t h »7 1 , diary enlry noticeably shorter.
3 > t h row i t awa . Why? What gives Mr Austin Ihe
Q
< right to tamper with what many
feel is a modern classic?
W
to anolher. This gives the prob- tation was not so dire. Glaring
lem solving an engaging new white background wilh black,
angle. normal Speclrum lettering (so
Otherwise, Imagination is the CAPITALS stand out even
unsatisfactory. It's WRITTEN by more), and sloppy looking input
Peter TORRANCE (Seabase Delta lines. GACed games also have
etc) which means the return OF more sluggish response times
those IRRITATINGLY random and scrolling.
CAPITAL letters in the TEXT. It Imagination is cheap and
bears all fhe other hallmarks of fun to solve — but it's truly primi-
his adventures, most notably a tive. Surely Spectrum adven-
sort of childish feel, as if were tures can be more sophisti-
written by a twelve year old: cated than this — even at
simplistic text, laughably un- budget price?
With a title like that. Firebird are The game starts with you subtle clues, generally weak
setting themselves up for sitting in front of your compuler; humour. But Imagination also
criticism. Indeed, I was going to you insert an unlabelled disc features the other Torrance
start this review by telling you (somewhat unlikely with the trademark; entertaining and
how utterly devoid this product Spectrum but never mind) pur- sometimes ingenious puzzles.
is of any original and creative chased from a bargain box Then again, this plus point may
thought — but then I discovered and are presented with a be outweighed for you by a
an endearing and unique choice of four games. Choos- number of further faults The
feature, which made the title a ing one of these — a space vocabulary seems painfully
little more justified than I first adventure, war game ("Raid small (and there are no single
thought. Over Margale"), a fantasy letter abbreviations for LOOK or
UTILITIES
tffliTt ntcir.uia
SPRITE DESIGNER . 1[ _ ]
Th* moat adwncad on the market, and th* ***•*«t ; ! v PRINTER
to IM Altar aaaily drawing your fprit* using a BX ;'v THECOST;BASIC + £IO
ACCESSORIES
magnification you can mirror, rotate. wwart. scroll, ®
clear i*w and recall inetantly, it ewn thowi you the '.•',•', the other programs £6 Each SERVICES
iprite* at they i n normal a n and animated OR
T H E P R O G R A M M E R S PACK FABRIC RIBBON RE-INKING MAKE S O M E S P E C T R U M C e N C e
Thn allow* you to dump any part or all th* town to All four program! two 'Introductory Otter* S i m p l e C o m p u t e r C o n t r o l l e r tor
• Sinclair or Epwn compauw* prints'. Ih* w w o £1.50 Machinery and Models using your Sinclair
Spectrum
dump can b* normal, wn*r|*d.or ihaded with a ;X; catsettes in a large video box S e n d r i b b o n * e p r e p a y m e n t to: A little black boa which plugs into the
different frey K*l* for **ch colour.-ncfuding all
the BRIGHT colour, W Half Price O N L Y £14.00 A L A D D I N K , (Dept Z X C ) . eipension socket of any Spectrum and
4 Hurkur Crescent, Eyemouth, enebles you to drrve two small to medium
stepper motors [up to 2 A MPs per phase)
E Berwfckthlre. TD14 SAP. Of up to 6 DC motor*, relays, lamps or any
I I _ F cCOLUMN
i DISPLAY Tel: 06907 50965 other DC device
Simple lo Program and built by an engin-
The program t*u you print up to 64 chant*™ o n X * See ' N E W S ' ZX A p r i l 1967
Al at* program an rm+1 m4 pcvad •ach and rwry tin*, including the bottom rwo Hrwa ;X;I eering firm for It* own use You can use it
wrthm 24 hourt If ye* haw any uwng th* normal PRINT command!. AT m ) TAB ;.';X for CNC turning, milling or coordinate
«j*ra*phoi»:021 55S6S64 It will print iingl* l*n*ri. m m y , graphc* and CHRl, X;*; drilling.
you can twn LIST in 61 cfiarstsri. You can ml• X v Reliable Prototype stilt running atter three
Pleaa* maka cNsfmt or postal artsn normal 31 column and 64 column t*it you can *Wn JftJ years use
LI 0 . 0 J . 4 1 I I I I R I I I I I M . haw UDGS k M tar information p*g*t wordpro £ X We provide Interface instructions
H M m , Waal HMaafe M l o*aaoo. dautiaan. account* progrom, etc It can b* software, hints and examples Price £ l ? S
M 0 H pay TRANS CASH Mo 43236 0701. UMd With inc carriage and VAT Power supplies and
naHly from BASIC*
Stepper Motors available We win be
pleased to quote for larger units
mm&. P R PRODUCTS. PARK MILL.
HOBSON STREET, MACCLESFIELD,
WANTED CHESHIRE SK11 BSE.
W A N T E D : Y O U R non working
BRADWAY SOFTWARE (ZX) C o m m o d o r e Computers a n d
equipment for cash Ring D M R
LETTA-HEA0 P I U S The m o i l vaiwltl* Spectrum ulility program few doiigning and printing Electronics, Bradford. ( 0 2 7 4 )
bu«ifle*9 and perionai stationery, receipt!, letterheads labels poster*, etc Create the design 882892
on screen using inbuilt graphics or load any S C R E E N S from an arts package add tail from the R I N G 01-437 0699 F O R
library of ?Sdi«er*ni fonts, select the required output formal and print all the copies you need
Price only M.B0 D E T A I L S OF O U R
DUMPY 1 Fast becoming the de facto standard screendump program producing all the screen
dumps you will ever need tor your Spectrum No need to understand assembler DUMPY'S code SERIES DISCOUNTS
GENERATOR creates the screendump relocates it and saves it rvady tor use in your programs
Over 1000 dif<ere«i sire, shape and density screendumps. anywhere in BAM' Puce less than l p
per dump" EB 50
U N - O - T Y P E Add Style 10 your written word. Pnnt Out On any wordproceiaor Me on tape
microdrrve or disc in high denstly NLO in a choice of 25 fonts, or turn you' Spectrum into a full
WYSIWYG electronic typewriter superb for addressing envelopes, filling in forms or writing RACING SERVICES
short notes Price IB SO.
ASTRUM • NEW!* The very best ZBOaisembier and monitor package for the Z60assembler and SOFTWARE
monitnor package lor the Spectrum Eiceedingty versatile powerful and easy to use. Fu«
wordprocessor Style editor Unlimited source code. Assembly using microdnves or the Opus
Discovery Command dnven moniior with multiple breakpoints Single Stepping slow run etc
Price t t 3 SO (itate mtcrodnve of Opus
TO ADVERTISE STOP
DISC MANAGER NEWEST* A brand new utility tor users ol the Discovery drives: Full disc
sector editor and tile mangaement program; Erase, rename copy goups Of tiles. Examine, IN OUR N E W E S T PLAYING GAMES
modify and understand disc directory information; E«amine modify and recover damaged Us* ytw compute to m*t money Tivn your hobby
date Price I10.S0 including 3 % ' disc only
Bradway Software programs drive moil (currently 16 different) Interfaces Lett*.Head. Dumpy
SECTION RING into I homa baud ram Full and part 1m*
apportwtist 10 Cltli * on ties trsnmdous market
6 Lln-O-Type reoui'e an Epson compatible printer and are compatible with Microdrrve
Wafadrrvn & Disc Prices are (or cassettes include full Instruction and P&P within Europe,
please add C2 CO per program worldwide an mail postage Ci SO lor microdrive cartridge or disc
NICOLA BATY High sarrmgi twity poiubi* Open to any mateui
mao unr and gmtr Wms tar frva detail
Send for further details'
ON Westlink Promotions
108 George Street
(ZX)
33 Conalan Avenue, Sheffield S17 4PG 01-437 0699 Edinburgh EH2 4LH.
WARNING NOTICE
Advertisements placed in t h i s 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 h i s
advertisement(s) does not infringe any copyright or condition of sale of any interested party in the advertised
product.
Further, the advertiser indemnifies the proprietors of t h i s 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.
SOFTWARE
HUMPHREY SOFTWARE FORTRAN 77S COMPILER for
TWO PROGRAMS
WD Software 4 8 K Spectrum for just C15 Send
F O R T H E QL: c h e q u e to Mira Software 24 H o m e
SUPER HANDICAP; The connoisseur
racing program that wilt pay tor iisell JOSS base £13 Close. Kibwortb. Leics LE8 OJT Or
Full Instructions and Forget that tedious, t ime-consuming syntaii i Just move the cursor and p r e s s S P A C E tor ail write for further information.
recommendations y o u ' tile command! C u r s o r keys or your loystick allow you l o access microdrives l u p t o S )
ONLY £9.98. and lloppy discs (as many as our interface allows) w t h up to ISO files on each! Scroll and
SEEK 1 FIND: Try to sink your print directories COPY, D E L E T E or P R I N T any liie. select T V or Monitor mode Before
opponents ships before he gets yours, LOAOing ot R U N n . n g any program Y o u only use the keyboard l o s e t the D A T E ot label a
but watch Out tor the mines' One or two device when F O R M A T t i n g Easy l o use with P s i o n and other software No s i l l y icons l o
i e » ' n - J O S S will T E L L you what it s going to do1 Programmer s toolkit and mass copy ing>
players, many features printing utilities also Supplied Specify microdrive-onfy. Mictopef iphe»al or C;ST- ST
ONLY £3.99
SPECIAL OFFER
compatible disc versions TERMS &
Ref QL7 bate £7
BOTH PROGRAMS AT ONLY £11.95
INCL. 1300 useful O l references with A R C H I V E 2 sea/ch/ptmt program T o o long lor l u s t one CONDITIONS
cartridge s o if you have R e l O L S |ust pay 2 and enlra media cost l o update
HUMPHREY SOFTWARE
Mdv Exlentlon Cable £5.50
8 Richard Anderten Court. Eight inches long. allows addition of entra microdrives l o your O t T w i s t it l o put their s l o t s
Monton Road, London SE14 5EJ. facing you CLASSIFIED ADVERTISING
F O R T H E OL: S P E C T R U M ; BBC; E L E C T R O N T E R M S Si C O N D I T I O N S
WO " o n * Tutor bate £4 Our terms f w new advertisers I term dupley
Written 10 teach amateurs, now used by professionals too' Absolute beginner. Of and lineegel are strictly pro forme paym*nl|
stretching you'Speed to 18wpm. you w o n t f i n d anything with morehelplul features What unlit satisfactory reference can bo taken up
else can of I or 100 random sentences as wetl as all the b a s i c s ' Disc version unsuitable for leadudmg recognised atfcrertismg agencies)
CHCZRON SOFTWARE BBC B* Cheques end P O s should tie crosted and
(Dept. J 0 3 I 605 Loughborough Road mede parable lo A R G U S SPECIALIST
Blrstall L E I C E S T E R L € 4 4HJ FOR T H E S P E C T R U M :
f U B U C A F t O N S L T D and lent together w i t h
B O N A B A N N E R — Programmers' Unleash
WorDllnder (Mlcrodrive/dl»c only) bate £8 the advertisement 10:
the power ot s t r i n g graphics on your For C H E A T I N G at crosswords F i n d s m-sa-ng letters, solves, anagrms 13.000 word " T h * C l a s s i f i e d Dept .
Spectrum Create title pages. tent adven- vocabulary, so s long to share a cartridge 10-letter word ending in A T E ? N o problem No 1 GoMtn S q u i i * .
ture graphics, program headers etc. that Tradewlnd bate £3 London W 1 R 3 A B
print instantly from Basic or machine Thai a ar* no l e n t i u r t e n t n i i lor can.
code S a i l t n g l r a d m g strategy game w i l n graphic s u r p r i s e s
Jersey Quest bate £3
cellaion* Advertise/nenis arrtvtng too late tor
a particular i s s u e wei be inserted >n the
At just £3 SO why hesitate 1 — If Our demo
Te>t adventure i n t>me Background o l Jersey folklore from Stone Age to Bergerac following i s s u * u n i o n accompanied by
program d o e s n l convince fhat B O N A -
i n s t r u c t o r * to I he Contrary It i s t h * re*,
B A N N E R » useful to you J U S T R E T U R N For export: pontitxlitv of l h * advertiser to ensure thai the
T H E W H O L E PACKAGE F O R A F U L L O L hardware and software from many sources Ask for list/quotation f i r s t in»*rtion of every tenet 4 published
REFUND"
ORDERING ADD COST OF MEDIUM. POSTAGE £1 OUTSIDE EUROPE. correctly, and corrections m u s i b* notified i n
Mdv or $.25" floppy • £2 3.5" floppy £4 Cassette £0 l i m * for I ha second i n * * i l a n o l h e r v . i t * I he
p u b l i s h e r ! w i l l not accept any liability or offer
Payment anv reduction m charges
B y ACCESS/Eurocard,'Master Card or S T E R L I N G ( U K b a n k cheques. Eurocheques, drafts AN advertising sale* are subtect to Govern.
or I n t e r n a t i o n a l G I R O ) . T o m « n t Regulations concerning VAT
QL/SPECTRUM UTILITIES! W D Software (ZX), Hilltop, St. Mary. Jertery. C.I. t*l: (0534) 81392 Advert i s e r s are ' e t p e n t ^ i * tor complying wah
the variousiegel requirements inforcaeg The
Wide range of business/practical Trede 0 * s c r v t n n Act seidficrimmrtionecifc
programs available. SAE/IRC for the b u s m e n advertisements Idisctosurel
details (state Micro). SO Micro- fuK Ttrmf A CamUlWil
ort»er 197 T
of A&vftiimg
systems (ZX) PO Box 24. Hitchin, erai/aVe on reeuesr
Herts
FOOTBALL
T h i s new up-dated version of last season's best
selling official FA Cup Football incorporates
every league club's form for the 1986 season as
well as new manager's questions to test your
judgement.
FA Cup Football 87 is a text based simulation
of the FA Competition that allows you to take
10 teams to success. You make decisions about
tactics during play and answer which
contribute to your teams victories.
NAME
ADDRESS
M O N E Y ENCLOSED
GRANGE
THE GAME