+ All Categories
Home > Documents > ZX Computing Magazine (March 1987)...A3DPOWescape gamethatcapturesthe imagination —...

ZX Computing Magazine (March 1987)...A3DPOWescape gamethatcapturesthe imagination —...

Date post: 10-Feb-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
92
>*
Transcript
  • >*

  • CUrinT a=*e. designed to be a ^^ BBM J M The presideially intelligent ^ J | 1 %^ J WW I tocapturehir

    the most Xy B B ^*^^_ B X. B carrjit on the planet. ^^H B^ ^^M | | ^^p And tid has come to 7 J ^^ III blowtthesalivel I I I-/I

    __whoputhim V l|X V I II I YOUareNto take him apart ^h^ X. ^^^H X^ I I and YOU I

  • EXPERT SYSTEMS: Let yi

    M GRAPHICS: How to gel the best out of you'

    V roundup of all the best gi

    DISCIPLE: Could this be the ultimate >

    Jl STUDIO: A sound sampler lor the Spectrum.

    NEWS: The relurn ol Monty Mole.

    « Superboslc compiler.

    Ml

    unu

    CROSSFIRE: Reader

    / Programming advice from Clyde

    COLUMN: Routines from Discovery 01

    NCHOSSWIRES: Problem Page.

    V1 »3,11

    M M-JE,*M M-

    M t~XM 1nt-t-t-s.

    *

    Gauntlet (82)

    PROJECT X: Ray Elder Ihrowt down a programmingchallenge.

    SPECWORD: The last part ol our wordpro piog.SO

    THE BETTER LETTER: Modifying Tasword.

    I II I I I I I^M.phixs 12a: A graphic* utility for the 128

    TMXMAMMSm

    venlom for bolh 48 and 12BK Football Fortunes (12)

    ZX Computing Monthly ' Match 1987

  • mN*I=*W*5Grange Hill After HoursThe Grange Hill cosl getorcade adventure * '"Aigus Press Soltwi

    The plot

    'Goncl?Gar

    MontyReturnsAgain

    ZX Computing Monthly March 1987

  • Joystick

    To Hand

    Yearplanner Winners

    winrlhv c.i W.lllam MeGanagle.don SE18: H Spall. London SE7;

    SWIl! G. Slake Glasgow; C Mor-

    royd, London SE15: B.I. Wick.j-i.

    don SW18: T. Ridley-Thompson,

    DV. Flllp. GeraardsBergen, Bel-

    New AlignmentsLoading problems? Interceptor Micros have Just released ar.Azimuth Head Alignment Tape lor 4SK and bolh 128KSpectrums. Avid Azimuth checkers should note that (he

    Azimuth Head Alignment Tape

    ThroneTogether

    game Dark Si-.'Tirri-ror Beyond Sotlwa/e he

    see me light ol <I

    ZX Computing Monthly *

  • Enduro Racer

    SJ bU ^U!

    Super Sundaya Superbowl, Nbius are releasing an

    called SuperSunday. Coiling10 10 of the teams who have

    Super Sunday will combine anlmallon with players'

    ve during Ihe play. There Is a Iwo player optionerwtioptionbased purely

    during Ihe play. There is a h;e on the computer. There Is al

    Lift for Quicksilva

    illlng. Otto can certainly lake careeio siiool, jump, ride, duck and karaleki'Ihe gome lelalls ol EB.95.

    Indoor Games

    Adventures On Paper

    Adventure Creator havereleased a new Designerpad lor Adventurers. Eachpad consists of over 200

    double sided A4 pages and

    writing more etllciently. TheGAC Designer Pad costs£7.95 plus £1.25 p&p.

    Incentive Software, (0735677288).

    ZX Computing Monthly

  • ICONS ANDOLD MASTERS

    (A

    SIBPiHere's your chance to win one of twenty-five copies of Icon Graphix

    i\ Audiogenics'd lean Graphix

    126 are on ofler in Ihiscompellllon designed forconnoisseur. II you are aSpectrum owner, don't dejust lick the appropriate

    I

    the entry coupon and il\

    decision Is I

    Send your enlrim

    o to wcorrectly Identity the Ihre

    this page and name Ihe artistswho painted them.

    It you can spot all threepictures and their painters andare among the (Irsl twenty-fiveentries pulled out of Ihe hat, youwill soon be creating modernmasterpieces on your Spectrum

    Then Graphix.;ompetltion Is open tolers except employees

    Argus Specialist Publications,Chase Web and Audiogenic

    Graphix Competition, ZXCompuling. No 1 Golder

    April IGlh.

    Graphix Competition

    A) Title - ( 1 Artist - [ )

    B) Title- ( ) Artist- ( )

    C) Title - ( ] Artist- I )

    Please tick your ma e - 48K D 128K

    Send your entries toGolden Square. Lon& Graphix Competition, ZX Computing. No 1W1R3 AS

    a2OO

    ZX Computing Monthly > March 1987

  • A 3D POW escapegame that captures theimagination

    —ocked in a prison camp ycuidally routine consists ol ro cons©Here Ise periods and escapeattempts,

    than lew seconds you'laulomallcally follow the doilyroutine of sleeping, walking andeoling. It you want to trysomething else then a press o!the fire button regains controlNow you con explore the campsearch and find potentiallyuseful objects and scout ouipossible escape routes. Bui youmust return lo the camp routineIt you want lo stay out of 10 ton/

    Swapping in and out ct this"auto prisoner" mode is

  • The answer to theSpectrum-users prayer

    thedlSCDPLE

    AVAILABLE NOW!the all purpose interface to tak>your Spectrum to the limit

    Use the disciple with any Spectrum - even the new Plus Two mo>

    thedlSCPLEer for the Spectrum L09.93 (inc \

    FABULOUS PACKAGE PRICESDisciple/Drive from £155.

    Dlsciple/Drlve/Printer from £325For more information call uson 01-203 0191 or visit ourLondon showroom for a

    demonstration

    n Technology (or Rockfo t Products (a trading division of Vignesh Ltd)

    To: Rockfort Products, ai CHjMilkMUn Sor,MW4

  • riESJ—af+ni *

    1 sr~ |^ '\f>'Js^M (C^^SD

    software getting harder.

  • JclSMF

    JLK*f •

    m & Amile November 20thodore 64ile January 20th

    Trade enqufrf

    Sales dept..Castle Lodge, Cattle Green.Taunton, Somerset TA1 *ABEngland

  • Brian Clough'sFootball FortunesCDSS14.95

  • Ray Elder sets the next

    programming

    challenge In this

    interactive series.

    present a problem, discussmeans of arriving at o solutionand Ihen leave II to you loproduce the coding to do thelob,

    First may I say that I waspleasantly surprised at the goodresponse from the last Project X.Entries are still arriving and I willpresent the solution which I thinkIs most efficient, original andinteresting In the next Issue,meanwhile on to this projectwhich Is , ,

    ,

    The Shuffle

    Over the last few years I haveseen, used and devised severalways oi simulating the shufflingol a pack ol cards. As a sideproduct the solution lo this mayalso be a means of producing anon repeating sequence of

    widen Ihe scope of theapplicafions of this e1 Identity Problem.We need to be able to

    a series of numbers 1-52. 'represenl the 52 cards In

    order with no repetition opreviously si

    ds.

    n of process.This Is fairly straightforward in

    o] Set up a representation ot a

    b) Swap Ihe cards positions Inthe pack [Jumble up or Shuffle).3. Possible Approaches.

    In practice theimplementation offers severalways. The Random numbergenerator will obviously be

    J" n order to elfecl Ihe

    I d thencomplex part is likely Icmeans ol ensuring thatselections are not repeat.

    • the

    seen this happen) a card issimply selected purely atramdom. The player loses faithin ihe program when helshe

    One opproach would be toselect a card af random andthen check it against a list of thecards previously chosen to make

    the c

    the way the card will beselected. It coufd be astraightforward random ibetween 1 and 52 [INT[RND-52 + 1]] and fhen us

    and value. IE. i may equ<ACE o 1 =*•«« "

    Thee dbe. ..... IFSlnumber] THEN

    GO TO choose again line.This is perfectly OK for games

    where only a tew cards arerequired each hand [such asponloon] bul It a lot of cards areused Ihen the selectionprocedure slows to an

    reselections and checks need lo

    problem of keeping another

    reference.

    An Alternative?

    Rolher than till Ihe empty array

    first ft i shill p

    HARNDn Si 52

    array, eg: LETA=INT|RND-52+1):LET

    :. ;-,Al:i,!

    S[A)=S(B):IET S(fi] = XPut this in a loop for as many

    times as If takes to get a good~ : " and away we a - 'Ofo

    Personally I wouldn't use eithemethod, but I thought It worthlooking at the first two ways

    has a wider application than ford shuffle in that it Is afective way ot producingerica! non repeating

    If you think of a pack of cord

    Spades. Diamonds andClubs

    are Ace, Jack, Queen oneKing..!:;. ,]

    ter bods In mind. NONE c""'"""- ames begin with Ihe

    this means we could set up ao represenl the cards,S,D,C,AJ,Q, and K lo

    represenl each of these words. Atypical set up might be LET- ...... . -.:HQHKHAS2S3S4S5S6S7S8S9STSJSQSKSAD2D3D4D5D6D7D8D9DTDJDSDKDAC2C3C4CSC6C7C8C9CTCJCeCKC"

    Note that I used T to represent10 because this then means thateach card Is represented byonly two characters. Shufflingbecomes a matler ol pickinq anelement of CS at random,removing it from Ihe string andadding it to the front or the endof Ihe string for os many limes asit takes to get a good mix.

    If you set up the variablesT.J.Q.K and A to a value ol 10Ihen finding the numerical valueof the card is a motter ol gettingthe VAL of the firs) of the twoelements that represent a card.So now what? I hope this hasstarted a few Ideas buzzingaround and, |ust like the last

    [(-.suits ol your ideas, especially ifyou Know of, or create acompletely unique method ofsolving the problem.

    What we would like is a shortprogram which shuttles a packof cards and deals two cardslace up. We do not wont a lull

    consideration the solution lo Iheshullle problem and the qualityof the graphic representation ol

    The program(s) which Impressus mast will be featured, andtheir authors suitably rewarded.

    ZX Computing Monthly March 1987

  • FIRST STEPS INTOMACHINE CODEAlan Davis makes thetransition from BASIC

    Into machine code.

    \^losl people seem to iind nogreat difficulty In becomingreasonable proficient at BASICprogramming, after littlepractice and experience. But

    is of BASIC seek to gofurther — and tind themselves upagainst the notorious "machine

    sadly, many (ail to cross (thoughoften not for wanl ol trying), andI gather that the question "Howdo I pass from BASIC to machinecode programming?" Is still one

    10.12!'Hellol" - but it doesn't.When we program in BASIC webeing spoon-fed by a complexand length program which Ispresent In the Spectrum w 1- - -

    the ZXC moilbag. So here's myown attempt to provide a verysimple approach with ominimum o< jargon - by which Imean VERY SIMPLE INDEED! I'mgoing to sacrifice discussion ofa number of Issues which wouldbe theoretically desirable,because the most Importantthing is to make that initialtransition and actually writemachine code programs, nomotter how trivial. Even if you'vetried before and tailed, I hope

    I

    can persuade you lo havenother go — because I'mconvinced that most peoplegive up simply because they'vetried lo swallow too much, too

    The cursed hex

    you*' Kll-ily 3by hexadecimal, tousled by"two's complement", andstultified by "the stack". Buithough you'll EVENTUALLY needto get to grips with such things ilyou're to become reallyproliclenl, you can In tact gelstarted wlthoul them. There arecertain disadvantages In doingso — but we're desperate folk,and desperale measures orecalled lor! So let's begin. What,

    Though you may not beaware of It, you're usingmachine code every time yourun a BASIC program on yourSpectrum. You may think that the

    mputer understands BASIC

    i, port e taskir BASIC

    instructions into a torm thai theheart ol the computer — the Z80microprocessor — can copewith. What the ZSO understands isthe stuff we coll machine code:a sequence of numbers whichcause the Z80 to perform certai

    eby-p

    First steps

    stha

    So let's write aprogram. First isecure an area of memory soihol any fiddling aboul in BASICthat we do won't Interfere with it.and we can do this using CLEAR59999. This means that we cansalely manipulate any addressfrom 60000 upwards Next, enterthese two direct commands, oneafter the other:

    POKE 60000,0POKE 6000,201What you've Just done is to store

    ' ch together

    program) in the Spectrum'smemory at addresses 60000 and60001. What we do now is todlrecl the ZBO's attention lo thissequence ot numbers, and youcan do this by enteringRANDOMIZE USB 60000 Try ilyourself, now. You might thinklhat nothing hos happened —but you'd be wrong: quite a lothas happened, inlacl. First, theZ80 k it theaddress 60000, and found thenumber 0. This Is the mochlnecode "NO OPERATION"instrucllon which tells the ZB0 Icdo nothing at all. So lor a tinytraction of a second It did

    looked at the contents of thenext address (60001) and loundthe number 201. This Is the"RETURN" instruction, which Inthis case tells the ZBO to leovethe machine code program atthis point and effectively "returnto BASIC". And so the obedient280, without further ado die'that — which is why at the

    Now. the good news Is that Inunderstanding that, you'veunderstood a machine codeprogram. Ol course you'll veryrightly point out that It's not avery uselul program - but thatdoesn't matter. The Importantthing lo appreciate is that whatto us looks like a siring ofnumbers Is effectively asequence of commands to the

    problem; I'm not a Z8Q. andneither are you. The numberdoesn't immediately make usthink "DO NOTHING" and thenumber 201 certainly doesn'tmake us think "RETURN". If wehad to learn to read and write

    would be very hard Indeed —but fortunately, we don't have to.

    What we need, really. Is somesort ot intermediate language toact as a buffer betweenourselves and the Z80, andfortunately such a languagedoes exist. It's called ASSEMBLYlanguage, which is a kind ofdrastically abbreviated pldqlnEnglish where each machinecode instruction [fhal Is, a

    represented by a mnemonic (asel ol letters) which Is mucheasier for us to understand. Totake an example, il we translateour little machine code programabove Into ossembly language.It looks like this:

    It; I can understand

    wants nothing moren NUMBERS. The

    solution lies in an ASSEMBLERprogram - and Ihls, I'm atrald,is the point at which you'll needto blow the dust off your cheque-book. There are plenty ofassembler programs on Ihe

    familiar with all ol them myself.having settled long ago onHisofl's DEVPAC assembler. I'vealso heard of friendlier programsavailable these days, moresuited lo beginners.

    /VJ0 c

    ZX Computing Monlhly March 1987

  • LWJLISTING 1 LISTING 3

    Do not hing, then return Bead c ontents of one address.to BASIC. add on e, and put result into

    anothe r address.60000 10 OEG 6000060000 20 NOP 60000 10 ORG 6000060001 30 RET 20 LE A, (ADDR1)

    60003 30 INC A60004 40 LE IADDR2J.A60007 50 RET60006 60 ADDR1 DEFB 260009 70 ADDR2 DEFB

    LISTING 2 LISTING 4

    Copy c ontents of one address Add th e contents of twointo i nother. addres

    a thirses, and s tore result in

    60000 10 OEG 6000060000 20 LB A, (ADDR1) 60000 10 ORG 6000060003 30 LD (ADDR2),A 60000 20 LD A, (ADDED60006 40 RET 60003 30 LB B,A60007 50 ADDR1 DEFB 2 60004 40 LB A, I ADDED60008 60 ADBB2 DEFB 0- 60007

    6000350 ADD A,B

    LE IADDE3),A60011 70 RET60012 80 ADDR1 DEFB 260013 90 ABDR2 DEFB 360014 100 ADDR3 DEFB

    order to get all the listings givehere I Instructed tllo print a

    '

    your program Into machinecode. Bui it should also domuch more. For exomple, It

    numbers which, though nolessential, help you lo keep trot what you're doing. II will cyou lo atloch LABELS to cerla

    iking

    e°E"ngllsh"allow you lo use certain otherins true I ions [assembler directivesand assembler commands)which are not Iranslaled Inlomachine code, but whichInstruct Ihe assembler programlo take specllic actions — and

    rally make life e, lli(,r^ ion cut h

    if lime reading a

    il for yourorder lo disco-

    t editing facilities o,e lo you. However, ci will make Ihings

    ZX Computing Monlhly '

    a program Ihe rr

    listing the machine code theproduces; Ihe Z80 needs Iho!numbers, bu! we don'l at Ihisstage. On. fhen to Ihe progra

    where to put the machine coII generates — ond in our caIhis Is la be from addresses60000 onwards.

    Line 20con!ainslheflrslactual assembly languageInstruction (NOP], and line 30completes Ihe program withRET Instruction. The lefl handcolumn of the listing isproduced aulomalicolly whethe program

    '

    when Ihe ~

    Registers

    Ihis lime "Can we have aprogram which actually DOESsomething, please?" So lei's

    Z80c_..

    ine code Instruction

    e code program

    ido.1

    u probably ke Z80 h

    kUMSIMK. lmay also kinames: the res me "A' regisler."B" register. "C ". and so on. Each

    e hold any one number

    - just IIid 255 [i

    Speclrum's memory). I

    e BYTE

    ;o toe outside

    world (le, the Spectrum'smemory). The ossemblylanguage insiruction LD, 8.A, torexample, means "copy (or LoaD)the contents ol the A regisler IntoIhe B register': Similarly. LD CB

    Thaiibers directly IntoiO lhal LD A,23 (orsans "put IheInto Ihe A regisler".

  • LLLUprogram causing Ihe Z80 tomu tier awav merrily to Hsell.swapping numbers back andforth between Its registers withaffecting the outside world at

    nbvak lhal's i

    jragram that

    hastily on. How can we passInformation between Ihe Z80ond the Spectrum's memory?

    The simplest way of doing II Isby means of an Instruction suchas LD A, (address). This wouldcouse the ZBO to look of thespecified address In theSpectrum's memory, and copy Itscontents Into the A register. You

    e processri the LD

    (addressl.A — which would iihe ZBO copy Ihe conlents ol IheA register Into the specifiedaddress In the Spectrum'smemory. [There's a limit to who!you can do In this line, however,and Ihe A register Is the onlysingle register which cancommunicate dlreclly withspecified addresses In this wayLD B, (address) Isn't allowed, lorinstance).

    I fhlnk you'll see that wecould use these Instructions tocopy a byte trom one memorylocation to another, thus:

    RET

    oddress 60010 Into the A regislercopy II into address 60011 andIhen return to BASIC (To do thesame thing In BASIC you'd usethe Instruction POKE 60011, PEEK600101. This would be line II you

    rfilch memory

    ist, not until you've assembledir code. It's time tor the trustyembier program to come torescue again, so let's have ak al Listing 2.

    LabelsThere are two new concepts

    concerned wllh the ability ol anassembler program lo give youtin eaiy rim,., oe 1i:ii is lb,..concept ol labels. When I typedthis assembly languageprogram In, I decided totwo addresses ADDR1 ancADDR2 respectively - and solines 20 and 30 contain theI nslructions needed lor copyingthe contents of ADDR1 IntoADDR2. The assembler isperfectly happy about thisprovided I tell it what I mean byihose labels somewhere — andI've done this In lines 50 and 60using an assembler directive"DEFB number". (Think ol DEFB asmeaning "DEFine Byte".) When

    - _jr2lnADDR1 and the number InADOR2. As you can see tromListing 2, the assembler hasallocated ADDR1 Ihe value60007, and ADDR2 the value6008, neatly tucking our reservedbytes away al the end ol themachine code program Hsell.Incidentally, you may havenoticed that Ihe addresses In Ihe

    Initially In steps ol Ihree: this Is

    Instruction corresponding lo LDA.[address) consists ol threenumbers — one lo specify theactual Inslructlon LD A.(number)ond Iwo more to specify theaddress concerned. Bui don'tworry about It (or Ihe present —that's Ihe assembler's |ob, not

    You can try this lor yourself bytyping the program into your

    Ing lo BASIC B

    check tor yoursell that PEEK60007 and PEEK 60008 give Ihevalues 2 and respectively. Nowenter RANDOMIZE USR 60000,ond do your PEEKs again. Thistime BOTH oddresses shouldcontain the number 2. providingthai your machine codeprogram has Indeed copied thecontents of Ihe first address intothe second. POKE anothernumber Into 60007, tryRANDOMIZE USR 60000 againand Ihen have another PEEK.

    Again, it's Important that youdo try these things tor yoursell,as opposed to merely readingobout them, II only lo becomefamiliar with the use of yourassembler program. Tryextending the program In Listingso thol It will copy the contentsot ADDR1 Into TWO otheraddresses (you'll need to oddanother Instruction LD [ADDR3),A,and use DEFB to reserve anotherbyte labelled ADDR3).When you've mastered the

    foregoing, you'll won) to stretchyour newly grown machine

    Instead of merely copying

    a lew changes. Actually, It's notdifficult to do so becausesimple Instructions exist forincreasing or decreasing thecontents ol registers by 1 — lorexample. INC A [ "increasecontents ol A register by 1 "] andDEC A [''decrease contents of Aregister by 1"), Listing 3 showshow INC A can be used In aprogram lo transfer the numberheld In one memory address toanother. Increasing It by one enroute. Try It for yourself. PEEKIngIhe appropriate addresses bothbefore and after the machinecode has been run lo checkthol oil is well, and

    using DEC A — or try using

    try

    AddingOur last example - listing 4 -shows how simple addition otsmoll numbers can be achievedusing the Instruction ADD, A.B("add contents of 8 register tocontents ol A regisler, leavingthe result In A").Tl you follow fhlsroutine through, you'fl see thaithe contents ol the memoryaddress ADDR1 are copieddlreclly Into Ihe A register, andihen Into the B regisler usingLD BA. [We need to take thisIndirect route because there's noLD Bladdress] instruction). Then Areads In Ihe contents ol ADDR2.and the addition is performedby ADD A,B The result Is now Inthe A register, so we finished olfby copying H Into a Ihlrdaddress, ADDR3 before returningto BASIC Again, you can checkII all for yoursell by PEEKIngADDR1 [60012], ADDR2 [60013]ond ADDR3 [60014) before andafter running the machine code.You can also try different

    by poking

    Jbtracllon, then by allda so: the Instruction you needIs SUB B ("subtract contend m Rregister from conlents ofregisler, leaving the resu- but for the present

    AT

    'III produce a

    In this article, and you may beunderstandably disappointedthat our progress has beendecidedly limited. Well yes. Ithas — and very deliberately so. I

    II f-

    excess ol 255; and lots" morebesides. Thai's a job for Ihelulure, though, and the ImportantIhing for now Is to gel your fool

    code ladder; to make thaicritical transition towardsthinking In terms ol registers andoddresses. Use the Ideas In thisarticle to write simple routines

    useless they may be except aspractice examples - and thencongratulate yourself when youget them working. Famillorlty Is

    Once you've got this far. thenyou're on your way. But whatnext? Well, you could do muchworse that to buy "MachineCode lor Beginners" publishedby Usborne at a mere £1.99. Thiswill gently [ill m muchbackground material that I'veomitted here, and Indeed willtake you further on. Or, youcould wall until next monthwhen I'll be delving further Infomachine code , ,

    .

    ZX Computing Monthly March 1987

  • @@ ®(^^

  • EXPERT SYSTEMSTransforming your

    Spectrum or QL info an

    oracle of advice —with David Nowotnik.

    _ast month, in pari 1 o' thisseries. I described the essentialelements that go to make acomputer expert system'. As a

    provides the means to placeInto a computer not only theknowledge but the experienceol a human expert, which a non-expert can Interrogate to obtainbenefits such as advise. Table 1lists the Important parts ol anexperl system, and in this article.

    elements, providingdemonstration programs for QLand Speclrum computers.

    Like ony olher programmingproblem, there Is no singlesolution to the production ol anexperl system. There are manyalgorithms already, and manymore Ideas are beingdeveloped, so all I can give you

    e shallsystem. This nexamine Iwo ways in wnich youcan get a computer lo come to

    Go along lo a human expertlor advise, and Ihe usual courseof events Is something like this:

    First of all Ihe human expertwill ask you to define Iheproblem, to determine exacflywhat you wish lo know Irom him.

    These questions are selected byIhe experl to provide him wllh

    knowledge base. II is experiencewhich guides the direction ol hisquestions. In an ideal world, hewill end up wllh sufficientInformation to provide a perfectmatch wilh somelhing In hisknowledge base to give you asingle, unequivocal answer.

    The real world Isn't quite like(hot; your expert's knowledgebase may not be perfect tor Iheproblem you have, you may notbe able to provide all IheInformation required. You oremore likely lo end up wilh oneor more opinions Irom yourexpert, each opinion withdilterenl level of certainty.

    Lack o! certainty [uncertainly!

    s;forn

    1. Knowledge Base

    2. Inference Engine

    3. User Interface

    4. Use of Statistics and Probabilities

    5. Ability to learn new rules/knowledge

    6. Provide an explanation of its decision

    expert systems produced lo dateare designed lo tackle a fairlyspec i tic problem. So, with Ihecomputer expert', you havealready defined Ihe problemyou wish lo have solved byselecting o particular experlsystem, when you RUN anyexperl system, you should get a

    of expertise lhal program Iscapable ol dealing with, andyou will Immediately start thequestion and answer dialogue.

    "—-. Ihe experl know

    hquesedow

    (Ives? Theseare Iwo Imporfanl queslions Indesigning an expert system, In

    considering Iwo solutions.Consider this ralher trivial

    i. You w

    i ol transport. The experlwill ask you a series of queslionsrelating lo features of Ihe type ol

    type of transport.Yes, it is trivial, bul I have

    deliberately chosen an exampleIn which we should all be'experts', so thai you can

    choosing questions, and theInterpretation ol answers.

    In the example programs Iprovide, our computer 'expert' Isoware of 13 modes of transport[see program lines 1500 to 1630In Fig. 1 or Fig. 4). One strategyfor lindlng the right answer Is toask a series of questions, each

    Pathways

    expert on transport (mi

    selected a set ol questions lowhich the user provides yeslnoanswers There is a sel paththrough a series ol questionsIrom fhe slarl of the Interrogationlo any one particular onswer.Fig. 2 shows all the palhsIhrough Ihe question andanswers In Ihe experl systemlisting given In fig. 1.

    The first question Is always Ihesame; does Itie vehicle Iransportpeople on land? A 'yes' answerImmediately eliminates w

    t travels on rails. IIthe answer Is 'yes'. Ihe problem Issolved, and Ihe answer train' Isgiven; it the reply Is 'no', then Iheexperl knows the vehicle travelson road, and Iwo morequestions are required lo

    ? which ol the lour road

    For any expert system usingIhis serial approach to decisionmaking, the human experldesigning the system

    '

    5. Thequeslions hove lo be un-ambiguous, so that Ihe user can

    time; any one incorrect responsealways ends In a wrong answer

    But, t e thefallings of this approt . ... ._deeply, why not try II out toryourself. The listing in Fig. 1 Issuitable lor both the «L andSpeclrum. The program waswritten on fhe QL (hence thecommand REMark, which willappear as REM on IheSpectrum], bul tested on both

    QL SuperHASIC perfection I siswill be horrified by all IheGOTOs and GOSUBs, bul someallowance had to be mode forthe Spectrum's less structuredBASIC! Speclrum users shoulduse '+' Instead ol '&' tor joiningstrings (lines 5200 and S210], and

    ZX Computing Monthly March 1987

  • uw

    ':)» — con . o, .^B ...lold.ellcnnH.Kto,,., """"'»-.,.«~™r |

    I.. -1

    r,

    | r Basse |T= 1-

    1 i

    !"

    ] nil|

    ;=| |

    sis|falsi .:...

    :

    |

    d3 LnJ 1 i—

    i

    L^=J l-l 1E==l G=D t—] C±] C~] E=3

    provides Ihe title and purpose olour expert svslem. Once this Isprinted (line 130] and generalInstructions appear on thescreen (lines 150 to 190). themain question and answer loopIs entered. The questions,

    RESTORE is used extensively toretrieve the appropriate piece ot

    loop. Ihe variable < Is set to2000. which Is Ihe DATA line lorthe first question. F/om this DATA

    READ, a.b. ond c 'a' Is the linenumber ot the question(character string) to be asked, b'is Ihe appropriate DATA line Inthe knowledge base it the

    5S<aOOa.a.

    t-Ouia.

    ZX Computing Monlhlv March 1987

  • roullne at 5040 ensures that thequestion is neatly printed on thescreen, while lines 5000 to 5120

    among oishould, as non-experls get sibenefit on terminology on

    set ol questions

    AmbiguityLike most 'experts', while I believemy questions to you (as placedin this computer program) areclear and unequivocal, youmay well lind them contusing.This expert has no option tot the

    shown In Fig. 2, then translatethat to the data required lor theknowledge base

    that, please re-phrase thequestion" (also the case (or mostexpert systems]. Even the llrstquestion "Does II travel onland?" may provide uncertainty.

    on land, but I, as the transporlexpert', decided that hovercraftare used principally for searmnspoM. Iherelore would expect

    qu'L'Li'on if ihe user were thinkingol the lectures of a hovercraft.

    But like this system or not, it isIhe way mony human expertswork. Not only Ihot, ihe programI have given you provides qnexpert system 'shell; to which

    making declslthardy: II Is a little rash to

    possibililies on the outcome oquestion, which migh

    nol only the tllle ot our expertsystem, but two numbe*number ol questions a .._answers In our system. These two

    et up a siring array240. This array

    corresponding fo expected noand yes responses to eachquestion for all 13 modes ottransport in our knowledge base

    All 10 questions are asked; inresponse to the user's reply, avariable M) Is filled with zerosand ones (lines 300 and 310), toget a string the same length asthe strings in the knowledgebase, once all questions areanswered. This reply string isthen compared with the strings

    ato

    example This is an alternativeknowledge base which allowsyou. using the same program, todetermine Ihe name ot one ot

    appendicular bones. Lines 800to 3130 replace the Iran sport

    3. This Is

    trie parallel approach todecision making, and thisapproach Is the basis tordecisions made by the progranlisted in Fig. A

    There are several passages inthe program In Fig. 4 which are

    rl ....

    delete or overwrite lines 220 to800, and the knowledge b2000 to 2120. There is sllghmodilicalion required to ft .questions (lines 1000 to 1090) amla line 5020. The C

    Perfect MatchThe llrst check (Iis to determineperfect match ca string of yi

    s 330 to 3S0)

    be found, le.

    again, optio.in:) r.

    e siring joining '&' operalor Ir

    exactly the expert's opinithe expected strli '

    II o match is tound, then the

    If no malch Is found, thecomputer first tells you this. Ihei.go. : ilnoi.,c;h a foul ne li s a'H;to 500) to delermine which set olexpected yeslno replies In lis

    matches Ihe replies given by theuser. To do this, II goes through

    checking the expected

    nd awards a score, depending

    ie score It a "yes' answer wasIven. when one is appropriateir that particular Item and

    ZX Computing Monthly March 1987

  • question (line 450], and 1 i!subtracted tor a 'yes' reply'no' was expected. InIhe item with the max'score' is identified (line

    Logic might suggest480).

    In which yicertain oscoring system used does wremarkedly well, without theselogical' additions. In tact, asIhere ore far less Yes' answersthan no' In every string In theknowledge base, matching 'yes'answers are more valid thanmatching "no's".

    Another argument against Bill-"3rlng system is that, for any

    mportanl than others inhVJilhd IV'-. :

  • LRUAlan Davis explores the

    possibilities for printing

    graphics.

    no recent issue of ZXG Iwrote a short piece about theKempston "E" interlace andAmslrad DMP 2000 printer,specifically to polni out howpainless I'd lound it to set up

    e that isi. Ol

    e obviously you condo a great deal more wilt- si.cha .yslcm that merely LPRIM IUSIand COPY. What I'd like to do inthis orlicle is lo explore some otIhe graphics possibilities ol ihusyslem, and since Ihe Ami'-ui isEpson compalibte, the rout 10sshould work perfectly well w inany Epson-type printer wh^cn iscapable ol small (1r216") linefeeds

    Regular readers may besurprised to discover lhat theorigin ol what followsnothing lo do with adgames al all [Gasp! Shock!], butIhe [act is lhat I also use theSpectrum (or serious scientificwork — and one ot myrequirements lor Ihls Is to beable lo gel hard copy ot grophsol fairly complex mathematicalfunctions Now it Ihe graph youwant to plot is fairly simple,Ihere's no problem. You can justwrlle a program to draw II onscreen, and then COPY theresult. But the screen resolutionol 356x176 pixels is too coarse forihe applications I hove in mind,and so some woy ot getlinghigher resolution had to be

    The approach I adopted wasfairly obvious: instead of drawingthe "y" axis ol Ihe graphverlically on the screen. I turnedit through 90 degrees and drewit horizontally, so that the "x" axisbecomes vertical (with xincreasing downwards]. Thegraph is men plotted eight

    e(l« lighix values) lo line 21 on

    ihe screen, the whole screenbeing scrolled upwards by oneline between the plotting ol onebatch ot eight points and thenext In Ihis way you can getany resolution you like along Ihecm\ il necessary plolting andscrolling many screentuls ofgrophics before the wholeprocess is finished. Naturally,though, you'll never see theentire graph on screen al once,because the early parts willk~ e scrolled otl the top of Ihefinished.

    What we nemethod of

    e the thing has

    rrlng jusl aof graphics data (lint

    case] from Ihe screen

    between point plotllng andscreen scrolling. Bui sadly, there':no single printer command fordoing ihls. The Kempstoninterface will give you a fullscreen copy, but not |usl one

    wrogrammlnga .. - this.

    Bit imagesThe key lo the problem lies inIhe "Bit Image Mode" primercommands. There's a fair choiceof these on the Amstradmachine, and In Ihe end Isettled for "double density"mode. This gives a printed dot

    spacing which Is half thatoblalned with "single density"mode — and therefore a prlnteimage ot higher quality andcrlspness. The relevantcommand isTranslated in this

    the printer the codes CHRS 27[ESC], followed by CHRS 76 ["L").followed by two mysteriouscodes n1 and n2. These last Iwocodes tell Ihe printer how manybytes ol graphic data are lofollow, and logelher they form atwo-byte number where nlrepresents the low byte, and n2

    Y So If you want to print.say, 258 bytes of data Ir

    ZX Computing Monthly March 1987

  • IJll

    [2+1x256) 258. Yes? Right!Now. lo copy single line

    the screen (elghl pixels high i256 pixels wide], we need losend 256 bytes of dala to Iheprimer — but since we'll beprinting in double density mcthis would produce a finalImage at only half size,

    CHRS 27; "L"; CHR$ 0; CHR$ 2;

    forming a single byte of datafrom eoch vertical column ofeight pixels and then shovingout to Ihe printer. Von can doin BASIC - bul frankly, life's to.shorf! Assuming you'd like to S'your hard copy Ihis century

    problem. Ilisting in some aeian «should be able lo folio

    .]"'.i;iil;y (As wr lien, in

    organised at the start ius:-;;r-d!.;(iriod graphics65368).

    Slrictly speoking. c"rt BASIC

    'S the printernage mode.

    transfer the 512 bytes of screeline data, and then fells Iheprinter lo do a carriage retuiand a line feed ot 8I72"[equivalent to elaht vertical i

    spaclngs) at t md, II

    1) LPRINT CHRS 27; "L"; CHRS 0;CHRS 2; (See above)2) RANDOMISE USR 65368Ssend Ihe data)

    .) LPRINT CHRS 13; CHR$ 27;"A"; CHRS 8; (CR then 8/72" LF)

    We could then coll thissubroutine after every eightplotted points, and away we go.Well, yes - but we can actually

    ssion. At II-

    d a line feed ot 21:216"g a fatal of 2-1/216". oro get ihe printer ready forit line ol ddto. What we9 by Ihis is selectivelylot density In Ihe x

    Listing 2 gives on eidmpleapplication ot Ihis process, Iheimporianl pari being Ihe

    employs all the little tricks we've|usl been discussing. The

    produce d graph of Ihe lunclioidefined in line 3 (which is ot noimportonce except as an

    Ihe final prinled result.Incidentally, the machine codeis so short lhal it's hardly

    ZX Computing Monthly

  • am

    lust pokes it in Irom BASIC whenthe program runs. Just a coupleot further points about Ihe listing:[a) You need to instruct yourinterface to turn otl the tokensbefore proceeding, and line 10

    Figum 3. Variable donilty icrsen copy

    does this for the Kempston "E"Interface, (b) Lire 20 is neededonly It your printer is normallv

    $,

    ^HERL0ClU|

    CF

    so much of Ihe printer handlingto BASIC, and there are tworeasons for this. First, given themochlne code routine to transfer"i< printing which takesif" "1.1. ol Ihe time, so thatthere* very little to be gained bywi i.ry -~>e remaining bits Inrracr -n- code. Second, with thei ;:r-> .hie as it stands you conihJcJIh osoul with It eoslly. Youmight, for example, decide to golo' cr y -wo passes of Ihe print-head rather than three, In orderto speed up Ihe printing - andIt you do you'll need lo changethe counter in line 200 (FOR h =TO 1|. and to change Ihe line

    teed in line 230 to 22/216".

    linly Is

    a variable density screen copyroutine so that you cancompensate lor Ihe wear onyour printer ribbon? You would -?Then read on I

    The Kempston "E" Interfaceallows you to get two kinds ofscreen copy — an enlarged onewhich is line tor most purposes,and one of "normal" size whichis OK but could be beller. Thislatter is a single density screendump [which looks rather ghostlywhen your ribbon is worn) with oquite badly distorted aspectratio lo boot. It we takecommand of the printerourselves, and scan the screenin rtnps. (treating each stripmuch as we did in Ihe graphplotting example], we canimprove matters considerably

    There's some advantage to begained by scanning the screenin wheal strips rather thanhorizontal ones in order lo get amore acceptable aspect ratio,and as before, it's onlynecessary to handle the Iransferof data trom screen lo printer inmachine code. Listing 3 givesthe assembler program weneed. Though similar to Listing 1,it differs in some important waysnamely (a) II transfers data froma vertical strip eight pixels wideand 176 pixels high; and (b) Wenfiod '0 -ell it which Strip totransfer by poking a suitable x

    -ordinate into 65424 [XCOUNT]liueli is ashoi

    Kit it's readily POKEd Ir.rithin a BASIC program, and I'vicorporated it in this way Into

    Listing 4 is a self-contained

    ZX Computing Monthly - March 1987

  • IMyou Ihe choice ot three printingdensities [effectively you're

    h io copy istil

    you're working with tape jichange line 60 accordingly,

    you'll get a result of higherquality than Ihe normalKempston screen copy wouldgive — and maximum densitywill give excellent resulls witheven Ihe most battered andweary of printer ribbons Figure 2demonstrates the range ofdensities available and, evenwith the unavoidable distortionsol reproduction, may give yousome Idea of the possibilities.

    scratched the surface of whaf

    I find theroutines I've given here prettyuselul, myself. Wifh only a fewmodifications, you should beable Io produce "enlarged"versions using quadruple densily—-

    II you require them. And If

    enough tc

    nothing eldensity copy re

    it printer ribbons. . .-.

    TROJANCAD-MASTER MAIL ORDERADVERTISING

    :!:;

    ,

    l

    ':'.!

    ,

    .:,',,':-'i

    ,

    .i-,.',-.-;.:'".':.;,':.;;':.:'...

    *r„.n in,- .,L ,.,.:. .,.!.„,- i;

    ..-. ..I :,,-,- ..,..,- I *.ih. *l ihe

    , AAJ SUPERB GRAPHICS SOFTWAREafflK PLUS ^ifftiffiVJflW A TOP QUALITY LIGHT PEN ' »»*"*

    Discover the exciting world of creating your owngraphlea on screen.• FREEHAND DRAW 5 pen thicknesses Inc. Quills• PAINT BRUSH - for the artistic touch• FILL ANY SHAPE - use 1 6 colours end 1 1 patterns« GEOMETRIC SHAPES - circles, boxes, triangles, linesA bonding.

    • DYNAMIC RUBBER BANDING on all geometric colors• PIN-POINT FUNCTION - (or pixel accuracy on ell tunebe™.

    features In Die Program + a top quality Lighi Pen and anInstruction booklet inone reasonably priced package. Easy lousefor creating cctourlull pictures or technical drawings. Ideal tor use

    by all ages of micro users Full back-up service trim siflii^manufacturers. Available* at good (tonkin; or direct Dttff^m

    Please stale which Micro. mj^gjgjxm

    I<OS

    O

    ZX Computing Monthly

  • IWHICSbusiness computers hove usedmice lor years, and there orenow a couple available tot theSpectrum (with another on theway from Saga quite soon). TheAtvIX Mouse, from AdvancedMemory Systems, appearedshortly before Ralnblrd releasedArt Studio and, being Incrediblysensible, Ralnblrd made ArtStudio compatible with themouse (though you don't have to

    Studl

    Here it is, the ZX guide

    to the best in graphics

    equipment tor the

    Spectrum.

    Art Studio £14.95Unless you're going to stick toBASIC (not a good idea) the firstthing you'll need when you startexperimenting with graphic!; is agood bit ot software, and, withone possible exception.WuiNbircis Art Studio stands headand shoulders above everythingelse. Despite the wretchedLenslok anti-piracy device. ArtStudio is a tast and flexible- icon-drtverl package that will helpyou squeeze the best out of "~

    Spectrum's graphics capablIt's also available in two ver;for both 48K and 128K macr-(although the 128 version cc£24.95).

    the

    The Artist II £14.95Softek's original Artist programwas good, but a bit (ddly lo use,but the enhanced Artist II hasadopted the same pull-downmenu system as Art Studio andthere's now nof a lot to choosebetween the two programs when

    graphic;allows you lo take text tiles fromSoftek's Writer wordprocessor andadd graphics to them In orderto create a passable imitation ota magazine page — desktoppublishing on the Spectrum!

    Cheetah Mach 1+ £14.95Once you've picked yoursoftware you then have todecide how you're going todraw' your pictures on thescreen. All graphics packagesallow you to use the keyboardlor positioning a drawing cursor.but this can get a bif awkwardunless you've got the lingers of aconcert pianist so a joystick cancome in handy. People's choiceof (oyslick Is fairly personal, butwe've found this one to be goodfor both delicate drawing

    use It wlfh both Kempstoninlertoces and the +2's builJoystick socket. Of course ifdon't have a Plus Two you'll

    Kempston JoystickInterface £6.95Almost as old as the SpectrumItself Is the Kempston Joystick

    AMX Mouse £69.95Everyone's got a Joystli

    "

    they?) but the - -

    among you mlgnr want to :out on a mouse Most 'real'

    complete w _ivn bundled graphics software,^X Art). The mouse interfaceugs Into the Spectrum Just likeJoystick Interlace, Into which

    plugged. A good(hat

    mbillous

    value-for-money leaturithe mouse interlace alsoincludes a printer interlacewhich could save you someII you haven't already gol o

    Trojan Light Pen £14.95Not as flexible as a mouse, butless expensive, light pens haveIhe virtue of allowing you to'draw' directly onto the surfaceot your monitor or TV screen. Thiscan be useful If you're trying lodraw curves, wlggly lines elcwhich can't easily be drawnusing keyboard or Joystickcontrol, as the pen allows you todraw freehand. Trojan's pen

    ZX Computing Monthly

  • comes wllh Its own graphicssoftware, though this isn't assophisticated as It could be

    Kempston Mouse £49.95The price of this Is about tocome down to around £49.95according to Kempston, makingIt excellent value. At the momentItie mouse comes bundled witha copv ot the Art Studio, makingit about as powertul a graphicstool as you're likely to gel on theSpectrum (though when theprice comes down Kempston areintending to replace Art Studiowith their own graphicssoftware).

    The mouse Itself is a sleekwhite unit with two buttons setInfo its 'head'. It's very solidlyconstructed, and wouldn't lookout ol place beside a computerten times as powerful as aSpeclrum. Like the AMX mousethis also plugs Into the Spectrumvia Its own interface which, nolsurprisingly looks just like the restof Ihe Kempston range ofInterlaces.

    Alan Davis. All the software youneed to run It with Is held

    :rd, it's versatile enough toit Just a

    Impprtantly, itoiiougn 10 use that you don'thave fo be a genius In order towade through endless lists ofcontrol codes — unlike a lot ofprinter Interfaces this one isactually 'user-friendly'!

    EuroelectronicsZXLprint III £34.95

    trouble wllh it (this article wasdumped onto our printer with It]It's compatible with bothCentronics and RS232 printers(you lust have to buy Iherelevont cable), and like theKempston '£' II has Its ownonboard software.

    What about a printer?Oh dear. This Is where It couldstart to get a bit complicated.Once upon d time you had achoice between a big expensiv<

    Where there's an interface there'*bound to be a Kempston. andthe Kempston E' comes highlyrecommended by ZX regufar

    fJUAprinter, Ihe Aiphacom 32 andSeikosha GP5C-S) Unfortunatelynone of these are still Inproduction. 'Ihough you might

    floating around In shops.So. you no longer have

    choice — If you want to printany of your graphicsmasterpieces you're going tohave to fork out somewhere IrIhe region of £200 for a full-si;printer and Interface.

    A printer is a fairly serious

    general, the price reflects thequality of the machine, althoughfew Spectrum owners are likelyto need to typewriter qualityprint offered by (he top-rangemachines costing £400 upwardsIf you're only Interested inprinting screen dumps youprobably don't need near letterquality printing, but It's notgoing to cost you much extraand Is bound to come In uselulone day — especially il you everwanl to sell your printer assecond hand, so bear (hat inmind However, there are a fewprinters lhat offer high quality atrelatively low prices, ourparticular favourites being:

    Amstrad DMP2000 £159Aboul as cheap as you're likelyto get, and ottering surpr sniolygood quality. Like most Amstradproducts fhey've kept it simplednd cheap, so this looks a bitlike a baby compared lo someof it-..' i.vftrer numbers aroundbut il will do screen dumps andn.'Or Idr.-i i|urii lv \\il r;rir.: nil --

    and for under £200 that's goodgoing.

    Compliment LQ £199Part of Sago's Compliment wordprocessor package this is an

    sihal

    highly priced printers Obviouslygeored towords wordprocessingrather than graphics, but stillcapable of good quality screendumps.

    Citizen 120D £235Stoning to get a little pricey, butthis Is aboul as good as most

    need. There is a very good letterquality mode tor printing te '

    self-didgnostic tests, and fakessingle sheets of paper orperforated printout paper. Someof Ihese features are luxuries,rolher than necessities, bul ilcan afford il you're nol likelyhave fo buy anolher printer i

    REflT

    RflPHlCSZX Computing Monthly March -1987

  • Hot on the heels ot The

    Advanced Art Studio

    comes Audiogenic's

    graphics package for

    the 128 and Plus 2.

    *V udlogenlc's Icon Graphlxpackage was launched aboutyear ago, al the same time asthe Spectrum 12S appeared.first version lo appear was to4BK machines but, notsurprisingly. Audiogenic also

    unced that an enhancin (or the 128 was on its

    version ol the 128 Is well andtruly here, they've finally gottenaround to releasing IconGraphlx 126.

    New featuresUnlike the enhanced version olArt Studio, which uses the 128'sadditional mertiory mainly for

    data storagefretrievol andch has relatively tew newlltles tor actually creating

    graphics, the new Icon Graphlxpackage tealures a number otoptions which were absent from

    Iginal. Mind you, theoriginal Icon Graphix lackedcertain features that could be

    id In both Art Studio and Theit (such as text hondling andand paste' commands) soupgraded version hos been

    brought '-'-'

    all come to expect as standardgraphics packages these

    The layout of the screendisplay remains unchanged,

    surrounded by border madeup of the various FILL patternsand, along the bottom of thescreen, loon symbols for thegraphics commands. This Iconmenu now has an addedfeature though — a PAGE Icon.

    pages 2 orcontaining

    The FILL, pen, and shapecommands (tor drawing bo>lines, circles and ovals) werestandard on the 48K versionthe new commands includesome for adding text to youipictures (and there is anImpressive variety of fonts

    tape, although only

    ICON,

    o time can be held In memory).

    mainly (or 'cut 'n paste', allowing

    d otherwise abused.

    found on ordinary 48Kpackages, so while theirinclusion now is a good Idea It'snot exactly a giant leap forward.

    rrace

    One new leature which is quiteoriginal is the TRACEOnce you've defined

    n the nature ot the

    makes even simple drawing;

    be used repeatedly to build upsome unusual shading effectswhich might otherwise takeforever to produce It Ihey had tobe drawn conventionally.

    This TRACE command Is thehighlight of the package, and.

    (.ViichI lound simpler to use

    " " Studio or The Arlist) Is

    ZX Computing Monthly • March 1987

  • there are other features whichcould be improved upon giventhe 128's potential.

    Although the program allowsyou to control the cursor tromkeyboard, joystick or (Kempston)

    Mhe

    h ihs c

    off*

    n to another (goocyou're doing detailed workthe MAGNIFY option, butirritating if you're trying toquickly move from one iconanother].

    The FILL and shape draw

    almost hear the poor mstraining to keep up asconstantly redraw the wFinally, the SAVE/LOAD fc

    irmal SCREENS,i cutting,

    though the manual doesn'treally eiplain how a documentdiffers Irom a SCREENS. Theloading option Is a bit finickyabout accepting names andyou can't just load the firstSCREENS that you come to ontape [ie using LOAD " " SCREENS),as you've got to kr " "

    v This3 picture

    packnae, but if you've got sopicturos saved onto tape thaore taken from anywhere elsi

    know meir rcon get at them. Icon Graphix'28 U on Improvement upon theoriginal

    I found it easier ondrrore enjoyable to work withnon irony other graphicspackages I've had to review in

    j inly

    o self-explanatoryscreen all then Just popping up

    PUSHPAGE

    it A[)

    SAVE ffft'

    ru % •':"Type" F,«J'. rik|(jfi

    Bold Outline Clear

    ^ni" j^t•m

    *^

    Undo Shapes Magnify

    iX Computing Monthly March 1987

  • DISCIPLEJohn Wase plugs in anew multi-purposeInterface.

    is program supplied oAlter t

    problem; the NEC ROM versionI the Spectrum gave troublewith their Hist Issue, and the ROMIn the Disciple had to be re-written. Advantage wastaken of this to Incorporate

    ' mprovements into Itsyslem. c

    nZ*s this

    Bering vi

    il. guarantee and a cas-s the picture shows, thee Itsell Is a long, Hal

    plastic box on which yourSpectrum sits, a bit InterlaceOne-ish In shape, with an edgeconnector on top to connect theSpectrum and the customorvthrough-port on the back. To theright of this ore the |oystlc'

    and snapshot buttons.I approached the system w itn

    some trepidation, being pre|u-dlced through long familiaritywilh the Opus system. So at tlrst I

    plastic box; o 128K Specttum + 2overhung this rather a lot, and Iwas glad I had left on the bigteet which I need with theDiscovery, lor they )usl supportedIn the right places the overhangfrom (he Disciple. A standard 48KSpectrum wos less lucky andneeded a cassette temporarilywedged in front ol It. The first twoDisciples had rough handling inthe mail and the snapshotswitch was domaged In eachcase; Rocklort tell me that more

    used, and that the packaging isbeing modilied. Whilst none otthis Improved my confidence, asI used it and gradually got usedto it. I began to like it andappreciate its many virtues.

    HookedThe manual contains a

    prr,!,.!

    hlhe

    lacks anything detailed onmachine code, although itmentions that the hook code:

    drives. I am told that by the IIyou read this, there will be anew, ring-bound version of the

    prompts, you are ready to formata disc. Two surprises; llrstly thedisc Is not named: you have toname It on the label; secondlya small code program called"systems" is also saved on thedisc at the same time. A coldstart Involves switching oncomputer. Inserting disc andtyping RUN, when the systemsprogram is loaded. This can bea bit Irritating but does ensurethat the system can be updatedto cope with alterations In othersystems. Thete Is provision for onefurther auto-runnlng program onany one disc

    Disciple comes with a trulycomprehensive array of com-mands LOAD Drprogram" foi

    drive commands. So does SAWd1"program" SAVE D1 "program"

    e. All thee would expect

    are there. Including wild cardfiles [to ERASE numbers!,numbers2, numbers 3 etc. enterERASE Dm 1 "). A well thought oulsystem.

    In addition to the discinterlace Itself, one or two otherlittle gizmos ore Incorporated.Clearly aimed at the gamesplayer Is o snapshot button; thislakes a copy of what Is inmemory, and, in this case, savesII direct to disc as a "snapshottile". This is the only type ol file

    OL

    iaat<

    ZX Computing Monthly March 1987

  • which will not copy from odisc to another on a two dsystem: thus piracy Is mlnln

    " o loysllck ports aSinclair o

    Kempston.thought has

    configured(lefl hand oniyj

    A great dealbeen given to rDisciple has two networn paeach taking inexpensiveslondard 3.5mrn jack plugs

    dard cable, In this way,>s network canmaster station

    shared a

    Iransmlt programs to the pup

    to check their work: they, In ficart call up programs from acentral disc or prlnl on a cerprinter.

    The Centronics Interlace Is fairlyunremarkable, The answers toIhe Initial utility program InvolveInformation about (he printer In

    pallble. The answers ore Incor-porated In the systems programwhich hos tc

    '— '

    the printer areCHRS27, evenCHRS27 Itself;effective. This <

    changed lit I

    preceded by

    Up Ife using dot matrix tor rough

    copy and daisy wheel for thefinished document. LUST andLPRINT are supported, togetherwith COPY SCREENS whichcopies the screen. Any control

    is butr, be

    Iplel

    Tasword. tor Instance, for version2 will transmit only four controlcodes at any one time).Now (or the meaty bits. I took

    one of my son's games and

    consisted oi a basic loader, a

    code 38351 bytes long (virtuallya full 4BK Spectrum).

    Loading this from tape tooklust short ol live minutes. Thesame thing look a spectaculaiseven seconds Irom the mI loaded the game againtook a snapshot. Taking It took

    seconds. Reloading look live.When limes get as short as this It

    accurate: all you can say Is thaithey are Impressively fast. SavingIs equally fast - I used the SAVE

    i for the plolure

    the bulk of the seven or eightseconds was the time requiredto display the directory. Indeed.the only operalion which looklonger was formatting.

    Talking ol formatting, I foundthat there were one or twoInteresting comparisons to bemade Discovery has a dlreclorylength [110 files) which Is

    ir the cod<k of the si

    Independent of the disc type,

    necessary. Disciple allows only40 entries In single density and80 In double The sector lenglh Issimilarly Interesting, Discoveryand Disciple [80 track) has 512byte sectors. Although thesebigger seclors and the lack of acompacting locilify on Disciple

    of the disc. Ihis is made up lorlarger formatted capacity,although do remember thai you

    My overall Impressions andcomments? Well, flrsl the badnews. It's going to cost quile a

    mplete system, loryou've got li- st or o dlop ol the E79 odd for Disciple. Ifell It was a bit plasllcky, a bitflimsy, and I managed 1o get Ihedisc connector in the wrong wayround. Much of this was when,all thumbs, I was trying toconnect up and get It going.Moving got used lo II, well, It'sgreat. There are all sorts oladditions: the snapshot, Ihecomprehensive networking, theavailability ol two Sinclair or oneKempsion joystick ports, theability lo run mlcrodrlve softwareand to have It transferred bymeans ol the Inhibit button, andabove all. the Incredible speed

    r. You ki I rather

    ARE YOU A BUDDINGPROGRAMMER? Hllf^.X is always looking for top _4 f#il iquality games and utilities for JBfcJHLpublication. If you have a top ftaa/;liiinotch game or a useful utility for |H|nthe Spectrum or QL why not vwEtf^'-send it to us for appraisal on WJf.cassette or microdrive complete f iwith a listing if possible. i

    There is also our new feature \Short Cuts to showcase yourpractical, novel or imaginative tshort routines with cash prizes for /published listings. For longer /?>programs we pay competitiverates, and if you have an ideafor an article or series for ZX — Vdrop us a line or phone Bryan or \Cliff on 01-437 0626 to talk it over.

    ZX Computing Monthly March 1987

  • WiniStudi^A Sound Sampler lor

    any 46K or 128K

    Spectrum by Massimo

    rata

    To enier the program:Type In listing 1 and save It withSAVE "MS ,TLINE 5. Then type Inlisting 2 and save this ontoanother tope with SAVE "L2".

    saving prompt appeors. positionyour FIRST tope (with MS on It)lust alter listing 1 and startrecording Press a key.

    Rewind the tape and loadlisting 1 Once it has loadedand run Itsell you are ready togo through the followinginstructions.

    What ts SoundSampling?Sampling Is o way ot digitallyrecording o small omount ofsound, usually (or use In music. Acomputer's memory is an Idealmedium tor this type otrecording, since a sound is Inmemory, It con be subjected toany number ot bizarrealterations.

    This program allows sound (upto about six seconds long) to be

    X reversed, speeded up.

    played In a specific orderother sounds The basis ot trie

    that records and plays back thesound. This works by reading thecassette port at high speed, andleedlng Ihe sounds that areread Into memory In the form otdata bits. By reversing Iheprocess and reading the bits

    sound is reproduced. Changingthe speed that the sound Isplayed back at will also changethe pitch of the sound.

    SOUNDS - this Is thiwhere the sounds o

    tanPROGS - bars created In BARSmode are strung together In up

    The SPACE key switches you

    in SOUNDS, BARS and PROGS acontrolled using keys: 5=lelt,6=dOwn, 7=up and 8=r!ghl wit

    Sounds Mode

    1 — Selects the number ot beatsper bar (up to eight).2 - Selects the 'blocks' per beat(see note below).I— Input [record a sound).O - Output (playback).

    S - SaveK - Key [musical key In PLAYmode).

    When using I. O and S theyoperate on the soundunderlined by Ihe cursor, this Isthe moving line whichunderlines various functions andsounds and Is controlled by thekeys 5, 6. 7. 8, to move it In thedirection of the arrows.

    The memory that sounds aresampled Into is divided Into 120"blocks", each 256 bytes long.There are fen soundconiigurations (0-9] which aresimply windows on this memory.

    Each of these configurations

    top left of the screen. The topright displays the mode you areIn. The meaning of these values

    STA - this Isthe sound sf(0-119).

    (torwardslbackwa rds).OE — the delay used whenplaying back or recording thesound. This determines thespeed and quality.

    Another value — BTS — Is alsoshewn but Is Just the number ofbeats the sound occupies Th,s iscalculated by LEN.'BLOCKSiBEAT.

    Recording1. Set up Ihe coi .

    is shown in tlgure 1

    On most tape recorders pressingPAUSE + PLAYIREC Should allowyou to sample trom themicrophone.

    2. Configure a sound so as to

    memory. EG. set up sound as:

    by moving the cursor with keys5-8 until It is beneath Ihe valueyou wish to change, press ondthen enter the value you require.

    The delay Is set to 01 lormaximum quality. It the delay

    then be replayed at higherpitches [ie. lower delays) butwould be ot poorer quality.

    4. Press a key to start samplingwhen you are ready. The sampleis complete when the "PRESS A

    sample, it will sound bestthrough headphones pluggedInto Ihe ear sockel at the backot the computer.

    you want. Start by Increasing thesfart value (STA) bit by bit, youwill have to decrease the LEN

    STA as the TOTAL Of STA+LEN Is amaximum of 120. Listen to Ihesound each lime until there Is no

    Now decrease the length(LEN) value unfit Ihe sample Iseioclty the portion ol sound y

    1 — Record.2 - Playback.

    In the Record sub-mode tlsound currently underlined tthe cursor In SOUNDS Is fumeInto o musical (or not so

    ZX Computing Monlhly March 1987

  • cMICROPHONE I

    In BARS mode enler bar 1 as:2-11220. Initialise and run it lorN-N-N-Nineteen eflecl.

    3. Echo can be simulated bv"layering" the sound. Sei up tr

    N-STA-LEN-DI -DE0-000 -004- FO-011-002 -004- FO-012-004 -004- FO-013-006 -004- FO-014-008-004- FO-015- 010 -004- FO-016- 012 -004- FO-017-014 -004- FO-01

    Enter bar 1 as 01234567. Initioli

    HfcAllPHONFS. HI I

    musical) Instrument played onkeys 1-8 In the key specified byIhe K key trom the SOUNDS

    logstoggles recording of tunsONIOFR 9 exits the sub-mode.

    In the Playback sub-mode _tune recorded in Record can be purpose,replayed by tapping out Ihirhythm on the key. 9 exits.

    Bars Mode

    Hold down any key on theBottom row to stop the sequencelooping endlessly [this happenswhen repeat Is ON).When the beat counter is ON.

    any bar entered that does notcontain the right number ot

    value of every sound in the barIs not the same as BEATS/BAR) willhe rejected. This bar must theneither be entered correctly ordeleted by just pressing ENTER.

    Entering bars:1. Move the cursor under the barto be edited and press 0.2, type in your bar. (Eg. 11134132).

    initialise.

    5. Press O a

    The example bar In step 2 wiplay sounds 1,1,1,3,4,1,3,2 In Itorder. When counting the beIt counts sound 1 tour times c3 twice. Bars are split into eicparts. I prefer to leave the

    OFFb

    Progs Mode

    d down any key on thetorn row to stop a sequencen playing.Sars can be strung logelher ito 64 steps. This Is lor longer,re complicated sequences] tor quicker editing.

    2. Press to edit and enter thnumber of the bar you want.Enter to signify the end ol ftsequence.3. Enter any other steps you w

    4. Press O and If

    Using a SampleOnce a sample has be'

    Sequencing a TuneSequencing a tune poses aproblem because when thesounds pitch is changed itslength in time is also changed.This" means that the rhythm goesout the window. As the programdoesn't have a timer anothermelhod has to be used:

    Setu Is 0-7 thus:

    N-STA-LEN- DI-DEO-OOO-008-FO-OO1-008 -008- FO-0B2-016 -008- FO-163-024 -008- FO-204-032 -008- FO-285-Q40-00B-FO-366-048-008-FO-447-056 -008-FO-48

    Sample the same sound[presumably a recorded sound]

    delays back to 00.These delay settings are In

    the key ot C [at a guess) andrepresent the notes GD,E,F,G.A,8and C Add 4 to a delay tor aflat and subtract 4 tor a sharp.

    Example Rhythmu managed to take all that

    radyh:jslng MINI-STUDIO.

    1. Enter BOUNDS mode.2. Set up sounds 1-3 tike this:

    1-000-003-FO-012-003-003-FO-013-006-003-FO-01

    3. Input or lood a bass drum

    sound Into 2.5. Input a blank (silence) Into 3.6. Enter BARS mode.

    (press C).B. Enter the following bars:

    13132313 13332333 13232322 13132133

    33132133 11112111 33112111 13222223

    9. Initialise.

    10. Enler progs mode and enter

    a Computing Monthly Morch 1987

  • H: -5XB-L£H-ILX-JiE-EIS MODE: SOUNDS-aBB-BBH-FO-Bl/l

    1 -Bae-aa4.-Fo-0i/i 5/6/7/8a -000-004. -FO -81/1 FOR3 -BBB-B04-FO-B1/1 CURSORS4. -B0B-004.-FO-B1/15 -B0B-0B4-FO-01/1 SPACE6 -B0B-304-FO-01/1 FOR"7 -B3B-3B4.-FO-01/1 MODESS -BBB-0B4-FO-B1/13 -03B-0B4-F0-B1/11-B/BRR:8 I = INPUT l- =LORD K=KEY2-BLK/B:4 0=OUTPUT S =SOUE (C)

    C=TOGGLE COUNT (ON) STUDIO ©1985E=TOGGLE END (STOP! M . Pi LisCl=BUN/INITIflLISE SEQUENCES

    0.0000000000000000000000000000000©G©00000000000000000000000000000

    ^^^***™*^^' " -l*B-: LET y-y-VAL -fl": OD SUB3» PRINT ,(..PI/BI,PI/PIM---| «. -IW

    3 CLEAff UAL JWl'l LOAD --C IHEN PBIKT pl-PIl . THEN 00 SUB vaL .| 6e ? : LETODE 31 IF ....PI/PI.VAL TKV* ,.PWPI: 00 SUB UAL MM'

    10 LET k-UAL -BT LET kS-- ZZ12 1KB- THEN POINT Pl-PIl , 3a ,F iNKeY.--!' THEN SO EL

    |" 0-CIUTPUT 5-SAV6 I'lMUII 1 ! '" IF f-PI/PI THEN BETUHN , HEKT JJ print Ufa Pl/PIl- GO

    B'.UAL >M*I* NODES I AT VAL "19 THEN SO SUB VAL -14B": LET y - HEX r d i PRINT .(«, PI/PI) 1 BD-,PI-PII- O-RUH/ INITIALISE SEH UAL M4-: OD SUB UAL MSB' UB VAL -IBB": RETUHM

    ZX Computing Monthly -

  • rBZ 2

    L "2 - >: LET six,! 309 1F a-PI/PI THEN PRINT AT U 63BJ3" , UAL -2S1-: POKE VOL -SSBB

    lic.VAL "Z-11VAL 36B ]F IWKEV»-' THEM GO TO V olS ""' 1 ". unL '"t'OPI-PI THENVAL -1W ftL . 8aB . POKE UAL MBSV.WL -6': PUKE

    UAL -IB" THEN PR 3„ 1F , WKET„... THEN LET „,N UAL 'SSB^'.UAL "IS": POKE UALor .: 00 to ual -380- ""ual'-^

    '•'?'"' *** ^ ""^AND *(,,hl(UAL "!£ 7 1 F

    fl

    INKEY.-c- THEN LEI t-N ""B9B- . ..: RANDOMIZEz- and O.bKIML or t: on to ual -sas- •»* U»L ««48-: return

    4- THEN PRINT < meN ,„Pur ""N£ pSm m""-UAL - ™Z *»» "«- ""1 19" , d-

  • ZX Computing Monthly March 1937

  • ABSORBERTHEGBEAT!SHS

    There are thirty copies

    ot Martech's Cosmic

    Shock Absorber to be

    won.

    ^Sosmic Shock Absorber Is a

    asplralions to loin IheSupermans and Bolmans ol ftllworld. Unfortunately he mustserve his apprenticeship by

    rampaging carrots armed withmachine guns ond legions otbouncing balls. Cosmic ShockAbsorber may be lacking sslrength ond superabl lilies.

    iper-

    wllh yi heiphB Super

    e thirty copies olMartech's oll-beol 3-D shoot 'emup to be won. and all you haveto do Is name Ihe superheroeswho (ought Ihe following threesupervlllalns.

    ] The Penguinb] Lex Luthorc) Emperor Ming

    Just put the names of thevarious victorious superheroesgolnsi the appropriate letter orthe entry coupon,

    Ihe competition is open to allZX readers except employees olArgus Specialist Publications,Chase Web and Martech. The

    corresponderInto

    Send yourShock AbsortComputing lvGolden Squo

    r Compelillon. ZXnthly, No 1. London W1R 3AB.

    Cosmic Shock Absorber Competition

    The vanquishing superheroes are:

    ZX Computing Monthly March 1987

  • ll'-l-'M'-llf o accounl when miling ur:

    ' '.! 'I- " lo f?H n 9oil

    diusi the lenglh very quickly.

    :rl0

    „:"'iiS.°™Iz nnnn v3SK53SS&23S bUUlJ

    hat II looked a bit doled reolly stand up ony more Beingas still tun to play oboufthe same standard as the

    the sequel to Jetpbc This So whilst Ihe two Jel Man

    Mon games haw remained en- issuel is worth a closer look.Joyable over the years, the other

    dated rather badly. .^PSSST Is a vntiallon on Ihe '^T>.

    SFSrH-S nnnn .wv (SSAK'SSSSSSI lJUUlJ -i_l.

    >UJaUl

    <o

    =)

    oIXI

    ill going strong).

    i [and ll memory

    :is lollowedmanager type game, so It by a run ol vlclorles after yourure of leogue tables and players suddenly {joins lols ofi selection problems holds slamlna and Illness poinls (or no

    no loscinaiion. read no furiher apparenl reason league Chal-II you're stayed on you can lenge

  • L111J

    A software 'legend'

    from U.S. Gold?

    Crystal CastlU.S. Gold£8.99

  • L1LU

    Ray Elder presents

    more programming

    gems from ZX readers.

    iohtCUTSm/c Break

    program Irom Andrew Vellacottof Esse* who gol so led up withhis machine code programsgelling sluck In infinite loopsduring development Ihol he

    makes use of the Specfruminterrupt mode two to scon forIhe BREAK key being pressed.

    Two minor polnfs to note: Firstyou will have fo reinitialise theroutine each time alter BREAK Ispressed wilh RANDOMIZE USR32377. and secondly, machinecode or BASIC loader programsmusf nol occupy the addressesHorn 323-48 lo 32375.

    code programmers

    1 REM M/C Break10 DATA 233,243,243,62, 127,219

    ,251,203,71,32, 15,62,231,219,234, 203 , 71, 32 , 7 , 24 1 , 237 , 66 , 23 1,195,3, 19,241,251,201,62,40,237,71,237,94,201

    20 CLEAR 3234730 RESTORE: TOR i=3234G TO 323

    75: READ a: POKE i,a! NEXT i

    Scroll Relocate

    1 REM Font10 LET MC=60000: LET CHR=550D020 FOR »=MC TO MC

  • Mirror

    S. Neill of Angus. Scotland,provides us with a means olturning (he screen image inmere 19 bytes ol machine code.Enter Ihe program MIRROR "i andRUN it. Type NEW and enterMIRROR 2 which willdemonstrate the effect. Nole thatihe Machine code is located otaddress 30000 and can besaved by SAVE 'MIRROR

    1' CODE

    30000.19.

    Specilic sections ot Hi

    POKING Ihedby

    shown. x=start

    Whole screen - POKE1 : OO TO71207130 GO TO 704f

    a.

    O

    ZX Computing Monthly March 19B7

  • STALLONECOBRASylvester Stallone

    converted Into fun

    cartoon character . .

    .

    Strange but true as

    Ocean unveil an off-beat spin-off

    e spin off gameright.that stands up In

    perhaps ----

    Utile similarity to the originalfilm.

    Cobra, a vigilante cop moviewith Slallone as the stor. was(allure by Rombo standardsalthough It contained the bynow standard quota ot mindlessviolence. Ocean have made noaMempI to make a carbon copygame ol the (Mm and in taclCobra Is a tongue In cheeksend up with a ludicrous plot.

    logicme cop, 'Cobrettl", Is a

    musclebound chunky sprite w

    winging otl screeidirection they came on. As forthese legions ol psychopaths.

    Ihey ore made up ol obesewrestlers, old ladles toutinglethal baiookas. knlle throwingassassins and the like This Is notto mention the turbo chargedprams that ram Cobrettl andsap his energy.

    If all this sounds a bit wacky,wait lor the plot. OkayCobrettl has to rescue fopfashion model Ingrld KnutsonIrom the clulches ol the evilNight Slasher. All right so far butIn order to do this he's got to tlndweapons which ore hiddenInside beefburgers at certainpoints In the three playing areas[oily, country and a factory).Quite why a knife, pistol, andlaser sighted machine gun areconcealed In this way Is omystery. Anyway shaking off themince Irom the weapons,Cobrettl must rescue Ingrld andcompletely decimate theattackers before progressing to

    «*- The weapons

    however have a limited life spanand lend to disappear )usl when

    Cobra Is a very fast, very wellonimated game that's hard tomaster at first simply becauseyou are contronted by so manybizarre comic hatchet men.

    You are given o mlnlsculethree lives to start out with andadditional lives can beobtained at 10,000 points andfurther up the high score table.

    The game, which can beplayed with keyboard or Joystickis really enloyable and arcadetans who are looking torsomething o little bit differentwill nol be disappointed.Unfortunately the Image createdby the film Is misleading.Stallone on the Inlay cover withhis laser sighted machine gunand the hard man phraseology"Crime Is a disease. He's thecure", look a bit silly once you'vegot the Stallone figurescampering up the platformsafter the beefburger.

    It may well have been theIntention to send Ihe whole thingup and that's fine but those wholike their destructive blastinguntainted by any lorm ot tunhad better slick to the lllm.

    ZX Computing Monthly March 1987

  • It's time to test your

    space pilot prowess at

    the Academy.

    reoclor Ihe Gal-corp sel up IheAcademy. Its aim was lo trainrookie pilot! lo produce an elitecorps ol pilots and prevent such

    complete 20 mission:achieve an average

    list

    Whichever mtssltchoose (and you h

    be attacked byboth laminar anFour types ol las

    S thBQ

    ling ot hoppers, guiover ww ine missions are aptly namecgrouped into live levels ol lour Therefore it'smissions thai are slored on a Gal-corp skiseporote data tape. Most ployers shielded lorwon'l need this tape as they'll skimmers anstill be struggling with the llrstlour (hat are loaded In with Ihemaster program.

    r laler) you'll—' droids olu designs.

    ull supported bynines, droids,

    dians. trackers and

    nportonl lhal your

    ready lor lake oil,each ottering a dillerent rangeot equipment from the GCS

    add whatever cUnits, scanners, compasses andtrackers that you need and conattord. Finally you can customise

    wly construcled

    long way lo go beforegraduation. Ahead lay thedubious delights of suchencounters as ", .. at the OKCorrall", "Don'l Panic". "Hide andSeek", and "Mission Improbable"

    register a an Academy cj to find

    the llrst lour missions rangefrom Ihe less than subtle "liltMoves . . ." annihilation run loIhe search through a minefieldtar base mission called "Sollly,Softly". "Meltdown" Is a raceagalnsl tlicritical reoclor on a polar \finally "Red Dawn" a Tau Cell

    is thegamepack also Includesmap program so you coryour lavourite stars andconstellations. A game featurii20 missions each as chollengias Ihe original game doesn'lneed a bonus program.

    mer conslsls ol*.*> m\

    againsi time 10 ciose aown a laser, main anve, snieia ana _ -.-_ « , , . _ _critical reoclor on a polar world, steering unils which you can i ! ^i ' mm l»| Ifinally "Red Dawn" a Tau Cell then arm with missiles, antl- kTTJlX(v . — I I —

    HI I; i!

  • ipugranr

  • Action above and

    below the waves In US

    Gold's sub simulation.

    Silent ServiceUS Gold (Microprose)£9.95

    C^ommandlng a US submarineduring ths Second World War,your mission is to sink as manyJapanese ships as possiblewhile avoiding the attention olenemy desl foyers.Armed with 34 torpedoes on

    a 4" deck gun you must hunte enemy shipping In a

    variety ol scenarios. Thesedom the traininghunting convoys In the SouthChina Seas.

    Convoy AttackHow you atlack the convoydepends on the conditions (day/night) and how well It'sprotected. An unprotectedconvoy Is easy and you cansteam up to it at full speed andblast anything that moves.Although you should atlack ils

    ol torpedo tubes. Be ready lor achase though as the convoy will

    A protecled convoy is more ola challenge particularly Itthere's more than one destroyer.Now you must stalk the convoyal slower speeds while keepinga narrow profile to the ships toavoid rador detection.

    able lo plot your atlack run. soas the destroyer Is stuckhelplessly on the wrong side olthe convoy, giving you a chanceto strike ana get away. Yourperiscope also gives you speed.

    destroyer and you can't tlnd agop then you'll have lo take oneout. This Isn't going to be easy asyou'll only hove one shot belorethe destroyer locks onto you withit's deadly deplh charges. Thenit's DIVE, dive, dive, as you headlor the satety ol the depthsCutting the engine will start the

    Before any would-biSubmarine Commandi

    (again I)lo control the ship. ThisIrantlc use ol the keyboard(despite the frequent mentlta joystick In the Instructions),all, 33 key control:mastered before you caJapanese shipping,andpractice Is w "torpedo/gunobject Is simply lo destroylour old cargo ships that areonchored In position to makethings easier!

    Pressing Caps Shift and

    Your periscope Is tilled with a

    use to map oul the convoy aplan your attack. Y- -"-

    lake debris to deceive ipersistent destroyer. When youthink the coast is clear, begin

    '

    convoy agal~

    of th

    si plot yoicourse control, your enginespeeds and submarine deplhsos well as planning your attack

    >IUa.

    IU

    E<Osa.

    &

  • m

    TOPPEDU DHTfi COMPUTERTARGET PhNC-E idsTARGET r.PEED : 1 t !RNGLE Oil BOU : i. ;LERD RNGLE . l • gTARGET COURSE: D59

    13O1 SPEeP 1» DEPTH HEPD 232:1should do this whenever possibleas II saves the ll-lmportanibaftery power. Lose thai and you

    midestroyers untl

    slmuioilon that J ' j*^H l"l Iyou sparring with "^HTv ™

    Qn;i!

    ir patrols,

    finding ihe enemy. Is as difficultas sinking them. Obviously,lengthy voyages can be time

    nlng so you con speedd the action tc

    1 1 rale until

    e thingse ready lor I

    Finally you caalmost impossible for yourself byadding in skill and reality levelswhich include limited visibility,dud torpedoes, zlg-zagglngconvoys, no on-ship repairs andthe worrying expert destroyers.

    The game cassette isaccompanied by two instructionsheets that explain almosteverything trom the control keysto convoy routes, tactics and asubmarine commanders' spottersguide to Japanese shipping.When these sheets ore foldedthere's barely room tor the gamecassette in the box!

  • IMBrian Beckett with news

    of Digital Precision's

    new Turbocharge

    Compiler.

    ^^ompiler Wars" does no' starHarrison Ford, neither does Itfeature overly cufe robots orassorted other humanolds,aliens, Jedl or whatever. Nor Isa computer game In the strictsense — although H owtc Illy

    about the competition emergeregularly Irom both sides ana

    goes by. Although il might provea bit confusing to all thosepotential customers out there, itpromises to be loods ol tun torreviewers bored with standard PR

    e just aprobably |ust as long lasting. Awhile ago. Liberation Softwarereleased QLIberator. asuperBASIC compiler lo competewith Digitol Precision's long'standing and very well receivedSupercharge, Both sell at £60and although QUbeiator lackssome of supercharge's finerfeatures and Is generally slow itIs a good product whichattracted a lot of Interest.

    In the meantime. Digital wasdeveloping Turbocharge. This

    any time. Actually It's been d; la, c.

    o needling the companyo bit. According to Digital. Turbowill be significantly faster thanSupercharge and havenumerous additional featuresand refinements, designed tojustify the package's sub-title o(Ihe "encyclocompller". Turbo willsell lor £84.95 which includesTurbo Toolkit, o package o! over

    Is designed lo

    supplement Superbaslc Turbofoolkll Is available now (for£24.95) but there doesn't seemmuch point In buying It yet Ifyou're at all Inlerested In gettingthe Turbo compiler when Msready. Digital has sent me themonual so Turbo musl be abouldue, since they never bother towrlfe me unless they're about torelease something |l dldn'l evenget a Christmas card) tor me totell you about.

    Obviously we'll be looking atTurbo when it does come outbut, lor o sneak preview, hereare some of the [mony] featuresDigital is promising. Normally I'dhesitate a bit before writingabout a product I haven'l seenyet but. as Digital regularlyreleases high quality packagesfor the QL. [have little doubtthai Ihe product will live up to itspromises. Firsl of all, Turbo willbe multi-lasking (as IsQLIberator) and — real favourto the user - will lack thaiInfernal lenslok security systemfound on Supercharge. IIpromises lo be much faster thanSupercharge and is said lo befar more useMrlendly wllh an

    flexibility ol use. II will ad|usl formany structural faults in theprograms under compilation— rfllsl -

    considerable effort to producesuporting documentation thatwill enable non-programmers (orIhose less familiar with all the

    Ihe best out of if. There aredetailed emanations of some ofIhe background malhs andsupporting functions which

    aimed at Ihose not intimatelyaqua inled wilh the OL.Professional software packagedlor all users Is a virtue thatcommends Itself and Digital(which always takes thisapproach) deserves lull marks

    If you wanl another QL lo playaround wilh the networking'ncilry (which has sort ol died adeath) or simply because youhaven'l yet got around lo buyingone, I've seen Ihem tor sale at£100 on the High Street. Push it a—i probably get

    a loir I .1 HM"

    F'CSJ*

    words is heating up Digital hasapparently been annoyingLiberalion Software by consfantlyreferring lo QLIberator as a"pseudo-compiler". Dlgilol hasresponded with a denial(possibly at a lawyer's request)slating lhat Ihe lerm Is simply atechnical one referring lo the"pseudo code" Interpreted byC. (m"i::-).- compared to the"Irus 68088 code 1 ' produced by"true" compilers like (surprise)jjpc.'rr>orge and the upcomingcompi ler-to -end-a 1 1-com pi Ie rs.Turbo The funny bit was that thisgeiMlemnnly qualifier wasj. ,.,..) . a iype |ace and layoutso small lhat It practically lakeso high resolution microscope toread II al all. Beastly remoiks

    unexpanded OL. leng Ihyprograms are compiled Inmodules as would be expectedbut there are a number olfeatures designed tothe drawbacks andthe task. Turbo tasks

    Turbo tasks. Error warbe reported by line,,and position. This is just the baresurface of whaf's promised butgives a hlnl ol whal's coming

    (hopefully) very near future.

    manual which, although nobodyis going to go oul and spend£85 for a bunch of A4 sheets is*» impressive feature '" « "*"•

    it. The »—'-

    Toolkit manuol) and is very «written In a readable andhumorous slyle. There are somecartoons and a glossary (whichincludes a definition of"reviewer" that makes up lor Inaccuracy r* -'

    '

    gotten sithing on his shelves (and Isuspecl most have) and wants loget rid of it. More importantly, itought to be time lo go shoppinglor a bargaln-bosemeni memoryexpansion and.'or disc Interlace.Although most [but by no meansall] ol the OL sollware isdeslg

    ;t about all tl

    on Ihe rrcompanies are probablybeginning to flirt with Ihe Idea olgetting rid ol any surplus slockas Ihe market starts to decline.

    Al Ihe last couple olMlcrolalrs. I noticed quite a lewMedic disc

    Inlerface/extra RAM

    modules In service. Medic madean excellent package but sadlyran info difficulties but

    stock ol modules has surfaced. Ifyou gel a chance lo get onecheaply (and I wouldn't pay

    because it's probably Ihe bestdesigned OL expansionpackage IV

    Inform. The point Is that Dlgilolobviously wants to sell Itsproduct lo as wide a circle aspossible and has gone to a

    cheap enough. It's well worth il

    QlCOLUMNZX Computing Monthly March 1987

  • mSPECWORD

    48/128The third and final part

    of Stuart Nlcholls' menudriven word processor

    including the operating

    manual.

    This monlh we pul Ihe finishingtouches io Specword wllh Ihefinal chunk of machine codefollowed by lull Instructions onoperating the utility.

    If you have followed theprogram through you should bynow have saved a BASIC lisiing.and a machine code listing(HEXDUMP LIST TWO).

    Full Instructions on enteringand Saving Specword wereprinted in Part 1 (ZX January] butto recap - Using the HEXLOADERused to enter LIST TWO last

    machine code as HEXDUMP LIST3.

    Save this block of code os"code2" CODE 44800,2519.When you are happy that all

    has been saved and verifiedIhen reset your Spectrum andenter CLEAR 32767 OS o direct

    Load the BASIC PROGRAMLoad the Code code 1,Load the CODE code 2.Finally SAVE the compleie

    program using "SAVE"WP48/+/128" LINE 9800:SAVE"specode 128" CODE32768.14600.

    Should ony of the (unctionsnot work then the machine codecan be checked using theHEXLOADERIHEXDUMP dualprogram. The HEXDUMP optionwill print out to Ihe screen orprinter any block of memory inIhe same form as ihe HEXDUMPLISTS 2 and 3. [The easiest way to

    II all has gone well you orenow ready to use Specword.

    Specword 48/128Operating ManualSpecword has been designed toinclude all the functions mostcommonly needed by fhe homeuser. For example it has inserifoverwrite modes, wordwrap tlnd,word count, block delete,'move.'copylprlnt. redeflnableCentronics conlrol codes (30),16K lent space (blank lines onlyoccupy 1 character space), linesof ANY length from one

    -- "lefull text length,

    mosl Centronics printers {withbuilt-in software for Ihe Kempstoninterface) and RAM! file facilitiesfor the 128K Spectrum.

    To LOAD the program useLOAD " (48K/+) or select theTape Loader option on the 128KSpectrum. The program loads Intwo sections and will display thecopyright screen when loadingis complete. The program willrecognise automatically whichversion of the Spectrum Is beingused. Press any key to start,

    Specword Is menu driven andusers ol the 128K Spectrum willhave no trouble In using themenu system as II Is exactly thesame as the Sinclair start up

    MENUS: To select a menuopllon use the UP/DOWN arrowkeys to move the blue select lineto your choice then press ENTER.This will either lake you to a submenu or Into word processing.This Is the main menu andshould ihe program stop due toony input errors Ihen type 'gotomenu' to restart from this menu.(The program will error trap mostillegal Inputs but cannot trapthose associaied with IllegalRAMI lile names).

    This menu has ihe followingoptions:

    1) Create.Before word processing can

    begin the text file being createdmust have a title. Selecting thisoption will produce a sub menuasking you to confirm youtchoice or Exit back to IheDocument menu. II you wish tocontinue to create a documentjust press ENTER. You will now beprompted to enter a title lor yourdocument. This must comprise olvalid ascli characters only (nokeywords).

    The title given to youri Ihe

    document ot all tlrelitle option is used (see Save).The tille will appear on the lopline ol your text (or reference.Once a title hos been given

    and accepted you will enter theword processing mode [seeWord Processina).2) Load.

    This j forLoading next Hiei) Tape

    This option will load a text filefrom lope (the BASIC program

    M /drives etc. Io be used).II) RAM!

    Owners of 128K Spectrumshave the option ot Loading atext file that has been Saved Ioo RAMI lile This option will

    ^CUTJjB

    ZX Compuling Monthly March 1987

  • IMthe 'format' see [iii|.II) Black.

    If you have defined a block oftexl within the word processormode then this can be printedusing this option.HI] Format.

    H| 1 1 1 i | if | yThis will produce a sub menu

    which will allow you to set up

    "t"l II 5p " 1? T! 1! ?£ ISthe format of fext to be printed.a) Lines per page.b) Space between lines.c) Margin.d) Start at line no

    ||i is p !! If ii si ii sii

    e) Page no at TOR1) Page no. at BOT.g] Wait between pages.

    SI 111 1 Ills ih) Auto line feed.1) Exit.

    Against each of theseparameters will be printed theircurrent default values. To alter aparameter use the UP!DOWN

    :ii£ si H H ss a s H s r.arrow keys to place the blue

    enter the new value. Parametersa) to d) require a number valueand will allow Inputs of lo 999latter entering your requiredvalue press ENTER.

    Should you make a mistakethen press DELETE to cancel theentry. Parameters e) to h] requireYesJNo entry, use the Y and N

    display a CAII of RAM (lies and keys to select your choice.ask for your choice. 48KI+ When you are happy with allowners will be told that this the values then select Exit tooption is not available on their return to the Print menu.computer should they attempt to v) Codes.

    This option will allow you loii) Exit. alter the printer codes that can

    Return to the Document menu. be placed in your text file to3) Save. control the output of text to a

    This option gives a sub menu Centronics printer. For example

  • wbut thai memorv belween -13000and 44000 is free lor your printerinterlace software. The ZX printerand similar printers con only beused wllh the 48K/+ computersand require no additionalsottwore to run fhem, DO NOTuse Ihe initialise option whenusing the ZX printer.vll) Exit.

    Relurn lo the Documenl menu.5J Edit.

    II a documenl has b


Recommended