Top Banner
56

IJK Software and the ORIC-l Micro - Defence Force

Jan 26, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IJK Software and the ORIC-l Micro - Defence Force
Page 2: IJK Software and the ORIC-l Micro - Defence Force

From the author of the ,highlyacclaimed Xenon-1 come. the

, second In the Xenon .erie.. Thl.game continue. the high stancftlrdof excellence .et by it. pre-dece.sor.The amazing super highresolution .grephlcs make this 100% machine code arcade game a must for yourcollection.Following their defeat at the hands of the Xenon fleet the Zorgons have captured theXenon princess Roz, and have Imprisoned her in their castle. You are commissioned torescue her by scouring the four corners of the Zorgon Empire to capture the magicstones. These stones, guarded by the Quadnogs, Terrapods and many other strangebeasts, are needed to bridge the bottomless chasm surrounding the castle, enabling youto achieve your goal.Each one of the many varied stages in this scintillating mission will test your arcadeability as never before.

FEATURES INCLUDE:-.

100% MACHINE CODESUPERB SOUND EFFECTSSUPER-SMOOTH HI-RESGRAPHICS'MULTI-STAGE ARCADE ACTIONSKILL LEVELSHALL OF FAME

For the 48K ORIC-1 £8.50 inc.

OTHER TITLES IN THE IJK SOFTWARE ORIC-1 RANGE...

XENON-1100% MIC arcade

game for the48K ORIC.11:8.50 Inc.

INVADERSMachine code

arcade game for16K &48K ORIC.1

1:7.50 Inc.

FANTASY QUESTIntriguing

adventure for48K ORIC.1£8.50 Inc.

REVERSESuperb board

game for48K ORIC.11:8.50 Inc.

CANDYFLOSS &HANGMAN

Two topeducational

programs for48K ORIC.1

3D MAZE &BREAKOUT

Arcade action lor48K ORIC.11:7.50 Inc.

ALL PRICES FULLY INCLUSIVE OF VAT and P&P -NO MORE TO PAY

Our software has been officially approved by Oric Products International Ltd.,and is available from branches of W.H. Smiths, Laskys, Computers for all,Zappo, Boots, John Menzies, The Spectrum Chain, many other leadingdepartment stores, hundreds of independent d,ealers n--tiQn~i~~I_a.!!d in23 countries across the world. You can also order dlrec;tJI',"ii'" 'I ,;8;~rtised-software is in.stock~now and will be despatched within 4~:n')~:( . : ','

order. '"~: "::'"

~:, .~.','",.;,",

': ,''''

~,

IJH'; SaflwareLimit.d .

IJK Software and the ORIC-l Microbring you more exciting arcadeaction from the Xenon series. . .

24 HOUR ANSAFONE9 King Street, Blackpool, Lancs.Telephone (0253) 21555

Page 3: IJK Software and the ORIC-l Micro - Defence Force

ORIC OWNER

Features

Oric Insight

2-D Arrays and Totals

Hints and TipsHow to get the mostout of your Oric- I

Oric-tabbing

RegularsEditor's Comment

Disaster Area

Captain Tanex

1/0 Page

Subscription Form

NewsNews Brief

Software Scan

New Products Review

SoftwareCharacter Generator

Program

Phonics

Frog-RunPower Maze ofAgrenon

Ward-l

Oric Quickies

, Oric Owner Magazine: Editor: Paul B. Kaufman

Graphics & Artwork Manager:Carolyn GroeneveldAdministration: CarolynGroeneveldTechnical Consultant: Dr PaulJohnsonPrinters: Heffers Printers Ltd,King's Hedges Road, Cambridge.Photographic Equipment: Minolta

Oric Owner is published atbi-monthly intervals by TansoftLtd, Reg. No. 1632070Units I and 2.Cambridge Techno Park,Newmarket Road, Cambridge.Advertising Rates are available onrequest.

Oric Insight: TheHidden Oric

How to access the floatingpoint maths routines directly inmachine-code

Hints and Tips

A new column of recipesforyour Oric, to experiment with

New Products Review

We look at the new Oric IMCp.40 colour printer

Captain Tanex

More incredible adventures ofour intrepid hero

Phonics

A testfor your ears to spot theodd word out

Frog-Run

Can you get the frog to avoidall the traffic hurtling towardsit and reach its destination?

Page 4: IJK Software and the ORIC-l Micro - Defence Force

Our software is available from all Oric dealers and .most good software suppliers. In case of difficulty .. ~~

please contact us on Teversham (02205) 2261 or write to us at:

Unit 1 & 2, Techno Park, Newmarket Road, Cambridge

Page 5: IJK Software and the ORIC-l Micro - Defence Force

Regulars

Editor's CommentPaul B Kaufman

Summer is the worst time of yearfor the micro enthusiast. Thesun beats down mercilessly onthose forced to mow the lawn orlie on deckchairs. There's nowelcome snowstorm or floodwhich means that he has to stayindoors writing obscure machinecode packages or solving adven-ture games in four dimensions.If you go abroad ten to onethere's no mains outlet on thebeach and someone's forgottento pack your aerial lead . Yet inhundreds of offices all over thecountry software houses areplanning their latest games orbusiness programs for the com-ing autumn and winter rush.This has been going on for aboutthe last three years yet things arebeginning to change.

Nowadays if you go to a com-puter exhibition you will findless people actually buyingequipment or software and morejust trying it out and seeingwhat's available before going totheir local W. H. Smiths orDixons to buy it. This is incontrast to the exhibitions of afew years ago such as the Bread-board shows where every exhibi-tor could expect to clear hisstand before the end of the showand perhaps even sell the standas well!

It is obvious then that the wholeretail market is maturing andrapidly becoming attuned to theconsumer rather than the stricthobbyist. In a way a lot of theearly magic is disappearing.

I can remember the excitementwhen my MK14 kit arrived onthe doorstep from Science ofCambridge (Pre-Sinclair!) andafter a few hurried hours ofsoldering, switching it on to findit didn't work. This, in away,was quite gratifying because if ithad worked I would have just satthere and looked at it - therewas no software around to doanything with. I remember evenbeing able to get through to NickToop or David Johnson-Daviesat Science of Cambridge andactually talk to these people whodesigned the machine. The same

goes for when I upgraded to aTangerine Microtan, I wasalways talking to Paul Johnsonor Barry Muncaster about sometechnical point or other.

In a way things had to change.The small numbers of thesemachines would have kept no-one in business very long. Todaywhen you buy a computer it isalmost always certain to run firsttime (don't all write at once!),software of some sort is alwaysavailable and although you can'tget to talk to the designers, thereare usually plenty of publica-tions (such as this) to help withyour technical problems.

The point of writing this is toshow that although there arealways complaints and prob-lems, they are usually, in per-spective, nowhere as devastatingas they could have been a fewyears ago. So although some ofthe old magic has gone, today'sproduct is far more completeand reliable than its moretemperamental predecessors.Speaking as someone who wasthere when it started I think Iprefer the present solid reliableproducts (well fairly reliable!) tothe old circuit board and bits ofwire designers nightmare.

Page 6: IJK Software and the ORIC-l Micro - Defence Force

News BriefAddons from MCPMCP have released a joystickinterface that includes its ownspeech synthesizer. This is basedon a fixed vocabulary chip whichgives a limited vocabulary ofaround 200 words although thesound quality is higher than thephoneme types. The joysticksocket is designed for Atari typeconnections.

MCP are also planning torelease in the near future adigitiser (bit pad), an RS232interface and a multichannelAID converter.

More information from MCP,Tel (0792) 844465.

Financial Director for OricAllan Castle, F.C.A. has joinedOric Products International,manufacturers of the Oric 1microcomputer, as their Fin-ancial Director. He took up theappointment which carries a seaton the Board on July 1.

Mr. Castle has just spent sixyears in Hong Kong as FinancialController of the Ednasa Group

which is involved amongst otherthings in shipping, oil field ser-vices and property in Singapore,Houston and Brisbane. Hebegan his career as a CharteredAccountant with Coopers andLybrand where he spent sevenyears before leaving to becomeAssistant Treasurer of P.&O.

Oric Sales IncreaseSales of Oric's microcomputer large quantities to France and keto The company is alsoare expected to reach 350,000 other European countries and actively seeking a similar joint.during the first year, a six hun- has recently set up joint ventures venture with an American com-dred percent increase over its in Japan and Singapore to cover pany.initial projection. It exports in the Asian and Australasian mar-

Page 7: IJK Software and the ORIC-l Micro - Defence Force

Software ScanPaul B Kaufman

Not many titles have arrived forreview since the last issue so Isuppose that everyone is off ontheir summer hols.

A company who I have notheard of before, Sector 7 Soft-ware, have sent me their Games-pack. It contains seven shortgames - Laser Station, Obstruc-tion, Mazatronic, Demolition,Milliblox, Noughts and Crosses,and Maths-Test. Although writ-ten in Basic they are of a goodstandard with reasonable graph-ics and sound. Although theyprobably won't appeal to thearcade addict they are very suit-able for the younger Oric user.

P.S.S. have sent me a previewcopy of their 'Ultra.' This is aspace invaders shoot down typegame with a difference. Theinvaders keep changing shapeand moving in various patternsacross the screen. The graphicsare very good, particularly thestar background which seems tomove independently of thealiens in front. A very enjoyablegame.

House of Death is a follow upadventure game to Zodiac fromTansoft. The adventure takesplace in a disused film set whichwas once used for horror films.As you would imagine there areall sorts of nasties out to get youand plenty of puns and bad jokeswhich are becoming hallmarks

of Geoff Phillips writing. Aswith Zodiac you will needseveral hours to play this adven-ture through, plus endless pat-ience. Geoff tells me he is work-ing on a proper follow up toZodiac called - wait for it-Zodiac 2. Apparently this will bewritten mainly in machine codeto speed things up.

I have managed to get hold of apreview copy of Author, theword processing package byJohn Dawson.It is cassettebased and is written entirely inmachine code. When you firstenter it you are presented with amenu that gives you the variousprogram options. These allowyou to create new documents,edit existing ones, save or loadto cassette, set up parametersfor printers and count the num-ber of words in your text.

Entering text is very simple, yousimply type 'w' for write andanswer 'Yes' to clear old text outof memory . You then just typein whatever you require.

Editing text is also simple. Youcan move about your text pageby using the cursor keys and youhave the ability to insert newtext, delete unwanted charac-ters, words or paragraphs andsearch for specific words.

A clever feature is wordwrap.This ensures that a word is neverbroken in half if it overflows theend of the line. It is alwaysmoved down to the next line.There are some more sophisti-cated features such as auto cen-tring, left and right margin set-ting and tabs. Author will num-ber pages for you automaticallyif required and force new pagesto be printed when needed. Youcan also have one paragraphalways printed at the top of eachform.

Although there isn't room todescribe in detail everything thatAuthor can do, in the few hoursI have spent using it I was veryimpressed with its capabilities. Itis quite happy to work with mostprinters including Oric's MCP40.

Next time I hope to look at OricCa1c and the Hobbit adventure.We are also looking for indepen-dent software evaluators toreview new Oric software. If youare interested why not drop me aline.

Page 8: IJK Software and the ORIC-l Micro - Defence Force

Disaster Area

A number of people have men-tioned problems with Oric-Trekin Issue 1. Try adding the line 10HIMEM #97FF.

In Issue 2 on page twenty wehave had a few complaints aboutthe data saving program. Tryputting quotes at the beginningand end of each DATA state-ment.

In Issue 3, the pr'ogram 'journeyof a Space traveller', the intro-duction was printed at the end ofthe article instead of the begin-nIng.

Also in Issue 3, the text for theprogram 'Skiing' should finishafter:1000-1080 Data statements forforming the screen. The rest wasa printing error and should beignored.

Let us know of any disasters youfind. '

GAMESPACK CONTAINS THESEHIGH QUALITY GAMES:

LASER-STATION- A planetary space duel -

On a lonely red mining planet, defend your laser installation froma descending enemy saucer. Knock out the saucer's photon boltswith the laser till the saucer comes in range, but watch yourenergy level & don't let the saucer hit the recharging plant.

OBSTRUCTION- Territory, traps & skill -

Steer your block around the screen restricting the movements ofOric's snake. Set-up the dead-end trap without getting into a jamyourself.

MAZA TRONIC- A 3-Dimensional Maze Exploration -

Oric places you at a random point inside a 3-dimensional maze.Move through the maze and use an aerial plan to deduce whereyou are. Then work your way to the exit. A fascinating gamerequiring patience and imagination.

DEMOLITION- A race against time -

A quality version of this addictive game. Level the cities of anabandoned planet to land and refuel. Comprehensive scoringwith bonuses and extra ships for competitive players.

MILLlBLOX- A Point-Scoring Chase through 7 sectors -

7 sectors to explore as Blue milliblock evades the Red milliblox.You have to score 200 points in each sector before the exitappears to the next, and each sector contains a special powermilliblox to turn the tables on the Red milliblox for a short while.

AND FOR YOUNGSTERSNOUGHTS & CROSSES

- The Traditional Game -3 skill levels to provide even the youngest gamester with asuitable opponent.

MATHS-TEST- Combines Maths & Fun -

A game for youngsters to practice their maths. Oric setsquestions on 10 skill levels. A correct answer gives you a chanceto shoot down invading spaceships. With each correct answermore spaceships appear, and they get faster.

ALL GAMES HAVE MULTI-SKILL LEVELS(16K Gamespack contains Laser Station, Obstruction,

Demolition, Milliblox and Noughts & Crosses)Gamespack 48K (7 games) . . . . . . . . . . . . . . £7

" 16K (5 games) . . . . . . . . . . . . £5.95Prices include P & P, cassettes despatched promptly.

Send cheque or p.a. to.

SECTOR 7 SOFTWARE, P.O. BOX 8NEWTON ABBOT, DEVONTel: 06267-4504 (trade enquiries welcome)

Page 9: IJK Software and the ORIC-l Micro - Defence Force
Page 10: IJK Software and the ORIC-l Micro - Defence Force

Oric Insight

The. Hidden OricPaul B Kaufman

This article is condensed fromtwo articles that appeared inIssues 4 and 5 of the originalTansoft Gazette by Jim Rew andAndy Biggs. It will allow you toaccess your Orics built-inmathematical routines directlythrough machine code.

Before you can go leaping aboutin Orics ROMs you will need toknow how BASIC handles float-ing point numbers. All floatingpoint operations take placeeither directly in memory or intwo special floating point accu-mulators in zero-page, known asFACl and FAC2.The format of a floating pointnumber held in memory is dif-ferent from when it is held in thefloating point accumulators:

IN MEMORY - Sign Packed 5 Byte FormatExponent Mantissa - 4 bytes Least significant end

Byte n n+ I n+2 n+3 n+4

The exponent is in excess 128 (decimal) form, that is:(a) A true exponent of zero is stored as (hex) 80(b) A true exponent of one is stored as 81(c) A true exponent of minus one is stored as 7F

Page 11: IJK Software and the ORIC-l Micro - Defence Force

A stored exponent of zeromeans the number is zeroregardless of the value of themantissa.

The 'binary point' is held to beat the most significant end ofthe mantissa and the numberis 'normalised' such that themost significant bit of themantissa is a '1'. This beingalways true this bit is then notexplicitly stored, and isinstead used to indicate thesign of the mantissa (0= +,1=-), as indicated py the'S'above.

IN THE FLOATING ACCUMULATORS - Unpacked 6 ByteForm at

Exponent 4 bytes of Mantissa SIGN Byte

I11

I I I I I

Byte m m+ 1 m+2 m+3 m+4 m+5\

The exponent has the same form as above.

The sign is extracted to the SIGN byte (msb 0= + mantissa)(msb 1=- mantissa)

The lost 1 is reinstated at the most significant bit of the mantissa. Theactual number had the value:

MANTISSA *2 TRUE EXPONENT

In a similar fashion, those ROM routines which store an accumulatorvalue into memory will translate back to the packed format.

Error HandlingThere are a number of problemswhich can cause the ROM rou-tines to abnormally terminate:

(a) Floating point overflow (anyoperation)

(b) ~ivision by zero(c) Illegal operations with the

transcendental functions(e .g. taking the square root of anegative number)

If you hit one of these problemswhile you are in a ROM routine,you will probably crash.

The ROM routines will, onerror, attempt to enter theBASIC error handler, whichwould normally print a message,reset lots of zero page param-eters and restart the interpreter

- fine if you're -already inBASIC, but not if you're justusing the subroutines. The likelyeffects are that the error handlerwill mess up your zero-pageusage and either the error printor the restarted interpreter willcrash because zero page will notbe set up the way the interpreteris expecting! Cheerful isn't it?Since the error call is not vecto-red you can't catch the problemsyourself. So beware!

ROMRoutinesOric's BASIC ROMs contain anumber of useful floating pointmaths routine that can be usedfrom machine code programs.The entry points of some ofthese routines are listed below,together with enough informa-tion for the experimenter to

make use of them. These routi-nes make extensive use of zero-page for their operation,however $35 to $80 are availablefor user storage.

In the list, ACC I is the primaryfloating point accumulator usedfor number crunching and islocated in the six bytes $00 to$05. ACC2 is the secondaryfloating point accumulator, usedfor mathematical arguments,and is located in the six bytes$08 to $00.

MEM is the address of the firstbyte of a five byte packed float-ing point number. The addressof MEM is determined by theuser. On entering these routinesthe address of MEM is usuallyheld in the A and Y registers.

Page 12: IJK Software and the ORIC-l Micro - Defence Force

ORIC INSIGHT

The following example showshow the routines are used:

Example: Divide 154 by 5, storethe result at $IFF0 for future useand print the result.

ExampleIFOO A900 LOA #$0IF02 A09A LDY #$9AIF04 20EDD3 JSR GIYAYFIF0? 20 DD DE JSR MOY AF1F0A A900 LD A #$0IF0C A005 LDY #$5IF0E 20EDD3 JSR GIYAYFIFll 20 E3 DD JSR FDIYTIF14 A91F LDY #$IFIF16 A2 F0 LDX #$F0IF18 20 AS DE JSR MOYMFIFIB 20 Dl E0 JSR FOUTIFIE EA NOPIFIF EA NOPIF20 EA NOPIF21 A201 LDX #$01IF23 BD 0001 LOA $100,XIF26 F006 BEQ $IF2EIF28 9D10BE STA $BE10,XlIF2C D0 F5 BNE $IF23IF2E 00 BRK

BD 00 01

Listing of Entry Points

Name Address Function Description

MOYFM DE73 Mem-Accl Transfer Mem to Acc!.A=MemLO.Y=MemHI.CONUPK DD4D Mem-Acc2 TransferMemtoAcc2.A=MemLO.Y=MemHI.MOYMF DEA5 Acc1-Mem TransferAcc1 toMemX=MemLO.Y=MemHI.MOY AF DEDD Accl-Acc2 Transfer Acc1 to Acc2.MOYFA DECD Acc2-Accl TransferAcc2toAccl.FDIVT DDE3 Acc2/Acc1-Accl Divide Acc2 by Accl.Result in Acc1.FDIY DDEO Mem/Acc1-Accl Divide Mem by Accl.A=MemLO.Y=McmHI.FDIY2 DOOA Acc2/Mem-Acc1 DivideAcc2byMem.A=MemLO.Y=MemHI.DIY 10 DDBF Accl/IO-~Acc1 Divide Acc1 by 10.SQR E22A SQR Acc1-Acc1 Find the square root of Acc1.POWER E231 Acc2iMem-Accl Acc2raisedtoMem.A=MemLO.Y=MemHI.INT DF A5 INT Accl-Acc1 Find the integer of Acc1.ABS OF31 ABS Acc1-Acc1 Find the absolute value of Accl.FADD DA97 Mem+Accl-Acc1 Add Mem to Accl.A=MemLO.Y=MemHI.FADDH OA79 Acc1+0.5-Acc1 AddO.5toAccl.FSUB OA80 Mem-Acc1-Accl Substract Accl from Mem.A=MemLO.Y=MemHI.FMULT DCB7 Mem*Acc1-Acc1 MultiplyMembyAccl.A=MemLO.Y=MemHI.MULlO DDA3 Accl* lO-Acc1 Multiply Acc1 by 10.SGN DF12 SGN Acc1-Accl Find the sign of Accl.LOG OC79 LOG Accl-Acc1 Find the log of Accl.NEGOP E26D -Acc1-Accl Negate Acc!'RND E34B RNO Acc1-Acc1 Generate random number.SIN E38E SIN Acc1-Accl Find the sin of Accl.COS E387 COS Acc1-Accl Find the cos of Accl.TAN E307 TAN Acc 1- Acc 1 Find the tan of Acc 1.ATN E43B ATNAcc1-Accl FindtheatnofAccl.GIY A YF D3ED A,Y -Acc1 Convert integer to F.P.Y= IntLO.A=IntHI.QUINTl D871 Acc1-$D3,$D4 Convert Accl to int.$D4=lntLO.$D3+ IntHI.FOUT EOOl Acc1-$IOO+ Convert Acc1 tostring.Accl destroyed.

Page 13: IJK Software and the ORIC-l Micro - Defence Force

New Products ReviewMCP40 Colour Printer/Plotter

This is the first official addon forthe Oric-l, a complete printerand pen plotter all in one.Instead of the usual arrange-ment of heated pins or sparksthis printer uses a clevermechanism consisting of fourball-point pens on a rotatingcylinder. These pens are black,red, green and blue and so allowcolour text or graphics to beprinted. Each colour is selectedeither by pressing one of thebuttons at the front of theprinter or by entering LPRINTCHR$(29) on your Oric.

The printer has its own powersupply cable and comes with aribbon lead to connect it to theprinter socket on the Oric. Makesure that you plug the lead incorrectly otherwise your Oricwill just freeze.

Apart from the normal printingof characters there is also thefacility to control the size of

characters in 64 steps. Thiscoupled with the facility to printtext in four different directionsmakes for some very interestingpatterns and graphic designs.

The printer uses 41/4" plain rollpaper and is selectable for 40 or80 characters per line. It is alsopossible to select by switcheswhether a CR or CR/LF isprinted at the end of each line.You also have a switch to selectthe katakana (Japanese)character set.

There is a graphics mode in theprinter, which allows you todraw diagrams and pictures veryeasily. There is a commandsimilar to the Orics Hi-Res Pat-tern command. This allows youto draw dotted lines of 16 differ-ent types. The resolution acrossof 480 by the length of the paperallows the detail of pictures to

equal or surpass the quality ofHi-Res mode.

Plotting is made very easy by aset of commands that give youabsolute and relative drawing,resetting the origin and mixingtext with graphics. Most im-pressive is the facility to drawthe axes of a graph automaticallyincluding the tick marks alongthe edge.

All in all, then, this printer isvery well suited to the Oric andwould be ideal for most hob-byists or even some businessusers. It would be silly to pre-tend that it could produce letterquality printing and its speed ofwriting is a little slow (12 cha-racters per second) but I know ofno other printers that give thesefacilities for the price. So forvalue for money I don't thinkyou could go wrong here.

Page 14: IJK Software and the ORIC-l Micro - Defence Force

'2-D Arrays & Totals'By L. Bancroft

The program presented demon-strates one solution to the prob-olem of the peculiar TAB func-tion found in the ORIC BASICROM, especially when produc-ing 2 Dimensional Arrays.

The text discusses some of theproblems and solutions encoun-tered whilst developing the pro-gram on an ORIC-l.

ORIC PRODUCTS INTER-NATIONAL have acknowl-edged the problem with theTAB function .and have statedthat this function only appears towork from position 13 on thescreen.

These facts will become relevantif a short history of the programis detailed.

The program owes its origins tothe N.E.C.'s 30 Hour BASICCourse (actually Assignment8.1). The program was originallywritten for use on an Apple 2.

My special interest is writingBusiness Programs and uponowning my own ORIC-l Idecided to use this program aspart of a larger one. Runningthis program in its original formon the ORIC provided someinteresting, albeit incorrect,results. By experimentation,and a 'phone call to ORICwhich confirmed that there wasa problem with tbe TAB, a

solution has been found. Also abetter understanding of certainfunctions of the Oric has beengained.

The TAB function will workas a single statement, althoughfor this function the screen isnumbered 13 to 51 (from Left toRight) not 0 to 38. MultipleTAB statements e.g. PRINTTAB(X);TAB(Y);TAB(Z)... .will not work.

Having found the problem thenext step was to find a solution,obviously the next function totry was SPc.

After a few trial statements withSPC it was discovered that someof the problems associated withTAB statements were alsopresent with SPC, plus one ortwo new ones! These, togetherwith the results of further trialsare summarised in TABLE 2.

Having decided that to make theprogram run correctly and pro-duce a correctly formed table offigures the following functionswere deemed necessary:TAB,SPC,LEN ,STR$.

When using STR$ it has to beremembered that when usedwith a numeral an additionalspace is added in front of thenumber for the + or - charac-ter. E.g. Line 160 causes thecurrent value of J to be printed 5spaces from the last J, not 6.

It will be seen from Table 2 thatSPC statements in loops wherethe FOR/NEXT Value is to beprinted do not operate correctly.To overcome this it is necessaryto convert the value to a string,i.e. PRINT STR$(J).

By trial and error the necessary'statements were formulated andincorporated into the programwith a successful result.

To summarise: The TAB func-tion on the ORIC-l can only beused as a single statement TheTAB positions on the screen are13 to 51, and TAB positionbelow 13 will be printed at 13(e.g. TAB(5) will appear at theextreme Left of the screenexactly as would TAB(13)).Table 1 gives some examples ofstatements that will work andsome that won't.

For multiple printing on one lineeither SPC alone or following aTAB statement is required. Ithas to be remembered that whenusing SPC in loops, where theFOR/NEXT value is required tobe printed that this numeral hasto be converted to a string. Frompersonal experience I have con-cluded that the SPC function,within a loop for multiple print-ing on one line, only operatescorrectly with strings or withnumbers already designatedstorage labels, e.g. Lines 200,260.

Page 15: IJK Software and the ORIC-l Micro - Defence Force

'2-D Arrays & Totals'In conclusion the lines that havebeen altered in the program arelisted below together with theirfunction:

150-160 Print the Headings180-2lO Print Day No., Data,Daily Totals230-260 Print Product Totals &Gross Total

Table 1

TAB Functions Correctly

H) FOR X:!: 13 TO 5120 PRINT T AB(X)X

30 NEXT X

?T AB(X-LEN(T$))T$

?T AB(X-LEN(STR$(X)))X

?TAB(X-LEN(T)T

TAB Functions Incorrectly

Any Multiple TAB Statement.E.g. PRINTTAB(X);TAB(Y); etc.

FORX+13T051 STEPS

?T AB(X)X; : NEXT X

FOR X = 13 TO 51 STEP 5?TAB(X)"A";: NEXT X

Table 2

SPC Functions Correctly

IOFORX = 1 T0520 ?SPC(X)X20 ?SPC(5)X20? SPC(lO-LEN(T$))T$;20? SPC(IO-LEN(STR$(X)))"A";20? SPC(lO-LEN(STR$(T)))T;20 ?SPC(lO-LEN(STR$(X)))STR$(X);30 NEXT X

SPC Functions Incorrectly

lO FO R X = 1 TO 520 ?SPC(lO-LEN(STR$(X)))X;30 NEXT X

IOFORX = 1T0520? SPC(5)X;30 NEXT X

The above examples will print the firstvalue correctly but subsequent valueswill be printed at SPC(5+ 1) i.e. SPC(6)

(The above examples will function correctly/incorrectly whether in loops or not.)

Page 16: IJK Software and the ORIC-l Micro - Defence Force

'2-D Arrays & Totals'

0 REi\! "2-D ARRAYS &., TO'l'ALS"

?O DIN N(7 r 6) : DIH A( 61 : DIN B( 6)

30 REM ***READ & TOTAL ROUTINE***

40 FC R r' = 1 TO 5

50 }'(I R J = 1 TO 4

60 R~AD 'N(r,J)

70 A(.J) = A (J) + N ( r , .J)

80 B(r) = BCr) + N(I,J)90 NSXT.T

100 T == T + B( r)

110 PRInT: NSXT r120 REM ***PRIUT ROUTINE***

1 30 P RI 1-iT ~~A ~)( 1 4) "D AY11; SP C( 8) 11PRO DUC':!.'"

1 40 PR I HT TAB ( 1 Ij-) 11- -- If ; S P C ( 8) 11- - -,-- - - "1 50 .P RI l: s: TAP ( 1 9) "1 11;

'i60 F''11=~ ,r 0:' 2 TO 4 : P:lIN'l' S?C(7-1~-~N(s'rRp(J)))S':'Rt(.J); : NEX':!.' ~T :

PRI~';'r speC 5) "TOTALSII - .

170 FOR X = 13 TO 50 : PRINT "-"; : N}~XT X

1 80 FO R I = 1 TO 5 : PR IN T TA 13( 1 -1-)i;

190?OR J = 1 TO 4 : PRIn'r SPC(6.-LElJ(STP.40'i(I,J))))lT(r,J); : !-fSXT J

200 PRIgT SPC(9-L}~};(STRt(B(I)))) B(I)

210 PRINT: NEXT I

220 FOR X = 13 TO 50 : PRINT "_"; : NEXT X : PRINT

2 30 P ;{ I 1TT TAB ( 2 2 - LE IT( S T R $( A ( 1 ) ) ) ) A ( 1 ); : J =2

240 PRINT srC(6-L~n(STR,$(A(.I))))A(J); : J=J+1

250 IF J< 5 THEN 240

260 PRINT SPC(9-LEN(STRS(T)))T

270 FOR X = 13 TO 50 : PRINT "_I'; : rTEXT x : ::aTD

280 DATA 500r300,20,25,600,700,iO,0,200j 550

290 DATA 60,20,250,450,100,5,400,200,100,11

Page 17: IJK Software and the ORIC-l Micro - Defence Force

Character generatorprogram

By Carsten Skjerk

This character generator pro-gram is dumped directly to theprinter using LLIST.

The following changes areneeded for the character genera-tor to run on the 16K:

Line 10: #97FF should be # 17FFLine 120: # B400 should be #3400Lines 190, 290, 420: 48123should be 15335Line 315: the CSA YE-addresses should be A#3400,E#3B80

General notes;Line 50, 395: 6 spaces

1 REM' 1983 CARSTEN SKJERK5 REM xx CHARACTE~ GENERATOR .x10 INK7:PAPER1:HIMEM«97FF20 CLS:AS=CHRSC25S) :TEXT:PRINTCHRS(20);30 PRINT:PRINTASR'RSASASASASAS40 FORX= nOB50 PRINTAS" "AS60 NEXTX70 PRINH\$ASASASR:~AI.ASAS80 PRINT:PRINT"Inout the char~cter to be redefir.ed'l90 B$=KEVS:IFBS=""THEN9091 IFASCCBS) (320RASCCB$»12BTHEN90100 PRINT"Characterset 0 or 1 7

"110 GETCS:IFCS("0"ORCS)"1"THEN110115 C=VALCCI.)120 A-"B400+VALCCS)-«400+8xASCCBS)130 PRINT:PRINT"Press '5' to set a Dixel and 'd' to delete a Dixel."132 PRINT"Press 5cace B~r to cle~r ctl~r~cter."135 PRINT"Press 't' to s~ve current charactersetof. tape. ,.140 PRINT:PRINT"lJse the arrow-keys to move ttle CIJrSor.";150 PRINT:PRINT"Press [RETURN] to stm'e the character,";160 FORX=lT022: PRINTCHf(S <11) ;:NEXT180 PRINTCHR'(9)CHRSC9)CHRSC9);190 Z=48123:Q-126200 FORX-OT07210 Y=PEEKCX+A)220 IFYAND32THENPOKEZ+X, CQ)ELSEPOKEZ+X,32230 IFVAN016THENPOKEZ '-X+!,IQ)ELSEPOKEZt-X'l, 3;~240 IFVAND8THENPOKEZ+X+2. CQ)EL5EPOKEZ+X+2,32250 IFVAND4THENPOKEZ+X+3. CQ)ELSEPOKEZ+X+3.32260 IFVAN02THENPOKEZ+X+4. CQ)ELSEPOKEZ+X+4.32270 IFVAN01THENPOKEZ+X+5. CQ)EL5EPOKEZ+X+S,32280 Z-Z+39:NEXT;~90 Z-48123300 GETCS:B-ASCICS)310 IFB(80RB)11ANOCS()"s"ANOCS()"d"ANOCS()"t"ANDB(>13ANDCS(>" "THEN300315 IFCS-"t"THENCSAVE"CHARACTERSET".A«B40Q,E"BB80320 IFB=8ANDPOSCO»3THENZ=Z-1:PRINTCS;330 IFB-9ANDPOS(0) (8THENZ=Z+1:PRINTCS;340 IFB=10ANDPEEK(616) (10THENZ-Z+40:PRINTC';350 IFB-11ANDPEEK(616»3THENZ=Z-40:PRINTCS;370 IFCS="s"THENPOKEZ,126380 IFCS="d"THENPOKEZ.32390 IFB=13THEN4!0395 IFCS=" "THENFORX=2T09:PLOT2.X." ":NEXT400 GOT0300410 PRINTCHR.(17);420 Z=48123425 IFC-ITHENPLOT14,5,9ELSEF~OT14,5,8426 PLOT15.5.B$430 FORX=OT07440 c-o450 FORY=OTOS460D=PEEKIZ+Y+C40-X»470 IFO=126THENC-C+2AC5-Y)480 NEXT V485 CI=RIGHT'CSTRSCC) .LENCSTRSIC)-!)490 POKEA+X.C:PLOT9,X+2," "+CtSOO NEXTX505 PLOT1.25."Press [R~rURN] to continup,"51D GETA1.52D PRINTCHR1(17)CHRtC20) :RUN

Page 18: IJK Software and the ORIC-l Micro - Defence Force

PEACH COMPUTERS LTD-------------------

192 GREENOCK RD LARGS AYRSHIRETEL- 0475 673766

' , ----

",

1-- :";"(IF.:I C - I :' :: E F'::;; (I t.~

1-- --- - .: -:'.

HI PE::;; .:. t'1::<:::;:~j

-- . --;-. --. .. .. .. ..

': ..- _. ----

.;

-~, ',......._.r~ "1..J,1 .~ ,~ -------

- - --PEA C H HIe (IP Y

--~--~---'--- -- -- ._-

THE ENTIRE HIRES SCREEN OF THE ORIC-I ISCOPIED PERFECTLY IN SECONDS USING NEW --VERY FAST MACHINE CODE SUBROUTINES

SUPPLIED ON CASSETTE WITH FULL DETAILS

RUNS ON ANY CENTRONICS TYPE PRINTER ---SUCH AS THE EPSON RANGE OR EQUIVALENT

TOTAL INCLUSIVE COST 5 POUNDS

[ORIC-l] ~~JiJoin Now and receive:

. A Free 'Oric Toolbox' Cassette. Our Mail Order Catalogue

. Monthly Members' Newsletter with the widest Oric

. Details of our 'Star Tape of range at 10% discount.the Month'

ANNUAL MEMBERSHIP. . . . . . . . . . £5.006 MONTHS TRIAL. . . . . . . . . . . . . . £3.00OVERSEAS (1 YEAR) £8.00To join send fee, name, address and Tel. No.

or SOp for our Mail Order Catalogue only.

Members deduct 10% from any item advertised and add p&pper item: 40p Software; £10 Hardware. Overseas add extra £1

per item.

LATEST ORIC RELEASES Available NOWCentipede. . . . . . . . £6.95 Explode/Overflow. . £7.95Invaders. . . . . . £6.95 Word Processor. . £15.00Xenon I £8.95 Oric Forth I+Man.). .£14.95Chess. . . . . . . . . . £9.95 Dinky Kong. . . . . . £6.95Oric Trek. . . . . . . . £9.95 Dig Dog. . . . . . . . £6.90

The Swamp. . . £7.95 Painter. . . . . . . . . . £6.95Database. . . . . . £15.00 Colossal Adventure £9.90Hopper. . . . . . . . . . £6.95 (original mainframe)

Oric.Munch £7.95 Adventure Quest. . £9.90Zodiac Adventure. . £9.95 Dungeon Adventure £9.90Games Camp. I . . £7.95 Space Crystal. . . . £6.95

All Prices include VAT and FREE DELIVERY

ORIC 1 USERS CLUB31 North Street, Wareham, Dorset BH20 lAD

Telephone: 0929551383with your Access, Barclaycard, American Express numbers for

immediate despatch (24hr. Service)

SUPER ORIC 48K OFFERS

BAR Select the correct power and unleash theradioactive ball to wipe out the multi-colouredbars. Too much power and the ball will Just bounce

BLASTERback. Achieve optimumscore and you moveonto the next level. £4.95

You are trapped in the MEMOR~'Memory Map' (a threedimensional maze). YourJob is to find your way out. Keep your MAPmoves low, It improves your score.

£4.95

ROUTE GUide your ship. avoiding theobstacles and make sure you don'tcross your own trail. Look out

RIDER thou.

gh as you Journey on, the

£4 95room to manoeuvre reduces.

. 5skill levels.

Save £1 when you buy the set for £13.85POST FREE

Send a cheque or Postal Order to:

BYTELAND - PO Box 57 Sawbridgeworth, Herts CM21 9EG.

ARE YOU SERIOUSABOUT

ORIC-l YOURORIC?-

IF SO THENTH IS IS THEBOOK FORYOU!

THE ORIC COMPANION by Bob Maunder, authorof the Sinclair ZX Companion series, is adetailed manual on the Oric-l computer,indisrensable to both BASIC and machine-code programmers. It contains

Reference Guide to all KeywordsAnalysis of Screen DisplayOisassernbly of Oric-l ROMand much more

Send cheques for £6.95 (UK P&P free) to:

LINS A j

c 68 Barker Road, Linthorpe,

~ Middlesbrough, Cleveland. TS55ES

Page 19: IJK Software and the ORIC-l Micro - Defence Force

I

Hints & TipsBy D. Lam

Program 1 .deals with Discount-ing (i.e. compounding in reverseto find the present value of agiven amount of money receiv-able in the future).

Program No. 15 REM DISCOUNTING7 CLS: PRINT10 INPUT"ENTER

AMOUNTRECEIVABLE IN YNUMBER OF YEARSTIME =£";M

15 PRINT20 INPUT"NUMBER OF

YEARS"; Y22 PRINT25 INPUT"RA TE OF

INTEREST PERANNUM=%";R

30 PRINT40 PV=M*lI(l + R/100) i Y50 PRINT"G IVEN

";R;"PERCENT OFINTEREST PERANNUM, THEPRESENT VALUE OF£" .,

55 PRINT M;"RECEIV ABLE IN";Y;"YEARS TIME IS£" ;INT(PV* 100)/100

60 END

. Example:, GIVEN 12 PERCENT OFI

I INTEREST PER ANNUM,ITHE PRESENT VALUE OF£1250 RECEIVABLE IN 5YEARS TIME IS £709-28

Program 2 is an effective way tocalculate (a) the sales units/value in order to break even,and (b) the sales units/value toachieve the budgeted profit forthe year.

Program No. 25 REM BREAKEVEN

CALC10 CLS: PRINT20 INPUT"SELLING PRICE

PER UNIT =£" ;SP25 PRINT35 INPUT"V ARIABLE

COST PER UNIT=£";VC

40 PRINT.45 INPUT"TOT AL FIXED

COST PER ANNUM=£";FC

50 PRINT60 INPUT"WHAT IS YOUR

EXPECTED PROFITFOR THIS YEAR?£" ;EP

65 PRINT80 BEU=FC/(SP-VC)90 EPU=(FC+EP)/(SP-VC)95 PRINT: PRINT: PRINT100 PRINT"(l)BREAKEVEN

PO INT =";INT(BEU) ;"UNITS"

105 PRINT110 PRINT"BREAKEVEN

. SALES =£";INT (BEU*SP)

115 PRINT120 PRINT"(2) TO

ACHIEVE THEEXPECTED PROFIT,YOU MUST BE ABLETO SELL";

125 PRINT INT(EPU);"UNITS"

130 PRINT135 PRINT"SALES

REVENUE TOGENERATE THEEXPECTED PROFIT=£" ;INT(EPU *SP)

140 END

Example:

SELLING PRICE PER UNIT=£? 5VARIABLE COST PER UNIT=£? 3TOTAL FIXED COST PERANNUM =£? 12000WHAT IS YOUR EXPECTEDPROFIT FOR THIS YEAR?£? 9500

(1) BREAKEVEN POINT =6000 UNITSBREAKEVEN SALES=£30,000 .

(2) TO ACHIEVE THEEXPECTED PROFIT,YOU MUST BE ABLE TOSELL 10750 UNITS

SALES REVENUE TOGENERATE THE EXPEC-TED PROFIT =£53,750

Page 20: IJK Software and the ORIC-l Micro - Defence Force

Hints & TipsBy D. Lam

1. Type HIRES and draw a fewlines all over the screen (andcircles, etc if you want). Thentype TEXT. Use the CURSOR-DOWN key to get down to thelast line on the screen. Thenpress ESC and finally press theDEL key. . . . . .

2. Locations 520 and 521return, if PEEKED, differentnumbers depending on whichkey is pressed (much better thanKEY$ or GET$) location 520holds most of the keyboardwhereas 521 changes if theSHIFT or CTRL keys arepressed (the two SHIFT keysreturn different values).

3. In HIRES, if you have'FILL'ED parts of the screen

with colours, etc you will havenoticed that you cannot draw aline or a CIRCLE over that part.To clear a 'window': set thecursor to the appropriate pointand FILL the desired area with avalue of 64.

4. I have discovered a way ofretrieving NEW'ed programsand am working on a shortmachine code routine to bringback a BASIC program whichhas been NEWed (providing noerrors have since occurred or noprogram lines have beenentered) I am also working on aroutine (in BASIC) which willhighlight all REM statements ina program with any desired attri-bute. More details later.

5. CALL 62509 simulates pull-ing out and pushing the powerplug in again. This saves wear onthe power socket.

6. The alternate character setgraphics are made up as follows:

1 24 8

16 32

So, to get a particular shape, addup the corresponding blocks andadd 32.

ego to get:

the code is (1 +8+ 16)+32=57

Page 21: IJK Software and the ORIC-l Micro - Defence Force

Hints & TipsBy C R Burnham

I have discovered that the following addresses perform the specifiedfunctions on the ORIC 1 48K Micro. I thought you might like toinclude them in your magazine for other Users.

Decimal HexAddress Address Function621 #260 Address of text screen

(Default 48(00) but can beDOKED with 48280 for examplewhich will stop the top 71inesfrom scrolling (ie. 48000 +(7 x 40) = 48280)

623 #26F Text lines per screenDefault 27) but can be POKEDwith 20 to 'reduce' the textscreen size.

So to scroll line 13 to 27 but leave lines 1 to 12 constant:

10 CLS: FOR A= 1 TO 12: PRINT "LINE"A: NEXT20 DOKE 621, 48480: REM BASE ADDR + 12 LINES30 POKE 623,14: REM 14 LINES TO SCROLL40 FOR A= I TO 10050 PRINT "THIS LINE WILL SCROLL"60 NEXT70 DOKE 621,48000: REM RESET BASE ADDR80 POKE 623,27: REM RESET LINES/SCREEN

Page 22: IJK Software and the ORIC-l Micro - Defence Force

Dear Sir,re Forth on the ORICI am very excited about FORTHon the ORIC. It really is anexcellent implementation of Eg-FORTH.

I also enjoy 'Starting FORTH'by Leo Brodie which is recom-mended in the introduction tothe FORTH Programming Man-ual.

As is pointed out there, thereare differences between poly-FORTH and fig-FORTH. Onemajor difference is in the use ofthe word CREATE. If you logusing it in an attempt to copy

Brodie's examples disasterstrikes! It is possible to definea defining word which has thesame effect as poly-FORTH CREA TE.- : STORE<BUILDS DOES>; eg thephrase-STORE LIST nI, nz, n3, willcreate a dictionary entry calledLIST followed by the numbersnh nz and n3.

Subsequent use of the wordLIST returns the address of thefirst value. Thus-LIST @ willput n, on the top of theSTACK. LIST 2+ @ willreturn nzLIST 4+ @ will return n3

The various examples on theORIC FORTH tape whichmake use of calls to functions inROM are fascinating. Can wepersuade ORIC to publish a listof entry points and parameters?Then we really could demon-'strate the combined power ofFORTH and ORIC!

Best wishes to ORIC OWNERmagazine. I'm looking forwardto receiving my next copy.

C. Gavin Fairpo

Dear Sir,After acquiring my ORIC-Ithrough some difficulty, I mustsay it was well worth the wait.

As it is not my first personalmicro, I know enough to recog-nize its excellent properties.Everything is a plus here, includ-ing color (via RCB monitor),sound (hooked up to the stereo)and the microsoft basic is cer-tainly up to standard. The super-fast graphics commands arespecially useful.

But, everything considered,ORIC-I's full computing poten-tial is not realized without essen-tial peripherals.

Can you please suggest a feweconomical printers (SEIKO-SHA AP80A?) and disk driveseasily available that may beplugged in with little or no needfor interfacing?

How about a circuit diagram toconnect a standard switched joy-stick to 9 pin D-plug?

Thanks for your attention.Rada/fa L. LaygoManama, Bahrain

Page 23: IJK Software and the ORIC-l Micro - Defence Force

PhonicsBy S. Lucas

This program was written inconjunction with a teacher of5-8-year aids. Its aim is to helpyoung children to develop anunderstanding of the ideas ofPHONICS, in a way which isboth fun and educational. Theprogram will work in a 48Kmachine, although I have nottried it in a 16K machine.

The listing contains full instruc-tions in the form of REMarks asto how the program works andhow it can be changed to suit theuser. I have tried to keep itsoperation as structured as poss-ible and have included noGOTO statements. The mainsection of the program occursbetween lines 120 and 210, the

following lines all being sub-routines.

In use, the child will be pre-sented with four boxes contain-ing 3 similar words and one"ODD MAN OUT". An arrowwill jump from one word to thenext at a rate which is deter-mined by line 1950. This caneasily be speeded up if required.The child must then press anykey when the arrow points at theodd one out. This was felt to bebetter than asking children ofthis age to use the keyboardmore fully. They will be given adifferent response for a right orwrong answer. The computerchooses 10 questions at randomfrom 60 alternatives. After theten questions are up, the child

will be told their score and askedto enter their name. It shouldtherefore be quite easy to extendthe program to keep a 'HIGHSCORES' league which couldbe useful in a class situation.Scores of over 5 out of 10 get acomment 'good' whilst over 7get 'very good'. They will thenbe asked if they want to playagam.

To alter the questions, all that isnecessary is to alter the datafrom line 330 onwards. Each lineof data contains the 4 wordsfollowed by the number (out ofthe 4 alternatives) of the rightanswer. The boxes will holdwords containing up to 5 charac-ters only.

Page 24: IJK Software and the ORIC-l Micro - Defence Force

1 R!:M Itt PHONICS PROGRAM 11.2 REM ,ft SUITABLE fOR 5/7 YEAR OLDS ft.3 REM

'UWRITTEN BY S. ''';. LUCAS

U'4 REM tt, <C> 1983 tt.5 AASz"phonics program"6 ABs-"written by"7 ACS-"S.W. Lucas 1983"19 HIRES12 PAPER7: INK416 REM TITLES ON THE HI RES SCREEN29 CURSET29, 2~, 339 FOR A-I TO LEN(AAS)32 CHAR ASC(MIDS(AAS,A,l)) ,9,133 CURMOV19, ~,~35 NEXT A36 CURSET 29,3~,338 FOR A 0 1 TO LEN (ABS)39 CHAR ASC (MIDS (ABS, A, 1) ) ,~, 14Q CURMOVl~, 9,941 NEXT A43 CURSET 2~,5~,344 P'OR A 0 1 TO LEN(ACS)45 CHAR ASC(MIDS(ACS,A,l)) ,~,146 CURMOV 1~,~,~47 NEXT A129 DIM AS (6~,4) ,B(69) ,C(l~1139 GOSUB 2H149 GOSUB128~15~ GOSUB 171~18~ GOSUB133~19~ SCo9195 IP' (BSo"N" OR BS'"n") THEN END2U RUN2Ie END22~ REM THIS SECTION OF THE PROGRAM23~ REM READS THE DATA INTO THE 2-DIMENSIONAL ARRAY AS (X,Y)24Q REM EACH QUESTION HAS 4 ALTERNATIVES25~ REM FOLLOWED BY THE NUMBER OF THE CORRECT ALTERNATIVE269 REM THIS ANSWER IS HELD IN THE ARRAY B(X)278 fOR X -I TO 6~289 fOR Y 0 1 TO 429~ READ AS(X,Y)

lU NEXT Y~R!:AD 8tX)32~ NEXT X339 DATA cat,sat,bat,let,4

34" DATA. eat,meat,rub,seat,3358 DATA cot,dot,not,set,4369 DATA hill,ball,call,fall,l3711 DATA miss,put,nut,hut,l389 DATA hiss,miss,mat,kiss,3399 DATA can,pan,tin,ran,3

.""DATA ham,put,Sam,pam,2

419 DATA tap,lap,map,bat,4429 DATA hid,rid,put,Sid,3439 DATA had,rid,mad,sad,2449 DATA rOd,rat,cod,pod,2459 DATA bake,cake,rake,plate,4460 DATA late, ball, hate ,gate, 24H DATA Jill,Bill,call,pill,3489 DATA ;'hell,well,pull,bell,3499 DATA pull,bull,hull,call,4599 DATA hop,shut,shop,pop,2510 DATA shed,bed,red,hop,4520 DATA pop,lip,pip,rip,l539 DATA dad,bad,hop,lad,354B DATA lad,hit,sit,pit,l550 DATA fan,sun,fun,bun,l560 DATA lid,hid,bun,kid,3579 DATA face,pace,plate,race,3580 DATA meat,heat,seat,sit,4590 DATA fair ,hair ,chair ,chap,4690 DATA lid,bin,pin,tin,l619 DATA cut,fish,put,hut,2629 DATA take,lake,cake,hunt,4639 DATA car,far,call,bar,3649 DATA wake,pin,rake,make,2650 DATA pan,pen,hen,men,l660 DATA ant,pant,hen,rant,3679 DATA mast,last,fish,past,3680 DATA lock,tank,rock,sock,2690 DATA lamp, vest, ramp, camp, 2700 DATA vest, rest, pest, lock, 4719 DATA nine,mine,pine,kite,4

729 DATA pram,ham,land,Sam,3730 DATA land,sand,hand,lit,4740 DATA hop,pin,pop,top,2750 DATA mark,park,lark,land,4760 DATA pond,jet,pet,met,l779 DATA ride,side,tide,land,4780 DATA play,clay,say,pet,4790 DATA can,pan,plug,ran,3800 DATA pad,mad,dad,cat,4810 DATA map,sap,cap,cat,4820 DATA late,Kate,hate,cat,4830 DATA Tate,cap,gate,rate,2849 DATA car,far,bar,ball,4859 DATA cat,bike,like,mike,l869 DATA late,plank,ate,plate,2870 DATA bank,pull,plank,rank,2889 DATA shade,glade,blade,glad,4899 DATA chop,cop,cot,shop,3999 DATA wa it, wake, bake, take, 1910 DATA lake,full,make,rake,2929 DATA shut,run,rut,nut,293~ RETURN959 REM THIS SUBROUTINE DRAWS THE 4969 REM BOXES WHICH HOLD THE CHOICES965 REM WHICH ARE AVAILABLE97~ HIRES971 REM NEEDED TO RESET COLOURS972 PAPER7973 INKl974 YY-2~975 FOR

Q"1 TO 4

977 CURSET YY,S0,1989 DRAW 39,0,199~ DRAW 9,3~,1199~ DRAW -39,9,11910 DRAW 9,-30,11920 YY-YY+521939 NEXT Q

1940 RETURN122~ REM THE fOLLOWING SECTION Of THE PROGRAM1239 REM CHOOSES A RANDOM SELECTION Of1240 REM TEN QUESTIONS OUT OF THE 6~ POSSIBLE QUESTIONS1250 REM THE ARRAY C(X) IS USED TO HOLD THE1260 REM NUMBER OF THE QUESTIONS TO BE ASKED1270 REM TO CHOOSE MORE QUESTIONS ALTER THE NEXT LINE1289 fOR X'1 TO 101290 LET C(X)- INT(RND(1)*69)+11291 REM THE NEXT LINE ENSURES THAT TWO IDENTICAL QUESTIONS1292 REM DO NOT COME NEXT TO EACH OTHER

'1293 If C(X»l AND (C(X)-C(X-l)) THEN GOTO 129913~9 NEXT X1319 RETURN1339 SC-01349 REM THIS SETS SCORE .~1359 REM THE NEXT SECTION13~5 REM SETS 19 -Qm:5TfONS1357 REM CHOSEN AT RANDOM1369 fOR TT - 1 TO 191389 REM THIS CLEARS THE SCREEN139~ HIRES:1399 REM DRAW THE 4 BOX ES AGA I N1409 GOSUB 9701419 GOSUB14701429 GOSUB17601430 GOSUB21401449 NEXT TT1459 GOSUB240~1469 RETURN147~ G-B(A)148~ A"C(TT)1499 REM A -C (TT) HOLDS THE NUMBER1599 REM Of THE CURRENT QUESTION151~ REM GoB (A) HOLDS THE ANSWER1529 REM TO THE CURRENT QUESTION157~ REM THE NEXT SECTION PRINTS THE1580 REM WORDS IN THE BOXES1582 PP-22:REM SET X POSITION Of CURSOR fOR THE fiRST WORD1585 fOR P- 1 TO 4: REM COUNTEr fOR 4 WORDS1599 CURS ET PP,69,31595 NS-AS(A,P)169~ FOR z. 1 TO LEN (N$)

161~ CHAR ASC(MIDS(NS,Z,I)) ,0,1162~ CURMOV 7,0,01630 NEXT Z

Page 25: IJK Software and the ORIC-l Micro - Defence Force

1635 PP::PP+52: REM MOVE CURSOR FOR NEXT WORD1640 NEXT P1650 RETURN1670 REM THIS SUBROUTINE IS TO DEFINE1680' REM THE CHARACTERS TO BE USED1693 REM AS A POI ~TER1703 REM TO POI NT TO THE WORDS1710 GF$=CHR$ (129)1720 GG$= CHR$(94)1730 GH$= CHR$ (124)1740 RETURN1760 0=321770 E=100178e REM PROCEEDURE TO MOVE ARROv.' ACROSS1790 REM THE SCREEN. TO POINT AT THE 4 BOXES IN TURN180'0' REM UNTIL ANY KEY IS PRESSED1820 REPEAT1830 REM D == X POSITION AND E

== Y POSITION1840 REM OF THE ARROv.'itS:."" PI NL;1860 REf-1 SOUNDS PING EACH TIME THE ARROW MOVES1900 CURSET D,E,31910 CHAR94,0,11920 CURMOV 3,8,31939 CHAR124,0,11950 WAIT 1501951 REM TO MAKE THE ARROW PAUSE BEFORE MOVING TO THE NEXT BOX1960' REM NOh' ERASE ARROW1970 CURS ET 0,E,31983 CHAR 94,0,21985 CURMOV0', 8,31988 CHAR124,0,2

200'0' D=0+5220'10' REM MOVE ARROW2315 REM F= POSITION ARROW STOPS IN20'20' REM IF ARROW GOES OFF SCREEN, RESET IT TO POSITION 12040 IF 0>198 THEN 0=3220'50' REM RESET CHOICE WHEN ARROWGOES OFF SCREEN2070 SS-KEYS2975 REM TESTS FOR ANY KEY BEING PRESSED2989 UNTIL S$(>

""2085 REM $ET VALUE OF F

20'90' IF 0=32 THEN F=42095 IF 0=84 THEN F=12100 IF 0=136 THEN F-22110 IF 0=188 THEN F=32120 IF F>4 THEN F=42125 IF F <1 THEN F-l2130 RETURN2140 HIRES2150 PAPER72160 INK 42180' REM CHECK FOR CORRECT RESPONSE2190 IF F=B(A) THEN GO$UB2210 ELSE GOSUB23102200 RETURN2209 REM SUBROUTINE FOR WRONG ANSWER2210 SC=$C+l2220 REM INCREMENTS THE SCORE2230' REM NOW PRINT ON THE SCREEN RIGHT2235 RR$"""right"2236 CURS ET 89,75,32240 FOR z= 1 TO LEN (RR$)

~242. CHARASC(MIDS (RR$ ,Z,l)) ,0,12245 CURMOV8,0,02248 NEXT Z22SQ REM NOW GIVE A SOUND FOR RIGHT ANSWER2252 FOR

x"'l TO 1502255 SOUND1,x,152260 NEXT X2262 FOR X-150 TO 1 STEP -12264 SOUND 1,X,152265 NEXT X2267 SOUND 1,13,02300 RETURN2319 WWS-"wrong"2315 REM TO WRITE WRONG ON THE SCREEN2320 CURS ET 89,75,32325 FOR Z- 1 TO LEN(WW$)2330' CHARASC(MID$(WW$,Z,l)) ,0,12335 CURMOV 8,0,02336 NEXT Z2340 WW$-"It was "+A$(A,B(A»2341 REM TO PRINT THE CORRECT ANSWER2344 CURSET 5~,150,32346 FOR Z= 1 TO LEN(WW$)

2348 CHARASC(MID$ (WW$,Z,1» ,~,12349 CURMOV 8,0,Q

235e NEXT Z2353 REM ZAP SOUND FOR WRONG ANSWER2355 ZAP~360 WAIT 2001370 REM PAUSE TO LET CHILD READ WHAT THE ANSWER SHOULD HAVE BEEN2390 RETURN2400 TEXT24113 REM ROUTINE FOR PRINTING RESULTS2420 LET A$= ,,"

24313 IF SC>5 THEN A$= "good"2440 IF SC>7 THEN A$:" very good"

2450' PAPER 72460 INK 0~470 PRINT:PRINT:PRINT:PRINT:PRINT" your score was ";SCi" out of 10

2480 PRINT:PRINT:PRINT"What is your name to;

2490 INPUT NAS2500 PRINT:PRINT:PRINTCHRS(129);"Thank you for playing ";CHR$(132);NAS2510' PRINT:PRINT:PRINTCHR$(130');"DO you want to play again?"2520 GETB$2530 RETURN

Page 26: IJK Software and the ORIC-l Micro - Defence Force

Frog RunBy M. Caldwell

Frog Run, this program is betterknown to most as 'FROGGER'.The game fits into all models,the only thing that needs to bechanged are the addresses forthe user definable graphics.After typing in the program,and before you run it make surethat

a) THE KEYBOARD CLICKIS ON.b) THE CURSO R IS FLASH-ING.

On running the program you willfind a different way of showing atitle. The way the title (and thetraffic) are done is by using theLEIT$ and the RIGHT$ func-tions (chapter 8 in the ORICmanual).

WHEN desired, press any keyand the game begins. The gameis in two parts, when the screen

clears you are on level one, thisbit is the simple bit (or to some itis). When you reach 500 pointsthe game moves on to level two(or the rush hour). The game isvery similar to the original buthas a few differences, e.g. it hasno lake. It has ten lanes oftraffic, but can be improved totwelve by adding this. . .

128 PLOTl,15,B$:PLOTl,-13,B$

THESE two lines make thegame a lot harder on both levels,as they plot a lane of traffic oneither side of the snake (orsnakes on level two).

THERE is no time limit (yippeeI hear you shout) but you onlyget five lives. My highest score isdisplayed on the screen but Iknow that will be beaten by theEO.

Here is what each line (wellnearly each line) does.

1-90 Sets variables andGOSUBs all the routines.

120-280 The main loop,which moves, plots the traffic,moves and plots the man, checksto see if anything has been hit.3000-3020 Defines A$, B$, C$4000-4030 Lose a life5000-5060 Sets up the screen6000-6100 No lives left7000-7060 The rush hour8000-8080 User definablegraphics9000-9190 Title and instruc-tions

Variablessc=SCORE L=LIVESHS=HIGH SCORE A,BSCREEN POSITIONS

HAPPY HOPPING

Page 27: IJK Software and the ORIC-l Micro - Defence Force

1 CLS2 PRINTCHR$(6)CHR$(17)4 HS-7005 COSUB8000'U.D.C8 COSUB900010 SC-O15 L-518 PAPER7:INKO20 COSUB5000'SCREEN90 COSUB300095 FORA-2T026:S-INT(RND(1)*2)+1:PLOTO,A,S:NEXT96 PLOTO,14,16100 A-26110 B-19112 PLOT9,O,STR$(SC)120 PLOTB,A," -125 PLOT1,24,A$:PLOT1,22,B$: PLOT1,12,A$:PLOT1,10,B$130 X$-KY.Y$140 IFX$---THEN160160 IFX$-";"THENA-A-1165 Q-SCRN(B,A)170 IFX$ ANDA\26THENA-A+1175 PLOT 1,14,C$180 IFX$-"Z-ANDB\lTHENB-B-1190 IFX$-"X-ANDB\37THENB-B+1200 PLOT1,20,A$:PLOT1,18,B$: PLOT1,8,A$:PLOT1,6,B$210 PLOT1,16,A$: PLOT1,4,A$220 Q-SCRN(B,A)225 IFQ-61THENSC-SC+100:PINC:PLOT9,O,STR$(SC):COT0100230 IFQ\\32THEN4000'LOOSE A LIFE235 IFSC-500THENCOSUB7000240 PLOTB A "£$"250 L$-LEFT$(A$,l):R$-RICHT$(A$,37)255 L2$-LEFT$(C$,37):R2$-RICHT$(C$,l)260 L1$-LEFT$(B$,37):R1$-RIPHT$(B$,l)270 A$-R$+L$:B$-R1$+L1$275 C$-R2$+L2$280 COT01203000 A$-" 'X 'X 'r."3010 B$--X& .%& %& %&-3015 cs-NI

"3020 RETURN4000 EXPLODE:WAIT504001 L-L-1:IFL-OTHEN60004010 PLOT21,O,STR$(L) .4030 COT01005000 CLS5010 PLOT3,O,-SCORE -:PLOT1,O,l:PLOT15,O,"LIVES 5":PLOT10,O,7:PLOTO.0.205020 FORA-OT037:PLOTA,2,"-":REXT5025 PLOT26,O,"HI-SCORE"5028 PLOT34,O,STR$(HS)

5030 PLOTO,2,O5040 PLOTO,14,165050 FORA-1T026:S-INT(RND(1)*5)+1:PLOTO,A,S5060 RETURN6000 PLOT22,O,"0":6010 IIAIT300:CLS6020 PRINT:PRINT:PRINT:PRINT"HARD LUCK YOU RAR OUT OF LIVES6030 PRINT:PRINT"YOU COT A SCORE OF ";SC" POINTS"6040 IFSC\HSTHENPRINT:PRINT:PRINT"YOU BEAT THE HIGH SCORE OF ";HS"POINTS"6050 IFSC\HSTHENHS-SC6060 PRINT:PRINT:PRINT"ANOTHER CO VIN°6070 GETA$6080 IFA$-"N"THENEND6090 IFA$-"Y"THENCOTOB6100 GOT060707000 PLOT3,14,"THE RUSH HOUR IS ABOUT TO BEGIN!!"7010 A$-" '% ') '% '& '% '%

..

7020 CS-" / / / / / / /7040 B$-" X& *& %&'

( %& X&7045 SC-SC+50:PLOT9,O,STR$(SC)7050 IIAIT300:PLOT3,14," "7060 RETURN8000 FORA-46360T0464238010 REAOD802D POKEA,D8040 ~EXT8045 RETURN8050 DATA1,3,5,lS,7,2,4,B,32,48,40,60,56,16,8,4,63,63,63,63,63,63,24,248060 DATA48,48,48,63,63,63,6,68070 DATA3,3,3,63,63,63,24,24,48,4B,48,63,63,63,6,68080 DATAO,O,31,31,31,63,l,l,O,O,60,60,60,63,32,329000 PAPERO:INK7:CLS9010 Z$-"FROGRUN FROG RUN FROG RUR

"9020 X$-CHR$(96)+" MICHEAL CALDIIELL AUGUST 19839030 REPEAT9040 PLOT1,2,2$:PLOT1,26,X$9050 G$-LEFT$(Z$,37):F$-RIGHT$(Z$,l)9060 Z$-F$+G$9070 T$-LEFT$(X$,37):Y$-RIGHT$(X$,l)9080 X$-Y$+T$9090 PLOTO,4,"HELP YOUR FROG ACROSS THE VERY BUSY"9100 PLOTO,6,"ROAD YOU GET 100 POINTS EACH TIME YOU"9110 PLOTO,8,"DO IT.BUT IT GETS HARDER AS WELL"9120 PLOTO,12,"USE THE KEYS:"9130 PLOTO,14,"2 - LEFT X - RIGHT9140 PLOTO, 16,"; - GP - DOIIN9150 PLOT4,22,"PRESS ARY KEY TO START"9160 PLOT2,22,129170 A$-KEY$9180 UNTILA$\\""9190 RETURN

Page 28: IJK Software and the ORIC-l Micro - Defence Force

How to get the most outof your Oric-1Mass Delete Line Facilityfor Oric BASICBy G.M. PhWips

Along with RENUMBER, theDELETE function is one of themajor omissions in ORICBASIC. It is often useful to beable to take out chunks of a largeprogram, particularly whenstarting a new one.

For example, if you want to copythe tape handling subroutinefrom the ORIC BASE program,you could delete all lines except20000 onwards.

The following machine-codesubroutine gives you this facil-ity, without too much fuss.

The program should be enteredas below, and then RUN. (Itwould be advisable to save theBASIC program as well.)

After a few seconds, save theRAM area #400 to #4FF ontotape - this is the delete pro-gram.

Then, whenever you have a pro-gram which is to be partiall)deleted, CLOAD the machine-code program, and type in (as animmediate command):

DOKEO, line-from: DOKE2,line-no to: CALL#400

Do not worry if the message'Syntax error' is printed. If theBASIC hangs up check that YOUlBASIC program was typed cor.rectI y .

Example:DOKEO,200:DOKE2,1000:CALL#400

would delete lines 200-1000.

Note that the program may workincorrectly if the line numberssupplied do not exist.

For Microtan owners, the rou-tine has been dissassembledbelow, and should need littleconversion. (Change LOA #5to LOA #4 - use TANBUG torun)

Page 29: IJK Software and the ORIC-l Micro - Defence Force

20 REM RUN ONCE AND SAVE #400-#4FF30 X=#40040 READDS:IFDS="Z"THEN10050 FORZ=lTOLEN(DS)/2:Z1=VAL("#"+MIDS(DS, (Z-1)*2+1,2»:POKEX,Zl:X=X+1 : NEXT60 GOTO 40100 END200 DATAA9058545A90 18544A001 B144F032A002B144C500D007C8B 144 C501F013A000B1210 DATA448550C8B1448545A5508544A900FOD8A5448546A5458547AO01B146FOO2D001220 DATA60A002B146C502D007C8B146C503F013AOOOB1468550C8B1468547A5508546A9230 DATAOOFOD5AOOOB 1468550C8B 1468547A550854638A546E544854A A547E545854BAO240 DATA01B146F042855388B146855238B146E54A91469144C8B146E54B91469144C8B1250 DATA469144C8B1469144C8B1469144DOF9983865448544A54569008545A5528546A5260 DATA538547A900FOB8A9009144C89144C89144A544186902859C859E85AOA5456900270 DATA859D859F85A160,Z

4400: A9 05 ~ LDA #$054402: 85 45 STA $454404: A9 01 LDA #$014406: 85 44 STA $444408: AO 01 LDY #$01440A: Bl 44 LDA ($44),Y440C: FO 32 BEQ $4440440E: AO 02 LDY #$024410: Bl 44 LDA ($44),Y4412: C5 00 CMP $004414: DO 07 BNE $441D4416: CB INY4417: Bl 44 LDA ($44),Y4419: C5 01 CMP $01441B: FO 13 BEQ $4430441D: AO 00 LDY #$00441F: Bl 44 LDA ($44),Y4421: 85 50 STA $504423: C8 INY4424: Bl 44 LDA ($44),Y4426: 85 45 STA $454428: A5 50 LDA $50442A: 85 44 STA $44442C: A9 00 LDA #$00442E: FO D8 BEQ $440B4430: A5 44 LDA $444432: 85 46 STA $464434: A5 45 LDA $454436: 85 47 STA $474438: AO 01 LDY #$01443A: Bl 46 LDA ($46),Y443C: FO 02 BEQ $4440443E: DO 01 BNE $44414440: 60 RTS4441: AO 02 LDY #$024443: 81 46 LDA ($46),Y4445: C5 02 CMP $024447: DO 07 BNE $44504449: C8 INY444A: Bl 46 LDA ($46),Y444C: C5 03 CMP $03444E: FO 13 BEQ $44634450: AO 00 LDY #$004452: Bl 46 LDA ($46),Y4454: 85 50 STA $50

4456: C8 INY4457: Bl 46 LDA ($46),Y4459: 85 47 STA $47445B: A5 50 LDA $50445D: 85 46 STA $46445F: A9 00 LDA #$004461: FO D5 BEQ $44384463: AO 00 LDY #$004465: Bl 46 LDA ($46),Y4467: 85 50 STA $504469: CB INY446A: Bl 46 LDA ($46),Y446C: 85 47 STA $47446E: A5 50 LDA $504470: 85 46 STA $464472: 3B SEC4473: A5 46 LOA $464475: E5 44 SBC $444477: 85 4A STA $4A4479: A5 47 LDA $47447B: E5 45 SBC $45447D: 85 4B STA $4B447F: AO 01 LDY #$014481: Bl 46 LDA ($46),Y4483: FO 42 BEQ $44C74485: 85 53 STA $534487: 88 OEY4488: Bl 46 LOA ($46),Y448A: 85 52 STA $52448C: 38 SEC4480: Bl 46 LDA ($46),Y448F: E5 4A SBC $4A4491: 91 46 STA ($46),Y4493: 91 44 STA ($44),Y4495: C8 INY4496: Bl 46 LDA ($46),Y4498: E5 4B SBC $4B449A: 91 46 STA ($46),Y449C: 91 44 STA ($44),Y449E: C8 INY449F: Bl 46 LOA ($46),Y44Al: 91 44 STA ($44),Y44A3: C8 INY44A4: Bl 46 LDA ($46),Y44A6: 91 44 STA ($44),Y

44A8: C8 INY44A9: Bl 46 LDA ($46),Y44AB: 91 44 STA ($44),Y44AD: DO F9 BNE $44A844AF: 98 TYA44BO: 38 SEC44Bl: 65 44 ADC $4444B3: 85 44 STA $4444B5: A5 45 LDA $4544B7: 69 00 AOC #$0044B9: 85 45 STA $4544BB: A5 52 LDA $5244BD: 85 46 STA $4644BF: A5 53 LDA $5344Cl: 85 47 STA $4744C3: A9 00 LDA #$0044C5: FO B8 BEQ $447F44C7: A9 00 LDA #$0044C9: 91 44 STA ($44),Y44CB: C8 INY44CC: 91 44 STA ($44),Y44CE: CB INY44CF: 91 44 STA ($44),Y44Dl: A5 44 LDA $444403: 18 CLC4404: 69 02 ADC #$0244D6: 85 9C STA $9C44D8: 85 9E STA $9E440A: 85 AO STA $AO44DC: A5 45 LDA $45440E: 69 00 ADC #$0044EO: 85 9D STA $9D44E2: 85 9F STA $9F44E4: 85 Al STA $Al44E6: 60 RTS44E7: EA Nap44E8: EA Nap44E9: EA Nap44EA: EA Nap44EB: EA Nap44EC: EA Nap44ED: EA Nap44EE: EA Nap44EF: EA Nap44FO: EA Nap

Page 30: IJK Software and the ORIC-l Micro - Defence Force

Power Maze of AgrenonBy D. Hunt

The game is played in a 25 by 25preset maze, the game is in realtime and the aim is to kill the'vicious power matrix', the"GEOMITRIX" and to collectthe "Diametric Tapestries"which are spread throughout themaze. The maze is divided into 3sectors separated by doors, theexit is at location 25, 25.The "GEOMITRIX" is des-troyed by firing 'High powerenergy zones' at it which arespread throughout the maze.There is also a status checktelling you where the "GEO-MITRIX" is, how many 'Highpower energy zones' there areleft and how much treasure youhave. There are also ratings -atthe end.

Page 31: IJK Software and the ORIC-l Micro - Defence Force

5 HIMEM3599919 CLS11 INK7: PAPER912 TEXT14 FORN-48936T048939:POKEN,32:NEXT15 DEFFNB(N)-INT(RND(l)*N+l)25 POKEI26A,1939 DIMA(25,25) ,B(6,2)35 GOSUBI599936 GOSUB2999938 CLS39 PRINT49 PRINTCHR$(4);CHR$(27);"NYOU ARE ENTERING THE POWER MAZE OF":PRINT41 PRINTCHR$(27);"N AGRENON"42 PRINTCHR$ (4)

43 PRINTCHR$ (4)

44 MUSICl,3,l,046 MUSIC2,3,4,047 MUSIC3,3,8,048 PLAY7,0,7,2509049 GOSUB190050 T-9999:A-l:B-l69 C-3:PP~3:Q-961 PLAY",0,0,"62 PING65 GOSUB300970 CLS .75 PRINT CHR$(ll);CHR$(ll);89 PRINT" "; CHR$ (27) ; "DTIME'"; INT (T/109) +1; "TREASURE- -"; R

85 PRINT" ";CHR$(27)~"CWHICH WAY??"199 A$-KEY$110 IFASO''''THENGOT0159120 T-T-!130 IFT(0THENT=0:GOT030000140 GOTO 75159 D=ASC(AS)153 IFA-25ANDB=25THENGOT031009155 IFHH-ITHENPLAY9,0,0,0 :HH'0169 IFD'l1THENGOSUB2000:GOT075170 IFD-8THENC-C-l:IFC(lTHENC'4189 IFD-9THENC-C+l: IFC>4THENC-l181 IFD-79THENGOSUB25000183 IFD=32THENGOSUB13000184 GOSUB21900185 IFA-OANDB-PTHENGOT023009\ Rfi GOSUR3COC190 GOT0751990 FORN-l1'0251010 FORM=lT0251020 READA1930 A(M,N)-A1040 NEXT1059 NEXT

106" OATA9 , 5 , 3 , 9 , 5 , 3 , 9 , 5 , 3 , 9 , 5 , 23 , 11 , 13 , 3 , 9 , 5 , 3 , 9 , 5 , 3 , 9 , 5 , 5 , 7

1065 DATA8, 3,10,30',9,6,8,7,8,2,9,1,2,13,2,10,11,10',8,3,14,10,13,1,71070 DATAl", 8,4,3,12,1,2,9,6,8,6,10,8,5,0,0' ,6,8,6,12, 1,0,7,12,3

1075 DATAIQ, 12,3,8,1,6,8,4,5,2,9,6,10,9,6,10',13,0',7,9,6,8,5,1,619 8 0' OATA12 , 1 , 4 , 2 , 10' , 13 , 4 , 1 , 3 , 12 , 4 , 3 , 8 ,

"

, 5 ,

"

, 3 , 10 , 11 , 12 , 5 ,

"

, 3 , 10 I 1110'85 DATA2?, 10,13,0',4,3,11,14,10,9,1,0',6,10,27,10',12,4,4,3, 13,258,14,14,191090 DATAl", 12,3,12,3,10',8,5,4,2,14,8,5,6,le,14,13,1,3,10,9,4,5,1,61"95 OATA10 ,9,6,27,12,4,6,29,3,12,5,4,7,13,4,1,5,2,14,10, IQ ,9, 5,4,711"

QDATA12 , 6 , 13 , Q, 5, 3 , 13 , 5 , 2 , 9 , 1 , 7 , 9 , 5 , 3 , 14 , 27 , 12 , 5 , 6 , 8 ,4 , 3 , 9 , 23

11Q

5 DATA9 , 3 , 11 , 14 , 13 , 2 , 11 , 11 , 12 , 6 , 8 , 3 ,IQ, 11 , 8 , 3 , 12 , 1 ,7 , 9 , 2 , 9 ,6 ,1"

,

11Ill" OATA10 , 14 , 8 , 7 , 11 , IQ , 10 , 12 , 3 , 9 , 6 , 12 , 2 , 8 , 2 , 12 , 3 , IQ , 9 , 2 , 8 , 6 , 13 , 2 ,

191115 OATA8,3,8,3 ,8,4,0,261,2, IQ, 9,5 ,Q, 2, 8,5,2, 8,6,12,2,9,5,4,6

1120 DATAl", 12,2, 12,0,3,10,9,2,10,14,9,6,12,2,9,4,2,11,9,6,10,11,9,71125 DATA12,5,0, 1 ,2, 12,2,10, 12,",3,14, 11 , 11, 12,2,13,2,12," , 5,0,4 ,4,

711~0 DATA29 ,5,2, 10,12,3,14,12,5,6,8,7,8,4,3,8,1,4,5,0,3,14,9,1,31135 DATA9, 3, 12,2, 11 , 8 ,3,9,5,23, 12,5,6,27,12,6, 14 , 13 , 5,2,12,1,6, 10,

14

it4"

DATA10 , 12 , 5 , 2 , 12 , 6 , 10 , 10 , 29 ,5 , 3 , 13 , 1 , 4 , 5 , 7 , 11 , 9 , 5 , 4 , 1 ,6 , 27 , 10 ,

1150 DATA12 , 3 , 13 , 2 , 13 , 1 , 4 ,0 , 5 , 3 , 8 , 7 , 10 , 9 , 7 , 9 , 2 , 10 , 11 , 11 , 10 , 11 , 12 , 4 ,

6

1155 DATA11 , 8 , 5 ,

"

, 5 , 2 , 11 , 10 , 11 , 12 , 6 , 9,

"

, 6 , 9 , 6 , 10 , 12 , 6 , 12 , 4 , 6 , 9 , 1 , 71160 DATA12,2, 11, 12, 1,6,10,10,12,3,9,6,10,11,8,5,4,1,3,29,5,3,30,8,31165 OATA9 ,4 ,

"

, 5, 2 , 9 , 4 , 0 , 5 , 2 , 14 , 9 ,

"

, 4 , 6 , 13 , 1 , 6 , 10 , 9 , 7 , 8 , 5 , 2 , 101170 OATA14 ,9, 2,9,2, 12, 3, 10,9,4,261,2,10,9,1,5,0,5,6,10,11,10,9,6,191175 OATA11,14,8 ,2,8,5,0 ,6, 10,13,1,4,0,2,8,7,10,9,1,4,0,4,2,9,21189 OATA8 ,5, 2,12,6, 9,6, 9,4,3,19,13,6,19,19,11,8,6,19,11, HJ,9,4, 2, 141185 !lATA30, 13,6, 13, 5,4,5,4,5,6,12,5,5,6,30,12,4,5,6,12,6,14,13,4,71210 FORN-l T0151220 A-FNB(25) :B=FNB(25)1239 IFA(A,B) AND32THENGOT012201249 A(A,B)-A(A,B)OR321245 C-FNB(25) :D-FNB(25)1241 IFA (C ;D) ANIJ6'1'1'R!:NGOTU1<4 51248 A(C,D) -A(C,D)OR641259 NEXT1280 0'FNB(25) :P=FNB(25)1290 A(O,P)-A(O,P)OR1281399 RETURN2999 IFA (A ,B) AND2. (C-l) THENGOT02190

2929 IFC-ITHENB=B-l2930 IFC-2THENA-A+l2949 IFC-3THENB-B+l2959 IFC-4THENA-A-l2955 I F (A (A, B) AND512) =9THENA (A ,B)

'A(A, B) OR512: UU=UU+!

2969 GOSUB39092979 RETURN2100 B$'"YOU CAN'T GO IN THIS DIRECTION"2195 CURSET27,80,32119 FORN-IT0392120 IFMID$(B$,N,l)-" "THENCURMOV4,9,3ELSECURMOV6,9,32139 CHARASC(MIDS(B$,N,l» ,9,12149 NEXT2159 RETURN3099 E-A:F-B:BB=l3995 HIRES:POKEt26A,193997 PATTERN2553010 GOSUB49003929 GOSUB59903939 GOSUB35903935 GOSUB36993049 GOSUB49993959 GOSUB69993960 GOSUB35093965 GOSUB36093970 GOSUB40993989 GOSUB79993999 GOSUB35093199 GOSUB36093110 GOSUB49093129 GOSUB80903139 GOSUB35993143 GOSUB36903159 GOSUB49903169 GOSUB99993170 GOSUB35993189 GOSUB36003199 GOSUB49003290 GOSUB100993210 GOSUB35093229 GOSUB3699323'1:1 G05UQ4LH'"3240 GOSUB120903259 RETURN3599 IFC-l THENF=F-l3519 IFC-2THENE'E+l3529 IFC-3THENF=F+!3539 IFC=4THENE=E-l3535 BB-BB+l3549 RETURN3609 IFFF09THENPOP: RETURN4990 NW-A (E,F) ANDl4919 EW-A(E.,F)AND24029 SW=A(E,F)AND44939 WW-A (E,F) AND84932 IFA(E,F)AND64THENGOSUB17999:HH-l4935 TR-A(E,F)AND16

Page 32: IJK Software and the ORIC-l Micro - Defence Force

4037 IFTR<>0THENGOSUB45004038 IF (A (E ,F) AND256) ANDBB>1 THENGOSUB190004039 IFE=OANDF=PANDBB>IANDPP>0 ANDRR=0THENGOSUBI6000:HH=14040 FF=NW: RW-EW: BW=SW:LW=WW4050 IFC-ITHENRETURN4060 FORN=ITOC-l4070.G-FF:FF=RW:RW=BW:BW=LW:LW=G4080 NEXT

, 4090 RETURN4500 CURSET99, 88,14510 DRAW40,0,14520 DRAW0,22,14530 DRAW-40,0,14540 DRAW0,-22,14550 DRAW40,22,14560 CURSET139,88,14570 DRAW-40, 22 ,I4573 RETURN5000 IFTR-0THENGOT050095002 R-R+FN 8(50)+505006 A(E,F) =A (E,F) -165007 PLAYl,0,0,0:FORN=ITO 6:FORM=6T00STEP-l5008 MUSICl,M, N,10 :NEXT:NEXT: PLAY0, 0 ,0,05009 IFFF=0THENGOT050205010 CURSET30, 25, 3 :DRAWI79, 0,1 :DRAW0, 148,1: DRAW-179 ,0,1 :DRAW0 ,-148,15020 PW=A(E,F)AND 325030 IFPW<>0THENGOTOI40005060 IFLW=0THENGOT051005070 CURSET0, 0,35080 DRAW30, 25,1: DRAW0, 148 ,1: DRAW-30, 25,15090 GOT051405100 CURSET0, 25,35110 DRAW30,0,15120 DRAW0,148,15130 DRAW-30, 0,15140 IFRW=0THENGOT052005150 CURSET239,0,35160 DRAW-30,25,15170 DRAW0, 148 ,15180 DRAW30, 25,15190 RETURN5200 CURSET239,25,35210 DRAW-30, 0,15220 DRAW0, 148 ,15230 DRAW30, 0 ,15240 RETURN6000 IFFF=0THENGOT060606010 CURSET54, 45,3: DRAW130, 0 ,1: DRAW0, 108,1: DRAW-130, 0 ,1: DRAW0, -108,16060 IFLW=0THENGOT061006070 CURSET 30,25,3

.6080 DRAW24, 20 ,1: DRAW0,108 ,1: DRAW-24, 20 ,16090 GOT061406100 'CURSET30,45,36110 DRAW24,0,l6120 DRAW0,108,l6130 DRAW-24, 0 ,I6140 IFRW-0THENGOT062006150 CURSET208,25,36160 DRAW-24, 20,16170 DRAW0, 108 ,16180 DRAW24,20,16190 RETURN6200 CURSET208,45,36210 DRAW-24,0,16220 DRAW0,108 ,I6230 DRAW24,0,16240 RETURN7000 IFFF=0THENGOT070607010 CURSET77 ,64,3 :DRAW84, 0 ,I :DRAV/0, 70 ,1 :DRAW-84, 0 ,1 :DRAW0 ,-70 ,17060 IFLW=0THENGOT071007070 CURSET54,45,37080 DRAW23, 19,1 :DRAW0, 70,1: DRAW-23, 19 ,17090 GOT071407100 CURSET54, 64,37110 DRAW23,0,17120 DRAW0,70,l7130 DRAW-23,0,1

714~ IFP~'1=~THF,Nr.OT072~07150 CURSET184,45,37160 DRAW-23,19,l7170 DRAW0,70,l7180 DRAW23 ,19,17190 RETURN7200 CURSET184,64,37210 DRAW-23, 0 ,17220 DRAW0,70,l7230 DRAW23, 0 ,17240 RETURN8000 IFFF-0THENGOT080608010 CURSET94, 7B, 3 :DRAW50, 0 ,1: DRAW 0,42,1: DRAW-50 ,0 ,I :DRAW0, -42 ,18060 IFLW=0THENGOT081008070 CURSET77,64,38080 DRAW17 ,14,1: DRAW0, 4 2,1: DRAW-17 , 14,1

8090 GOT081408100 CURSET77, 78,38110 DRAW17,0,l8120 DRAW0,42,18130 DRAW-17,0,18140 IFRW-0THENGOT082008150 CURSET161,64,3

'8160 DRAW-17,14,18170,DRAW0,42,18180. DRAW17,14,l8190 RETURN8200 CURSET161,78,38210 DRAW-17, 0 ,18220 DRAW0,42,18230 DRAW17,0,l8240 RETURN9000 IFFF-0THENGOT090609010 CURSET107, 89,3: DRAW24 ,0,1 :DRAW 0,20,1 :DRAW-24 ,0 ,1 :DRAW0, -20 ,19060 IFLW=0THENGOT091009070 CURSET94, 78,39080 DRAW13 , 11,1: DRAW0, 20 ,1: DRAW-13 ,11,1

9090 GOT091409100 CURSET94, 89,39110 DRAW13,0,19120 DRAW0, 20,19130 DRAW-13,0,19140 IFRW=0THENGOT092009150 CURSET144,78,39160 DRAW-13, 11,19170 DRAW0, 20 ,I9180 DRAW13 ,11,19190 RETURN9200 CURSET144,89,3!I~ D1<1I'IF"1','1I,19~~0 DRAW0,20,19230 DRAW13,0,19240 RETURN10000 IFFP-0THENGOTOI002010010 CURSETI14,95,3:DRAWI0,0,I:DRAW 0,8,I:DRAW-10,0,I:DRAW0,-8,1100~0 IPLW-0THENGOTOI010018070 CURSET107,89,310080 DRAW?,6,I:DRAW0,8,I:DRAW-7,6,110890 GOTOI014018100 CURSET107,95,310110 DRAW7, 0,110120 DRAW0, 8,118130 DRAW-7,0,118140 IPRW-0THENGOT01020018150 CURSET131,89,310160 DRAW-7,6,110170 DRAW0,8,118180 DRAW7,6,118190 RETURN18208 CURSET131,95,310218 DRAW-7,0,l18228 DRAW0,8,118238 DRAW7,0,118248 RETURN12008 PATTERN25512805 rORN-114T01241291~ CURSETN,95,112929 DRAW0, 8,112030 NEXT

Page 33: IJK Software and the ORIC-l Micro - Defence Force

12040 R!TURN131J90 TEXT131J91 SOUND I,FN B(500) ,0131J92 SOUND 2,FN B(500) ,013003 SOUND 3,FN B(500) ,013004 PLAY 7,0,4,1000131J95 CLS131J96 POKE '26A,1013810 PRINT13020 PRINTCHRS(27);CHRS(4);"J YOU HAVE ";R;"OF TREASURE"13030 PRINT -13040 PRIIIT CHR$ (27); "J YOUR POSITION IS "; A; B

13950 PRINT13052 IF Col THEN B$-"NORTH"13054 IF C-2 THEN B$""EAST"13056 IF Co3 THEN B$""SOUTH"13058 IF C-4 THEN B$-"WEST"13060 PRINT CHR$ (27),"J YOU ARE FACING ",B$13070 PRINT13080 PRINT13090 PRINT13095 IF PP-0 THEN GOTO 1310713100 PRINT CflR$(27),"J THE GEOMOTRIX IS AT ",O;P13105 GOTO 1311113107 PRINT CHRS(27),"J THE GEOMITRIX IS DEAD"13111 PRINT:IF 0-lTHEN BS="" ELSE BS-"S"13112 PRINT CHRS(27),"J YOU HAVE ";0;" HIGH POWER ENERGY"13114 PRINT13116 PRINT CHRS(27),"J ZONE";BS;" LEFT"13117 PRINT13118 PRINT13119 PRINT:PRINT CHRS(27);"J PRESS SPACE BAR TO CONTINUE":PRINT:PRINTCHR$ (4)

13120 PRINT" UiCHR$ (27); liE TIME IS RUNNING OUT FAST! 111

13125 PRINT CHRS(4),13130 FOR N=l T013:PRINTCHRS(11),:NEXT13132 BS-

''''13135 REPEAT13150 PRINT CHRS(ll),13170 PRINT CHR$(27);"J TIME-",INT(T/100)+113180 T-T-10IH85 IF T<0 THEN PRINT CHRS(4) :GOTO 3000013190 UNTIL KEYS<>""13195 PRINT CHR$(4)13205 PLAY 0,0,0,013206 HI RES13210 RETURN13297 TEXT14000 FOR N=l TO 199 STEP 1014010 CURSET 0,N,314020 DRAW 120,100-N,l14030 CURS ET 239,N,314040 DRAW -120 ,100-N ,I14045 SOUND l,N,014047 PLAY 1,0,3,50014050 NEXT.14060 FOR N-10 TO 99 STEP 1014065 SOUND l,N*2,014067 PLAY 1,0,3,50014070 CURS ET 120,100,314080 CIRCLE N,l14090 NEXT14100 CLS14110 PRINT14120 PRINT CHRS(27),CHRS(4);"N !!!SPATIAL ANOMALY!!!"14121 FOR N-l TO 10014122 CURS!:T 1'1'1 B~~"It/.,.."

B(l~lt) ,314123 CHAR 35,0,114125 SOUND l,N,014127 SOUND 2,150-N,014130 SOUND 3,50,014131 PLAY 7,0,3,50014132 NEXT14 13 3 PLA Y 0,0, 0 , 014134 EXPLODE:IF 00-1 THEN GOTO 2912514135 A(A,B)"A(A,B)-3214136 PRINT CHRS (4),

14137 A-FN B(25) :B-FN B(25)

14138 IF A(A,B) AND 32 THEN GOTO 14137

14139 A(A,B)-A(A,B) OR 3214140 A-FN B(25)14150 B-FN B(25)14155 IF A(A,B) AND 16 THEN GOTO 1414014157 IF A-25 AND B-25 THEN GOTO 1414014160 C"FN B(4)

14165 T"T+FN B (1000)-50014170 POP:GOSUB 3000:RETURN15000 PRINT15001 INK 315002 POKE '26A,1015005 PRINT CHR$ (4);

15010 PRINT CHRS(27);"D";CHRS(27),"J POWER MAZE OF AGRENON"15015PRINT CHRS (4)

15020 PRINT15030 PRINT CHR$(96)," LUPTON/HUNT 1983"15035 PRINT15040 PRINT"!n your search for rare earth elements";15050 PRINT"you have landed on the planet Agrenon.lI;15060 PRINT15070 PRINT"Where you have discovered the"15080 PRINT"remains of an ancient pan dimensional"15090 PRINT"power civilisation"15095 PRINT1510" PRINT"rn searching one of the settlements"15110 PRINT"you have fallen through a power matr ix";15130 PRINT" into the power maze of Agrenon"15140 PRINT:PRINT"This was a maze built by the ancient"15145 PRINT"race filled with diametric tapestries"15150 PRINTlland used to test their own kindll15160. PRINT15170 PRINT:PRINT:PRINT:PRINT15180 PRINT CHR$ (27), "L PRESS ANY KEY TO CONTINUE"15190 B$"KEYS: IF BS-'''' THEN GOTO 1519015195 BS-

""15200 CLS15203 INK 615205 PRINT CHR$ (4);

15210 PRINT15220 PRINT CHRS (27); "B"

;CHRS (27); "J POWER MAZE OF AGRENON"

15225 PRINT: PRINT15227 PRINT CHR$ (4),

15230 PRINT"within the maze there is a vicious"15240 PRINT"spatial vortex of great intelligence"15245 PRINT"known as the";15250 PRINT CHRS (27) ; "D"; CHR$ (27) ; "LGEOMITRI X"; CHRS (27) ,

"G", CHRS (27)

~"H";15251 PRINTCHR$ (27), "F";15252 PRINT"who when you"15254 PRINT"are caught will distort your spatial"15257 PRINT"sector and you will be quickly"15260 PRINT"over come by the deadly spores of the"15280 PRINT"planet"15290 PRINT15295 PRINT"There are spatial anomilies within the";15300 PRINT"maze which when entered will displace"15395 PRINT"you to a new spatial sector"15310 PRINT15311 PRINT"There are high power energy zones"15313 PRINT"throughout the power maze.These can"15315 PRINT"be used to destroy the GEOMITRIX"15317 PRINT15320 PRINT"The only exit is at the far end of"15330 PRINT"the maze. This is reached through 3"15340 PRINT"doors"

.

15350 PRINT15360 PRINT CHRS(27);"L PRESS ANY KEY TO CONTINUE"15370 BS-KEYS:IF BS="" THEN GOTO 1537015380 CLS15385 INK 515390 BS=""15400 PRINT15405 PRINTCHRS(4);15410 PRINT CHRS(27);"F";CHRS(27),"J CONTROL FUNCTIONS"15420 PRINT:PRINT15425 PRINT CHRS(4);15430 PRINT"F:-Fires high power energy zone which"15440 PRINT"are directed by the cursor keys"15445 PRINT

Page 34: IJK Software and the ORIC-l Micro - Defence Force

ORIC - Tabbing[Decimal point aligned]

or Right-justified ifno decimal places.

Screen 1 2 3Column No 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 etc... up to 40'Col' No 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 etc... up to 38

123 . 4 5 2 8 .36 446 .276 . 3 3 217 .60 425 3 .20

ITEM 'A' ITEM 'B' ITEM 'C' etc. . .

TWO BLANK LEFT MARGINCOLUMNS ON THE SCREEN

05 REM10 REM20 REM30 REM40 INPUT A, B, C50 PRINT

100 COL=5

110 ITEM = A120 GOSUB 500200 COL = 15210 ITEM = B220 GOSUB 500300 COL = 25310 ITEM = C320 GOSUB 500330 PRINT

340 GOTO 40 (or ?)500 COL = COL + 2

510 PRINT520 RETURN

*********************************************ROUTINE FOR TABBING - IT ALSO ALIGNSAMOUNTS EITHER SIDE DECIMAL POINT

*********************************************:REM FOR TESTING PURPOSES - ENTER VALUES.

:REM COLUMN NO OF UNIT DIGIT OF FIRST ITEMIGNORING TWO BLANK COLS ON LEFT OFSCREEN

:REM COLUMN NO OF UNIT DIGIT OF SECOND ITEM

:REM COLUMN NO OF UNIT DIGIT OF THIRD ITEM

:REM SPACE-UP AFTER LAST ITEM REQUIRED ONTHE LINE.:REM CONTINUE YOUR PROGRAMME.:REM ADD TWO COLUMN NO TO ALLOW FOR FIRST2 MARGIN COLS.SPC(COL- POS(x)-(LEN(STR$(INT(ITEM)))-I)); ITEM;

Page 35: IJK Software and the ORIC-l Micro - Defence Force

[Left-justified] Alternative A.

1231 2 3 4 5 678 9 0 123 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 456

2 blank columns ONE TWO THREE FOURon left edge of BILL CHRIS HARRY TOM etcscreen

05 REM* * * * * *** * ** * **** * * * * * * * * * * * **** * * * * * * * *

10 REM SUGGESTED ROUTINE FOR T ABBING20 REM LEFT-JUSTIFIED ITEMS30 REM

** * * * * ** * *** * * ********** ** * * * * * ****** * *40 DATA 0, 10, 18,26 :REMTABCOLUMNNUMBERS50 FORI = 1 T0460 READ C(I) :REM READ-IN TAB COL NUMBERS70 C(I) = C(I) + 1280 NEXT I90 PRINT

100 FORI = 1 to 4110 PRINTTAB(C(I)); :REMTABTO APPROPRIATE COLUMN120 PRINTCHR$[#11); :REMBACK-SPACECURSOR ONE LINE130 INPUT X$ :REM ENTER AN ITEM140 NEXT I150 GO TO 90

Note: BECAUSE THE ABOVE "TESTING" PROG USES INPUT X$ A QUESTION-MARK? WILL "PRINT" IN FRONT OF THE ITEM TYPED IN

[Left-justified] Alternative B.

THIS IS A STRAIGHT "IN-LINE" VERSION OF THE PROG ON PAGE 2. (ALTERNATIVE A)

10 CL$20 PRINT: PRINT30 PRINT T AB(12);40 INPUTX$ :REMFIRSTITEM5060 PRINTTAB(22);70 PRINTCHR$(#l1);80 INPUT X$ :REM SECOND ITEM90

100 PRINTTAB(30);110 PRINTCHR$[#l1);120 INPUT X$ :REM THIRD ITEM130140 PRINTTAB(38);150 PRINT CHR$(#II);160 INPUT X$ :REM FOURTH ITEM170180 GOTO 30

Page 36: IJK Software and the ORIC-l Micro - Defence Force

ORIC - Tabbing[Left-justified] . Alternative "C"

This is similar to the "DECIMAL POINT ALIGNMENT" Routine, but without taking into account thelength of the field to be printed. It takes the difference between the position you wish to TAB to, and thepresent position of the CURSOR, and then SPC (spaces) that number of spaces. It will work for stringvariables, such as A$ too.

40 INPUT A, B, C50 PRINT

100 COL = 0110 ITEM = A120 GOSUB 500200 COL = 15210 ITEM = B220 GOS UB 500300 COL = 28310 ITEM = C320 GOS UB 500330 PRINT340 GOTO 40 (or GOTO wherever you want to Continue)

500 COL = COL + 2510 PRINT SPC(COL - POS(X)); ITEM;520 RETURN

Page 37: IJK Software and the ORIC-l Micro - Defence Force

16640 CURSET 107,89,316650 DRAW 17,6,116660 CURS ET 131,89,316670 DRAW -17,6,116680 CURS ET 119,104,316690 DRAW 0,-11,116695 RETURN16700 MUSIC 1,0,1,016710 MUSIC 2,0,4,016720 MUSIC 3,1,6,016730 PI.AY 7,0,4,20016735 HH-l16740 RETURN17000 IF RR-l THEN RETURN17005 SOUND 1,449,017010 SOUND 2,470,017020 SOUND 3,464,017030 PI.AY 7,0,4,100017032 00'117035 IF BB=1 THEN Q'Q+l:A(E,F)'A(E,F)-64:GOSUB 1770017040 ON BB GOTO 17100,17200,17300,17400,17500,17600,176901.710IOYOR N-18~ TO 1~317110 PATTERN 17017120 CURS ET 80- (N-183) ,N,3

17130 DRAW 80+2*(N-183) ,0,00

17140 NEXT17150 PATTERN 25517160 RETURN17200 FOR N-160 TO 16617210 PATTERN 17017220 CURS ET 85- (N-160) ,N,3

17230 DRAW 70+2* (N-160) ,0,00

17240 NEXT17250 PATTERN 25517260 RETURN17300 FOR N-140 TO 14417310 PATTERN 17017320 CURSET 90- (N-140) ,N,3

17330 DRAW 60+2* (N-140) ,0,00

17340 NEXT17350 PATTERN 25517360 RETURN17400 FOR N-126 TO 12817410 PATTERN 17017420 CURSETI00- (N-126) ,N,3

17430 DRAW 40+2* (N-126) ,0,00

17440 NEXT17450 PATTERN 25517460 RETURN17500 FOR N-1l4 TO 11617510 PATTERN 17017520 CURS ET 110- (N-1l4) ,N,3

17530 DRAW 20+2*(N-1l4) ,0,0017540 NEXT17550 PATTERN 255

17560 RETURN17600 FOR N-106 TO 10717610 PATTERN 17017620 CURSET 115- (N-106) ,N,3

17630 DRAW 10+2* (N-106) ,0,00

17640 NEXT17650 PATTERN 25517660 RETURN17690 RETURN17700 FOR N-550 TO 449 STEP-l17705 PI.AY 7,0,0,0

17710 SOUND l,N,1017720 SOUND 2,N+15,1017730 SOUND 3,N+21,1017740 NEXT17750 RETU RN19000 IF RR-l THEN RETURN19005 GOSUB 20000:0N BB-l GOTO 19100,19200,19300,19400,19500,1960'19100 CURSET 120,25,319110 DRAW 0,148,119120 CURSET 30,100,319125 DRAW 178,0,119130 PATTERN 8519140 RETURN

19200 CURSET 120,45,319210 DRAW 0,108,119220.CURSET 54,100,319230 DRAW 130,0,119240 PATTERN 8519250 RETURN19300 CURSET 120,64,319310 DRAW g,70,119320 CURSET 77,100,319330 DRAW 84,0,119340 PATTERN 8519350 RETURN19400CURSET 120,78,319.410 DRAW 0,42,119420 CURSET 94,100,319430 DRAW 50,0,119440 PATTERN 8519450 RETURN19500 CURSET 120,89,319510 DRAW 0,20,119520 CURSET 107,100,319530DRAW 24,0,119540 PATTERN 8519550RETURN19600CURSET 120,95,319610 DRAW 0,8,119620 CURSET 95,100,319630 DRAW 10,0,119640 PATTERN 8519650 RETURN20000SOUND 1,550,020010SOUND 2,1000,020030 PI.AY 3,0,4,100020035 HH-l20040RETURN21000 IF PP'0 THEN RETURN21001CC-SGN(A-O) :DD-SGN(B-P)21002 IF(A(O,P)AND 128)00THEN A(0,P)=A(O,P)-128211HI5 EE-EB+l :1I~-n)5 THEN EE-0 :GOSUB 2200021010 IF CC-I AND(A(0,P)AND2)-0 THEN 0-0+121020 IF DD-l AND(A(0,P)AND4)-0 THEN P-P+l21030 IF CC--l AND(A(0,P)AND8)'0 THEN 0'0-121040 IF DD=-1 AND(A(O,P)ANDl) -0 THEN P=P-l21050 A(O,P)'A(O,P) OR 12821060 RETURN22000 GG=GG+l:IF GG)2 THEN P'P+DD:O'O+CC:POP:GG'0:RETURN22001 IF(A(0,P)ANDl)=0 THEN GOTO 2201022002 IF(A(0,P)AND8)=0THEN GOTO 2206022004 IF(A(0,P)AND4)-0THEN GOTO 2204022006IF(A(0,P)AND2)=0THEN GOTO 2202022010 IF(A(0,P)ANDl)-0THEN P-P-l:GOTO 2201022015 POP:RETURN22020 IF(A(0,P)AND2)-0THENO=O+I:GOTO2202022030 POP:RETURN22040 IF(A(0,P)AND4)-0THEN P=P+l:GOTO2204022050 POP:RETURN22060 IF(A(0,P)AND8)'0THEN 0-0-I:GOTO 2206022070 POP:RETURN23000 PATTERN 17023005 INK I:PAPER 723010 FOR N-l TO 2523030 CURSET FN B(200)+20,FN B(159)+20,3.23035 FOR M-I TO 1023040 CIRCI.E M,123050 SOUND I,N,023060 SOUND 2,N+10,023070 SOUND 3,N+ 20,023080 PI.A Y 7, 0 , 3

, 10

23090 NEXT23100 NEXT23110 EXPLODE23120WAIT 10023130 SOUND 1,1000,023140 PI.AY 1,7,4,40023150 WAIT 70023155 PI.AY 7, 0 , 0, 0

23160 FOR N-1l00 TO 4100 STEP 1523170 SOU ND 1, N , 1523180 NEXT

Page 38: IJK Software and the ORIC-l Micro - Defence Force

23185 IF 00-1 THEN RETURN23198 BS--YOU HAVE BEEN OVERCOME BY THE SPORES"HU8 GOTO 3120824085 CLS24887 GOTO 3120825000 IF 0-0 THEN RETURN25005 90R N-6 TO 1 STEP-l:ZAP:WAIT N:NEXT25818 SHOOT25015 CLS25020 JJ-A:KK-B:LL-C:MM-8:NN-l:0-0-l25022 BB-8:E-JJ:F-KK:C-LL:RR-l25025GOSUB2591025027 E-JJ:F-KK25030 AS-KEYS25040 IF AS<)""THEN GOT02510025041 HH-l25042 PLAY 7,0,8,825843 55-15- (SOR ( (ABS (A-JJ)) -2+ (ABS (B-KK) -2) )

".423)

25844 SOUND 1,449,5525846 SOUND 2,464,5525848 SOUND 3,475,5525050 T-T-l:IF T<0 THEN POP:GOTO 13025860 PRINT CHRS (11) ;CHRS (11);25870 PRINT" ";CHRS(27);"DTIME-";INT(T/100)+1;"TREASURE-_";R25075 PRINT" ";CHRS(27);"ADIRECT THE HIGH POWER ENERGY ZONE"25080 GO TO 2503025188 D-ASC(AS)25110 IF 0-11 THEN CLS:GOSUB 2520825115 IF 0-8 THEN CLS:GOSUB 2600025130 IF 0-9 THEN CLS:GOSUB 2700025135 IF 0-32 THEN D-8:RR-0:RETURN25140 GOTO 2503025200 FOR N-l TO BB25210 IFJJ-B(N,l)ANDKK-B(N,2)THENOO-0:GOSUB17800+(N+l)"10825212 NEXT25215 E-JJ :F-KK25228 GOSUB 400025230 IF LL-1 AND NW<)0 THEN EXPLODE:POP:RR=0:RETURN25248 IF LL-2 AND EW<)8 THEN EXPLODE:POP:RR-8:RETURN25250 IF LL-3 AND SW<)0 THEN EXPLODE:POP:RR-0:RETURN25268 IF LL=4 AND WW<)0 THEN EXPLODE:POP:RR-0:RETURN25270 IF LL=l THEN KK-KK-l25288 IF LL-2 THEN JJ=JJ+l25290 IF LL-3 THEN KK-KK+125300 IF LL-4 THEN JJ-JJ-125310 IF JJ-O AND KK-P THEN GOSUB2880025320 FOR N-1 TO BB25330 IF B(N,l)-JJ AND B(N,2)=KK THEN 00-1:GOSUB 17000+«N+l)"100)25340 NEXT25350 RETURN25900 GOSUB 360025910 GOSUB 3500:GOSUB 4000:B(BB,l)-E:B(BB,2)-F25920 GOTO 2590026000 LL-LL-1:IF LL<l THEN LL-426018 NN=026020 RETURN27000 LL-LL+1:IF LL)4 THEN LL-l27810 NN-827920 RETURN28000 PRINT CHRS (7);:FOR 0=0 TO 428805 FOR N-6 TO 0 STEP-l28010 FOR M-I TO 1228028 MUSIC l,N,M,1528030 NEXT28040 NEXT28050 NEXT28070 FOR N-l TO 2700 STEP 1828880 SOUND l,N,1528090 NEXT28095 WAIT 18828100 PLAY 0,0,0,028110 EXPLODE28115 IF 00-1 THEN RETURN28120 R-R+FN B(50)+95028123 A(O,P)=A(O,P)-12828125 POP:POP28128 PP-PP-l:IF PP)0 THEN 0-FNB(15):P-FNBI15)28129 RR-028130 RETURN

29988 CLS29005 POKE 426A,1029810 PRINT29012 PRINT CHRS(27);CHRS(4);"J";CHRS(27);"C";SPC(7);"POWERMAZE OFAGRENON"

.

29014 PRINT CHRS (4)29eJ.6 PRINT29929 PRINT"DO you want a short demonstration of"29030 PRINT"the power mazes features?"29840 PRINT29050 PRINT CHRS(27);"LTYPE 'YES' OR 'NO''';:INPUT BS29060 IF LEFTS(BS,l)<)"Y" THEN RETURN29865 00-129878 CLS29080 HIRES29898 PRINT"A spatial anomaly is like this"29198 PRINT"It will move you to a new spatial"29185 PRINT"sector";29118 WAIT 10029120 GOTO 1400029125 WAIT 50029138 HIRES29140 CLS29145 PRINT CHRS (4)

29150 PRINT"A high power energy zone looks like"29160 PRINT"this. These are used to kill the"29165 PRINT"GEOHITRIX";291?0 BB-2:GOSUB1700029180 WAIT 60029185 HI RES29190 CLS29250 PRINT"The GEOMITRIX looks like this"29260 BB-2:GOSUB 1600829279 WAIT 80029280 PLAY 0,0,0,829290 CLS29300 HIRES29430 PRINT"A door connecting sections looks like"29440 PRINT"this"29450 LW-1:GOSUB 500029460 LW-0:GOSUB 600029470 BB-3:GOSUB 1900829480 LW-1:RW-1:GOSUB 788829490 GOSUB 880029508 LW-0:RW-1:FF-1:GOSUB 900029510 WAIT 88029515 PLAY 0,0,0,029520 HIRES:PATTERN 255:CLS29530 PRINT"You can see up to 6 levels"29540 PRINT"anything beyond this will be as above"29550 LW-0:RW-0:FF-0:GOSUB 588829560 LW-1:RW-l:GOSUB 600029570 LW-0:GOSUB 708029588 RW-0:LW-0:GOSUB 800029590 LW-1:RW-l:GOSUB 988829688 RW-0:GOSUB 1800829610 GOSUB 1200029628 WAIT 78829630 CLS29640 GOSUB 16300:GOSUB 1670029650 PRINT"This is what the GEOHITRIX looks like"29660 PRINT"in the maze"29670 00-029680 WAIT 80029685 PLAY 0,0,0,829690 TEXT29700 PRINT29710 PRINT CHRS(4);29720 PRINT CHRS(27);"C";CHRS(27);"J POWER MAZE OF AGRENON"29730 PRINT:PRINT29740 PRINTCHRS(4);29750 PRINT"Do you want to see the intructions"

2'760 PRINT"agun"; :INPUT MO29780 IF LEFTS!BS,l)-"Y" THEN POP:CLS:GOTO 3529785 CLS29790 RETURN .

30000 HIRES30083 FOR N-500 TO 80030005 PLAY 7,0,0,0

Page 39: IJK Software and the ORIC-l Micro - Defence Force

39919 SOUND I,N,1939929 SOUND 2,N+29,1939939 SOUND 3,N+40,1039949 NEXT39959WAIT 29939979 CURSET 129,109,339989 FOR N-99 TO 1 STEP-439990 CIRCLE N,139199 SOUND I,N,1939119 NEXT39129 PLAY 9,9,9,939125 EXPLODE39139 FF-9:LW-9:RW-9:GOSUB 4099:GOSUB 5999:GOSUB 6900:GOSUB 7990:GOSUB 800030149 GOSUB 9900:GOSUB 1099939150 EXPLODE:WAIT 500:GOTO 3120031090 FOR N-l TO 199 STEP 531991 PLAY 1,9,9,031919 CURSET I,N,331915 SOUND I,N,1931920 DRAW 238,9,131030 NEXT31049 FOR N-l TO 238 STEP 531959 CURSET N,I,331955 SOUND I,238-N,1931069 DRAW 0,198,231979 NEXT31972 PLAY 7,0,9,931975 CURSET 120,109,331980 FOR N-I TO 99 STEP 331981 SOUND 1,409+N,1931983 SOUND 2,429+N,1931985 SOUND 3,449+N,1031990 CIRCLE N,231199 NEXT31110 WAIT 19931120 FOR N-l TO 199 STEP 531902 CURSET 120,100,331149 DRAW -129,N-109,231159 CURSET 120,199,331160 DRAW 118,N-190,231179 SOUND I,N,1031189 NEXT31199 PLAY 9,9,9,031195 GOSUB 3290931299 TEXT:CLS31205 FOR N-47864 TO 47871:POKE N,63:NEXT31219 PRINT31229PRINTCHRS(27);CHRS(4);"J POWERMAZE OF AGRENON"31239 PRINT:PRINT31249 PRINT CHRS (4);

31259 PRINT CHRS (27);"D";CHRS(27);"17777777777777777777777777777777

777777"31269 PRINT31279 PRINT CHRS(27);"D";CHRS(27);"IUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"31272 PRINT CHRS (4);31275 PRINT:PRINT:PRINT CHRS (27);"J YOUR RATING"31276 PRINT CHRS (4);31277 WAIT 29931289 VV-«R+UU*19)+0*10)/28831299 FORN-IT05:PRINTCHRS(11);:NEXT31309 PRINT CHRS(27);"A";CHRS(27);"I";31319 FOR N-l TO VV31329 PRINT" ";31325 WAIT 10i31330 NEXT31349 FOR N-l TO 19:PRINTCHRS(19);:NEXT31342 PRINT CHRS (13)31345 VV-INT(VV*189)31350 IF VV-9 THEN PRINT"LOW LEVEL LIFE FORM"31360 IF VV>9 AND VV<299 THEN PRINT"NOT OF AGRENON DESCENT"31379 IF VV>199AND VV<599 THEN PRINT"LARGELY BELOW AVERAGE AGRENONCITIZEN"31389 IF VV>499 AND VV<1999 THEN PRINT"SLIGHTLY BELOW AVERAGE AGRENON CITIZEN"31399 IF VV>999 AND VV<3999 THEN PRINT"AVERAGE AGRENON CITIZEN"31395 IF VV>2999 THEN PRINT"YOU HAVE ACHIEVED"31499 IFVV>2999ANDVV<4999THENPRINT"AGRENON TECHNICAL POWER ASSISTAN

T":PRINT"STANDARD"31419 IF VV>3999 AND VV<5999 THEN PRINT"AGRENON SPATIAL ENGINEER STANDARD

"31429 IF VV>4999 AND VV<6999 THEN PRINT"AGRENON POWER BATTLE MASTERSTANDARD"

31439 IF VV>5999 THEN PRINT"BATTLE LORD OF AGRENON STANDARD"31U0 WAIT 59031450 PRJlIIT

31460 IF 0-1 THEN BS:""

ELSE B5="S"31470 PRINT"YOU HAD ";Q;"HIGH POWER ENERGY ZONE";R5;CHRS(13)31475 PRINT"LEFT31489 PRINT"YOU COLLECTED ";R;"WORTH OF TREASURE"31490 IF PP-I THEN BS-"LIFE" ELSE BS-"LIVES"31495 IF PP-0 THEN PRINT"THE GEOMITRIX IS DEAD":GOTO 31519315"9 PRINT"THE GEOMITRIXHAD"; PP;" "; B$;" LEFT"31519 PRINT"YOU VISITED ";UU; "SPATIAL SECTORS OUT OF 625"31515 PRINT31520 INPUT"DO YOU WANT TO REENTER THE MAZE";BS31530 IF LEFTS(BS,I)-"Y" THEN RUN31549 CLS31545 CLEAR31559 END32999 HIRES32992 PLAY 1,9,9,932995 CURSET 21,9,332919 FOR N-198 TO 2 STEP-232929DRAWN,9,132939 DRAW0,N,132949 DRAW -N,9,132959DRAW9,-N,132969SOUND I,N,19

-32979 NEXT32190 CURSET 219,9,332119FOR N-198 TO 2 STEP-232129 DRAW -N,9,232139 DRAW9,N,232149DRAWN,9,232159DRAW9,-N,232169 SOUND 1,198-N,1932170 NEXT32180 PLAY 9,9,9,932185 EXPLODE32199 RETURN

Page 40: IJK Software and the ORIC-l Micro - Defence Force

3D Bar ChartBy M. J. Hall

This program is designed to givea graphical result in the form of a3D bar chart which can have amaximum of 12 items. It givesthe user the choice of how manyitems there are provided thatthere are no more than 12. Alsoin the program for a title whereif the user wants a scale, thenhe/she must put the scale inthere and remember to makesure that the largest actual num-ber is less than or equal to 1500.The program also asks the userto enter labels for the x and yaxis's, and labels for each barwhich can only be 2 characters inlength (max) and so it could bemade better by having the labelson the bars, which I haven'tdone because it was meant forthe initials of the months etc.Also this program works out ascale for the y axis and at the endasks the user if he/she wishes todisplay any more information. Ifthe user does then the programstarts again otherwise it ends.

10 PAPER0:INKI:TEXT:CLS20 DIM M$(12),DTA(12),I$(I2)30 GOSUB 500040 HIRES:INKI50 FOR P=41367 TO 48127 STEP40:POKEP,2:NEXTP60 FOR P=41007 TO 41247 STEP40:POKEP,4:NEXTP70 FOR P=48567 TO 49127 STEP40:POKEP,7:NEXTP80 INPUT"Please enter the title (in less than 30 letters)";

A$:CLS90 IF LEN(A$»30 THEN PRINT"That is too long, try

again":GOTO 80100 INPUT"What do you wish to label the x axiL_with

(,*than 30 letters)";X$:CLSI 10 IF LEN(X$»30 THEN PRINT'That is too long,try

again":GOTO 100120 INPUT"What do you wish to lable the y axis with

(,*22Ietters)";Y$:CLS130 IF LEN(Y$»22 THEN PRINT"That is too long, try

again":GOTO 120140 FOR C=I TO N150 PRINT"Enter 1-2 initials for item ";C:" on the x axis

please";INPUT I$(C)160 IF LEN(I$(C))>2 THEN GOTO 150170 NEXTC180 CURSET4I,0,3:DRA W0,180,I:DRA WI96,0,I190 X=48200 FOR C=I TO N210 CURSETX,I82,3220 FOR A= I TO LEN(I$(C))230 CHAR ASC(MID$(I$(C),A,I)),0,1240 CURMOV6,0,3250 NEXT A260 IF DTA(C)=0 THEN 340270 CURSETX,I80,3280 DRAW0,-DTA(C) X SC,I:DRAW8,0,1290 DRAW0,DTA(C) X SC,I300 CURSETX,180-(DTA(C) X SC),3310 ORA W4,---4,I:DRA W8,0,I:DRA W---4,4,l320 CURSETX+12,180-(DTA(C) X SC)---4,1330 DRAW0,DTA(C) X SC,I:DRAW---4,4,1340 X=X+16350 NEXTC360 CURSET50,I,3370 FOR S= I TO LEN(A$)380 CHAR ASC(MID$(A$,S,I)),0,1390 CURMOV6,0,3400 NEXT S410 CURSET50,190,3420 FOR S= 1 TO LEN(X$)430 CHAR ASC(MID$(X$,S,I)),0,l440 CURMOV6,0,3450 NEXTS460 CURSETI,20,3470 FOR S= I TO LEN(Y$)480 CHAR ASC(MID$(Y$,S,l)),0,l490 CURMOV0,8,3500 NEXT S510 yyu;'.= 180:C=0520 REPEAT530 C=C+ I540 L%=L%+VAL(KK$)-WW+O550 C$(C)=STR$(L%)560 YY'Yu=YY%-VAL(KK$) XSC

Page 41: IJK Software and the ORIC-l Micro - Defence Force

3D Bar Chart Listing5700=WW580 UNTIL YY%<10590 YY%=180:C=0600 REPEAT610 C=C+ I620 CURSETI4,YY%,3630 FOR S=2, TO LEN(C$(C)640 CHAR ASC(MID$(C$(C),S,I»0.1650 CURMOV6,0,3660 NEXTS670 YY%=YY'X,-VAL(KK$) X SC680 UNTIL YY%<10690 YY%=18070(1 REPEAT710 CURSET36,YY%,3:DRA W4,0,1720 YY%=YY%-VAL(KK$) x SC730 UNTIL YY%<10740 YY%=180750 REPEAT760 YY%=YY'Yo-VAL(KK$) X (SC XM)770 CURSET38,YY%,3:DRAW2,0,1780 UNTIL YY%<10790 CLS800 INPUT"DO you wish to display any more information (Y/N)":Q$810 IF LEITS(Q$,I)="Y" OR LEFrS(Q$,l)="N" THEN 820 ELSE

CLS:GOTO 800820 IF Q$="Y" THEN RUN830 TEXT840 PLOT8,IO,"XXXXXXXXXXXXXXXXXXXXXX"850 PLOT8,11,"X X"860 PLOT8,12,"X X"870 PLOT8.l3,"X X"880 PLOT8,14,"X X"890 PLOT8,15,"XXXXXXXXXXXXXXXXXXXXXX"900 PLAY ,0,0,0910 FOR C=I TO 6920 SOUNDl,500,10930 PLOTII,12,"THIS PROGRAM HAS"940 PLOTI5,13,"NOW ENDED"

,950 WAIT20960 SOUNDI,300.10:WAIT20970 SOUNDI,400,10980 PLOTlI,12,"990 PLOTI5,13,"

1000 W AIT20:S0UND 1,600,]()1010 NEXT C1020 PLA Y0,0,0,0:POKE£26A,10:CLS:PRINT CHR$(19):INK0:END2000 REM INITIALIZATION2010 FOR C=I TO N2020 READ M$(C)2030 NEXTC2040 RETURN2050 DATA FIRST, SECOND, THIRD, FOURTH, FIITH, SIXTH,

SEVENTH, EIGHTH, NINTH, TENTH2060 DATA ELEVENTH, TWELTH5000 REM X START OF PROGRAM X5010 PRINT"Please enter the number of items (MAX is 12)";5020 INPUT N5030 IFN<I ORN>12 ORN<>INT(N)THENPRINT"INCORRECT

ENTRY,TRY AGAIN":GOTO 50205040 GOSUB 20005050 FOR C= I TO N5060 PRINT"PLEASE ENTER"; M$(C];" ITEM OF DATA";5070 INPUT DTA(C)5080 IF MA<DTA(C) THEN MA=DTA(C)5090 IF DTA(C)<0THEN PRINT"INCORRECT ENTRY,TRY AGAIN":

GOTO 50605100 IF MA>1500 THEN, PRINT"OVERFLOW ERROR, START

AGAIN", WAIT400:RUN5110 NEXTC5120 IF MA<= 100 THEN SC= 1.5:KK$="2W':WW=20:M=.33:RETURN5130 IF MA<=200 THEN SC=.8:KK$="40":WW=40:M=.25:RETURN5140 IF MA<=300 THEN SC=.55:KK$="60":WW=60:M=,33:RETURN5150 IF MA<=400 THEN SC=.4:KK$="8 0":WW=80:M=.25:RETURN5160 IF MA>=4~n THEN SC=.I:KK$="300":WW=300:M=.33:RETURN5170 RETURN

Page 42: IJK Software and the ORIC-l Micro - Defence Force

Map of England

By C.Kingham

This'is a Hires program thatdraws the outline of the BritishIsles.

It also draws on the screen a fewrandomly chosen cities through-out England, Scotland andWales.

This program allows for othersto embellish or change it asdesired.

10 REM ...*..*...* ~* *.....20 REM" MAPOF E AND C.KINGHAH ..30 REM ..................40 RESTORE:50 CL&hO HIRES70 PAPER 71 INK 080 PAINT CHR.(7)90 WAIT 100100 CURSET 600,20,3110 l.""THE BAITISH ISLES"120 FOR L"'l

TO LEN(L8)130 CHAR ASC(HID.(L8,L, 1) ).0, t140 CURI'tOV b,O,O.NEXT (.WAIT 100150 CURaET 119,40,3t 60 R~PEA T170 READ A,8180 WAIT 101.0 [)RAW A,B,I200 UNTIL ".-. 1210 DATA 1,7. -9.S, 3.2, -5,., 5, t ,6, -4.12, 5,-b, 14, -7, 3, 5,0, -6,5,1.2.6, -2,8, 7220 DATA 4,16,5.2.11,13, -1 ,2,-9,-3,9. 7,-2, 7.2.1,2, -5,9, 1.1,9, -12, lb. t .2, 1.-2230 OATA 3.2,3,-2.3,2,-8,8.-2,-2, -4.4, -6, -3, -11, I, -11,3, -4, -3. -5, 3. 1,3, -7,1240 DATA -3, -2, -7.4, -1 ,2. -3, t, -1, -2, -3, I, -1, -3,0, -2, 1, -3, 4, -I, 3, -1,~, -2, 9,-12S> OATA ~,-7 ,-9, ~,-6, -4, -2. 2, -I, -2, -3, -2, -7,4,-2,-4,2,-2,13, -7, I, -10, -5,12bO OATA 0, -3,:5, -:5,10, -I, I, -:5, -2, -2, 3, -4, -4, I, -4, -'I, 4, -6, -7,3, -3, I, -1,2

270 OATA -5, -2, -3, I, -1, -4, 5, -7, -1, -7, -1,-5, 3,-1, -2, -3, -4, 3, -2, -2, -1, -4, -2,0280 OATA -3,11, -3, 2,2, -9, 2,-9,:5, -1,1, -2, -3. 1, -4, -3, 4, -1,-1, -3, 3.-1, 1,-:5290 OATA -3,-1, I, -4,6, -2, -1, -4, 4, 1,1, -3,5,-2, 3,2, 9, -3,3, 4, -.1,0300 WAn 50310 CURSET 104, 16B, 3320 CIRCLE 1.5,1330 CURSET 60,165,3340 A.t""P1)'l'IIouth"350 FOR Ill-I TO LEN(A.)360 CHAR "SC

(MIDt ("', ",1») ,0,1370 CURI'1OV5,O,OlNEXT A380 WAIT 50390 CUROSET 123,155,3

400 CIRCLE 1.:5,1410 CURSET 85,153,3420 et.."er- i.tol"430 FOR e..-l TO LEN(S",440 CHAR ASC(HIDt,(St,8,1»),O,1

450 CURHOV 5,O,OlNEXT B460 WAIT 50470 CURSET 115,150,3480 CIRCLE 1. :5,1490 CURSET 77,143,3500 Ct-"C..r-d I Pf"S10 FOR C-l TO LEN(C.)

:520 CHAR ASC(MIOt<Ct,C,I»,O,1530 CURHOV 5,O,0INEXT C540 WAIT 50550 CURSET 129,135,3560 CIRCLE 1.':5,1::170 CURSET 7::1,132,3580 Ot"'''Birmin",hou,,''590 FOR

0""1TO LEN(O,,)

bOO CH"R ASC(HIO"W.,O,I) ',0, 1610 CURHQV 5,O,O;NEKT 0620 WAIT 50630 CORSET 12:>,119,3640 CIRCLE 1.5,1650 CURSET 71,116,3660 Et-"H..nchEl~tElr"670 FOR E-l TO LEN«!t)680 CHAR ASC(HIOt(Et,E,I)',O,1b90 CURHOV 5,O,0INEU E700 WAIT 50710 CURSET 103,82,3720 CIRCLE 1.5,1730 CURSET 65,79,3740 Ft-"G1".90W"750 FOR F-t TO LENtFt'760 CHAA IIISCtHIO.IFt,F,I) ),0,1770 CURHOV 5,0,0;NEXT F780 WAIT 50

7'90 CURSET 130,95,3800 CIRCLE 1.:5,1810 C~SET 134,91,3820 Ot-"Newc...t 1."830 FOR

0"'1TO LEN (8.)

840 CHAA IIISC(HOtIGt,O,I) ).0, 1850 CURHQV 5,0,0INEXT G860 WillIT 50B70 CURSET 144,116,38BO CIRCLE 1.5,1890 CURSET 148,111,3900 Ht""Hu11"910 FOR H-l TO LEN(H.)920 CHiIIR ASC (HIOt (Ht,H, 1»), 0.1~30 CURI10V 5,O,OlNEXT H940 WIIIIT :50950 CURSET 159,135,39bO CIRCLE 1. 5, 1970 CURSET 163,132,3980 It.."Nor-wlch"990 FOR I-I TO LENIU)1000 CHAR 1119C(HIOtt It,l t 1)' ,0,11010 CURHDV 5,O,OINEKT I1020 WAIT 501030 CURSET 132,lb3,3

104° CIRCLE 1.5,11050 CURSET 132,1bB,310bO J"""Por-tsl'llOUth"1070 FOR J-l TO LENtJ.>1080 CHIIIR ASC(MIOtIJ.,J.I»,O,11090 CURHOV 5,O,OINEXT J1100 WIIIIT 501110 CURSET 146,154,31120 CIRCLE 2.0,11130 CURSET 150,151,31140 Kt..MLondon"1150 FOR 1o<-I..TO LENCK$'1160 CHAR ASC IHIOt llo<t, K, 1

,) ,0, 11170 CURMOV 5,O,OINEXT K

.

1180 GOm 1180

No of rpC"O!'- d~" 118

Page 43: IJK Software and the ORIC-l Micro - Defence Force

Word - 1.

By David Peat

"Word-1" is a word-processor inbasic for the Oric-1.

It allows you to enter up to 10screens of text (this can bechanged by changing every num-ber 10 in the program to thenumber of screens you want) tobe entered and edited. The key-board works normally except forthe cursor keys.

EDITINGPressing either the left or rightcursor keys gives EDIT mode.In this, choose which line of textyou wish to edit then move thearrow under the letter you wishto change using the cursor keysand press "RETURN" thenenter the letter you wish to putin its place.

"DEL" deletes the last characteryou entered in the line andescape "ESC" gives you themenu. Pressing either of the upor down keys will move you ontoa new screen and "RETURN"gives carriage-return.

MENUYou are shown the menu:1. LIST SCREEN N2. LIST SCREEN X UNTILLINE Y3. LIST SCREEN X TO Y4. PRINT SCREEN N5. PRINT SCREEN X UNTILLINE Y6. PRINT SCREEN X TO Y

After choosing you are asked:Do you want:

1. a continuous listing or2. a page by page listing.

Option 1 lists the screens chosennon-stop while option 2 pausesin between and waits for a key tobe pressed.

Back to the menu. . .1. causes screen N to be listed.

You enter N.2. causes screen N to be listed to

line Y.3. causes screens X to Y to be

printed on the screen. Bestused with option 2 above.

Options 4, 5 and 6 do exactly thesame but print on a printer otherthan the screen.

2 CLS, GOSUB 100005 CLS,PRINTCHRS(20);CHR$(l7)6 PRINTCHR$(6)10 DIMA$(lO,26):PO-4804150 T$- "WORD-PROCESSOR": FORN-! T014: POKE48013+N. Ase (HIDS (T$ IN. 1 »: HEXT90 PORN-ITOIO:PLOTIO.lO."SCREEN "+STR$(N):CETK$:CLS95 PO-4804196 TAB-ID100 FORL-OT026: PO-4 8041 + (40*L) : FORC-OTa 38110 POICEPO .45: PK-PEEK(PO-l)120 GETK$: SOUNDl . 100.0: PLAYI.0.1.150130 !FKS-CHRS (13 )THENGOTO 2000140 IFKS-CHR$(8)OR KS-CHRS(9) THENGOSU81000:S0UNDl,RO.O:PLAYl.O.2.200,GOTOl20145 !FK$-CHR$(lO )ORK$-CHR$ (11 )THEN440150 IFK$-CHRS (27 )THENGOSUB6000160 IH$-CHRS (127 )THENGOT02500165 IFASc(xsH32THENI20400 POREPO. Ase (K $) : PO-PO+1 : PCICEPO. 45: PK-PEEK (PO+l

)

410 A$(N.L)-AS(N.L)+<$420 NEXTC:SOUNDl.80,O:PLAYl.O,l.200425 PO-PO+1: PK-PEEK(PO)430 N!XTL440 PINC:NEXTN450 GOSUB6000460 GOT02401000 CLS: PRINTMWH'ICH LIN.E .0-26 "; : INPUTEL: IFEL\260REL\OORINT(EL )\\ELTHENIOOO1010 CLS1020 PLOTO.5.A$(N.EL)1030 S-O'PLOTS.6.

"l"1040 X$-XEY $, I FRS-CHR $ (8 )ANOS \OTHENPLOTS. 6." ", S -S-I1045 PLOTS.6.

"l"1650 IFK$-CHR$:(+)ANDS \3BTHENPLOTS. 6.." ": 5-S+11060 IU$-CRU(l3)THENlIOO1070 GOTOI0401100 PLOTS.6,

"l"1110 PLOTS,5." ":PLOTO,10,"Whlch character.":CETFS:PLOTS.5,FS1115 I FS-OTHENBS-A$ (N, EL): A$ (N. EL)-

"":COTO 122 2

Page 44: IJK Software and the ORIC-l Micro - Defence Force

Word - 1 Listing1120 B$-A$ (N ,n), A$ (N, n)-.., FOBH-I TOS 'A$

(N ,EL )-A$ (N ,n)+HID$(B$,H,l):NEXTH1121 IFS\36THENA$ (N. Et)-A$ CN. EL )+F$ :GOT011301122 A$ (N. EL )-A$ (N. EL )+F$: FORH-S+2T038: A$ (N. EL )-AS CN. EL )+MID$ (B$. H I1): NEXT1130 PLOTO,lO.wAny more to be changed in this row?":GF:TF$:IFF$-"y"rAENIOtO1140 IFF$- "n "THENCLS : FORG -OT026 : PLOrO I G. A$ (N. G) : NEXrG: RETURN1150 GOTOIl302000 POKEPO,322001 NE XTt2005 PING: NEXT :GOSUB6000: GOTD 1202500 IFC-OANDL\OTHENC-38: L-L-l : PO-PO-l : GOT025102503 POKEPO,322505 C-C-I2506 IFC-OTHENA$(N,L)-..,GOTOI20

~5:0 PO-PO-I, POKEPO, 45, B$-A$(N, L) 'A$(N, L)-." 'A$

(N, L)-LEFT$ (B$ ,C )+

2511 A$ (N, L)-A$(N, L)+BIGHT$ (B$, LEN(B$ )-C-I)2512 corOl206000 P-O6005 S$- .N.

6010 CLS6020 PRINT:PRINT"l. LIST SCREEN N"6030 PRINT"2. LIST SCREEN N UNTIL LINE

z"6040 PRINT"). LIST SCREEN X TO y"6060 PRINT"4. PRINT SCREEN N"6070 PRINT"S. PRINT SCREEN N UNTIL LINE

Z"6080 PRINT"6. PRINT SCREEN X TO y"6100 PLOtO.14, "SELECT PROCESSING CHOICE"6110 GETD6120 IFD\I ORD\60R 1 NT (D) \\DTHEN 61 006123 CLS6125 IFO\3THENP-I6130 CLS6135 IFD\3THEND-D-36140 PR-6200+(100*0)6150 eOTOPR6300 IFP-OTHENPLOTO, 2. "I. LIST SCREEN N"6305.IFP-ITHENPLOTO.2,"4. PRINT SCREEN N"6310 PRINT:PRINT:PRINT:PRINT:INPUT"Enter N";X6 34 5 IFX \1 ORX\ I OOR X\\ 1 NT (X )THENCLS ,GOTO 6 300

6350 Y-266360 GOT080006400 IFP-OTHENPLOTO,2,"2. LIST SCREEN N UNTIL ZOO

6405 IFP-OTHENP~OTO.2,"5. PRINT SCREEN N UNTIL ZOO

6410 PLOTO.4,"Enter N":GETX6417 IFX \1 ORX\IOORX \\1 NT (X )THEN641 0

6425 PLOTO,4."Enter Z":GETZ6.440 1 FZ \10RZ \\1 NT (Z) ORZ \2 6THEN 64 2 56450 GOT080006500 IFP-OTHENPLOTO,2. "3. LIST SCREEN X TO y"6505 IFP-1THENPLOTO,2. "7. PRINT SCREEN X TO y"6510 PLOTO.4,"Enter X":GETX6515 IPX\IORX\9THENCOT065106520 PLOTO,4, "Enter Y".:GETZ:Y-266525 IFZ\100RZ\-XTHEN65206540 GOT080008000 CLS8005 IFP-I THEN8IOO8010 PLOTO.2,"00 you want:"8020 PLOTO,4,"I. A continuous listing or,"8030 IFP-OTHENPLOTO.5, "2. A page by page listing."~040 PLOTO, 9, . ENTER CHOl CE" ,GETQ' IFO\\ I ANDQ \\2 THEN80408070 eOT082008200 FORS-XTOZ8220 CLS8230 IFQ-2 ANDP-OTHENPLOT 5. 10. ..SCREEN "+STR$ (S )

8240 IFQ-2ANDP-OTHENWAITIOO8241 CLS8250 IF P-I ANDS$-"y "THENLPRI HT: LPR I HT"------------------------------

8270 IFP-IANDS$-"y"THENLPRINT8275 FORT-OTOY8280 PLOTO,T,A$(X,T)B310 IFP-OTHEN83508312 LPRINTA$(X,T)8350 REM

~~~~-~~~-1 ANDS $-"y "THENLPRI NT: LPR I HT"------------------------------

8370 IFP-IANDS$-"y"THENLPRINT8 380 IFS $ -

.y. THENREPEAT, UNT! LKEY $ \\ -.8381 NEXTT,S8390 RETURN10000 T$ -"WORD-PROCESSOR": FORN-I TO 14: POKE 480 13+N

, ASe (MID $ (T$. N, 1 » :NEXT10010 PRINT:PRINT"Use this program to enter up to 10

"10020 PRINT"screens of text."10030 PRINT" Editing:"10040 PRINT" Pres8ing

'DEL' will delete the last character."10050 PRINT" Pressing anyone of the left and"10060 PRINT"right cursor keys puts you into edit mode."10070 PRINT"Enter the line you want to edit(0-26)"10080 PRINT"and then move the arrow under the letter you want removed and"10090 PRINT"pre8s 'RETURN'."10100 PRINT" Menu:"10110 PRINT"PressIng 'ESC' gIves you the menu."10120 PRINT"Pres8 'RETURN 1 for cArrIAlI;e return."10130 PRINT:PRINT"Pres8 A key." :REPEAT:UNTILKEY$\\"":CLS:RETURN

Page 45: IJK Software and the ORIC-l Micro - Defence Force

By M. J. Hall

This program is a horse racinggame as YOll can tell from thetitle, where you have to enterthe number of players between 2and 8, and then the odds areprinted up for the eight horses.The odds range from 1 to 8, onebeing the lowest and eight thehighest due to the fact that if youwin a race, the amount of moneythat you bet is multiplied by theodds, so eight will give you eighttimes as much and one only onetimes the amount. After thateach player will have to enter thehorse that he/she wishes to beton and the amount that he/shewishes to bet on that horse. Thismust be done in turn and thenthat order kept until the end ofthat game. Once everyone hasplaced their bet, a table of thenumber of horse, bet and odds isprinted up so everyone can seewhat they have bet and the oddsand number of that horse. Theprogram then proceeds and goesthrough the graphics and finallyproduces a winning horse. Thenthe program prints up any win-ners and any bankrupt people. Itcontinues doing this until thereis either one player left withsomething to bet with or untilno-one has any money left. Atthis point the program gives thelIsers the choice of another gameor not, where if they don't thenthe program goes to the endingroutine and ends, or else it startsagaIn .

'Derby Day'

Page 46: IJK Software and the ORIC-l Micro - Defence Force

~70 PRINT"HHXUlIUXUHHHHUlIIXXlIU"~OO LET ML(X)=AW(X)+ML(X)~9<I IF ML(X)<0 THEN LET ML(X)=0

~95 PRINT"PLAYERNo.";X;" HAS ";ML(X);" LEFT TO BET"4100 PRINT CHR$(27),"T "+C~(27);"L PRESS SPACE BAR TO CONTINUE"

4105 GET A$:IF A$..cHR$(J2) THEN 4110 ELSE 41~5411~ RE11JRN

50~0 REM IIXXXXXUXXUUXX

5020 PRINT"Do you want another game (y/N)"

5025 GET A$503~ IF A$="Y" THEN GOrol~

5035 IF At-"N"THEN 50~ ELSE 5025

.5040 LORES~

50:JJ FOR Q=1 TO M506Q PLOTa ,10,"THIS PROCRAM HAS NOW ENDED"5070 WAIT505000 MUSICl,3,3,15

:JJ90 PLAYl,0,2,505110 POOTa,1~,

" "5120 W AIT20

5125 PLAY0,0,0,05130 NEXTQ5135 CLS:INKl:PRINT CHR$(19)51~ END51:JJ REM H GRAPHICS ROUTINE H516Q CLS:PAPER0:INK7

5170 POKE49040,17 :POKE49000,17 :POK»+9000 ,175180 POKE4a962,4a:POKE49002,124:POKE49042,1245190 PWTl~,2, "THEY'RE UNDER STARTERS ORDERS"

5195 WAITl~0 ,

5200 PLOT10,2," ":PLOT15,2, "AND THEY'RE OFF"

521.0 SHOOT:WAIT755220 PWT15,2,"

"5280SOUND3,l,105290 PLAY4,l,3,2005300 FOR S=l TO 55310 WAIT:JJ5320 D=INT(7 "'RND(l»+l5330 IF 0=1 THEN 53205}40 FOR X-49033 TO 4900a STEP-5

5360 POKEX-I, D: FOKEX-44, D: POKEX+3a, D

5370 POKEX,127:POKEXtl,127:POKEX+2,1275300 POKEX+39,33:POKEX+43,1235390 POKEX+t, 113:POKEX-41 ,122 :POKEX-42,12.05395 POKEX- 39,106:POKEX-40,1075400 WAIT2~,

5410 POKEX,32:POKEX+l,32:POKEX+2,325420 POKEX+39,32:POKEX+43,325430 POKEX+3.J2 :POKEX-41, 32 ,POKEX-42, 325435 POKD-39,32:POKEX-40,325440 POKEX, 127 ,POKEX+ 1,127 :POKEX+2,12754:JJ POKEX+40,123:POKEX+42,33546Q POKEX+3,113 :POKEX-41,122 ,POKEX-4Z,120

5465 POKEX-39, 1.06 : FOKEX-40 ,1~75470 WAIT205400 POKEX, 32: POKEX+ 1,32: POKEX+2,325490 POKEX+40,32:POKEX+42,325500 POKEX+3, 32 : POKEX-41

, 32 :POKEX-42, 32

551'5 POKEX-39,32:POKEX-40,32

5 51~ NEXTX5520 G=INT(J .RND(l»+l:IF G=l THEN H$="IENGTH"ELSE H$="LENGTHS"

5530 Z=INT(a*

RND(l))+l:IF S=5 THEN 56205540PLOTJ,2,"

"55:JJ PLOT2,2,25560 IF S=4 THEN './=INT(8 "RND(l»+l:GOTO 55905570 PLOTJ,2, "NUMBER ":PLOT9,2,STR$(Z) :PLOT12,2, "IS LEADING BY"5575 PLOT25,2,STR$(G)5'580 PLOT29,2,H$:GOTO 5620

5590 PLOTl0,2,"THEY'RE COMING UP TO THE":PLOTl5,3,"LAST STRAIGHT"5595 PINC: WAIT50 :PING:'./AIT50 :PING: './AIT20 :SOUND3,l,10 :PLAY4,l, 3,2005600 PLOTB,4, "NUMBER": PLOTl5,4,STRt('./) :PLOT18, 4," IS CATt:HING UP" "./AIT755610 PLOTl0,2," ":PLOTl5,3,""

,5615 PLOTB,4,""5620 N!':XTS

563~ WAIT2005640 INK0: P APERl5650CLS5000 RE11JRN

600Q REMH INCaRRECT ENTRY ROUTINEg,

6010 CLS

6020 PLOTa, 10, "itJlXXXXXXXXXXXXXXXXXUH"6030 PLOTa,ll,"1

*"6040 PLOTa, 12,"*

INCORRECTENTRY*"60:JJPLOTa, 13,"**"6060 PLOTa, 14, "H*HIHHHlHHHHH"

6070 FOR C=l TO 360a0 MUSICl,2,3,156090 PLAYl,2,3,156100 WAITJ06110 PLAY0,0,0,06120 './AIT206130 NEXTC61~ CLS6150 RE11JRN7~00 REM H INITIALIZATION H7010 PAPERl: INK0702~ POKE£26A,10 -- £ sign is meant to be a hash (#)7030 CLS7~ IS(l)="FIREFLY":rt(2)="REDRUM":It(J)="SILYER DREAM": IS(4)="SPARTICUS"7~50 I$(5)="BLACK PRINT":rt(6)="BLACK BESS":It(7)="KING CHARLESY"7060 U(8)="BEECHERS BROOK"

7070 RE11JRN

8000 REM HHlHHHIHHIHlHHH8010 REM H CHARACTER DEFINITION H802~ REM *itJlHXXXXUXXXXXXUXUIJ!XX8030 A=460808040 FOR N=0 TO 7:REAOX:POKE(A+856+N),X:NEXTN8050 DATA 0,0,0,0,0,63,0,08060 FOR N=0 TO 7: REAOX: POKE( A+264+N) ,X: NEXTN8070 DATA 7,7,7,56,56,56,56,568080 FOR N=0 TO 7:REAOX:POKE(A+960+N) ,X:NEXTN8090 DATA 15,15,15,15,15,0,0,08100 FOR N=0 TO 7:READX :POKE(A+976+N) ,X:NEXTN811D DATA 48,48,48,48,48,15,15,158120 FOR N=0 TO 7:REAOX:POKE(A+984+N),X:NEXTN8130 DATA 56,56,56,7,7,7,7,78140 FOR N=0 TO 7:READX:POKE(A+904+N),X:NEXTN81:JJ DATA 63,63,0,0,~,0,0,08160 FOR N=0 TO 7:READX:POKE(A+848+N),X:NEXTN8170 DATA 30,62,30,12,30,62,63,31

8180 RE11JRN8200 REMH INSTRUCTIONS H8210 CLS:PRINT:PRINT8220 PRINT cHR$( 4)8230 PRINT cHR$(27),"T "+CHRt(27);"N DERBY DAY"8235 PRINT CHRt( 4)8236 PRINT:PRINT8240 PRINT" THIS GAME WAS DESIGNED"82:JJ PRINT" BY r.ARTYN.J.HALL"8260 PRINT:PRINT8270 PRINT" The object of the game"8280 PRINT" is to use your skill and It

8290 PRINT" luck to bet on horses,and"830~ PRINT" be the winner of the game"8310 PRINT" by being the last person"8)20 PRINT" in. If there isnt a last"

8330 PRINT" person in the game,then"8~ FRillT" there wont be a winner so"83:JJ PRINT" you have to make sure that"83~ PRINT" you bet carefully if you"8370 PRINT" want to win. During each game"8380 PRlliT" the odds are only printed"8390 PRINT" up once,so the users will"8400 PRINT" have to make sure that"841a PRlliT" everyone is ready to"8420 ~Dlt.. continue.8430 PRINT:PRINT8440PRINT CHRt(27); "T "+cHRt(27);"L PRESS SPACE BAR TO CONTINUE"

8451' GET At:IF A$~HR$(~2) THEN8460 ELSE84508460cLS847~ R!:."'11JRN

10000 REM H ROUTINE TO PRINTUP H10010 REM H,INNER OF THE GAlo!E H10~20 REM10030 PRINT:PRINT1~a4D FOR X=l TO ~1~~50 IF ML(X)(=G THEN LeJ0601~055 PRINT"PLAYER ";X;" IS THE WINNEROF TIE GA;o!E"1~~56 PRINT:PRINT"WITH ":ML(X);" W'T":PRINTIM60 NEXTX10~70 PRINT"PRESS SPACE BAR TO CONTINUE":PRINT10080 GET A;: IF At..cHR$v3Z) THEN500fJ ELSE10/)80

Page 47: IJK Software and the ORIC-l Micro - Defence Force

Oric Quickies

Oric DemonstrationProgramBy Karl WWiams

Lines 150--190 can be deleted toomit the Random Circles.

10 PAPER4:INK720 HIRES:INK0:FORX=lT04030 FORA=lT0640 B=INT(RND(1)*235)50 C=INT(RND(1)*168)60 CURSETB,C,370 D=RND(l)*6+1780 E=INT(RND(1)*30)+190 FILLE,l,D100 F=INT(RND(1)*8)

110 G=INT(RND(1)*12)+1120 H=INT(RND(1)*5)+10130 MUSIC1,F,G,H140 NEXTA150 I=INT(RND(1)*160)+40160 J=INT(RND(1)*120)+40170 CURSETI,J,3180 K=INT(RND(1)*30)+9190 CIRCLEK,l200 NEXTX

DINKY KONGFor 48K £6.95 Inc.SUPER M/C ARCADE GAMEFROM SELECTED BRANCHES

. Skill Levels, Full Colour, Platforms,Ladders, Fire-balls, Roiling Barrels,Umbrellas, Hearts, Hall of Fame,Sound Effects.

Your won't see a better game for the Oric.

*Author - Adrlan Sheppard.

ORICADE

For 48K £8.50 Inc.

. Assembler/Dlsassembler/Edltor

. Handles full 6502 mnemonics. FeaturesSave & Reload M/C Assembles &Disassembles at any address.

You can't program seriously withoutOrlcade.

*Author - Adrlan Sheppard.

MORIAFor 48K £6.95 Inc.

A challenging adventure set In the minesof Moria.

. Can you survive encounters with themonsters of Middle-Earth? Will thewizard help you? Are you fated to diebeside the sealed doors? Or have youthe power to open them? Unless youfind Durlns Ring you will never leavethe mines alive!

'Sold at branches of LASKYS and allgood software shops - ask for SEVERNSOFTWARE.Dealer/Distributor enquiries welcome -excellent trade terms.

JOGGERFor 48K £6.95 Inc.

REAL M/C ARCADE ACTION. 4 Screens, Skill Levels, Full Colour,Road, Cars, Lorries, River, Crocs,Logs, Hall of Fame, Sound Effects.

Perspire your way up the screen.

~ *Author-

, IiII\ - , Adrlan Sheppard.

I. .

GRAIL

For 48K £6.95 Inc.

Exciting Graphic Adventure-

Where in the Castle Perilous is the:Holy Grail? Gather armour and Iweapons to fight monsters. Sell Itreasure to a trader in exchange for Istrength potions and wound ointment. IWhere will the warp take you to? IThis is a test of skill, luck, logic &

:intelligence. I,

Page 48: IJK Software and the ORIC-l Micro - Defence Force

A doctor and scientist's thoughtson the Oric-1

Having decided to buy the Oric-1 48K RAM I can only hope itwill gain popularity 'so that amultitude of add-ons, programsetc. will be available. I thereforeforward these ponderings in thehope they may be useful to you,being well aware that you pro-bably are flooded with "brightideas" .

First of all, why did I buy yourmachine? I heard of a colleaguewho bought a ZX-81with manu-als and other books in order tolearn basic programming. Heworked his way through this andthen gave the device to his son.As he remarked, the cost fordoing so was small compared towhat you usually pay for medicalcourses (A weeks course in Lon-don amounts to 350 pounds +travel expenses). Thus home-computers provide a fairly cheapand comfortable way to learnprogramming, even when youhave access to bigger computersat the job.

When deciding for the Oric I washelped by a friend, who hadworked with computers sincethe sixties and who is now amathematician and a doctor.The arguments for one who haveaccess to quite a deal of hard-

ware, and even heavy compu-ters, runs thus in favour of Oric:1. The keyboard looks likethat of ordinary computers/terminals. The Spectrum looksmore like Italian salad than likea computer. I would have will-ingly paid another 50 pounds fora real hardtop keyboard, butfound the Commodore 64 tooexpensive, when considering myready access to computer-machinery at the hospital. Giveit a thought. Others sell home-computers with plug-in key-board!2. The Oric has ports making itsuitable for someone like me,who has printers, monitors etc.available at the hospital.3. According to my adviser the6502 processor is well suited forPascal, a language he recom-mends.4. I am interested in music andthus may have fun with thesynthesizer. But this argumentwas of lesser importance.Except maybe Chess games arenot of interest. . . unless theyhave relation to medicine/research as a sort of self teachingthing. I am quite allergic to pingand pang.

If I should draw your attentionto ~ notf':nti~1 m~rkf':t ~on"istin~r

of doctors, scientists, studentsand other serious users, youshould then be aware that theywill demand different thingsthan the present buyers. If youwant to reach them, you willhave to take into considerationthat these people are used tostudying. After an initial coursethey will need more heavy books(with smaller letters) going intothe depths of problems andhandbooks, where you can readselected chapters, when solvingan actual problem.

Doctors need statistical testsfirst of all. For instance a multi-variate analysis, which I haveseen advertised for Sinclair!Give them a statistical pack, thisshould be no problem. Manydoctors though being skilledsurgeons have difficulty withstatistics when analysing results.But even a program leadingthem to choose the right test is apossibility, using questions like:big or small material? Compari-son of two means? Comparisonof a mean with known standard?etc.

Many medical researchersalready have programmable cal-culators like the Texas TI-59performing statistics. What you

Page 49: IJK Software and the ORIC-l Micro - Defence Force

can offer is more text on thescreen when guiding them to theright calculations and a graph-ical representation of the resultstoo.

At present home-computers arenot used by doctors/scientists toany significant degree. I think agood deal of the reason is thatthey do not know about thecapabilities of home-computers.They have, however, bought theTexas TI-59 and HP analogues. . . this with their own money,because they are too interested

in the results of their research,so that a little calculating athome is unavoidable. They willbuy the Oric-l too, if they get toknow of its capabilities. Doctorsdo not want to be ignorant, soyou can even scare them withquestions like: Hospitals areinvaded by computers. Do youknow enough about how theywork?

Should you choose to write thenecessary books to make theOric suitable for medicalresearchers or even the general

practitioner, be aware of thetax-systems in many countries.In Scandinavia (e.g. my case85% tax of the last penny) it maybe all important to sell the Oricalong with tapes and books as apackage with a title like "Acourse in computing for themedical and biologicalsciences". This could make thewhole thing tax deductible,whereas a home-computerwould be hard to justify.Dr. To~ Buur(actually Danish),

Snickaregatan 4 C,582 26 LinkofJinR" Sweden

Dear Sir,In issue 1 of 'Oric Owner'magazine you had a programlisting of 'ORIC-TREK'. In thelist of instructions you men-tioned that you would need a48K Oric to run the program.

Whether or not you alreadyrealise, it is possible to run theprogram on a 16K ORIC, usingthe 'GRAB' command and withsome changes in the listing youcan obtain better graphics withabout 4000 bytes left over.

I find it very annoying that mostof the adverts for the Oric Soft-ware do not specify which modelof ORIC it can be run on. I amsure that other ORIC users have'the same problem.

Perhaps in future issues if a 48Kprogram listing is printed it ispossible for tips to be added forthe conversion to the 16K modelin appropriate cases. D. T. Paton

Dear Ed.,Does anyone out there knowhow to scroll the Orics screenleft or right? I know how to usestrings for this purpose but it is avery slow and tedious method.Can anyone help?I would also like to know ifanyone knows anything aboutthe commands INVERSE andNORMAL lurking inside theROM.

Also could you explain thephrase DOWNLOADING as itis a bit of a mystery to me.Thank you for a great magazine.Keep it up.

Finally, a query about the OricTrek program in the first issue.

Whenever I try to move up ornorth or into a quadrant aboveme the program refuses to gothere.

David Peat

Page 50: IJK Software and the ORIC-l Micro - Defence Force

Clock Simulation

By C.Kingham

This is a Hires program demon-strating an analogue clock dis-play.

It allows the user to set a timeand ORIC will then display thecorrect time in Hr, Min andSecs.

(Only varies about a second intwo hours.)

To improve the accuracy of theclock. Minor adjustm~nts can bemade to the step interval at line580 according to whether theclock is gaining or losing time.

10 REM ****11-*.11-"".11-***"..*..".""".*.20 REM" CLOCK - CHRIS KINGHAM

*30 REM iI 11-*** ..**** ...* 11-11-.1-"..-.40 PAPER 650 HIRES60 PAPER 6: IN.< 070 H=OII'1:Q:F=O80 PRINT CHR$<17J90 REM

.*****11-.**SET UP SCREEN ***-11-.*11-**......

100 CURSET 123,103,3110 CIRCLE 58,1120 CIRCLE 75,1130 CURSET 28,18,1:DRAW 183,0,1140 DRAW O,16~,1:0RAW -183,0,1150 DRAW O,-165,lIGOSUB 1100160 CURSET 176,68,3170 A$="234567S9"ISO FOR T=I TO LEN(A$)

190-CHAR ASC(HIO$(A$,T,l »,0,1200 CURSET 66*COS(F)+120,66*SIN(F)+100,3210 F=F+.52359:NEXT220 C.="012

"230 B$="lIl1"240 FOR B=I TO LEN (S.)

250 CHAR Ase (MID. (B$, 8,1) ),0,1260 CURMOV 5,0,3270 CHAR ASC(MIO$<C.,B,l) ),0, 1280 CURSET 66*COS(F)+117,6b*SIN(F)+101,3290 F=F+.52359:NEXT300 CLS310 PRINT SPC(7)"SET TIME (Hr",Hin) "I320 INPUT H, M330 IF M)60 OR M<O OR H)12 OR H<O THEN 340 ELSE 360340 CLS,PRINT SPC(13)"INVALlD riME"350 GoTo 300360 CLS,F--1.5S:GoSUS 1000370 CURSET 123,103,1380 DRAW 52*COS(F),52*SIN(F), 1390 CURSET 123,103,1400 DRAW 35*COS (X),

35*S I N (X), 1410 CURSET 123,103,1420 DRAW 56*COS(Y),~6*SIN(Y), 1430 REM *******..*.***.**.***.****.*.****...440 REM * PRESS ANY KEY TO START CLOCK

*4~0 REM **.*******.***...*..*..*..**.*.*****460 GET a470 F3-1. 584S0 REPEAT'490 CURSET 123,103,1500 DRAW 52*COS(F),:52*SIN(F), 1:510 FOR T-I TO 145:NEXT520 CURSET 123,103,1:530 DRAW 52-COS (F), 52*SIN

(F), 0540 CURSET 123,103,1550 DRAW 3S*COS (X), 35*SIN

(X), 1560 CURSET 123,103,1570 DRAW 56*COS(Y),50*SIN(Y), 1:560 F=F+. 104719755:590 UNrlL F)1.49*PI000 IF H) 12 THEN H=l010 CURSET 123,103,1620 DRAW 35*COS (X),

3S*SIN(X), 0

630 CURSET 123,103,1640 DRAW 50*COS(Y),56*SIN(Y),0650 M=M+l660 IF M=60 THEN M=O:H=H+l670 X=.10419155 *(H*5):X:=::X-1.55680 Y=.10419755 *M:Y=:Y-1.55690 X=X+(Y/12) +.09700 GoTO 4701000 X=.10419755 *(H*5):X='"X-l.551010 Y=.10419755 *M:Y=Y-l.551020 X=X+(Y/12) +.091030 RE TURN1100 CURSET 24,14,3:0RAW 191,0,1

,1110 DRAW O,173,1:DRAW -191,0,11120 DRAW 0,-173,11130 CURSET 24,14,3:0RAW 4,4,11140 CURSET 215,14,3:DRAW -4,4,111~0 CURSET ~15,186,3:0RAW -4,-4,11160 CURSET 24,186,3:DRAW 4,-4,11170 nE TlJI?N

No Clf r--ec twds:" 82

Page 51: IJK Software and the ORIC-l Micro - Defence Force

Oric Quickies

Sine-patterns

By Carsten Skjerk

Sine-patterns should run on the16K Oric without any changes.Line 30 sets the seed of therandom number generator bylooking at the interval timer, soit should be fairly random.

10 REM SINE-PATTERNS BY CARSTEN SKJERK20 INK7:PAPERO30 X=RND(-DEEK(630»40 DEFFNA(X)=INT(RND(1)*X)50 B=FNA(45)+160 HIRES70 P=FNA(S) :I=FNA(S)SO IFI=PTHEN7090 INK I :PAPEI:;:P

100 PO::.:.61S, 10

110 Y=FNA(10)+11120 FORX=-PITOPISTEP,2130 CURSETX*Y+120,SIN(X)*20+99,3140 CIRCLEe" 1150 NEXTX160 WAIT500170 GOT050

InterferenceBy J Reberg

10 HIRES20 FORI=0T0239STEP230 CURSET0,199,340 DRAWI,-199,250 NEXTI

FiguresBy J Reberg

10 HIRES20 A=l. 230 K=0.140 Xl=12050 X2=10060 INK070 PAPER7100 FORI=KT01000STEPK '110 X=SIN(I)*100+120120 Y=SIN(I*A)*90+100130 CURSETX,Y,l140 IFABS(X-Xl)+ABS(Y-Yl)<lTHEN160150 DRAWX1-X+0 5,Yl-Y+0 5,1160 Xl=X170 Yl=Y180 NEXTI

Page 52: IJK Software and the ORIC-l Micro - Defence Force

Orie's Sound Capabilities

By s. Haigh

The program above is an ex-ample of the Oric's sound capa-bilities which will play an easilyrecognised tune. All music canbe converted as below with onlya minimum knowledge of read-ing sheet music.

10 READ A,B,C: IF C= -1 THEN END20 MUSIC 1,A,B,0: PLAY 1,0,1,1110*C30 WAIT 14*C: GOTO 1050 DATA 3,10,2,4,1,4,4,3,2,4,5,3,4,7,1 ,4,5,2,4,3,4,3,12,2,3,8,4,3,10,160 DATA 3,12,1,4,1,4,3,10,2,3,10,3,3,9,1 ,3,10,2,3,12,4,3,9,2,3,5,4,3,10,270 DATA 4,1,4,4,3,2,4,5,3,4,7,1,4,5,2,4,3,4,3, 12,2,3,8,4,3,10,1 ,3, 12,180 DATA 4,1,3,3,12,1,3,10,2,3,9,2,3,7,2,3,9,2,3, 10,4,3,10,2,3, 10,6,0,0,-1

TorpedoAttackBylVIartyn J. HallThis program uses LO RESgraphics and has user definedcharacters. The program givesthe user the choice of seeing theinstructions, and then gives theuser the choice of two levels.The difference between the twois that on level one the speed ofthe torpedo is faster than thespeed of the torpedo on leveltwo. Once the actual game hasstarted the user has to destroy asmany ships in the time givenwhich can be increased on every300 points scored. There arethree different types of shipseach of different points. Whenthe time runs out your score isprinted up and if you have thehighest score so far then you willbe asked to enter your name.Then you will be asked if youwant another game or not, if youdo then the game starts againotherwise it will end.

10 PAPER6:INKO20 POKE'26A,lO]0 CLS]5 PLOT? ,10, .PLEASE WAIT A MINUTE,WHILE"40 PLOT12. 11, .YOU ARE BEING ARMED"45 GOSUB 420:CLs:paINT:PRINT46 PRINT:PRINT" DO YOU REQUIRE INSTRUCTIONS (Y/N)"47 REPEAT:GET A$:UNTIL A$"""Y.

OR A$="N":IF A$="Y" THEN GOSUB 1470

48 PRINT:PRINT49 PRINT"ENTER THE LEVEL PLEASE l(EASY) 2(HARO)"

50 REPEAT:GET LEVEL$:UNTIL LEVEL$"'''l" OR LEVEL$"'''2''55 IF LEVEL$="l" THEN LEVEL=l60 IF LEV"El.S'" 2" THEN LEVEL=265 CLS: f'ORC=l TO 470 ZAP:PLOTIO,lO,"ACTION STATIONS":WAIT5075 PLOTIO,lO," n:WAITJO:NEXTC:WAITIOO80 PLOT7,15,MTHE ENEMY ARE COMING":WAIT15085 GOSUB 120090 GOSUB 1320100 x=15110 PLOTX,Y,Q$120 REPEAT125 IF 0<1000 THEN POKE48060, 32130 O=O-l:IF 0<100 THEN POKE48059,32:IF 0<10 THEN POKE48058,321400$=STR$(0):PLOT15,0,O$150 SC$=STR$(SJ :PLOT28,0,SC$160 IF 01=1 AND A<:5 THEN PLOT A,B,R$:GOSUB 9000165

H'01:2 AND A>=30 THEN PLOT A,B,R$:GOSUB 9000

170 IF R=3 OR R=6 THEN 0'=2ELSE 0=1

180 PLOTA,B,R$190 IF 01=1 THEN A=A-Q195 IF 01=2 TI!EN A=A+Q200 PLOTA,B,D$(RJ :WAIT2210 K$=KEY$: IF K$""M" THEN K$aL$220

H'K$=CI!R$ (8) THEN PLOTX, Y, T$: X=X-2: L$=K$

230 IF K$sCHR$(9J THEN PLOTX,Y,T$:X=X+2:L$=K$240 IF K$=CHR$ (10) AND LEVEL=l THEN CO=:X: L$=K$250 IF X<=l THEN x=l260 IF X>=38 THEN x=38270 PLOTX, Y, 0$280 IF K$=CHR$( 11) THEN GOSUB 710290 UNTIL 0<=0300 WAITI00310 POKE48057, 32: POKE48056, 32320 CLS330 PRINT:PRINT340 PRINTM YOUR SCORE WAS";S350 IF S>W THEN PRINT" THE HIGHF.ST SO FARMELS.E PRINTM THE BESTWAS ";W;M BY ";M$360 II" S>W THEN W=5:INPUT"ENTER YOUR NAME PLEA5E";M$370 PRINT:PRINT375 IF LEVEL..l AND 5>20000 THEN PRINTMyOU OUGHT TO BE ON LEVEL r376 PRINT:PRINT380 PRINTMDO YOU WANT ANOTHER GAME (Y/N)"

1

Page 53: IJK Software and the ORIC-l Micro - Defence Force

Torpedo Attack Listing390 GET A$: IF

A$="Y" THEN 46400 IF A$="N" THEN 980 ELSE 380420 REM" CHARACTER DEFINITION ..430 T"460ao440 fOR N=O TO 7:READX:POKE(T+264+N) ,X:NEXTN450 DATA 'OC,'OC,flE,tlE,t3F,'3F,I3F,OF460 FOR N-O TO 7:READX:POKE(T+984+N) ,X:NEXTN470 DATA 'O,fO,U,'3F,UF,'F,'07,'03480 FOR N=O TO 7:READX:POKE(T+IOOO+NJ ,X:NEXTN490 DATA tlO,'20,'O,'O,f3F,'3F,'3F,f3F500 FOR N=O TO 7:READX:POKECT+728+N) ,X:NEXTN510 DATA fO,fO,fO,fO,fO,f3F.'3F,'3F520 FOR N=O TO 7:READX:POKE(T+512+N) ,X:NEXTN530 DATA ,o"a..o"o,UF.fOF,'07,'03540 FOR N=O TO 7:READX:POKE(T+976+N) ,X:NEXTN550 DATA ta"o"a,'O,f3F.'3F,'3F,'3F560 FOR N=Q TO 7:READX:POKE(T+944+N) ,X:NEXTN570 DATA '30,t30,'30,tJO,t3F,t3F,f3F,13F

580 FOR N=O TO 7:READX:POKE(T+920+N) ,X:NEXTN590 DATA 10,tO,IO,.0,'3F,'3F,'3F,'3E600 FOR

N"'OTO 7:READX:POKECT+848+N) ,X:NEXTN

610 DATA '0,10,'0,13F,UF,IOF,'07,103

620 FOR N=O TO 7:READX:POKE(T+792+N) ,X:NEXTN630 DATA ,0,IO,'0,'3F,43F,'3F,'3F,'3F640 FOR N=O TO 7:READX:POKE(T+968+N) ,X:NEXTN650 DATA '20,f38,f38,'3F,'3F,'3F,f3F,'3F660 FOR N-O TO 7:READX:POKECT+960+N) ,X:NEXTN670 DATA ,o,'0,'0,f3F,'3E,f3C,'38,t30680 FOR N..O

'l'07:READX:POKE(T+768+N) ,X:NEXTN

690 DATA t3f,'3F,'3F,'O,'0,tO,'0"o691 fOR N-O TO 7:READX:POKE(T+776+N) ,X:NEXTN692 DATA 0,0,0,0,63,63,63,31693 FOR

N"'OTO 7:REAOX:POKE(T+800+N) ,X:NEXTN

694 DATA 3,3,3,3,63,63,63,63695 FOR

N"'OTO 7:READX:POKECT+808+N) ,X:NEXTN

696 DATA 0,0,0,0,62,60,56,48697 FOR N=O TO 7:READX:POKE(T+952+N) ,X:NEXTN698 DATA 1,7,7,63,63,63,63,63699 FOR

N"'OTO 7:READX:POKE(T+912+N) ,X:NEXTN

700 DATA' 0,0,32,63,62,60,56,48

701 FORN"'O

TO 7:READX:POKE(T+936+N) ,X:NEXTN702 DATA 2,1,0,0,63,63,63,63

709 RETURN710 REM U SHOOTING ROUTINE U720 O$=STR$CO)725 IF LEVEL=1 THEN SP=2.75 ELSE SP~1.5730 FOR C=22 TO 5 STEP-SP740 PLOTA,B,R$750 IF 01=1 THEN

A"'A-.4"'0751 IF01""1

AND A<=5 THEN PLOTA,B,R$:GOSUB 9000755 IF DI=2 THEN A=A+.4"'Q756 IF 01-2 AND A>=30 THEN PLOTA,B,R$:GOSUB 9000757 IF

R""1OR R=2 OR R=3 THEN 01=1 ELSE DI""2760 IF R=3 OR R=6 THEN

0"'2ELSE Qcl

770 PLOTA,B,D$(R):WAIT2

780 PLOTX,C,"

"790 PLOTX,C+SP ,T$800 NEXTC820 GOSUB 3500825 IF S=Yl OR S=Y2 OR

S""Y3OR

S""Y4OR S=YS OR

S"'Y6THEN

0"0+300 :GOSUB 1440827 IF 0<1000 THEN POKE48060, 32830 0=0-9:IF 0<100 THEN POKE48059,32:IF 0<10 THEN POKE48058,32840 IF 0<=0 THEN PLDT1S, 0,

"0":POKE48057, 32: POKE48056, 32

850 PLOTX,C+SP ,T$860 PLOTX,C+SP+l, 96870 PLOT15,0,0$880 RETURN890 REM

*"' "'.."'.."'"'.."' "' *..............900 SC$=STR$(S)905 PLOT28,0,SC$910 IF R=l OR R=4 THEN S"'S+20920 IF R=2 OR R=5 THEN S=S+10930 IF RE3 OR R=6 THEN 5=5+50950 PLOT28 ,0, SC$ :PLOTX,C+SP+1, 96: x=x+1: PLOTX-l, Y, T$: PLOT15,

°

,0$960 GOSUB 9000970 RETURN980 REM U ENDING ROUTINE U990 CLS1000 PLOT8, 8,

".."'* '" '"*.."1010 PLOT8 9 ,,'".."

1020 PLOT8:10,"" .."1030 PLOTS,l1,"" .."1040 PLOTS,12,

"".."

1050 PLOT8, 13,

"*

"1060 FOR C..1 TO 101070 PLOT11 ,1°, "THIS PROGRAM

HAS"1080 PLOT15, 11, "NOW ENDED"1090 PLAY2, 0,2,200 :MUSIC2, 3,2,15 :WAIT50

1100 PLOT11,10,"

"1110 PLOT15, 11,"

H2O PLAYO,0,0,0:WAIT401140 NEXT C1170 WAIT1001180 CLS:INK6:PRINT CHR$<l9)1190 END1200 REM U INITIALIZATION U1210 B=5:Y=2S:L=124:S""0:0=4001215 R=INT(6*RNDCl»+11216 IF R=l OR R=2 OR R=3 THEN

A"'30ELSEA"'51217 IF R=l OR R=2 OR R=3 THEN

01"'1ELSE 01=2

1230 T$=""1240 R$="

1250 Yl=300 :Y2=310: Y3=320:Y4-330: Y5=340: Y6=3501260 CLS1270 0$ (1 )=CHR$ C64) +CHR$ (122) +CHR$ (118) +CHR$ (118) +CHR$ (115)1280 0$ (2 )=CHR$ C106 J +CHR$ (99) +CHR$ (121) +CHR$ (99) +cHR$( 120)1290 0$ (3 )=CHR$ (123) +CHR$ (125) +CHR$ (91)1291 0$ (4 )=CHR$ (97) +CHR$ (100) +CHR$ (100) +CHR$ (122) +CHRS (101)1292 0$ (5

)"'CHR$(106) +CHR$ (99) +CHR$ (119) tCHR$ (99) +CHR$ (120)

1293 0$ (6)"-'CHR$ f91) +CHR$ (117) +CHR$ C114)

1300 Q$=CHR$/33)1310 RETURN1320 REM

**START OF PROGRAM

**1330 FOR F=O TO 38:PLOTF,6,96:NEXTF1340 POKE49086, 94: POKE49113, 941350 POKE49085,0:POKE49112,01355 POKE48040,01360 PLOTO, 26,171370 PLOTA,B,D$(R)1390 POKE48041, 21400 PLOT4,0,"TIME LEFT:"1410 POKE48061, 11420 PLOT21,0,"SCORE"""1425 POKE48043,114 30 RETURN1450 Y1-Y1 + 30O:Y2-Y2+300: Y

3"'Y3+ 300: Y

4""Y4 +300: Y5=Y5+300: Y6=Y6+300

1460 RETURN14 70 REM U INSTUCTIONS

**1480 CLS1490 PRINT:PRINT1500 PRINT CHR$

(4)

1510 PRINT CHR$ (27 J;"0 "+CHR$

(27);"N

TORPEDO ATTACK"1520 PRINT CHR$(4)1530 PRINT:PRINT1540 PRINT" THIS PROGRAM IS DESIGNED

BY"1550 PRINT" MARTYN J .HALL"1570 PRINT1580 PRINT"TO OPERATE THIS GAME USE THE LEFT AND"1590 PRINT"RIGHT CURSORS TO MOVE LEFT AND RIGHT,"1600 PRINT"THE UP CURSOR TO FIRE,AND IF IT IS"1610 PRINT"ON LEVEL 1 THEN THE DOWN CURSOR"1620 PRINT"WILL STOP YOUR DEFENDER.NOTE THAT"1630 PRINT"THE ARROWS AT THE BOTTOM MARK THE"1640 PRINT"FIRING RANGE,WHERE YOU CAN HIT

THE"1650 PRINT"BOATS .EACH BOAT IS WORTH A CERTAIN"1660 PRINT"AMOUNT OF POINTS,AS LISTED BELOW"1670 PRINT1680 PRINT" AIRCRAFT CARRIER =10 POINTS"1690 PRINT" DESTROYER ",20POINTS"1700 PRINT" SPEED BOAT =50 POINTS"1710 PRINT1720 PRINT CHR$ (27);"Q "+CHR$ (27 J;

"L PRESS SPACE BAR TOCONTINUE"1730 GET A$:IF A$=CHR$132J THEN 17]5 ELSE 173017]5 CLS

1740 PRINT:PRINT1750 PRINT" YOUR JOB IS TO PREVENT"1760 PRINT" THE ENEMY (BOATS) FROM"1770 PRINT" REACHING YOUR BASE IN"1780 PRINT" THE TIME GIVEN.EVERY"1790 PRINT" 300 POINTS WILL GIVE"1800 PRINT" YOU AN EXTRA 300 ONTO"1810 PRINT" YOUR TIME.EVERY TIME"1820 PRINT" YOU PIRE 10 BITS OF'TIME"

1830 PRINT" ARE TAKEN OFF YOUR TIME"1840 PRINT" SO THE BEST WAY TO PLAY"1850 PRINT" IS TO SHOOT AS LITTLE

AS"1860 PRINT" POSSIBLE .ALSO EVERY TIME"1870 PRINT" YOU HIT A BOAT, YOUR DEFENDER'..1880 PRINT" IS MOVED TO THE RIGHT"1890 PRINT" BY ONE PLACE,AND ALSO"1900 PRINT" YOUR DEFENDER MOVES

IN"1910 PRINT" THE DIRECTION WHICH IT"1920 PRINT" WAS GOING IN BEFORE UNLESS"1930 PRINT" THE DIRECTION IS CHANGED"1940 PRINT" OR YOU FIRE,OR ON LEVEL

ONE"1950 PRINT" YOU STOP THE DEFENDER."1960 PRINT1970 PRINT CHR$(27);"0 "+CHR$(27);"L PRESS SPACE BAR TOCONTINUE"1980 GET A$:IF A$=CHR$(32) THEN 1990 ELSE 19801990 CLS2000 PRINT:PRINT2010 RETURN3500 IF x AND SCRN(A,5)-L THEN ~XPLOUE:WAITIO:PLOTA,B,R$:GOSUB890 :RETURN3510 IF X AND SCRN(A+1,5)=L THEN EXPLODE:WAIT10:PLOTA,B,R$:GOSUB

890:RETURN3520 IF X AND SCRN(A+2,5)~L THEN EXPLODE:WAITI0:PLOTA,B,R$:GOSUB890: RETURN3530 IF R=3 OR R=6 T':EN RETURN3540 IF X AND SCRN(A+3,5)=L THEN EXPLODE:WAIT10:PLOTA,B,R$:GOSUB890 : RETURN3550 IF X AND SCRN(A+4,5)=L THEN EXPLODE:WAITIO;PLOTA,B,R$:GOSUB890:RETURN

3S'0

RETURN9000 REM

**STARTING POINTS *.

9010 R~INT( 6*RND( 1)+19020 IF R~1 OR R~2 OR R=3 THEN 01=1 ELSE 01=29030 IF DI~1 THEN A=30 ELSE A=59040 IF 01=1 THEN A=A-O9050 IF 01=2 THEN A=A+O9060 RETURN

Page 54: IJK Software and the ORIC-l Micro - Defence Force

Why you shouldsubscribe to

ORIC OWNERYourOric 1 is one of the most powerful low-cost computers on the markettoday. OricOwner is the only magazine totally dedicated to the Oric and its supporting hardwareand software.

From issue to issue Oric Owner is able to bring you in-depth information on the Oric,advance news on the latest add-ons, superb programs to try and 'behind the scenes'interviews with the engineers who designed it.

Ifyou wish to keep ahead of the latest developments and news on the Oric then OricOwner is essential. At only £10 for a year's subscription of 6 issues (£15 foroverseasreaders) can you afford to be without Oric Owner?

SUBSCRIBE TODA V!

3U:~3epipt;i~n '~pmPlease send methe next 6 issues of ORIC OWNERStarting from issue ........................

PLEASE NOTE: All cheques must be made payable to: Tansoft Ltd, Unit 1 & 2, TechnoPark, Newmarket Road, Cambridge

Page 55: IJK Software and the ORIC-l Micro - Defence Force

ORIC-MONIncludes mnemonicassembler/disassembler,block move and verify,data and text entry andcassette and printerhandling. Includesmanual. £15.0 inc. VAT-16K or 48K

ORICMUNCHMunch the

Bugmonsters andeat the power pills,

clear the maze toreach the high

score. £7.95 inc.VAT -16K or 48K.

ORICBASEA completedatabase system.A sophisticatedquery languageallows you tosearch and sortyour data, keeprunning totals andprint reports. Fullmanual. £14.50in" \/11T

- AAit'

HouseofDeathAn impressive follow-up toZodiac, discover the secretsof the haunted house, avoidthe witch and the axemurderer and come awaywith incredible treasures.£9.99 inc. VAT - 48K.ZODIACOne of our most successfulgames. Discover the twelvecunningly disguised signs ofthe zodiac which will leadyou to six treasures. Full ofpuzzles, puns and misleadingclues. £9.99 inc. VAT - 48K.

TANSOFTLANGUAGE

~MASTERCLASSIf you are going abroad forpleasure or business thesecourses will give you a basicunderstanding of thelanguage. Based on the newGruneberg Link-Wordmethod.

Spanish ~ -

IItalian L-GermanFrench -supplied with programcassette and spokenvocabulary pronunciationcassette. £12.95 each inc.VAT - 48K.

FORTHA full implementation ofthis exciting new computerlanguage. Includes editorand assembler pluslanguage extensions.

l £15.00 inc. VAT - 48K.

Page 56: IJK Software and the ORIC-l Micro - Defence Force

I""

~ I I I

LIGHT CYCLE CENTIPEDE INVADERS

REAL SOFTWAREFOR ~OUR !~~~!!~~~ULTIMATE ~~~C~~E~ODEVERSION

VERSION OF "SPACE OF "FROGGER" FOR YOUR,INVADERS" AVAILABLE TODAY. ORIC 1.FEATURES:- ALL MACHINE FEATURES:- VARIABLE SPEEDCODE, SMOOTH ACTION LASER TRAFFIC,3 LANE HIGHWAY,

0 R CBASE "LIVE" ALIENS SNAKES, TURTLES, DIVING

CENTIPEDE CRUMBLING WALLS, EXPLO. TURTLES, FLEAS, LOGS,

AN ALL MACHINE CODE SIVE SOUND EFFECTS, FULL DECREASING TIME LIMIT,VERSION OF THE ARCADE GAME. COLOUR, HI RES. GRAPHICS, EVER INCREASING GAMEI 1 FEATURES:- MUSHRODMS, INCREASING GAME SPEED, SPEED, HI SCORE TABLE, FULLSPIDERS, FLEAS, MUSHROOM BONUS POINTS, MOTHER CD LOUR, AMAZING GRAPHICS,LAYING BEETLES, SDUND SHIPS AND MORE SUPERB SOUND. YOU HAVEN'T

COLOUR, HI RES. GRAPHICS 6 95PLAYED "FROGGER" UNTIL

A'.A ILABLE NOW HIGH SCORE TABLE, GAME RESET

"

YOU'VE PLAYED "HDPPER".

MWM THIS PROGRAM HAS BEEN ORIC -MON 6.95

DIRECT FROM APPROVED BY ORICPRDDUCTS INTERNATIONAL ORIC-MON IS A PDWERFUL A\lA ILABLE 500 "MACHINECDDEMDNITOR MWM ~

n S S 6.95 PLUS A FULL DISASSEMBLER THE ULTRAr. . . FOR YOUR ORIC 1. AN

AVAILABLE SOON ESSENTIAL SOFTWARE TOOL THIS IS THE GAME FOR All

FOR WRITING DEBUGGING YOU ARCADE WIZARDS DUT

LIGHT CYCLE AND RUNNING YOUR MACHINE THERE.. ZAPPING ALIENS

YOU HAVE BEEN CHOSEN BY CODE PROGRAMS OR MACHINE WAS EASY UNTIL ''THE ULTRA".

THE M C P TO RACE ON THE CODE SUBROUTINES TO BE THIS GAME IS TOTALl Y

INFAMOUS GRID CAN YOU CAllED FROM BASIC. CON. WRITTEN IN MACHINE CODE

SURVIVE' 100% MACHINETAINS All THE FEATURES TD MAKE IT THE FASTEST,

CODE 1 OR 2 P~AYERS RACE OF MONITORS FOUND ON TRICKIEST ARCADE GAME

THE CDMPUTER OR ANOTHER MUCH LARGER MACHINES. OF THEM All.

PLAYER... SO FAST YOU A SUPERB PROGRAMMING AID 16 DIFFERENT SCREENS COLOUF

WDN'T BELIEVE IT!!FOR YOUR ORIC 1. SOUND AND HI RES. GRAPHICS

6.95 8.95 6.95

""

PERSONALSOFTWARE SERVICESFOR INSTANTCREDIT CARDSALES TEL (0203)667556

CHEQUE OR P.O. TO P.S.S.452 STONEY STANTON RD.COVENTRY CV6 5DG.TRADE ENQUIRIES CONTACT JOHN FLETCHER, ORIC-MON HOPPER