Professional Documents
Culture Documents
ZXComputing Feb 1987
ZXComputing Feb 1987
1
II
AN ARGUS SPECIALIST PUBLICATION FEBRUARY 1987 £1.50
!//
W im
'JflflffHtth
m.
% i I MENU
xpert Systems
Discovery Routines
C r a s h p r o o f ing your
Programs
Ad v a n c e d Art Studio/
The Artist R eview e
A
S^fcONA Mrs
• mi m
MEAT ARCADE
GAMES ffOftlHE
HUCEOFOIC
m Voted.«DEST COMPILATION OF THE YEAR'
_
o
o
o
o
Q
© FOR THE C16 micro C2tiIiEff£3l
I
•-—-I
o
COIN-OP HITS
SPECTRlJMCOMMODORCAM$»TRADC16BBC
CASSETTE DISK
£ 9 * 9 5 1 U
« g ™ 1 4- '9 95 5
Screen shots taken from various computer formats
Imagine Software (1984) Limited, 6 Central Street. Manchester M 2 SNS.Telephone: 061-834 3 9 3 9 Telex: 6 6 9 9 7 7
Ortn
l bue
i d <n Fnn«by Cknn f'Jntr Trlrphont 9>-t?-7144 OKntoutf-d in Gwnury
i byftosfiwirfTee
l phon* 2101.70040
•
REGULARS FEATURES
UJ
NEWS: Opus halts Discovery Disc drive production. ilLUMiMATOP Adding decorative touches to
4 Illuminated text.
12
ACROSS THE POND: U.S. news.
18 THE FRIENDLY PROGRAMMER: Crashproof programming
by Alan Davis.
20
DISCOVERY COLUMN: More routines sent In by
Discovery owners.
24 THAT'S THE TICKET: Carol Brooksbank on the creative
use of screen dumps.
28
QlL COLUMN: The latesl on the QL*s survival course.
35
EXPERT SYSTEMS Can you give your Spectrum or QL
Artificial Intelllaence.
CROSSWIRE: Readers' technical problems.
49 32
S
PULL DOWN MENUS: Tonl Baker shows how you too can
add flash menus to your programs!
66
SOFTWARE REVIEWS
SPECTRUM: Aliens, Stargllder, Marble Madness
. . . Short reviews begin . . .
38
Dan Dare
Winners
The lirst prize winners ot the
Dan Dare comptition are
Maurizio Cunningham Brown C.Womack. Northalerton; Advance Software are to follow up their Hardball conversion
from Henley in Arden and Gerry G.Shimmings, St Leonards; with two new titles. Indoor Sports is another conversion — a
Galloway of Liverpool. They R.Jones, Belfast; I.McVicar. collection of Darts, Ten Pin Bowling, Blow Hockey and Ping Pong
receive a copy of Virgins Dan Clydebank; G.Darlington, Liver- all on a single tape — and is due out in February for £8.95
Dare book. The Man Who Drew pool. Butch Hardguy is meant to be a sort of Ram bo spoof in which
Tomorrow, the lite story ot Dan the aforementioned Butch has to free loads of POWs from cells
Dare's original illustrator Frank
Colossus 4
on 20 different screens. The price of Butchness is £7.95.
Hampson.
A further 25 entrants win a
copy of the game.
They are:
Chess Colossus 4 Chess program. Bambrugge. Belgium; John
R.Douglas. Mostellssveit,
Iceland; Paul Sullivan, BFPO 43; winners They are;
Rob Ramshaw, Tynemouth;
Jim Feltham, Morden; Mark
Cliflon, London SE3: CS.Evans
BFPO 45; S.Deering, London E1;
N.P Powley, Kings Lynn; J.JCarr,
Richard Hockey. London E18: Chess seems to be a
BAtkinson, Darlington; T.Yau. popular pastime among ZX Teeger, London NW6; D.French. Cambridge; G.Havenhand,
Cardlfl; A.Hawscroft, Manches- readers juding from the large Margate: Mike Looseley, Har- Sheffield; Brian Taylor,
ter; QOrunsun, Stoke; M. Kemp, number of entries for our mondsworth; P.Lanft, Bad Vllbe, Scunthorpe; J.Scherphuis,
Wesferham; N.AImond, Coven- Colossus 4 Chess competition. W.Germany; Paul Hargreaves, Boschen Duin, The Netherlands;
try; E.Bennet, SW11; T.Miller, Almost without excepllon every Brendford: De Meester Bart. R. Addiesee, Leicester.
Staines: RDodsley. Nottingham; enlrant deduced the correct
DJ-Morgan. Swansea; BHerwig, solution to the chess problem — Editor: Bryan Ralph
Kortenburg, Belgium; A.Siddal. whites move was King C7—C8. Assistant Editor: Cliff Joseph
Chesterfield; M.Watson, Darwen, Now 20 winners will be able
TWitt, Galhampton; L.Voort. to wile away the long winter Consultant Editor: Ray Elder
Leiden, Holland: CRenders, evening locked in intellectual Advertising Manager: John McGarry
Farnham; P. Marl, Chester; combat with CDS's excellent
Design: Argus Design
Printed by Chose Web. Esiwer. Plymouth. A.S.P. Advertising and Editorial
Advertisement Copy Conlrolet: Andy Selwood
No. 1 Golden Square, London W1R 3AB 01-437-0626
Distributee) by Argus Press Sales and Distribution Lid, 12-18 Raul Street. London EC2A 4JS
ZX Computing Monthly is published on the tourth Friday ot each month. Subscription rates cn be obtained <rom ZX Subscription], inlonet. limes House.
179 the Marlowev Hemel Hempsieod. Hem HPS1 1B6
The contents ol this publication, including all articles, designs, plans, drawings and other intellectual property rights herein belong to Argus Specialist
Publications Limited. All rights conferred by the law ot Copyright and other intellectual property rights and by virtue ol international copyright conventions
ore specifically reserved to Argus Specialist Publications limited and any reproduction requires the prior written consent ol the company
Argus Specialist Publications Limited tW 7
ZX B MX
has the orbiting weapons system taken over by invading
aliens who decide to use it for their own purposes. Only
you, in the role of heroic Nick Diamond can save the
Earth, assuming that you've got £6.95 to spare to get you We probably shouldn't admit It but the Commodore
started.
version of BMX Simulator released by budget software house
Codemasters was one of our recent iunchtime favourites.
Imagine then the breathless anticipation with which we
await the arrival ot the Spectrum version. With a track full
ot ramps, banks, whoops and burns there are all sorts of
possibilities for cycle mayhem and all you need to Join in
is £1.99.
Sounds familiar
Masfertronic have got a new have to guide your cute
?iame lined up called
erminus. It's a massive
arcade adventure with lots
little sprite past lots of traps
and aliens and (stop me if
you've heard this before...)
and lots of screens and you
ENEMy CLOSE TO
SINGLE LRSER
DOUBLE LASER
RQCKET^LflUNCH
GRRPE SHOT
SCORE ON O f f
V D U ON OFF
HI 66286
The Battle of Britain
Alternative The PSS Wargamers series
marches ever onwards with
forces against the deadly
Hun' strategy game with a
the sky' type), so it may well
appeal to more than just the
Budget the release of Battle of
Britain. This manages to
few flight simulator style
arcade sequences (of the
usual wargame following.
combine a deploy your 'blow the deadly Hun out of
Yet another budget software
label has launched itself
onto the market, in the
shape of Alternative
Software. Their first two
offerings, priced at £1.99 are
Howzat! (a cricket game,
would you believe) and
Henry's Hoard, a 50 screen
platform game. We havent
actually seen the games
yet, but the cassette inlays
look n i c e . . .
Round
the bend
Okay, hands up all the
overgrown kids who used to
have a Scalextric kit? Well
you can indulge in some
computerised nostalgia with
Scalextric on your
Spectrum, courtesy of
Leisure GeniusWlrgin. the
game costs £9.95
HACKER I
I k M u s t y ftptrs
atunrai
Starlight
Greyfell — The Legend of
Norman, is the first release by a
new full price software house
called Starlight. Norman is a
humble cat in a world entirely
inhabited by animal characters
such as Potbeliius, the dog
landlord. Blotto, the drunk
rabbit and Willy the pig police-
man. Dissatisfied with his un-
eventlul life Norman sets off to
defeal the evil Moron, a ruler
who has been making life hell
for the denizens ot the mena-
gerie kingdom.
D.I.Y.
7TX 650 0 60 6581-SlCJCtlip
ZTX21S 0 60 1900 £ 1 2 . 9 0 p!us£1.50 p & p
Power Suoptv Transformers «« 906114-House Keeper 1900
LLA6C001 16 SO 9017?S-Graonic Rom 1900 zx 81 membranes
Rom 16 SO 901226- Basic Rom 1900
CORNER k eyooaro memorane
Spectrum
*eyOoard memorane
S50
901227- Kernai Rom
6S69-VI C
1900
1900
£5.00 plus £1 5 0 p & p
12 90 4164 Rams-Memory
We regret we cannot 5 00
Spectrum P* us mem Drarve
show an the components Metai Templates S SO Power Supply
available Just give us a keyboard Wats S SO Transformers
can ana we can quote you ZMimemorane S00 AiiourpricesmciuOrvAT but please add
over the phone delivery Service Manual [JO 00 n SOoneacnwde* to cover post
by 1st class post pic ding and handling c harges
VIDEOVAULT HEALTH WARNING!!! Commodore
Sending your computer to any other Repair Centre can seriously Damage Its Health replacement p o w e r
transformer £29 00
fuuv
repaired
attested,
ON MOST
ADVANCED
, TEST
EOUIPMEHT I Street west, Clossop. Derbyshire SK13 8HJ
140 High
IN EUROPE'
Tel: 04574-66555/67761 Head office & access orders, queeries,
Manchester 061- 236 0376 while you wait repair centre only.
c copyright Videovauit Ltd NO 682121
Arcade action in the You begin the game with 1000 Unfortunately, the spells that
energy units that are drained at you find have a random effect
necromancers dungeon an alarming rate whenever a when they are cast. Sometimes a
nasty gets near you. Luckily this spell may wipe out a screenful
can be topped up by collecting of nasties but others may only
as the magical flak piles of food that are strewn stun them for a short time or just
around the dungeon (usually on disorienatate them.
flies... the wrong side of an army of Even if you've wiped them out
dungeon denizens). you must move quickly as they'll
Keys, magic and treasure can quickly be replaced as more
Dandy also be found and are essential are generated.
Electric Dreams to your survival. If things get really tough and
The keys are used to open the your energy plummets you can
£9.95 doors that would otherwise block trade treasure for energy that
your path but since there are might keep you going long
• = ifteen dungeons packed with less keys than doors, care must enough to find some more food.
spectres, necromancers and be taken to use them only on Dandy must be played at a
assorted nasties lie in wait for the doors that are important and frantic pace otherwise you will
those brave enought to enter. lead to treasure or the way out. be constantly overrun with
Taking the role of Thor, who Quite often a room has several nasties. This will mean that you
can be joined by Sheba doors all leading to dead ends will make mistakes such as using
(controlled by a second player) when the correct route is a key on the door you were
you must hack and zap your through a teleport pad that trying fo avoid letting loose a
way through rooms, jumps you to a similar pad in an horde of monsters that begin to
passageways and stairways to adjacent room. chase you.
get to the treasure. Use the valuable keys on Complete a set of dungeons
Dandy may seem an odd dead end doors and you won't and you'll be awarded a clue
name for a massive, magical, have enough to reach the stairs but you'll need to survive all of
arcade adventure but it is that lead to the next level. them to get all three clues fo
named after an original game Pressing the fire button hurls a solve the game.
that later became known as hail of blasts at the nasties in I'm not sure of the point of
Gauntlet. your line of fire. One hit is these clues that are thrown in
Only a fraction of each enough to take out most almost as an afterthought but
dungeon level is shown on the dungeon dwellers but the perhaps when the riddle is
sceen at any one time which necromancers need 4 hits fo kill solved it will make more sense.
flip to the next section when you them. The worst to shift are the But before then I've got a few
move off the edge of the screen. spectres not only because they more spectres to trash!
This lack of gradual scrolling need more hits to kill them but
means that you often rush into also they can drift through walls
situations you'd rather avoid like that block the others. If you don't
a horde of necromancers. get them, they'll certainly get 1-4 :t
Immediately below the you.
dungeon display is a scroll There can be as many as <
indicating the present levels of thirty or more critters coming at
energy and number of keys, you so even one shot nasties
treasure and spells for each become a big problem. The
player. answer lies in magic
Big 4
Durell
£9.95
F o u r of Durell's best known
games are now available in a
single twin cassette pack. Now
for the price of one game you
can fly a deadly Lynx helicopter
in Combat Lynx, drive a Turbo
Esprit in a city centre car chase,
infiltrate an enemy security base
in Saboteur and disable an anti-
matter plant in Critical Mass.
Combat Lynx
The action begins on the launch
pad as you arm your combat
Lynx helicopter for the mission
ahead. Your job is to protect
and terry troops between a
maximum of six bases (depends
on game level) while fighting the
planes, helicopters, tanks and
gun emplacements of the
enemy forces.
Through your controls you
must plot the positions of the
bases and the approaching
forces and defend the ones most
at risk while keeping the others
fully supplied.
This isn't an easy game to Saboteur trouble attempt to destroy your
learn with over 30 key controls to rocket propelled hovercraft. This
perfect but it is still one of the As a change ot pace Saboteur is protected by a force field that
best combat flight simulators. has you creeping around a is weakened by any collisions
warehouse that the villains are with the rocks that strewn the
Turbo Esprit using as a central security surface or by enemy fire. If this
station. Your mission as an ace gives way your ship dramatically
Driving your Lotus Turbo Esprit mercenary is to infiltrate the explodes around you leaving
around one of four city centres warehouse and find a disk that you hovering above a pile of
at 150mph isn't easy especially contains the names of all the rubble.
when you're supposed to be the rebel leaders. If you're lucky you can hover
good guy and avoid mowing Naturally you're an expert to a replacement pod and get
down pedestrians and other martial artist as the game was another ship to continue your
drivers. Meanwhile the bad guys released when kung fu games mission. If you're unlucky you'll
are operating a drugs ring and ruled. be eaten by one of the Dune
you must tind and catch the Now it is looking a little dated style giant worms that rear out of
armoured supply car and the but has survived mainly due to the planet to chomp you.
four pick-up cars before the hit the size of the warehouse you Should you manage to reach
cars find you. must explore and the choice of the base you then have to find a
Unfortunately, you must stop at weapons you can find and use way in past the fused mines,
traffic lights and observe other on the patrolling guards. The disorientation clouds and
driving laws while the drug guards also have dogs that protective wall before you can
dealers will shoot anyone in an constantly snap ot your heels have a shot at the energy
attempt to get away. and drain your energy. concentrator to clos down the
Tracking down your targets is Eventually you should make reactor.
easy using the scanner that your way to the roof where a Each game separately is well
reports their position which you helicopter waits to rescue you. worth playing with; my favourite
can follow on your map but look being Combat Lynx and Critical
out for warnings about hit cars Critical Mass Mass but with four hits tor the
approaching you. These try to price of one, it just has to be a
gun you down from behind so if My pick of the bunch is Critical monster hit.
you get a warning you'll need to Mass that gives you just ten
perform a speedy manoeuvre to hours aametime to travel
get behind them! through the five zones to reach
An excellent car chase game the power plant before it
but don't be surprised if your explodes.
penalties (for crashing, running Naturally this isn't going to be
lights, shooting innocent people) easy as the enemy that invaded
are greater than your score. the planet and caused all the
R.R.P. £9.95
• v-1
O V
V v
1 ' _
v-y—\
Sales d e p t . .
Castle L o d g e , Castle Green,
T a u n t o n , Somerset T A I 4 A B
England rctcphon* (omjj s«m * s«m
I
i
• -
* -
' - • • •-• ; • * • • —
elcome back to ZX
IM
Computing's Anglo-Saxon
department. It you've been i S i S t h e t o p W i T l d O W i f o r
dabbling with the Illuminator 'location descriptions. It
program from last month's
article you should now be the
occupies the screen from row
possessor of the following items: one to row twelve inclusive.
I
(a) 26 large initial letter shapes Cbe decorated border is two
stored in 832 bytes; (b) a character squares wide on
redesigned "normal" character icb. s ide .
set stored in 768 bytes; and very >acb fresb printing UP bere
probably (c) spots before the _ is done witb tbe initial
eyes! Never mind — this month capital illuminated. You
we'll make all your tribulations
worthwhile, so put yourself in a
£S>need to cbeck tbat aour text
>$> is_not too lona of course 1
i
suitably medieval frame of mind,
and let's get down to the serious
business of churning out an CbiS is tbe bottom window
Illuminated masterpiece or for printing new information
two. as tbe adventure proceeds.
What we need, of course, is It occupies rows fourteen to
Listing 1 — this is the assembler twenty inclusive. Mote tbat
program which we'll be using to
print our strings of text. If you
capitals are normal* -tbousb
don't have an assembler, you of course tbesi need not be.
O C ^ O B - ^ O O
can use Listing 2 instead. This
BASIC program will poke in the Screen dump of demo program
code for you and save it to
microdrive — but you can Did It work? (If it didn't, you'll attribute (normally zero).
change line 50 to an ordinary need to go back and check 65230 (INKC) can be POKEd with
SAVE command if you're working carefully through your saved any number 0-7 to set the INK.
with tape. The code is stored copy one byte at a time, 65231 (PAPC) can be POKEd with
from 64800 onwards, and Is 518 comparing it with Listing 2.) By any number 0-7 to set the PAPER.
bytes long. Before you can use It, the way. If perchance the first Then there are two addresses
you need both the bytes for the letter of zS is In lower case you which set left and right margins:-
illuminated capitals, and those won't get a crash — you'll Just 65232 (TAB) contains the width of
for your redesigned "normal" get a Targe square of rubbish the left hand margin.
characters residing in memory printed on screen where the 65233 (TAB2) contains the width
from 62976 onwards, and 64000 illuminated capital should be. ot the right hand margin.
onwards, respectively (i.e. exactly So if, for instance, you POKE
as saved by the Illuminator 65232,2: POKE 65233,1 then your
program last month.) Don't forget text will be printed with a
to lower RAMTOP before loading Text effects maximum line length of 29
in the three sections of code; characters, inset 2 character
CLEAR 62975 is what you want. What else can it do for us? Well, squares from the left, and
[When all the various parts are quite a lot. There are several leaving a one character square
in memory, you'll probably find it addresses which can usefully be margin on the right. This gives
convenient to save a copy of the poked to produce a variety of great power to your illuminating
whole lot together as a single effects, and these are as follows: elbow, because it means you
code block of 2342 bytes from (the labels correspond to those can set up a decorated border
62976 onwards.) in the assembly listing.) of any width on both sides of
To try It out, enter the First, there are three addresses your text, and the text will not
following command:- whose contents govern the overprint it.
CLS: LET z$="Any old bit of text attributes of the illuminated There's one address whose
will do as long as the first letter capitals:- contents control the printing
Is In upper case.": LET m = U $ R 65229 (BRTC) can be POKEd with mode:-
64800. 1 or 0 to change the BRIGHT 65234 (ILLUM) can be POKEd
with either 0 or 1 where 1
corresponds to illuminated
capital printing, and 0 gives
"normal printing, i.e. the
Illuminated initials are switched
off.
Flexibility
Is that all? No, there's more (after
all, I did promise you a utility
that was flexible!) Lurking among
the code is a simple but
effective "window clearing
facility which can be called at
USR 65250. This will clear the
screen between any two
specified lines, and you control
it using these addresses:-
65235 (TOP) contains the number
of the top line to be cleared.
65236 (BOT) contains the number
of the bottom line to be cleared.
So If, for example, you want to
clear a window between lines 1
Figure 1 and 12 inclusive, then POKE
INC
LD
DE
NC.SPACE
A. E
tHISOFT CENS3M2 ASSEMBLES* 64984 910 LD (PFLG),A 65181 1880 LD (STEP),A
ZX SPECTRUM 64987 920 LD A. 19 65184 1890 RET
Copyright (C) HI SOFT 1983.4 64989 930 RST 16 1900 SPACE
All rifchts reserved 64990 940 LD A,(BRTC ) 65185 1910 INC HL
64993 950 RST 16 65186 1920 LD A.(HL)
P&S3 1 errors; 00 64994 960 LD A, 16 65167 1930 CP 32
64996 970 RST 16 65189 1940 JP NZ.DECR
10 »D+ 64997 980 LD A, (INKC) 65192 1950 JP END
20 *C- 65000 990 RST 16 1960 DECR
646O0 30 ORG 64800 65001 1000 LD A, 17 65195 1970 DEC DE
40 IN1T 65003 1010 RST 16 65196 1980 DEC HL
648O0 50 xor A 65004 1020 LD A,(PAPC ) 65197 1990 DEC HL
64801 60 LD (DONE).A 65007 1030 RST 16 65198 2000 JP LOOP
64804 70 LD HL.63744 65008 1040 LD A,(PART) 2010 INSET
64807 80 LD (CHRS).HL 6501 1 1050 RST 16 65201 2020 LD A, (TAB)
64810 90 LD A,(TAB) 65012 1060 LD HL.63744 65204 2030 AGAIN CP 0
64813 100 LD HL.TAB2 65015 1070 LD (CHRS),HL 65206 2040 RET Z
64816 1 10 ADD A.(HL) 65018 1080 LD A,(PART) 2050
64817 120 LD B, A 65021 1090 INC A 65207 2060 DEC A
64818 130 LD A. 29 65022 1 100 LD (PART),A 65208 2070 PUSH AF
64820 140 SUB B 65025 1 1 10 RET 65209 2080 LD A,(PFLG)
64821 150 LD (LINE),A 1 120SCAN 65212 2090 SET 0. A
64824 160 LD A. 1 65026 1 130 LD A,(DONE) 65214 2100 LD (PFLG).A
64826 170 LD (ONE).A 65029 1 140 CP 1 65217 2110 LD A, 255
64829 180 LD A.2 65031 1 150 RET Z 65219 2120 LD (HSKT),A
64831 190 CALL it 1601 65032 1 160 LD A,(ONE) 65222 2130 LD A, 32
64834 200 LD HL,(VARS) 65035 1 170 CP 0 65224 2140 RST 16
210 NEXT 65037 1 180 CALL Z, INSET 65225 2150 POP AF
64837 220 LD A.(HL) 65040 1 190 CALL CHECK 65226 2160 JP AGAIN
64838 230 CP 90 65043 1200 CP 1 23627 2170 VARS EQU • 5C4B
64840 240 JP Z.FND1 65045 1210 JP Z,PRINT 23606 2180 CHRS EOU 23606
64843 250 CALL SEARCH 65048 1220 CALL CHOP 6584 2190 SEARCH EQU H19B8
64846 260 EX DE.HL 65051 1230 CALL PRINT 23697 2200 PFLG EOU 23697
64847 270 JP NEXT 65054 1240 LD HL.(STRT) 23696 2210 KSKT EQU 23696
280 FND1 65057 1250 LD DE.(STEP) 3405 2220 TEHPS EQU M0D4D
64850 290 LD A,(ILLUH) 65061 1260 LD D, 0 65229 2230 BRTC DEFB 0
64853 300 CP 0 65063 1270 ADD HL, DE 65230 2240 INKC DEFB 0
64855 310 JP Z.FND2 65064 1280 LD (STRT).HL 65231 2250 PAPC DEFB 7
64858 320 INC HL 65067 1290 LD A.(STEP) 65232 2260 TAB DEFB 0
64859 330 LD A,(HL) 65070 1300 LD B, A 65233 2270 TAB2 DEFB 0
64860 340 DEC A 65071 1310 LD A,(LEN) 65234 2280 ILLUH DEFB 1
64861 350 LD (LEN),A 65074 1320 SUB B 65235 2290 TOP DEFB 0
64864 360 INC HL 65075 1330 LD (LEN),A 65236 2300 BOT DEFB 21
64865 370 INC HL 1340 REPT 65237 2310 LEN DEFB 0
64866 380 LD A.(HL) 65078 1350 LD HL.(STRTI 65238 2320 STEP DEFB 0
64867 390 LD (CAP),A 65081 1360 LD A,(HL) 65239 2330 STRT DEFW 0
64870 400 INC HL 65082 1370 CP 32 65241 2340 CAP DEFB e
64871 410 LD (STRT).HL 65084 1380 JP NZ.MORE? 65242 2350 TCRS DEFU 62720
64874 420 LD A,(CAP) 65067 1390 INC HL 65244 2360 PART DEFB 0
64877 430 SUB 65 65086 1400 LD (STRT),HL 65245 2370 LINE DEFW 0
64879 440 CP 23 65091 1410 LD A.(LEN) 65247 2360 ONE DEFB 0
64881 450 CALL NC,SWAP 65094 1420 DEC A 65246 2390 DONE DEFB 0
64884 460 ADD A, A 65095 1430 LD (LEN),A 65249 2400 NUK DEFB 0
64885 470 ADD A. A 65098 1440 JP REPT 24 10 CLEAR
64886 480 ADD A, 32 1450 MORE 0 65250 2420 LD A.(BOT)
64888 490 LD (PART),A 65101 1460 LD A.(ONE) 65253 2430 INC A
64891 500 CALL INSET 65104 1470 CP 1 65254 2440 LD (BOT).A
64894 510 CALL PCAP 65106 1480 RET Z 65257 2450 LD A.2
64897 520 CALL PCAP 65107 1490 JP SCAN 65259 2460 CALL It 1601
64900 530 CALL SCAN 1500 CHECK 65262 2470 CALL TEHPS
o
64903 540 CALL INSET 651 10 1510 LD A,(LINE) 65265 2460 LD A.32
64906 550 CALL PCAP 65113 1520 ADD A.2 65267 2490 LD HL,TAB
64909 560 CALL PCAP 65115 1530 LD B. A 6S270 2500 SUB (HL)
64912 570 LD A,(DONE) 65271 2510 LD HL.TAB2
: Z 64915 580 CP 1
65116 1540
65119 1550
LD
CP
A,(LEN)
B 65274 2520 SUB (HL)
64917 590 CALL Z.NEULN 65120 1560 JP C,SHORT 65275 2530 LD (NUK),A
2 64920 600
610 NORM
CALL SCAN 65123 1570 XOR A 65276 2540
2550 LOO PC
LD A,(TOP)
65124 1580 RET
< 64923
64924
620
630
XOK
LD
A
(ONE).A
1590 SHORT 65281 2560
65282 2570
PUSH
LD
AF
A, 22
65125 1600 LD A,(LEN)
64927 640 LD A.(LINE) 65128 1610 LD (STEP),A 65284 2580 RST 16
64930 650 ADD A,2 65131 1620 LD A, 1 65285 2590 POP AF
0
64932 660 LD (LINE),A 65133 1630 LD (DONE),A 65286 2600 PUSH AF
64935 670 CALL SCAN 65136 1640 RET 65287 2610 RST 16
64938 680 LD HL.62720 1650 PRINT 65268 2620 LD A,(TAB)
o 64941
64944
690
700
LD
RET
(TCRS).HL 65137 1660
65140 1670
CALL
LD
TEHPS
A,(PFLG)
65291 2630
65292 2640
RST
LD
16
A,(NUN)
710 FND2 65143 1680 RES 0, A 65295 2650 LD B, A
64945 720 INC HL 65145 1690 LD (PFLG),A 65296 2660 COHT LD A. 32
64946 730 LD A,(HL) 65148 1700 LD DE.(STRT) 65298 2670 RST 16
64947 740 LD (LEN),A 65152 1710 LD BC,(STEP) 65299 2660 DJNZ CONT
64950 750 INC HL 65156 1720 LD B, 0 65301 2690 POP AF
64951 760 INC HL 65158 1730 CALL • 203C 65302 2700 INC A
64952 770 LD (STRT).HL 65161 1740 NEULN LD A, 13 65303 2710 LD HL,BOT
64955 780 LD HL.63744 65306 2720 CP (HL)
5
65163 1750 RST 16
64958 790 LD (CHRS),HL 65164 1760 RET 65307 2730 JP C,LOOPC
64961 600 JP NORM 1770 CHOP 65310 2740 LD A.(BOT)
810 SWAP 65165 1780 LD HL.(STRT) 65313 2750 DEC A
64964 820 SUB 24 65166 1790 LD DE,(LINE) 65314 2760 LD (BOT).A
Ui 64966 830 LD HL.63488 65172 1800 ADD HL, DE 65317 2770 RET
a 64969
64972
840
850
LD
RET
(TCRS),HL 1810 LOOP Pass !2 errors: 00
w 860 PCAP
65173 1820
65174 1830
LD
CP
A,(HL)
31 Table used : 546 froa 600
Cosmic quiz
All you have to do to get your
hands on a copy ot Death or
Glory is answer three simple out-
of-this-world questions.
How to Enter 1)
L J
your answers on the back of O
your entry envelope. The closing Golden Square, London W1R 3Aa
date is Friday March 6th. O
related computer show ever was
held in Cincinnati. Ohio It
originally started out as a
iABHBSj
proposed gathering of Sinclair
owners in the midwest — but
soon grew to proportions never
envisioned by its organizers.
Dealers from all parts of this
country and Canada rented
space and the original display
area had to be doubled. What
originally was supposed to be a
local get-together attracted
visitors from every section of both
countries as well. For two days In
iPONDI
May you would have thought
that Sinclair computers were as
popular here as they were in the
United Kingdom.
If there was any doubt that
even the ZX-81/TS 1000/TS
computers were still in use by
the faithful, they were puf to rest
during the exhibition. We knew
that the T/S 2068 was still in use,
but the interest in the ZX-81
computers surprised us all.
Once again, however, the QL
Mark Fendrick looks For a while, it looked as If found itself at the forefront of
some life was going to be Interest. Just a few weeks prior to
back at '86 breathed Into the American the show two announcements
Sinclair marketplace. As dealers changed the direction of the
here have we been and started to sell the QL. we saw marketplace as we knew it; the
where are we going as far as Sinclair once again personally sale of Sinclair's computer
the Sinclair community in involved in North America business to Amstrad and the
America is concerned? As we distributing an actively purchase of the entire Sinclair
start a new year, It appears as if produced computer. We had North American stock by A+
1987 will be a very trying time. hoped that this was what we Computer Response, Although
last year started out with had been waiting for and that no word had been officially
hope on the horizon as the Sinclair would now take Its place given by Amstrad. It was (and
newest member of the Sinclair amongst the recognised still is) generally believed that
product line was becoming computers in the United States. they will not Introduce current or
readily available. Although the We had high hopes for the QL future Sinclair computers into the
QL had been around for a which had originally been North American marketplace.
number of months, it previously priced at $499.00 but was now Amstrad itself will not even
had only been handled by selling for $299.00. A matching answer questions about Its future
Sinclair USA and American printer and RGB monitor were in America.
Express, and unless you had an also available (bearing the But in the afterglow of this
American Express card, Sinclair [Sinclair QL logo) and a Incredibly uplifting weekend,
was the only supplier. By package containing all three — good things were once again
January however, the ^ as well as the Psion suite of predicted for the Sinclair
established Sinclair dealers programs — cost only marketplace in North America.
were . n o w being permitted $795 00. Quite a bargain A+ Computer Response was
for a lot of computer. going to set up a network of
authorized dealers and actually
advertise the QL. For a while It
looked as if we were finally
going to come Into our own. At
one point there were seventeen
CO
5
CO
o 50 BEEP .1,30 ways of making life easier for acquire rough edges. I can't
60 GO SUB 100*VAL it him when writing our own cover all eventualities, of course
programs. The keyword, then, is — it'd take a lifetime! Bui we can
a 70 GO TO 10
100 CLS : PRINT AT 10, 4;" I * ve d "friendly"! and friendliness is
a
Listing 2
one something" always worth striving for. no
110 GO TO 310 matter what kind of program
5 20® CLS : PRINT AT 10, 2 ; * I ' ve d you're writing. It doesn't even
matter If the program is a utility t REM ** *SIMPLE INPUT ROUTINE
one something else" 2 REM
being written only for your own
210 GO TO 310 use — because we all make 3 REM
300 CLS : PRINT AT 10,2;"I've d mistakes; and the last thing you 19 INPUT "How a&ny uould you 1
one something different" ike?"*x
want is a poorly crash-proofed
O 310 GO SUB 500 utility which leaves you in a
20 IF X>50 THEN PRINT "Sorry,
that's too «any."• CO TO 10
i n 320 PAUSE 0: RETURN mess after maybe hours of work,
a.
30 PRINT "OK. You have ";x;" o
500 PRINT fl 1 ;AT 0,8; INVERSE just because you pressed the bject " ; "s" AND x< >1
w
"PRESS A KEY...": RETURN wrong key by accident. 40 GO TO 10
o
rather selective. Although it has
code to speed things up a litte. 10. Lines 40 to 60 ask you to some limitations, Neil's program
There are 719 sectors on each INPUT the drive number, check stood out because of the
disc numbered 0 to 718, and that this is reasonable, and then Impressive presentation; the 128
each sector can hold 256 bytes POKEs it Into the machine code style windows. In particular, are
of CAT or program Information. routine. Lines 70 to 80 ask for the most attractive.
The CAT file uses the first seven disc name; f$ contains seven
sectors (numbered 0 to 6). The letters, the maximum number
Fastlist
o remainder of the disc available
for use is laid out as follows: the
allowed by this routine. Next, in
lines 90 to 100, you are asked to
o
M
disc formatting information and
disc name use the first 32 bytes,
and each subsequent file uses
INPUT the number of files, f,
which you need to save on the
disc: this number is also
The program in Figure 5 is all in
BASIC Type it in. using graphics
A in place of the question marks
16 bytes. This means that there is checked to see if It is in line 9993 and save It as "run",
Q room for information on 110 reasonable. Line 110 works out auto running from line 1. It
JULTBB^B^TE
m Tape or D i s c ? <T/D> PAUSE 0
50 IF I N K E Y * - " d H OR INKEY*="D"
THEN GO TO 70
55 IF I N K E Y # < > " t " A N D INKEY«<>
"T" AND INKEY*<>"d" A N D INKEY*^>
"D" THEN GO TO 4 5 Figure 3
60 LOAD N * S C R E E N * : GO TO lOO
70 L O A D » 1 ; N * S C R E E N *
90 REM Copy 5 REM 30 IF d<l OR d>2 THEN GO TO 40
•»»M 0 R E F I L E S « « 60 POKE 63103,d
100 LPRINT C H R * 2 7 ; " A " ; C H R * 8; BY STEVEN NUTTING
110 FOR H = 1 7 5 TO 7 S T E P - 8 70 INPUT "Filename <max 7 lett
•ri)i LINE f*
120 LPRINT C H R * 2 7 j " K " ; C H R * 0;C 10 CLEAR 63069! LET c-Oi FOR a BO IF LEN f*<l OR LEN f»>7 THE
HR* 1; •65070 TO 63109t READ nt POKE a, N 60 TO 70
130 FOR W = 0 TO 2 5 5 m LET c-c+ni NEXT a 90 INPUT "Number of files (1-6
140 LPRINT C H R * (128»P0INT (W,H 20 IF c< >3237 THEN PRINT "Delta 76) i"|f
)+64*P0INT <W,H-l)+32»POINT <W,H Error" 100 IF f<l OR f >676 THEN GO TO
-2)+16*P0INT <W,H-3>+8*P0INT (M, 30 DATA 6,2,205,38,254,62,42,3 90
H-4) + 4 » P 0 INT (W,H-5)+2»P0INT <14, 0,90,234,6,0,197,203,8,23,6,0,24 H O LET «-<f +2>• 16/2361 POKE 63
H-6)+P0INT (W,H-7>>; 7,18,34,81,234,330,0,17,86,234,1 076,INT •
ISO NEXT W 4,0,193,62,1,205,0,0,193,72,23 120 FORMAT djf«+STR* fI RANDOMI
40 INPUT "Drive (1 or 2)t "jd ZE USR 63070t CAT d
160 LPRINT C H R * 10
170 NEXT H
1B0 LPRINT C H R * 2
190 CLOSE #3 The catalogue section is quite disc between discs of two
200 STOP versatile: It is printed in three different sizes. Those who might
9996 STOP columns so that It doesn't easily run up against this problem
9997 SAVE "opuscopy" L I N E 1 go off-screen (we had two last should use a program like Jose
9998 STOP month, but I guess three is the Pedro's "opuscat". In spite of this
9999 SAVE * 1 j"opuscopy" L I N E 1 limit with Sinclair's Rom lettering) (and it's easy for me to be
and there is an option to print critical) this program is really
Figure 4
DISSMQLV of addresses 65870-65189 (40 bytes)
ORC 658 78
6SB78 806,002 LD 1.2 jtfsed by Discovery ROM to sjy load in sector.
€9072 28S.58.2S4 CALL 1 u d u v r ;Load or Save sector depend in) on value of the 1 rey.
65875 862,880
65877 858,898,254
LD ft,0
LD (65114),*
;Poke 65114 eith the nuaber of Cat teeters used to hold f i l e data (no in A re*) O
65880 886,888
65882 137
LI 1,8
load save : PUSH BC
;Used
;Save
by Discovery RON to say save sector.
1 r e i for later use
O
65883 20S.888.823 CALL 5896 ;Call Discovery Roe in.
65886 886.888 LD B,0 ;Find froa Discovery* Lookup Tables the I/O Read A Write routine.
65888 247 RST 130 jlken Load HL mth the address.
65889 818 DEFB 18
65838 834.881,254 LD (idd).KL ;Poke the Address in the loadsect routine.
o
65833 833.888.888 LD KL.0 ;LD HL,sector no 0 (The start of the CAT sectors).
65896 817,886,254 LD DC.6S110 ;Lead sector at address 65110.
6S899 914,808 LD C,8 ;Load in 256 bytes.
65101 193 POP BC ;Retrieve the > r e i that uas saved,if 1=2 then load sector of i f B=fl then save.
65182 862.881 LD A,1 iSelect drive 1. o
65194 285 DEFB 285 ; T k i s eould turn out to be CALL nn M
o
65105 868,666 DEFU 8
65107 195,072.823 JP S968 ;Block SDtCLADS ROM back in and RET t« Basic.
o
•
Figure 6
L. o a d E r a s e I C a t C o p y I M i s c
M e n u j
r -A
L o a d P r o c r a m
O L_ O a d O d E;
o
-
L_ o a d C O d E: &! R u ri
v> l_ o a d H i d d t n F i l e
a
26 ZX Computing Monthly * February 1987
Figure 7
I
•Load I E r a s e I c a t 1 Cop Mi
im S c
I
Mi s c WtKr it- A
R €:£•€:; t I H i i i v e s
iiliaiiiiiiiiiiiliiiiip M a p
11111 ? ? ? 1 LI^Y ? ? W^Hl ? ^ ^ H i i ? 1U ? M i ? =1 y^Si
iiH i ii; li^vcii 1 liii iiilfifisfiillii;; i y i ci in
C h a n g e D l i l l l i l i l l l l l l l l
Figure 8
5 REM 110 IF n<-9 THEN PRINT " ";Nf" 200 INPUT "New Name : ";nS
•••RENAME PROGRAM*•• "j; PRINT a*(7 TO 16) s LET k-ls 210 POINT «4;y
•••TOM NICHOLSON"* NEXT n 220 FOR +=>1 TO t>
10 BORDER 1J PAPER 5s BRIGHT 1 120 PRINT " "in;" "j s PRINT a*( 230 LET a((4)-lNKEY««4
: INK 0: CLS 7 TO 16)t NEXT n 240 NEXT *
20 LET A»l« LET B=15: LET K = 2 130 INPUT <" ReName=(1,2, et 250 FOR f=l TO 10
30 CLOSE #4: OPEN «4;" CAT 1 c.) N=Next page S=Stop R=Re-St 260 IF f<=LEN n» THEN PRINT *4i
HMD 16 art ")} LINE y* n*<f > |
40 FOR n-a TO b 140 IF CODE y*=78 OR CODE y*=11 270 IF f>LEN n* THEN PRINT •4;"
50 POINT #4; n 0 THEN GO TO 320 «.t
60 DIM a$(16) ISO IF CODE y*=B3 OR CODE y*=l1 280 NEXT i
70 FOR f-l TO 16 5 THEN STOP 290 IF y>15 THEN CLS s GO TO 30
BO LET a*If>=INKEY*»4 160 IF CODE y*=B2 OR CODE y*=11 300 CLS i IF k=l AND a<16 THEN
90 NEXT i 4 THEN GO TO 10 LET k-2: GO TO 30
100 IF CODE a* (k)=255 OR CODE a 170 IF y*="» THEN GO TO 130 310 STOP
»(k)"229 THEN PRINT *" "j INVERS 180 IF CODE y*(l)<48 OR CODE yS 320 CLS : LET a=a+15: LET b«b+l
E ljn-1} INVERSE Oj" IS THE LAST (11>57 THEN GO TO 130 5; GO TO 30
FILE ON DISC.": GO TO 130 190 LET y-VAL y«
DISCS
AT LOW PRICES Its easy to
IN P L A S T I C L I B R A R Y C A S E S
/
Philips BM7522 (Amber) £89.99 an abridged copy of the Advertising Gxle.
Philips 8501 (Med-res Colour) £199.99
Philips 8533 (Hi-res Colour) Then, if an advertisement bothers
£269.99
JUST DISKS you. you'll be justified in bothering us.
18. CRESCENT WAY, GREEN ST. GREEN, The Advertising Standards Authority. _
If an advertisement is wrong, were here to put it right.
ORPINGTON, KENT BR6 9LS
Tel: 0689 61947 ASA Ltd.Dept 2 Brook House.Tomngton Place. London W O E 7HN
D All prices include VATandPSP
J This space is donated in rhe interests of high standards of advertising
<TBbITeT
C THB> <
<
GfierJBT
modes. This makes it possible to A commercial graphics
Carol Brooksbank with change the proportions of the program can be a great help. I
screen dump in printing, subtly use Softechnics' The Artist, but,
advice on using screen altering the width of the image again, any similar package will
on the paper. Obviously the do, or you can use a light pen
dumps in a more more facitites of this sort you or even BASIC or Spectrum block
have, the more versatile you can graphics.
versatile way be, but the most Important thing Unless you are lucky (or rich)
is to be really familiar with your enough to own a cotour-jet
interface/printer, to know just printer, your printouts are going
what it can and cannot do. to be in black and white, so
^ v e r y club should have among Figure 1
its members a Spectrum owner
o with a printer capable of screen
z dumps. Why? Because the
Spectrum can take care of all 5T LUKE'S CHURCH
CHOIR
the printing of tickets, posters,
s notepaper headed with the club
logo — in fact, virtually all of the
s
< printing requirements can be
handled cheaply and quickly
by someone with a bit of
o
imagination and a screen dump
SUPPER
or two.
llltUIIHMLT IIIMIH
Multiple dumps
There is no need to limit yourself
ON
to one screen dump per poster.
Figures 1 and 2 each consist of U E D N E S D f l Y , A P R I L 9TH
three. In figure 1, the lettering Is
one dump in size 3, and the RT
cartoons of choristers singing
and eating are each a separate 7 . 30F H ^
(
dump in size 1. In figure 2, two
size 3 dumps one above the
other make an A4 poster, with
the gramophone, size 1, PLOUGHMRN'S SUPPER
superimposed. If you have the
facility for different sizes, small
detailed sections are often more
successful if they are drawn full
size on the screen and reduced Tickets £1 (EARNERS) 6 O p . (NON-EARNERS)
in the printing. The Laughter and AVAILABLE FROtl SHEILA BANHAft ANO CAROL BROOKSBANti
Tears tickets were produced by
printing the poster screens side IN RID OF T H E H E A T I N G FUND
by side, in size 1, on thin card,
(Figure 3). The main motif is used
again, size 1, as a logo on the
programmes. (Figure 4). Juggling Figure 2 If you are using more than
with the sizes and positions In one dump It is vital to align the 0
this way lets you produce a
number ot related printed items,
paper properly for each one.
Find something on the printer z
using only one or two screen which you can use as a
designs. Figure 3 reference point — I use the
numbered bar which presses
1
against the paper — and find s<
out where this falls on the first
dump when the second one is
in the correct place on the
jniEMl
IM Tnc paper. You will have to
o
o
nit (IIIMAII T it mm experiment until you get the
ON effect you want, but once you
ill! «l UFOHCSDRY, APRIL 911 have it, write the position of your
oc
«T
7 . 30»«
marker down. Then, when you
do your print run, you will know a.
how to line the paper up.
PLOUGHMAN'S SUPPER My program for printing a
poster run looks something like
2
T i C H M £1 H M u l SOP ItM-tMKt: I
this:
«ni< t sr«» m . «nz i rtim. •OMlMtl 'W Mill HHU aw muiiiHi 10 LOAD " p o s M " SCREENS
IMCTDIfc (• Mil HI USUI. IN ftID OF T H E H E A T I N G FUND 20 POKE 23296,3
30
40
GOSUB 1000
PAUSE 0 O
50 LOAD "post 2 " SCREENS UJ
60 GOSUB 1000 a.
70 PAUSE 0 oo
i
is terrible. (Figure 5). set the thing going and leave ft afterwards, because you are
to print the whole box while you always in demand as a printer.
Colour
s< Figure 5
BECOME A FORTUNE
HUKTER!
Have you got what it
takes to suffer the
ft slings and arrows of
outrageous football
fortunes? Prove your
footballing knowledge
in our quiz and you
could carry off CDS's
new football game.
& r i a n Clough's Football Fortunes
puts you in the managerial
hotseat and confronts you with
the problems that face real life
club supremos, such as injuries
to star players, cash (low crises
and team selection.
Football Fortunes Is an
absorbing blend of computer
and board game and your Soccer posers Who are the current holders
of the World Cup?
success depends on building up
a strong team. Your players are There are 15 copies of Brian 2) Which was the last team to
represented by cards bearing Clough's Football Fortunes to be win the League and FA Cup
the names of welt known won and all you have to do is double?
footballers. Each footballer has a answer three simple footballing 3) Who is the manager of
"star rating". The bigger your questions. Barcelona?
total team star rating the better
your form.
You can dabble in the The competition is open to all and no correspondence can be
transfer market and try to pick readers of ZX except employees entered into. Please remember
up highly rated players by of Argus Specialist Pub'ications, to write your answers on the
bargaining with your opponents. Chase Web and CDS. back of your entry envelope. The
However even if you assemble a The editor's decision is final closing date is March 6th.
brilliant team there are enough
pitfalls built into the game to
guarantee that you can't be sure Football Fortunes Competition
of victory until the proverbial
final whistle.
The answers are,
Above all Football Fortunes is
designed to be a sociable
game (for 2 to 5 players) and it's D
up to you whether the tactics
used to win league and cup 2)
honours will be hard but fair" or
studded with "professional" fouls. 3)
The game will have an instant Name:
appeal for the soccer fraternity
but you don't have to be a Address:
football fanatic to enjoy it.
How to Enter
Write your answers on the
coupon provided and send your
entries to Football Fortunes
Send your entry to Football Fortunes Competition. ZX Computing, No 2
Competition. ZX Computing
Monthly. No 1 Golden Square,
1 Golden Square, London W1R 3AR O
London W1R 3AB O
31 ZX Computing Monthly * February 1987
t
EXPERT SYSTEMS
into a computer program is just graduate is experience.
Would you accept one branch of Al programs Experience is that ability to
which achieve this are called judge what knowledge and
advice from your 'Expert Systems', and, believe it or information is necessary to make
not, expert systems are already a decision, and what
computer? David in use in science and Industry. importance to attach to various
It's only a matter of time before pieces of information.
Nowotnik introduces a they'll be entering our homes.
new series that will
They will be our personal bank Advice
manager'. They will also give us
advice on a variety of subjects; We don't become experts simply
show how the health, education and law, to by reading books on a subject.
name a few. All we have is knowledge; we
principles of expert need to develop experience to
systems can be applied The Turing Test use that knowledge to make
decisions. We may read a text
The concept of Al and expert book on. say, stocks and shares,
to the Spectrum and systems has been with us for but we still need to go to an
some time. Even before advisor to find the best time to
QL. electronic computers were on sell our British Telecom, TSB, or
the scene, concepts of Al were British Gas shares. But buy and
being considered. Alan Turing, sell shares only a few times you
few years ago, a popular whose tragic story is now the soon start to gain the
series of TV advertisements for subject of a West End play, gave experience necessary to make
one of the major banks had the his name in 1936 to the Turing your own decisions on
theme of a personal' bank Test. The ultimate test of Al would transactions.
manager living in a customer's be tor a human to sit at a So, an exert system has to be
wardrobe. Do you remember it? terminal and not know whether more than Just a database;
These advertisements tried to put he was communicating with more than a 'book' of
across the idea that bank another human or a computer. knowledge. Many readers will
managers (of that particular Later, in tne 1V6US, scientists be using databases on their
chain) were more approachable worked on the idea of the Sinclair micros. In using your
for financial advice that 'General Problem Solver! the database, you are providing
commonly envisaged. Despite ultimate computer system which yourself with information. You
that advertisement, bank had the intellectual capability make the decisions on which
managers continue to seem as to solve all problems. While this information to retrieve, and you
distant as before. But before very wonderful idea failed, this work make judgements and decisions
much longer, many homes gave rise to some of the on the data presented, on the
could really find a personal principles used in the 1970s and basis that you know and
financial adviser In the '80s to generate programs which understand the importance of
wardrobe, or somewhere more were able to capture and utilise the information, and its
convenient in the home. That human knowledge and relevance in making a decision.
advisor could be their own experience. In the expert system, it is the
personal computer; a computer Development is still going on; computer program which selects
with human-like expertise. the Japanese have made great the information and makes
For years, one principle strides forward in Al with their judgements according to rules
direction of computer science work in the development of the presented to it. These rules are
has been the development of fifth generation computer. One the same as a human expert
programs which mimic in some of the alms was to develop would apply, sometimes sub-
way human behaviour. The field systems which have that most consciously. To produce an
generally is called artificial human of qualities — common expert system a specialist called
intelligence; Al for short. Popular sense. The sheer complexity of a knowledge engineer will
science fiction has predicted that problem has been interview an expert to extract
what Al might be achieving for relegated to the next generation those rules from him, so that they
us in the future. Computers with of computer systems! can be built into a computer
intelligence equalling or To understand how an expert program alongside the
surpassing that of humans has system works one has to analyse database.
been the subject of several how experts work. Human It is perhaps a little
popular movies and TV series; experts have a wide knowledge misleading to liken the
remember HAL in 2001* - R2D2 of their subject. But knowledge is knowledge built into an expert
and C3P0 in 'Star Wars' - ORAC just one part of being an expert. system to a database. It is more
of Blake's 7 — KITT in 'Knight For example, there must be a usual to link that knowledge in
Rider? All these are computer good reason for a company to some way to the rules. There are
systems which perform tasks such pay a senior accountant more many different ways of building
as give advice, assist, Inform, than a recently qualified an expert system, but one of the
plan, forecast, and diagnose. graduate accountant. The most common is the rule based
Naturally, computers have not graduate should have a system (RBS). Here rules, very
yet achieved the level of broader and fuller knowledge of much like IF . . . THEN statements
sophistication represented in accountancy than his senior of BASIC form an integral part of
futurist fiction, but computer colleague. The senior man the knowledge base
programs have been developed, certainly will not have the same But to determine which rules
and will continue to be knowledge of up-to-date should apply to a particular
developed, which begin to methods and techniques as the problem, another section of
approach this level of Al. The graduate. But what the senior program has to be added; this is
ability to place human expertise man has over and above the called the inference engine.
&
make a certain prediction of an learns by example. You provide type in and try on your
CO outcome. Human experts will the outcome and the factors Spectrums and QLs. LISP and
deal with such uncertainty in an which influenced the outcome, PROLOG are the more popular
empirical way. They will, and the system builds rules programming languages of Al.
unconsciously, be applying based upon these observations. but it is surprising what can be
iii probabilities to rules (gained This is very much like the way a achieved in BASIC Well,
a. from experience or knowledge), human expert will have built his hopefully you will be pleasantly
X and combining these
probabilities in some logical
expertise. The ability for an
expert system to be taught new
surprised over the next few
months!
IjuuI)
through the mountains hurdling airfield when you can run for a As the game continues your
rockfalls In a single leap (Yes plane and a final getaway. quest is constantly interrupted
this van can jump!). Next you've A jumping, shooting, by Ihe need to replenish your
got to cross a broken bridge leaping arcade hit. energy which has been
drained by almost constant
attack.
Orbix is also supplied with a
is one of several areas where extremely hard to avoid once series of maps that are almost
Prodigy Is rather original. It near you, and instead of dimin-
PRODIGY
Electric Dreams
combines various gameplay
elements to create a unique
ishing your energy, collision
sends you back to the nearest
entirely unused since the on
screen scanners guide you
around the screen.
£7.99 "feel". teleporter or the start, whichever
is nearest. This is unbelievably I found the controls irritating
The graphics are nicely (rotate lefl'right and forward)
defined and detailed in the 3D frustrating, and matters are not
helped by the awkward (and and would preler a more direct
"Prodigy is a game which Knight Lore style; furthermore, system particularly to steer
demands compassion" claims they scroll rather than flick not redeflnable) key combina-
tion. If you persevere then this through the iondscape of fac-
the packaging. Compassion? between locations, remarkably tories. palm trees, towers and
Yes, "(raid so, not just shooting smoolhly. There are four distinc- game has numerous nice feat-
ures and puzzles to offer — but bubbling holes. Despite this, it's
things. You are Solo a synthetic tive zones (fire, vegetation, tech- a good debut by a new label
man, and as well as escaping nical and ice), each with its for most people il is initially loo
offputting. and a new programmer.
from the Machine Sorcerers own graphics. A nice louch is
nightmare maze (packed full ot the way Solo slides In the ice
genetic mutants), you must zone. The moving part of the
guide the human baby Nejo to screen Is irritatingly small,
safety. Walk slowly enough for it however. Sound is certainly
to follow, wash it in the showers unmissable: loud noises which
you'll find, give tt milk by are astonishingly coming from
zapping the chef- All together Speclrum. if not tuneful.
now: aaaahlibleuch! (delete as Prodigy is marred, for me. by
applicable). This subjeci matter its difficulty. The mutants are
W.A.R. is saved from the avoiding walls thai will destroy
W.A.R. obscurity ol being yet another
shoot "em up by the inclusion of TERRA you.
Built into the landscape are
Martech
£7.95
a separate advanced version
on the other side of the tape COGNITA squares or zones thai have a
varying effect on you. Some
and the ability to trade hard Code Masters speed you up or slow you down,
Fast action games seem to be earned points to improve your £1.99 give you extra lives and lop up
making a comeback led, un- ship your fuel tanks but some are
doubtedly by the long awaited The Captains version, as it's This is one of the first batch of time shifts that relurn you to
conversion of Hewsons Uridium. known, is fought over o giant games from a new budget soft- screen one. Irritating,
In it's original C64 format, circuit board that is protected ware tiouse — Code Masters particularly If you've reached
WA R. was litlle more than an by incredibly violent alien The company was created screen 98!
Uridium clone but it has ships In this advanced test your by the Darlings who made their The action is fast and furious
changed dramatically during slandard ship won't last very name through budget kings with the sound of the laser
it's conversion. long. Maslertronlc and are now sounding like a gunshot from a
The action takes place in a By trading points you can going it alone. spaghetti western.
tiny window with the rest of the actually add to your fire power This game is aclually written My only complaint Is that
screen there to add atmos- and buy extra lasers, more by Non Terraqueous author you must select your joystick or
phere. weapons and even a bonus Stephen Curtis and is a fasl keyboard option before every
In this window your laser ship. This might just save you. It action shoot-em-up featuring game. Pressing the lire button
firing fighter must blast the saved the game. great graphics, addictive returns you to keyboard mode!
assembled aliens and destroy action and amazing sound.
a scrolling spaceship back- The plot is tenuous* involving
ground. a robot's revenge on a team of
As you clear these levels you mining engineers who must
advance along the tubular
space station illustrated on the
game's cover. GOOD escape a hostile landscape
while being attacked by hordes
of aliens.
During the game you musl
fly your ship through a hundred
screens of alien landscapes
^ .. ^ L-V ,V ^ w I
IpVf K > \ n B m I I I !
t
jli Jt g
™ I Mi 3 ^JIP; s pipi
> « L-v i
f§ m
jtJLJL.
Vl * ' VMIUMMI'
I I K B
r 11 II v' - •
W A.
H H N H I
1$: Wk
,..J E l L.-t.. L.L..
1,1)13
m m MfSS;
decidedly easier than using a M i t
180
Mastertronlc — MAD range
joystick. A scoreboard on the
lefl ol Ihe b.oard chalks up your ^ • B Q J D D u H u i l i B M u f l l B i l
scores as each arrow thuds
£2.99 (hopefully) into the board.
Should you achieve a maxi-
Up fo the oche comes yet mum 180, the computer greets
another darts game. Through lo you a rousing rendition of 'one
the quarter finals of Ihe cham- hundred ana eighty' although
pionship knockout, you go into speech synthesis being what il
the draw with such giants of the Is on the Spectrum, It comes
arrows as Delboy Des, Sureshot out as more of a hissed
Sidney (a real gas). Belly Bill "nuh-nuh-nuh-neh-neh".
and Limp Wrist Larry. Then it's time to sit back,
The game is 501 straight in. slurp your beer and light
double out, played over the another fag as your opponenl
best ol three legs although ihe has his three shots. The scene
computer sometimes cuts this lo switches lo a sideways view ol
one leg for no obvious reason the pub as Mega Mick or who-
that I can see save that It is ever takes his ga The blurb says
always the computer that has to watch out lor animated
happened to win that particu- action in the background bul
lar leg. You always get to throw all this seems to consist of is the
lirst, a decided tactical advan- barmaid sliding a pint along
tage and one thai is crucial in the bar to a customer and a
the final against Jammy Jim small dog relieving itself
who throws nine dart finishes as against a chair leg.
regular as clockwork (seven Other options in the game
ireble twenlies. treble nineteen include a practice facility in a
and double twelve). version of round the clock and
When it is your turn to throw, the chance lo play against a
a large hand appears in front fellow human should the pubs
of the board, shaking so much, be shut. 180 is not one ol
you can see why darls players Masterlronic's better offerings
have lo keep knocking back and I found it slightly surprising
the pints. Movement round the that they decided to bring it out
screen is diagonal to put you on their more expensive MAD
even lurlher off your aim. range Like most of my darts, 180
Keyboard operation is is way off target.
#/
KING'S KEEP
Firebird
£1.99
Name . .
Address
Send this form w i t h your remittance to: Subscriptions Savings Offer (S.087)
ISFOSETLTD.. Times House. /'9 The Mar louts. Heme! Hempstead. Herts. HPI IBB.
uw
Part two ot a menu
driven wordprocessor SPECWORD
tor both 48 and 128
Spectrums by Stuart
Nichols.
48/128
• n last months article you
0
440 IF r0O'ZZ' THEN 00 TO 190
430 PRINT •PROGRAM TERN1 HATED"
460 PRINT "Addraa* atari • 'Iba? Listing 2
z
470 PRINT -Addraaa and - Madr-1
480 PRINT "Lanqth of coda • *|adr-ba9
490 STOP
z x s p it c l r u m HEXDUMP
SPECWt DRD 4 8 / M 2 8 K L I S T 2
5 900 REM
910 REM
33336
33344
C 3 97 8A C3 0A BA
8C C3 D4 8C C 3 0A
C3
8A
7F
C3
ED
C9
920 REM l l l l l l l l l l l l l l l l l l l l l l 33332 9 7 84 C3 13 8 3 C3 21
2
<
930 REM •« HEXOUNPC ' WCXSUH «»
940 REM t t l t t t H t l H H H f t H K
33360
33368
F 3 21 0 0 8 0 1 I 0 1
0 0 01 3 6 81 ED B0
80
21
03
01
01
CF
27
F7
950 REM 33376 81 36 C 3 1 1 3F 0 3 23 73 E3
1000 PAPER 7: INK 0: CLS t LET p-0 33384 2 3 72 3E 60 ED 4 7 ED 3E D2
et 1010 INPUT "(S)craan OR IPIrlntlr ? "Iq» 33392 21 6C 8 3 36 0 0 FB C9 F3 FD
6
' J i 0 g E3 D3 6 3 F 3 3A 0 8 4F
1020 IF q»-*P' OR a»-*p' THEN LET pal: 00 TO 1040 sc 61
1030 IF q«(>'S- AND qVO'a* THCN SEEP .9,2: 00 TO 1010 33608
33616
FD CB 01 6E 2 8 17
01 AE 21 A2 8 2 ED
FD
5B
CB
6C
36
A8
1040 INPUT -Froa addrtt* < DEC1MAL1 'l»t
O
33624 8 3 7B FE 4 0 2 8 0 7 13 19 97
1050 INPUT 'To addraaa (DECIMAL) 'land 33632 ED 3 3 6C 8 3 71 F 1 CI Dl 23
1060 PAPER 7: INK 0: CLS 33640 E l C3 3 8 0 0 0 0 0 0 F3 3E 00
et 1070 FOR *-at TO and STEP 0
1090 LET y-FN Cflt IF p THCN LPRINT x|• "It OO TO 1100
33648
33636
3F ED 4 7 ED 3 6 FB
2 0 C0 21 C0 8 3 01
CV
31
1 1
00
OB
76
a. 1069 PRINT «|* • 33664 ED B0 21 9F 8 3 1 1 00 C0 B1
1100 LET <-0 33672 01 I F 0 0 ED B0 FD CB 30 B3
1110 FOR 1-0 TO 7 33680 9E 21 91 8 2 34 3D 36 00 B9
1120 IF *»*>and THEN LET 1-8: OO TO 1150 33669 13 01 I F 0 0 ED B0 C9 21 BA
2 1130 LET y-PEEK taaal; LCT t-t»y
1140 IF p THEN LPRINT FN c*lll* 'It GO TO 1150
33696
33704
33712
C0 4F C0 3F C0 3F
C0 0 0 0 0 0 0 0 0 0 0
F 8 00 00 0 0 00 00
C0
00
0F
30
00
07
ID
ce
0£
1149 PRINT FN c«ll|' "I 33770 0 3 00 00 « 0 00 00 00 00 03
1150 NEXT I 33728 0 0 0D 0D 0D 0 0 0D 0D 0D 68
1159 LET y-FN fI) 33736 0D 0 D 0D 0D 0 0 0D 00 00 68
1160 IF p THEN LPRINT 1*- 'IFN c«tl|t 00 TO 1170 33744 0 0 0D F F 6 6 7 2 6 3 64 FF B9
1169 PRINT - JFN C0III 33732 FF FF F F FF FF FF 0D 0D 14
Starglider
Rain bird
£14.95
Marble Madness
Construction Set
Melbourne House
£8.95
orble Madness, the coin-op
game was an original that like
all good ideas has spawned
numerous clone games In the
same vein. Gyroscope
(Melbourne House) and
Spindizzy (Electric Dreams) have
already appeared and the
official Marble Madness game
was released on the C64 But
what of the Spectrum?
Implementation problems
mean that a pure conversion is
out of the question. So if you are
going to have to change the clock when you reach the easier, or just different. You can
game a bit, why not change it a bottom of the screen, and any also test screens, and save/load
lot? The Melbourne House bonuses that you have picked the entire game to tape.
conversion, whilst retaining all of up on your trip down. Otherwise This selection of the program
the spirit and playability of the the game is very simitar to makes the whole game that
original game, also has a lot of Marble Madness in layout and much more interesting, long
extras (and very few omissions). ail the fine detail, like the after Commodore 64 owners will
So much extra has been broken ball being brushed up. is have completed the original
crammed in that you soon forget all there. game, Spectrum owners will be
about the graphical differences The construction part of the designing better and more
with the original. game lets you edit the screens fiendish screens for one another.
The game is based on rolling as much as memory will allow. The best Implementation that
a marbfe down an isometric 3D- The editing system is remarkably could have been made of this
ish landscape that has holes, simple, and fully icon driven with well thought out game.
slippery areas, barriers, lifts, a two-thirds scale representation
drains, conveyor belts, vacuum of the screen that you are
cleaners, slime monsters, enemy working on with the rest of the
marbles, bonus areas, acid, and screen taken up with the Icons
of course the goal — which is and chunks of isometric building
the object of al! your efforts. In blocks to manipulate. So you
the Melbourne House variant of can move your joystick around
the game some of these and edit any screens that you
hindrances are missing — but it want, to make them harder (!),
doesn't seem to help you any.
Also the level system Is worked
out rather differently. Each level
is composed ot a static screen.
Instead of smooth scrolling a
long level up, the screen stays
stationary and shifts up when
£
<
you get to the bottom. After
eleven of these screens you go
back to the beginning and start
again, but taking your time
O bonus with you.
The timing system works in a
similar way to the original, you
start with a certain time limit in
which to get to the bottom of the
first screen. If you get to the
bottom of the screen before time
then your remaining amount
O gets added to your time for the
ui next screen.
CL Scoring is assessed on how
CO much time you have left on your
CR
Advice from Ray Elder on protecting programs and
disabling the break key in this month's technical helpline.
The following Utile program
Program Protection should do the trick, LOAD It
GE(> =) 03 37
Subtract GTO
30
NOT
Dear Sir, and RUN it and one problem NE«>) 03 30 30
• ^ • I am very fond of making solved: Note the program SAVEs the Subtract NOT NOT
games which compel the code and this needs to be loaded into GT(>) 03 36
player to do some thinking to succeed. your program using a line such as Subtract LT0
But I hove one problem. I already know CLEAR address-1: LOAD " " CODE LT (< ) 03 37
how to stop my programs from being address: RANDOMIZE USR address Subtract GTO
broken into while loading or during the 10 DATA 33,15,0,9,34,176,92,235,42, EQ (=) 03 30
game, but I do not know how to over- 61,92,115,35,114,201 Subtract NOT
come the problem ot breaking in while 15 DATA 58,58,92,60,40,2,254,9,202,3,
INPUTing variables, i.e. 10 INPUT a 19,33,68,92,203,126 There are two other instructions
All the user has to do is to type in a 20 DATA 40,11,58,71,92,6,119,42,69,92, which you may find useful and they
whole lot of a's or any other letter and 34,66,92,33,0,0 both need a single value on the
the program will stop with a "2:Variable 25 DATA 124,50,113,92,34,11,92,42,176, calculator stack, they are:
not found" report and thus leaving the 92,22,942,66,92, GEO (>=01 36 30
program open to hackers. 30 DATA 195,158,27 LT0 NOT
Please could you help me 40 CLEAR 65399:FOR 1=65400 TO LE0(<=0) 37 30
overcome this problem. 65463: READ a: POKE Ifl: NEXT I GTO NOT
Yours sincerely 45 SAVE "BREAK" CODE 65400,64 Using these saves a byte or two and
Peter Harrison. Harare, Zimbabwe. 50 RANDOMIZE USR 65400 you do not have to leave the calculator
mode
Well the most simple solution Yours faithfully
is to use a temporary string Ray Reeves, Harlow.
input instead of a numerical
variable and lo validate it before
converting It to numerical. Suggested
lines are: Hints & Tips
10 INPUT LINE a$: IF a$= " " THEN GO Finally, a couple of useful hints
TO 10 and tips from readers
20 LET flaq=1: FOR 1=1 TO LEN a$: IF Dear Sir, Dear Sir,
a$(|)<uO,rORa$(l) >"9"THEN LETtlag=0 Many thanks to Toni Baker tor
30 NEXT I: IF NOT tlag THEN GO TO 10 explaining why the conditional oper- •
40 LET a-VAL a$ ators would not work on the Spectrum I recently purchased a Star
This is still vulnerable, and of course (Machine Code Calculator Pt3. Sept). I Gemini 10xi printer and ZX
the POKEs that are usually used to had no idea that the code should also L PRINT 3 to use with Tasword 3.
cause the Spectrum to crash have to be be in the B' register. Just as other readers, I found that the
lurned off to prevent the computer from However I did manage to get printer control characters ruined the
locking up around this at the time by substituting right justification. I hove corrected this
A solution would be to use INKEYS Instructions which are independent ot by incorporating code 32 in the control
which doesn't effect the 'protection' that the B register, fhese are: code sequences when customising Tas-
causes a crash on using the INPUT lines word. This code makes the printer print
of the screen, In this case try using Ihe LE(<=) 03 36 30 a space whilst effecting whatever
following code. Note that the screen Subtract LTO NOT change in printer mode you require.
postion 0.0: can be any position of your I hope this will help other readers.
choice. P.F. Green, Rotterdam.
10 LET a $ = " "
12 LETt$=INKEY$: IF t $ = " " THEN GO TO
12
13 IF CODE IS—13 THEN GO TO 40
14 IF t$ < "0" OR t$ > "9" THEN GO TO
12
15 LET a$=a$+t$
20 PRINT AT 0,0^3$
30 IF INKEYS < > " " THEN GO TO 30
40 LET a=VAL a$
Bad Breaks
I Dear Sir,
You have often said that It
l/s possible to disable the
break key, how about telling us (relative)
newcomers how to do this My brother
bet me he could crash any of my
programs and this would be a useful
way of eliminating one way of him
aomg so.
Robert Giles
1 REM Short 2
10 INPUT "Address for storage: Font
M a : LET b=15616: FOR f = a TO a+7
This routine is yet another
68: POKE 16384,PEEK b: FOR g=0 T variation on the 'thicker'
CO O 7: IF POINT (g,175> THEN LET character set fonts that you all
seem so keen on producing, we
g«g+l: PLOT g,175 include this one because It uses
a different approach to that of
20 NEXT g: POKE f,PEEK 16384:
O LET b»b+l: NEXT POKE 23606,a-
most other programs of this type
and is Interesting to compare
& 256*INT (a/256): POKE 23607,INT
with the more usual approach.
This one was supplied by
o
Peter Zoetway of the
*a/256)-l: CLEAR a-l: FOR f=32 T Netherlands.
z O 128: PRINT CHR* ff: NEXT f
cn
987
L
FIRST STEPS IN
MACHINE CODE
Do you want to learn Machine Code? ZX
regulars tell how they set about mastering M/C
Ray Elder worked, my biggest effort being (Hewson Consultants). Webb D.
a cricket game of some 4K of "Supercharge Your Spectrum"
• first experienced the joys of machine code all hand (Melbourne House) and S.
computing with a £30 Atari VCS assembled (I couldn't afford an Webb's "Practical Spectrum M/C
cartridge which gave 62 BYTES of assembler). Programming" (Virgin) (which
programmable memory, just So, advice to anyone puts routines into context via a
enough to write a simple embarking on this venture. Get a game and demonstrates that
workable quadratic equation good grounding in BASIC first there is no such thing as a big
solving program in a strange especially of the operations of program. Only a collection of
mnemonic type of code. PEEK and POKE. Buy a book little ones!) I still use the first title
The next step was to purchase which is written in the style mentioned as a reminder of
a secondhand ZX81 including which you find readable, Toni what certain op-codes will do.
16K rampack and a couple of Baker's "Mastering Machine I also disassemble routines
books for £70. I well remember Code on Your Spectrum" is the (e.g. MCODER III) to see how
the joy of writing the simple equivalent to my first book but it other writers have gone about it.
soundless, black and white takes some slow careful reading. It is essential to have an
block graphics wonders of that Ian Logan's book Is also good assembler. Working with just the
era, and also opening the but check out a good bookshop decimal or hex equivalents is
"Mastering Machine Code on with a variety of titles for one useless.
your ZX81' book by Toni Baker. which suits vou. Most of all it is essential to
I also remember closing it Persevere. Buy an assembler, have a good working
after being completely they'll save you much time and knowledge of the Spectrum
bamboozled by Ihe first three frustration. I use the Picturesque firmwear (D FILE. System
pages — Hex numbers and one, it suits my needs, and start Variables etc) as all routines
memory locations! small, convert small,routines operate on these. A ramble
After about four months of from a larger program first and through the ROM is useful,
mastering the easy but buitd it up into a collection of picking up useful routines,
intriguing instruction manual routines which can be called ofterall why rewrite ones that are
(remember LET EGGS=12 and from one master routine. already there?
finding the square root of an If you have developed your Don't try for the sky too early.
EGG?), I was forced by a programming on a modular or Start with short routines to test
rampant Pancreas to spend a structured basis then the out instructions like the JR
few weeks in hospital. My wife transition to machine code will condition, displ. ones., until
brought in all my computer be an easier one to make. I was you're familiar with what they
books, I was well and truly a notorious spaghetti can do. Remember that what is
hooked by then, and the only programmer and I suffered until I in BC returns to the screen so
one I hadn't yet managed to learnt to plan and simplify. you can arrange for this to hold
o read, due to memories of my first
abortive attempt, was the Toni
I wish you w e l l . . . a suitable figure to tell you
whether you ve jumped or not.
z Baker one. Finally, remember that M/C is
Sheer boredom drove me to not the be all and end all of
5 open it again and. with my Clyde Bish programming. Many v. good
slightly greater experience. I programs only use M/C where
< found some areas actually There are, I think, two necessary, e.g. "The Forest".
made a strange kind of sense... approaches to learning M/G I've "Tasword" and the recent super
I actually read the book from tried both and it will be obvious series by Alan Davis.
ot cover to cover twice and in the from what follows which was best
process found a new awareness for me.
O and excitement developing. You must appreciate that Z80
O When I was discharged ! Assembler is as much a Carol Brooksbank
hurried to try out this new language as Basic, Pascal,
ot knowledge by entering the first French and German. Thinking It should be 'How I started to
a. program. back to learning one of the learn machine code,' because I
It didn't work. latter, I didn't learn isolated don't think I shall ever know all
However I was now words out of context, but learnt there is to know about it, and I
determined to succeed and to use them in phrases I applied am certainly still learning now.
corrected the misprints and tried the same logic to Assembler. About three years ago it
again, this time success. I looked at simple routines became clear that a lot of what
I purchased Ian Logan's book (rather than learnt lists of op- I wanted to do with the
on ZX81 machine code and my codes and what each would do) Spectrum was impossible in
O knowledge deepened, I read all via books that explained what BASIC so I looked for a book
III the articles I could find but most was happening, e.g. Hewson 8i about machine code. Toni
a importantly I wrote, rewrote and Hardman's "40 Best Machine Baker's "Mastering Machine
</> rewrote again code until it Code Routines for the Spectrum" Code on your ZX Spectrum"
Aliens
Electric Dreams
£7.95
M
l ^ i p l e y , the sole survivor of the
crew of the Nostromo that was
chomped by a single Alien in
the original film, now reluctantly
leads an assault on a base
packed with alien eggs, warrior, Cv i -
<1
> iv
>
.*
face huggers and queens. Their
mission is genocide!
The target is a human colony
that was built on the remote
W b
%
planet containing the alien
eggs. The Aliens wiped them out, \ ; • 1
now they're after y o u . . .
i *
You command a team of six
troopers led by Ripley which
includes Gorman, a space V L
marine. Hicks who is noted for
fast reactions, the android
Bishop, the tough Vasquez and
Burke (the Company man). Each
is armed with an alien-frying
smartgun that can take out a
warrior with a single shot at its
head (or three to its body) and is
also useful for blasting doors Acid complex. I also found it useful to
open or sealing them by taking blast the doors and the locks to
out the lock mechanism. mark a route through the maze
Each crew member must be Aliens can still be deadly even for the rest of the team to follow,
ordered separately either by once you've kitted them as they since you haven't got time to ask
issuing commands (e.g. 5N , can leave impassable pools of directions when you're being
move north five rooms) or by acid in front of important doors chased by aliens.
direct joystick control. I found and bio-mechanical growth all Some rooms have special
this to be the better, although over the walls. This must be significance, such as the
slower, method as you could cleared otherwise it will spread armoury which automatically
ferry your crew room by room with disastrous effects. The air recharges your smart guns, the
through the deadly maze of ducts will become infested with control and generator rooms
corridors. If you find an alien (or alien eggs and soon you'll be that must be defended and the
an alien finds you) you'd better swamped with face huggers. Queen's chamber that must be
be quick before its jaws get you. Besides if it fakes control of the taken to win the game.
You're given a fighting chance generators you'll be plunged This is not an easy game to
as a proximity alarm warns of a into darkness and a hopeless play as it demands almost total
nearby alien. situation. concentration coupled with a
If a crew member is attacked The screen display shows the steady fire button finger and a
while you're controlling someone view ot one of your crew as well cool nerve. One slip could cost
else then the aliens will try to as their gun sight. Underneath you your entire mission.
take them over. This is that is a picture of that team Very few games have such
represented by a health bar. member, their current atmosphere that compel you to
which is normally green, fuming ammunition level and a display return for more and more until
yellow. You can save them if you for each human showing their you finally succeed. Aliens is an
can get to them and kill the current state of health and the excellent game based on a
alien before the bar turns number of the room they're in. superb film and is undoubtedly
purple. Panicking at this stage These numbers are essential to the best licensed game yet
can cost you your entire crew! find your way through the produced.
w*
IIjAJ*)
^ I
Ml
VII'illIK /
I OiUWi'OO ]
'Hi*
RIPLEV
001 HICKS I
G n n m n n
H I C M 5
010 0 0 0 0 0 3 0 0
t?. . *
>
i V i
F-]
P
ery short introduction this exactly well known, is he?) Now their current Quill utilities with
month because there's a lot to fit that's something Ocean would The Press text compressor, which
in. You see. at the time of writing, never dream of . . . contains numerous other
the Christmas rush is in full But enough of these desirable features.
swing, so lots of games have deranged ramblings, on with my CRL emerged as a major —
come in for review. Four major and very successful — adventure
ones — all of them high quality publisher by bringing us games
— are reviewed in depth here. Picks of '86 from Delta 4 and Saint Brides.
Among them, Dracula is the first Level 9 showed off their stunning
game ever to be given a rating 1986. A good year for Spectrum new parser in Price of Magik
by the British Board of Film adventuring? Now we're into '87 and Worm In Paradise, but
Classification. CRL obtained this that question bears looking at. persisted with their abominable
as much for publicity as It was the year in which the graphics. At the end of the year
concern for the country's youth I Quill became perfectly there was a flurry of licensing
would think. Very young children acceptable for writing full deals, ranging from Asimov to
might find it distressing, but I priced adventures with, thanks to The Archers; previously this
doubt they'd understand the the astonishing chart success of practice had been confined
language. There's certainly Delta 4's games. A new mostly to arcade games.
nothing corrupting to, say, over adventure utility. Incentive's I did not feel, however, there
twelves; but such is the stupidity Graphic Adventure Creator, was one game which really
of Britain's rating system, if a arrived to rave reviews. It has so stood out, and I feel Spectrum
something is deemed unsuitable far failed to spawn the number adventures are not as good as
for three year olds, it's banned of games that The Quill has they could be. Although the
from fourteen year olds as well. been doing, and looks set to be general standard from
Also The Colour of Magic, a knocked off its temporary mainstream software houses is
licensing deal which would pedestal by Gilsoft's retaliation, high and more consistent
seem to have been motivated a super-Quill' called the nowadays, the last year has
a by the suitability of the siory for Professional Adventure Writer.
Gilsoft also continued their
lacked sparkle. Like arcade
games a year or so ago.
<
a game rather than to cash in
on the title (Terry Pratchett isn't admirable policy of improving adventures have become slick
DRACULA (15)
CRL * '
£0.95
BY JEREMY WILLIAMS
6 3 0 NEXT n
0>LET v-PEEK 23613tPOKE 23613 10 LET s«10: LET xy-Ol LET K - 0 640 PRINT "I do not know tha ve
,v-2t POKE 23609,50«POKE 23638,81 : LET H*»"": BORDER Ol PAPER 7i rb "|v$t GO TO 8 0 0
PAPER 6tBORDER 2lCLS iPRINT AT 1 INK Ol CLS t PRINT AT 10,10t"Ple 8 1 0 LET N-INT <RND*7)+3t IF E»(
3,10)FLASH ljBRIGHT ljINK 7|PAPE a s s wait"! LET u=0t LET p»0t LET N)-"DEAD-BODY" THEN GO TO 500
R 3|"STOP TAPE"lLET st-20t DIM e(10,3>: DIM d < 2 0 , 4 ) 8 2 0 LET m-INT (RND*3)-l! LET f -
Kingdom of Kull t DIM a*(10,9)i DIM dt(20,9) INT <RND«3)-1
20 PRINT AT 1,Bf"KINGDOM DP KU 830 LET E(N,1)=EIN,1)+m A N D E(n
10 FOR n - 2 4 TO 1 STEP -It BEEP LL"! LET X-2t LET Y-7 , 1 ) 0 0 AND e<n,2)<>llt LET E(N,2
.1,10 30 RESTORE 9830t FOR F»1 TO 10 >-e(N,2)+f AND e(n,2)<>0 AND e(n
20 INK li PRINT AT 5,0|a*<n TO t READ G«t LET Ef(F)-G*: NEXT F ,2)011
)» NEXT n 40 FOR F-l TO 20t READ G*t LET
850 IF e (N, 1 ) -m-x A N D e<N,2)-F«
30 PRINT AT 10,7| Jtrenty Wl 1 D*(F)-G»: NEXT F
y AND ffl<>0 OR E(N,1)-m-X A N D E(N
150 RESTORE 9BOO: FOR N«1 TO 10
llama" ,2)-f-Y A N D f<>0 THEN PRINT "Th
: FOR M-l TO 3l READ F
40 PRINT * 1 | " D D you want instr e "s e*(N)|" leaves"! LET R-0
160 LET e(N,M)«F
uctiona ?" 860 IF e(N,1)-x A N D e(N,2)-y AN
170 NEXT Mt NEXT N
30 IF INKEYS-"" THEN GO TO 30 D m O O OR E (N, 1) —X AND E(N,2)-Y
180 FOR N-l TO 20t FOR M»1 TO 4
60INKEY*-"N" THEN 0 0 TO 1000 t READ F A N D f O O THEN PRINT "Tha "|e*(N
70 BEEP .3,Ot CLS i PRINT AT 2 )|" enters"! LET R-N
,2|"Nafir, in escaping p r u o n e r B70 GO TO 500
from the 28th century was 200 NEXT M: NEXT N 1110 IF a-eoo AND d(9.4)-l THEN
p i n i n g through time whan he 2 1 0 GO SUB 9999: PRINT AT 21,Ot GO TO 2600
dropped a bticon, in the form i POKE 23692,233! LET g»-"LOOK " 1120 PRINT "You have a rough nig
of* crystal, mending out vital t LET K-Ol GO TO 442
ht but sleep soundly"! LET st»st
information to tniny gal ax lea. 4 0 0 LET N—xi LET M-y +3
He M » caught while re-enter i 410 LET Y-Y+<g*(l)«"S" A N D SS-1 1140 LET s-m-lt IF s<-0 THEN GO
ngreal time and was questioned.H )+(2 AND g*(ll-"D" AND dd-l)-<g« TO 1150
e gave the time-zone and also th (1} — " N " AND n n » 1 ) - ( 2 AND g*(l)=" 1145 PRINT "You wake late in tha
• place The caatle in th U" A N D uu»l)> LET x-x+<g»<1)="E" morning"! GO TO BOO
""Kingdom of K u l l A N D ee -1) - (g • (1) = " W " A N D w w = 1 ) 1150 LET I — I NT (RND»7)+3i IF e»(
80 PRINT *1|"Press any key to 440 IF N-x AND M-y THEN PRINT I)-"DEAD-BODY" THEN GO TO 1145
continue ?"i PAUSE Ot CLS "The way "tg*|" is blocked": GO 1160 LET a<I,l>-xt LET a(I,2)»yi
TO 8 0 0 PRINT "You are awakened by a th
90 BEEP .5,0i C L S t PRIN1 AT 2
442 LET A-<100*x)+(10»y)t CLS umping «nd the " ; e * ( l > : " enters
,2;"You, Morner a 28th century
4 4 3 GO SUB 9999 S GO SUB 7000+A+ He seas you and attacks'"! GO
historian have been sent back
Ut INK Oi PAPER 7: PRINT AT 13,0
intime to destroy the crystal.Yo TO 1240
u must seek the c a s t l e of Kull
tO* 1200 FOR 1-1 TO lOl IF t»<I,l)-x
443 PAUSE Ot GO SUB 909Ot PRINT
where the king keeps the cryat A N D e ( 1 , 2 ) - y THEN GO TO 1 2 2 0
"You see-"
alcollecting items and using the 1210 NEXT Ii LET 1 - 0 ! PRINT "Ihe
430 GO SUB 9 9 0 0
m to help you on your journey. 460 IF a-890 THEN GO TO 4000 re la nobody to kill": GO TO BOO
When you have found the cryst 472 IF a - 6 2 0 OR a - 9 2 0 THEN GO 1 2 2 0 IF s* a*(I) THEN PRINT st
alyou must return to your own ti TO 3000 I"is not here"! GO TO BOO
meusing one of the objects.You 480 GO TO 3 0 0 1 2 4 0 LET V=10: LEI z«I+Si IF 1=1
will not have long before the 5 0 0 POKE 23692,233t PRINT t LET OR 1=2 THEN LET Z - 1 5
crystal explodes so be ready. ST-ST-.2t LET sk-<9-p>+3»<d<1,4 126C LET m»RND*5: LET f-RND»5l L
And beware, some items have mo )-l)t IF a t < 0 THEN GO TO 9 5 0 0 ET sk-sk+m: LET : = : + f
rethan one use..." 510 IF R>2 AND R N D > . 8 THEN PRI 1265 IF sk >z THEN LET V-V-2i PR
100 PRINT HO;"Do you wish to kn NT "Tha "|••(R)|" attacks you"! INT "You slash him violently"
ow the words that the program LET I-Rt GO TO 1240 1270 IF sks z + 4 THEN GO TO 12B5
takes ?"i PAUSE Ol IF INKEY»«"N" 520 LET o»-""l LET s»-""t INPUT 1 2 7 5 PRINT "With one swipe you c
THEN GO TO 130 "-"I LINE g* leave his head"
llO BEEP .3,0l C L S s PRINT AT 1 530 IF g*-"" OR g*-"WAlT" THEN 1277 LET eI(I)-"DEAD-BODY"t IF a
, lOj"WORD LIST"(AT 1,10» OVER It PRINT "You are waiting."i GO TO ( 1 , 3 ) 0 0 THEN GO TO 2500
" "t PRINT AT 3,0|"OPEN 800 1280 IF I-R THEN LET R-Ot LET I
(object) CLOSE 5 4 0 IF g*-"!" THEN LET gS-h» •0
<ob ject >"jAT 6,0;"TAKE (ob 550 LET H*-G#l LET g*-g«*" " 1281 GO TD 800
ject > DROP <ob 5 5 3 IF g*-"L00K " THEN G D TO 4 1285 IF sk<z A N D sk>-l-3 THEN L
jact >")AT 9,0|"GIVE (person) 42 ET st—st—1t PRINT "Ha stabs you"
(object) ASK (person) 556 IF g»-"0N " THEN LET u-Ot 1290 IF sk<z-3 THEN LET at-st-2
FOR (object >"iAT 12,0)"EXAMINE ( GO TO 5 0 0 ! PRINT "His sword gashes your c
object)"j AT 14,0)"SLEEP -refresh 557 IF g*-"OFF " THEN LET u-5t hast"
s you,very useful"|AT 16,0|"KILL GO TO 500 1295 IF s t < 0 THEN PRINT "You ar
(parson) -Don't get too 5 3 8 IF g*-"SLEEP " THEN GO TO e killed by tha u |E*(I)t GO TO 9
carried away"|AT 1 1100 500
9,0|"HOW -strength and inventory 3 6 0 IF g*(l)-"N" OR g*(l>-"S" 0 1310 GO SUB 4200
" I AT 21,0|"WAIT" R G»(1)-"W" OR G* < 1)-"E" AND G»< 1330 LET z«=z-fl LET sk-sk-mt IF
ISO PAUSE Ot BEEP .3,0l CLS I P 2) < >"X " AND G * < 2 ) 0 " A " OR G* (1) » V < 0 THEN PRINT "He slips to the
HINT AT 1 t 7 | " S o m e apaclal things "U" OR G*(1>-"D" AND G*(2)< >"R" ground, dead"t GO TO 1277
you should know... THEN GO TO 400 1340 INPUT INKEY*="Y"1 GO TO 126
• BORDER O
562 IF g*-"PAUSE " THEN
160 PRINT AT 3,3|"QUIT -gives c 2t PAUSE Ot BEEP .5,20t BORDER 1400 IF LEN g«<M+5 THEN PRINT "
hoica of aaving 7t GO TO 500 Ask for what?"t GO TO 8 0 0
present gama"|AT B , 5 p " L 0 A D -load 364 IF g»-"QUIT " THEN 1405 LET o * = g * ( m + 5 TO )
GO TD 2 1410 IF LEN o*<9 THEN LET O*«O*
s a saved game back 200
into c o m p u t e r A T 11,3|"! -r 5 6 5 IF g*-"LOAD " THEN ": GO TO 1410
epeats last command 1 * GO TO 8 1415 FOR n-l TO lOl IF s*-e*(n>
500
163 PRINT AT 14,3|"Soma antranc 366 IF gS—"HOW " THEN A N D a(n,1)-x AND e(n,2)-y THEN
GO TO 17 GO TO 1430
as may be locked and need t 00
o be opened with something, 3 7 0 FOR n-l TO 8t IF g*(n)-" 1420 NEXT nt PRINT s*t" la not h
eg t- " OPEN DOOR THEN GO TO 3BO era"! GO TO 8 0 0
WITH KEY""" 5 7 5 NEXT Nl PRINT "WHAT ??"t GO 1430 FOR m-l TO lOt IF o*-d*(m)
166 PRINT AT 19,11"Graphics can TO 8 0 0 AND e(n,3)«m THEN GO TO 1450
be turned ON / OFF" 3 8 0 LET v*-g*(l TO n - l ) 1440 NEXT Mt PRINT "Tha "|«*j" d
170 PRINT ttl | "Press any key to 390 IF LEN g#<-n THEN PRINT v» •es not have a "|o*t GO TO 800
continue"! PAUSE Ot IF INKEY*-"" t" what?"t GO TO 5 0 0 1450 IF R N D > , 3 THEN GO TO 1470
" THEN SAVE "KINGDOM" LINE 0 6 0 0 FOR m-n+1 TO n+9t IF G#(M)« 1460 PRINT "The "|»I|" will not
1000 CLS t PRINT AT 3,0j"When th " " THEN GO TO 6 1 0 give it to you"! GO TO 8 0 0
a program has loaded, andyou are 605 NEXT Ml PRINT "WHAT ??"t GO 1470 PRINT "Tha ";s*|" gives you
shown the picture, pressa kay t TO 500 tha "I oft LET e ( n , 3 ) - 0
o be given the exits and informa 610 LET s*«gf (n* 1 TO m-l) 1480 LET K-K+lt LET d(ffl,4)-lt G D
tion."t LET V - P E E K 23613l POKE 2 6 1 5 IF LEN s*<9 THEN LET »*=s* TO 9 0 0
3613,v+2t BEEP l,0t PRINT AT 20, 1500 IF a-870 OR a - 9 9 0 OR a-lOOO
"t GO TO 615
10|"Start tape" THEN GO SUB 2700
617 IF v * ( 2 ) - " X " AND s*(4)-"G"
8400 LOAD "KING" 1510 FOR n-l 1 TO 20l IF s * O d * < n
THEN LET xy-1
0
-"The tunnel still goes on, but LOT f,90l DRAW 0,15t DRAW -3,0t PI
z
now the light la much nearer"i DRAW 10,10t DRAW 10,-10t DRAW -1 7793 INK Ot PAPER 7i PRINT AT 13
RETURN 6,Ot DRAW 13,Oi DRAW 0,-15t PLOT ,0|"You attempt to wade the rive
7500 BORDER 4> PAPER 4i GO SUB 9 f +5,90t DRAW 0,5t DRAW 4,0,-Pit r...but half-way through the cur
990l LET i-6i GO SUB 9930l INK 0 DRAW 0,-5t NEXT ft RETURN rantgets too strong and you are
o
DC
ilea to the north so you decide
to go back't LET as-lt RETURN
7320 00 SUB 74061 PLOT 0,80l DRA
DRAW 0,-44t PLOT 42,90i DRAW 0,-
34t1 PLOT 84,97i DRAW 0,-41t PLO
T 213,90i DRAW 0,-34t PLOT 171,9
LOT 7S,89i DRAW 100,-10,PI/2l FO
R f —9 TO 6 STEP -ll PLOT 75+(f»l
0>,90-fi DRAW 5,-(50-(f»5>It NEX
W 50,-1Oi DRAW 73,3t DRAW 125,-1 71 DRAW 0,-41 T f
0 7645 PRINT AT 15,0)"You fall dow 7602 IF d(9,l>—13 AND d(9,2)-9 A
7323 LET q»-"A grassy bank leads n a primitive but effective an ND d(9,4)-0 THEN FOR f-1 TO 100
up to a forest"! LET nn-lt intal trap and land on a stake" 1 STEP lOt PLOT 75+f,90-(f/10)1 D
LET ee-1i RETURN GO TO 9300 RAW (90-f)+(f/10),0t NEXT ft PLO
7330 GO SUB 7246t LET q*-"It is 7650 GO SUB 7406 T 174,82i PLOT 1 4 0 , 9 H DRAW 23,0
a little lighter here"! LET aa-1 7655 GO SUB 7758t LET nn-lt LET 1 DRAW 2,-4t DRAW 1,0
t RETURN ss-lt RETURN 7803 LET EE-It LET WW-lt LET q«-
7345 GO SUB 7246t LET nn-lt LET 7660 00 SUB 7406 "You are by the side of a fast
o
as-It RETURN 7665 LET q»-"The trees are begin river, To the east there is a
7333 GO TO 7545 ning to thin out and you can see great castle"! RETURN
7360 00 SUB 75301 LET ww-li RETU a path ahead"! LET it-li LET ee 7809 LET 1-61 PAPER 5: GO SUB 99
UJ
a.
RN -li RETURN 901 00 SUB 9950! INK It FOR f-1
7565 GO SUB 7330l LET ww-li RETU 7673 00 SUB 7930+ui LET q«-"The TO 8: PLOT 0,100+ft DRAW 70,-5t
c/> RN forest ends and you clearly see DRAW 60,Ol DRAW 60,10l DRAW 63,-
KINGDOM
7993 LET SS-1l GO SUB 7997l LET B095 LET NN-li LET q«-"You ara i
q»-q»«-" wast hara"i RETURN naida tha King'* palaceln the ba
7997 LET q»-"Th*r* la nothing bu nquetlng hall.Seated ona tall ch
t a locked door on tha "i RETU air thara la a grand old man"i
RN RETURN
8000 PAPER Oi GO SUB 9990i PLOT 8098 BORDER 3i PAPER 2i GO SUB 9
OF KULL
240,361 DRAW -30,70,PI/4i DRAW - 990i INK Oi PRINT AT 9,3|"
30,-70,PI/4i CIRCLE 230,80,2 "i FOR f
BOOS LET NN-li GO SUB 7997i LET - 5 0 TO 145 STEP 90! FOR g-1 TO 6
q*-q«+" east her*"i RETURN i PLOT f+g,lOOt DRAW 0,-40i NEXT
8023 GO TO 7310+u gl NEXT ft FOR f-l TO 3l PLOT f
Bit 7
set
i
High
I
Low x
I
v
V Low
V
I
High
v
1
Size of
11 Low
I
v
High
Length of
Print Print Panel Contents of screen
position coordinates position panel underneath panel panel info
— Inverse/over flags
- Attribute mask
- Attribute size
Length of
panel info
51 LD M « . ) pmlou print poo It Ion. T» 4DD KL, Dl Mi* leatfth of rasalrod paaal info.
« NC *L 72taS0 LS (P4«B._LN),IL Store l U i taactti.
05J«D5C LD ( T ^ C C ) , M loatoro prtflow prlot poo 11Ion. 44 LD M
if LD MM.) 4D LD C,l BCi* length of nqatr*4,panol lafo.
« IK KL LD ML,(mOC) Mi polnto to atari of procraa or**.
LD 6.(H.) t*i« praoloua print eoordinatoo. «5 RSI M Stank Ihlo addraaa.
I) IK M. tunc LD XL.(TAJI3) Mi potato to atari of warlafela* area.
m>a»yc LD (J_r08»),D« Rootoro prvrlooa prlat eandlwtH, 2 774*0 LD (PuB._4ixa),n. Store I hie aa addraao af panel lafa.
5i LD M M ) B:> prarleua IttrltaU hyto. 71 cot n. Mi potato to tap of panel etack.
»J IK n. » N S I BC
5* LD »,(*) Di« fffarlooa Attribute M>« CB»M CALL 1615,hAU_ROGH Ibu rooa far panal 1 nT nno 11 da.
i) IK HI. et IW K
ttM*mc LD (4TT»_P).!« Soatc.ro prorlM tltilbolt eoloara n D ai.in. Mi polata to panaltlaato byte
nftwrse LD ( ATt*_T ), DC ood trwWftrMl aaaK. of now roan.
71 LD l.(RL) At- pravtoaa : ititu. Tt LD (IL).C
») IK IL « IK IL
LS ftoatoro IlfnsVOttX atotaa. 70 LE (K},1 Store laadh af paaol tafe.
M ID M"-> CVI 3«T 7,(B.) Sat hit 7 to *1«»1 "ataak not oaptp".
IK S. n POP HL HL I - addroaa of procroa araa.
LS D,(KL) DC I- addroaa otthta oorooa of panot. 771?5C U (mX).KL Raatora eyotew war table.
» IK A 7424*0 LD IL, [ P4BQ._40A ) ILi* addraaa of now rooa.
41 LD C,(RL) Ci- width of panal, la aqvaraa. m»4 LD 5t, [ W_CC) DCi* current print peal11 on.
C97M1 CALL 1171.nar.'_iBr.!iT M m prlat paaltlaa I* Mil Una PI POP 17 ll* aanu ahalaa.
It I,'|»|lilr4'
m MT 10 frlat latt nana tartar. «C 1114
CUK< CILL 4t»),mr_sntiic Trial nan atrial. m-t- • • V7T 1» l l . aarrant aharaotar.
W LB 1,'FNNUI-T rtn
«
CP ••*
BT tat to Trial rlfht hand Oordor, »R 1 Sat aaro f l * « fo* " a .
W»J LB 1,'TRA^LE-C"
LB L.1
WS1 »
Sarin, paoal tppa and raaat
CUMB1 CALL sin.mij Print aanu 00 aoraan.
»1 K* E* incao LB | N M _ n r t ) , I L atrial i n a l ,
oc ik e
OC ik e Cl* fall aUtk, Including kordvra.
LB 1,07 Salact atrva• 7 (tno aaraaa).
LS 1,01 11* Initial DRV cholca. caoiii CALL Il01,cujl_0pn Ca* a r a m t ooloura,
CALL OMO.TaO*
T? •_"_Wor ran it Start aaou cholca. CB4B0B
l l . avrraat aharaatar fro* MS1C Una.
«ar 1*
u IBB i,D it* avraan llaa nusbar ot aaou atialea. 9 C» •)•
ft LD I,1 TO1 JI Btaoo*_c
Brrar vnlaaa
a IBB R..KL N
CP
a IBB A.KL rue .1 u, n cdLocas
J a a p ualaaa oar 1* "IT".
C.LL- IT
5T LB B,1 Hi. I eoordinala ot panal. CTTJ1C CALL 7)0T,m_T0_K
I* IBB ft,01 CB0725 LS 1.C
HOOK LB I S , M O O 41 LB L,1 t t m ravvlrad IT aa«r4iaataa.
1» IBS B-.M K.i. attrltota allraaa of 1 M
LB (IB«_lf),n, tipact a aaparator.
SI PCP SC. ?»M0
I M CALL U A I , U N U T A J * p baak ta aaatlaaa latarprattl^.
res» BC J* K_L00P aalaw cnfcmli.
CB1J1 •raluata
7i «_B_IWB; LS A,(ft) attrltata Via froa rav.
wr> CALL 2!P?.00_TBP_5 Jaap If a a aalaar coaaoli pa a a a a t .
BIO u a 10 Chanffa papar colour. JI e,B_»Bm Bpaot a aaparator.
N LB (ft), A 1W1 CALL 1211,3DUATIS Jvap back to Hatlma Inlarpvattlaf.
n IK ML Hi pa lata to naxt attr Via la raw. 717C10 J1 H_L007
OB tac e
CMC LB C.. PUt^TTPl
NT* JI IT. fenc ant Ira rav. BIT «,(•,}
:«OR Jiaap If panal only raquaatad.
ei rot K n ST»_L0C7 JI Z,R_P1JBL
CBK1C bpact a atrial aipraaaln,
rxwO'ii Slfal "B#a4r far a nav kap*.
;trteo C1LL lC«,BR_lT1tIE
FPCBHI »_*_»» I T_2
HT ),(ruiu) LB IL.SnilK.COBr laariamt nuabar of atrlnca r aunt a d .
M
T B I
JI t,iJL*UT_> Walt till hap cmisj I K
CALL
( Sf tO)U U T C 1 T Ta th.ro a aaparatorT
mo«V: LB 1,(LA3T_I) 11. ator 444a of praaaad. WIT JL R,B_NRE_:O .'at If not.
KM 301 01 »r 90
JI *X.t_M_Ot_M
N Skif war tha aapanator.
2009 Juap ualaaa kap la "amraar la JL B_SITWLOOP Loop lack t o eaal L l a k l a t i m atrliwa
N PCP TR 11. aarraat aam ehalca. CB711C CALL 1C71.WT.J1BI V v a l a a t a puol a l a a .
W »
H CB0773 CALL 7JO7,B^_T0_K C.Bi* panal alia.
JE IK 1 Mora m llaa las, 71 LB 1,1 1>* panal vldtk.
J«C J* c.«_»_«*RR Juap mlaaa balo. laat aatrr. 41 LB * , C Bi- paaal OVUM.
J M LB 1,01 Ca to rirat retry. 47 LB C . L CI- paaal width.
N TOP I F ll* carraol a. 1111 «bdl«a. B4WC10 S3_ LB K,(7INL_TT'7T) It. nuabvr of atrlaca.
»
BK 1 How* cna llaa ap. D ) B H LB Bl,(iaK!_At) H i . panai coal 1
1001 Juap ualaaa abava flrat antrp. )uric LB i,(irni_T) l l * aalaura ntalrat.
rs nan 17 Stack naa »• it. ebolca, ClttBI jp t.tin.n.ivin. Jgap t o araala aanu panal. If rvqd.
rt mr ir I I - AA
»
BK ft fti potnta ta top of paaal .Vac*.
» i n at c ciTl KT 7,{ft)
too, IK 1 Juap ualaaa kay la ^dalata' E» nrf 1 Solum If ao panala laft aa alaak.
N ll* aanu ahalaa. O) I K K Kl> OBO.
C U M FOR I T
CALL so*r,mcrr Jtaaava aaaa froa aeraaa. » UP Raturn.
o
this Is what you da After typing contain the letter. For example
the last character you want on John Jones would appear twice
the line get into E Mode, hold on if the key were J o or n, but only
2 to the Caps Shift key. and press once if s were entered. The
6, followed by 0. The cursor will moral of this exercise is that the
5 PROGRAM 1
O
D 10 C L E R R 6 5 2 6 2 : FOR f = 6 5 2 6 3 TO
65374-: INPUT i : PRINT f, i: POKE
i , i : NEXT f
the variables is SAVEd. Why not N » > U A L ' I-OSEO'-N T H E N P R I N T FIL LET PIN-I p+SGN H-I'
GO TO UAL '2110
PR INT
just the data array? Because you E OVERLOAD" PAUSE H 50 T O H
1015 LET b t < n TO n + L E N n | i . n | L 3 0 0 0 I N P U T •• f I I T N » » e ? ' , N | SAUE
also need the values held in £T NAN.LEN nl
2000 INPUT KeiC"
GO T O UAL
LINE c t
"1000"
L.ET RIFY
LINE H PRINT
GO TO n
UERIFV UE
other variables, for example the it»Ct+ STOP " POKE UAL "65263" 4 0 0 0 I N P U T "F 1 I « N » » t ••'• ,R,| LOAD
file pointer, n. After VERIFYing .0 P O K E U A L "65264." , 0
2 1 1 0 I_ET p.USR UAL "65265"
fl t
IF p 5 0 0 0 P U N
you will be returned to the • o A N D P rn T H E N 1 GO TO UAL 2120 9 0 0 0 C L E A R U A L 65262 ' LOAD •
.1. R A X L C O D E " C O D E POKE UAL '
2116 PRINT "END PAUSE O GO T
menu. 0 h 2 3 6 0 9 ' , '.'AL 50 B O R D E R U A L "6'
2120 LET p . p . I IF b t ' P ' O STOP PUN
Use this option to LOAD in an The program is essentially the Type in the machine code as
existing file for searching or same as the cassette version previously described, then NEW
updating. Existing files should except that the Interface 1 ROM and enter Program 3. Now to
only be LOADed in this way for takes over much of the donkey prepare the cartridge. Format
Interrogation. Don't be tempted work and, of course, speeds up the cartridge as described in
to just LOAD in a SAVEd file the LOAD. SAVE and VERIFY the manual, then RUN the
directly as it will probably crash! routines. program, it will stop with an
The file array bSO is set to a error message. Fear not, saifh he.
5. New length of 29000 characters. This All Is well. Enter, as a command:
length enables you to hold three LET n$ = "a": GOTO 100
This clears the file by RUNning files named a, b and c on a The menu will appear.
clear cartridge, plus the boot Choose 4, then press "a" in
program (which sets everything response to the "Filename?"
running) and the machine code, prompt. The microdrive will run
giving a total storage of 87000 much longer than usual as it is
characters. It also allows for a trying to erase an, at the
more user-friendly program with moment, non-existent file. When
single key-press controls, not to the menu reappears choose 4
mention avoiding an encounter again, and this time press "b".
with the infamous Interface 1 The third time the menu appears
Clyde Bish presents a ROM bug which switches on press 4 then "c".
your microdrive permanently! (If Now BREAK out of the
memory saving this does ever happen do not program, NEW the machine, and
power-down. You may lose data. type in the boot, Program 4.
'Fastfile' routine. Surprisingly, it is better to pull out Save the machine code still on
the cartridge first whilst the board and the boot program
motor is running!). with: SAVE * "m";1;"run" LINE
PROGRAM 3
the program and resetting the 10 L E T n»2 DIM AT 131' DIM FT 070
3030 PRINT OS IF I N K E V « T
arrays. <12T
=>23670
LET bt<lt=
LET s2=sl+l
STOP " LET si
HEN PRINT • •• STOP " FOR ' =1 TO
It would be nice to exlain how 100 CL5
, FIT
LET S»2
OPTIONS"
PRINT
"1 E N T R V
T , U
2 5E
200
3390
NExT f P A U S E 0
GO TO 2030
GO TO 100
the machine code operates, but ARCH n o Printer) 3 SEARCH n o 4.000 PRINT fI tenant " PAUSE 0
as usual space precludes that Screen*" "4 SAUE"
ELETE"
"5 LOAD "6 D _ET
4005
R t = INKEYI
ERASE n M . n l SAUE - » 1
opportunity. Suffice it to say that 110 PAUSE 0 CLS LET CT-INKEY ;nt L I N E 100
t IF c t < " 1 " O R C t • "6' T H E N G O T 4010 U E R I F * » ,l.ni IF c|: i
the routine compares what is 0 100 T H E N GO T O 50OO
held in a$0 in the VARS area 120 GO TO UAL
1000 CLS
Ct*100O
PRINT 29002-N. SPACE
4015
4020
IF CJA'O
GO TO 100
THEN RETURN
with what is In b$(). It is therefore 5 LEFT- INPUT E n t r y " ' I E N T E R IO 5000 PRINT 11f i l e n a o e ?' , PAUSE
important that you make no F »ENV>" L I N E et IF « » • " " T H E 0 let nt•INKEvt
N GO TO 100 5010 LOAD 4 B';l.nt GO TO 100
alteration to line 10 until after 1010 LET E »=T§+" STOP IF L E N 6000 CLS INPUT KEY" L I N E ct
• »>29002-(I T H E N P R I N T "OVERLOAD LET «t>c« + " STOP ' POKE 65263
DIM b$(40002) or these arrays will LET C M O" GO SUE 4005 PRINT O POKE 55264,0
not be in the correct places in "Load new ftie then r t - «>«t tn
TRY' GO T O 5000
6310 LET P=USP 65265
P <n THEN GO T O 6060
IF P - 0 A N D
VARS for the routine to find them. 1015 LET b»<n T O n+LEN £ $i «et L 6 0 2 0 PRINT EN[>' PAUSE 0 GO
£T n =n•LEN it GO TO 1000 TO 1 0 0
If you alter the length of the 2000 _ET s=3 6060 LET pap-i IF b t ' P 1 STOP
program you will also need to 3010 CLS INPUT "Key?
LET a t = Ct + STOP '
LINE tt THEN GO TO 6060
6065 LE T
»«P+1
reset v to a new value by 3020 POKE 65263.0 POKE 65264,0 6 0 7 0 L E T p sp 4-1 IF bt P STOP
PEEKing the VARS system variable 3030 LET P«USP 65265
P'N T H E N G O T O 3 0 6 0
I F P--0 A N D T H E N P R I N T bttP"
6 0 3 0 P R I N T SO E r a s e ">
GO TO 6070
PAUSE 0
using PRINT PEEK 23627 + 256 * 3O40 P R I N T ' E N D OF F I L E " LOAD INPUT IF INKEV t < y THEN PR
NEU FILE'" PRESS A . E , : tn f INT GO TO 601O
PEEK 23628. Of M E N U S ' <S to S A U E l'pd»ttd fl 6 1 0 0 LET W - P E E K 2 3 6 2 7 * 2 5 6 * P E E K 2
L«) ' P A U S E 0 LET C t•INKEV t IF 3628 R A N D O M I Z E . :p + l + v * 4 8 i POKE
c | i " f l " THEN GO TO 100 6 5 3 6 3 , P E E K si F 0 * E 6 5 3 6 4 C-EEF
Fastfile (Microdrive) 3045 IF c t = "5
3046 LET nt=ct
THEN GO TO 4005
GO TO 5010
i2
PEEK SI
RANDOMIZE in-p.
POKE 65367 PEE* 12
POKE 65366
RAN
3 0 6 0 L E T p *p- 1 IF b t < P J < - " S T O P D O M I Z E »+V*4.S) P O K E 6 5 3 6 9 PEER
THEN GO TO 3060 SL COKE 65370.PEEK >2 RANDOMI
And now, for microdrive owners, 3070 L£T p«p+l. IF bl'.p'< " STOP ZE USR 6 5 3 6 2 LET nan-ip+l-si P
a version of "Fastfile" especially THEN PRINT ttt. bt 'P 1 GO TO 3 PINT GO TO 6010
for you.
kt
ac »5C4
fi PUSH RL PRDARI LB L.A
LB 1,00 HLi* charactar coda.
LBEH Copy oaa raw froa Una, ABC HL, KL
29
II POP HL
» IDS IL.KL
BI
CI
POP t*
POP BC » ADD KL.HL RLl* eight tlnaa chancier cod*
24 IK H Hi. addr of nakt row of n*rt line 1» ADD KL.PC
14 IK D Bi* addr of nan row of this line D D B.HL Bi* addraaa of pi sal expanaloa
)D 1 3B6I10 LS L.( I X*W P1PDC
la
2«5 JI K.3C* LOOP 2 Copy tAola Una. Xfcfill LD Mile* PIPCC hi Kit. *d4r*a* ofprint paalllon*
PCP HL C9 IV R*tun.
CI
CI POP BC TFCLL au trout Ina will tollaot on* byte frca tha plxal ar^mnalon pointed TO by and will
10S6 U K SC9I LOOP 1 Tranafar all required Hoes. Invert It If nacaaaary.
01 HC BC BCi- length of Has, l*aa oo*.
SC7I14 LS i.tiM inn Ai- attribute byte. mo »U)
CBBOI CALL B1BC.CLH LIIH Clasx boltoa 11a*. 11 CIT BOW LB I.<BT) IT* aaat rav of ptial aipanaisn,
C5«c»i JP B16C.P1CI 0 Haatan HAJ» par* tare and return. I) IK IE S I palnti to fart row.
BSCI0»» BIT 5 . ( « ^ _ N J C S )
Tha following aubroutlna dull with >11 control codaa except for cum control and Til CS RW : latum unlaaa [IVBC1I 1 In a p a n t l e
(tun in dealt with by C»_TY7*_? at addraaa B12P). OB mtrr Iha 1 nglat*r >111 contain 7T CPL Olharwlsa invert tha row.
tna control coll Itooir, while any paraaatan required will ta atom la 1 (allllo C9 ID Hetum.
paraaatar if on* axilla) ami 0 (laat paraaotir). Thla naxt and vary lapartant sotroatlna will aalaally prlat a character, opacified la tha
1 rafiatar, onto tha sumnl window.
ac 1)55
MBS CttlffltOLS CP -ontor- AC >;BC
2994 JW 2, OFTW Juap to dial with *oatir*.
R5 nisi ip Stack character lo prlat.
DolO
» sjb io n, PUSH IP Stack character lo print (a«aln).
SIT C latum with codaa 00 ta OP,
mot CP Oi BB7KC LB l.UIeW HCOOB) At* currant a coordinate.
JPji JB I.CTKL IT Jaap ta d**l with IT,
BBBDB Cf (IIe% WTBTH)
BC ROT ac R*tum with cod** IT ta IF.
CILL F . V N . N M Print aavllna If al end of Una.
CCB9K
RTSR IBS l.CTRL HOC Is BIT 4,(tle« rues}
tt US L,1
BSCBOBM
20 54 J* m. pen SLW Juap with -Slow- windows.
2*»J LB I.CTO IKfO hi XLI polata into control info labia, POP If ll- cbiracter to prlat.
16 LS »,{•.)" BI- tit aaal for ttla control. LB ix.(cailis) DC I. addr of noraal chr aat - lOOh.
111400 LB 31,0014 BCL- II dlspl*cs**nt to V _ 0 , W17 J* It, PCM C*_l Juap with ASCII chararlera.
NTI CP 6) yooi j« K.pca."nn; .'yap with aavr daflaad (nphlca.
SIOJ JR C.CTRL C01T Juap ualaaa Ctrl la [IVWFC:*'0»IFC. 47 LB J,1
1WB LB 1,01 BC|. II dlsplicaaanl lo V J L T M . cs)ao> CILL 0»5«. fO 0*_1 Coaalml block g r a p h i c ,
D8K5 CTRL C0»T rests ix 1192SC LD I*,5CV.PMCT Ki polnla to pixel arpanaloa.
N POP BL HLI pi* ta chaanal Info block. IP X« 1
19 IBB KL.B HLI point* to warlitla to a l t a r . 180t JR Kin tat i Jaap forward.
LB 1,0 11 - control paTaaitar. 0690 pew inc JU» 90
aa LD C.B C I- til aaak. TO1715C ls DSi point* to aaar daflnad cnphlca.
or RRCA CDC415 CALL BKl.PRXmi If i. addraaa of pixel aipanaloni
07 Hfll HLi. addraaa of print poaiiioa.
cm ss 1 Sat attritala for this aquar*.
W I J* DC,CTRL LOOP LL- Ctrl paraaalar. In corract poan. »cm IB J CALL »M1,3ET
P.S1 KL
II
II
xai («L)
11B c o6oe LS B.Ofl Bl* nuabar of row* par Una.
Ftn la r*qd bit* according to I CDID515 PC» LOOP 1 CALL BJB5.Cn ROW Ai* naxl row froa aapualon.
II (a: CB71B1 CILL B171.F1CI 7 Daa Rirt pfeia 7 la caaa arm 1 In uaa
7? LB (H),l Stora rarlabia. 77 LD (IL),1 Slon row In acraaa.
E» nr 24 IK 1 HLi points to naxt row.
CD6CB1 CILL Ittc.fiai 0 Raalor* UP pace x*ro.
or
» D17E 07 Bit aaak for in. 1015 ' x*z rem i W i Prlat Whole character.
ISM )» Bit auk for P1PW. EL
90 301 90 Mt aaak for PUSH. POP
» > 40 25 IK RL SCI. naw print paaltlon.
10 Bit aaak for BKKF. C512M JP E4S.PCBI_BirT Jiap to m l .
09 acre o« >11 aaak for IIIKT, PCI»_SLOW
04 art 34 tit aaak far OFM.
BBC in 2 , r u e s )
21H JR I.FCA SLCK 7 Jiap unlaaa ualat double balfht.
W M W LS A,(lie! HUGH) At* halfhl of window.
Tha aart aubroulloa la tha WIKIGW vara Ion of tha IT function. It parforaa tha fu )B BC 1 Ai* y coordinate of botloa lis*.
IT B,C for th* cvrrael window. CP (IIe« YCOBD)
2015 JB H.fCHB SLOW 2 Jaap unlaaa st kattoa Una.
OHC BJ45 BB4KC LS C,(IIvW~ICOdis) Ci* currant x coordinate.
« CTRL AT HJSH BC 47 LS B.A Bia currant y coordinate.
71 LB L.B 11- propoaad y coordinate. Oi EK 1 Bi* y eoordlnata after scroll.
CDB1B1 CILL B I D , L I N 1 DC7KB LS A.(II»W_fU=a)
CI FOP BC Ho** prlat poa ta atari of this Una. ti POSH AT Stank flio.
79 LB A.C ci
CDC TIC
push BC Stack ooordlnataa.
Scroll th* acreen once.
17 US 1 It- propcaad t coordinate. CIU «2CJ,OI7Ilt I
ca HE i CI POP 1C Ki* eoordlaalea.
cf («»« wjori) net urn if taafe already done. novo prlat paaltloei back
CBIHW CIU l)t^,Cfltt_lT tolwia.
BJ9P1I JP ic.MKIRT_B Glee error re port if oat of rania.
SB770C LS (IleW ICMRB),A Ston naw p eoordlnats. fi POP IR heetoro th* flat*.
I*OO LB B. 00 " BC I- • coordlaat*. DB770B REM SLOU I Ii* 0hara*t«r lo print.
5DCB0B64 BIT 1 , ( 1 M PL1CS) LD ( Ilew fUCS),l
2111 J» I, IT B U T Juap with "Peat" channels. fl POP If
15 Stack addreaa of atari of Una, sDMia LD I. ( IXeW CHARS) lo SRt* addr of nonal chr sat -100*1.
HJS1 «L~ BHilf
mriT LB C.(LITW CI WTB) BCI- character width In pi kola. LS B,(lIeW ClAlSlhl Jiap with ASCII character*.
2008 jv n,PCBi~ca:_2
TO LB M.B D
M LB L.B IC.1- 0000, MFCOMO SUB 90
09 lT_LC0f_l LCV. IB LB MlXeW BBC)ls Ii point* to (raphlca chr aat.
ADD 1L, BC
5B as: i CDC4B3 LD D,(Uȴ"uD6)hl ECi* addr*a* of pliel axpanslont
Tore JI H . A T LOOT 1 IL1— no of plaali to atari of chr. CILL B)C4,ntIPAitI ILi- addraaa of print po*ltl<A.
<*0) LB B.01 15 m i FT. Stack eddrvae of print poaltlsa.
CB5C AT LCCP • SftL I oinrr LD Bc.rypy
CUB R2 L BD7I17 LD 1 (IXeW CS WIS) At* width of dir In pixel*.
If c»M tor m a i SIL 1
o
MI
10W N U N IT LOOP 7 RLi- oo of equina to atari of chr. CB19 KB C
07 ILCl JB QIC 1
icm waak, not pat In poaltloa.
z 07 RLC1 JI m.Fcin misi 1 KI<
07 RLC1 LL- plkal poaltlon within EKR aduara. m m it LB M S T O N ) LL* plx pnan within civ *q**n.
D07714 LO (U*V F1X)|1 Stan In varlabla. 17
»« AID A
CI POP BC BCL- addraaa of atari of llaa. JI 1,1CW «B_J
5 09
BB7510
BB7411
AT nrr
sroti i m
ISO NL.IC
LD (IITU_NIPOG]l*,L
LB (u»w nns)u,i
ILI* aaw print pooltloci addreaa.
ot
cmsBi CILL »5S5,CB lew Ii* nait row froa aipanalon.
OK BUI » m i bb Stack pointer lata axpanalon.
ii LS S.l
O
15 :-HSH IL
CU5B1 ciu m t . i m ism HL i - addnaa of atlrltota byte. SDTZIi LS l,(IXe* P1I) ii* plx poan within chr *d**r*.
B07S14 LB I . D I ^ F I M ) Ii— carnal coloura. 17 UD 1
Slora attrltuta byte. JI C.PCB ROW ."a*p If pl>*ls corr*clly *lllgn*d.
O
77 LB (N.),I 3S07
II POP (L CB11 KB B
Illkll* CB1B HI I
ot
C9
JD sac i
Thla autroatlno la.latendad far uaa "1th "Slow* • indowa only. II will plat oaa rav of JR 12, PC KB Sim Shift pixels Into paaltloa.
chancier onto tha acreen. CB7111 CIU 117I.P1GI_7 L'** 1111 pa«* 7 la caa* aom 1 In uae
Q . i«C B«1B can) CALL BUB, PLOT ROW Plot row oetto acr**h.
CD11B5 PWT_R0W CILL B511.SCT 1TTO Sat attrlbuta byte. BBC BOM* BIT 2,(IIeW Plies)
71 Lfi l.(ML) At* byte fro* *cr**n. C4ABBJ CALL m.BJAB. PUT ROW And acaln If ual^ double height.
LA in D CBtCll CILL BltC. PlCt 0 ' Feet ore Rut pad* a*ro.
s AO
AA
AID B
to* 8 Kll la llle fram chancier.
BI
fl
POP BE
POP IP
x: i
DIl polata to plx*l eipanalci.
A I* loop counter.
77 LB (HL).A Stan In acnan. 5B
T> LS 1,C Ai- law byte of aaak. 20 DS JI R.FCIO LOOP 2
TOP H
Prist whole oharacter.
}C :K A (1 HLi- original print posltloa.
290A JB Z.fUM HIT Ektl If all Mt* stand on scraan. WTTHfc LB l,(lXeW_flI) At* original poaltlon vlthln ofulra.
25 :K n. KLi point* to next aensn byte. TKBOl? IBB l.(lXeV CB ifID) lllaw far width of character.
o
CDA 115 CILL f'11,SET ATTB Set thla attribute byte aa wall. PKM CF 09
7* LD 1.(ML) It* byte froa screen. JW5 JI c.pcnt KB 2 Juap If I*lct poaltlon 01.
11 I0H I 3W9 SUl ce
11 AID C n IK KL
JR KM* rtl
OthSrwls* aaxend It.
Loop back to try again.
111 IB ICR t in la blta froa character. I1P7
LD (IL).l Ston in acr*aa. BB7716 pcm_poe_2 LB (IleW PII),1 Stan nav poailloa within kfuue,
CL
n CIU SJ9A.3TORI AIDI Stan nav print poalttoa.
21 DBC KL HLi point a la original acnan byte. CB9AB5 pew sxrr
IK ; Il.e BCCCKB) lacraaaal 1 OOOrtiBtU.
</>
C50CB1 JF B1K.B0W1 1 Point HL ana plx*l down, and return. SB540C
«
fi POP AT Al* H i t chorootrr to print. oisorr LI K.FT«0
BET M a n , O> on HL.JC
44 LS B.I
And now o l l o o t w* h*ww t h * window output * u b r o u t l B * Itself. 40 LS C.L B C ' i * *ddr of e n - * nlnu* H t .
LS W,(C8AR3) E * 1 1 . oddr of n o r o o l chr oot -iDOh.
(SC M 7 I 2407 LS 1,07 I * | * width of c h o r o o t o r * .
szei-.tjc XMBM LB i * , ( n m c H L ) III p o l o t * t * ehooatl I n f o block. » OI
CSV7B0 CAU (OJT.CBT TTPI with keyword*, *tc. JIM LB A.J1 A i * o t t r l b u t * bjrtf f o r window.
re HIT X M*turn ir to*k* o c * p ) * t * 4 .
rt
oiow LS BC.Q201 BC1* p a * I t Ion of window.
P03K" AP Stock c h o r o o t o r t o p r i n t . 111 RMS LD DE, 0810 D l t * *11• of window.
J SUA JB t , « l U A K J Juop w i t h g r o p h l c * choroctor*. ? 1PPTT LD KL.mt HLi ( l i m o l i "Slow window- * M
J01) JD « C , H I « S ASCII with ASCII c h o r o c t o r w . " S c r o l l pou** n o b l o d " .
17 AID A CS12R CALL B 1 2 , 0 P D I WTSS0W 0p*fl t h * window o h o n n * ] .
CC92W CAU I . B W 2 . C L 5 WIDOW Cloor window f o r C t t l 0 . i 1»27 LD «L.275»
ri POP A l W EU HL'1* r o l u * roqulrod by BASIC.
n TOIt AT C9 MT M M .
f
Look at figure one, this Is a on the Spectrum's screen using
70 LET P(4*I+2*J+fC+1,2) - 10*J
drawing of a cube, but with PLOT and DRAW as normal in
every vertex (corner) marked with BASIC All we now need is a 80 LET P(4*I+2»J+K+1,3) = 10»I
the letter P and a number method for working out the
between one and eight, and position on screen of the images 90 NEXT K
with every line marked with the of all the points. 100 NEXT J
letter L and a number between There are many, many
one and twelve. Notice that methods of transforming three 110 NEXT I
there are more lines than there dimensional co-ordinates down 120 FOR I - 1 TO 12
are vertices. to two dimensional co-ordinates.
Figure two shows a BASIC The simplest possible means is 150 FOR J - 1 TO 2
program which draws the cube just to throw away the z co- 140 READ L ( I , J )
In figure one Don't worry too ordinate leaving just x and y.
much at the USR statement In This gives you a plan view of the 150 NEXT J
line 540 — It's Just the points and object — not very satisfactory, 160 NEXT I
lines we're Interested in at the however — we need something
moment. Line 10 dimensions an a bit more daring than that. 170 DATA 1 , 2 , 2 , 4 , 4 , 5 , 5 , 1
array PO to hold all the points. It 180 DATA 5 , 6 , 6 , 8 , 8 , 7 , 7 , 5
0> is dimensioned eight by three Projection
because there are eight points, 190 DATA 1 , 5 , 2 , 6 , 4 , 8 , 5 , 7
and three co-ordinates for each The method we shall use is a 200 FOR I = 1 TO J2.
point. Line 20 dimensions an technique called Isometric
array LO to hold all the lines. It is Projection. The idea Is that you 210 LET A - 1s CO SUB 500
dimensioned twelve by two have to imagine a camera 220 LET P1 - 5*P+128
because there are twelve lines, floating in space looking at the
and two points at the two ends object. In isometric projection 250 LET Q1 - 5*Q+88
of each line. the camera is always located at 240 PLOT P1,Q1
Lines 30 to 110 initialise the co-ordinates (N.N.N). N can be
array P0 to hold the co-ordinates any. very large, positive number 250 LET A = 2: GO SUB 500
of each of the corners of the — the larger the better, since the
260 DRAW 5*P+128—P1,5*Q+88-Q1
cube in such a way as to camera is assumed to be a long
maintain the numbering in way from the origin. The camera 270 NEXT I
figure one. Lines 120 to 190 Is pointing directly towards the
origin. It is the right way up. and 280 STOP
Initialise the array L0. Note that
this time we have to use data it has a very powerful zoom lens, 500 LET A = L(I,A)
because there's no easy so it can see the object (which is
located at or near the origin). 510 LET X - P(A, 1)
mathematical way to work them
all out as there was with the The image that the camera 520 LET Y - P(A,2)
vertices. The rest of the program would see is the picture which is
to appear on the screen. 550 LET Z = P(A,3)
just draws the cube. You can run
this program if you like, but There are other types of 540 RANDOMIZE USR 53320
make sure that the machine projection [many other types),
code Is in place first. 550 RETURN
1 which have the camera and the
N Incidentally, if you change object at different positions in Figure 2
y lines 60 to 80 so that they end space, but the idea Is always projection:
\ 8*K, 10* J and 12*1 respectively the same — what the camera
Ihen you'll get a cuboid, not a sees, the Spectrum draws. LET p=SQP(3) * (y-x) I 2
cube — a rectangular block. Try In future issues, I will show you LET q=z - (y+x)/2
it — It presents a much more how to use all these other
pleasing picture because the projections, but for now we shall In other words, we can do the
t front and back corners don't concentrate on isometric It is whole task In BASIC - we don't
overlap. sufficiently powerful to be able need any machine code at all.
IV
This brings us to the most to demonstrate the basic Ideas We can define the points in
Important question of all. How of 3D and projection, whilst at space and the lines joining
9
does It all work? We need to the same time it is sufficiently them; we can transform the
understand the general simple (mathematically points using the above formulae;
»rs principle of converting a three speaking) so that anyone who we can PLOT the new points, and
of dimensional solid object down knows anylhing about BASIC will we can DRAW the connecting
to a two dimensional picture, be able to understand It. lines. All very easy.
> look agains at figure one. let's look at the mathematical The machine code I have
Notice that, for instance, line L7 side of things first, shall we? included is really only intended
is connected to points P7 and P8 Suppose a point In three to work out the above formulae
— but figure one is a picture, not dimensional space has co- — that is — given x, y and z the
a real cube. In other words, line ordinates (x.y.z) — any point will machine code will work out the
L7 Is connected to points P7 and do. Suppose also that the image values of p and q. Despite being
P8 both In the real three of this point appears on the in machine code, the machine
dimensional cube, and in the screen with PLOT co-ordinates code program uses the values
two dimensional picture. This is (p,q). What we need to know is from BASIC variables, and
true for all of the lines, not just how we can calculate p and q, assigns BASIC variables with the
for L7. Although this may seem given only x, y and z. results. You may care to examine
stunningly obvious, it is The solution turns out to be so the machine code to see how
nonetheless the most important easy that we can do the task in this is achieved. None of It is
piece of information in 3D BASIC The following two LET really difficult — it all hinges on
graphics. It means that if you statements will make the the way that BASIC variables are • •
79
ZX Computing Monthly * February 1987
Listing 1
ORG 8200
2A4B5C SEARCH_VAfi ID KL.(VARS) HLt points to variables area.
7E S_V_LOOP LD it,(HI) A n e x t variable byte.
G*7F AND 7r Ignore bit 7.
J7 set
C8 HET Z Return with carry a«t If byte 80h
reached (le if variable not round).
B9 CP C
06 RET Z Return with carry reset if
-J variable found.
C) fVSH BC Stack variable rune searched for.
CDB819 CALL l9B8,NBtT_CHtE DEi points to next variable.
EB EX DE,HL HLt points to next variable.
Ct POP BC Ct- variable nam.
iapi JR S_V_L00P Juap back to continue search.
CBG 8212
0E7A .Tx_zrx LD C,7A Ci« code for variable Z.
CD1EB2 CALL 8?1E|CRI_VAR Stack variable Z.
0E79 STK_YX LD C.79 Ci» code for variable T.
CD1EB2 CALL 621E,GET_VAR Stack variable T.
0176 LD C,78 C:- code for variable X.
CD0062 CO_VMt CALL (J200,SEARCH_VAH Search for variable.
DA2E1C JP C,1C2R,REPCRT_2 Error if variable not found.
!} INC HL HLt points to variable contents.
CJB45J JP J3B4,STACKJUJK Stack the variable contents onto
the calculator stack, and return.
OIK 8226
CD17S2 TRANS F0HK CALL 8?17|STE_YX Get T and X onto calculator stack.
V RST 23 Y,X
0) •ublrtct Y-X
}440BOOOOJ stk data j
ae wjr Y-X.SCBKJ)
04 nultIply S«P(JKT-X)
A2 const I»lf s«0)«<r-x),i/2
04 null 1 ply SFLP(5)*<Y-X)/2
J» endcalc
0S70 LD C.70 Ci* code for variable p.
CD4762 CALL e247,AssrGN_rAn LET P » S<*{J)-(T-X)/Z.
CD1282 CALL e212,3TK_fflfI Cet Z,T,X onto calculator stack.
Q RST 28 z.ir.x
OF add 2.Y+X
A2 const half Z,Y*X, 1/2
04 «uItIply 2.(YEX)/2
05 subtract Z-<Y+X)/?
ja •ndcaic
0E71 LD C,71 Ct- code for variable Q.
CDOO02 ASSlQNJVAJt CALL 62QO,SEARCH_VAR Search Tor variable.
J00A JR HC,ASSICK_VAH_2 Juap if variable located.
C5 PUSH BC Stack code for variable najne.
010600 LD BC.0006
CD5516 CALL 1655,KAXK_ROOH Create rooa for variable.
2J INC KL KL: points to start of new rocei.
CI POP BC Cl- code for variable name.
71 LD (HL),C Store the variable name.
?J ASSICX_VAR_2 INC HL HLt points to variable contents.
E* FUSE HL Stack address of variable contents
CDff-J1) CALL 5')H',3TV_P»mS HLt* address of la.it iten on stack
22655C LD (STXEXDJ.HL Delete the ltea fro* the stack.
Dl POP DG DSt points to variable contents.
010VM LS BC.0005
ED B0 LDIR Copy nuaber into variable.
C9 RET Return,
command RAND USR 16520. Philip also asks for details of 9 REM 16530-READ, 16520-REST
READ has two possible forms, LET ZX81 user groups and he should 100 LET C - V A L A«( TO R A N D USR 1
C$=A—$( TO RAND USR 16530) have a copy of last month's 6530)
to read string or character data, page by now which mentions a 110 DIM Z*(C,10)
and LET C=VAL A$( TO RAND few such groups. We will
USR 16530). continue to publish any
120 FOR 1=1 T O C
0
Z
130 LET Z«<I1*A«< TO RAND USR 1
DATA lines are stored In any line information anyone cares to
1
6530)
but with REM and the graphic supply us with for the benefit ot
150 PRINT 2*(I)
obtained on shifted key A you all. Philip himself sent us
following it (a "grey" square).
NOTE that in program 3 this does
not show up on our printer so be
sure to add It In.
some details of a company In
Birmingham, "House of Software".
51 Snowhlll Queensway, which
has some stocks of ZX81 software
160
170
Program 3
NEXT I
REM 4,EENY,MEENY,MINY,MO
<
ot
O
fA O
oo
X
Bubbling lava
To add to your problems there's
also deadly pools of bubbling
lava and platform traps that you
can leap into but can't jump
walk or blast your way out.
The game begins inside the
crashed Rustbucket and your first
job is to find the way out onto
the planet then search a jungle
until you find Spegbott's castle
and eventually your Princess.
Ahead of you lies 20 levels of
vertically scrolling screens that
form the maze of ladders,
platforms and hazards of the
Rustbucket and the planet
outside.
All is not lost as help is at
hand in the objects that you can
find around the ship, although
you will have to fight for them.
Safe passes and securo keys
open and unlock the exit doors
that lead from one level to
another until eventually you find
the exit pass to let you out of the
ship. You may also find bombs
that destroy a screenful of critters
while replenishing your energy
as well as Confusers to stun them
and the mysterious Shorteners
and Flash Bangers.
> L OSilill
u
"WIT:
MI
3 jaiukm
A big time crime
simulation from Ariolasoft.
SOFTWARE
WARNING NOTICE
Advertisements placed in this magazine are to be in strict compliance with our standard conditions (coptesof which
conditions are avatlable on request) and on the clear understanding that the advertiser warrants that his
advertisement(s) does not infringe any copyright or condition of sale of any interested party tn the advertised
product
Further, the advertiser indemnifies the proprietors of this magazine in respect of costs, damages, or any other claims
brought against them as a result of legal action arising from the publication of the advertisement
Any breach of these terms or the said conditions may result in prosecution of the advertiser by the proprietors
48p per word ( V A T i n c ) Minimum £7.20
L i n e a g e rale:
Semi display: £9 50 per single column centimetre * V A T Minimum s i z e 2cm No reimbursements tor cancellations
All ads must be pre-paid.
Write your advert in S L O C K C A P I T A L S in the grid below, ticking the section you w i s h it to appear under I N C L U D I N G
Y O U R N A M E A N D A D D R E S S I N T H E W O R D C O U N T and send it to ZX COMPUTING. ADVERTISEMENT
DEPARTMENT. NO: 1 GOLDEN SQUARE. LONDON W1R 3A6
THE
message or location reverse, you can make even
compression, or an even split. larger games by using memory
Does the compression work? I normally taken up with the main
fried The Press on a fairly Quill program. However, you
standard text only game that cannot add new locations or
used all but two bytes of the messages with it, you can only
Quill's standard approximately 'amend' them. You must include
30K free memory. On fast blank files in your original which
compression, I managed to Iree can be filled in after
9677 bytes, and the process took compression so your adventure
just half an hour. Slow should be precisely planned.
compression was not noticeably The Press includes numerous
The Press better, saving 9936 bytes but other helpful additions to The
Gilsoft taking eight hours lo do so. Quill, most of which previously
However, with more complex and formed The Patch'. The functions,
£6.95 varied prose, and careful bias which are controlled using a
T / i e press is an adventure utility selection, slow should be more flag and a PAUSE statement in
to complement the ever-popular impressive (Gilsoft say 50% is your original Quill program,
Quill and Illustrator programs. So possible on some texts). Most include; split screen graphics of
don't expect this review to be people — particularly any size you wish (which they
technical. I firmly believe commercial writers — will always scroll up with the text), single
adventures should be written not use Slow I expect, unless the command graphics on/off
by programmers, but by authors, compression is being carried control, a single command
who have little need for out lo cram in just a little that restart, some sound effects. RAM
technical jargon. couldn't previously be fitted in. SAVE/LOAD facility, the ability to
Primary feature of The Press is There is an option to use a incorporate different typefaces,
the text-compressor, which compressor dictionary' and a few features which make
reduces the amount of memory prepared with a previous including your own routines and
used up by location description adventure; this is faster than loading game data between
and messages in your Quilled normal 'fast', though to most parts of a multi-part adventure
game. The program is loaded in people memory will be more easier. All of these are extremely
from The Quill while your important than speed, useful and most are vital to use
database is present. A short The compressor has useful if you wish to market your
menu appears, the new feature implications. You can now write adventure.
of which is the 'Compile and a full length text adventure, If you're already a user of The
Compress' option. On selection compress it and add previously Quill, this package is a powerful
of this, you are given the choice impossible graphics. Or you can and easy to use expansion.
of fast or slow compression. Fast produce relatively massive text However, if you intend to write
will probably take around an adventures by compressing, commercially, or you don't have
hour, while Slow can take ten. adding more with The Quill, the Quill yet. wait until Gilsoft
You are also given the choice of recompressing etc Using The launch their new. Professional
selecting a bias for mostly Expander on the cassette's Adventure Writer.
A high calibre
motorcycle race
simulation from
Mastertronic
Speed King
Mastertronic (MAD
Games)
£2.99
•f you want to add a
motorcycle simulation game to
your software collection, look no
further. Speed King II is an
excellent package, crammed
with options that for a budget
price oflers outstanding value for
money.
For starters there are nine
tracks to choose from, ranging
from Silverstone (the easiest) to
Brands Hatch (the hardest). The
race action itself has been
pitched at Just the right degree
of difficulty. You start at the back
of the grid with 19 other riders to
overtake on your way to the
finishing line. It's impossible to
crash; hit another rider and your
speed plummets to zero as it
does when you career off the and Kempston options) is very The number of laps can be
track. While lacking in realism responsive and unlike some varied from 1 to 9 and as well as
this makes for a better game as motorcycle games does not the one player game there's also
there's nothing more annoying require pinpoint accuracy on a two-player option with a split
than being eliminated for a tiny every turn; missing the optimum screen display.
mistake. line or cornering too fast will just With such a range of options
The handling of the bike result in a rapid drop down the available. Speed King II will
(there are keyboard, Interface 2 field. undoubtedly give hours of
racing pleasure because if you
find the track too simple you
can go on to a harder one or
alternatively cut down the
number of laps.
To keep track of your progress
there is an after race display
which gives your placing, best
placing so far, your fastest lap
and the current lap record.
For the race game fanatic
Speed King It can be highly
recommended.
luNSTIil
HIT
FEBRUARY ISSUE ON SALE 23 JANUARY
MWIfflMMJi
» »
ST
CIRCUITr
but Number Five, designed to be a The president of Nova Robotics wants I
strategic artificially intelligent to capture him before the weapons he's P
weapons system, the most carrying kill millions of civilians.
sophisticated robot on the planet. l And the security chief wants to
[ has escaped - and has come to blow him up so that he can get
the conclusion that he's alive! home in time for dinner.
Now the scientist who put him YOU are Number Five...YOU are alive
together wants to take him apart and YOU have got to stay that way!
/
Ocean Software Limited
Ocean House 6CentraJ Street Manchester M2 SNS Short ( trim) is j iMiktturk ol lrv-SUr HV turfy Inc. and PSO PrpvenUtimi
Telephone 061 832 6633 Telex 669977 OccareG « Iri-SUr Pic tures. Inc. and PSO Prc"*?nuiicjnv Al Ri^lils Rewrwd