15.01.2013 Views

Xz77gt

Xz77gt

Xz77gt

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

YOI B<br />

DELVE IN<br />

YOUR COMMO<br />

AMIGA —<br />

The detailed story<br />

10<br />

de<br />

11<br />

r<br />

P<br />

J<br />

1<br />

* )<br />

US Gold<br />

Kong la Masters)<br />

must be won<br />

CIA<br />

O<br />

REM<br />

ZINE<br />

O<br />

of to<br />

cbt<br />

JUNE 1986<br />

a<br />

ge<br />

s<br />

t


IEVENTS<br />

16/PLII<br />

141"g"<br />

'Compete in the six<br />

thrilling events -<br />

Biathlon, Bobsled, Ski-<br />

Jump, Slalom, Down<br />

Hill and Speed Skating.<br />

The events start with open-<br />

ing ceremony accompanied<br />

by thrilling music. One to four<br />

players can select the country<br />

they wish to represent. The events<br />

with some of the most stunning graphics<br />

seen on C16/PLUS 4 provide a perfect back<br />

drop as the chase for medals progresses.<br />

TURBO LOAD ensures that you don't get a<br />

chance to cool down between the events.<br />

A QUALITY GAME<br />

FOR C16 AND PLUS 4 OWNERS E 7 . 9 5<br />

Trade Enquiries:<br />

C16-PLUS 4 CENTRE, ANCO SOFTWARE,<br />

85, TILE KILN LANE, BEXLEY, KENT, U.K.<br />

Telephone: 0322 92513/8<br />

Mail Order: Payment by Cheque, P.O., VISA or ACCESS<br />

24 Hour Credit Card Service: 0322 522631


JUNE 1986<br />

VOLUME 2<br />

NUMBER 9<br />

Editor:<br />

Stuart Cooke<br />

Assistant Editor:<br />

Marie Curry<br />

Advertisement Manager<br />

John McGarry<br />

Advertisement Copy<br />

Control:<br />

Laura Champion<br />

Group Editor:<br />

Dave Bradshaw<br />

Group Managing<br />

Editor:<br />

Wendy Palmer<br />

Managing Director:<br />

Peter Welham<br />

Origination:<br />

Ebony Typesetting<br />

Design:<br />

Argus Design<br />

Editorial & Advertisement Office<br />

No 1 Golden Square,<br />

London W1R 3A8<br />

Telephone<br />

.<br />

Telex: 8811896<br />

0Your 1 -Commodore 4 incorporating<br />

3Your 7 64 is a monthly magazine<br />

0appearing 6 on the first Friday of<br />

each month.<br />

2 6<br />

Distribution by: Argus Press<br />

Sales & Distribution Ltd. 12-18<br />

Paul Street, London EC2A 4JS.<br />

Printed by: Alabaster Passmore<br />

& Sons Ltd, Tovil, Maidstone,<br />

Kent.<br />

Subscription rates upon<br />

application to Your<br />

Commodore Subscriptions<br />

Department, Infonet Ltd, Times<br />

House, 179 The Marlowes,<br />

Hemel Hempstead, Herts. HP1<br />

1813.<br />

The contents of this publication<br />

including all articles, designs,<br />

plans, drawings and programs<br />

and all copyright and other<br />

intellectual property rights<br />

therein belong to Argut<br />

Specialist Publications Limited.<br />

All rights conferred by the Law<br />

of Copyright and other<br />

intellectual property rights and<br />

by virtue of international<br />

copyright conventions are<br />

specifically reserved to Argus<br />

Specialist Publications Limited<br />

and any reproduction requires<br />

the prior written consent of the<br />

Company. 1986 Argus<br />

Specialist Publications Limited<br />

• Chip Chat 1 0<br />

Eric Doyle begins a new series on chips,<br />

• Amiga - the Detailed Story 1 4<br />

We show you what the Amiga can do.<br />

• 3 into 1 3 1<br />

Utility special — Stuart Cooke reveals all.<br />

• Reader's Survery 4 5<br />

How you can help us to help you.<br />

• Data, Time and Memory 5 8<br />

Hints on memory to save you minutes.<br />

• Stateside News 7 0<br />

The US computer scene.<br />

• Business on a Budget 8 0<br />

Low price utilities from Argus Press Software,<br />

• In Print 8 2<br />

Hardware review - the Ibico<br />

ikAlt SERIES 111<br />

• Top Draw 5 2<br />

Graphics tricks from Allen Webb.<br />

• Welcome to the Machine 5 4<br />

Another part in our machine code training program.<br />

• Froggy 6 2<br />

Add more touches to our arcade game<br />

• Language Lab-C 6 4<br />

Part one of an in-depth look at C.<br />

• Programming the C-16 7 1<br />

Yet deeper into the complexities of the C-16,<br />

• Programming the 1541 7 5<br />

Inside your disk drive.<br />

• Club 128<br />

A special offer for Your Commodore readers.<br />

REGULAROM<br />

it<br />

,<br />

• Data Statements 4<br />

• US Gold Competition 8<br />

• Sense of Adventure 2 6<br />

• Action Replay 3 4<br />

• Software for Sale 4 0<br />

• Sprite Ideas 4 1<br />

• Listings 4 4<br />

• Game of the Month 5 0<br />

• Teacher's Pet 5 6<br />

• Scratch Pad 6 0<br />

• Communications Corner 6 8<br />

• Program Submissions 7 8<br />

MPETITION<br />

• Database 64<br />

Type in our C64 Database.<br />

1 6<br />

• Professional Packaging<br />

Smarten up your tape collection.<br />

• Better Matrix 6 6<br />

Power for your MPS<br />

• Budget 64 8 3<br />

Get your finances under control.<br />

88<br />

29


Soft in the Head<br />

SHOPPING FOR SOFTWARE? LOOK NO<br />

further than these pages. This month it<br />

seems as if there's never been a wider<br />

choice of program available and you have<br />

to congratulate the software houses in the<br />

ingenuity of their staff.<br />

Ariolasoft info<br />

Ariolasoft is making headlines and movies<br />

this month. Did you ever think that you<br />

could play at being Steven Spielberg<br />

with the aid of your C64? Movie Maker<br />

allows you to do just that. You can create<br />

your own animated pictures with the aid<br />

of this program. You probably won't<br />

make as much money as the great<br />

directors but you should have some fun.<br />

Claims for the program include:<br />

mixing text and graphics, creating tracks<br />

of up to 30 frame each, and combining six<br />

of these in a single animated sequence.<br />

There are also hundreds of built in<br />

pictures, ready for use plus the power to<br />

create your own. There are numerous<br />

animated greetings cards and a music and<br />

sound library. You can videotape your<br />

efforts and bore your friends with them -<br />

if you feel that way inclined.<br />

It's on twin disks and costs E16.95.<br />

Two other newies from this Covent<br />

Garden based house- they've just moved<br />

- are Starship Andromeda and<br />

Panzadrome.<br />

The latter is a futuristic war game set<br />

on a robot inhabited island. The Robots<br />

are tanks and hostile, of course, and you<br />

must build a better one in order to defeat<br />

them. Look out for mines and mortars.<br />

Panzadrome costs f8.95 and is a<br />

product of the programming and design<br />

skills of the Ramjam Corporation.<br />

Starship Andromeda sees you battling<br />

the evil tyrant Alana, who wears a crystal<br />

around her neck which just happens to be<br />

the security key to the great computer<br />

which controls the galaxy. A tough<br />

situation - especially since the only thing<br />

that will free the crystal is a Proton lance.<br />

Get the lance and get the crystal. Easy,<br />

huh?<br />

The program includes 12 arcade/<br />

strategy games and 10.000 locations. It's<br />

also E9.95.<br />

Not content with these launches,<br />

Ariolasoft is entering the Amiga software<br />

market with a collection of Electronic<br />

Arts' utilities.<br />

Deluxepaint is an incredible graphics<br />

program which allows the beginner to<br />

explore the Amiga's capabilities whilst<br />

giving the more experienced user an<br />

excellent tool. Features include tools to<br />

create lines, curves, shapes and textures.<br />

There's also split screen zoom enlarging<br />

and colour cycling to create animation.<br />

DeluxePrint is a sister program with 15<br />

formats for easy customisation of print<br />

outs - in colour or black and white. The<br />

formats include greetings cards, business<br />

cards, stationary, calendars, letterheads,<br />

• • sters and many more.<br />

A6 Amiga range from Ariolasoft<br />

Ariolasoll, Electronic Arts and the Amiga


DeluxeVideo brings another<br />

dimension to computing. Make video<br />

slide shows, animation, business presentations.<br />

Find out about wipes, fades, and<br />

dissolves. Also compression of images,<br />

control of the foreground and background<br />

and much more.<br />

Ariolasoft's Ashley Gray said: "The<br />

Deluxe series of Amiga programs are the<br />

most powerful, integrated, creative tools<br />

ever released for a personal computer."<br />

Maybe you should try them when<br />

you've saved up for your Amiga?<br />

Activision — Out of Time?<br />

WANTED - DEAD OR ALIVE! SAM<br />

Harlow, that's you, a marked man. Your<br />

past has caught up with you, punk.<br />

They're out to get your - but you don't<br />

know who they are. Check your files, Sam,<br />

you need to prevent your own murder,<br />

and it's one of those bums who you've put<br />

away behind bars during your auspicious<br />

career.<br />

Interested? Activision's latest<br />

adventure - Borrowed Time - puts you in<br />

the position of both hunter and prey.<br />

There are 20 serious suspects who are out<br />

of your blood. Track the murderer down<br />

before it's too late.<br />

Perils including getting shot at,<br />

burned, anaesthetised, beaten up, strung<br />

up, sentenced to life imprisonment,<br />

bopped on the head, ripped to pieces by<br />

mad dogs etc.<br />

If you've got £14.99 and want to die<br />

horribly then you know how to spend it.<br />

And the Rest<br />

IF YOU'RE AN AVID WATCHER OF NOEL<br />

Edmond's ridiculous Late Late Breakfast<br />

Show, then you'll know the background<br />

to Mr Puniverse. Now Mastertronic has<br />

jumped on the bandwagon yet again to<br />

bring you Big Mac - 2 which features the<br />

character immortalised in this hilarious TV<br />

spoof. It's on the C-16 and is in the £1.99<br />

range of course.<br />

Halley's Comet fever has now hit the<br />

software industry with a release from<br />

Firebird to mark the approach of the<br />

space probe Giotto to the heart of the<br />

comet.<br />

It's one of those games in which, once<br />

again, you play the part of an intrepid<br />

spaceman coming to the aird of the entire<br />

human race. This time the danger involves<br />

germ bags from the comet which are<br />

threatening the health of the world.<br />

The game has three phases starting<br />

with the launch, followed by controlling<br />

the ship's computer in its flight to the<br />

comet (the spaceman is in suspended<br />

animation at this point), and finally the<br />

destruction of the germbags so that they<br />

won't reproduce and infect the globe.<br />

f 7.95 on the CM, and available now.<br />

Rino Software is taking the bull by the<br />

horns in its decision to call a spade a spade<br />

- or more accurately a shoot 'em up a<br />

shoot 'em up.<br />

Gone are the days when zappy games<br />

had zappy names. Rino's new release is<br />

for the CM, priced at £2.99 and is<br />

unabashedly entitled Shoot 'Em Up.<br />

Generally Speaking<br />

IN THIS HIGHLY TECHNOLOGICAL BUSiness,<br />

the Japanese are still the people<br />

who are often first with the newest ideas.<br />

Now Cumana has brought another<br />

Japanese invention to this country in the<br />

form of the Astron IC card.<br />

Physically, the card resembles a credit<br />

card but contains integrated circuitry<br />

which enables it to be used as a solid state<br />

memory device. It has a 38 pin connector<br />

which plugs into a cheap (about E2) socket<br />

and does not need a magnetic or laser<br />

reader.<br />

There are four different types of card:<br />

ROM, Masked ROM, EPROM and RAM.<br />

The Astron integrated Circuit Card<br />

5<br />

AMMO MIN<br />

• sioet tam gams<br />

• see the t o t e h r l a l<br />

News<br />

Cumana claims that they are totally<br />

reliable and durable and are unaffected<br />

by electromagnetic/electrostatic conditions,<br />

extreme temperatures, humidity<br />

and minor scratches. It is also an added<br />

protection against software piracy.<br />

Adaptors for the cards will be available<br />

for the CM and C128.<br />

Cumana has proposed a host of<br />

applications for the new card: Memory<br />

for telecommunication devices; identification<br />

for security keys, bank accounts,<br />

computer input and cashless shopping;<br />

speech for vending machines, language<br />

labs, measuring and sensing warning<br />

devices; instructions for robots and other<br />

automated equipment; personal identity;<br />

applications and ROM software; portable<br />

memory for hand held micros,<br />

programmable printers, process control,<br />

alarm systems. And this is only the tip of<br />

the iceberg. Look out for them.


Mike Mahoney and Tony Crowther<br />

After an absence of two years, Games<br />

programmer Tony Crowther has returned<br />

to Alligata software and as you can see<br />

from the picture he seems to be having<br />

quite a good time there already.<br />

Because of this new arrangement<br />

Alligata is promising some exciting<br />

releases in the near future.<br />

If you've bought an A'n'F game<br />

recently or in the past then a new service<br />

is being offered to you by the company to<br />

help you out with any problems which<br />

you may have run into.<br />

A new mail order and queries line has<br />

been established which will provide a 24<br />

hour service. The number is Rochdale (0706)<br />

341111. There's also been an announcement<br />

from A'n'F that a new arcade<br />

adventure is in the pipeline at the<br />

moment. We'll bring you more news on<br />

that as soon as we have it.<br />

A company called Mupados has come<br />

up with an original idea. It has launched a<br />

software/audio cassette. It combines<br />

theme tunes in 'full, fantastic stereo'<br />

dance mix from some popular games -<br />

namely Rambo, Neverending Story,<br />

Ghostbusters, Crazy Comets and Hypersports<br />

- with a database called Softwhere?<br />

which should help you organise a<br />

reference system for your programs,<br />

games, or record collection.<br />

The idea behind it is apparently to<br />

combine the purely functional with pure<br />

entertainment. Whether the punters will<br />

think this worthwhile is another question<br />

but at 14.99 from W H Smiths it may be<br />

worth a shot.<br />

On Line<br />

MICRONET USERS HAVE RALLIED<br />

round and forked out to make the lives of<br />

some disabled young people a lot easier.<br />

A user called Jon Bye, who became<br />

non-vocal as the result of an accident<br />

several years ago, let Micronet know, via<br />

mailbox, that communications services<br />

had made an incredible difference to his<br />

life.<br />

His comments created a lot of interest<br />

amongst other users. John lives at Hatchford<br />

Park School in Guildford and an<br />

appeal put up on Micronet to raise f 300<br />

for 10 other non-vocal residents was<br />

greeted with a fantastic response.<br />

Not only did members donate over<br />

1350 in 24 hours, but also Keith Rose of<br />

Modem House offered all the required<br />

modems free.<br />

Rick Wakeman tackles Commodore's Music System<br />

*Ales' •?'"<br />

Hard Lines<br />

COMMODORE 128 OWNERS WHO<br />

have had trouble finding a suitable<br />

monitor for their computer (other than<br />

Commodore's own product) could find<br />

that Cascade has come to their aid.<br />

The RGBI output of the 128 is incompatible<br />

with the majority of monitors on the<br />

market. Commodore's 1901 monitor is<br />

expensive and peoplewho already own a<br />

Microvitec probably feel that this is a high<br />

price to pay.<br />

Cascade has come up with an interface<br />

which provides a full RGB 80 column<br />

display via the RGB TTI input. Microvitec<br />

1431 dual mode monitor can now provide<br />

full 40 column composite video and 80<br />

column RGB with simple switching<br />

between modes, thus allowing full use of<br />

the 128's three operating modes.<br />

At 119.95 it could be a worthwhile<br />

investment.<br />

Musical computer owners will be<br />

tempted by Commodore's new Complete<br />

Music System. It costs 1330 including a<br />

C64 and the Music Expansion system<br />

priced at 1149.99 for those who already<br />

own a C64 or C128, contains everything<br />

needed to produce music which is<br />

normally only possible on expensive synthesisers.<br />

Or so Commodore claims.<br />

Launched at the Ideal Home Exhibition<br />

the products should be in your local<br />

shop now.<br />

COMAIOD<br />

'<br />

1<br />

••••


1<br />

1<br />

1<br />

,<br />

v<br />

L<br />

i<br />

-<br />

t<br />

^,111E-WAY 11G<br />

-<br />

E0<br />

•00*?),<br />

Screenshots from Spectrum 48K<br />

av<br />

lux<br />

----<br />

_<br />

t-<br />

gibe<br />

-<br />

-<br />

-<br />

IbAt l o o l j r . . 1 4<br />

Enter the world of Avenger, a Ninja warrior<br />

Of unparalleled skills and deadly powers, as<br />

he battles the forces of evil in defence Of his<br />

faith and protection of the weak.<br />

Be calm and stay silent as the outstanding<br />

animation and unrivalled combat routines<br />

take you to levels Of aCtlOn yOu'd never have<br />

thought possible.<br />

Experience the stunning effects of triple<br />

scrolling action as you master the techniques<br />

of Hand to Hand combat, Pole Fighting and<br />

the skills of the Samuri Sword_<br />

And when you believe you've succeeded In<br />

overcoming all the odds, the next in this<br />

thrilling seties of adventures will beckon you<br />

forward to a further challenge of death.<br />

Spectru imstrad CBM c 28<br />

tremIlh Craphics Software Limited, Alpha House, 10 Carver Street, Shetabbilan. Tel: 0742-753423<br />

ft<br />

Alit<br />

A


- 11111111=111111111<br />

r<br />

- 411•1111111=111<br />

[be yours irc47.1 enter otial<br />

SINCE KUNG FU IS AN EVER POPULAR<br />

topic for computer games, we've decided<br />

to give you the chance to win your own<br />

copy of US Gold's excellent Kung Fu<br />

master.<br />

We've got 50 copies for the readers<br />

who pick out the differences between the<br />

two cartoons and get their names picked<br />

out of the bag first.<br />

What are you wailing for?<br />

How to Enter<br />

Study the two cartoons. There are several<br />

differences between them. Mark the<br />

differences clearly on the picture<br />

attached to the entry coupon. Fill in the<br />

coupon and send it off to US Gold<br />

Competition, Your Commodore. 1<br />

Golden Square, London W1 R 3AB. Write<br />

the number of differences you found on<br />

the back of your envelope.<br />

The Rules<br />

Entries will not be accepted from<br />

employees of Argus Specialist<br />

Publications or US Gold. This restriction<br />

applies to employee's families and agents<br />

of the company.<br />

The How to Enter section forms part of<br />

the rules. The editor's decision is final and<br />

no correspondence will be entered into.<br />

Entry Coupon<br />

Name<br />

Address<br />

p o s t code<br />

Number of differences found<br />

Send your entry to: US Gold Competition, Your Commodore, 1 Golden<br />

Square, London W1R 3AB. Closing date: Friday 27 June1986. Write clearly and<br />

don't forget to put the number of differences on the back of your envelope.


300,000 pages of information on the huge<br />

P R E S T E L Prestel database<br />

PRESTEL is a trademark of British Telecommunkations<br />

die?/0<br />

0,4401tAA<br />

-<br />

r<br />

fi"0<br />

Micmnet 800<br />

800<br />

8 Herbal Hill, London EC1R 5E1<br />

Telephone: 01-278 3143<br />

FREE Electronic Mail International<br />

Telex 1 0 National Chatlines (Interactive<br />

Bulletin Boards) 70,000 users across the<br />

UK Teleshopping Multi-User<br />

Interactive Strategy Games<br />

Instant computer news Hardware and<br />

software reviews Technical features<br />

Hints and tips On-line business advice<br />

and features<br />

FREE and discounted quality software to<br />

download direct to your micro-24 hours a<br />

day<br />

for just 20p a day<br />

To: Micronet 800, 8 Herbal Hill, London EC1<br />

Please send me a brochure on Micronet 800<br />

Name<br />

Address<br />

T e l e p h o n e No<br />

Age M i c r o<br />

v-com 618 6 1


In the first of a new<br />

series, Eric Doyle<br />

introduces you to the<br />

secret of your<br />

Commodore's<br />

memory.<br />

WE ALL TAKE THE CHIPS INside<br />

our computers for granted<br />

but a greater understanding of<br />

them can lead to better<br />

programs. Over the next few<br />

months I hope to clarify the Another difference is that<br />

function of each chip and to ROM is a permanent, nonreveal<br />

the inner workings and volatile store which cannot be<br />

hidden secrets of the Comma- erased by turning the power on<br />

dare range of computers: the and off but RAM is volatile and<br />

Vic 20, C64, C-16, Plus/4 and its contents disappear when<br />

C126. t h e computer is switched off.<br />

The heart of any computer ROM is where the Basic<br />

is the central processor and the operating system is stored and<br />

most common application of at power up it reserves certain<br />

the computer is to run Basic parts of RAM for storing the<br />

programs so this is where our transient values generated as its<br />

Odyssey will begin, r o u t i n e s are executed.<br />

The microprocessor in<br />

Commodore micros is a one of<br />

several derivatives of the<br />

Motorola 6500 series microchip.<br />

This processor is the<br />

number cruncher inside which<br />

are the registers that assist in all<br />

of the computer's mathematical<br />

operations. Diagram 1<br />

shows the basic architecture of<br />

all 6500 range microprocessors.<br />

As far as the processor is<br />

concerned the whole of the<br />

computer memory is an extension<br />

of itself from which<br />

numerical values can be loaded<br />

(read) or sent (written).<br />

A good way of imagining<br />

memory is as a large, pigeon<br />

hole internal mailing system.<br />

Each box represents a byte of<br />

memory and can contain a<br />

value from zero to 255. Don't<br />

worry if you don't know how<br />

computers deal with numbers<br />

larger than 255, all will become<br />

clear later.<br />

Memory comes in two<br />

varieties Read Only Memory<br />

(ROM) and Random Access<br />

Memory (RAM). As the name<br />

implies ROM can only be read<br />

from but RAM can either be<br />

read from or written to if it is<br />

necessary to change its value.<br />

For example variables defined<br />

by a Basic program must be<br />

stored in RAM for two reasons.<br />

Firstly, because it must have a<br />

value written to it to start with<br />

and, secondly, because that<br />

value may change later on in<br />

the program.<br />

Processing<br />

Load and run Listing 1 to see<br />

how the processor operates.<br />

The program counter tells<br />

the processor where the<br />

current instruction is located in<br />

RAM/ROM memory. When<br />

commanded to execute a piece<br />

of machine code, the current<br />

value of the program counter is<br />

stored in a special reserved<br />

PRO6RAM: LISTING 1<br />

0<br />

180 L=0-0/16;60SUB200<br />

10 0013:60SU8360<br />

190 RETURN<br />

20 LLsPEEX(S+1)4PEEK(S+2)125 200 IF 09 THEN VS=CHRS(550.<br />

6<br />

)+VS;6010220<br />

30 LC20<br />

210 VS.RIGHTS(STRICL1pLEN(ST<br />

40 LN2PEEK(S+3)+PEEK(S+4)125 RS(L))-1)0$<br />

61PRINT"(CLR)(WHT)LIMEN;LN:" 220 RETURN<br />

(VW'<br />

230 LL=PEEK(S+LC+1)+PEEK(S+L<br />

50 LO.LNIGOSUB280:1FLCO0T Cf2)$256<br />

HEN50<br />

240 FLINO:IFLL.OTHEN LC=0:PRI<br />

60 A:S400<br />

NTNICYN)00 1<br />

70 PRINT<br />

1:0010 250 PRINT:00110:001PEEK(S+LCi.<br />

6EASE<br />

WAIT'<br />

270 3)+PEEK(S+LC+4)$256:IFLN=40T<br />

(YEL) 80 PIA+1:1FPEEK(A)21ANDPEEK( HENLC80:60T0270<br />

(DOWN A4.1)1.143THEN100<br />

260 PRINTI(DOWN)(WHT)LINPO.<br />

1(DOW 90 SOT080<br />

N)PL 100 PRINT"(UP) PRESS °<br />

N;a(CYN)°<br />

270 RETURN<br />

280 WEEK(PLC):GOSUB170<br />

110 6ET AS:IF A$O" THEN11 290 IF 00.2 AND FL.0 THEN PR<br />

0<br />

INTs(YEL)';<br />

120 SA-4<br />

300 IF CO.4 AND FL.0 THEN PR<br />

130 LL.PEEK(S4.1).0PEEK(S4.2)12 INTICLDLUPpFL.1<br />

56<br />

310 IF CO.CN THEN PRINT:C0=0<br />

140 LN=PEEK(64.3)+PEEK(S+4)12 320 IF FL.1 AND D>127 AND D<<br />

56:PRINT*(CLR)(WHT)LINE";LN; 203 THEN PRINP(GRN)<br />

':00.0:FL:0<br />

1LU)';:60T0340<br />

150 LO:LC+1:60SUB280:IFL000 VSe 330 PRINT (LB Vs";<br />

THEN150<br />

340 CORC04.1:IF S.H.C2LL-1 THE<br />

160 PRINT<br />

N 60SUB230<br />

:END 1<br />

350 RETURN<br />

170 00(LBL YS.":L=D AND 15:60SUD20 360 PRINT<br />

U)':LI6T<br />

1<br />

440—<br />

(OLR)<br />

•IO (DOWN)<br />

(DOWN)<br />

(<br />

area of RAM memory (the<br />

processor stack area) and the<br />

internal stack pointer is adjusted<br />

to point to the next free<br />

location in the stack. The start<br />

address of the new machine<br />

code routine is then placed<br />

into the counter. This value is<br />

then loaded into the address<br />

buffer which directs the data<br />

bus to the correct location.<br />

The data bus copies the<br />

information found in the given<br />

location and carries this back to<br />

the processor which is expecting<br />

a machine code operator.<br />

When this is evaluated in the<br />

instruction decoder it determines<br />

whether an operand or<br />

two will follow. Depending on<br />

the type of operator, any<br />

operands are evaluated and<br />

stored in the X or Y register or<br />

in the accumulator,<br />

If the operator is a finite<br />

address the address buffer is<br />

given this value and the data<br />

bus reacts accordingly. If the<br />

value is an offset address, the<br />

finite address has the value of<br />

the X or Y register added to it<br />

and this value is passed to the<br />

address buffer.<br />

All mathematical work is<br />

performed in the ALL,' which<br />

can access all of the registers<br />

which merely act as passive<br />

stores for transient values.<br />

The instruction decoder<br />

determines whether the data<br />

bus is reading or writing its<br />

encoded information and<br />

which internal register<br />

provides or accepts the<br />

information.<br />

When an RTS command is<br />

detected the last value to be<br />

stored on the stack is read into<br />

the program counter and the<br />

processor continues from<br />

where it was before it was<br />

asked to execute the routine.<br />

I have said that the processor<br />

only responds to machine<br />

code routines so how does it<br />

respond to Basic?


Down to Basics<br />

When the computer is<br />

switched on the program<br />

counter automatically loads<br />

the value it fi nds at VFW,<br />

which causes the processor to<br />

run the ROM machine code<br />

routine for power reset. This<br />

organises the memory ready<br />

for Basic and ends by printing<br />

READY on the screen_ The<br />

routine then loops around<br />

until kravho3rd input is<br />

After typing in or loading a<br />

program, the command RUN<br />

brings the Basic execution<br />

system into operation. To<br />

understand how this works we<br />

have to look at the way a<br />

program is stored in memory.<br />

Now enter Listing 2 to reveal<br />

the structure of a line of Basic.<br />

The program PEEKs the<br />

program storage area and<br />

writes the actual contents of<br />

the memory locations to the<br />

screen. The first screenful of<br />

information shows the first<br />

three lines. Notice how all the<br />

lines end with a zero byte<br />

which causes the operating<br />

system to start a new line when<br />

LISTing to the screen or a<br />

printer.<br />

The first four bytes of information<br />

have been coloured to<br />

highlight their special significance.<br />

The yellow pair of bytes<br />

gives the line number. Their<br />

actual value can be revealed in<br />

the following way:<br />

i) Write down the first of the<br />

two bytes and then write the<br />

second byte after it (e.g. 2C<br />

01 becomes 012C).<br />

ii) This is the hexadecimal<br />

value of the line number_ To<br />

convert it to decimal multiply<br />

the first figure by 4096,<br />

the second by 256, third by<br />

16 and the fourth by one_<br />

Then add the new values<br />

together. e.g. (0'4096) +<br />

(1*256)+(2*161+(12*1)=300)<br />

Remember that A=10. B=-11<br />

etc_<br />

The cyan coloured figures<br />

also reveal a two byte number<br />

in the same way but this<br />

number indicates the memory<br />

location at which the next line<br />

starts. These bytes are called<br />

the line link and they help the<br />

operating system to fi nd a<br />

particular line quickly when<br />

GOTO and GOSUB are<br />

executed or when DATA is<br />

being READ in. In other words<br />

the line links always point to<br />

the first byte of the next line<br />

link.<br />

After these first four bytes<br />

the details of the Basic instructions<br />

follow_ To make sense of<br />

DOWN)(DOWN)(DOWN)(R6HT) (RSHT<br />

)(RGHT)11 VIC 20 (3.510":PRI<br />

NT<br />

1)<br />

VIC 20 EXPANDED<br />

(D 370 PRINT"(DOWN)(RSHT)(R5HT)<br />

O(R6HT)3)<br />

C128<br />

WRSHTHRSHTHRSHT14)<br />

1<br />

C64<br />

N) 1NT"(DOWN)(RSHT)<br />

:PRINT (RSHTHRGHT15<br />

I:PRI<br />

1 C16/PLUS 4<br />

R380<br />

(DOWN) INPUT"(HOME)WHICH MACHIN<br />

E ( (1-5)"0<br />

I<br />

390 IFM>50RM(ITHENRUN<br />

H<br />

T<br />

H<br />

PROGRAM: LISTING 2<br />

R<br />

S<br />

H<br />

10 REM $t THIS WILL NOT WORK<br />

ON UNEXPANDED VICS<br />

T<br />

ORRY<br />

H<br />

20 REM tt FOR VIC-20 OWNERS<br />

R<br />

I HAVE LIMITED THE SCREEN SI<br />

E<br />

ZE TO 22 COLUMNS<br />

I<br />

30 REM IS OWNERS OF VIC-20S<br />

HSHOULD<br />

USE THE REAMED INSTRU<br />

TCT<br />

IONS<br />

) 401<br />

250<br />

F0ROIT033:READAS:NEXT<br />

60 ACW(RSHT1(RSHT) (RSHTHR<br />

GHTHRSHTHREIHTHRGHTHRSHT)<br />

(RGHT) (RSHIHRSHTHRGHT1(RSH<br />

THRGHTHRSHTI(RSHTHRSHTHR<br />

SHTHRSHT1'<br />

70 PRINT' (CLR)<br />

1BO<br />

FORA=1T015:READASIPRINTAC<br />

; $"Al:NEXT<br />

90 REM lit ON VIC-20 OMIT AC<br />

100 PRINT'(DOWN)(DOWN) (DOWN)<br />

PRESS SPACE-BAR"<br />

110 GETAS:IFASO" "THEN110<br />

120 PRINT<br />

1SIM<br />

ON VIC-20 USE PRINT"(<br />

CLR)'; (HOME)<br />

";:REM 130 60S118720:PRINT"(HOME)<br />

MO:PA:7 M1 I<br />

S:X<br />

140 RON(HOME) (DOWN)(DOWN)(D<br />

OWN)(DOWN)(DOWN)(DOWN)(DOWN)<br />

(DOWN)(DOWN)(DOWNI(DOWN)(DOW<br />

N)(DOWN)(DOWN)(DOWN)(DOWN)"<br />

150 D8S(1)=" (OFF) (RVS)<br />

:D8S(2)." (OFF) (RVS) 1<br />

:08 $(3)1<br />

0 160 81$a"(DOWN)(LEFT)(LEFT)(<br />

OFF) ( O(RVS)":808.<br />

1T)<br />

F(LEFT)<br />

(DOWN) F 170 ) O$(1)."41$40$40$<br />

( 180 LD$(2)." E F 4800.83480$<br />

R190<br />

0$(3)=<br />

+80P81$<br />

V1<br />

S(OFF)<br />

) ( R V S<br />

" ) " 4 . 8<br />

0 1<br />

400 IFMal THEN Sa4096:POKE36<br />

879,8:CN:7<br />

410 IFN.2THENS.4608:POKE3687<br />

9<br />

1420<br />

IFM=3THENSa7168:LIST0,1:<br />

8LIST4,1<br />

:<br />

430 IFM=4THENS:2048:P0KE5328<br />

C0,0:P0KE53281,0<br />

N<br />

440 REM<br />

a<br />

450 IFMa5THENS.4096:LIST0,1:<br />

7<br />

LIST4,1<br />

460 RETURN:REM<br />

•<br />

200 REWI(LEFT)(0P)t(LEFT)(<br />

UP11(LEFT)(UP)':ROSa<br />

. (UP) (LEFT) (LEFT)(UP) (LEFT)(UP) IL<br />

EFT)) (LEFT)"<br />

210 FOROIT06:RES(P)REWES<br />

(A-1)<br />

220 IF4=3THENRE1(3):RES(3).0<br />

I(LEFT)(UP) ':REI(0)=RES(0)0<br />

(LEFT) (UP)'<br />

230 RE;(0):RES(01401:NEXT<br />

240 FORA.ITO6IRES(A).RW(DO<br />

WN)(DOWN)(DOWN)(DOWN)(RGHT)"<br />

413+RES(A)+"(LEFT14-1<br />

1250<br />

RECO) aRS0 (DOWN) (DOWN)(<br />

:NEXT DOWN) (DOWN) (RGHT)<br />

1<br />

4CPRES(0<br />

260 MS(1)2<br />

1P)<br />

(LEFT11(UP)(LEFT)r-<br />

(---J(UP)<br />

1al4----1(DOWN)(LEFT)<br />

'-<br />

(LEFT) :11$(2) 1270 MI(0).<br />

I 1)(DOWN)(DOWN)(DOWN)(LEFT)<br />

( U<br />

(LE<br />

1 FTHLEFT) r<br />

" 280 0FORO0T02:MS(A).R0"(UP) 1<br />

0(UP)(UP)".fLEFTS(ACI,7) 0 "<br />

H:NEXT 4 D<br />

O290 MS(A) 8.17:FOROITO6<br />

W<br />

, N<br />

3))+"(DOON)"+RIGHTS(ACS,14)<br />

0310<br />

IFA=2THENBa16<br />

0 320 NEXT<br />

A330<br />

FORAa1T03:ACS(A)=LEFTI(A<br />

CCS(A),LEN(ACS(A))-ABS(INT(1-<br />

S<br />

4/01)1):NEXT<br />

( 340 MDOLEFTS(RS,14W(R6HT)<br />

(RGHT)":RO$2<br />

A<br />

YASOCW-1(DOWN)(LEFT)"<br />

1<br />

)<br />

350 1(DOWN) FORAa1T06:DPS.DPW01:NE<br />

.<br />

XTIABSOAPDPS+DPS:DPSaYAOD<br />

(LEFT)':<br />

L<br />

PS:YAS.ABS<br />

E<br />

360 ABS=LEFTS(RS,8)+ADS:DPS:<br />

F<br />

LEFTS(14,11)+DPSO(LEFT)-J":<br />

TWiSam(HOME)(DOONPOAS<br />

S370<br />

STS=LEFTS(AC41,91.04"<br />

( 380<br />

R390<br />

REMIt1113$1:11 MAIN PROS<br />

S 1811t311181.<br />

,<br />

B<br />

-<br />

3<br />

1<br />

1<br />

11<br />

Memory<br />

this note tht the green figures<br />

are tokenised keywords. Yes, a<br />

word like PRINT is converted<br />

into a single figure when the<br />

line is encoded but a variable<br />

such as SB would occupy two<br />

bytes corresponding to the<br />

CHR$ (or ASCII) values for<br />

each letter.<br />

Another point worthy of<br />

note is that arithmetic<br />

operators have a value which is<br />

at variance with their ASCII<br />

values. When words such as<br />

PRINT or arithmetic signs are<br />

used within quotes they are not<br />

given their special status and<br />

are just evaluated as normal<br />

ASCII characters.<br />

Slow Motion<br />

Now back to the question of<br />

how a program RUNs.<br />

First of all the operating<br />

system causes the processor to<br />

check if there is a program in<br />

memory. If the first two bytes of<br />

user RAM have a value then the<br />

system assumes a program is in<br />

residence. These two bytes are<br />

assumed to be a line link and<br />

are stored away for reference.<br />

The whole line up to the link<br />

location is copied into a special<br />

area of memory for analysis.<br />

This is the Basic buffer. Similarly<br />

the line number bytes are<br />

stowed away elsewhere in<br />

RAM.<br />

After the line number the<br />

system expects to fi nd a<br />

command of some sort. Evaluation<br />

of the token value representing<br />

the command<br />

(reserved word) is found by<br />

storing the value in the<br />

processor's accumulator and<br />

ornparing this value with a list<br />

of values stored in Basic ROM.<br />

It no match is found the line is<br />

scanned in the buffer by<br />

sequentially loading each byte<br />

into the accumulator to see if<br />

there is an equals sign. The<br />

system is also comparing the<br />

accumulator's value with the<br />

token values of various<br />

punctuation marks or looking<br />

for the end-of-line zero byte. If<br />

one of these is found instead of<br />

the equals sign an error is<br />

signaled_<br />

When such an error is indicated<br />

a SYNTAX ERROR IN LINE<br />

message is printed on the<br />

screen by loading each letter<br />

into the accumulator and<br />

moving it into screen display<br />

RAM. Next, the line number<br />

stored in RAM is dragged out,<br />

converted into a decimal value<br />

and printed after the message.<br />

If the system has detected a


variable being created it checks<br />

the syntax of the variable name.<br />

Then an area of RAM is used to<br />

store the value along with the<br />

variable name.<br />

If a reserved word has been<br />

found the position of the token<br />

value in the ROM list<br />

determines where the program<br />

jumps to in the Basic ROM to<br />

verify the correct syntax of any<br />

characters which follow the<br />

word until a colon or zero byte<br />

is discovered, For example, if<br />

the line was PRINT "HELLO",<br />

the PRINT token would be 99<br />

Hex, The system would then<br />

expect a variable name, a<br />

quotation mark, a colon or a<br />

zero. In this case it finds a<br />

space. which is ignored, followed<br />

by a quotation mark.<br />

The system then takes the<br />

ASCII code from between the<br />

quotes one by one. The ASCII is<br />

converted into a screen POKE<br />

value and this places the letters<br />

which spell HELLO on the next<br />

available screen location.<br />

When the end of a line is<br />

found the line link is retrieved<br />

from memory and the next line<br />

link is stored along with the<br />

new line number. The line is<br />

then copied into the Basic<br />

buffer and the line is scanned<br />

and interpreted as before.<br />

This process continues until<br />

there are no more lines left or<br />

an END or STOP command is<br />

located.<br />

Obviously with all this<br />

memory movement, evaluation<br />

and syntax checking going<br />

on the program runs a lot more<br />

slowly than a pure machine<br />

code program written<br />

specifically to create the same<br />

effect but it should be remembered<br />

that all programs are<br />

executed by the microprocessor<br />

in machine code, Basic is<br />

only a figment of the ROM's<br />

memory. When a language<br />

such as Logo or Pascal is loaded<br />

the Basic ROM is switched out<br />

in favour of the new machine<br />

code routines which interpret<br />

the syntax of the new language.<br />

Any language on a<br />

computer is a language of<br />

convenience rather like<br />

Margaret Thatcher and<br />

President Mitterand discussing<br />

policies through the medium<br />

of an interpreter. As we all<br />

know this not only lengthens<br />

the time taken for the<br />

discussion but can also lead to<br />

misunderstandings unless<br />

great care is taken.<br />

Next month we shall see<br />

how the processor helps to<br />

store numerical and string<br />

variables.<br />

400 FORL=1T04:60SU8690:PRINT<br />

RES(11):60SU81150:NEXT:REM LD<br />

907:LDA1120<br />

410 FORBL=7T00 STEP-I:YRS."(<br />

LEFT)-':RESTORE:BLS=RIGHTS(<br />

STRS(BL),I)<br />

420 IF8L=6THENXX=0:PA=3<br />

430 IFBL=5THENPA=0<br />

440 FORL=0102:605U8690:PR:NT<br />

RES(01):60SU81150:NEXT:REM SY<br />

A 0800,Y<br />

450 60SUB710ta="(R6H1)(R6HT<br />

)0a+BLS<br />

460 P0S=ACS(6)<br />

,0 "+CS:60SUB1190<br />

(LEFT)(LEFT)<br />

470 READW:606U81150:PRINTRES<br />

(0)<br />

480 PRINTMS(2):POS=MDP'080"<br />

+BLI:60SUB1190<br />

490 CS=<br />

1439313532<br />

20 (RVS) 1<br />

"+MI0 , 500 TS="(HOME)10804RISHTI(S<br />

S("13 81.12+1,2)<br />

TROL),1)4"(0001N)(LEFT)(LEF<br />

19133 :606U811<br />

THLEFTI(LEFT)(LEFT)a+RISHTS<br />

(51S,BL4.3)<br />

510 PRINT4BS:PO3=AES(4)+"20"<br />

:60SUB1190<br />

520 60SUB1000:PRIN<br />

-SUB10001READCS:60SUB1120<br />

RES(0):60<br />

530 PRINTa(HOMEHDOWN)<br />

540 P0S=1:606U81190<br />

550 PRINT"(HOME) (DOWNI(DOWN)<br />

POISHTS(ACS,BL+2);"<br />

560 609U8690:PRINTRES(I):605<br />

UB1150<br />

570 YPS="1(DOWN)(LEFT) 1(DOWN<br />

)(LEFT)1(DOWN)(LEFT)(LEFT)--<br />

1•:60SUB710<br />

580 CS="0<br />

1,1):IFEL=0THENC$<br />

+RIGHT 590 0 READW:60SUB1150:PR!NTRES<br />

S(STRII -1" (0)<br />

(BL-1) 600 FORIAT01:605U8690:PRINT<br />

RES(W):60SUB11601NEXT<br />

610 IFBL=OTHENREADAS,AS:XX=5<br />

014=7:60T0630<br />

620 READCS,0:606U81160<br />

630 606UB960:PRINTDPS:FORD=0<br />

TOXX310:NEXTIPRINTRES(0):NEX<br />

TBL<br />

640 60SU8690:PRINTRES(W):60S<br />

UB1150<br />

650 PRINT"(HOME)(DOWN)(DOON)<br />

(DONN)(DONN)(R6HT) (RGHT)READ<br />

Ya:XX=250<br />

660 POW(HOME)(DOWN)(DOWN)(<br />

DOWNI(DOWN)(DOWN)(R6HT)(R6HT<br />

I 1<br />

:<br />

6<br />

0<br />

6<br />

U<br />

12<br />

670 PRINTa(CLR)"<br />

680 END<br />

690 60SU81060:60SUB1100:READ<br />

CS:60SUE11120:FOROOT01:60SUB<br />

990:NEXT:READC$01<br />

700 RETURN<br />

710 PRINTYWYPS:6OSUB960:RE<br />

TURN<br />

720 PRINTIOBOO (C64) ______<br />

730 PRINT' I<br />

I<br />

740 . PRINT" ISYS491521 HRVS)<br />

Y RES (OFF)I"<br />

750 PRINT"<br />

760 PRINT' 1<br />

1 a<br />

I I<br />

770 PRINT' 1 I HRVS)<br />

X RES (OFF)la<br />

780 PRINT'<br />

a<br />

1<br />

770 PRINT" 1<br />

1'<br />

I I<br />

800 PRINT" 1<br />

ACC (OFF)1<br />

I IERVS)<br />

810 PRINT' L(RVS)<br />

----<br />

(OFF 820 PRINT" HRVS)SCREEN(OFF<br />

I RRVS) C000 (OFF)!<br />

830 PRINT' HRVSIP<br />

RDSRAM(OFF)I°<br />

840 PRINT' __ 1111VS)C<br />

OUNTER(OFF)1"<br />

850 PRINT" I 1<br />

a<br />

860 PRINT" 1 1 I<br />

la<br />

870 PRINT' (RVS) (OFF)<br />

----ERVS)ADDRESSIOFFI"<br />

880 PRINT'<br />

a<br />

890 PRINT' (RVS) (OFF)____<br />

900 PRINT' (RYS) DATA(OFF)I<br />

RRVS) DECODER (OFF)1<br />

910 PRINT' (RVS) BUS(OFFII<br />

920 PRINT" (RVS) (OFF) (R<br />

VS) (OFF) (RVS) (OFF)<br />

(RVS) (OFF)"<br />

930 PRINT (RVS) (OFF) (R<br />

VS) (OFF) (RVS) (OFF)<br />

(RVS) (OFF)"<br />

940 RETURN<br />

950 REM 11111 DELAY<br />

960 FORDOTOXX:NEXT<br />

970 RETURN<br />

980 REM IS1: DATA BUS<br />

990 FOR 8=1T03:60T01010<br />

Memory<br />

1000 FOR B=3TOISTEP-1<br />

1010 PRINTRW(R6HTI(RVS)<br />

CB) 1<br />

1020 0 FORC=1102:PRINT"(RSHT)(<br />

RVS)18$(8)D8S(B)D8S(B)140(8<br />

):NEXT<br />

1030 605U89601NEXT<br />

1040 RETURN<br />

1050 REM MI PC VALUE<br />

1060 READPS<br />

1070 POS=ACS(3)+<br />

+":60SUB11901PRINTN(RVS)"<br />

6<br />

(LEFT) PDS "+PS<br />

1080 PRINT/ISM:RETURN<br />

1090 REM 1111 MEMLOC<br />

1100 605U8960:PRINTMDSPS:RET<br />

URN<br />

1110 REM 3111 MEMCONT<br />

1120 POSOID14."(DOON)(R6HT)1<br />

M60901190 4.<br />

1130 PRINTMS(0):RETURN<br />

1140 REM MI DECODER<br />

1150 IFOITHENPRINTACS(10"<br />

1160 P0S=ACS(11)43:60SU81190<br />

1170 PRINTRECOMETURN<br />

1180 REM Mt FLASH<br />

1190 FORA=OTOPAIPRINT"(RVS)"<br />

P01"(0FFIN:60SUB960:PRINTPOS<br />

:609U0960:NEXT:RETURN<br />

1200 REM litt DATA<br />

1210 DATA0004,99,"STA 0<br />

11,0005,00,<br />

8,2 , 1<br />

1220 00', DATA2,20<br />

1230 2,C0 DATAC007,88,1EY " ,<br />

1,6 06,0<br />

1240 8,0 DATAC008,10,BPL,14009,<br />

FA,"(R6HT)(R6HTIORSHTI(R6HT)<br />

SFA<br />

1004'0<br />

,1 1250 DATA000A,60,"RTS a,<br />

1<br />

"(R 1260 DATACPU DEMONSTRATION,"<br />

6HT :2<br />

HOW I(R - SOW<br />

6HT !"<br />

tD0WNiCr.4. ) 0<br />

_ D<br />

Al ( D120<br />

1.7 RA<br />

, G7<br />

HY.:Q0E<br />

C H-<br />

DT<br />

- DATA'iDOWN:E wO4D<br />

LEAV.PAFO 4)<br />

.<br />

. A TD<br />

S:64.<br />

OF<br />

71Z:0<br />

AE<br />

C r.<br />

, I,07,07<br />

" .<br />

:..,S: ATA s1320<br />

C;<br />

DA<br />

REEN CUO o7<br />

.20.20.4 C(<br />

.A0 A[K:. :: A<br />

•<br />

—Cc A9.L 4 !<br />

, DA0. S,<br />

#.!.: 1.:: T<br />

: A


The event every Commodore<br />

user is waiting for . .<br />

&<br />

147<br />

o<br />

0<br />

n<br />

/<br />

n<br />

Champagne Suite and<br />

Exhibition Centre, Novotel,<br />

Hammersmith, London W6<br />

t<br />

-<br />

See the Amiga Village<br />

with its continuous<br />

demonstrations of the<br />

first wave of software<br />

n<br />

for the sensational<br />

machine<br />

Tickets-f3 (Adults),<br />

/2 (Children under<br />

16). Special mtes for<br />

group bookings (over<br />

10 in a party).<br />

SHOW HOTLINE:<br />

061-456 8835<br />

or write to:<br />

Seventh Official<br />

Commodore Show<br />

Tickets,<br />

Europa House,<br />

68 Chester Road,<br />

Hazel Grove,<br />

Stockport SK7 51W<br />

o11<br />

c<br />

l2 m Music Expansion System for<br />

6<br />

1<br />

Organised by<br />

Database Exhibitions<br />

featuring the UK launch<br />

of the fabulous Amiga<br />

Saturday<br />

1 Ma0<br />

y<br />

10am-6pm<br />

This is YOUR chance to see the very latest<br />

developments for the ENTIRE Commodore range<br />

Visit the 100-seat Show<br />

Theatre, where non-stop<br />

events will be held including<br />

music from top groups<br />

How to get there:<br />

Novotel London is right by the A4/M4 and is only two minutes from<br />

Hammersmith underground station (for the West End. City and<br />

aimort). For those bringing their own car, there is a large<br />

underground car park at the hotel.<br />

1111•110•1111•1•1•111111•111••••111•• OE IN MIIMINIE1<br />

111<br />

1111<br />

111<br />

Come to the show and<br />

enter the FREE DRAW<br />

1<br />

7<br />

111111111111ERE •<br />

M1 cootAtateltdow<br />

I 71 N 4 N %<br />

e The Commodore 128<br />

1 Compendium (Commodore<br />

1 St 7128k,<br />

cassette and four pieces<br />

PRIZE c of software worth UN_<br />

t<br />

o h<br />

i the Commodore 64 or 128 (5<br />

m11C1<br />

ooctave<br />

keyboard, sound<br />

Al] you need to do is to cut this coupon out and<br />

hand it in at the door when you arrive.<br />

Name<br />

Address<br />

1<br />

PRIZE expander and sound studio<br />

m lsoftware)<br />

worth i:150.<br />

Tel No<br />

d<br />

IbmoonmolomenumnimmoommommomminimmmYdl<br />

o<br />

i<br />

d d


the insides of the<br />

Commodore Amiga.<br />

Whenever the word 'Amiga' is<br />

mentioned, someone will have<br />

something to say about Commodore's<br />

wonder-baby. At first all that was said was<br />

how wonderful this machine was, and<br />

how it would take the world by storm;<br />

gradually, however, people saw the Atari<br />

520ST, at less than half the price — and<br />

started wondering.<br />

I have owned an Amiga for nearly six<br />

months now, and in that time I think it is<br />

safe to say that I have formed a very<br />

personal view about a machine which, if<br />

used to its potential, can really show the<br />

true power of a personal computer.<br />

What makes the Amiga so different<br />

from all the other personal computers is<br />

its sheer versatility. Being a true multitasking<br />

machine means that it can do<br />

almost as many things as you want<br />

simultaneously, enabling you to jump<br />

from one task to another with the<br />

knowledge that all the other tasks will<br />

continue.<br />

Hardware<br />

To successfully explain the Amiga you<br />

must really split the hardware into<br />

different sections; specifi cation,<br />

workbench, graphics, sound, and<br />

peripherals. Although this cannot cover<br />

everything to do with the Amiga, it should<br />

give you a valuable insight into this<br />

machine.<br />

Specification<br />

The specification given here is of the<br />

American Amiga, when launched in<br />

Europe it will probably come with two<br />

disk drives and 512K as standard.<br />

Basically the components of the Amiga<br />

are:<br />

Motorola MC 68000 16/32 bit main<br />

processor.<br />

256K bytes of internal RAM, expandable<br />

to 512K,<br />

256K bytes of ROM containing a realtime,<br />

multi-tasking, operating system with<br />

sound, graphics and animation routines.<br />

Built in 3" double sided disk drive.<br />

Expansion port for up to 3 external disk<br />

drives with either 3<br />

1<br />

sided.<br />

/ Fully programmable serial port.<br />

Fully programmable parallel port.<br />

Two 2 button mechanical mouse.<br />

Two ' o9 r pin D 5type y controller ports.<br />

4Detached<br />

89-key keyboard with numeric<br />

" keypad, , 10 function keys and cursor<br />

section.<br />

d o u b l<br />

Ports for analog or digital RGB output, as<br />

e<br />

well as composite video.<br />

Left and right stereo audio output ports.<br />

Expansion connector that allows you to<br />

add RAM, hard disks, or other<br />

peripherals.<br />

Workbench<br />

At present, to start up an Amiga system,<br />

you must first insert a disk that loads the<br />

operating system into write-protected<br />

RAM. Although this does take time, it<br />

means that in the future, when new<br />

versions are released, you will not have to<br />

mess about switching chips around.<br />

Having done this you will be requested to<br />

insert what is called a Workbench disk.<br />

This is the program that makes the Amiga<br />

so easy to use, and enables a complete<br />

beginner to start harnessing the<br />

machine's power.<br />

Once in the Workbench, most people<br />

will immediately recognise the<br />

Macintosh-esque windows and icons,<br />

however this time they are in colour!<br />

Workbench is provided for two real<br />

reasons; firstly it lets you control the<br />

computer's functions via a mouse, and<br />

secondly it lets each individual owner<br />

customise his Amiga. Using a program<br />

called Preferences, you can choose the<br />

colour of text, the colour of the<br />

background, how sensite you want the<br />

mouse to be, and also redefine the cursor<br />

which indicates the mouse position. On<br />

the more technical side, Preferences<br />

allows you to set baud rates, and redefine<br />

the bit images required for your printer.<br />

The Workbench screen, when<br />

operated, displays one large window,<br />

within which are a variety of draws, On<br />

selecting a draw with the mouse, a new<br />

window will appear, giving you another<br />

selection of Icons to choose from. Icons<br />

can best be described as small pictures<br />

which appear on the screen representing;<br />

tools, projects, disks, draws and the<br />

Trashcan. Windows let you see the<br />

contents of projects, drawers, disks, and<br />

the Trashcan. Windows can be altered<br />

both in size and position.<br />

On the current version of the<br />

Workbench disk (v1.1) there are four<br />

draws — Demos, Utilities, System and


the detailed stor<br />

Empty. Demos are three different<br />

programs which show well how efficient a<br />

multi-tasker, the Amiga really is, Utilities<br />

gives you an on-screen calculator and<br />

notepad, a la Mac, and System prod uces a<br />

disk copier. The Empty draw allows you to<br />

create a personal file for the Workbench<br />

disk.<br />

To make the most of the system, it is<br />

preferable to create your own<br />

Workbench disk to suit the type of<br />

application you will be running, I, for<br />

instance, would rather use the keyboard<br />

than the mouse, and have my Workbench<br />

set up accordingly.<br />

Graphics<br />

If one feature makes the Amiga stand out<br />

in a crowd more than any other it has to be<br />

the graphics. What makes this, and the<br />

sound, so outstanding are the three<br />

dedicated chips designed by Jay Miner,<br />

founder of Amiga. These chips,<br />

affectionately called AGN US, DENISE,<br />

and PAULA, effectively allow the main<br />

CPU to do other things while they take on<br />

specific roles, such as controlling graphics<br />

and sound.<br />

In exact terms, the Amiga has four<br />

resolutions; 320 * 200, 320 * 400,640 • 200,<br />

and 640 • 400. However, the two modes<br />

that involve the use of 400 vertical pixels<br />

are more difficult to control as it requires<br />

a special feature called Interlacing. This<br />

allows the programmer to utilise the<br />

unused spaces to double the vertical<br />

resolution.<br />

In each different mode you also have<br />

different amounts of available colours. In<br />

total the Amiga has a palette of 4096<br />

colours, and in low-resolution you can<br />

put up to 32 different colours onscreen at<br />

once. However, the higher resolution<br />

modes have correspondingly less<br />

available colours. One clever trick that<br />

can be used in certain situations however<br />

is called HAM (Hold And Modify). This<br />

method allows all 4096 colours to be<br />

displayed on screen simultaneously,<br />

while only sacrificing 48K. By producing<br />

this quality of colour resolution you can<br />

produce pictures of a standard as yet<br />

unsurpassed on a personal computer.<br />

One word that will be recognisable to<br />

almost all of you is sprites. The Amiga can<br />

cope with up to eight sprites on screen at<br />

once, each of which can be as tall as is<br />

required, although only 16 pixels across.<br />

For animation purposes the Amiga also<br />

has something called a Blitter (Block<br />

Image Transferrer), and although this is by<br />

no means limited to graphics, it can be<br />

used to move large amounts of graphics<br />

data around the screen at amazing<br />

speeds, creating some outstanding<br />

effects.<br />

It is features such as the colour palette,<br />

as well as the Blitter, that make it obvious<br />

what potential the Amiga has as a graphics<br />

machine.<br />

Sound<br />

To complement the Amiga's graphics, it<br />

comes with a dazzling potential for sound<br />

generation. Controlled by the Paula chip,<br />

it can produce stereo output through the<br />

left and right external sockets, and<br />

without too much difficulty, can produce<br />

sounds to rival some more expensive<br />

synthesisers.<br />

The Amiga provide5 the user with four<br />

separate sound channels, each of which<br />

can be used to carry a wide range of<br />

sounds, they do not have to be<br />

monophonic. By using digital sounds<br />

and envelopes, the Amiga is quite capable<br />

of producing sounds which have been<br />

sampled, and then converted to the<br />

correct format, only to reproduce them<br />

perfectly later.<br />

As well as producing excellent quality<br />

sound, the standard Amiga can produce<br />

quite breathtaking speech, simply by<br />

using simple commands, thus narrating<br />

software packages are no longer a thing of<br />

the past!<br />

Peripherals<br />

If you want a machine that will grow as a<br />

system, then the Amiga certainly has the<br />

potential. With its plethora of ports (I), it<br />

should be possible to interface almost<br />

anything to this machine, with the right<br />

software,<br />

Printers are well provided for in the<br />

Preferences program, with most popular<br />

makes such as Epson, Diablo,<br />

Commodore, and others all having<br />

software already written to take<br />

advantage of the graphics,<br />

Modems too are easy to rig up, with a<br />

totally programmable serial port, it should<br />

just be a question of plug in and go. I am<br />

currently running a 1200 baud modem<br />

with no troubles.<br />

Conclusion<br />

Although I have only managed to touch<br />

the surface of what the Amiga is really<br />

capable of, it is clear to me that, lilt is<br />

marketed properly, this machine could<br />

succeed by creating a market, rather than<br />

fitting in as a run of the mill PC,that would<br />

be a real shame!


Gareth Thomas brings<br />

The Mic Loader<br />

MICROFILE64 IS A COMPLETE<br />

database creation and<br />

management system for the<br />

C64. It consists of a suite of<br />

three programs, the fi rst<br />

IISE<br />

program is mainly a machine<br />

code loader but it also carries<br />

out 'once only' operations such<br />

as setting up the SID and VIC<br />

chips etc. for the main pro-<br />

PROGRAM: MF64.M/C<br />

0 REMESPC2IISSIIIIUMISIII<br />

2020 DATA 51,240,45,201,4,<br />

240,8,201,5,240,1235<br />

2030 DATA 4,201,6,208,9,133,<br />

grams, and then auto-runs the<br />

254,169,1,133,1118<br />

management program. The<br />

management program consists<br />

of shell-metzner sorting routines,<br />

a very powerful data<br />

10 REM IE8PC21MICROFILE64<br />

N/CCSPC2A<br />

20 REM ItSPC6NER1.0ESPC7II<br />

2040 DATA 203,76,72,235,165,<br />

214,201,1,208,7,1382<br />

2050 DATA 169,2,133,214,76,<br />

search and edit system and a 30 REM I ICI 1985 ETHOMAS 72,235,201,23,208,1333<br />

unique data access method for<br />

tape and disk. The third<br />

program is the format program,<br />

this allows the user to design a<br />

complete screen layout for the<br />

input of data using any of the<br />

available colours, rvs video,<br />

graphics characters and even<br />

the fullscreen editing facilities<br />

of the 64. Then by using a sprite<br />

cursor and an overlayed popup<br />

menu, it defi nes the<br />

40 REM<br />

50 :<br />

60 REM LOCK INTO CHARACTER<br />

SET 2<br />

70 PRINT CHRSII4ICHRSI8)<br />

80 REM BLACK SCREEN<br />

90 POKE 53280,0:POKE 53281,0<br />

100<br />

120 PRINT<br />

2060 DATA 249,169,22,133,214,<br />

76,72,235,169,127,1466<br />

2070 DATA 141„220,96,120,<br />

169,67,141,143,2,1099<br />

2080 DATA 169,202,141,144,2,<br />

88,96,120,169,72,1203<br />

2090 DATA 141,143,2,169,235,<br />

141,144,2,88,96,1161<br />

2100 DATA 169,185,32,210,255,<br />

32,228,255,240,251,1857<br />

parameters affecting each of<br />

the fields i.e. length. datatype,<br />

input position and name.<br />

The mic is placed above<br />

Basic in the 4K block at SC000<br />

from $CA43 to SCAC5. So<br />

taking no Basic memory. The<br />

m/c is wedged between the<br />

stored screen definition which<br />

is split into two; the screen<br />

memory from $C000 and the<br />

colour 'memory from SCCO5<br />

1 (WHITE,RVSON,DOWNfl<br />

(CLEAR LOADING DATA<br />

PTA8II2<br />

130 051779:LNa2000<br />

I" 140 READ 8:IF 8.(256 THEN POK<br />

E A,8:12T+804+1:6OTO 140<br />

150 IF T2B THEN Tt0:00L144.10<br />

:SOTO 140<br />

160 IF B2999 THEN 190<br />

180 PRINT TA819)<br />

. ERROR IN LINE<br />

2110 DATA 170,76,206,202,165,<br />

251,197,252,240,241,2000<br />

2120 DATA 230,251,169,157,32,<br />

210,255,138,32,210,1684<br />

2130 DATA 255,169,185,32,210,<br />

255,138,96,133,254,1727<br />

2140 DATA 201,133,240,249,<br />

201,134,240,245,201,135,<br />

1979<br />

2150 DATA 240,241,201,13,240,<br />

using mic routines the screen<br />

can be stored and recalled<br />

instantly for updating the file.<br />

Being stored in this block<br />

means that over 28.5K is free for<br />

EDOWN3DAT<br />

190 POKE 1 650,128:S1)254272<br />

A IVC253248 LN:STOP<br />

200 REM SET UP SID AND VIC<br />

CHIPS<br />

237,201,20,208,21,1622<br />

2160 DATA 165,251,240,197,<br />

198,251,198,251,169,29,<br />

1949<br />

data. This is allocated to 200 210 FOR LtSD TO 50+24 2170 DATA 32,210,255,169,20,<br />

records of up to nine fields<br />

each one being allowed a maximum<br />

length of 255 characters<br />

this number of records could<br />

easily be altered up to two or<br />

three times more and although<br />

the maximum field length is 255<br />

this would probably never be<br />

used and is set at this to impose<br />

no constraints on the user.<br />

Since string storage is dynamic,<br />

the field length could be set to<br />

this and it would not<br />

immediately be allocated 255<br />

bytes. Details on how to extend<br />

the program will be given later<br />

in the documentation).<br />

The leader itself stores 5<br />

m/c routines. They are:<br />

1. Interrupt driven routine<br />

($CAA8 - CB43): To control the<br />

:POKE L,OINEXT<br />

220 POKE SD+24<br />

1230<br />

POKE SP5,64:POKE SI:14.6,64<br />

15 240 POKE SP2,64:POKE SD+3,2<br />

250 POKE SD,21POKE SD+1,20<br />

260 POKE 2040<br />

270 1 POKE VC4.21,0:POKE VC+1,58<br />

13:POKE<br />

280 POKE VC4.39,1<br />

V290 REM C , AUTO-RUN 2 4 MAIN PROBRAM<br />

310 POKE 631,1311POKE 198,1<br />

NEW<br />

320<br />

330 REM NC DATA<br />

2000 DATA 165,203,170,173,<br />

141,2,201,1,240,9,138,1443<br />

2010 DATA 201,45,240,54,201,<br />

47,240,50,138,201,1417<br />

32,210,255,76,182,1441<br />

2180 DATA 202,201,32,48,176,<br />

201,95,16,172,165,1308<br />

2190 DATA 253,201,1,208,16,<br />

138,201,32,240,170,1460<br />

2200 DATA 201,65,48,157,201,<br />

91,16,153,76,182,1190<br />

2210 DATA 202,201,2,208,33,<br />

138,201,43,240,150,1418<br />

2220 DATA 201,47,240,146,201,<br />

42,240,142,201,45,1505<br />

2230 DATA 240,138,138,201,46,<br />

240,133,201,48,48,1433<br />

2240 DATA 14,201,58,16,10,76,<br />

182,202,201,3,963<br />

2250 DATA 240,236,76,182,202,<br />

you your own type-in<br />

C64 Database.<br />

16<br />

Basic input routine and use the<br />

full cursor editing. This has<br />

three purposes: to stop the<br />

cursor scrolling the screen by<br />

denying it access to the top and<br />

bottom lines; de-activate the<br />

colon and comma keys while<br />

allowing their shifted, controlled<br />

and CBM functions to<br />

be registered: allows the<br />

INPUT routine to be exited by<br />

pressing function keys as well<br />

as RETURN.<br />

2. Input routine (SCAM -<br />

SCB43): This routine simulates<br />

the Basic input routine but<br />

improves on it by adding: the<br />

ability to preset the maximum<br />

number of characters to be<br />

entered; allowing only certain<br />

data to be entered which can<br />

be preset and can be of four<br />

types - alphanumeric, digit.<br />

numeric or for any other<br />

numeric data being entered it<br />

is possible to specify a particular<br />

amount i.e. less than„<br />

greater than or between.<br />

3. Cursor. AT(SCB46 - SCB72):<br />

this simulates the PRINT AT<br />

command found in many other<br />

Basics. It uses the kernal PLOT<br />

routine at SHFCland a few Basic<br />

ROM calls to allow parameter<br />

passing of the row and column<br />

positions from the SYS call.<br />

4. Screen sdlore (SCB73 -<br />

SCBBB): This stores a copy of<br />

the screen layout defined by<br />

the format program (except for<br />

the top and bottom rows). It<br />

stores the screen memory at<br />

$CCO5, the colour memory at<br />

SC000.<br />

5. Screen recall (SCBBC -<br />

SCC04): This recalls a copy of<br />

the screen stored by the<br />

routine above.<br />

If you wish to use the system<br />

on disk then the three<br />

programs must be saved under<br />

the fi lenames MF64.M/C,<br />

MF64. MAIN and MF64. FORM<br />

in order to maintain the compatibility<br />

with the routines<br />

used in the main arid format<br />

programs. Also certain lines<br />

need to be altered in the<br />

machine code loader so that<br />

the main program is auto-run<br />

correctly, this is shown below.<br />

Type in the following lines,<br />

with the m/c loader in<br />

memory:


76,173,202,32,121,1540 145,251,177,20,145,163,<br />

IDOWN2P:INPUPIRIEHT,SEl<br />

2260 DATA 0,32,253,174,32, 1770<br />

PROGRAM: MF64.MAIN<br />

NTER FILENAME.."04<br />

138,173,32,247,183,1264 2370 DATA 200,192,152,208,<br />

175 IF F4="sOR LEN(F4))16 TH<br />

2270 DATA 165,20,201,40,144, 243,96,169,40,133,251,1684<br />

0 REM $$$$$$$$$$$$$$$$$$$$<br />

EN 170<br />

3,32,72,178,72,927<br />

1 REM ICSPCEMICROFILE64<br />

2380 DATA 169,4,133,252,169,<br />

176 IF FWENTHEN PRINT'<br />

2280 DATA 32,253,174,32,138,<br />

ESPC431<br />

5,133,253,169,204,1491<br />

ICLEARI":60TO 100<br />

173,32,247,183,165,1429 2390 DATA 133,254,167,133<br />

3 REM CSPC2]MAINISPC2l<br />

190 PRINT<br />

2290 DATA 20,201,25,176,237,<br />

PROGRAMISPCM<br />

1 20,169,192,133,21,1224<br />

. :ON VAL(64)60SUB 1000,<br />

170,104,168,24,32,1157 2400 DATA 169,40,133,163,169,<br />

4 REM $ (C)1986 B.THOMAS 3<br />

CCLEAR 1110,1200,1300,1400<br />

2300 DATA 240,255,96,169,5,<br />

5 REM 111111311111:11MIS<br />

216,133,164,160„1347<br />

I° 1PRINPICLEARPI6OTO 100<br />

133,251,169,204,133,1655<br />

6 1<br />

2410 DATA 177,253,145,251,<br />

200 :<br />

2310 DATA 252,169,40,133,253,<br />

15 1<br />

177,20,145,163,200,208,<br />

900 REM OUTPUT FILE TO DISK<br />

169,4,133,254,169,1576 1739<br />

17 PRINT'ICLEAR,00WN4,WHITE 1000 OPEN 15,8,15,"10°<br />

2320 DATA 40,133,20,169,216, 2420 DATA 245,230,252,230,<br />

uTAB(9)'441ISPC,SM,SI,SC, :OPEN 2,8,2,<br />

133,21,167„133,1034 254,230,21,230,164,166,<br />

SR,SO,SF,SI,SL,SEl64 Ill'<br />

1:GOSUB<br />

1350:IF EI•63 THEN<br />

2330 DATA 163,169,192,133, 2022<br />

:PRINT TAMPEDOWN2,<br />

01"44.0,<br />

1000<br />

164,160„177,253,145,1556 2430 DATA 252<br />

GREENIVER4.2(C)1986ISPC, 1005 6,0* IF El THEN RETURN<br />

2340 DATA 251,177,20,145,163, 1 177,253,145,251,177,1925<br />

SEARETHESPC,STMOMAS 1010 60SUB 1600:CLOSE 15<br />

200,208,245,230,252,1891<br />

224,7,20<br />

2440 DATA 20,145,163,200,192, 20 PRINT TABOPEDOWN3 :RETURN<br />

2350 DATA 230,254,230,21,230,<br />

I YELLOW,SPC<br />

8,231, 152,208,243,96,1419<br />

1020<br />

164,166,254,224,7,1780 2450 DATA 797<br />

RYSON, 1SE,SYl<br />

IST,SOl ISC,SO,SN, 1030 REM INPUT FILE FROM DISK<br />

2360 DATA 208,231,177,253,<br />

• SA,SN,SYI<br />

ST,SI,SN,SU,SE,SPCl" 1110 OPEN 15,8,15,<br />

(SK IAT=52038:WAIT 198,1:RC21 1 :OPEN 2,8,2,<br />

25<br />

310 PRINT' (WO (DOWN) MINH_ you've typed this in, the next I<br />

10' 1:60SUB<br />

1350:IF El THEN RE<br />

°ADIDAS 00 "064. PIAIN•CHRS( step is to design the screen<br />

26 REM MAIN LOOP TURN 01<br />

30 GOSUB 9500:IF 1108 THEN CLR<br />

34) ',8<br />

1120<br />

1<br />

GOSUB 1700:CLOSE 15<br />

A cursor will start flashing 108<br />

14<br />

44-0,601<br />

:RETURN<br />

320 POKE631,13:POKE632,13 near the top left, you can move<br />

35 ON ii+1 GOSH 6000,100,30<br />

1PO 330 PRINT '(DOWN) (DOWN) (DOWN it anywhere on the screen<br />

1130<br />

"<br />

1 1800,2500,3100,3500,8000, 1140 REM OUTPUT FILE TO TAPE<br />

KE1 1 tDOWN)RUCHOPIE)<br />

4490,5825<br />

98, 1 ; :NEN<br />

of the C64. Care should be<br />

1200 OPEN 2,1,1,F1160SUB 1600<br />

40 IF 09 AND RF.0 THEN CLR :RETURN<br />

2<br />

u s i n<br />

taken though, since use of the<br />

The Format Program insert can cause the whole :RC1<br />

g<br />

1210<br />

l<br />

screen to move down a line<br />

50 6070 30<br />

t 1220 REM INPUT FILE FROM TAPE<br />

aThe<br />

format h program can be run which can mess up your design.<br />

55<br />

e by selecting option eight of the Apart from colon and comma<br />

1300 OPEN 2,1,0,F4160SUB 1700<br />

y<br />

fmain menu u of microfile64 (this keys which cause the awful 56 REM DATA I/O S/R :RETURN<br />

o<br />

lis discussed l fully in the section "?Extra ignored" message, all 100 PRINT TAB:12)'[SD,SA,ST, 1310<br />

udealing<br />

e d<br />

with<br />

i<br />

the mai<br />

SA] (61)/CSOl ISM,SE,SN, 1320 REM READ DISK ERROR STA<br />

tn<br />

program).<br />

t<br />

o<br />

i<br />

t hThe n<br />

e r format program including graphics, also colour Stir:PRINT TAB(12)'ICT131<br />

transfers data to the main and reverse can be used in the<br />

TUS<br />

_c<br />

g<br />

h a r a c t e r s<br />

1:PRINT<br />

TABi9PIDOWNll -<br />

program by saving the data as a usual way. All this means that<br />

1350 INPUT415,EI,M4<br />

a<br />

ffile r<br />

called<br />

e<br />

u "FORMAT" n<br />

which pretty nifty displays can be ISPC,SUAVE TO DISK. :IF EI(20 THEN EIO:RETURN<br />

acan c be c<br />

t loaded c<br />

i<br />

e into p the t main designed if time and care is 120 PRINT TAB(9)'IDOWN)2 -<br />

1370 PRINT TAB(6)<br />

a<br />

oprogram b<br />

n<br />

lagain s<br />

e by using option taken.<br />

(SPC,SIJOAD FROM DISK.' 1 RVSON,SPC,SEISK ERROR<br />

eight. The screen data is not I n the design screen mode, :PRINT TAB(9)<br />

actually saved since this could the top line shows the user the<br />

CDOWN, ISPC,00WN2r:PRINT TAB(5)<br />

1<br />

only be lost if the computer is job for each of the function<br />

ISPC,SEAVE TO TAPE. El'- 914:60SUB 9800<br />

switched off as it is stored keys; Fl (Exit) allows you to 140 PRINT (DOWN)3 TAB(9) 1380 IF E1063 THEN CLOSE 2<br />

above Basic. The transferring of start designing the database 1 -ESPC,SUOAD<br />

FROM TAPE.'<br />

:CLOSE 151WAIT 198,1<br />

data has to be carried out this again from the beginning if you (DOWNl4 :PRINT TAB(9)<br />

:RETURN<br />

way since no CHAIN command made a mistake; F3 (Clear) will<br />

- . CSPC,SE1XIT.CDOWN31<br />

exists in CBM Basic to control clear the screen to allow you to<br />

1390 REM IF FILE EXITS CONFI<br />

150 60SUB CDOWNl5 5800:IF 6401"OR 6<br />

variable storage when a new start designing the screen<br />

RM SAVE<br />

program is loaded in. l a y o u t again without having to<br />

0"5 -<br />

1400 PRINT'EDOWN2l'ISRPTO<br />

When the program is run, go back to the beginning; F5 160 1IF<br />

648<br />

REPLACE OR '[SC]<br />

you are asked how many fields (Next) skips to the next process 1170<br />

TH PRINT'ICLEAR,DOWN,RIGHT, 'TO CHANGE FILENAME F<br />

you will need from one to nine of defining the fields and 5"THEN EN SENTER '(SE]' TO EXIT<br />

(this maximum of nine could recalls a previously defined<br />

be increased easily if necessary. screen, this is useful if you wish<br />

R 1E<br />

T<br />

The method is described later). to redesign the parameters for program U 5R<br />

Nis<br />

more complex, this you reach this section, the first<br />

A field is an individual data the database without having to is where 0 the parameters thing to notice is the fast<br />

item within a record, for design the screen layout again_ affecting each field are de- flashing cursor in the top left -<br />

example, if you wished to On ce you've fi nished fi ned. This is in four steps. First move this cursor to where you<br />

design a layout for a club designing your screen, press the input position, secondly wish each field to be input in<br />

membership booking system RETURN. The new screen will the field datatype, thirdly the turn, pressing RETURN to store<br />

you might need four fields; be stored instantly, wiping over input length and last of all the the position. In the top right of<br />

name, address, telephone and any previous definition_ n a m e of the field, this is the screen the number of the<br />

membership number, After T h e next part of the repeated for each field, When fi eld currently being defined is<br />

17


displayed. If we take the<br />

example of the club membership<br />

system, then the display<br />

might look something like this:<br />

Club Membership System<br />

Name -<br />

Address -<br />

Tel. no -<br />

Membership no. -<br />

Then, to define the input position<br />

for 'Name', you might<br />

move the cursor to the column<br />

next to the dash after *Name'<br />

and then store the position by<br />

pressing RETURN.<br />

After the input position has<br />

been set an overlayed menu<br />

will come down (if you've just<br />

typed the program in it's not a<br />

bug). This is where you select<br />

the type of data the field will<br />

hold, there are four types;<br />

alphabetic, numeric, digit and<br />

other. These options are on the<br />

menu plus another five, The<br />

extra ones are used to limit the<br />

values of data entered and all<br />

conform to the rules for<br />

'DIGIT' data;<br />

1 ALPHABETIC - alphabetic<br />

characters only<br />

2 NUMERIC - 0 to 9 plus+,-,/,*<br />

and point<br />

3 DIGIT - 0 to 9 only<br />

4 ANYTHING - any keyboard<br />

character<br />

5 BETWEEN between but NOT<br />

equal to two numbers<br />

6 < than<br />

7 > than<br />

8 < than or = to<br />

9 > than or = to<br />

To select datatype move the<br />

blue cursor with the up/down<br />

cursor key to the required type<br />

and press RETURN. If you<br />

select any datatype above four<br />

then you will be asked to input<br />

the relevant values.which must<br />

be conformed to, in the<br />

window at the bottom of the<br />

menu. If you have made a<br />

mistake in selecting the input<br />

position, pressing 'E' will return<br />

back to this part without updating<br />

the field pointer to the<br />

next field, so that you may redefine.<br />

The third parameter to<br />

define is the length_ After the<br />

datatype menu has disappeared,<br />

a cross cursor will<br />

appear next to the position you<br />

defined for the input, with a<br />

reverse video representation of<br />

the field number in the exact<br />

location. Holding down any<br />

key will move the cursor which<br />

will leave a trail of dots behind<br />

it, each representing one<br />

1410 GET GS:IF 6$2"R"THEN 14<br />

50<br />

1420 IF ESOPCITHEN 1410<br />

1430 60SU8 1500:IF FWE'THE<br />

N EI.IIRETURN<br />

1440 CLOSE 2:CLOSE 15:RETURN<br />

1441 REM SCRATCH OLD FILE<br />

1450 PRINT115,<br />

1 :CLOSE 2:CLOSE 15:RETURN<br />

50: 1451<br />

11530<br />

REM SAVE FILES<br />

41 1535 REM BET DATATYPE<br />

1600 GOSS 9800:PRINT<br />

1 RI6HT,SF1ORMAT OR DATA'<br />

1601 1DOWN2, GET 6$:1F 6$.1"THEN 16<br />

30<br />

1602 IF 6$0<br />

11603<br />

REM SAVE FORMAT<br />

F"THEN 1609 PRINT02,FO:PRINT#2,7<br />

11610 6FOR 06.0 1TO<br />

6<br />

:FOR H.0 TO FD<br />

:IF 8$(6,10."THEN 8$16,<br />

H1."<br />

1615 PRINT12,86(6,H1INEXT<br />

:NEXT<br />

1620 REM SAYE SCREEN LAYOUT<br />

1621 SC.49152:C0.52229<br />

:FOR I.SC TO SC+919<br />

IPRINT62,CHRSCPEEK(I)1CHR<br />

CPEEK1C0.11-SC)1i<br />

1622 NEXT:CLOSE 2:RETURN<br />

1623 t<br />

1624 REM SAVE DATA<br />

1630 PRINT12,1":PRINT42,RC<br />

1631 FOR 6=1 TO RC-1<br />

:FOR H=0 TO FD<br />

1PRINT112,AC4,6::NEXT:NEXT<br />

:CLOSE 2:RETURN<br />

1632<br />

1633 REM INPUT FILES<br />

1700 IF RF THEN 1720<br />

1701 REM SAYE FORMAT<br />

1709 INPUT02,FD:INPUT112,MI<br />

1711 IF MSOINTHEN PRINT'<br />

1DOWN3,RIGHTZI ESHATA<br />

TYPE MISMATCH I I"<br />

:WAIT 198,1:CLOSE 2:RETURN<br />

1712 HSU 9980:FOR 6.0 TO 6<br />

:FOR H.0 TO FD<br />

:INPUT12,11$(6,H::NEXT:NEXT<br />

1715 REM INPUT SCREEN LAYOUT<br />

1716 SC=491521C0.52229<br />

:FOR I.SC TO SC+919<br />

:BET112,ACIF A$<br />

01 .CHRS(0)<br />

1717 THEN POKE I,ASCCACIGET02,A$<br />

A:IF AS."THEN l AS=CHRS(0)<br />

1718 POKE CO+I-SC,ASCCAI:<br />

INEXT:RF.1:CLOSE 2:RETURN<br />

1719 REM INPUT DATA<br />

1720 INPUT112,M$<br />

18<br />

1721 IF MS(PD"THEN PRINT'<br />

EDOWN3,SPC11 ICSDI<br />

ATA TYPE MISMATCHI t"<br />

:WAIT 198,1:RC=1:CLOSE 2<br />

:RETURN<br />

1722 INPUT#2,RC:FOR 621 TO R<br />

C-11FOR H.0 TO FD<br />

:INPUT#2<br />

1:CLOSE<br />

2:RETURN<br />

1723<br />

ACH,<br />

1724<br />

61:NEXT:<br />

REM UPDATE S/R<br />

1800<br />

NEXT<br />

PRINTIELEARP:EF.0<br />

:IF RC.200 THEN SYS AT,6,<br />

12:PRINT"CSN10 MORE ROOM<br />

FOR DATA':WAIT 198,1<br />

:RETURN<br />

1810 PRINT'1HOME,C7,RVSON,<br />

SPC,WHITUF1-1SEHIEC7,<br />

SPC2,WHITE1F3-ISR1EDOEC7,<br />

SPC2,WHITE1F5-1SCEMORY<br />

(07)11SR1ECORPSTRURC1"<br />

CSPC31':SYS 52156<br />

1820 FOR 1.0 TO FD:60SUB 2000<br />

:IF P.133 THEN RETURN<br />

1825 IF A$(1,RC).<br />

11RC1.":60TO<br />

1850<br />

THEN 1826 REM REMOVE EXTRA SPACES<br />

1830 C0.01FOR 1.0 TO-1 STEP 0<br />

:CO.004.11T.:RIGHTI(A$11,<br />

RC:,C010" "11NEXTICO2C0-1<br />

1840 AS(I,RC1.LEFTICAI1I,RC1,<br />

LENCAS:1,R01-00/<br />

1850 NEXT:RC.RC4.1:60TO 1810<br />

1860 1<br />

1870 REM MAIN INPUT S/R<br />

1880 REM SET UP ZERO-PAGE<br />

LOCATIONS FOR M/C INPUT<br />

2000 Y.VAL(8$10,M<br />

1 X2VAL (8$ (10 )<br />

:SYS AT,X-3,Y-61POKE 231<br />

:POKE 1 252,VAL(6$(3,1)1<br />

2010 0POKE<br />

253,VAL(LEFTS:13114,<br />

1/0))<br />

2011 REM PRINT CURSOR AND<br />

SET INPUT POSITION<br />

2020 PRINT"1CO,UPP<br />

:SYS AT,X-2,Y-6:It.""<br />

:FOR T.0 TO 1 STEP 0<br />

:SYS 51885:P=PEEK(254)<br />

IF EF THEN 2035<br />

2021 IF P2135 THEN 60SU8 9800<br />

:GOSH 2400:NEXT<br />

2025 IF P.I34 AND I THEN I$.<br />

1$.0 ":60SUB 2420:T=1:NEXT<br />

:60TO 2000<br />

2030 IF P.133 THEN T.IINEXT<br />

:RETURN<br />

2031 REM DELETE CHARS<br />

2035 IF P.20 THEN IS.LEFTSCI<br />

$,PEEK(25111:NEXT<br />

character. This gives a visual<br />

representation of the fi eld<br />

length, but on the bottom line<br />

is a count of the number of<br />

characters. The cursor may be<br />

moved until either a length of<br />

255 is reached, or another<br />

character is encountered in<br />

front of the cursor. RETURN<br />

sets the length and DEL allows<br />

you to move back the cursor.<br />

The final part of this section<br />

of the program is typing in the<br />

field name. You will be<br />

prompted to do this on the<br />

bottom line after defining the<br />

length. All the processes discussed<br />

then have to be<br />

repeated for each field. As in<br />

the previous section for<br />

defining the screen layout, in<br />

this section the function keys<br />

have certain uses. They are; Fl<br />

(Exit) returns back to the<br />

beginning of the program; F3<br />

(Clear) homes the cursor and<br />

resets the field count to one; F5<br />

(Back) allows you to go back<br />

and redefine the previous field<br />

if you made a mistake.<br />

When you have finished<br />

defining the database the<br />

program will ask if you wish to<br />

save the data to tape or disk. If<br />

you choose tape remember to<br />

take note of the tape count.<br />

You must also wind the tape<br />

back to the position of the main<br />

program so that it can be autorun<br />

(of course on disk this is<br />

automatic).<br />

Management or Main<br />

Program<br />

When the main program has<br />

auto-run, press any key to exit<br />

the intro screen so that you are<br />

then presented with the main<br />

menu. In the top right of the<br />

screen is printed the number of<br />

empty records remaining i.e.<br />

how many more records can be<br />

input. Laid out below this are<br />

the 10 main functions of the<br />

management program which<br />

can be accessed by pressing<br />

zero to nine, When the<br />

program is fi rst run only<br />

options one and eight can be<br />

selected since no data is<br />

present and also there is no<br />

'format' where it can be held.<br />

The formatting can be done<br />

using option eight, which will<br />

be described later, or option<br />

one can be used to lead in a<br />

format or any data.<br />

To describe how to use the<br />

program ril go through each<br />

option in turn:<br />

1 — Press this yields yet<br />

another menu with five more<br />

options all of which are really


self-explanatory. When any of<br />

these are selected you will be<br />

asked to supply a filename. This<br />

must be no longer than 16<br />

characters. Typing 'E' will exit<br />

to the main menu. Before<br />

describing other parts of DATA<br />

I/O, I must first describe the<br />

unusual method in which the<br />

program handles data files_<br />

Files can be loaded/saved in<br />

one of two forms either<br />

program data, i.e. the actual<br />

records of data or the format<br />

data. The format data takes a<br />

while to load/save even with<br />

disk since it is itself split into<br />

two halves. Firstly, the format<br />

parameters are saved i.e. field<br />

length, name etc, and then the<br />

screen layout data which takes<br />

the time to load. Saving the<br />

data as two separate files may<br />

sound strange but it creates a<br />

very fl exible system. For<br />

example, if you select load<br />

from tape and a format is<br />

already present (if not then<br />

program automatically<br />

assumes you wish to load a<br />

format), firstly, you will be<br />

prompted to enter the type of<br />

file to be loaded: "Format or<br />

data?". This means that if you<br />

select data you can load in<br />

different sets of data for the<br />

same format, so it is possible to<br />

create many data files from one<br />

format fi le so overcoming<br />

memory limitations. If you<br />

select format and load a new<br />

format then the data present<br />

will be erased and new data file<br />

must be loaded.<br />

If you try to load a file which<br />

is data but you select format<br />

when prompted the computer<br />

will give an error message after<br />

reading the fi le header and<br />

return to the menu.<br />

Note<br />

The data I/O option cannot be<br />

used to load a transfer file from<br />

the format program. Option<br />

eight must be used for this.<br />

The next, option two, is<br />

print fi le. I have left this<br />

unwritten since I have no<br />

printer and also there are many<br />

different types, but provision<br />

has been made for a subroutine.<br />

If pressed the menu<br />

will just be listed again. My<br />

suggestion is to place the<br />

subroutine starting at line 4200<br />

which means the third line<br />

number (30) in the ON...<br />

GOSUB at line 35 must be<br />

altered. To help you the sir at<br />

4005 will list all the records<br />

found by a search. Also look at<br />

the view option. Finally, the<br />

C64/C128<br />

2040 IF P013 THEN ISEISI.CHR<br />

S(P):NEXT<br />

2041 REM CHECK FOR EDIT FLAB<br />

2610 PRINT<br />

1 ON VAL(BCGOSUB 2620,<br />

CCLEAR 3000,3093,2890<br />

array B$ holds the format data<br />

and B$ 'fi eld number two)<br />

contains the name of each field<br />

and records are held by AS in<br />

2045 IF EF AND 6$0"0"THEN<br />

EI1NEXT:RETURN<br />

r :PRINT'ICLEAR,WHITEr<br />

:IF RC>1 THEN 2500<br />

the form A$ (field number,<br />

record number).<br />

2050 AS(I,RC)EISIIF LEFTS(BS<br />

(40),1)0"3"THEN PRINT C<br />

HRS(20):RETURN<br />

2060<br />

2615 SYS AT,8,101PRINT"<br />

IRVSON,SPC,S1110 RECORDS<br />

REMAININS 1<br />

:WAIT : 198,1:RETURN<br />

The third option Updateallows<br />

the updating of the file<br />

i.e. typing in new records.<br />

When pressed, the layout you<br />

designed using the format<br />

2070 REM CHECK IF INPUT IS<br />

IN RANH<br />

2300 VL.VAL(AS(I,RC))<br />

:KS.MIDS(BS(4,1),2<br />

2620 6OSUB SYS AT,10,8:INPUPUR)<br />

ECORD 9 8NO.";ER:IF 0 ER KSE"B"ANDO/LVA1ORi<br />

KS.">=<br />

UB 1 9800:NEXT<br />

2360 AND ASII,RNEISIPRINT CHRS(<br />

CSF3ORWARDIC7,SPC,WHITE,<br />

SC-CSAJLTEREC7,SPC,WHITE,<br />

SD)-ESD3ELIC7,SPC,WHITE,<br />

SE)-ISENITEC7,SPC,HOMEr<br />

:GOSUB 3420<br />

2631 IF SWA'THEN 2640<br />

2635 IF SWEITHEN RETURN<br />

2636 SOSUB 2830:IF RC>1 THEN<br />

POKE 198,11POKE 631,60<br />

;SOTO 2630<br />

hand corner,a number displays<br />

the current record being typed<br />

in, as usual the function keys<br />

have been used which are also<br />

displayed on the top line they<br />

are: (Exit) will exit back to the<br />

main menu, this will not update<br />

the record counter and any<br />

data that was typed for the<br />

current record will be last: F3<br />

(REDO) this allows the user to<br />

retype the previous field, while<br />

VL< 20):RETURN<br />

2370YA1<br />

2380 THE REM FREE BYTES ROUTINE<br />

2400 N PSESTRUFRE(0))+<br />

1 BYTES B<br />

FREMLNELEN(PS)<br />

O<br />

;FOR PEI TO LW<br />

S:POKE<br />

19904.P,ASCNIDCPS,<br />

P,11)<br />

2410 POKE 562624,1:NEXT<br />

2637 RETURN<br />

2640 SOSUB 98001PRINTs[NOME,<br />

RVSON,C7,SPC5,WHITE,SPC,<br />

SUELECT DATA AND PRESS<br />

ESPC,SR,SE,ST,SU,SR,SN,<br />

SPC,C7,SPC43<br />

2650 6SYS<br />

AT,0,241PRINT<br />

1 RVSON,SPC,SHITE,SU)<br />

(C7, SE CURSOR KEY TO MOVE UP/<br />

deleting any data that has been<br />

typed on the current field; FS<br />

(Memory) displays on the<br />

bottom line the number of free<br />

bytes remaining, this may take<br />

a few seconds and is due to<br />

FRE(0) and not to my program.<br />

The number will remain on the<br />

bottom line until any key is<br />

pressed.<br />

The fourth option - Edit- is<br />

:POKE 198,01WAIT 198,1<br />

:FOR P.1 TO LW<br />

:POKE 19904,32:NEXT<br />

:RETURN<br />

2415 1<br />

2416 REM REDO S/R<br />

DOWN(C7,6PC,WHITE,SEHSE1<br />

XITIC7,SPC,HOME)<br />

2655 DEO:606UB 2980<br />

2660 SET GS:IF StePTHEN 26<br />

30<br />

2680 IF DetUPPTHEN GOSUB<br />

probably the most complex in<br />

the program but has some very<br />

powerful function. When<br />

pressed you are presented with<br />

another menu. Again I will go<br />

through these options in order<br />

starting with Edit. After<br />

2420 AS(I,RC)EISIDEI:ERERC<br />

160SUB 2970:PRINT L$11E1-1<br />

:DEI:50SUB 2970:PRINT LS<br />

:RETURN<br />

2985:D4-1:IF DO-1 THEN<br />

GOSUB 2980<br />

2690 IF DO THEN D.FD<br />

:SOSUB 2980<br />

selecting this and entering the<br />

number of the record you wish<br />

to edit, once entered, the<br />

screen will display the record,<br />

and the bottom line will list the<br />

2430 1<br />

2440 REM EDIT SIR<br />

2500 PRINT TAB(13)<br />

1 STI ISM,SE,SN,SUP<br />

ESEpSD ;PRINT TAB(13)<br />

I SPRINT 1 TABI8)<br />

SI, 1ISPC,SUDIT<br />

(C19r RECORDS.<br />

2530 (DOWN11<br />

PRINT TAB(8)<br />

1 --ESPC,SEEARCH<br />

& REPLACE<br />

2700 IF 6WEDOWN3<br />

'THEN SOSUB 2985:114+1<br />

:IF DOF0+1 THEN GOSUB 29<br />

80<br />

2710 IF D>F1) THEN 2635<br />

2720 IF 61OCHRS(13)THEN 2660<br />

2730 GOSUB 9800:PRINT"EHOME,<br />

RVSON,C7,SPC4,WHITE,SPC,<br />

SEELECT EDIT OPTIONkey<br />

function. The top right<br />

shows the record currently<br />

being displayed using the<br />

inequality keys ( ). You can<br />

look at other records going<br />

backwards/forwards and when<br />

you have definitely found the<br />

record you wish to edit,<br />

pressing 'D' will delete the<br />

whole record, 'E' will exit back<br />

to the menu or 'A' will allow<br />

[DOWN]2 .<br />

1-ISPC,SEEARCH<br />

& DELETE.<br />

2550 1PRINT<br />

TABIEIEDOWN)4<br />

P-[SPC,SELOCK<br />

DELETE.'<br />

R:PRINT<br />

TAMPIDOWN]5 -<br />

ISPC11,C7,SPC4I°<br />

2740 SYS AT,0,24:PRINTqC7,<br />

RYSON,SPC2,WHITE,SPC,S0)-<br />

CSOIYERWRITE[SPC,C7,5P02,<br />

WHITE,SPC,SONSUELETE<br />

you to alter it. Selecting 'A'<br />

changes the prompts on the<br />

bottom and top lines and also<br />

turns the data in the first field to<br />

inverse video. Using the cursor<br />

up/down key, you can select<br />

IESPC,SENIT.CDOWN31<br />

2590 NSOSUB<br />

5800:IF SWPOR<br />

T<br />

6S>"5"THEN 2590<br />

2600<br />

T<br />

IF 611.<br />

1<br />

A<br />

5<br />

B<br />

1<br />

(<br />

THEN<br />

B<br />

R<br />

)<br />

E T U<br />

CSPC,C7,SPC,WHITE,SPC,SE<br />

-ISEHIT[SPC,C7,SPC2,HOME)<br />

2750 SET SS:IF SWEITHEN SO<br />

19<br />

the field to alter when you have<br />

it, pressing RETURN will<br />

change the prompts again for<br />

the third and final time asking<br />

you to select the 'Edit option',<br />

D will delete all the data in the


field or '0' will allow you to<br />

overwrite new data into it. If<br />

you made a mistake selecting<br />

thefield,Ewill let you exit back<br />

to choose another field.<br />

Next on the EDIT menu is<br />

SEARCH and REPLACE.Thisisa<br />

very powerful feature using<br />

fully all the SEARCH routines in<br />

the program. After selecting<br />

the field you wish to search,<br />

type in the search data. The<br />

String must be prefixed with<br />

character to indicate which<br />

type of search is to be done.<br />

The sixdifferenttypesarelisted<br />

at the top of the screen (for<br />

information on these see the<br />

documentation on for the<br />

search option).<br />

If scan string is used it can<br />

be made to insert data in a<br />

number of records e.g. to insert<br />

a middle name into MARK<br />

ANTHONY you would type;<br />

Search data ?@ANTHONY<br />

Replace data?ANDREW<br />

ANTHONY<br />

The name ANDREW would<br />

then be inserted at every<br />

occurrence of this name, but<br />

be careful since the routine<br />

searches for the fi rst<br />

occurrence of the string within<br />

a field, Le. if you wanted to<br />

insert my middle name DANIEL<br />

into GARETH THOMAS you<br />

could not use the shortened<br />

version e.g.<br />

Search data?@TH<br />

Replace data?DANIEL TH<br />

since the result would be<br />

GAREDANIEL TH THOMAS<br />

because TH occurs twice in my<br />

name, instead you would have<br />

to type the whole e.g.<br />

Search data?gTHOMAS<br />

Replace data?DANIEL THOMAS<br />

Search and Delete is similar<br />

in operation and replace. If you<br />

select any of the search options<br />

apart from '@' scan string the<br />

whole fi eld will be deleted.<br />

Using scan string can enable<br />

you to delete from inside a<br />

string e.g. to delete my middle<br />

name;<br />

Search data? @ DANIEL<br />

Note the space before DANIEL,<br />

since otherwise the result<br />

would be CARETHTHOMAS<br />

because the new string is<br />

reassembled around the<br />

position of the old one and<br />

their are two spaces around the<br />

old one.<br />

SUB 4400:60TO 2640<br />

2760 REM DELETE FIELD<br />

HOMEPIGOSUB 9800<br />

2906 GET 68:IF 68=<br />

2770 IF 6$N<br />

1 ER)N":GOSUB 4400<br />

DITHEN 160TO 2640<br />

A2780 S IF ( 6$0 D<br />

2781<br />

, 1 REM OVERWRITE FIELD-CAL<br />

0 L INPUT S/R WITH EDIT FLA<br />

1 6 SET SAVE MAIN VARIABL<br />

THEN ES<br />

2790 2 7GOSUB 5 29701ECACIRCNER<br />

0 1120160SUB 2000<br />

2800 IF ISN"THEN AS(D,ER)N<br />

1<br />

2810 RCNEC:GOSUB 4400<br />

:60TO 2640<br />

1 TURN<br />

N2907<br />

IF 610<br />

1 12910<br />

PRINPECLEARY<br />

THEN Y :SYS AT,9,14:PRINT R E<br />

1 1ESPC,SD,SE,SL,SE,ST,SI,SN,<br />

THEN 8SG,SPC3$<br />

8<br />

22911 9REM 0MOVE<br />

RECORDS DOWN<br />

6 TO DELETE BLOCK<br />

2920 FOR 0N07+1 TO RC-1<br />

FOR FNO TO FD<br />

:Al(F,OF-1+(0-0T))=AliF,DI<br />

!NEXT:NEXT<br />

2930 RENRC-M-OFWIRETURN<br />

2940 1<br />

2830 SYS AT,0,24:PRINT 2950 REM DELETE DATA ON SCRE<br />

1 RVSON,SPC6,WHITE,SPC3,SU<br />

EC7, RE YOU SURE7ESPC4,C7,<br />

EN FOR OVERWRITE<br />

2970 LIN":FOR LN1 TO LENCAS<br />

SPC12,HOME1<br />

2840 GET GIF 6$N<br />

1 TURN<br />

N2860<br />

IF 6$0<br />

1 12870<br />

SYS AT,0,24:PRINT'EC7<br />

THEN Y1<br />

RYSON,SPC8,WHITE,SPC5,SU<br />

R E<br />

1 ELETING DATA.. ESPC4,C7<br />

THEN 1SPC4,HOME/<br />

22871 8REM 4MOVE<br />

RECORDS ABOVE<br />

0<br />

DELETED ONE DOWN<br />

2880 FOR CNER TO RC<br />

:FOR FNO TO FD<br />

:A1(F,C)NAliF,C41/1NEXT<br />

INEXTIRCNRC-IRETURN<br />

2881<br />

2882 REM BLOCK DELETE S/R<br />

iD,ERHILSNLO"INEXT<br />

:GOSUB 2995:PRINT L$<br />

:RETURN<br />

2975<br />

2976 REM S/R TO HIGHLIGHT<br />

CURRENT FIELD TO EDIT<br />

2980 GOSUB 29951PRINT<br />

1 'AS(D,ER)IRETURN<br />

ERVSON1<br />

2985 USUB 2995:PRINT A$(D<br />

1<br />

2890 SYS AT,5,6:INPUT'ESDI<br />

ELETE FROM-<br />

1:IF<br />

DF(1 OR DFAC-2 THEN<br />

0F 2890<br />

2895 ERNDF:M$N<br />

1 SPC9,WHITE,SPC,SURE YOU<br />

ERYSON,C7 SUREEY/WESPC,C7,SPC10,<br />

1<br />

HOMEMGOSUB 9800<br />

:60SUB 4390<br />

2896 EET GSIIF 6$N<br />

1 .N"ECLEARY:60TO 2890<br />

N2897<br />

IF 5$0<br />

1 12900<br />

PRINT<br />

THEN Y"THEN<br />

1 1SYS AT,5,101INPUTIESD1<br />

P R<br />

2ECLEAR ELETE 8 9 6<br />

Y :IF DT(NDF OR DI)RC-1 THE<br />

N 2900<br />

2902 ERNDT:SOSUB 9800<br />

:GOSUB 4390<br />

2903 GET GS:IF ESNWTHEN PR<br />

INT<br />

2904 1IF<br />

6$0<br />

12905<br />

EC SYS AT,0,24:PRINT<br />

Y1<br />

ERVSON,C7,SPC,WHITE,SPC,<br />

LE<br />

1 SD10 ARYOU<br />

WISH THE DELETE<br />

THEN 1TO<br />

60 AHEAD<br />

2 191<br />

0<br />

3 00 ESPC,C7,S<br />

TO PC,<br />

2<br />

ER):RETURN<br />

3040 ITSNLEFTWS,1)<br />

:LNNLECSSI-IISSNRIGHTItS<br />

$,LN1:GOSUB 3599<br />

3050 IF CPS:"THEN 3000<br />

3060 PRINT TABEIOPEDOWN2,S111<br />

EPLACING—ESPC,DOWN31<br />

1FOR DN1 TO LENICPSI<br />

IPNASCiMIDS(CPS,D,1))<br />

3070 IF IT$0<br />

1 PINIS:GOTO 3092<br />

83075<br />

REM CHECK LENGTH OF STR<br />

1 ING DOES NOT EXCEED FIELD<br />

THEN<br />

LENGTH<br />

A3000 lIF i LENiAS(SI, S I<br />

, P1)-LPLENtIWNVALE8$0,<br />

SIHTHEN 3091<br />

3090 PRINT TAB(3)<br />

1 ESPC,SS1TRIN6 TOO LONG<br />

EUMI IN?' 1 1<br />

2990 SYS AT,0,24:PRINT"EC7,<br />

1 RVSON,SPC,WHITEWI-ESDI<br />

ELETEESPC,C7,SPC,WHITE,<br />

SPC1F3-ESONERWRITESPC,<br />

C7,SPC,WHITE,SPC)F5-[SE)<br />

XIT(SPC,C7,SPC2,HOME)<br />

:GOTO 1 3092<br />

3091 ACSI,P)NLEFICASiSI,P/<br />

1GOS<br />

PS-IMPRIGHTSEASESI<br />

UB<br />

ILENiAS(S1<br />

9 8<br />

3092 N, 1NEXTIGOSUB<br />

0 0 98001RETURN<br />

3093 P))- EFNIIISNO6OSUB 4350<br />

(PS-1+1.Ni<br />

IINPUT<br />

I1IELD<br />

N0.(-1 TO EXIWOI<br />

EDOW :IF SIN-1 THEN RETURN<br />

3094 N2 IF 5I(1 OR SI)FD+1 THEN<br />

I<br />

3093<br />

3095 RIGHT SINSI-1:INPUT<br />

1 2,SF] RIGHT2,SEEARCH DATA<br />

EDOWN2, 1:IF<br />

SIN"THEN 3093<br />

3096 0$ ITSNLEFTS(9,1)<br />

:LNNLEN(SS)-119NRIGHTSiS<br />

2991 REM CURSOR SET SIR<br />

2995 SYS ATM:L(13(1,0)1-3,<br />

YAL(BC0<br />

2996 I 1<br />

2997 D)-61RE REM SEARCH & REPLACE<br />

TURN<br />

S/11<br />

3000 EFN ISNO:GOSUB 4350<br />

:INPUT<br />

1IELD<br />

WO.(-1 TO EXIT)"01<br />

EDOW :IF SIN-1 THEN RETURN<br />

3010 N,RIG IF SI(1 OR SI>F0+1 THEN<br />

HT2,S<br />

3000<br />

3020<br />

N<br />

SSN"ISINSI-1<br />

:SYS AT,2,16:INPUT<br />

1EARCH<br />

DATA<br />

ESS1 1:IF<br />

Ste<br />

3025 0$ 1SYS<br />

AT,2,18:PRINT<br />

1 THEN EPLACE DATA<br />

ESRI 371 :SYS 0AT,15,18:POKE<br />

251,0<br />

3026 01XN181Y REM 0CALL<br />

INPUT ROUTINE<br />

224 TO MAKE SURE DATA CONFOR<br />

MS TO FIELD TYPE<br />

3030 POKE 252,VAL(B$(3,61))<br />

:POKE 253,VAL(LEFTSEBS(4,<br />

SII,1))00SU8 2020<br />

3031 REM CALL SEARCH SiR<br />

20<br />

$,LN)00SUB 3599<br />

:IF CP$<br />

3097 01 PRINT TAB(9)IEDOWN2,<br />

RVSON,SPC,SIDELETING—<br />

THEN<br />

3':FOR 0 ON1 9 TO LENiCPSI<br />

3:PNASCEMIDS(CPS,D,1))<br />

3098 IF IT$0<br />

1 P/N":NEXTIRETURN<br />

13099<br />

ASiSI,P/NLEFTS(ACSI,PI<br />

1o<br />

PS-1)4111MACSI,PI,PPLN,<br />

THEN LENCASiSI,P I:NEXTIRETURN<br />

3100 A tPRINPECLEAR,WHITE, i S I<br />

,<br />

DOWN3,RIGHT2,SP3RESSO<br />

:PRINT TABE5PIDOWN211<br />

-ESPC,ST10 VIEW A RECORD.<br />

3101 PRINT TA8(3)<br />

1 -ESPC,S110 VIEW ALL RECO<br />

EDOWN2I2<br />

RDS.<br />

13<br />

-ESPC,SENIT.<br />

3102 :PRI GET GS:IF 6S=<br />

1 NT 20<br />

23103<br />

TA IF 6$<br />

10<br />

3104 Bi5 IF 6$0<br />

THEN 33105<br />

1 I<br />

PRINT 3 1<br />

1<br />

1<br />

THEN CCLEAR 1 ED<br />

R1THEN OW E T<br />

U3 N2] R1 0N<br />

2


3106 SYS AT,4,8:INPUTICSR1<br />

ECORD NMIER:IF ER(1 OR<br />

EURC-1 THEN 3106<br />

3108 MOTIVSON,C7,SPC7,<br />

WHITE,SPC,SPIRESS A KEY<br />

TO EXITISPC,C7,SPC11,<br />

HOME1<br />

3109 1WAIT<br />

198,1:GOTO 3100<br />

3120 160SU PRINT'ECLEAR,DOWN4,<br />

B RI5HT4,SA,SN,SY,SPC,SK,SE<br />

4SY,5PC1TO 3 9 SCROLL 1<br />

01BEPTO<br />

EXIDOWN21<br />

3150 SYS AT,6,10:INPUT<br />

. ECORD NO.(-1 TO EXIT)'ISP<br />

(SR) :IF SPs-1 THEN RETURN<br />

3160 IF SP(' OR SP)RC-1 THEN<br />

3150<br />

3165 REM DISPLAY FILES BY<br />

SCROLLING<br />

3170 PRINT'ECLEAR]<br />

3220 FOR PsSP TO RC-1<br />

:PRINT'UNSON,SPC,SR1<br />

ECORD 11FOR S1120 TO FD<br />

'PRINT 88(2,SR)'<br />

I "ACSR,P)<br />

3230 GET 6$:1F GWE'THEN 31<br />

00<br />

3240 NEXT: PRINT'<br />

- - -ESPC,UP21<br />

3260 WAIT 198,1tNEXT<br />

:WAIT 197,64:POKE 198,0<br />

:WAIT 198,1:6010 3100<br />

3400 SYS AT,7,31INPUMSR1<br />

ECORD NMIERIIF ER(1 OR<br />

EURC-1 THEN 3400<br />

3415 Mits'IC7,RVSON,SPC4,<br />

WHITE,SPC(-1SEACK1SPC,<br />

C7,SPC2,WHITE,SPC))-(SF1<br />

ORWARD(SPC,C7,SPC2,WHITE,<br />

SPC,SE)-1SE3X1T1SPC,C7,<br />

SPC4,HOME1<br />

3416 REM S/R TO DISPLAY RECO<br />

RDS WITHOUT SCROLLING USI<br />

N6 SCREEN LAYOUT<br />

3420 FOR Ts0 TO 1 STEP 0<br />

1PRINT'EHOME,C7,RVSON,<br />

SPC2<br />

1CSPC29P<br />

3430 SR1E 60SUB 4400<br />

3450<br />

COR<br />

GET 6$:1F 60<br />

0<br />

D<br />

D'OR 6$.<br />

POR<br />

i<br />

1:RETURN<br />

S<br />

6 3470<br />

T<br />

PTHE $ IF<br />

R<br />

8 5$0yTHEN ° 3480<br />

3475 C<br />

N ERsER-1:IF E<br />

1 ERs0 THEN ER<br />

R<br />

. •RC-1<br />

P<br />

3478 '1:N NEXT<br />

3480 EXT IF 6$0<br />

13490<br />

ERsER4.1:IF ERaRC THEN E<br />

. Ral<br />

1<br />

THEN<br />

3 4 5<br />

0<br />

3495 NEXT<br />

3496 i<br />

3497 REM SEARCH 6/R<br />

3500 EFs01PRINTIECLEAR1'<br />

:SOSUB 4350:PRINTIEDOWN,<br />

RIGHT3,GREEN,SEATER IN<br />

FORM<br />

1ELERVSON,SS,RVSOFF1<br />

11<br />

EARCHTYPE1RVSON,SD,RVSOFF1<br />

RV<br />

ATA SO<br />

3505 N, PRINT'IDOWN,RIGHT,<br />

YELLOWYESEY<br />

SF<br />

TO EXIT<br />

(SC)<br />

,R<br />

1 YIEW(DOWN2)<br />

VS<br />

3510 T<br />

OF<br />

SO":POKE 198,0<br />

O :INPUT S$11F SWE<br />

F1<br />

C.<br />

PO: RETURN<br />

3520 LTHEN<br />

IF SW I<br />

0 E<br />

ICPW.":60TO 3500<br />

C"THEN<br />

3525<br />

A<br />

IF SlierAND CP$0"THE<br />

I SR N PRINT*ICLEARr<br />

a<br />

0 '<br />

:605U8 4005<br />

3526 IF S$s"OR LEN(S$)(3 TH<br />

1<br />

EN 3500<br />

S<br />

3530 SIS.LEFTS(9,1)<br />

V<br />

ilF SI$C1<br />

r<br />

STRWD+11,1)THEN 1<br />

3500<br />

3535<br />

T<br />

OR SIEVAL1SICISIsSI-1<br />

O<br />

SIOR 1606U8 359815010 3500<br />

3536 IGHT 1<br />

3537 li( REM MAIN S/R<br />

3598 ITOMIDS(9,2,1)<br />

tOOLEN:9)-21SWERIEHTS(6<br />

$,LN)<br />

3599 IF ITS0*!"AND ITSOlt"<br />

AND IT$0<br />

. ND ITS()">"AND ITC)"<br />

1"AND (UP-ARROWTHEN RETURN<br />

3600 I IF T EF S THEN 0 PRINT'ECLEARI<br />

1'1SYS<br />

AT,0,8<br />

3601 ( PRINT " A TAB(5)sIDOWN,SS)<br />

EARCHIN6.,<br />

3602 IF IS.0 THEN IN<br />

:60SUB 380016010 3621<br />

3610 60SUB 3810<br />

3621 IF CPSONNTHEN 3630<br />

3625 60SUB 9800:PRINT TAB(5)<br />

'IUP11 SERVSON,SPC,SN10<br />

DATA FOUNDESPCOVSOFFA<br />

1':60SUB 3900<br />

3626 IF IS THEN CPPCN$<br />

3627 RETURN<br />

3630 114LENICPC:PRINT TAM<br />

)'1UP1'STRCIM1<br />

1 FOUND't6OSUB 9800<br />

3640 RECOR GOSU8 39001RE1URN<br />

3700 DS 1<br />

3710 REM SEARCH SUBROUTINES<br />

3720 REM DIRECT COMPARISON<br />

3781 IF ITSe!'AND SS.A$(61<br />

$ WHEN CPS.CPOCHRS(6)<br />

C64/C1213<br />

For both edit related<br />

3782 IF ITSO[UP<br />

searches it should be noted<br />

- 'AND SWACSI,<br />

ARRON] 6)THEN CPOCPOCHRS(6)<br />

3783 IF ITWOAND SOACSI,<br />

6)THEN CPS.CPOCHRS(6)<br />

that the first occurrence of the<br />

string is used and also that the<br />

whole of !the fi le will be<br />

searched for the necessary data<br />

even if one alteration is made.<br />

3784 IF ITS."”AND SCA$(S1,<br />

6)THEN CPS•CPS+CHRS(6)<br />

The fi nal EDIT option is<br />

Block Delete. This allows you to<br />

3785 NEXT:RETURN<br />

delete large chunks of records<br />

3786 1<br />

3787 REM WILDCARD<br />

3790 IF LEFTS(ACSI,6),<br />

quickly, just enter the numbers<br />

of the first and last records to<br />

be deleted and the program<br />

will do the rest.<br />

0).SITHEN CPW=CPS+CHRS(6) Now back to the main<br />

3795 NEXT:RETURN<br />

3796 REM SEARCH STRIN6<br />

3797 FOR Sal TO LEN(ACSI,<br />

60-L01<br />

menu. Next is the view option<br />

file. This is very simple, you can<br />

either view one record (this<br />

uses the format layout) or you<br />

can select a record to start from<br />

3798 IF SW.MIDUAS(91,6),S<br />

1 LN)THEN CPS.CPS+CHRS(6)<br />

3799 NEXT:NEXT:RETURN<br />

3800 CPS.":FOR 6.1 TO RC-1<br />

:60TO 3820<br />

3810 CNS.CPW:CPS.'<br />

:FOR Tail TO LEN:CNS)<br />

IGEASC(MIDS(CNS,T,1))<br />

and scroll the whole file. If you<br />

wish to view all the records,<br />

holding down a key will cause<br />

them to scroll down the screen.<br />

If you release the key the<br />

records will pause. Pressing 'E'<br />

will exit back to the start.<br />

Sixth on the main menu is<br />

the Search option. To make it as<br />

fast and easy as possible<br />

information is entered about<br />

3820 IF ITS."S'THEN 3790 the field and search type in one<br />

3830 IF ITS<br />

string e.g. to search field three<br />

03840<br />

IF ITS."("OR 11.<br />

1"THEN 1 ITte(UP-ARROW]<br />

3) 'OR 7 ITS."!"THEN 9 3781<br />

comparing directly and<br />

searching for LONDON you<br />

would enter;<br />

71<br />

3900 FOR Nil TO 1000:NEXT<br />

0R:RETURN<br />

3905 1<br />

3910 REM DISPLAY RECORDS FOU<br />

ND<br />

4000 PRINT TAB(6)<br />

. RVSON,SP,SR,SE,SS2] (BA,<br />

[DONN2, SN,SY] 1SK,SE,SY1 E51,901<br />

:MON DON<br />

The computer will then tell<br />

you how many records it finds<br />

but it will not display them.<br />

Instead the screen is set to its<br />

original form and you are<br />

prompted for more data. The<br />

next search done will not<br />

ISS,ST,SA,SR,ST,RYSOFF1' search all the records but it will<br />

:WAIT 198,1:PRINPECLEAR1 search only these found by the<br />

4005 FOR Ds1 TO LEN1CPC previous search, this means<br />

:PEASNMID$(CP$,D,1))<br />

4010 PRINT<br />

1 ECORD 'P:FOR Slis0 TO FD<br />

CRYSON :PRINT B$(2,SR)"<br />

,SPC,SRI 1 "AUSR,P):GET 6$<br />

OF 8WEITNEN RETURN<br />

4040 NEXTIPRINT°<br />

that you can continually search<br />

a decreasing number of<br />

records using different search<br />

formats and so narrowing<br />

down the records to the few<br />

you are looking for. This is a<br />

very powerful feature if used<br />

properly. Suppose a fi le was<br />

created of names and<br />

addresses of people for a tennis<br />

WM. - 48PC<br />

club, you might need to search<br />

INAIT I198<br />

4050 1WAIT<br />

UP21 197,641WAIT 198,1<br />

11NEX !RETURN 1<br />

4060<br />

T<br />

t<br />

4070 REM SEARCH INTRO SIR<br />

for all the people living in<br />

BATH who play singles and<br />

have a name beginning with A.<br />

Let's suppose that field one is<br />

Name, two is Address and three<br />

is type of player. You would<br />

4350 PRINT*1CLEAR,RVSON]l<br />

MVSOFFIWILDCARDISPC,<br />

RVSONflERYSOFFICOMPARE<br />

enter 2@BATH (need to scan<br />

all of the address for the string<br />

BATH)<br />

DIRECTLYESPC 1*<br />

CRYSOFFNCAN I PRIM<br />

3!SINGLES<br />

RVSON11<br />

a rid then enter 'v' to view.


4360 PRINT"IRISHT,RVSON3(<br />

AM<br />

YOU WISH TO SAYE DATAIY/ 8250 REM MAIN MENU<br />

CRYSOFF1LESS THANISPC<br />

4600 GOSUB 4735:IF 8$2"TITHE<br />

QPIN'THEN 6060 9500 PRININCLEARYTA8(8)"<br />

1RVSONDIRYSOFF3SREATER N 4700<br />

6050 IF QSWY"THEN 6030 ENHITE,SM,SI,SC,SR,S0,8F,<br />

THANISPC,RYSON,UP-ARROW, 4610 SET GS:SYS 41,I7,11 6055 PRINPICLEAR3 SI,SL,SE364(SPC,SM,SA,SI,<br />

RVSOFF3NOT EQUAL TOIDOWN1" :PRINT GS:IF EIS 6060 1 SYS 64738<br />

SN) ESM,SE,SN,SU,SPC1<br />

:60SUB 5000:RETURN<br />

700 0<br />

:60SUB 6070 : 1 0 0<br />

"201-RCIFREEI:PRINT TAUB<br />

4370 REM RECORD IN SCREEN 4615 TITHEN IF 6t2<br />

7830 REM SORESPC21S/R<br />

1<br />

FORMAT<br />

4630 1 4PRINT'ICLEAR,0OWN21<br />

8000 PRINT"ECLEAR1<br />

9520 1PRINT<br />

TABIWI -ISPC,SD1<br />

4385 REM 6 AND 25 SPACES E LOAPCHRSI3414F64.FORMsC 1 :SOSUB 5000<br />

EATAESPC,S11/B01."<br />

4390 PRINT'ICLEAR,RVSON,C7, 1 HRS(34)°,8<br />

8010 INPUT<br />

C:PRINT<br />

TABI8)'EDOWN32 -<br />

SPC6,SRECORD- THEN 4650 6POKE<br />

631,131POKE 632,13 1 WHICH FIELD(-1 TO EXIT)'; TISPC,SPAINT<br />

FILE.'<br />

1ISPC251<br />

R :POKE :PRINT'IDOWN41RUNIHOMEI'l<br />

E T<br />

IDOWN2, SF<br />

2:PRINT<br />

TABI8)'IDOWN33 -<br />

4400 STRSIER1<br />

1SYS<br />

521561FOR 020 TO FD U 1RNEW 9N8 , 2<br />

SEORT 8020 IF SF•-1 THEN RETURN 1ISPC,SUPDATE<br />

FILE.<br />

1:SYS<br />

AT<br />

4700 PRINT<br />

B8030 IF YSRI<br />

OR SF)F0+1 THEN 9550 1PRINT<br />

TAB(8)'IDOWN34<br />

IVALCBS(0,D11-6<br />

. IND TO FORMAT PROGRAM t PRINT<br />

-ISPC,SE3DIT FILE.'<br />

VAL( :PRINT ASCD,ER):NEXT IDOWN2, PRESSISPC,RYSON,SR,SE,ST, 8040 1PRINT<br />

TAB(9)'IDOWN411 :PRINT TAB(8)<br />

4410 BS(1 SYS AT,0,241PRINT M$ RI5HT, SU,SR,SNI<br />

CUP2 IESPC,RVSON,SPC,SS,SO,SR, ISPC,SVIEW 1 FILE.'<br />

0))-3<br />

:RETURN<br />

911 4720 WAIT 197,11POKE 631,131 ST,SI,SN,SS,SPC,RYSOFF<br />

MBOT<br />

CDOWN35<br />

:PRINT TAB(8)<br />

4420<br />

,<br />

1<br />

:POKE 198,11NEW<br />

1SPC38 O 1<br />

-1<br />

ISPC,SEEARCH FILE.<br />

4430 REM FORMAT S/R<br />

4730 t<br />

8050 18IF<br />

08$(1,SF)2<br />

9580 CDOWN36<br />

PRINT TAB(8)'EDOWN37<br />

4440 REM EITHER LOADS FORMAT 4735 PRINT TABO4)IDOWN2,ST3 18060<br />

:N2 1<br />

:<br />

0<br />

--ISPC,SEORT<br />

FILE.'<br />

DATA CREATED BY FORMAT APE ORISPC,S01ISKIT/0)? 2"THEN 8070 RC- REM ALPHABETIC SORT :PRINT TAB(8)<br />

PROSRAM<br />

4736 6ET SS:SYS 41,22,11 88100 2IISF M2INT(N/21:FOR 0 0 A2-1 TO ISPC,SF1ORMAT 1 DATABASE.'<br />

4450 REM OR AUTO-RUNS FORMAT :PRINT 6$11F 6$0<br />

2SF 0 STEP 0:FOR J21 TO 11-M CDOWN18<br />

:PRINT TAB(8)<br />

PROSRAM<br />

1SOIDIAND<br />

6$01<br />

-1<br />

:FOR HEJ TO 0 STEP-M:LOOM -1<br />

ISPC<br />

4490 AT252038:SYS AT,6,4 4737 PAND 1RETURN<br />

6<br />

:K20<br />

9605 (DOWN39<br />

I PRINT TABIBPIDOWN10<br />

IPRINT'ESP1RESS 'EP TO 4740 THEN REM B/R TO PRINT FIELDS 8110 IF ASISF,HDAS(SF, -SNIE<br />

-ISPC,SE3XIT PROSRAM.<br />

EXIT<br />

5000 4FOR 7 620 3 TO 6 FO<br />

L)THEN FOR Y20 TO FD W BONNE<br />

4495 SYS AT,4,81PRINNSP1 :PRINT SWILEFT1. IZSEACY,H11ACY,H) 9620 DSOSUB A 5800:IF 6S(<br />

ROGRAM 0RESPC,SD3ATA(P/0)? INEXTHRETURN<br />

1<br />

L)IASIY,L12ZSINEXTIK<br />

2<br />

1 T<br />

6S)"9"THEN<br />

A<br />

9620<br />

4500 SET BS:SYS AT,25,8 50108$(2,6)<br />

8120 2ASIY,<br />

OK:NEXT:NEXT:M2INT(M/2) 09R 9650<br />

.<br />

OVALISS1:IF RF20 AND W<br />

:PRINT GS:IF 6$2 5020 REM S/R TO FLASH PROMPT H10000):NEXTI60SUB<br />

9E00 01 AND WOO AND 1108 THE<br />

600 1<br />

5800 PRINT TAB(11)1UP,SP,SR, :RETURN<br />

N 9620<br />

4505 P"THEN IF 021<br />

SE,SS21 IST,S01 ISS,SE,SL, 8130 :<br />

9655 IF RF AND 1128 THEN 9620<br />

1 4:RETURN<br />

SE,SC,STP:FOR D21 TO 65 8140 REM NUMERIC SORT 9660 IFIRF AND RC211AND W03<br />

THEN 4510 IF 6$0"DITHEN 4500 :SET 6S:IF 6$0"THEN RET 8200 M=INTIN12):FOR A2-1 TO AND WO1 AND 1109 THEN 9<br />

R4520 CGOSUB 2 14735:IF<br />

6$0*T URN<br />

0 STEP OIFOR J21 TO N-M 620<br />

1 EN 4531<br />

5810 NEXT:PRINT TAB(11) :FOR H2J TO 0 STEP-M:1.20M 9670 PRINT'ECLEARPIRETURN<br />

TH 4521 PRINT'EDOWN2,RISHT,SW1 1 RYSON,SP,SR,SE,S521 EST, 11(20<br />

9680<br />

IND TO FORMAT DATA 11 PRES EUP, SO) ISS,SE,SL 8210 IF VAL(ASI9F1<br />

9690 REM BEEP S/R<br />

SISPC,RVSON,SR,SE,ST,SU, I:FOR<br />

D21 TO 65:SET GS HOUALIAS(SF 9800 POKE 54276,65<br />

SR,SNr:WAIT 197,1<br />

SE :IF 6$0"THEN RETURN 8220 oFOR<br />

Y20 TO F8INRACY,H) :FOR DE2I TO 1501NEXT<br />

:OPEN 2,1,0,IFORMAT" 5820 I NEXT:SOTO 5800<br />

L)1THEN IASIY,H1•AS(Y,L)<br />

:POKE 54276,0:RETURN<br />

:SOTO 4550<br />

5821<br />

8:AS(Y,L)2ZS:NEXTIK2H 9810 t<br />

SC,ST1'<br />

2 3 0<br />

4531 IF SWE'THEN RC21 5822 REM NEW DATA S/R 8230 H2K:NEXT:NEXT:M2INT(M/2) 9820 REM SIR TO REORSANISE<br />

:RETURN<br />

5825 SYS AT,2,511NPUTNISO3 :42000):NEXT:60SU8 9800<br />

ARRAYS TO MAXIMIZE MEMOIR<br />

4536 REM OPEN FILE TO DISK ATA OR DATA t DEFINITIONS :RETURN<br />

Y STORAGE<br />

4540 OPEN 15,8,15,'I0'<br />

IISD3/ESFWISS<br />

8240 1<br />

7980 DIM AS(FD,200):RC<br />

2<br />

:OPEN 2,8,2,<br />

:IF GSWPAND SSOINTHE<br />

:Al252038:RETURN<br />

N<br />

1 1<br />

1160SUB<br />

13501IF El THEN RE N 5825<br />

1<br />

FORMAT,<br />

TURN<br />

5830 SYS AT,8,10:INPUTISA3<br />

4545 S,R REM INPUT DATA<br />

RE YOU SUREIISMISNWIQS<br />

4550 . INPUTS2,F0:60SUB 9980 :IF QSN'THEN RETURN<br />

FOR 520 TO 6IFOR H20 TO 5840 IF Q$0<br />

ISPC41:<br />

FB:INPUT112,B$(6,H)INEXT 15850<br />

IF DePTHEN RF20<br />

PROSRAM: MF64.FORM 30 REM SVER1.2IC11985 EI.THOM<br />

INEXT:RF21<br />

Y"THEN 5860 RNIRETURN<br />

ASS<br />

4570 IF BerTHEN CLOSE 2 56000 8SYS 3AT,8,51INPUT 0<br />

0 REMESPC2AttitlIttISISItti 40 REM $1111108188111118111<br />

:RETURN<br />

1 YOU SUREILSY3/I8N31":0$ HMO<br />

1st<br />

4580 CLOSE 151CLOSE 2:RETURN ISCRE :IF Q$24"THEN RETURN 10 REM SISPC61MICROFILE64 64 :<br />

4590 1<br />

6020 IF 0$0<br />

ISPO531<br />

65 REM SET UP SPRITE CURSOR<br />

4595 REM AUTO-RUN MAIN PROSR 16030<br />

SYS A1,3,9:INPUT 20 REM SESPC41FORMAT PROSRAM<br />

Y"THEN 1<br />

6ISD10 0 0 0


•<br />

C84/C128<br />

70 AT.52038:V.53248 220 SYS 52083:PRINTsIHOME 370 POKE 55296+PS,255:RETURN CM,SPC315,CSPC,SBETWEEN<br />

:FOR La832 TO 896:POKE L,0<br />

:NEXT:FOR L.832 TO 854 ST<br />

EP 3:POKE 1455INEXT<br />

80 REM SET SPRITE POINTERS<br />

1 RVSON,SPC,WHITEFI-(SE]<br />

C7, XITN7,SPC3,WHITEIF3-ESCI<br />

LEAREC7,SPC3,WHITE3F5-ES93<br />

ACKIC711ISPC,SEIELD 1<br />

380<br />

390 REM OVERLAY MENU<br />

:REM THE _ IN NEXT LINE<br />

IS ECO243<br />

(SPCII,CG3<br />

480 SYS ATp6,15:PRINTIERVSON,<br />

CN,SPC336.


630 SYS AT,0,24:PRINT"[GREEM,<br />

SPC3,SCUMBER OF CHARACTE<br />

RS = 1[SPC12,HOMEr<br />

:POKE 2023,32<br />

640 CM:P5*1020PS<br />

:POKE PS<br />

P9,I1POKE 4 650,128<br />

650 FOR . T.0 TO 1 STEP 0<br />

:SET 1,43: 6$:1F GO"THEN NEXT<br />

660 POKE IF GS.CHR$(13)THEN B113,<br />

1/=STRUCO):505U9<br />

5 4<br />

720:T=1<br />

INEXT:60SUB<br />

2 7<br />

1190:RETURN<br />

670 IF<br />

3<br />

GOCHR$(20)AND<br />

+<br />

CO>1<br />

HEN CO.00-1:POKE PX0,43<br />

:POKE PS+C0<br />

680 4, IF PEEK(PS‹041)032 OR<br />

C0.255 1,32:6010 OR PX0=1983 THEN<br />

7<br />

NEXT<br />

1 0<br />

690 POKE PS+CO<br />

3 :POKE PPCO<br />

46:C0=C0+1<br />

:POKE 3 54272+PK0,1<br />

710 SYS 43 AT,25,24:PRINT STRIU<br />

COPISPC2,HOMEMNEXT<br />

720 EF=1:12$="<br />

870 8$140/1"313":RETURN<br />

880 XP.19:SYS AT,8,20<br />

1PRINTIESUESS THAN?"<br />

:SYS AT,18,20:60SUB 960<br />

:14(5,1).1$<br />

890 B$14,11=<br />

900 1 XP:22:SYS AT,8,20<br />

3< :PRINT"[SUREATER THAN?'<br />

1 :SYS AT,21,20:GOSUB 960<br />

:RETURN :13$(5,1)=1$<br />

910 11$(40)="3><br />

1920<br />

XP.23:SYS AT,13<br />

:RETURN<br />

1 :PRINT"( THAN OR :TO?'<br />

20:SYS<br />

A1,22,20:6OSUE 960<br />

:8115,11=1$<br />

930 13$(4,11="3(.<br />

1940<br />

XP.23:SYS AT,8,2a<br />

:RETURN :PRINT') THEN OR =TO?'<br />

:SYS AT,22,20:GOSUB 960<br />

03$15,11=18<br />

950 8$14,11=<br />

1955<br />

REM GRAPHICS CHAR IS CBM<br />

3>e:RETUR<br />

0 [CRP]<br />

960 N PRINT'ECO,UPY<br />

1 1PRINT"[YELLOW,SF]<br />

:SYS AT,XP,YP:1$.""<br />

:SYS IELD AT<br />

:FOR 1.0 TO I STEP 0<br />

1 . (SPC16,HOME)"<br />

:SYS 51885:P.PEEKI254/<br />

730 0,24 POKE STR251,01POKE<br />

252,24 970 IF P.20 THEN 1$.LEFT$(1$,<br />

:POKE CI 253,4SYS AT,13,24 PEEK12511)1NEXT<br />

+11" HIP=14:YP.24:60SU9 960 980 IF P(>13 THEN 1$.10CHR$<br />

740 NIF<br />

1$."THEN 720<br />

IP1:NEXT<br />

750 AS=ASCIIEtIF A AS>64 AND 990 RETURN<br />

A5(91 M THEN IOCHRWS4.128 1000 :<br />

) E /<br />

1010 REM TRANSFER FORMAT TO<br />

760 B$12,11=1$:SYS 4<br />

AT,0,24 MAIN PRO&<br />

. :PRINT<br />

1020 PRINT"[CLEAR)'<br />

R1<br />

CURSOR TO INPUT POS & :SYS AT,5,3:PRINT'(SP]<br />

11C7,R<br />

PRESSESPC,WHITE,SR,SE,ST, RESS 'R' TO RE-RUN<br />

SU,SR,SN,HOMEI<br />

6VSON,<br />

1023 SYS AT,3,6:PRINT'EWHITE,<br />

770 POKE 1SMAYE<br />

2023,160<br />

HAVE TOESPC,STIAPE OR<br />

:POKE 1 56295,190:RETURN ESPC,SMISKIT/DP<br />

780 POKE 7 T,CL:RETURN 1029 GET a:SYS AT,29,6<br />

790 1<br />

$<br />

:PRINT 6$<br />

800 REM<br />

(<br />

SET UP VARS FOR M/C 1031 1IF<br />

G$="T"THEN PRINT'<br />

INPUT<br />

1<br />

1DOW (DOWN,RIGHT3,SP)RESESPC,<br />

810 K$411$(4,1]:POKE<br />

$<br />

251,0 N2] RVSON,SR1SE,ST,SU,SR,SN,<br />

:POKE 252,61POKE 253,3 RVSOFF,SPC)T0 SAVE"<br />

:YP.20 ,<br />

L<br />

:WAIT 197,1:OPEN 2,1,1,<br />

820 ON ASC[10)-52 50SUB 830, I<br />

880,900,920,940:RETURN<br />

E<br />

1035 FIF<br />

6O<br />

830 XP.21 N<br />

11040<br />

OIF<br />

G$WPTHEN 1029<br />

840 SYS C AT,8,20:PRINT'ESL1 R1050<br />

RPRINT<br />

TA13151<br />

OWER I LIMIT<br />

1 M<br />

, IGOSUB $ 960:8$15,11=1$ 1060 THEN [DOWN3,SS]<br />

AOPEN<br />

15,8,15,<br />

":SYS :POKE 1 251,0<br />

1R<br />

:OPEN TU<br />

2,8,2,40<br />

850 SYS A- T 4T,8,20:PRINT"[SO<br />

,<br />

10' N IFORMAT "<br />

PPER 210 LIMIPESPC11,RVSON,<br />

, 2<br />

1070 I:<br />

PRINTI2,FD:FOR 8.0 TO 6<br />

CWISYS<br />

0)<br />

AT,20,20<br />

:FOR S,11 G<br />

1.0 TO FD<br />

;GOSH 960:81(6,1).1$ 1O<br />

IF 8$(6,14)=""THEN B$18,<br />

860 IF VAL18$(6,11)(VALIB$I5, HI="<br />

IOTHEN 840<br />

T<br />

1080<br />

O<br />

PRINT112,[4(5,H):NEXT<br />

1<br />

2<br />

0<br />

7<br />

0<br />

:NEXT<br />

1090 IF 6l="0"THEN CLOSE 15<br />

1100 CLOSE 2<br />

1110 IF GO"T'THEN POKE 198,0<br />

;GPO 1140<br />

1120 PRINT"[CLEAR,00WN2]<br />

/0R(6$)=<br />

1EF5P1)<br />

1230 [F1PAN REM ANY 4 DIRECTIONS<br />

1240 D IF GWERIGHTI G<br />

'AND $ < X(336 . " THEN X=X4.8<br />

1250 IF 68="[LEFT]<br />

LOAD<br />

'AND X>24 THEN X=X-8<br />

HR$(34)",8<br />

1<br />

1260 IF G$."[DOWN]<br />

6CHR<br />

:POKE 631,13 'AND Y(232 THEN Y=08<br />

1130 1POKE $134 POKE 632,13:PRINT' 1270 IF Gle[UPPAND Y>58 TH<br />

11"MF [DOWNCRUNEHOMErpNEW 9 8 , 2<br />

1140 64.M PRINT"[CLEARI"<br />

EN Y.Y-8<br />

1280 REM CONTROL SPRITEI MSB<br />

AIN. :SYS AT,2,61PRINT*ESCIND<br />

0<br />

TO MAIN PROGRAM & PRESS<br />

1290 IF X)255 THEN POKE 016,<br />

1:F.11POKE V,X-255<br />

[SPC,RVSON,SR,SE,ST,SU :POKE 01,Y:NEXT:RETURN<br />

SN,DOWN2] 1<br />

1150 SR, GET 6$:1F G$OCHR$(13/T<br />

HEN 1150<br />

1300 IF F THEN FeO<br />

:POKE 016,0<br />

1310 8<br />

1160 POKE 198,1:POKE 631,131<br />

NEW<br />

1170 1<br />

1320 REM FLASH SPRITE<br />

1330 POKE V,X:PCKE 01,Y;NEXT<br />

:RETURN<br />

1180 REM MAKE SOUND 1340 FOR W.0 TO 40:6ET 6$<br />

1190 POKE 54276,65 :IF 6$0"THEN RETURN<br />

:FOR DE=I TO 150:NEXT 1350 NEXT:POKE 021,0<br />

:POKE 54276,0:RETURN<br />

1200<br />

1210 REM SPRITE MOVE ROUTINE<br />

1360 FOR W=0 TO 40:6E1 G$<br />

:IF 6$0"THEN POKE 021,1<br />

:RETURN<br />

1220 FOR T=0 TO-1 STEP 0 1370 NEXT:POKE 021,1<br />

;SNUB 1340:T=16OCHR$113 :GOTO 1340


from direct or<br />

to pubbc<br />

Mon s e ms. Action<br />

ken abgainst yone so<br />

Itng th,s, app, ltrA<br />

At last! The perfect modem for your<br />

Commodore • 64 or 128, giving you<br />

access to Prester, , Micronet • viewdata<br />

and a host of other services — plus<br />

user-user communications.<br />

It couldn't be simpler. The 64<br />

-1<br />

Mautoanswer,<br />

with all comms<br />

software on-board in<br />

ul<br />

ROM. 64 Multimodem fits<br />

your Commodore's cartridge port, and has Just<br />

one external connection<br />

ti<br />

— the telephone<br />

lead.<br />

m<br />

The 64 Multimodem ois<br />

menu driven and<br />

multispeed, with CCITT d V21/23 and Bell<br />

103 standards, handling baud rates of<br />

300/300, 1200/75 and e 75/1200.<br />

Functions include save m and<br />

print frame and automailbox h<br />

with edit and save.<br />

9<br />

a<br />

Buy your 64 Multimodem now and<br />

well give you free s introductory<br />

e<br />

subscriptions to Micronet a and<br />

o<br />

Microlink • an unbeatable u package<br />

at an unbeatable price<br />

t<br />

— Its pure<br />

C6<br />

genius!<br />

eC<br />

o<br />

\G e<br />

Approva l a pplie d for • r e g d trade marks ohne companies concerned<br />

From the Communications<br />

i<br />

a<br />

Powerhouse<br />

l<br />

a<br />

n<br />

GIVES YOU DATABASES, BULLETIN<br />

BOARDS, ELECTRONIC MAIL,<br />

PRESTEL ALL ON YOUR<br />

COMMODORE 64 OR 128<br />

d<br />

d<br />

\°<br />

c<br />

\<br />

e<br />

z<br />

5<br />

e<br />

(i,v<br />

\Nc<br />

3<br />

eg e<br />

-<br />

‘ \A<br />

\<br />

0\ ,\\1\N6e<br />

e(\<br />

S'<br />

s ociS\QC<br />

Gocc\cc\c)<br />

6‘<br />

\<br />

tx N4.) \)_6.,<br />

N<br />

•clg) •<br />

6'<br />

-,cecpc\o\oZIN.l.cev-:e<br />

c<br />

,\cs\ti\c, \<br />

5. e<br />

?<br />

ik0 (\\9<br />

e<br />

‘0 9N<br />

\<br />

‘%<br />

txost.(‘ O<br />

1\f°\c'N°b.<br />

ti\54s<br />

6e a 0<br />

\<br />

0e $<br />

'<br />

se c\ e\Cel G<br />

'0<br />

66° e<br />

\<br />

\<br />

1<br />

TC',$1.0GY<br />

1‘.1<br />

MIRACLE TECHNOLOGY (UK) LTD ST PETERS STREET IPSWICH !Pi 1XB ENGLAND<br />

(0473) 216141 6 LINES TELECOM GOLD 79: KEY 001 (Dealerlink 72: DTB 10135)<br />

946240 CWEASY G 19002985 PRESTEL MAILBOX 919992265<br />

et<br />

e<br />

•<br />

•<br />

•<br />

•<br />

p<br />

o<br />

e<br />

s<br />

•<br />

•<br />

?os\c() •61a<br />

.•<br />

..•<br />

•• •<br />

••<br />


Runecaster delves once more<br />

into the secrets of<br />

adventuring.<br />

AS WE WATCH MANY SOFTWARE<br />

houses striving to improve the graphics<br />

which now illustrate most adventures, it is<br />

interesting to talk to the actual players of<br />

these modern-day marvels.<br />

Whilst nearly everyone agrees that<br />

swiftly drawn, colourful graphics can<br />

always enhance the appearance of an adventure.<br />

most of the players I have spoken<br />

to recently, also go on to say that unless<br />

the pictures have some relevance to the<br />

game play, then the contents - either<br />

descriptive text and/or good puzzles - is<br />

what really matters.<br />

Following this is usually a discussion<br />

on the attributes of the latest parsei<br />

These too seem to become more complex<br />

as time goes by, with longer and longer<br />

sentences being understood and<br />

actioned with astounding accuracy. But<br />

do many players use these wonderworkers?<br />

Most, it seems, tend to use the<br />

least possible number of words and<br />

letters. The exception occurs when<br />

repeating a set series of commands to get<br />

to a previously attained position.<br />

Interesting ain't it? Who are we all<br />

trying to kid? Probably the only people to<br />

gain from all this are the promoters of<br />

programs - you have to admit it sounds<br />

better if you are advertising an all-singing,<br />

all-dancing program. Then there is the<br />

newcomer to adventures. It certainly<br />

provides something to look at while trying<br />

desperately to think about what to do<br />

next!<br />

Let us know what you think. And give<br />

us some examples of what you like listed<br />

in the order of preference. Whilst<br />

thinking about it, try playing a text only<br />

adventure like The Secret of St Brides.<br />

Back to School<br />

St Brides is a real location and a real<br />

school. Girls pay money to stay there but it<br />

is no ordinary school. It is as though time<br />

was stopped 50 years ago. The scenario is<br />

straight out of those storybooks our<br />

parents used to read, although this<br />

adventure takes things a step further.<br />

You play the part of a recently joined<br />

'pupil', puzzled by the apparently total<br />

belief of all the others, that the time is 1929<br />

and not 1986. Your self-determined quest<br />

is to find out The Secret of St Brides.<br />

The program has been around for<br />

some time for the Spectrum but has only<br />

recently been produced for the C64, It is a<br />

Quill-based game and is not easy! There is<br />

plenty of descriptive text and lots of things<br />

to find. The problem is working out what<br />

to do with them.<br />

There are two approaches to the game<br />

- the basic one of tracking down what is<br />

91ti<br />

s<br />

s<br />

t<br />

o<br />

e<br />

v<br />

g<br />

i<br />

t<br />

e<br />

1<br />

t<br />

s<br />

kommomE64<br />

going on and also an additional one to<br />

find the Amulet, If you can find it and let<br />

St Brides know, the school will award you<br />

an 'A' Level in Adventuring.<br />

The vocabulary is fairly extensive and<br />

the problems met along the way are<br />

devious - the instructions suggest that<br />

they may all be solved by logic, inventiveness<br />

and a little homework. All I can say is<br />

that I must have missed some of the<br />

lessons where they explained this<br />

homework. I'm stuck!<br />

A neat touch is the option to save a<br />

game position to either disk or tape the<br />

program is on tape). It is not an expensive<br />

program but it will keep you frustrated for<br />

hours. Try it and see, then let me know<br />

what to do with the cat basket!<br />

26<br />

Come Home Mike Hammer<br />

Thr latest detective adventure to hit the<br />

C64 is from US Gold's All American<br />

Adventure series. It's entitled Masquerade.<br />

This is a fairly middle of the road<br />

program without unusual features to<br />

make it remarkable. It is only available on<br />

disk, from which the graphics aee called<br />

up each time they are needed and take<br />

about eight seconds to appear.<br />

The pictures are clear and colourful<br />

and are in a semi-cartoon style that comes<br />

across well. There are three modes of<br />

presentation - text only, all graphics<br />

shown, and a neat variation called up by<br />

the command 'MIXED'. This will display<br />

text only but a null 'RETURN' flips the<br />

display into 'all graphics' until the next<br />

null 'RETURN'.<br />

You play the part of a private-eye on<br />

the trail of a Mr Big in the crime world.<br />

The accent is on observation and you<br />

must not expect to see everything<br />

immediately at fi rst glance. Various<br />

messages and descriptions are not<br />

repeated so have your notebook handy!<br />

There is a time element to your play, as<br />

the initial locations will explode into thin<br />

air, 75 minutes (not real time!) after you<br />

start out on your investigations. This could<br />

be 'crucial as you must intercept a<br />

telephone message before this happens!<br />

The command interpreter is the basic<br />

VERB/NOUN input and the vocabulary<br />

does not appear to be very large. The first<br />

five letters of most commands must be<br />

given for them to be actioned. This is very<br />

important since the response to anything<br />

it does not recognise is "SORRY CAN'T<br />

DO THAT RIGHT NOW". Fortunately this<br />

does not apply to direction commands<br />

(N,S,E,W) and things like inventory (I) and<br />

look (L).<br />

The general style is reminiscent of<br />

Mindshadow (which is now available on<br />

cassette) but does not have quite the same<br />

polish exhibited by Activision's game, It<br />

should prove an ample challenge to the<br />

detective brigade and although not<br />

excessively difficult, is probably not to be<br />

recommended to the novice adventurer.<br />


Diabolical<br />

I always knew that I had a strong tendency<br />

towards the more active type of<br />

adventure games - Halls of Death, The<br />

Valley, Exodus: Ultima ill and more<br />

recently the reconstituted Temple of<br />

Apshai Trilogy - but I never thought that I<br />

would suffer a program that crashed so<br />

many times, that I lost count.<br />

Just browsing through the shelves of a<br />

software emporium not so far from home<br />

base, I came across Telengard produced<br />

by Eclipse Software for The Avalon Hill<br />

Game Company. I thought I remembered<br />

seeing this advertised in some American<br />

magazines but could not remember it<br />

being pushed at all in this Country, so, at<br />

f7.95, I gave it a try.<br />

There have been many attempts to<br />

reproduce Dungeons and Dragons style<br />

games on computers. Some have been<br />

reasonably successful, some have been<br />

pretty ghastly. Telengard, I find horribly<br />

addictive, but it is true to the main aim of a<br />

D & D type of scenario.<br />

Telengard is a graphics adventure in<br />

which the main aim is to gain experience<br />

and find treasure whilst fighting off all the<br />

nasties that hinder your progress. The<br />

graphics are reasonable and the tension<br />

mounts from the first few moves to the last<br />

moments of life.<br />

You start at the bottom of stairs that<br />

lead up to a congenial inn. So far so good.<br />

All around you is a maze of passages.<br />

These you must explore to find treasure,<br />

gems, gold, silver, even refuse! You start<br />

out with sword, shield and armour, all of a<br />

pretty mediocre brand, because if you<br />

search diligently you can fi nd better<br />

quality items, indicated by such as "A+7<br />

SWORD".<br />

All of this is very much par for the<br />

D & D course, even the opening determination<br />

of your characteristics is very<br />

sensible. You see a series of random<br />

numbers allocated for your character's<br />

attributes - strength, intelligence,<br />

wisdom, constitution, dexterity and<br />

charisma.<br />

These series of numbers will continually<br />

be updated until you press<br />

'RETURN' to signify your acceptance of<br />

the present batch. This may sound as<br />

though you can cheat to get the character<br />

you want, but in practice, all this means is<br />

that you can sway the result by concentrating<br />

on one or two characteristics - you<br />

are not likely to see an 'all 18s' series very<br />

often! You may also choose your<br />

character's name.<br />

The instruction booklet firmly recommends<br />

that you choose a character with a<br />

sound constitution! Heed the advice well,<br />

it's based on knowledge, of the game. A<br />

character's 'hit points' are initially equal<br />

to its constitution. As these are whittled<br />

away each time you are hit by a monster,<br />

the larger the starting value the better.<br />

Lost 'hit points' may be regained by a<br />

restful night's zizz at an inn, Unfor-<br />

tunately, it is not often possible to return<br />

alive to said inn in time to recuperate!<br />

Although you start beneath an inn, this<br />

is by no means the only inn to be found -<br />

there are lots of them. Thank the gods for<br />

small mercies! On arriving at an inn, any<br />

gold you have with you is banked safely<br />

away and your experience credited with<br />

the amount of gold with which you<br />

arrived.<br />

All valuable treasure - gems, silver etc.<br />

- is converted to the gold standard for this<br />

calculation. Neither does it matter which<br />

inn you decide to visit, they are all linked<br />

by 'computer-inn'. a fantasy world<br />

version of Barclay's Bank!<br />

TELENGARD<br />

CO M M O DO RE 64<br />

1<br />

,<br />

5<br />

f<br />

•<br />

As your experience increases, certain<br />

values trigger a change in your 'hit points',<br />

this means that you can take more punishment<br />

and can venture further into<br />

Telengard in search of more dangerous<br />

monsters and greater loot.<br />

Amongst the maze of rooms and<br />

caverns which you explore will be found<br />

numerous stairways that reach down into<br />

the depths of Telengard - travel that way<br />

at your peril! It is quite dangerous enough<br />

for even the Level three adventurer to<br />

travel far from the initial position, let<br />

alone look for further trouble down<br />

below!<br />

Not only will your level be<br />

incremented by your increase in experience<br />

but also your ability to cast spells<br />

will increase. Initially you only have the<br />

skill to cast level one spells, and only one<br />

of those between visits to rest and<br />

recuperate at one of the thoughtfully<br />

provided alehouses.<br />

Magical spells are divided into six<br />

levels of relative power. Each spell level<br />

has six distinct spells. Characters at.experience<br />

Level one or two, have only the<br />

27<br />

Adventures<br />

six spells at level one at their disposal. As<br />

characters gain levels of experience the<br />

use of higher level (and therefore more<br />

powerful) spells becomes possible.<br />

Every three levels of experience<br />

gained, permits the use of the next higher<br />

level of spells. Spells are of roughly two<br />

types - 'combat' spells and 'duration'<br />

spells. The former are active offensive<br />

spells such as 'magic missile', lightening<br />

bolt* or 'fireball'. The latter allow you to<br />

cure wounds, search for traps or pass<br />

through walls etc<br />

All commands are given via the<br />

keyboard as single key inputs and, except<br />

in the novice's training exercise (entered<br />

by calling your character Demo!), action<br />

takes place in 'real time', so you have to<br />

have your wits about you, There is in fact<br />

plenty of lime to take the appropriate<br />

action - but it does not seem like it when<br />

you first start!<br />

Commands are divided into two types<br />

- 'action' and 'encounter', There are nine<br />

of the first type and they are very easy to<br />

remember. 'H' for help will tell you what<br />

they are! The 'encounter' commands are<br />

'E'vade, 'C'ast (a spell) and to picl.<br />

up something you will be prompted to<br />

press 'RETURN'. Movement is controlled<br />

by the four keys W,XS,A (NSEW), U and<br />

D.<br />

There are 20 different types of<br />

monsters roaming around Telerigard.<br />

Most of them are hideously opposed to<br />

your continuing existence! A very small<br />

proporticn meet you with the greeting<br />

that they -<br />

like taken two ways to start with, initially<br />

y<br />

thought<br />

o u<br />

they<br />

r<br />

were going to eat me but,<br />

they actually help you, perhaps curing<br />

b<br />

you<br />

o<br />

of all<br />

d<br />

wounds or maybe giving you a<br />

y powerful " . weapon.<br />

T The hmonsters<br />

have a similar system to<br />

ayou and t your experience, so they have a<br />

c<br />

different level, this level and their rank<br />

(Gnoll, lowest - Dragon highest), deter-<br />

a<br />

mines how many experience points you<br />

n gain in defeating them. It also determines<br />

bhow<br />

difficult they are to defeat! Although<br />

eyou<br />

may be only on the first level, a<br />

surprising number of powerful creatures<br />

appear right from the start.<br />

When I first came up against a level 60<br />

Giant, I thought there must have been a<br />

glitch in the program but then I found the<br />

instruction booklet hints at level 76! As<br />

befits a game of this type, some of the<br />

monsters have quite nasty habits - several<br />

drain your energy and knock you down a<br />

level of experience. Dragon fire is not<br />

much fun either!<br />

There are a number of 'features' such<br />

as stairways, pits, altars etc. which remain<br />

at the same locations - if you can find<br />

them again. Fountains seem to crop up<br />

quite often. The water from these varies in<br />

colour as does its properties when drunk.<br />

Some colours are benefi cial, and,<br />

surprise. surprise, some are not!<br />

There are potions to heal and also<br />

those to increase your strength. Various


artefacts found have 'plus' factors. Careful<br />

that you don't inadvertently press<br />

'RETURN' to pick up an item which has a<br />

smaller 'plus' factor than the one you<br />

already have. Its very easy to do in the heat<br />

of the moment! Sadly, you will have lost<br />

the one you were carrying.<br />

I have found items up to 'plus 8' but I<br />

suspect that there are more powerful<br />

creations deeper down. One of the most<br />

useful is a 'Ring of Regeneration', this aids<br />

the recovery of your hit points by its 'plus<br />

factor' with each step you take, a definite<br />

necessity for exploration below level two.<br />

There are also the useful 'Scrolls of<br />

Rescue' - you may pick up several of<br />

these. Using one will take you back to<br />

your original place of entry to Telengard<br />

(under that inn), but there is a cost, any<br />

gold you have with you is lost on the way.<br />

This is sometimes a fair price to pay if you<br />

have been teleported to an unknown<br />

corner of the underworld.<br />

Characters may be saved on a separate<br />

cassette and I would recommend doing<br />

this immediately you enter the game -<br />

especially if you have taken any time in<br />

trying to get the character's attributes to<br />

your liking!<br />

The instruction booklet burbles on<br />

about being able to load dead characters<br />

if their name begins with SV - I think this<br />

must be a throw back to a disk based<br />

predecessor, as I died with monotonous<br />

regularity and had no trouble time-<br />

•<br />

shifting my character to a 'save' before he<br />

died!<br />

I hope I have whetted a few appetites<br />

of the more adventurous amongst you<br />

with what has gone before perhaps now is<br />

the time to look at the other side of<br />

Telengard.<br />

For a start, it cannot be in the true spirit<br />

of the dedicated D & D game. Why?<br />

Because I do not think you could stay alive<br />

for long enough to ever get anywhere<br />

without 'saving' your character to tape at<br />

very frequent intervals. I was prepared to<br />

accept this as part of the 'overall battle',<br />

others may not be so sanguine about it.<br />

There are other problems you have to<br />

overcome too. And not part of the game<br />

either! I have never had a program crash<br />

so often before. It loaded perfectly and<br />

within the first few moments crashed with<br />

a SYNTAX ERROR IN LINE XXXX.<br />

Sometimes RUN got it going again, only to<br />

crash once more with a syntax error in a<br />

different line!<br />

Once past the first few minutes, things<br />

were OK until I 'saved' a character. Most<br />

times this went perfectly but there were<br />

many occasions when the program<br />

crashed after a successful 'save' and the<br />

main program had to be loaded from<br />

scratch (about four minutes).<br />

The program as you must have<br />

guessed from the above is written in Basic<br />

and of course is a little slow to re-draw<br />

your character's surroundings as you<br />

Tr1 • ' I ;<br />

7<br />

* •<br />

A U T<br />

O M A<br />

T I C<br />

MegaUtility •<br />

Disk V.4.0<br />

N<br />

O<br />

U<br />

S<br />

E<br />

R<br />

K<br />

N<br />

O<br />

W<br />

L E<br />

D<br />

G<br />

E<br />

Adventures<br />

COMPARE THE REST WITH THE BEST<br />

NOW DOSOFT OFFERS YOU EVEN MORE!<br />

S<br />

. 1<br />

MegaTransfer<br />

Disk V-4.0<br />

Before mu decide w Inch tape-to-disk utility<br />

to buy. consider if it gives you.<br />

WITH TEN<br />

MegaTape<br />

Super Value s<br />

• Full C<br />

Programs - to load from Disk • Filtuen top<br />

titles OftWitt includistit the latest sports. flight and<br />

light SiOttii simulations. No more up• winding!<br />

No i sother 1 1 unlit, Ofa m<br />

FREE DISKS<br />

this . 1 a• rrcript General purpose transfer • NE' Alplulood disk Turboloader 1or<br />

minines .<br />

i o n<br />

fa r OM' major turboload g l o w s co. Add this live block program to<br />

systems 1 1 u l Nova. Burner, Visiloa d. Flash e a ch disk and your pro warns will load at<br />

;ind Ct iPa S2tt a(including<br />

1 1 . the tre y latest VAk loader Lover hour limes he normal raw. No menu is<br />

as og used e t iin tcurrem e chart nippers 1 and more re quire d and you don't h;mc hilmad<br />

rThese<br />

rout Uses will transfer progra<br />

won't . h inorma c h lly load with the Disk Drive pre vious versions. • Programmer's<br />

present. • A huge colle ct Ion of specific TimboDha t Utility. hast load. sat e. and<br />

rout<br />

A l<br />

ines<br />

p h<br />

fi r Irian<br />

a l o<br />

prra<br />

a d<br />

e irtvl ve rify L , with 211,1.1<br />

ply)grams, -<br />

s e p a ll a Vr ia a t an eeaiq<br />

Menu D ispla ys program sun and end addresses<br />

System<br />

let<br />

l y<br />

numbe<br />

• A program<br />

r, .<br />

identifier„ and the I nclude s east I X'S commands. Compatible<br />

classic M Diskus u 1.2 to c transfer your vintage with most expanskon cartridges. • %%Me<br />

skisyload collect ion, D i s k Copier backs up ;in entire disk<br />

h<br />

MegaTransfer V.A.O. is economical unde r three minutes. • Turbo/ 1 k Copy<br />

i mspate. ptransferring r oonly<br />

the actual se le cte d I from Disk ti, Disk Re-ad, and<br />

program v etit:uteri d<br />

-reit<br />

o lad at over vfour<br />

times the normal rate • Nibble Disk Copy backs up most<br />

with the incorporated Disk llarbotorader, prote cte d disks in just M C R e a d<br />

Ai e I ra r<br />

,which also allows your existing disk a n d Oath., all errors automatically • Fast<br />

nprogram, s f e lobe r n fastback's' from disk. Forma t, homtat your disks in a traction of<br />

Fwith Visi.Screen R E E Stripe .<br />

TurboLoad. Also handle,<br />

old Rib'. and Fastback<br />

e d klegaTealisfer V.4 .0 is ra sily extended the normal nine • D isitiola pt Plus.<br />

p<br />

from<br />

r<br />

pwytous<br />

o g<br />

editions Despite. claims to Tra nsie nt wide ••Icici). Id single and<br />

the contrary. it will tra nsfe r programs multipa rt disk programs to tape with<br />

r<br />

whkh<br />

a<br />

no<br />

m<br />

other<br />

s<br />

utility will handke. scre e n.M ripe hunter turboload.<br />

wBeware i of simila r sounding utilitie s, I nclude s pro ifessiona I mastering scheduler<br />

lwhich l consent almost entirely of disgulAed An interesting program tnot r.. protected<br />

w<br />

versions<br />

r<br />

of our old male ria l I f you want to disks) • M e ga Utillty Disk is supplied<br />

hie up to date, mu need Megifrainier, thecomple te with 10 FREE 3M Bla nk Disks<br />

ireal "Turbo t Smasher'. 1 W lib plastic- hot a s<br />

e s<br />

a<br />

At Turbo-to-Disk outman, press time. Mall softwa AdVere rte I is, if( icl t 1i 1 .7 l spe t cifie KM 1,17 d in (It) this I ad. low's<br />

t<br />

t hal tor value' S ) 1 7<br />

• nu<br />

to , II r(pricv34.00<br />

/uc1i.th<br />

Disks (& Boa land receive Aleprapc (on<br />

"<br />

n,t disk) and I our D pra tied sprite libraryieditor<br />

I MPro-Sprite)<br />

alisolutely FREE!<br />

F<br />

• e Punhasers<br />

R E<br />

will<br />

E<br />

receive details of future<br />

updates g and caning new DoSoft Programs<br />

at iiiCIV2O4alte01.15 pries,<br />

a<br />

Existing<br />

l<br />

Cusinmcra; send /Jan. likAnli<br />

!mina ra<br />

-pounds<br />

n s only I1 tr Alcgatranlier Filth<br />

l<br />

firm f e<br />

b<br />

cr h<br />

w<br />

t<br />

i<br />

m<br />

e<br />

a<br />

o<br />

t<br />

28n<br />

( d<br />

i<br />

d<br />

s<br />

k ?<br />

e<br />

os<br />

s<br />

r l<br />

n<br />

te<br />

I<br />

- e<br />

3M Disks at<br />

Low, Low Prices<br />

• t our famous tape utilit s Icor One w hy buy unlabelled, unbranded disks ot<br />

Daussette (or equiyakmit N o additional unce rta in origin and specificatrimP<br />

hardware is re quire d. MeataTape • %St offer top class, 3SI Disks bearing the<br />

comprises: • Tape-to-Tape transfer ma nufa clure r's label, at an unprecedentedly<br />

rout inesi A vast collectil Si hir thy major low, low price • Specification 55,1113<br />

I urlsoltrad Warn., • Simple to operate. '4 4 1 >-0 , suitable for all VA - drives •<br />

MegaTape handles a vast range C o m p l e t e with labels, ss'rite protect cabs.<br />

of diffrivril fastkiad systems. and 1.-wat Tyca c spun acrylic sleeves and a FREE<br />

increases loading ,peed in many CaieS Flip/ File High impact Pia stk Storage<br />

• Features our Yisi-Screen. Stripe H o t worth S2 , 7S Our Inclusive Price is<br />

Turbotoader • The most powe rful pa st SA Z.S0 per box of ten.<br />

Tape-IniTspe software ort dev iscd • R RS N it extras N o catches.<br />

Pius. Our c12%.ile turbo conversion utility This is the price you pal.. 2<br />

gist-s a new !casco( life to )stir vintage<br />

- slow Uload tape K colkxtiim Converted<br />

P<br />

pnograms<br />

O<br />

load<br />

S<br />

independent's<br />

T<br />

at STArEN<br />

We take a<br />

times the normal ram,<br />

• FAST DISK UTILITIES • LOADERS • 3-MIN DISK COPY • FAST DISK FILE COPY •<br />

move location. But it is not that slow, if it<br />

was, I do not think I could have become so<br />

involved, In this day and age it is surprising<br />

that the present version was not<br />

compiled. One must surely ask -why not?<br />

Neither does the keyboard buffer get<br />

cleared, so you have to watch that you do<br />

not type in ahead of yourself or you will<br />

find you have not picked up that '+8<br />

Armour!<br />

For all these genuine criticisms, I have<br />

to admit I enjoyed the game enormously.,<br />

quite addictive in fact, and that's<br />

something, for someone who plays as<br />

many adventures as I do. But then I'm a<br />

simple barbarian at heart.<br />

I do not think that Eclipse Software still<br />

exists - it was an 'imprint' for Longmans<br />

(the publishers) but the program is still for<br />

sale. The cost is not high, so if you are a<br />

frustrated 'dungeon dweller' why not<br />

have a try - I really would like to hear what<br />

you think of it.<br />

If you cannot find it in your local shops<br />

you can get it direct from: Customer<br />

Services Dept, Longmans Group Ltd, 4th<br />

Avenue, Pinnacles, Harlow, Essex CM19<br />

5AA. The price is £7.95 plus 75p post and<br />

packing. Mine may have been a rogue<br />

copy, but if yours crashes like mine just<br />

consider it as part of the adventure, and<br />

please do not complain - you have been<br />

warned!<br />

5<br />

9<br />

bite Out of<br />

Disk Prices!<br />

How to get your DoSoftwrare<br />

Please send cashwheque'PO with order<br />

for last despan hiSAE lush fur full de la ils<br />

i.<br />

Send off thy. tot<br />

DoSoft (De pt YC), 2 Cla kincsor Ave ,<br />

Blackpool, FY2 OEE<br />

1.2 LIE it Postage order includes included Blank Eurog Disks. sadd s eW) era 7s<br />

5. add aor l SO for Airmail. or 43.50 if corder<br />

include, Blank Disks<br />

°Soft<br />

You'll Do it Better<br />

%kith DoSoft


1<br />

lain Murray provides al<br />

program to smarten<br />

up your cassette<br />

library.<br />

This program allows the u5er to<br />

produce neat inlay cards for<br />

cassette tape boxes for music<br />

tapes or computer data tapes<br />

using a Commodore 1520<br />

Printer/Plotter. It uses many of<br />

the features of the 1520<br />

including the four character<br />

sizes, four colours, and vertical<br />

text for the spine of the inlay.<br />

The program requests input<br />

of the tape number, a title for<br />

the tape and for each side, and<br />

the option to list up to 10 items<br />

on the index of each side of the<br />

tape. If any input is made<br />

incorrectly, then pressing<br />

1<br />

op<br />

13<br />

rn<br />

rn<br />

c.n<br />

U<br />

)<br />

S<br />

.<br />

3<br />

3<br />

I<br />

d<br />

1<br />

V<br />

3<br />

S<br />

S<br />

E2 N- BACH<br />

T<br />

RETURN on its own at the next<br />

input will cause a jump back to<br />

the previous prompt. The<br />

plotter will then produce the<br />

required inlay card.<br />

The plotter draws an outline<br />

for cutting out and folding the<br />

card. The tape number and title<br />

are then printed, followed by<br />

the title and index for each<br />

side. The tape number and title<br />

are then printed on the spine.<br />

The character size is set automatically<br />

depending on the<br />

length of the titles required.<br />

Finally, the tape title and side<br />

titles are printed on the back<br />

flap (though if the tape title and<br />

side titles are the same, then<br />

only one will appear). On completion<br />

of the card, the option<br />

to print another is given.<br />

Control characters in the<br />

text are detailed in preceding<br />

REM statements, but these<br />

REM statements need not be<br />

typed in.<br />

CLASSICAL PIECES<br />

- BEETHOVEN<br />

PIANO SONATA Re 'PATHETIGUE'<br />

PIANO SONATA 014 .<br />

NOOHLt8HT.<br />

PIANO SONATA •73 .APPASSIONATA<br />

.<br />

PIANO CONCERTO AS .<br />

ENFERON<br />

FYIIPHENY L SI MOVEMENT<br />

ETTIPhISNY AS ATH MOUEMENT<br />

. s i c<br />

M O V E M<br />

.1.ITT1E. FUGUE IN 8 MINOR<br />

BRANCENBURG CONCERTO AI<br />

AIR FROM CRCHESTRAL SUIT .3<br />

JESU JOY OF nAws DESIRING<br />

TOCCATA AND FLU& IN O NtNOR<br />

TIC ART OF FUGUE CSFLECTIONS)<br />

SINFONIA TO CANTATA .29<br />

SHHEP rwr SAFELY GRAZE<br />

064 + 1520<br />

FROGRA1<br />

1<br />

10 REM 1 TAPE INLAY MAKER 80 TN$1<br />

20 REM<br />

1<br />

1 BY IAIN MURAY<br />

:TN8INTWAL(TNS)1<br />

1; CO) 1986 1 01:IF<br />

BI6!":60TO<br />

TN)99 THEN<br />

70<br />

PRINT 'TOO<br />

30 REM 1 FOR YOUR COMODOR<br />

INLAY E 1INPU<br />

85<br />

90 PRINT<br />

IF INS"<br />

"EDOWNESIVE<br />

THEN 70<br />

TAPE<br />

35 6A1."(SPC551"<br />

NAME 1 mi<br />

40 DIM ES(2,15)<br />

MAK 50<br />

60 PRINT<br />

POKE 53280,6:POKE<br />

'EOLEAR,NHITE,DONN3,<br />

53281,6<br />

T 10 TNSK":INPUT INS<br />

ER RIEHT13,RVSON,SPUTAPE INS I<br />

:IF<br />

"(DOWN)TOO<br />

LEN(INS)25<br />

LONE!'<br />

THEN PRIN<br />

70 PRINT<br />

INLAY MAKERESPC,RVSOF1 105<br />

:60TO 90<br />

1 10 NL.2:IF<br />

IF MO" THEN 70<br />

1DO<br />

1NUMBER<br />

1 NL.1<br />

LEN(TNS)>12 THEN<br />

29 WN3<br />

HIV


1<br />

120 Ill<br />

130 PRINT IDOON2lGIVE SDP;<br />

WTITLE :<br />

140 T$111<br />

01 IF LEN1T$1111)42 THEN PR<br />

:1NPUT INT 'CDOON1100 LONE'<br />

T $ 160TO 130<br />

340 PRINT11,"D",469,-505<br />

:REM 16010 BOTTOM<br />

350 PRINT11,4<br />

1 :REM $ BOTTOM LINE<br />

,0 360 PRINT81,4",76,-505<br />

1 1REM t 6010 SPINE 1<br />

-505 370 PRINT81<br />

1 :REM I SPINE 1<br />

4",76,0 380 PRINT81,W<br />

1 :REM I GOTO SPINE 2<br />

139 390 PRINT81<br />

1 :REM I SPINE 2<br />

01",139<br />

400 PRINT01<br />

1 1410<br />

PRINT$3,3:REM 1 10 CHARS<br />

-505 4420<br />

PRINT114:REM t LINE FEED<br />

1430<br />

PRINT12<br />

:REM 1440<br />

NMOSTRCTN):IF<br />

$<br />

TN21 OR<br />

LEN111(2)1)21 THEN TOO<br />

240 PRINT "CDOWN6,RI5HT101<br />

PRESSISPC,RVSON,SPC1SPACE<br />

(SPC,RVSOFF,SPC1TO PRINT°<br />

250 GET AtlIF AtOCHR$1131 I<br />

HEN 255<br />

251 IF NE1200 THEN 1.2<br />

tJuNE(2):6OTO 200<br />

252 1.2:6OTO 150<br />

255 IF A$0' THEN 250<br />

260 PRINT 1<br />

11)00 C C U "<br />

3,RI5 270 PRINT "CRI6H114<br />

HT14, 1 PRINTINSESPC2,S-1"<br />

CAl S-,5PC2l 280 PRINT 'ERIGHT14,C21<br />

E C X 3<br />

,<br />

530 PRINT11,9"<br />

540 PRINT113,11:REM $ 40/80<br />

CHARS<br />

550 IF 11:1 THEN PRINT84,"<br />

ESPCI3r01<br />

560 1IF<br />

TOO THEN PRINT84,'<br />

- I9PC271"11:<br />

570 PRINTO3,01REM "r1$1 6<br />

1 90 -<br />

11 - 6<br />

580 1111I/ IF NE(t)0 THEN 625<br />

590 PRINTI2,0:REM 1 BLACK<br />

600 FOR J.I TO NEM<br />

610 PRINT84,<br />

1620<br />

NEXT J<br />

1SPC28PIE<br />

625 PRINT84:PRINT841PRINTI4<br />

11(1,J) 630 NEXT 1<br />

640 M8.1101(NE11)4E(2)11+(2<br />

011TO111.0160<br />

650 SPO<br />

1 :PS$<br />

TAPP 660 0PRINTI3,2:REM<br />

8 20 CHARS<br />

670 +STR PR1NT$2,3:REM 4TN 1 RED<br />

$1TN/ 680 $ PRINT844<br />

1 ) 1:HOLEFTCGA$,C2122)<br />

+<br />

900<br />

LC<br />

IF T1111/rat THEN 990<br />

E910 F2PRINT82,2sREN<br />

I GREEN<br />

920 FOR 121 TO 122E21<br />

T 1<br />

$ I2<br />

B 2A<br />

1<br />

-<br />

L<br />

E<br />

N<br />

How<br />

(<br />

it Works<br />

T<br />

10-60 set up and title<br />

70-85 $<br />

input tape number<br />

90-120 (<br />

input tape name<br />

130-235 2<br />

input side titles and index entries<br />

240 ready for output<br />

)<br />

, 290 set up printer<br />

280 , 320-390 )<br />

draw card outline<br />

310 400-450 )<br />

print tape number<br />

460-500<br />

1<br />

print tape title<br />

510-560 print side and title<br />

570-630 print index<br />

640-730 print tape number on spine<br />

740-800 print tape title on spine<br />

810-890 print tape title on back flap<br />

900-1040 print side titles on back flap<br />

1050-1060 close file<br />

1070-1110 request repeat or end<br />

290 OPEN 1 4<br />

690 1 PRINT$1,<br />

1 :OPEN 2,6,210PEN 3,6,3<br />

610PE :OPEN 44,6,4<br />

1<br />

11 700 FOR 1.1 TO LEN(SP8)<br />

N 300 PRINT82,0:REM BLACK 1710<br />

PRINT81,1":PRINT81,4<br />

1 310 , PRINT$44,01REN 6<br />

$ UPRIGHT 1PRINT111,<br />

1 0<br />

1320<br />

PRINT11,<br />

1 1330<br />

PRINT81,"D',469<br />

11";REM 1 1REM TOP LINE<br />

1 0<br />

H O M E<br />

41 , 720 1PRINT84,'ESPC41<br />

1 1<br />

730<br />

, 8<br />

NEXT 1 I<br />

1<br />

1<br />

4<br />

(<br />

30<br />

990 PRINT83,1:REM 8 40 CHARS<br />

1000 PRINT$2,1:REM t BLUE<br />

1010 FOR 1.1 TO 26<br />

1020 PRINT84,<br />

1 MIDI(F8,1,1)<br />

1SPC43 1030 PRINTI1,'M<br />

1 11040<br />

NEXT I<br />

1060 PRINT114:PRINT841PRINT84<br />

tPRINT$4:PRINT14:PRINT14<br />

:PRINTO4<br />

1070 PRINT 'IDOWN3,RIGHT123<br />

PRINTING COMPLETE'<br />

1080 PRINT "IDOWN3ANOTHER<br />

INLAY CARD MN/ ?"<br />

1090 GET At:1F Ater THEN C<br />

LR:SOTO 30<br />

1100 IF A$04" THEN 1090<br />

1110 END


Stuart Cooke puts Ariolasoft's<br />

I<br />

H<br />

o<br />

m<br />

e<br />

p<br />

a<br />

k<br />

t<br />

o<br />

w<br />

o<br />

r<br />

k<br />

IF, LIKE ME, YOU USE A COMPUTER FOR<br />

a lot of your work it is very important that<br />

it gives quick access to everything that you<br />

wish to do. For example you may do a lot<br />

of wordprocessing and require access to a<br />

database or a spreadsheet occasionally.<br />

No problem, I hear you say, buy one of<br />

each program. This is a great idea, but one<br />

major thing is being forgotten, time.<br />

The C64 and its disk drive are not<br />

exactly well known for their speed, in fact<br />

most people moan about the lack of it. A<br />

typical wordprocessor will take about five<br />

minutes to load, a database around the<br />

same. Now the problem becomes<br />

apparent. If you need to do a lot of<br />

swapping between programs then a lot of<br />

time is wasted loading them all in, defeating<br />

the whole point of having a<br />

. computer around in the first place. Why<br />

use a database when a card index box is a<br />

lot quicker?<br />

Obviously, if all of the programs that<br />

you require are available on one disk, a lot<br />

of time can be saved in exchanging disks<br />

etc. This is exactly what Ariolasoft has<br />

done with one of its latest releases,<br />

Homepak. A wordprocessor, database,<br />

and communications program are all<br />

available on one disk.<br />

It is also possible to go one step<br />

further. Wouldn't it be great if all of the<br />

programs that you needed to use<br />

regularly could all be in the computer's<br />

memory at the same time? Press a couple<br />

of keys and the program needed would<br />

burst into life ready to obey your every<br />

command. Team-Mate, a program that<br />

looks extremely similar to the 3+1<br />

software that is found on a Plus/4, offers<br />

just this facility. With Team-Mate up to<br />

three programs can be in memory at any<br />

one time. The programs are a Wordprocessor,<br />

a Database and a Spreadsheet.<br />

As an added bonus a graphics package,<br />

for drawing graphs, pie charts etc. is also<br />

present on the software disk.<br />

Homepak<br />

A5 previously mentioned this suite of<br />

programs goes some way to solving some<br />

of the speed problems of the CM as all of<br />

the programs are on one disk. However<br />

they are all quite slow in loading and a<br />

great deal of disk swapping is necessary if<br />

you need to use the other programs.<br />

Each of the available programs are<br />

extremely well presented and easy to use<br />

- the 61 page manual makes sure of that -<br />

and have facilities that you would<br />

probably only expect to see on individual<br />

pieces of software costing as much as this<br />

complete package.<br />

The manual, even though it is very<br />

good, can only be described as microscopic,<br />

It has been reduced so that it will<br />

fit inside ihe standard disk box that the<br />

programs come in. Get a magnifying glass<br />

if you are going to be reading a lot of it at<br />

once, you'll probably need it.<br />

Each of the programs are dealt with in<br />

turn. Screen shots are used to give you a<br />

general idea of what you should see on<br />

the screen when certain menus are<br />

accessed. And a handy crib sheet at the<br />

end of each program's documentation<br />

gives a handy reminder of the keys<br />

needed to operate the software. I must<br />

admit that I fail to see the relevance of a<br />

very large section of the manual (seven<br />

pages) being given over to an explanation<br />

31<br />

of how to use the telecommunications<br />

software with Compuserve and the Commodore<br />

Information Service, these are<br />

American software services. Come on<br />

Ariolasoft, you've gone to the trouble of<br />

printing your name on the front of the<br />

manual, why not alter the last section so<br />

that it refers to a British system such as one<br />

of the many bulletin boards available or<br />

even Telecom Gold. I wouldn't have<br />

thought that too many people would be<br />

phoning America so that they can follow<br />

your instructions.<br />

Hometext - yes you've guessed it -the<br />

wordprocessor, has some extremely<br />

interesting features. All of the available<br />

commands are selected from 'pull down<br />

menus' that are controlled by the<br />

function keys. This means that when you<br />

press the relevant key a menu, for<br />

example the printer format menu, will<br />

appear on the screen on top of your text,<br />

replacing the text underneath when you<br />

have finished using the menu. This is great<br />

as you never have to memorise any of the<br />

commands, such as those for headers or<br />

setting margins, as they can all be called<br />

up on screen. There is one slight gripe<br />

here however. A reminder could have<br />

been put on the editing screen so that you


could see at a glance what function key<br />

brought up which menu, it's frustrating to<br />

go through them all every time you want<br />

to do something. I suppose if you were<br />

really bothered you could always stick a<br />

bit of paper over your function keys.<br />

When you have finished typing your<br />

latest novel you can have a look at what<br />

the page layout looks like with the view<br />

function, This 'draws a picture of every<br />

page with each letter being represented<br />

by a dot. This does come in very useful<br />

when things need to be positioned<br />

correctly, it may even help you to spot<br />

your mistakes in the layout.<br />

Of course all of the normal printer<br />

facilities such as underlining and spacing<br />

are catered for, though headers and<br />

footers are dealt with in a strange way. Not<br />

only do you have to tell I lometext where a<br />

heading starts you must also tell it where<br />

the heading finishes. This means that it is<br />

possible to have headers that run over<br />

more than one line of the paper when<br />

printed. I must admit this did leave me a<br />

little confused at first as I didn't tell the<br />

program where my header finished the<br />

first time that I tried to use this function.<br />

The view option showed that something<br />

was amiss and I was able to correct the<br />

problem before I sent the document to<br />

the printer, I told you that view was<br />

handy.<br />

Homefind - the database is a little<br />

strange. In case you have never used a<br />

database I should explain how you would<br />

normally use one. Your computer is<br />

treated as an electronic card index box.<br />

You would set up a series of fields into<br />

which you should enter information. You<br />

can then ask the computer to find specific<br />

information from what it has stored on<br />

disk. An example of a layout for a database<br />

may be:<br />

NAME<br />

ADDRESS<br />

TELEPHONE<br />

You can no doubt see where the<br />

similarity to the old card-index comes in.<br />

Well, Hometind is totally different Yes, it<br />

is still used for information storage and<br />

retrieval but there is no fixed format as to<br />

what can be entered into the system. For<br />

example a few entries to the database may<br />

be:<br />

Fred's Birthday's August 23rd<br />

jim's Birthday's June 5th<br />

Fred's Address's 123 Main Street<br />

As you can see you almost talk to the<br />

computer, and any information can be<br />

stored. Once the information has been<br />

stored you can ask questions such as:<br />

What's Fred's Address?<br />

And the answer will appear as if by magic.<br />

There is no provision within the<br />

program for getting printouts of specific<br />

information though it is possible to keep a<br />

printed copy of any 'conversations<br />

. you that have with the computer. And of<br />

course information can be stored on disk<br />

for later inclusion in the wordprocessor.<br />

Personally, I find this structure for a<br />

database very restricting, I can't see any<br />

way that you could use the program to run<br />

a mailing list or store information about a<br />

record collection. Even so the program is<br />

very clever and great fun to use. No dou bt<br />

many people will love the 'friendliness' of<br />

the program and use it for just those<br />

things that I said I couldn't see a way of<br />

doing.<br />

IP<br />

Hometerm I consider to be one of the<br />

most important things about this<br />

program. Modems are becoming cheaper<br />

all of the time and more and more people<br />

are becoming interested in communicating<br />

via computer. Before I go any<br />

further it is worth stressing that this<br />

program is a terminal emulation program<br />

which can be used to access bulletin<br />

boards and systems such as Telecom Gold.<br />

It is not a Viewdata type system and<br />

cannot be used with systems such as<br />

Prestel or Compunet.<br />

With Hometerm and an RS232 modem<br />

it is possible to talk to your friends who<br />

have this software and modems, swap<br />

programs with each other and talk to each<br />

other via your computer keyboard. Many<br />

of the bulletin boards now have Commodore<br />

sections on them so you can ask<br />

questions to other people who use the<br />

system etc. In fact the day of the electronic<br />

office is here. One person can write<br />

an article using Hometext. Send it to<br />

someone else via Hometerm and they can<br />

then print it out using Hometext<br />

For the more technical bods out there<br />

the following data formats are catered for,<br />

ASCII, CBM (commodore characters),<br />

Vidtex and the very popular )(modem.<br />

32<br />

One handy facility that the program<br />

has is that of Macros. It is possible to set up<br />

a file that holds information such as your<br />

name, and your password. These macros<br />

can then be used to send the information<br />

required to the computer saving you a lot<br />

of typing if you access a particular system a<br />

lot.<br />

Not much more can be said about<br />

these packages. They are all very good<br />

and would be worth a look at if the asking<br />

price was just for one of them. As I have<br />

said I found Homefind a little limiting but<br />

no doubt others will love it. All of the<br />

programs are well presented and easy to<br />

use. If you need any of the programs then<br />

the package is well worth the price even<br />

though some of the 'polish' may be<br />

missing that its more expensive,<br />

individual program, competitors have,<br />

All in one<br />

The other package mentioned is Team-<br />

Mate. What makes this program stand out<br />

from the rest is the fact that it is possible to<br />

have all of the programs in memory at any<br />

one time. Obviously, this means that you<br />

are limited to how much space is available<br />

at once for a specific task. Team-Mate gets<br />

around this in a very clever way, It allows<br />

you to choose, upon loading the software,<br />

exactly what you want in memory. Below<br />

is the menu presented when you load the<br />

software:<br />

(1) Desktop (3 prgs)<br />

(2) Plus Graph (1 prg)<br />

(3) Write File (2 prgs)<br />

(4) Home Office (2 prgs)<br />

(5) Utilities


1<br />

Dealing with each option in term.<br />

Desktop comprises of a Wordprocessor.<br />

Spread sheet and file manager (database)<br />

all of which are loaded into memory at the<br />

same time and very easy to switch<br />

between.<br />

Plus Graph is a stand alone business<br />

graphics program that is used to display<br />

information from either the spreadsheet<br />

or entered by hand.<br />

Write fi le comprises of the wordprocessor<br />

and the file manager both now<br />

with a help facility.<br />

Horne Office is Wordprocessor plus<br />

help and a spreadsheet plus help.<br />

Utilities are such things as 'Format<br />

Disk' and 'Rename File'.<br />

As can be seen from the above<br />

breakdown quite a number of differing<br />

tastes are catered for. My personal<br />

favourite is Writefile. This allows me to<br />

have a database at my fingertips with<br />

information such as company addresses<br />

and telephone numbers, and access to a<br />

fairly decent wordprocessor at the same<br />

time. Up until now the only that this has<br />

been possible was to have two C64s on my<br />

desk.<br />

As I have previously mentioned the<br />

software is very similar to that found in the<br />

Commodore Plu5/4 computer. The layout<br />

of the programs and the instructions for<br />

use are very similar, i.e. the same. For this<br />

reason the software will probably get the<br />

same stick that the Plus/4 did when it<br />

arrived on the market, 'only 99 lines in the<br />

wordprocessor and other such<br />

comments abounded when that beastie<br />

hit the streets. Granted that the software<br />

does have its limitations but in my eyes<br />

these are more than adequately<br />

overcome due to the software's<br />

convenience.<br />

As with the Plus/4 only 99 lines of text<br />

can be entered into the wordprocessor.<br />

This doesn't sound too many but when<br />

you realise that a line is 80 characters a<br />

quick calculation will show that around<br />

1000 words can be entered before you run<br />

out of room. T<br />

his the standard i s letter that you wish to write.<br />

mAll of o the r e usual commands are present in<br />

t<br />

the<br />

h<br />

wordprocessor,<br />

a<br />

such as line spacing<br />

and margins. There are however some<br />

n notable omissions, such as the lack of<br />

eheaders n and o footers. An interesting way of<br />

uovercoming g h this problem is given in the<br />

fmanual, obut<br />

more of this later.<br />

r Obviously the wordprocessor is not as<br />

sophisticated as many of its competitors.<br />

There are no fancy menus or icons in this<br />

program. Don't forget that you do have<br />

the Help function in the expanded<br />

versions which soon solves this problem.<br />

It is remarkably easy to transfer data<br />

from both the spreadsheet and database<br />

into the wordprocessor. In fact the only<br />

way to print information from the<br />

database is via the wordprocessor. It is<br />

even possible to select certain fields for<br />

printing, this makes the program very<br />

good for addressing letters or printing<br />

labels. It is this facility that allows you to<br />

add headers to articles, Simply leave room<br />

at the top of every page for the header<br />

when you print your text. Then set up<br />

your header as a database file, then put<br />

33<br />

C64<br />

your paper back in the printer and tell the<br />

program to print the information in the<br />

database at the top of every piece of<br />

paper, clever huh!<br />

As with Homepak a preview function<br />

is also available within the wordprocessor<br />

(this function is not present in Desktop)<br />

this prints out the text to the screen as it<br />

will appear on the printer. The 40 columns<br />

of the screen act as a window over the<br />

larger BO columns of the text.<br />

The database or file manager is more<br />

of what I would call a real database.<br />

Before you use the program you must set<br />

up a specific format for all entries, such as<br />

the one given earlier in this article.<br />

Information is then entered as requested<br />

by the program and stored on a disk for<br />

retrival at a later date. Again no fancy<br />

icons or prompts in this program and it is a<br />

little awkward to use in places. But it does<br />

its job and is very handy.<br />

Commands available allow the user to<br />

move to specified records, search for a<br />

specific piece of information, review<br />

records, update records and even copy<br />

records. It is possible to sort records using<br />

a specified field, it is even possible to do a<br />

sort on disk with up to three fields.<br />

The expanded file manager, available<br />

from write fi le but without the wordprocessor<br />

present, offers even more<br />

facilities for the more advanced user.<br />

Examples of added commands are<br />

'makekeyfield' and 'showkey' which<br />

make a specified field the main field in a<br />

record, speeding up all searching and<br />

sorting and print the contents of the key<br />

field respectively.<br />

The Spreadsheet is not exceptionally<br />

large, 50 rows by 17 columns. This means<br />

that it is not suitable for use in a large<br />

business but is great for working out<br />

budgets or totalling expenses. Don't<br />

forget you can even get the wordprocessor<br />

to print out a letter taking<br />

information from the spreadsheet making<br />

printing bills very easy. In fact one very<br />

nice touch is the ability to have half of the<br />

screen displaying the contents of the<br />

wordprocessor and the other half the<br />

spreadsheet. This makes it very easy for<br />

you to see exactly what you are doing.<br />

The manual for the suite of programs is<br />

written in such a way that even a beginner<br />

could get started without too much<br />

difficulty. All aspects of the programs are<br />

dealt with via little examples, for instance<br />

the section on the spread sheet shows<br />

how you could set up a budget sheet<br />

showing all the money that you have<br />

spent or saved.<br />

Team-mate can only be described as<br />

the program that a lot of C64 owners have<br />

been waiting for. OK, so it has its limitations<br />

but there are ways to get around<br />

these. The fact that the programs you are<br />

going to need can be loaded into memory<br />

just the once and that data can be stored<br />

on one disk is superb. Load in the<br />

programs in the morning and that's it.<br />

Everything is at your finger tips. Now I've<br />

started using the programs I wouldn't be<br />

without them.


::i-ACTION REP L A N<br />

ir<br />

PSI 5 TRADING Co.<br />

US Gold it4.9; Disk atamai n a<br />

t 'Jf<br />

? ancel Rank Accel. I.<br />

1 • .1.<br />

nknown<br />

Requested u u r r e n t<br />

Evasive—Course= A Stopped--Course= A<br />

Speed = 1 S p e e d = 0<br />

ID Course-Description RFT(' PS K DIS ETA<br />

A Shortest Path<br />

8 Medtun Port<br />

380 04<br />

C MediuN Starboard<br />

328<br />

D Full Port<br />

372<br />

E Full Starboard<br />

348<br />

HAVING WATCHED COUNTless<br />

episodes of Star Trek, I<br />

always thought that Captain<br />

Kirk had things very easy<br />

commanding a space ship.<br />

Especially if you have a reliable<br />

crew to carry out your every<br />

order quickly and efficiently.<br />

Psi 5 Trading Co., from US Gold<br />

seemed to be just the game I<br />

needed to prove my point. All I<br />

had to do was to select a<br />

suitable crew to enable me to<br />

deliver a cargo to some remote<br />

outpost of the universe and<br />

collect a handsome bonus.<br />

One hour into the game and I<br />

was a total wreck. My crew<br />

were tearing their hair out in<br />

despair and countermanding<br />

my orders, looters were<br />

stealing my cargo willy-nilly<br />

and I no longer knew whether I<br />

was coming or going.<br />

Your first decisions are<br />

involved with crew selection<br />

and the success of your mission<br />

TOM THUMB<br />

Anicog C-16, PI<br />

Tom 16<br />

b9 tido Gertz<br />

(c) Kingsort<br />

H I -So<br />

Sopre<br />

Extra<br />

could well be put into jeopardy<br />

straight away if you get it<br />

wrong. There are five positions<br />

to be filled in the scanning,<br />

weapons, navigation, engineering<br />

and repair departments<br />

with six candidates for each<br />

job. A screen illustrating the<br />

candidates is displayed - they<br />

may be humanoids, aliens or<br />

vaccdroids and you can call up<br />

details of each applicant before<br />

making your selection. From<br />

these resumes, you can learn<br />

about a character's qualifications,<br />

education, experience,<br />

strengths and weaknesses. For<br />

example, you may learn that<br />

whilst someone knows their<br />

job inside out, they fall to<br />

pieces under pressure, whilst a<br />

rival might be a loner and a<br />

poor communicator but won't<br />

bat an eyelid when the ship is<br />

under heavy attack.<br />

Having agonised over your<br />

recruitment, it is on to the<br />

m000 0<br />

20000<br />

kIng.o<br />

ft<br />

Kesis<br />

Lives fl<br />

•<br />

mission itself. The screen<br />

depicts your communication<br />

console with your current view<br />

displayed top left and the<br />

appropriate crew member top<br />

right. The bottom half of the<br />

screen gives various status<br />

reports whilst the central bars<br />

contain assorted indicators for<br />

you to monitor and a menu of<br />

your current choices.<br />

Your initial menu allows<br />

you to read all the pending<br />

messages or contact a specific<br />

department. If you don't keep<br />

in touch with sections regularly,<br />

they will go off and do<br />

their own thing. Most of your<br />

decisions involve what the<br />

Americans call prioritizing -<br />

working out which orders take<br />

precedence. Is it more<br />

important to get the ship<br />

travelling at full speed or<br />

should you divert some power<br />

into defensive shields? Which<br />

items should be repaired first?<br />

Strangely, every department<br />

thinks that they should have<br />

priority. As things get worse, so<br />

the animated pictures of the<br />

crew show their feelings -<br />

totally laid back or gibbering<br />

wrecks. To give some idea of<br />

what you have to control, here<br />

is a quick look at the five<br />

departments and their various<br />

tasks.<br />

The scanning department is<br />

in charge of the radars and will<br />

try and identify and track other<br />

spacecraft. In time, they can<br />

determine whether a craft is<br />

friend or foe, lock on to it and<br />

recommend which weapon is<br />

best to use against it.<br />

to find the treasure that was<br />

buried with him.<br />

Evidently you know where<br />

the treasure is. at least the<br />

instructions say that you do,<br />

but in order to gain access to<br />

the treasure you must collect a<br />

number of keys that are<br />

scattered around no fewer<br />

than 178 screens. Yes, that's<br />

right, somehow Anirog has<br />

managed to get a 178 different<br />

screens into the C-16.<br />

You would expect that the<br />

screens would be very small in<br />

order to fit so many into the<br />

game. Well, they aren't.<br />

Tom always stays in the<br />

same position on the screen.<br />

YOU, TAKING ON THE PART Thumb, have entered the tomb Whenever he moves around it<br />

of that childhood hero Tom of the Pharoah Manilo in order is the background that scrolls<br />

" a<br />

V<br />

g<br />

g<br />

R<br />

Originality PI ay abailv Graphics<br />

9<br />

ALL<br />

VanatFor<br />

Mmay<br />

Once an enemy ha% been<br />

identified, the weapons section<br />

can attack it with missiles,<br />

blasters, cannons and thermos.<br />

By analysing various statistics,<br />

you can assess how efficient<br />

your crew is with each weapon<br />

type.<br />

The navigation section will<br />

estimate the time of arrival at<br />

your destination and show you<br />

the risk involved with various<br />

routes. You can change speed<br />

and take evasive action if<br />

necessary.<br />

All sections of the ship have<br />

various power requirements<br />

and allocating that power is the<br />

responsibility of the engineering<br />

department.<br />

It will not be long before<br />

your ship suffers damage and it<br />

is necessary to request the<br />

services of the repair section.<br />

Items can be operable (at a<br />

higher power cost), repairable<br />

or destroyed. There are several<br />

droids at your disposal and<br />

again, you will need to decide<br />

what needs to be done, who's<br />

available to do it and how long<br />

it will take.<br />

Control of the game is very<br />

simple via either joystick or<br />

keyboard - it is just the decisions<br />

that are difficult. There is<br />

so much going on, that it will<br />

take some considerable time to<br />

get the hang of things.<br />

Graphically, the game is<br />

stunning so you can always sit<br />

back and watch as your ship is<br />

destroyed around you. A<br />

highly original and thoroughly<br />

excellent game.<br />

G.R.H.<br />

bringing new sections of the<br />

playing area into view. An<br />

excellent bit of programming<br />

when you consider how simple<br />

many C-16 & Plus/4 games are.<br />

Tom's journey around the<br />

tomb is hindered by all sorts of<br />

nasties. There are guards<br />

moving their spears up and<br />

down which Tom must jump<br />

over - just like the arcade game<br />

Hunchback - monsters,<br />

spiders, snakes and collapsing<br />

floors. Tom certainly has his<br />

work cut out, even the flowers<br />

and plants scattered around are<br />

out to get him.<br />

If you fancy a little adventuring<br />

then why not buy a copy<br />

and give Tom a hand?<br />

S.C.


ACTION REP L A<br />

PHANTOMS OF THE ASTEROID<br />

Masterironic i 1.99 C64<br />

0000385 0002876 P. ERTURtS 0001<br />

'ammo<br />

HELPLESSLY FLOATING Around<br />

the eerie tunnels inside<br />

MUGSY'S REVE<br />

Melbourne House<br />

M ONE 'ft<br />

by weird looking bug e‘ pc!<br />

monsters whose immai e<br />

qualities allow them to pass<br />

through roc k and appear when<br />

you are least expecting it.<br />

You, a lone astronaut, are<br />

armed only with a pathetic<br />

laser gun which Itic kily has an<br />

inexhaustible power supply.<br />

Ghastly music pings in your<br />

ears as you boost yourself<br />

through the male of caves with<br />

the aid of your trusty jet pack.<br />

Suddenly. you hit a laser<br />

force field and death comes<br />

quit kly as your whole being is<br />

pulverised and you disappear<br />

in a puff of sulphurous<br />

bubbles.<br />

a great hunk ot rock in the sky Then comes the tedious bit.<br />

you are inert ilessly assaulted Since you are a normal homo<br />

SPUO SHOtAD GO 'ROUND<br />

T t w o NA NAG<br />

OAT'S A JOICE BOSS!<br />

MAYBE WE 511011t0 HIRE<br />

SONE MORE BOY5,_MUGSY.<br />

CAN GET HOLO OF TWO AT<br />

OA MOST, SO NOW MANY<br />

oft VA HANNA HIRE, 0,10R<br />

2?<br />

17 GRAND BARRELS:<br />

AS THE NIGHT CLOSED IN. my hands tumbled with<br />

blac k as a Mt( k I inn dream. cellophane and loaded<br />

BONGO<br />

C-16, Plus/4<br />

-<br />

1<br />

the<br />

the<br />

THIS VARIATION OF A PLAT- our hero trying to rescue a<br />

form anti ladders game finds damsel in distress. Before the<br />

Mugsy file in the sleepy blue<br />

4.11.<br />

glow of the monitor. Colours<br />

flashed and I was transported<br />

back to the heady, dry days of<br />

1917. As Mugsy blinked under<br />

the unaccustomed daylight<br />

outside the stammer, the Feds<br />

welt'tamping, down on liquor.<br />

Through half-closed eyes the<br />

Boss dreamed of empire as my<br />

spirit slipped easily into his<br />

mind.<br />

First we got the boys<br />

together and made a deal with<br />

the Canadian hoods across the<br />

Parallel. All the gin joints had<br />

been driven underground like<br />

worms in a drought and easy<br />

pickings were the harvest, All<br />

we needed were the boom.<br />

the speakeasies. the dames and<br />

damsel can be rescued Bongo<br />

must collect 10 sparkling jewels<br />

(flashing dots) from around the<br />

screen.<br />

Travel around the playing<br />

area is via a number of slides,<br />

trampolines. ladders and teleportation<br />

chambers. Of course,<br />

movement around the<br />

platforms isn't easy as the everpresent<br />

baddie is out to stop<br />

wcr.<br />

As well as collecting the<br />

jewels. Bongo can also get<br />

himself extra points by<br />

gathering the letters that are<br />

'loafing around the screen.<br />

Ok, so there's nothing original<br />

so far. Even so I he game has<br />

some interesting aspects. For a<br />

Originality Playability Graphics<br />

sapien p O S S C<br />

, , , o n l y<br />

o n e<br />

% -;•••1"<br />

ahae For<br />

life and must wait for the Game<br />

Over screen to conclude<br />

several dischordant bars of<br />

'music' before you can send<br />

another unfortunate spacer to<br />

certain death.<br />

The green force fields aren't<br />

too bad since they disappear<br />

every few seconds and you can<br />

nip through. Apparently there<br />

is away to deactivate the blue<br />

and purple ones but I never<br />

lived long enough to find out<br />

how to do it.<br />

This is definitely one of<br />

Mastertronic's better offerings.<br />

Spend fl .99 and die as many<br />

times as you like.<br />

M.C.<br />

the dough.<br />

New Year brings resolutions,<br />

mine is to kick the rotgut<br />

for the duration and show a<br />

profit. I've hired the Pixel<br />

Brothers to record the high<br />

points in full colour. They even<br />

came up with a slick cartoon of<br />

'Chalk' McHugh getting his<br />

card marked down the Pool<br />

Hall. I'll show it each New Year<br />

as a warning to any other<br />

creeps till they get bored with<br />

the message. Life is still as dull<br />

as the shine on felt spats. Even<br />

the shoot-outs are rituals of<br />

emptiness. Everything is the<br />

greyness behind a rainbow, a<br />

pig in a poke.<br />

J.G.<br />

start all of the characters are<br />

extremely large and well<br />

defined, the colour facilities of<br />

the C-16 and Plus/4 being used<br />

io their full. This certainly<br />

makes a change from being<br />

chased around a screen by a<br />

single colour, one-characterhigh<br />

monster.<br />

Secondly. Bongo comes<br />

complete with a built-in screen<br />

designer. Once you get fed up<br />

of running around the screens<br />

provided you have the option<br />

of designing your own.<br />

Well done, Anirogl A<br />

program that all games-playing<br />

C-16 and Plus/4 owners should<br />

not be without.<br />

S.C.


ACTION R E Fs L A<br />

DR WHO AND THE MINES OF TERROR<br />

Micropower (64<br />

"I<br />

p<br />

tl<br />

I<br />

g<br />

"<br />

1<br />

•<br />

1<br />

1<br />

I<br />

I<br />

T<br />

I<br />

1<br />

s:r:0Z00011.1als:riCr:i.:r11 ...<br />

p.<br />

CLOSELY GUARDED COPYrights<br />

had to be skirted around<br />

in the production of this game,<br />

based around television's most<br />

successful science fiction<br />

series. The BBC seem pleased<br />

to be associated with the<br />

product but I suspect that the<br />

series' creator decided that it<br />

was against the national<br />

interest to tarry with Micropower.<br />

No doubt royalty fees<br />

lie at the heart of this situation.<br />

The result is reflected in the<br />

appearance of, dare I say it.<br />

Dalek-like creatures called<br />

Controllers who guard the<br />

TIRU machine which the<br />

Doctor must disable before the<br />

fabric of the time-space continuum<br />

is torn to shreds.<br />

The TIRU (Time Instant<br />

Replay Unit) is a temporal<br />

editing suite. An instant in time<br />

can be recorded, edited and<br />

replaced for good or evil<br />

sur soses by the use of this<br />

COMMANDO<br />

Elite C-16, Plus/4 E7.95<br />

COMMANDO ON THE C64<br />

was exstremely popular, it was<br />

machine. It is therefore the real<br />

time equivalent of our humble<br />

VHS video system_ The source<br />

of its power lies in rods of<br />

Heatonite crystal which is only<br />

found in sufficient quantity on<br />

the planet Rijar. For obvious<br />

reasons this is where the TRU<br />

has been built and it is now<br />

controlled by the Doctor's<br />

arch-enemy, the Master.<br />

The pre-publicity claims<br />

that the game starts with the<br />

familiar Dr Who theme. Well, if<br />

this is true then rm a toreador.<br />

Maybe, there were more<br />

copyright - problems but<br />

judging by the voicing of the<br />

existing tune it appears that we<br />

haven't missed much. I strongly<br />

advise that you play this game<br />

with the volume turned off_<br />

The good old Police Box<br />

Tardis gradually materialises at<br />

the start of the game and out<br />

pops the Doctor and his new<br />

assistant Spinx. the robotic cat.<br />

i his white feline is an amazing<br />

invention of the Time Lords<br />

and it can wander at will<br />

through the ensuing unobserved<br />

by all except the<br />

Doctor. It is a secret weapon in<br />

every sense of the word and if<br />

lost it will be impossible for the<br />

good Doctor to complete his<br />

mission to destroy the TIRU<br />

and recover the plans_<br />

Splinx can be programmed<br />

to perform a range of tasks as<br />

long as it does not involve<br />

climbing! Whether it suffers<br />

from vertigo or not is not<br />

explained but the only way to<br />

persuade it to go up a ladder is<br />

to force the Doctor to carry it. It<br />

is nonetheless a very useful<br />

beast which can be sent to<br />

recover any item whith is near<br />

one of the markers which the<br />

Doctor can throw around the<br />

place.<br />

Ii is not long before Splinx's<br />

assistance is necessary. After a<br />

short exploratory walk around<br />

the Heatonite mine a dinosaurlike<br />

creature, a Madrag, will be<br />

encountered. Normally this<br />

will first be in the form of<br />

Madrag eggs which hatch<br />

spontaneously as soon as a<br />

suitable food source comes<br />

near. Guess Who is suitable!<br />

The eggs are also jealously<br />

guarded by mother Madrag<br />

and this is a useful key to the<br />

solution of the first of many<br />

problems which must be faced.<br />

The documentation with<br />

the game is superb. an area in<br />

which Micropower usually<br />

excells_ Apart from the usual<br />

loading and playing instruc-<br />

I would be very easy to expect<br />

that a conversion of the game<br />

by the same company would be<br />

of the same high quality. Well it<br />

isn't. The only similarity<br />

between this and the C64<br />

version is the fact that you<br />

control a Commando who is<br />

under heavy enemy fire.<br />

In this version of the game<br />

the screens are static. Before<br />

you can get on to the next level<br />

you have to clear the screen of<br />

enemy personnel.<br />

The first level places your<br />

commando under heavy<br />

enemy fi re from enemy<br />

trerxhes. I said heavy and I<br />

mean it, if you so much as<br />

lull ot scrolling screens and pause for a second you will<br />

excellent sound effects. It probably lose a life, There is a<br />

4.<br />

1<br />

Playability Gra phics Va lue<br />

)<br />

For<br />

Money<br />

)<br />

tions the pack also includes a<br />

sealed solution to the Madrag<br />

problem, a detailed breakdown<br />

of the main elements of<br />

the game, a map of part of the<br />

mining complex and a printout<br />

of the major objects<br />

encountered in the game. The<br />

final card in the pack is vital<br />

because it gives the code used<br />

to recover the memory capsule<br />

containing the TIRU plans_ By<br />

far the greatest challenge is an<br />

encounter with a controller_<br />

They are fast and persistent in<br />

their pursuit of an enemy. As<br />

long as they can see which way<br />

you went they will give chase.<br />

Fortunately, they cannot climb<br />

ladders or move off the grid<br />

floor which supplied their<br />

power.<br />

The Doctor regenerates<br />

each time he is killed. This<br />

means that he returns to the<br />

TAR DIS or the last Cryogenic<br />

Sleep Chamber (CSC) that he<br />

passed. All of the objects which<br />

have been found and tucked<br />

away in his copious pockets will<br />

be retained but he will always<br />

have to relocate Splinx. The<br />

CSCs have a second, important<br />

purpose. By standing next to<br />

one of these the game can be<br />

saved until another day.<br />

Graphically. the game is<br />

quite pleasant. the casual lope<br />

of the Doctor is particularly<br />

impressive. The challenges are<br />

difficult but logical and, apart<br />

from the nagging music. I<br />

wholeheartedly recommend<br />

this game.<br />

I.G.<br />

simple trick to this scr een that<br />

enables you to get through it<br />

quickly. Dodge all of the<br />

enemy bullets and get behind<br />

the trenches in which the men<br />

hide.<br />

In the second screen our<br />

commando finds himself in •<br />

front of a bridge guarded by<br />

the enemy_ This is about as<br />

much as I can tell you. As soon<br />

as this screen opens, missiles<br />

and bullets are winging their<br />

way towards you, you don't<br />

stand a chance.<br />

In my mind the only<br />

commando that should tackle<br />

this game is one with a death<br />

wish_<br />

S.<br />

C<br />

.


1<br />

ACTION Ft EP L A 0<br />

DEFENSE MENU<br />

3-4-4 Off(NSJ<br />

4-2-6 coiruisi<br />

4-3-4 DEEENSJ<br />

7-1-3 DEFENSJ<br />

RETURN TO PEA<br />

THIR I Y SIX. TWENTY FOUR.<br />

Thirty six. Hup! Hupt Yes, after<br />

considerable delays, Ocean's<br />

Superbowl has finally arrived<br />

amidst considerable razzamatazz<br />

and waving of pompoms.<br />

Most of the delays were due to<br />

various gameplay problems<br />

(scores of over 100 points were<br />

being recorded) but these have<br />

now been sorted out.<br />

Fans of American Football<br />

will know that despite initial<br />

appearances, there is actually a<br />

great deal of skill involved in<br />

the game, organising tactics<br />

and running to predetermined<br />

patterns. Ocean has managed<br />

to pack a lot of detail into this<br />

game although some patriotic<br />

prejudice is displayed with a<br />

reference to real football in the<br />

instructions! For people who<br />

know nothing at all about this<br />

thrilling game, there isan audio<br />

tape included in the package<br />

which gives you a quick run<br />

down on the rules, terms and<br />

basic tactics. This works very<br />

well and is a lot better than the<br />

normal 12 page booklet that<br />

you usually get.<br />

The screen is divided into<br />

two main sections. On the right<br />

is an overhead view of the<br />

playing area. This depicts the<br />

starting positions of the move<br />

that you want to try and<br />

execute and then follows the<br />

move through once the ball has<br />

been snapped. You control<br />

one previously determined<br />

player although it is possible to<br />

change this during the course<br />

of the play if you are fast<br />

enough. Eleven men On each<br />

side running in 22 different<br />

directions takes quite a bit of<br />

getting used to!<br />

The left hand side of the<br />

screen serves two functions. As<br />

a purely decorative part of the<br />

game, an action replay of the<br />

previous play appears on the<br />

giant screen. This shows the<br />

players running, throwing,<br />

tackling and catching the ball<br />

and is nicely animated<br />

although it tends to get a bit<br />

repetitive after a while (you can<br />

stop the display with a quick<br />

press of the fire button).<br />

The nitty gritty part of the<br />

game -deciding on your tactics<br />

is determined through a series<br />

of menus. Starting with the<br />

offense, an initial menu gives<br />

you the chance to try a long or<br />

short pass, a rushing play or a<br />

special play (fi eld goal<br />

attempts, punts and goal line<br />

rushes). These choices lead<br />

into sub-menus giving you a<br />

choice of starting formations<br />

with such esoteric names as<br />

shotgun and split red. Selecting<br />

"view next frame" from the<br />

menu allows you to watch the<br />

players moving to their<br />

designated positions - a very<br />

useful option that gives you<br />

some understanding of the<br />

theory behind the manoeuvres.<br />

You can also change which<br />

player you want to receive the<br />

ball once 'the move has started.<br />

When you are happy with<br />

your choices, the "play games"<br />

option allows your opponent<br />

(or the computer) to decide on<br />

their defensive strategy. As<br />

soon as that is ready, the move<br />

is ready to be executed. The<br />

center snaps the ball back to<br />

the quarterback whilst the<br />

other players start to move<br />

upfield according to your<br />

instructions. A quick press of<br />

l<br />

i<br />

t<br />

7 , G-7<br />

Otialinality<br />

the lire button moves the<br />

cursor around the eligible<br />

receivers starting with the one<br />

that you previously designated.<br />

As your finger is removed from<br />

the button, so the ball is thrown<br />

and the receiver comes under<br />

joystick control. He must then<br />

move to where he thinks the<br />

ball is going to land as he<br />

endeavours to catch it.<br />

Instead of passing the ball,<br />

the offense may try to kick it,<br />

either attempting to score a<br />

field goal or simply punting to<br />

relieve their lines. Keeping the<br />

fire button pressed brings up a<br />

power scale showing the<br />

percentage of the maximum<br />

kick currently chosen. It is<br />

tempting to go for full range<br />

every time but this is wrong as<br />

the accuracy of a kick<br />

decreases with power.<br />

The defense is somewhat<br />

more complicated to organise.<br />

Apart from choosing your<br />

initial formation from 3-4-4, 4-<br />

3-4, 4-2-5 and 7-1-3, you must<br />

also decide who is going to<br />

mark whom, which players are<br />

going to go for the opponent<br />

•OSS<br />

e<br />

OS s a s s<br />

O Se<br />

aaa. 4810<br />

L<br />

-<br />

( A<br />

Valuta<br />

4 • Fat<br />

Maley<br />

.<br />

'<br />

)<br />

holding the ball and which<br />

offensive players will remain<br />

unmarked. Again, you can<br />

decide which player you wish<br />

to control in the ensuing move<br />

(number 73 William 'The<br />

Fridge Perry is likely to be a<br />

popular choice).<br />

Superbowl is the best<br />

American Football game seen<br />

to date. Based on this January's<br />

game in which the Chicago<br />

Bears thrashed the New<br />

England Patriots 46-10, it is an<br />

extremely credible situation.<br />

Devotees of the game need<br />

look no further. For people<br />

who know absolutely nothing<br />

about the game, why not try<br />

your hand before the new<br />

season starts on Channel 4.<br />

C.R.H.<br />

as a i<br />

saes. sea<br />

•0 8 • 8<br />

se 8 • 8 SO S i 0 81<br />

• • SOS 1 8 0 8 8 0 0 8 8 8 8<br />

• s S U S 8 • 8 • SO •<br />

e O M S • I S<br />

Il NaM S O 8 8 0 0<br />

It • II 8 8 8 4 1 8 a 0 a 0<br />

• S 8 8 • • O 0 0 • 0 8<br />

• 8 • a O S 8 0 8 8 880,<br />

SS Sae 0 8 8 8 8 8 8 SO a S S<br />

a ass • a 8 SO 8 • 8 • 0 8<br />

SeS888 S O S 8 4 1 0 0 8 O a .<br />

81188 O S &SO S O 0 8 1 1 8<br />

O8 8 8 8 8 8 1 1 8 0 O 8 8<br />

0810 a 8 SO 8 8 8 • a<br />

• S O 0 0 8 8 a 8 *<br />

• 8 8 8 8 8 S 8 0 8 a a<br />

• 5 1 1 8 1 1 • a a a • •<br />

• O S S O 8 8 8 8 •<br />

• • S O 8 • 8 8<br />

a a s a a a •<br />

• • a s • • • •<br />

a 0 S a • •<br />

• • a • s<br />

• a • a *<br />

• S a a a<br />

• I a • •<br />

a • a a s s a<br />

• • • • • • • • •<br />

• 0 • • •<br />

• a • • •<br />

• • 8 • a<br />

a • • s<br />

R tip sb<br />

i<br />

aMM<br />

-<br />

721<br />

1<br />

W e s e m a i l .<br />

SCORLS (3<br />

BEARS 90<br />

BO<br />

P 70P<br />

_ 0 6 0 0<br />

"SOW<br />

(40E<br />

R3OR<br />

20<br />

10<br />

00<br />

T 1 ME<br />

2ND WART R<br />

2ND DOWN AND 10


-<br />

-<br />

ARCHON II: ADEPT<br />

Ariolasoft<br />

E12.95, joystick required, C64<br />

2<br />

:<br />

-<br />

A<br />

C<br />

T<br />

I ARCHON WAS ONE OF THE<br />

most original strategy games<br />

ever<br />

O<br />

written, justifi ably<br />

winning several awards. Now<br />

Electronic Arts has released a<br />

sequel on the Ariolasoft label.<br />

Archon<br />

N<br />

II. Adept sees you<br />

taking sides in an epic struggle<br />

between the Master of Order<br />

and the Mistress of Chaos in a<br />

game<br />

R<br />

featuring both strategy<br />

and arcade elements.<br />

The strategy takes place on<br />

a screen featuring the four<br />

concentric<br />

E<br />

rings representing<br />

the classical elements of Earth<br />

Water, Air and Fire. In addition,<br />

there are two neutral squares<br />

which<br />

P<br />

represent the void and<br />

the home squares for each side<br />

- the Fortress of Order and the<br />

Temple of Chaos.<br />

L<br />

The aim of the game is to<br />

occupy six power points. Two<br />

of these are the void squares<br />

and the other four are the<br />

outer corners of the elemental<br />

bands,<br />

A<br />

These four rotate in turn<br />

from band to band. You can<br />

also win by the total annihilation<br />

of the opposition's forces.<br />

You start the game with four<br />

adepts - one in each element.<br />

Each turn, they can either move<br />

or cast a spell providing that<br />

you have sufficient energy to<br />

carry out your choice. There<br />

are seven spells to choose from<br />

but the one that you will use<br />

more than any other is<br />

summon". This is used to<br />

bring another piece on the<br />

board.<br />

The other spells available to<br />

you are: heal one of your<br />

pieces, weaken an opponent's<br />

piece, imprison an enemy,<br />

release one of your own<br />

imprisoned pieces, banish a<br />

hostile enemy or something<br />

called apocalypse which is a<br />

final battle used to put your<br />

adversary out of his misery.<br />

Casting spells costs varying<br />

amounts of energy depending<br />

on its potency. How much<br />

energy you have at your<br />

disposal depends on how many<br />

power points you occupy.<br />

There are two types of<br />

pieces that can be summoned,<br />

demons and elementals, Both<br />

sides have the same demons at<br />

their disposal - juggernauts,<br />

wraiths, gorgons and chimera<br />

whilst their elementals are<br />

different. Order can call on the<br />

services of a giant, kraken,<br />

thunderbird and salamander,<br />

representing earth, water, air<br />

and fi re whilst Chaos has a<br />

behemoth, siren, itrit and<br />

firebird available to him.<br />

All these characters have<br />

different strengths and weaknesses<br />

when it comes to<br />

combat. Sirens for example just<br />

have to sing and the opposition<br />

starts to die. Salamanders hurl<br />

fireballs, gorgons paralyse<br />

whilst wraiths get stronger as<br />

you get weaker - they are also<br />

invisible most of the time and<br />

'so make extremely formidable<br />

opponents. Not quite as bad as<br />

a juggernaut though which is<br />

best described as pure energy<br />

on wheels. It just steamrollers<br />

opposition out of the way.<br />

Combat occurs when two<br />

Originality Graphics Vaasa For<br />

Money<br />

2 s 1 0<br />

. , N<br />

, (c21<br />

.<br />

.<br />

.<br />

.<br />

.<br />

L<br />

pieces want to occupy the same<br />

square. The scene switches to<br />

the battleground where you<br />

must make instant decisions as<br />

you ltry to probe the opposition's<br />

weaknesses and utilise<br />

your own strengths to their<br />

best advantage. Each piece's<br />

strength is displayed as an<br />

energy bar down the side of the<br />

screen. This reduces for each<br />

successful wound infl icted.<br />

When the bar reaches zero, the<br />

icon dies leaving the victor in<br />

sole possession of the disputed<br />

square.<br />

As might be expected,<br />

pieces fight best when in their<br />

home element e.g. krakens in<br />

the water band. After you have<br />

fired your thunderbolt or<br />

whatever, it takes time before<br />

you are allowed to fire your<br />

next. This time interval varies<br />

from piece to piece and the<br />

computer lets you know with a<br />

ping - high or low depending<br />

0011P0111<br />

on which side you're on. The<br />

battle ground has a number of<br />

barriers w•hich must be dodged<br />

round or used strategically. The<br />

different elements have<br />

differing effects on missiles and<br />

icons. For example, fi re<br />

wounds an icon but leaves<br />

missiles untouched whilst earth<br />

destroys missiles and slows<br />

icons.<br />

Control of the game is<br />

entirely via a joystick. Spells are<br />

selected from a menu whilst<br />

movement is achieved by<br />

moving a square shaped<br />

cursor. Moving round the<br />

combat screen is straightforward.<br />

Aiming a missile<br />

involves pressing the fi re<br />

button and moving the joystick<br />

in the desired direction.<br />

Adepts can move their missiles<br />

whilst in flight a useful trick to<br />

know.<br />

Archon II features a wide<br />

range of options to choose<br />

from: Which side you play,<br />

number of players and their<br />

skill levels. Be warned though.<br />

the computer plays a very<br />

mean game and you are likely<br />

to be thrashed in your first few<br />

games. I would strongly<br />

recommend that you watch the<br />

demonstration games a few<br />

times so that you can get some<br />

idea of the strategies and tactics<br />

required.<br />

Archon II is an excellent<br />

strategy game and one that will<br />

take you a lifetime to master -<br />

then you can play with the<br />

other side and learn a totally<br />

new set of tactics. Whilst it<br />

doesn't quite reach the exalted<br />

standards set by the original,<br />

that is no real criticism and the<br />

game can be unreservedly<br />

recommended.<br />

GYM.


THE Fl<br />

THE FIRST OUTSIDE OPERATING<br />

SYSTEM FOR TKE CBM 64 *<br />

UTILITY<br />

OF THE YEAR<br />

1985 ,---<br />

NEW FINAL<br />

CARTRIDGE<br />

INCLUDING<br />

FREEZER<br />

This new operating system built in a cartridge<br />

does not use any memory and is always there.<br />

Compatible with 98% of all programs.<br />

DISK TURBO - 6 times faster loading •<br />

is times faster saving.<br />

TAPE TURBO - 10 times faster, even<br />

with files • normal Commodore<br />

commands compatible with standard<br />

turbo's.<br />

ADVANCED CENTRONICS INTER-<br />

FACE - compatible with all the wellknown<br />

centronics printers and Commodore<br />

printer programs. Prints all the<br />

Commodore graphics and control codes<br />

(important for listings)<br />

SCREEN DUMP FACILITIES - of low<br />

res a n d multicolour screens!!<br />

Prints full page with 12 shades of grey<br />

for multicolour pictures even from games<br />

and programs like Doodle, Koala pad,<br />

Printshop etc. Searches automaticly for<br />

the memory-address of the Picture.<br />

Special version available for the CBM<br />

801 and 803 printers.<br />

24K EXTRA RAM FOR BASIC-<br />

PROGRAMS AVAILABLE: TwLi new<br />

commands _Memory read", „Memory<br />

write". They move 192 bytes with<br />

machinelanguage-speed anywhere in the<br />

64K Ram of the CBM 64. Can be used<br />

with strings and variables<br />

BASIC 4.0 COMMANDS - like Dload.<br />

Dsave, Dappend, Catalog. etc.<br />

BASIC TOOLKIT - with Auto, Renurn<br />

(incl. (3oto and Gosub). Find, Help, Old,<br />

etc.<br />

• works with C128 in the 64 mode.<br />

AL CARTRIDGE<br />

Original multicolour full page screen<br />

dump print Out<br />

PREPROGRAMMED FUNCTION<br />

KEYS: - Run. Load, Save. Catalog, Disk<br />

commands, List !removes all listprotections).<br />

KEYBOARD EXTRA'S - Allows you to<br />

delete part of a line; stop and continues<br />

listings: move cursor to lower lefthand<br />

corner Pokes and Syscalls in Hex. Typcommand<br />

operates your printer as a<br />

typewriter<br />

Cl.HAPUTE1-4<br />

COMFORTABLE EXTENDED MI_<br />

MONITOR: - with relocated load<br />

scrolling up and down. Bankswitching,<br />

etc. - does not reside in memory.<br />

RESET SWITCH: - resets to monitor;<br />

resets with old, resets to Hi-res printing;<br />

resets every protected program.<br />

ON/OFF SWITCH - we hope you never<br />

need that one<br />

FREEZER:<br />

Stops and continues almost every<br />

program and allows you to make a total<br />

back up to disk or tape automatically.<br />

Specs: Creates one file on disk or tape.<br />

Packs the program.<br />

Freezes 4 to 6 times faster than<br />

dedicated freezers.<br />

Menu driven.<br />

Freezer options include:<br />

full page printing<br />

fore- and background colour changes<br />

reverse printing<br />

jumps to monitor or reset<br />

Training mode:<br />

kills sprite collision detection.<br />

14 Days money<br />

back guarantee<br />

if you are 1 2 Months repladissatisfied_<br />

c e m e n t guarantee<br />

U.K. ORDERS Available by the wellknown<br />

Commodore Dealers or directly from<br />

H & P Computers<br />

9 Hornbeemwalk<br />

Witham Essex CM8 2 SZ England d.<br />

Telephone: 0376 - 51 14<br />

71<br />

.<br />

copyright and registered trademark H&P computers<br />

Wolph•mtsbucht 236 30E13 folV Rotterdam F11etheriandy ray 01031 - 10231982 Tellit• 213401 a intx nt


Save your fingers a lot of<br />

work with our new software<br />

[service.<br />

IT'S THREE O'CLOCK IN THE MORNING.<br />

You sit at the computer keyboard having<br />

Just finished a marathon typing session<br />

entering one of the superb programs<br />

from Your Commodore. Your fingers<br />

reach for the keyboard and press the<br />

letters R. U and Ni. You sit back<br />

expet tautly and...nothing happens.<br />

Well. I'm sure that we have all had<br />

problem before now. When it does<br />

happen it's a matter of spending hours<br />

searching through the program for any<br />

typing mistakes. No matter how long you<br />

look or how many people help you, you<br />

can usually guarantee that at least one<br />

little bug slips through unnoticed.<br />

Here, at YOUT Commodore, we pride<br />

ourselves on the quality ot listing that we<br />

print. Unfortunately, this usually means<br />

that they are also very long, thus taking<br />

longer to type in and leaving more room<br />

for errors. All of the listings in Your<br />

Commodore are taken straight from a<br />

printout of working programs, it is<br />

therefore very unusual for errors to<br />

appear in the magazine.<br />

Because of the length of our programs<br />

we do get a large number of requests from<br />

readers who would like us to put specific<br />

E<br />

P<br />

1<br />

1<br />

r/A<br />

programs on tape or disk for them.<br />

Obviously this is very time consuming and<br />

means that we can't spend as much time<br />

working on the magazine as we would<br />

like.<br />

We are therefore proud to announce<br />

the start of the Your Commodore Software<br />

Service'. Most of the programs from<br />

each issue of the magazine will now be<br />

available on a single cassette for a price of<br />

just €4.00. We will not be making disks<br />

available since they would have to be a lot<br />

more expensive and more difficult to<br />

post. This shouldn't cause you any<br />

L<br />

ARGUS SPECIALIST PUBLICATIONS LTD<br />

I A l l cheques/postal orders should be made payable to:<br />

-E<br />

A<br />

I would like to order the following cassettes: (please tick box)<br />

S<br />

E<br />

UTILITY SPECIAL YCMA862 E4.00<br />

C<br />

1O<br />

M<br />

P<br />

L<br />

E<br />

APRIL '86<br />

MAY '86<br />

JUNIE'86<br />

YCAPR86 E4.00<br />

YCMAY86 £4.00<br />

YCJUNlit) 1 UN I I<br />

T I enclose a cheque/postal order for f<br />

E<br />

I<br />

N<br />

B<br />

L<br />

NAME<br />

ADDRESS<br />

O POSTCODE<br />

C All orders should be sent to:-<br />

K YOUR COMMODORE SOFTWARE, READERS SERVICES, ARGUS SPECIALIST PUBLICATIONS,<br />

C WOLSEY HOUSE, WOLSEY ROAD, HEMEL HEMPSTEAD, HERTFORDSHIRE HP2 LISS.<br />

A<br />

P<br />

I<br />

T<br />

A<br />

L<br />

S<br />

Please allow at least 28 days for delivery.<br />

problems though as none of the programs<br />

will be protected and it will be a simple<br />

matter to save the programs to disk<br />

yourselves.<br />

All programs on the cassette will be<br />

saved using a tape turbo routine.<br />

However, we cannot guarantee that all<br />

programs will work correctly with this<br />

turbo routine present We therefore<br />

recommend that betore you use any of<br />

the programs you make a copy of the<br />

programs on your own cassette or disk<br />

and use this version of the program not<br />

the original.<br />

)RDER


lin 1111 EOM EIMIIIM M E M III • EN<br />

•<br />

When you are designing a game one of the longest jobs is de-<br />

.<br />

in.<br />

M..<br />

• • . .1<br />

. . . 11 signing the sprites. If you are good at art then fine, if not your<br />

. 11 • • • • 1 •••• next monster will probably end up looking like a square box<br />

.<br />

• K•• 10 • • • I ••I•1 •IMI with legs,<br />

OM ES N M U S • •1 • Now, Your Commodore comes to the rescue once again<br />

. • • • • • • • •<br />

II II • 1 1<br />

•••<br />

EI••• • • • • • • with Sprite Ideas. If you have designed any sprites for games<br />

S • E• • mom • •No • and you don't mind other people seeing your masterworks<br />

UO<br />

M MEE E M I EMU lollim... then why not send them into us. Each month we will be offering<br />

•II SU U•.0U U U 1. CIO for the best entries.<br />

U•<br />

• • IUUUU •UU • • ••••• • Your sprites can be anything at all (within reason), if you've<br />

U•<br />

• • 1111 USUSU UUU MS MU• • •<br />

OM<br />

• •<br />

• designed a series of animated characters then send in the lot.<br />

. ••<br />

ME •<br />

• •. . •• We'd love to have a look at them.<br />

U•<br />

• 111 O H•III<br />

• rat..<br />

ME<br />

I . r<br />

ME IMI So, next timeyou areafter anOgreto put in your newgame,<br />

MOM • MOO have a look in this section of the magazine and you may find<br />

U•<br />

OM • • M<br />

.<br />

• •••II<br />

just what you are looking for.<br />

0 • • NOMMEN • II<br />

U<br />

.<br />

This U month's sprites are from Aman Khan from Hayes, Middlesex.<br />

.<br />

.<br />

.<br />

•<br />

.<br />

S<br />

•<br />

m<br />

U<br />

•<br />

U<br />

r<br />

U<br />

U<br />

U<br />

U<br />

U<br />

U<br />

U<br />

I<br />

.."4•40.<br />

• . . . . . . .<br />

• • • • • • • • .• „<br />

•<br />

IPS • • • •<br />

11••••<br />

-<br />

• • • •<br />

1<br />

•••• .......<br />

• • •<br />

•••••<br />

... .4.<br />

••<br />

••• . .<br />

4<br />

. . . 41<br />

,<br />

•• •1 • 4 4 4 fl<br />

,<br />

4<br />

4" 1 4 0 fl<br />

11<br />

-<br />

4 fl<br />

•• •. • • •<br />

•••• •<br />

•••<br />

1<br />

11”<br />

0<br />

”<br />

-<br />

••••<br />

' • 0 . 0 . .<br />

• 1F• • • • • •<br />

• • • • • • • • • • •<br />

"Iltntv,<br />

5 POKE53251.0:POKE53280.0:PRINT"ICLR)"IREM SETS UP SCREEN COLOURS AND CLEARS SCR<br />

EEN<br />

10 FORA...0T01407READQ:P0KE12288.A.0:NEXT:REM POKES DATA INTO 12288 ONWARDS.<br />

20 REM ONCE DATA HAS BEEN READ IN ONCE TYPE 'RUN 1200 TO RUN THE PROGRAM AGAIN<br />

100 REM FRAME ONE...SPRITE ONE<br />

105 DATA0,0,10.0.3.105.0.63,213.0.253.85.3.255.117.3,255.245.15,2<br />

55 110 DATA213.21.255.85.85.117.85.85.253.85.87.255.85,31.255.85.23.<br />

. 255,213,5,255<br />

120 DATA85.1.127.85.1.125.85.0.93.214.0.21.90.0.1.106.0.0.10.<br />

245 0130 REM FRAME ONE.. SPRITE TWO<br />

135 DATA160.0.0,213.192.0.93.252.0,125.127.0.85.255.192.87,255.192.8<br />

.<br />

7140<br />

DATA85.215.252.85.85.124.87,245.127.95.253,95,95,255.255,8<br />

23<br />

.255.2 150 7 DATA220,85.127.80.85.127.64.85.93.64.85.85.0,153.84.0.170.64.0.160.0.0.0<br />

.<br />

40 .25 200 REM FRAME T W O<br />

255 205<br />

5, - DATA0.0.10.0.1.93.0.21.85,0,245,87,3.213.85.3.221,85.15.253.85,63.245.8<br />

5<br />

252.85.<br />

SPRITE<br />

255 O N E


210 DATA63.245.85.255.85.85.117.85,85.253.85.87.63.85.85,63.213.85.15,213.85<br />

220 DATA3.85.85.3.117.85.0.85.85.0.21.106.0.1.170.0.0.10.0<br />

230 REM FRAME TWO...SPRITE TWO<br />

235 DATA160.0.0.107.192.0.223.252.0,223.255.0.95.255,192,255,255.192.127.255<br />

240 DATA240.93.127.252.85,87.252.127.87.255.255.255,255.255.253.247.255.253.244<br />

250 OATAl27,245.212,127.245.80.95.245.64.87.213.64.85,213.0.89.84.0.170.64.0<br />

260 DATA192.0.0.0<br />

300 REM FRAME THREE...SPRITE ONE<br />

305 DATA0.0.10.0.3.126.0.21.223.0.87.223.1.85.95.1.85.255.13.85.127.61.85.93<br />

310 OATA53.85.85.245.85.127.213.85,255.213.87.255.53.85.255.61.65.255.15.85.127<br />

320 DATA3.85.95.3.85.137.0.117,85.0.21.105.0.1.170.0.0.10.0<br />

330 REM FRAME THREE...SPRITE TWO<br />

335 DATA160.0.0.149.64.0.255.252.0.255,255.0.255.255.192,127.255.192.253.255<br />

340 DATA240.255.255.252.87,255.252.87,255.255,255.255.255.255.255,255.253.253<br />

350 DATA252.253,125.116,245.117.80,245.85.64.213.85.64.213.85.0.85.84.0.153.6<br />

360 DATA0,160.0.0.0<br />

400 REM FRAME FOUR...SPRITE ONE<br />

405 DATA0.0.10.0.3.235.0.55.255.0.247,255.•.87.255.1.255.223.5.127.253.21.93<br />

410 DATAl27.21,85.87.85.127.87.85,255.255.87.255.247.21,255.245.21.255,213.5<br />

420 DATAl27.213.1.127.85.1.93.85.0.93.85.0.21,90,0.2.170.0.0.10.0<br />

430 REM FRAME FOUR...SPRITE TWO<br />

435 DATA160.0.0.235.192.0.255.252.0.255.255.0.255.255.192.255.255.192.255.255<br />

440 DATA240.255,255.244.255.255.244.255.255.85.255.253.85.255.245.85,253,245.84<br />

450 DATAl25.93.84.117.85.240,85.117.192.85.87.192.85.87.0,85.84.0.169.64.0.160<br />

460 0ATA0.0.0<br />

500 REM FRAME FIVE...SPRITE ONE<br />

505 DATA0.0.10.0.3.254.0.63.255.0.255.255,3,247.255.3.255.127.13.127,255.21.87<br />

510 DATA255.63.87.255.255.255.255.255.247,255,255,245.253.63.213.245.63.213.117<br />

520 DATA15.85.85.3.85.85.1.85.85.0.85.85.0.21,85.0.1.106.0.0.10.0<br />

530 REM FRAME FIVE.. SPRITE TWO<br />

535 DATA160.0.0.171.192.0.255.252.0.255.255.0.255.255.192.255.255.192.255.253<br />

540 DATA208.255.253.84.255.245.212.255.87.213.253,85.85.245,85.85.245.117.84,93<br />

550 DATA85.84.85.95.112.117.127.192.85.95.192.85,95.0.165.84.0.170.64.0.160.0.0<br />

560 DATA°<br />

600 REM FRAME SIX...SPRITE ONE<br />

605 DATA0.0.10.0.3.235.0.63,255.0.255.255.3.255.255.3.127,255.5.255.255.21.255<br />

610 DATA255.63.255.255.255,255.255.255.127.255.255.95,125.61,93.125.53,85.87.5<br />

620 DATA85,85.1.85.93.1.85.85.0.85.85.0.21.90.0.1.170.0.0.10.0<br />

630 REM FRAME SIX.. .SPRITE TWO<br />

635 DATA160.0.0.175.192.0.255.244.0.255.245.0.255.253,64.255.255,192.255,247.80<br />

640 DATA255.85.87.253.117.87.213.245,85.85.85.85.85.85.85.117,85.84.85.85.84.95<br />

650 DATA93,80.127.255.64.127.255.64.95.221.0.85,84.0.170,64.0.160.0.0.0<br />

700 REM FRAME SEVEN...SPRITE ONE<br />

705 DATA0.0.10.0.3.254.0.63.255.0.255.255.3.255.255.3.255.255.15,255.255.63.25-t<br />

710 OATA255.63,255.253.255.255.213.127,255.85,95,125.85.29.125.117,21,87.85,5<br />

720 OATA85.95,1.93.127.1.85.127.0.85.95.0.21,85.0.1.106.0.0.10.0<br />

730 REM FRAME SEVEN.. SPRITE TWO<br />

735 DATA160.0.0.233.64.0.253.84.0.253.87.0.255.87.192.255.223.192.247.87.240.85<br />

740 DATA85.124.117.85.124.245.85.93.85.85.95.85.85.127.85.85.124.85,85.92.93.85<br />

750 DATA80.255.85,64.255.93.64.221.117.0.85.84.0.169.64,0,160.0.0.0<br />

800 REM FRAME EIGHT.,. SPRITE ONE<br />

805 DAT10.0.10.0.3.234.0.63.253.0.255.253.3.255.255.3.2551255.15.255.247,63.25t<br />

810 DATA85.63.253.117.255.213.245.255.85,85.253,85.85.61.117.85.23.87.117.5.127<br />

820 DATA253.1.127.253,1.95.117.0.85.135.0.21.86.0.2.170.0.0.10.0<br />

830 REM FRAME EIGHT...SPRITE TWO<br />

835 DATA160.0.0.170.64.0.85.84.0.87.247.0.95.255.192.215.255.192.85,127.240.85<br />

840 DATAl27.252.85.127.252,85.95,245,85.87,85.85.87.245.65.95.252.85,95.252.85<br />

850 DATA87.240.117.87.192.213.85.192.85.85.0.149.84.0.169.64.0.160.0.0.0<br />

900 REM FRAME NINE...SPRITE ONE<br />

905 DATA0.0.10.0.1.106.0.61.85.0.253.87.3.255,95.3.255.215.15,247.85.63.85.85<br />

910 DATA61,85.85.213.85,85,85.85.85.85.85.85.23.117.85.63,253.85.15.253.117.3<br />

920 DATA117.213.1.85.85.0.85,85.0.21.105.0.1.170.0.0.10.0<br />

930 REM FRAME NINE.. .SPRITE TWO<br />

935 DATA160,0.0.85.64.0.85,124.0.247,253.0.255.255.64.255.255,192.127.255.240<br />

940 OATAl27.255.212.127.255.84.95.245.85,87.85.85,87,253.85.127.255.84.95.255<br />

950 DATA84.95.253.80.87.245.64.87.213.64.85.221.0.101.84.0.169.64.0.160.0.0.0<br />

1000 REM FRAME TEN.. .SPRITE ONE<br />

1005 DATA0,0.10.0.1,85.0.21.85.0.87.247.3.95.255.3.215.255.7.85.127.21.85,127<br />

1010 DATA53.85.127.245.85,95.85.85.87.85.85.87.53.85.127.61.85,95.13.117.95.1<br />

1020 DATA213.87.1.85.87.0.85.85.0.21.89.0.1.170.0.0.10.0<br />

1030 REM FRAME TEN...SPRITE TWO<br />

1035 DATA160.0.0.149.64.0.127.212.0.253.85.0.255.117.64.255.245.64.255.245.80<br />

1040 DATA255.213.92.255,85.84.245.85,85.85.85.85.253.85.95,255.85.124,255.85<br />

1050 DATAl24.253.85.80.245.85.64.213.85.64.221.85.0.85.84.0.105.64.0.160.0.0.0<br />

1100 REM FRAME ELEVEN., SPRITE ONE<br />

1105 DATA0.0.10.0.1.85.0.21.127.0.247.253.3.255.255.3.255.255.5.127.255.21.127<br />

1110 DATA255.21.127.255.85.95.245.85.87.85.85.95.245,21.127.255.21.95.255.5.95<br />

1120 DATA253.1.87.245.1.87.213.0.135.221.0.21.85.0.1.106.0.0.10.0<br />

1130 REM FRAME ELEVEN...SPRITE TWO<br />

1135 DATA160.0.0.105.64.0.213.220.0.85.125.0.117.85.192.245.87.192.245.87.240<br />

1140 11ATA213.85,212,85,85.84.85.87.245.85.95.253.85.95.255,85.87.252.85.85.252<br />

1150 DATA85.85.112.85.85.64.85.85,64,85.85.0.165.84.0.170.64.0.160.0.0.0.0<br />

1200 REM THIS SETS UP THE PARAMETERS,<br />

1205 V-53248:POKEV-0-21.3;POKEV-1-39.1.:POKEV-1-40.1!PRINT-ICLRHYEL)":P0KE53281.0:POKE<br />

53280.7<br />

1210 POKEV4-23.3:POKEV4-28.3:P0KEV-0-37.6:POKEV-38.5<br />

1220 POKEV.170:P0KEV42.194:PONEV4-1.125:POKEV03,125<br />

1230 A.•192<br />

1235 REM THIS PART SPINS THE PLANET.<br />

1240 POKE2040.A:P0KE2041,A41<br />

1250 F O R B<br />

-0 1260 00T01240 •<br />

T<br />

0 1 2 5<br />

•NEXMAA<br />

-1-<br />

2 : 1 F A - 2 1


Listings will be much easier to<br />

enter with our new system.<br />

COMMODORE LISTINGS ARE RATHER<br />

well known for the horrible little black<br />

blobs that always abound. Unfortunately<br />

the graphics characters which are used to<br />

represent graphic and control characters<br />

do not reproduce very well and they are<br />

also difficult to find on the Commodore<br />

keyboard<br />

In future all control and graphics<br />

commands will be replaced by a mnemonic<br />

within square brackets. This mnemonic is<br />

not typed out as printed in the magazine<br />

but rather the corresponding key or keys<br />

on the keyboard are pressed. For example<br />

[RIGHT] means press the cursor right key,<br />

you do not type in [RIGHT]. All of the<br />

keywords, what keys to press and how<br />

they are shown on the screen are shown<br />

below<br />

Any character that is accessed by pressing<br />

shift and a letter will be printed as<br />

(Sletter].<br />

[SA] shift and A<br />

[St] shift and +<br />

Any chdracter that is accessed by<br />

pressing the Commodore key and a letter<br />

will be printed as [Cletter]<br />

CA] Commodore and A<br />

C+j Commodore and +<br />

[Clj Commodore and 1<br />

Mnemonic Symbol what to press<br />

[RIGHT]<br />

[LEFT]<br />

[UP]<br />

[DOWN]<br />

[H]<br />

IF21<br />

(151<br />

[F41<br />

• M O<br />

MOM •<br />

OMOM<br />

•m 4 8 0<br />

moo mEM<br />

moo • • 8<br />

MOM • E M<br />

MOM MOM<br />

OM. M O<br />

MEMO<br />

left/right<br />

Mt left/ri<br />

ght<br />

Shif<br />

t cl o wn<br />

&<br />

u<br />

pup/down<br />

ti<br />

shift & fl<br />

f3<br />

shift 8,e 13<br />

If any characters are repeated the<br />

mnemonic will be followed by a number.<br />

This number is how many times you<br />

should enter the character. Any number<br />

of spaces over one will also be<br />

epresented in this form<br />

RIGHT10] press cursor right 10 times<br />

C+10] press Commodore and + 10<br />

imes<br />

SPC10] Press the space bar 10 times<br />

Mnemonic Symbol what to press<br />

IF5j<br />

[F6]<br />

IF131<br />

[CLEAR]<br />

[HOME]<br />

IRVSON]<br />

[RVSOFF]<br />

MOMS<br />

IMMO<br />

mums<br />

DOOM<br />

MOO•<br />

.008<br />

MO<br />

MO<br />

mai<br />

OM<br />

OM<br />

OM<br />

• • E<br />

• •<br />

MO M O<br />

MOM 800<br />

010M•<br />

MMOOMSOS<br />

MM•M •<br />

f5<br />

shift & 15<br />

17<br />

shift & 17<br />

shift & CLR<br />

/HOME<br />

CLR/HONit<br />

CTRL & 9<br />

CTRL & 0<br />

Any other characters should be easily<br />

recognisable for example CTRL-N means<br />

press CTRL and N and LEFT-ARROW<br />

means press the left arrow.<br />

Any number of mnemonics can be<br />

enclosed in brackets for example<br />

[SA10,SPC10,SA10]<br />

means type 10 shift A's 10 spaces and<br />

another 10 shift A's.<br />

Mnemonic Symbol what to press<br />

[BLACK]<br />

[WHITE]<br />

[RED]<br />

[CYAN]<br />

[PURPLE]<br />

[GREEN]<br />

[BLUE]<br />

[YELLOW]<br />

MOOS<br />

•OMM<br />

O•<br />

••118110<br />

•M • EMM<br />

•m MEMO<br />

m• mMEM<br />

MO MOOM<br />

CTRL & 1<br />

CTRL & 2<br />

CTRL & 3<br />

CTRL & 4<br />

CTRL & 5<br />

CTRL & 6<br />

CTRL & 7<br />

CTRL & 8


THE CREATOR SERIES<br />

Now you can let your mind go in a<br />

crescendo of creativity. You may think<br />

you are unable to program, you may<br />

know nothing about computing but now<br />

YOU are able to write stunning original<br />

machine code programs. ARCADE<br />

ARCADE CREATOR<br />

CREATOR, the first release in the<br />

CREATOR SERIES, allows you to<br />

program your own arcade games in the<br />

language you know best - English.<br />

If you prefer the complex mind<br />

stretching world of the strategy<br />

program, then the second in the series,<br />

BATTLE CREATOR, is for you. Using<br />

simple commands you can devise your<br />

own brain buster, without busting your<br />

own brain in the process.<br />

For the budding musician, the third in<br />

the series, MUSIC CREATOR, helps you<br />

to compose your own melodies and<br />

rhythms.<br />

The Arg u s Pre ss So f t w a re Gro u p L t d<br />

Liberty Ho u se . 2 2 2 Re g e n t St re e t , L o n d o n WiR 7(!43<br />

Telephone 01-439 0 6 6 6<br />

Music Creator - CBM64 T H E C R E A M E R S E R I E S Arcade/Battle Creator -<br />

UNLEASHES THE POWER OF YOUR IMAGINATION C 8 M 6 4 , Spectrum & Ams


READER'S<br />

45


1. Would you please tick the box against<br />

the statement which best describes how<br />

much of Your Commodore you normally<br />

read or look through:<br />

Read or look through most or nearly all<br />

the articles/features 0<br />

Read or look through some of the<br />

articles/features<br />

Just read or look through the occasional<br />

article/feature 0<br />

2. With regard to the advertisements in<br />

Your Commodore, do you:<br />

Read or look through most or nearly all of<br />

the advertisements? 0<br />

Read or look through some of the<br />

advertisements? 0<br />

Just read or look through the occasional<br />

advertisement? 0<br />

Very rarely/never look at the<br />

advertisments? 0<br />

3. Thinking specifically about the advertising<br />

content of Your Commodore,<br />

would you please rate the two main types<br />

of advertising matter - Display and<br />

Classified - in terms of usefulness (please<br />

tick one against each type):<br />

Display Classified<br />

Very useful 0<br />

Useful 0 0<br />

Not very useful 0 0<br />

Not at all useful 0<br />

4. Have you ever ordered or bought<br />

equipment/products after reading an<br />

advertisement in Your Commodore?<br />

Regularly<br />

Occasionally<br />

Never 0<br />

If the answer to Question 4 is yes, what<br />

was the last item you purchased in this<br />

wray and what was its value?<br />

5. Does anyone else read your copy of<br />

Your Commodore?<br />

No<br />

1 or 2<br />

3 or 4 0<br />

More than 4 0<br />

6. Do you keep your copies of Your<br />

Commodore for:<br />

One month? 0<br />

Three months? 0<br />

Six months?<br />

A year or more?<br />

11 KEPT, PLEASE ANSWER THE NEXT<br />

QUESTION.<br />

7. How often do you refer to back issues of<br />

Your Commodore?<br />

Once a week or more often 0<br />

About once a month 0<br />

Once every three months 0<br />

Less often 0<br />

Never refer to back issues 0<br />

ff. What magaiines other than Your<br />

Commodore's competitors do you read?<br />

9. What Daily newspaper do you regularly<br />

read?<br />

Daily Mail<br />

Daily Express<br />

Daily Mirror<br />

The Sun<br />

Ioday<br />

The Guardian<br />

The Times<br />

0<br />

The Daily Telegraph<br />

Financial Times<br />

10. What Sunday newspaper do<br />

regularly read?<br />

Sunday Times<br />

Sunday Telegraph<br />

The Observer<br />

Sunday Express<br />

Mail on Sunday<br />

News of the World<br />

Sunday People<br />

17. Do you use your computer for the following:<br />

13. Do you own one of the following disk<br />

drives?<br />

1541 0<br />

1551 0<br />

1570 0<br />

1571<br />

Original programmings All the time More than half the time Sometimes Never<br />

Typing in games listings<br />

Typing in utility listings<br />

Playing games<br />

Educational uses<br />

Business uses<br />

you<br />

11. Name the three television<br />

programmes you view most regularly.<br />

12. Which computer(s) do you<br />

C16<br />

Plus/4<br />

C64<br />

C128<br />

Vic 20<br />

PET<br />

Spectrum<br />

Amstrad<br />

BBC<br />

Electron<br />

Atari<br />

own?<br />

14. Do you own any of the following<br />

printers?<br />

Commodore printer<br />

Epson-compatible printer<br />

Other 0<br />

15. Do you own any of the following<br />

peripherals?<br />

Joystick 0<br />

Lightpen<br />

Mouse 0<br />

Graphics pad<br />

O 16. How long have you had a Commodore<br />

• computer?<br />

O Less than three months<br />

O Three to six months<br />

O Seven months to one year<br />

O One year to two years<br />

O Over two years


18. Who else uses your computer?<br />

Nobody<br />

Spouse<br />

Parent<br />

Children<br />

Friends<br />

Other<br />

19. How much do you estimate you have<br />

spent in total in the last 12 months on your<br />

computing activities?<br />

0- £50<br />

f51-100<br />

El 01-200<br />

1201-500<br />

1 1500-11000<br />

11000-1500<br />

11500-2000<br />

Over 12000<br />

20. How much do you expect to spend on<br />

hardware over the next year?<br />

0-150<br />

151-1100<br />

1101-200<br />

a<br />

1201-1500<br />

Over 1500<br />

0-150<br />

151-1100<br />

1101-f 200<br />

1201-1300<br />

1301-1500<br />

0<br />

0<br />

0<br />

21. How much do you normally spend in a<br />

12-month period on the following types<br />

of software?<br />

22. Do software reviews influence your<br />

buying?<br />

Yes<br />

No<br />

23. Do Software Charts influence your<br />

buying?<br />

Yes<br />

No<br />

24. Please tick the box which best<br />

describes you:<br />

New reader (within the last 3 months) 0<br />

Established reader 0<br />

Occasional reader<br />

25. Were you previously a regular reader<br />

of Your 64?<br />

Yes 0<br />

No 0<br />

a<br />

26. Were you previously a regular reader<br />

of Your Commodore before we<br />

incorporated Your 64? Yes<br />

No 0<br />

27. Were you previously a regular reader<br />

of BOTH Your Commodore and Your 64?<br />

Yes 0<br />

No<br />

28. Since we incorporated Your 64, do you<br />

think that Your Commodore is:<br />

Better<br />

Same 0<br />

Worse<br />

PLEASE STATE WHY<br />

29. What do you think about the balance<br />

of articles in Your Commodore?<br />

About<br />

More right<br />

New 0 a<br />

Programming articles 0 0<br />

Software reviews 0 0<br />

Hardware reviews 0 0<br />

Book reviews 0 a<br />

Games to type in 0 0<br />

Utilities to type in D 0<br />

Business page 0 0<br />

Adventure column 0 0<br />

Letters 0 0<br />

Competitions 0 a<br />

What else would you like to see in Your<br />

Cornmodore?<br />

Games Business Software Educational Software Utilities<br />

Less<br />

0<br />

30. Which listings do you type in?<br />

All Some None<br />

Games 0 a<br />

Utilities 0 a<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

31. Which other computer magazines do<br />

you regularly buy?<br />

Commodore Horizons a<br />

Commodore User 0<br />

Commodore Computing International 0<br />

Zzapp 64<br />

0<br />

Compute<br />

a<br />

Your Computer<br />

Popular Computing Weekly<br />

0<br />

Personal Computer World<br />

Other<br />

32. Are you aware of Your Commodore's<br />

scheduled publication date?<br />

Yes 0<br />

No<br />

33. If you answered yes to Question 32, do<br />

you attempt to purchase the magazine on<br />

that day?<br />

Yes<br />

No 0<br />

34. Do you normally obtain your copy by:<br />

Casual purchase<br />

Newsagent home delivery a<br />

Newsagent shop collection a<br />

Subscription 0<br />

IS. If you do not obtain your copy be<br />

subscription, is it due to one of the<br />

following?<br />

Subscription too expensive 0<br />

Good availability through local<br />

newsagent<br />

Not every issue is required 0<br />

Have subscribed previously but lapsed<br />

36. If you do not subscribe, from which<br />

type of newsagent do you most often<br />

obtain your copy?<br />

High Street shop 0<br />

Estate shop 0<br />

Travel Point 0<br />

Corner shop<br />

37. Are you a member of a computer club?<br />

Yes<br />

No 0<br />

If yes, please give details<br />

PERSONAL DETAILS<br />

38. Please tick the box which represents<br />

the annual total of your NET income (i.e,<br />

after tax, National Insurance, pension<br />

contributions, etc):<br />

From 111690+ 0<br />

From 19350 to 111680<br />

From 17480 to 19340<br />

From 15980 to 17470<br />

From 14780 to 15970 0<br />

Name<br />

Address<br />

Marital status<br />

Sex<br />

Age<br />

Occupation<br />

Number of children<br />

0<br />

O<br />

0<br />

0<br />

We would like to thank you very much for<br />

your help. The information will be<br />

regarded as confidential and will be used<br />

solely for the purpose of the survey.


Postage<br />

will be<br />

paid by<br />

licensee<br />

r<br />

B<br />

U<br />

S<br />

I<br />

N<br />

E<br />

S<br />

S<br />

R<br />

E<br />

P<br />

L<br />

Y<br />

S<br />

E<br />

R<br />

V<br />

I<br />

C<br />

E<br />

TUCK INTO A<br />

THIRD FOLD<br />

Do not affix Postage Stamps if posted in<br />

Gt Britain, Channel Islands, N Ireland<br />

or the Isle of Man<br />

Licence No. WC 3970<br />

Your Commodore<br />

Argus Specialist Publications Limited<br />

No. 1, Golden Square,<br />

LONDON W1R 3AB<br />

SECOND FOLD<br />

010d ISUIA<br />

1


i<br />

S<br />

O<br />

F<br />

T<br />

W<br />

A<br />

R<br />

E<br />

PRIN<br />

29<br />

TER<br />

5<br />

-if•S 1101 Detsywneel S .... L23 '<br />

8<br />

t<br />

1<br />

o00<br />

ckaE.1 5 9<br />

s 1<br />

9<br />

1 ornprtra interlace • •<br />

0A<br />

01<br />

0 ‘<br />

N"<br />

MONITOR<br />

k4<br />

S<br />

-1<br />

a)(<br />

1900M.80 COL M • .......... 145,00<br />

1902 COL M o n ito r ...... 285.00<br />

PHILLIPS<br />

Green/Amber • • . ........ .95.00<br />

PhittipsCarne.<br />

.........<br />

..<br />

1 1<br />

9 S<br />

Superscript 04 - D isk<br />

Superscript 128 - Disk<br />

Superscript • Supeibase 64 D isk<br />

Superbase 64 - Disk<br />

Superbase 128 - Disk<br />

Stioeibasc • Su p e rscrip t 128 - Disk<br />

176 OiSC 0 0 9 0<br />

70 CL EAR!<br />

MPS aot (New). • • • 129.00<br />

MPS 80) (Shop Sotratt) • - 00<br />

c64 (Shup Sneed) , • ..... • • 99.00<br />

100 sin e Oe ct. d iN e A95.611<br />

,t97•, d u p le ste le . &Alt dtWe 265.<br />

t a 9 .<br />

00<br />

"INSTANT CREDIT"<br />

000<br />

cor)r<br />

12817 rEitatirteas Package<br />

airpa<br />

g<br />

1280 . 8 0 Ca.) M onitor • Pn n ter<br />

toctuoing • 5 tusks • Sok Per<br />

Inc, Superscript.<br />

....... 49.00<br />

7 4 . 0 0<br />

9 9 . 0 0<br />

5 9 . 0 0<br />

7 9 00<br />

t 39 00<br />

Elt75 inc<br />

Yes Its Its true !!!<br />

rvE<br />

LC<br />

Om<br />

b<br />

For a limited period we are giving away a E5.00<br />

Travel Chek for spending money on your next<br />

holiday with EVERY E50 SPENT.<br />

Thats not all folks<br />

your vouchers could also win you a FREE stay<br />

HOLIDAY for two or four people in our lucky<br />

numbers draw.<br />

ONE ENTRY FOR EVERY E5 VOUCHER<br />

1243<br />

T$70 0<br />

aCk<br />

CT S? 28 "<br />

P ° l Cf<br />

- a disk e'<br />

eires r S<br />

E445<br />

k<br />

.00<br />

a<br />

a eg<br />

I c.<br />

r<br />

„<br />

i<br />

Computer Centres<br />

48 Junction Road, Archway, London N19 5RD<br />

01-263-9493/5<br />

238 Muswell Hilt Broadway, London N10 3SH<br />

01-883-3705<br />

ma,ntenanc<br />

• CONDITIONS OF REDEM PTION OF TRAVELLERF, C;HEKS PRINTED ON EACH VOUCHER<br />

Terms<br />

all fro e , St4<br />

rn your tvo 1 cc;<br />

rvioe s u<br />

L TO t<br />

) 7 P<br />

O<br />

D ° r t<br />

'<br />

T r<br />

a<br />

m s<br />

,<br />

g<br />

Ivo<br />

cit<br />

,<br />

G<br />

'<br />

o<br />

r<br />

e<br />

c<br />

„<br />

,,<br />

t<br />

r<br />

"INSTANT CREDIT"<br />

' Op" ,_0<br />

r.. A CO<br />

MPe ' .<br />

C°6"I'<br />

...<br />

2n<br />

e<br />

pr<br />

"<br />

a<br />

c<br />

e<br />

C12l<br />

8 •<br />

All products are guaranteed for one year unless otherwise stated. Payment may be made by Access, Barclaycard. Bankers draft. Building Society theque<br />

cash or postal order. Sorry, cheques need five days for clearance. We reserve the right to change prices without prior notice All prices are inclusive of VAT<br />

Please check before ordering for carriage charges.<br />

GOO<br />

CIA<br />

/<br />

14<br />

44<br />

19<br />

9057<br />

TI<br />

0 TI<br />

-<br />

t<br />

',DO% competibte wan C64 software<br />

i<br />

,TBK RAM e l<br />

, 7214. ROM, 6510 1 .6 0 A CPUS<br />

c..2.6 00<br />

e . 3<br />

i<br />

n —MEDIA<br />

1<br />

Verbatim wh ich are the best d isks<br />

c<br />

o SS DO 40T Diskettes 1 7 9 5<br />

m OS DO 40T Diskette 2 4 , 7 5<br />

p SS DO 80T ........ .„ 2 4 1 5<br />

u<br />

t<br />

OS DO 80T Diskettes 3 2 .7 5<br />

e PAPER<br />

r I I••• 9.5 12000 sheets) 1 2 _ 6 5<br />

11 213 9 114 1 1 9b<br />

LABELS<br />

35 x i 7 ,<br />

, 3 5 1 7/18<br />

16<br />

1 1 0<br />

0 0 I<br />

4<br />

.<br />

5<br />

0<br />

1 6 . 0 6<br />

VISA


1<br />

1<br />

Gordon Hamlett explores the<br />

complexities of US Gold's<br />

Ultima IV.<br />

SINCE THE MENACE OF EXODUS WAS<br />

destroyed, Lord British is looking for<br />

someone to improve the quality of life<br />

throughout the land of Britannia. This involves<br />

finding or achieving something<br />

called Avatar about which. everybody hds<br />

heard and nobody appears to know<br />

an<br />

How you came to be volunteered for<br />

this quest is an interesting story. Whilst<br />

walking in the countryside, you see a<br />

bright light and hear d strange noise. From<br />

then on, things get curiouser and<br />

curiouser and you are inexorably lured by<br />

some music into a gipsy caravan. There, an<br />

old woman asks you some questions<br />

based on honour, valour, justice and<br />

other virtues. Depending on your<br />

answers, your character is assessed and<br />

your profession determined. This may be<br />

one of eight types including fighter,<br />

mage, druid and ranger.<br />

The land of Britannia is a large and<br />

varied place. There are eight major towns,<br />

each one specialising in one of the eighth<br />

professions. , The people inside are<br />

friendly and you will need to talk to everyone<br />

you meet, trying to glean useful<br />

scraps of information. There are castles<br />

and villages to be explored too- if you can<br />

find them. Outside of the towns, the land<br />

is more hostile- wandering bands of orcs,<br />

rogues, trolls and two-headed ettins etc.<br />

roam the countryside intent on trying to<br />

kill you. The land itself can also be hostile<br />

- marshes give off poisonous gases that<br />

can rapidly deplete your strength<br />

although there are healers in several of<br />

the towns who will cure you - for a price_<br />

There are dungeons to be discovered<br />

and explored, and shrines to be sought<br />

out. Travel is usually on foot although you<br />

may be able to beg. steal or borrow horses<br />

to speed up your journey. You will certainly<br />

need a ship to visit the islands, not<br />

all of which are on your map and you will<br />

have to learn how to use the moongates<br />

efficiently. There is also rumoured to be a<br />

balloon or something similar hidden<br />

away.<br />

As you travel the land and talk to the<br />

people, you can try and persuade them to<br />

CAJ<br />

Me<br />

n1<br />

0<br />

HE SAYSt<br />

THOU ART DOING<br />

VERY WELL INDEED<br />

ON THE PATH TO<br />

AVATARHOOD!<br />

STRIVE YE TO<br />

ACHIEVE THE<br />

ILEVATION IS ALL<br />

EIGHT VIRTUES!<br />

uHAT ELSE<br />

-<br />

!<br />

C<br />

Thou ar sworn o op o a ord 4 o<br />

p a r t a t e s in the forbidden torture of<br />

prisoners, lach nisht their cries of<br />

Pdin re('ct% thee. Dolt thou A) Show<br />

ComPassion by rgportins the deedst or<br />

8) Honor thy oath aria ignore the deeds<br />

1


join your party. Up to seven others can<br />

join - one from each of the other profession<br />

types - paladin, bard, tinker and<br />

shepherd being the others. Some will only<br />

join you when you prove yourself worthy<br />

to a certain degree. Experience points are<br />

awarded for killing an enemy. Visit Lord<br />

British and he will promote you when you<br />

have gained sufficient points.<br />

Magic plays a crucial part in the game.<br />

There are 26 spelk to be mastered but<br />

before you can think about casting one,<br />

you need to know the ingredients and mix<br />

them in their correct proportions. There<br />

are six main ingredients that can be<br />

bought at any good herb shop but all the<br />

powerful spells require mandrake or<br />

nightshade which are not so easily come<br />

by. The spells range in power from simple<br />

ones, such as healing wounds or casting a<br />

magical light, through fireballs and<br />

assorted protections to kill and jinx - a<br />

jolly little trick that causes your<br />

opponents to attack themselves instead of<br />

you. Everybody except fighters and shepherds<br />

has some magical ability although<br />

how much depends on your job and<br />

experience level.<br />

There is a lot of fighting to be done if<br />

you are to attain your quest. Combat takes<br />

place on a variety of tactical displays and<br />

you can move, attack or cast spells for<br />

each of your characters in turn. How the<br />

battle goes depends on what weapons<br />

Y'?8 1 E9.95<br />

1<br />

1s<br />

nEi.10,,,9 FREE Watch odd Pos ace<br />

n KEY. MULTIFUNCTION<br />

CALCULATOR WATCH<br />

with Olney order<br />

for a Cassette 50<br />

• Normal 12 and<br />

24 hour lime<br />

mode<br />

• Calendar mode I1 1<br />

• Alarm mode<br />

• Calculator<br />

mode<br />

WORTH OVER 110<br />

and armour your party owns and how you<br />

deploy your forces. The use of slings and<br />

bows, especially by the members at the<br />

back of your party is recommended. The<br />

monsters - over 20 different types - fight<br />

intelligently and will run away if hard<br />

pressed leaving behind a treasure chest,<br />

although this is frequently trapped as you<br />

try to open it.<br />

So what of the quest itself? The first<br />

part involves attaining a partial Avatarhood<br />

in the eight virtues- honour, valour,<br />

humility, sacrifice, honesty. compassion.<br />

justice and spirituality. The seer<br />

Hawkwind keeps you informed as to your<br />

progress and should be visited frequently.<br />

At the appropriate time, you have to go<br />

and meditate at a shrine - provided that<br />

you have found the correct rune to gain<br />

you admission and have learned the<br />

apposite mantra to chant. Only then will<br />

you be granted a vision. Apart from that,<br />

you will need to fi nd some coloured<br />

stones - I found the red one on the eight<br />

level of Dungeon Destard. After that, I<br />

don't know apart from the fact that there<br />

will be some final conflict in a place<br />

known only as the Abyss.<br />

Other things to look out for are secret<br />

passages (which abound in castles and<br />

dungeons) and the guild where you will<br />

need to purchase magical keys and gems<br />

(very useful for mapping dungeons). A<br />

sextant will also be an essential purchase-<br />

L'-]E&<br />

CASSETTE 50 IS AVAILABLE ON<br />

OCIOA.11 ATARI DRAGON ELECTRON<br />

inCE th9 ORICI 1X81 toppIa Atmos<br />

Spectrum commodore AMSTRAD<br />

•<br />

M<br />

E<br />

M<br />

•<br />

it fl aw , MI ling• • • •<br />

with every<br />

F R E E calculator Cassette watch 50<br />

EXPRESS DELIVERY-ORDER NOW<br />

ONLY E9.95<br />

'acne<br />

Address<br />

SPECIAL<br />

FREE WATCH<br />

OFFER...<br />

Poet Code<br />

51<br />

if you can find someone to sell you one.<br />

Above all, you gain information and write<br />

everything down. The amount of work<br />

and expense that you have to put into<br />

gaining even the smallest clue is<br />

phenomenal.<br />

The display is in three main boxes. A<br />

large map displays your current position<br />

(line of sight vision only). The top right<br />

hand box displays the statistics for you and<br />

your party whilst the bottom box is used<br />

for command entry and as a general<br />

information box. Everything in the game<br />

is controlled by single keystroke<br />

commands apart from conversations<br />

which usually only require a single word.<br />

The game comes beautifully packaged<br />

with two large books, a map and a<br />

reference card.<br />

Ultima IV is a superb game and streets<br />

ahead of any of its rivals. To date. I have<br />

played it for well over 60 hours and still<br />

feel that I have only scratched the surface<br />

of it. If you only buy one game this year,<br />

make sure it's Ultima IV.<br />

To<br />

Ultima IV — C64<br />

US Gold: Unit 10, The Parkway Industrial<br />

Lstate, Heneage St, Birmingham R7 47Y<br />

Price: 09.95 - two disks<br />

Commodore 64<br />

Only you can save Europe from<br />

destruction! Its ROCKET LAUNCH, the<br />

thrilling war game that reproduces a<br />

European map. More ambitious? Try<br />

rescuing your crew under an ultrafast<br />

GALACTIC ATTACK and escaping back to<br />

your spaceship! Just two of the great<br />

games an your Cassette 50, featuring<br />

high resolution and useudefined<br />

graphics, sprites, sound and music.<br />

1 M aze Eater I I<br />

. Galactic W e Attica I S Thin Ire<br />

3 Since Pi113Sion<br />

B o n i<br />

4 Loner Landing<br />

P11$1111 Bolt<br />

19 Orbitte i<br />

20 Motorway<br />

21 Forte Field<br />

li Ste /tre k 22 Nun<br />

Radei landing<br />

8 Atte cke r<br />

9 Galactic<br />

23 Tunnel he lve<br />

24 Ba rre l Jump<br />

25 Cannonball<br />

Dog Nett<br />

Battle<br />

10 Piing Attecil 2$ Otertake<br />

II I ve sive Action 21 Sitting Target<br />

12. Noughts I t 28 Sra•ah the<br />

Crosses<br />

Window<br />

13 Bogglas 29 Space Ship<br />

14 Pontoon 30 Je<br />

15. Ski Jump 31 Phew<br />

lb Hangmen 32. intruder<br />

I enclose a cheen.ie<br />

tomitall order kw<br />

33 Intorno<br />

34. Ghosts<br />

35 &de mi s<br />

35 Aocke t Launch<br />

32 Planets<br />

35 Bla ck Hole<br />

39 Dynamite<br />

40 Do Your Sums<br />

41 De rby Dash<br />

42 Space Search<br />

43 Universe<br />

44. Rate<br />

15. Tanker<br />

16, Parachute<br />

U. Je t Mobile<br />

MI High Rise<br />

49 rrim Force<br />

50 hichirig,<br />

POSISGIO FREE in U K. Add El 00 ror overseas (motor'<br />

Free watch and tape will be despatched within 20 days_<br />

rrmd e pay OA to<br />

Cascade Games Lid<br />

.P<br />

F., 0, • • / ebtlbr c0Tter0v Whin 010• 00<br />

, N41044 Win um our N Sour tonne, W231000143<br />

7<br />

0g n/ 1 0 A 0 Irm1 0 p =a- [ ... .<br />

0 0 0 - 1 1 1 0 1 1 , 0<br />

1 0.<br />

•sitsrtio<br />

OTAN I<br />

,--<br />

0 01VIC<br />

1— 1 TRIM V , .IC 20 v 4 l t e l .., AM U<br />

CONIACOD85 0 f 0 0<br />

o RIA i ATHOS c<br />

L.I ORAGON b. ELiCIPDsi<br />

P<br />

Cascade i Ga ms. Ltd,. 1 .3 Hayvera Croscent<br />

o<br />

Harrogate,<br />

d E North l Yorkshire, HD1 BUM Enghkord,<br />

YC 6186 Telephone 104231504E63 ke,?•sre.,16,,rnbe• r ••<br />

0<br />

1<br />

B B C<br />

1<br />

',51,..r.4<br />

e t<br />

1<br />

.<br />

c<br />

.<br />

b<br />

y<br />

T<br />

R<br />

A


kllen Webb explores] 1— draws the dot<br />

[the complexities of ]<br />

2 — flips the dot i.e.sets it if it's<br />

clear, clears it if it's set<br />

C O L O U R specifiesthecolour<br />

Imedium-res l c h agraphics.1 n g of e the dot. the Values colour. of A zero value to 15 of<br />

16 leaves the colour unaltered.<br />

2) Lines<br />

Everyone rabbits on about high SYS 51715,X1,Y1,X2,Y2,MODE,<br />

resolution graphics and how COLOUR<br />

they can be used for brilliant X1,Y1,X2,Y2 are the coeffects<br />

and works of art. I am ordinates at the ends of the<br />

equally guilty having in the past lines.<br />

discussed their use (January<br />

3) Area manipulation<br />

issue). For some applications, SYS 5 1 7 1 8,XC,YC,WI,HI,<br />

however it may be possible to COLOUR,MODE,[CHARACsettle<br />

for a lower resulution TER]<br />

systern. X C , Y C specify the position of<br />

The C64, in common with the top left hand corner of the<br />

most other micros, has a area.<br />

resident set of standard WI is the width of the area.<br />

characters. Amongst these are HI is the height of the area.<br />

a number which represent COLOUR acts in the same way<br />

squares one quarter the size of as the previous commands.<br />

a normal character, These MODE has the effects:<br />

squares can be used to plot 0 — EOR's the area i,e, changes<br />

lines or dots. Using this system it to reverse field. Repeating<br />

you can achieve a resolution of the command restores the<br />

80 points across and 50 points area,<br />

up. Whilst you may not 1 — fills the area with the<br />

consider this too much of an character specified.<br />

idea, I recently saw two superb CHARACTER is only<br />

pictures drawn in this required if MODE equals one.<br />

resolution. This emphasises A syntax error is generated if it<br />

that artistic ability can is omitted when MODE=1 or if<br />

overcome system limitations, it is added when MODE-0. The<br />

Remember, also, that Jeff character value is the POKE<br />

Minter's excellent Psychedelia value so that a value of 32 erases<br />

uses this sort of resolution. t h e area and a value of one fills<br />

The routines given here the area with the letter A.<br />

give complete control over thee This command acts on a 40<br />

drawing of lines and dots and by 25 resolution and, as before,<br />

the manipulation of screen out of range values are<br />

areas. i g n o r e d .<br />

The commands have the<br />

I've included a simple<br />

following syntax: demonstration which shows<br />

1) Dots s o m e ways of using these<br />

SYS 51 71 2,XP.YP, MODE, commands. The fi rst uses<br />

COLOUR s h a d e s of grey and dotted lines<br />

XP,YP are the co-ordinates of<br />

to give a-3D effect. The second<br />

the dot. i s just pretty and uses the area<br />

MODE decides how the dot is command to [OR the pattern.<br />

drawn:<br />

(1 — erases the dot<br />

MODE has the following Both the dot and line<br />

effects: c o m m a n d s use the 80 by 50<br />

0 — erases the line, r e s o l u t i o n with the origin in<br />

1 — draws-the line, t h e bottom left corner of the<br />

2 — flips the line, s c r e e n . All out of range values<br />

3 — draws a dotted line. a r e ignored.<br />

COLOUR is the same as for the<br />

dot command.<br />

I PROERAN: LOW RES LOADER<br />

2000 FOR L.0 TO 56:CX.0<br />

:FOR D.0 TO 15:READ A<br />

:CX.CX4:POKE 51712+0164.<br />

FYI:NEXT D<br />

2010 READ A:IF AOCX THEN PR<br />

INPERROR IN LINEN:<br />

2040+1L810):STOP<br />

2020 NEXT L:END<br />

2040 DATA 76,9,202,76,99,204,<br />

76,193,204,32<br />

1135,3,32,1697<br />

2050 12,203,141,<br />

DATA 12,203,141,134<br />

1 32,12,203,141,136,3<br />

3, 1240,6,169,1638<br />

2060 201,2, DATA 1,56,237,136,3,141<br />

1 136,3,32,12,203,141,137,3,<br />

72,152,1465<br />

2070 DATA 72,138,72,169,0,<br />

141,132,3,141,133,3,133<br />

92 52<br />

2080 1DATA<br />

133,251,201,50,144,<br />

173 3<br />

, 1201,80,144,3,2046<br />

2090 134 7DATA<br />

76,247,202,169,49,<br />

, 656,229,251,133,251,78,135,<br />

3,1 , 3,46<br />

2100 699 21<br />

DATA 70,251,46,133,3,6,<br />

4133,<br />

251,6,251,6,251,165,251,6,<br />

73,20<br />

251,38,1985<br />

2110<br />

, 61 DATA 252,6,251,38,252,<br />

24,101,251,133,251,133,<br />

2<br />

253,165,252,109,136,2607<br />

0<br />

2120 DATA 2,133,252,174,133,<br />

2<br />

3,169,1,141,133,3,224,0,<br />

,<br />

240,6,14,1628<br />

1<br />

7<br />

3<br />

,<br />

52 I<br />

2130 DATA 133,3,202,144,246,<br />

172<br />

221,252,202,240,2543<br />

9<br />

2140 135 DATA 8,232,224,16,144,<br />

, 246,76,247,202,173,136,3,<br />

3,1 201,1,240,20,2169<br />

2150 77, DATA 201,2,240,8,138,13<br />

1 251 133,3,24,170,144,21,138,<br />

,<br />

77,133,3,1448<br />

2160<br />

162<br />

DATA 24,170,144,13,173,<br />

,0,<br />

133,3,73,255,141,133,3,<br />

138,45,133,3,1584<br />

2170 DATA 170,189,252,202,<br />

172,135,3,145,251,56,169,<br />

216,237,136,2,141,2476<br />

2180 DATA 138,3,165,251,133,<br />

253,24,165,252,109,138,3,<br />

133,254,173,137,2331<br />

2190 DATA 3,201,16,240,2,145,<br />

253,104,104,168,104,96,32<br />

126,123,97,1814<br />

2200 DATA 124,226,255,236<br />

1 108,127<br />

1254,160,32<br />

2210 98 1DATA<br />

138<br />

1 1253,174,32<br />

165,20,96,72,152,72,138,<br />

173,32,2 252,225 ,280? 72,169,1,141,1871<br />

47,183,<br />

2220 ,251, DATA 136,3,173,139,3,<br />

201,80,144,3<br />

1173,140,3,201,1924<br />

2230 76,247 DATA 80,144,3,76,247,<br />

1202,173,141,3,201,50,144,<br />

202, 3,76,247,202,1992<br />

2240 DATA 173,142,3,201,50,<br />

144,3,76,247,202,173,140,<br />

3,56,237,139,1989<br />

2250 DATA 3,141,143,3,173,


1<br />

142,3,56,237,141,3,141,<br />

144,3,169,1,1503<br />

2260 DATA 141,145,3,141,146,<br />

3,173,144,3,16,10,160,255,<br />

140,145,3,1628<br />

2270 DATA 73,255,24,105,1,<br />

141,147,3,173,143,3,16,10,<br />

160,255,141,1650<br />

2280 DATA 146,3,73,255,24,<br />

105,1,141,148,3,173,148,3,<br />

56,237,147,1663<br />

2290 DATA 3,141,149,3,16,35,<br />

169,255,141,150,3,169,0,<br />

141,151,3,1529<br />

2300 DATA 173,147,3,141,152,<br />

3,173,148,3,141,153,3,173,<br />

144,3,48,1608<br />

2310 DATA 5,169,1,141,150,3,<br />

76,217,203,169,0,141,150,<br />

3,169,255,1852<br />

2320 DATA 141,151,3,173,148,<br />

3<br />

1153,3,173,1708<br />

2330 1DATA<br />

143,3,48,5,169,1,<br />

4141,151,3,173,152,3,141,<br />

1154,3,56,1346<br />

2340 , DATA 237,153,3,141,155,<br />

1<br />

5<br />

2<br />

PROGRAM: , LOW RES DEMO<br />

3<br />

,<br />

1 POKE 53281,11<br />

2 C1.121C2.15<br />

1<br />

10 SA.51712<br />

7<br />

20 PRINT<br />

3<br />

CHRS(147)<br />

21 FOR , X.0 TO 49<br />

22 SYS<br />

1<br />

SA+3,11,0,X,20,3,02<br />

23 SYS<br />

4<br />

SA+3,X,49,X,29,3,C2<br />

25 NEXT 7<br />

26 FOR , X.50 TO 60<br />

27 SYS 3 503,1,0,X,49,2,C2<br />

, :NEXT<br />

28 FOR 1 X.61 TO 79<br />

29 SYS 4 SA4.34,0,X,49,241<br />

1:NEXT<br />

30 SYS , SA+3,61,0,61,49,0,C2<br />

35 Y1.01Y2.49:DX.49<br />

:FOR X.0 TO 19<br />

40 SYS SA4.3,X,Y1,X,Y2,1,C2<br />

50 SYS SA+3,X+DX,Y1,X+DX,Y2,<br />

142<br />

60 Y1=Y141:Y28Y2-1:DX4X-2<br />

:NEXT<br />

70 FOR X.8 TO 11<br />

80 SYS 9+3,1,0,X,49,0,0<br />

90 SYS SA+3,X,12,X,37,1,C1<br />

3,173,153,3,141,156,3,78,<br />

152,3,173,1727<br />

2350 DATA 153,3,56,237<br />

0 141,157,3,173,139,3,141,<br />

152,3, 135,3,173,1672<br />

2360 DATA 141,3,141,134,3,<br />

173,158,1,201,3,208,5,173,<br />

136,3,73,1558<br />

2370 DATA 255,141,136,3,32,<br />

46,202,173,157,3,16,30,24,<br />

109,156,3,1486<br />

2380 DATA 141,157,3,173,139,<br />

3,24,109,151,3,141,139,3,<br />

173,141,3,1503<br />

2390 DATA 24,109,150,3,141,<br />

141<br />

1155,3,141,157,1685<br />

2400 3,7 DATA 3,173,139,3,24,109,<br />

6,8 146,3<br />

24,109,1333 5,2 1<br />

2410 04, 141 DATA 145,3,141,141,3,<br />

206,154,3,48,3,76,249,203,<br />

56, 1<br />

237 139,3 104,170,104,1753<br />

2420<br />

, DATA 168,104,96,32,12,<br />

203,141,139,3,32,12,203,<br />

173,1<br />

41,3, 141,141,3,32,1462<br />

2430 DATA 12,203,141,140,3,<br />

120 SYS SA+3,X,0,X,11,3,C2<br />

125 SYS SA.#3,X,39,X,49,3,C2<br />

:NEXT<br />

130 FOR X.40 TO 47<br />

140 SYS SA4.3,X,0,X,49,0,0<br />

150 SYS SA1.3,X,10,X,39,1,C1<br />

160 SYS SA+3,X,0,X,9,3,02<br />

165 SYS SA+3,X,41,X,49,3,02<br />

170 NEXT<br />

175 FOR D.1 TO 1000:NEXT<br />

:POKE 53281,0:PRINT'<br />

[BLACK,CLEAR)<br />

180 PRINT'ECLEARY<br />

.<br />

190 FOR A.0 TO 216TEP.1<br />

200 XL.40+COS(A)S39<br />

:YL.25+SIN(A):24<br />

210 SYS SA+3,39,24,XL,YL,I,C<br />

:C.C+1<br />

220 NEXT<br />

230 FOR D.1 TO 1000:NEXT<br />

240 FOR 1.1 TO 30<br />

IXO.RND(1)820:YO.RND(1)810<br />

:1118RND(1)140:HIERND(1)125<br />

250 SYS SA+640,Y0,11I,H1,16,0<br />

:NEXT<br />

260 FOR Y.0 TO 39<br />

270 SYS SA+6,0,Y,39,1,16,0<br />

:NEXT:GOTO 240<br />

32,12,203,141,142,3,32,12,<br />

203,141,158,1578<br />

2440 DATA 3,201,2,240,13,201,<br />

3,240,9,169,1,56,237,158,<br />

3,141,1677<br />

2450 DATA 158,3,32,12,203,<br />

141,137,3,173,139,3,205,<br />

140,3,144,11,1507<br />

2460 DATA 72,173,140,3,141,<br />

139,3,104,141,140,3,173,<br />

141,3,205,142,1723<br />

2470 DATA 3,144,11,72,173,<br />

142,3,141,141,3,104,141,<br />

142,3,76,24,1323<br />

2480 DATA 203,32,12,203,141,<br />

139,3<br />

132,12,203,1512<br />

2490 32,12 DATA 141,148,3,32,12,<br />

203 ,<br />

1203,1<br />

141<br />

2500 141 41,14 1DATA<br />

12,203,141,138,3<br />

1 , 240,6,32,12,203,141,158,3,<br />

1,3, 137<br />

147 , 24,24,173,1513<br />

2510 , 3,3 DATA 139,3,109,148,3,<br />

3,3 201,41,144,1,96,24,173,<br />

2,1<br />

2,1 390 141,3,109,147,1482<br />

2520 2,2 DATA 3,201,26,144,1,96,<br />

03,<br />

53<br />

v<br />

-<br />

VAMP'<br />

A<br />

z<br />

I<br />

rillWAWAr<br />

Graphics<br />

173,148,3,240,238,173,147,<br />

3,240,233,2069<br />

2530 DATA 173,147,3,109,141,<br />

3,141,147,3,32,85,205,160,<br />

0,173,138,1660<br />

2540 DATA 3,208,18,177,251,<br />

73,128,145,251,173,137,3,<br />

201,16,240,19,2043<br />

2550 DATA 145,253,76,67,205,<br />

173,158,3,145,251,173,137,<br />

3,201,16,240,2246<br />

2560 DATA 2,145,253,200,204,<br />

148,3,2011,213,238,141,3,<br />

173,141,3,205,2280<br />

2570 DATA 147,3,208,197,96,<br />

169,0,133,251,133,252,172,<br />

141,3,240,16,2161<br />

2580 DATA 24,165,251,105,40,<br />

133,251,165,252,105,0,133,<br />

252,136,208,240,2460<br />

2590 DATA 24,165,251,109,139,<br />

3,133,251,165,252,105,0,<br />

72,109,136,2,1916<br />

2600 DATA 133,252,104,24,105,<br />

216,133,254,165,251,133,<br />

253,96,255,21,255,2650<br />

•<br />

Compumert<br />

_ - -<br />

c,00Ds M<br />

5 SAmed<br />

tg<br />

" 0<br />

s<br />

T"WD.<br />

- —<br />

1 MOW, SACK<br />

C Gos<br />

4 ,<br />

s A<br />

0. ,<br />

. K"<br />

m<br />

t<br />

invemmulliman<br />

wesom<br />

--<br />

1 111111101111<br />

1<br />

111W<br />

_ owatity<br />

3—<br />

1 iVii<br />

sog:=117,,,I 0dwoj!)Tai<br />

c69. s<br />

_<br />

i<br />

i - 5<br />

--<br />

I . KM!. Pit% Maki<br />

:<br />

1<br />

4<br />

a -1<br />

6 1 P<br />

"<br />

Loulobwowgh 7 r• - - vgiC4<br />

3<br />

:<br />

t<br />

t<br />

4<br />

1 ...!A Ill3elx Soot .<br />

0.<br />

::7171•7, , " ' :' i LL - j<br />

Please svm1 Co,m1.1.1, chwq. kw Y64<br />

,<br />

PC.1.1.41 Lacs. L111 OW<br />

1<br />

1 ,<br />

c<br />

4<br />

-<br />

;<br />

'<br />

; #<br />

, N )<br />

I t t<br />

( e


1<br />

Alien Webb takes youl<br />

l<br />

o[your<br />

quest to master<br />

n<br />

[machine code.<br />

e<br />

s<br />

t<br />

e<br />

p<br />

f<br />

u<br />

rproblem.<br />

t<br />

h<br />

solution: e<br />

r 10 ASSEMBLE 100, I<br />

100 REM *-<br />

i-110<br />

REM LDA i19<br />

n120<br />

REM JSR SFED2<br />

LAST MONTH WL STARTED TO<br />

look at the various ways of movinv<br />

data about. Whilst we<br />

concentrated on the screen,<br />

the principles apply equally to<br />

movement of data anywhere. I<br />

hope you found the homework<br />

easy. With the material we<br />

covered last time, you should<br />

be able to come up with two or<br />

three solutions to each<br />

First. I wanted a routine to<br />

put a row of stars along the top<br />

of the screen. Here is one<br />

$C000<br />

130 REM WY £0<br />

140 REM WA [42<br />

150 REM .LOOP: JSR SEEM<br />

160 RLM INY<br />

170 REM CPY E40<br />

180 REM BNE LOOP<br />

190 REM RTS<br />

200 REM<br />

This uses the print character<br />

routine in ROM to print<br />

asterisks to the screen at the<br />

current cursor position. Lines<br />

110 and 120 print HOME<br />

(CHRS(19)). I used this method<br />

since there is no need to worry<br />

about updating the colour<br />

matrix. Those of you with old<br />

ROM 64s will no doubt be<br />

aware that when you set the<br />

cursor colour, the colour<br />

matrix is not updated. That<br />

means that if you move data<br />

direct to the screen memory,<br />

you will not necessarily get the<br />

colours you want. New ROM<br />

64s have had this fixed.<br />

1he second problem asked<br />

you to print the character set<br />

on the screen. Here is my<br />

solution:<br />

10 ASSEMBLE 100,1<br />

100 REM •=SC000<br />

WELCOME TO THE<br />

110 REM LDY EO<br />

120 REM .LOOP: TYA<br />

130 REM STA E0400, Y<br />

140 REM IDA fl<br />

150 REM STA $D800, Y<br />

160 REM INY<br />

170 REM BNE LOOP<br />

180 REM !US<br />

190 REM 1<br />

In this routine, I have used<br />

simple indexing to put<br />

characters at the start of the<br />

screen memory. Since I don't<br />

want to change the address<br />

indexed, indirect indexing is<br />

unnecessary. There are 256<br />

characters with POKE values<br />

ranging from /ero to 255. I use<br />

this fact in line 120 by using the<br />

Y register to update the<br />

character to be POKEd. Lines<br />

140 and 150 take care of the<br />

colour matrix for old ROM<br />

routines. The Basic equivalent<br />

to this routine is:<br />

10 FOR I = 0 to 255<br />

20 POKE 1024+1, I<br />

30 POKE 55296,1<br />

40 NEXT I<br />

Line 170 acts in a slightly<br />

different way to the looping<br />

we've used previously, but I'll<br />

cover that shortly.<br />

There is one more<br />

addressing mode which you<br />

should be aware of. This is an<br />

infrequently used mode called<br />

Pre-Indexed Indirect Addressing.<br />

This mode uses the X<br />

register to look for an address<br />

in a table and act on the<br />

address. The mnemonic for this<br />

mode has the form:<br />

(address,X)<br />

where address is a zero page<br />

location. Here are some<br />

examples:<br />

LDA (SFB,X)<br />

STA (SSAA,X)<br />

IN operation takes a little<br />

understanding, but here is<br />

what it does. Imagine that you<br />

have a table of 16 bit addresses<br />

stored as a table in zero page<br />

starting at SAA.<br />

$AA low byte address 1<br />

SAB high byte address 1<br />

SAC low byte address 2<br />

SAD high byte address 2<br />

SAE low byte address 3<br />

SAT high byte address 3<br />

and so on...<br />

Amon&<br />

It X contains the value zero,<br />

the instruction IDA (SAA•X)<br />

does the following:<br />

1) Adds the contents of X (i.e.<br />

zero) to the address IAA to give<br />

SAA.<br />

2) the accumulator is loaded by<br />

the contents of the address<br />

held in the resulting byte pair<br />

IAA and SAB.<br />

Similarly, if X contains two,<br />

then the accumulator will be<br />

loaded with the contents of the<br />

address pointed at by SAE,SAE.<br />

This is not an addressing<br />

mode that you will use often,<br />

but it's worth knowing about,<br />

in case you have a need for it<br />

one day.<br />

Last month, I introduced<br />

the use of conditional<br />

branchng. At that time, it was<br />

simply to allow us to make<br />

progress and I made no<br />

attempt to discuss it at length. It<br />

is now necessary to look at it in<br />

some depth.<br />

In the microprocessor is a<br />

register called the Status<br />

Register. This eight bit register<br />

is used to hold seven flags, each<br />

using one bit. The flags held are<br />

as follows:<br />

i) The Carry Flag (C)<br />

This fl ag is used to carry<br />

information on which<br />

arithmetic operations are<br />

performed. If, for example., two<br />

numbers are added to give a<br />

result greater than 256, the<br />

carry flag is set so that you can<br />

take appropriate action. We'll<br />

discuss this when I deal with 16<br />

bit arithmetic.<br />

ii) The Overflow Flag (V)<br />

Only the first seven bits are<br />

used for holding data, the<br />

eighth being a sign bit. Hence<br />

only numbers in the range +127<br />

to -127 are used. If an<br />

operation attempts to store<br />

greater than +127, then the<br />

overflow flag is set. Again,we'll<br />

discuss at a later date.<br />

iii) The Negative Flag (N)<br />

This is set if an operation results<br />

in a negative answer.<br />

iv) The Decimal Flag (0)<br />

This is set if you wish to work in<br />

decimal (BCD) mode.<br />

vi) The Interrupt Flag (I)<br />

Set if an interrupt is in progress.<br />

vii) The Zero Flag (l)<br />

Set if an arithmetic operation<br />

gives a zero result.<br />

The branch instructions test<br />

the status of a flag and act<br />

accordingly. The instructions<br />

provided are:<br />

BCS — branch if carry flag is set<br />

BCC — branch if carry flag is<br />

clear<br />

BEC? — branch if zero flag is set<br />

BNE — branch if zero flag is<br />

clear<br />

BMI — branch if negative flag is<br />

set<br />

BPL branch if negative flag is<br />

clear<br />

BVC branch if overflow flag<br />

is clear<br />

BVS branch if overflow flag is<br />

set<br />

You will generally use these<br />

instructions directly after an<br />

arithmetic operation. [he most<br />

usual are:<br />

CMP — this compares the<br />

accumulator to data or the<br />

contents of a location.<br />

CPY — compares the Y register<br />

to data.<br />

CPX — X analogue to CPY,


These three instructions<br />

perform a non-destructive<br />

comparison by subtracting the<br />

data from the register and<br />

updating the status fl ag<br />

accordingly depending on<br />

whether the result is zero,<br />

positive or negative.<br />

Register = Data — set carry<br />

flag<br />

Register = Data — set zero<br />

flag<br />

Negative register is changed by<br />

the sign bit.<br />

So to detect various results, you<br />

use:<br />

Register = data — use BCS,<br />

e.g.<br />

CMP £4<br />

BCS LOOP<br />

branches of LOOP if<br />

accumulator holds four or<br />

more.<br />

Register data — use BCC,<br />

e.g.<br />

CPY flO<br />

BCC LOOP<br />

branches to LOOP if Y register<br />

holds less than 10.<br />

Register data — use BEQ. e.g.<br />

CPX £6<br />

BEQ LOOP<br />

branches if X register holds six.<br />

Register data — use BNE.<br />

e.g.<br />

CMP f 3<br />

BNE LOOP<br />

branches if accumulator does<br />

not hold three.<br />

If you now look back at last<br />

month's examples you will see<br />

how these tests are used.<br />

Arithmetic instructions such as<br />

INY,INX,INC,DEY,DEX,DEC<br />

change the negative and zero<br />

flags depending on the result.<br />

(INC and DEC increment and<br />

decrement a memory location<br />

by one.)<br />

My answer to question two<br />

from last month's homework<br />

uses this effect, Line 160<br />

increments the counter. When<br />

it reaches 255, adding one<br />

more will result in zero, Since<br />

this signifies that we have<br />

finished, I use BEQ in line 170 to<br />

detect this situation.<br />

Now we've collected<br />

together the basic tools, let's<br />

start writing some decent<br />

routines. In the last part, we<br />

discussed the use of NOP<br />

instructions to create delays. To<br />

achieve more substantial<br />

pauses we need to use more<br />

complex routines. Here is a<br />

simple delay routine:<br />

100 ASSEMBLE 110.1<br />

110 REM *=$C000<br />

120 REM LDX f$10<br />

130 REM .1.00P1: LDY 1$10<br />

140 REM 100P2: DEY<br />

150 REM BNE 1.00P2<br />

160 REM DEX<br />

170 REM BNE LOOP1<br />

180 REM RTS<br />

This routine uses a pair of<br />

nested loops to wait a short<br />

lime. The values loaded into<br />

the X and Y registers in lines 120<br />

and 130 decide the delay. Lines<br />

140 and 150 count down the Y<br />

register to zero. This process is<br />

then repeated the number of<br />

times in the X register. The<br />

Basic equivalent of this routine<br />

would be a pair of nested loops<br />

such as:<br />

FOR X=0 TO 10: 1 OR Y=0 TO<br />

10: NEXT Y„X<br />

An alternative method is to<br />

call the routine at SEEB3. This<br />

routine generates a one<br />

millisecond delay.<br />

Let's use this delay routine<br />

to generate a synapse tweaking<br />

pattern. Consider the routine:<br />

100 ASSEMBLE 110,1<br />

110 REM *=$C000<br />

120 REM LDA 16<br />

130 REM STA 998<br />

140 REM IDA E4<br />

150 REM STA 999<br />

160 REM .LOOP: INC $D020<br />

170 REM INC 1000<br />

180 REM JSR DELAY<br />

190 REM JSR $FIE1<br />

200 REM BEQ FINISH<br />

210 REM IMP LOOP<br />

220 REM .FINISH: RTS<br />

230 REM .DELAY: LDX 998<br />

240 REM 100P2: LDY 999<br />

250 REM 100P1: DEY<br />

260 REM BNE LOOP1<br />

270 REM DEX<br />

280 REM BNE LOOP2<br />

290 REM RTS<br />

300 REM I<br />

You'll immediately recognise<br />

lines 250 onwards as being<br />

our delay routine. The delay<br />

55<br />

parameters are held in<br />

locations 998 and 999 rather<br />

than being loaded as direct<br />

values. The line 120 to 150 set<br />

up the delay parameters. The<br />

core of the routine is lines 160<br />

to 210. It is an infinite loop<br />

which changes the colour of<br />

the border, delays a bit and<br />

then loops back. The<br />

subroutine call in line 19 tests<br />

the RUN/STOP key. If this key<br />

is pressed, then the Z flag is set.<br />

Line 200 checks this and stops if<br />

the flag is set. Try messing<br />

about with the delay values and<br />

see the effect. If you use a bit of<br />

care and possibly the odd NOP<br />

to fine tune it, you may be able<br />

to get some starionary<br />

coloured bands in the border.<br />

The next, and last example,<br />

is a little more useful:<br />

100 ASSEMBLE 110.1<br />

110 REM *=$C000<br />

120 REM LDA OA°<br />

130 REM STA 998<br />

140 REM LDA<br />

150 REM STA 999<br />

160 REM 1 DY [0<br />

170 REM 100P3: LDA £42<br />

180 REM STA $0400,Y<br />

190 REM IDA El<br />

1<br />

0210<br />

REM TYA •<br />

0 220 REM ISR DELAY<br />

R230<br />

REM TM<br />

E<br />

240 REM LDA £32<br />

250 REM STA $0400.Y<br />

M<br />

260 REM TVA<br />

S<br />

270 REM JSR DELAY<br />

T280<br />

REM TAY<br />

A 290 REM LDA TABLE,Y<br />

$ 300 REM BEQ FINISH<br />

D310<br />

REM STA $0400,Y<br />

8320<br />

REM TYA<br />

0330<br />

REM ISR DELAY<br />

0340<br />

REM JAY<br />

, 350 REM INY<br />

C64<br />

simulates a device rather like<br />

the "vidiprinter" used on the<br />

Saturday afternoon football<br />

results service on TV. A<br />

message is slowly printed<br />

across the screen with a<br />

flashing asterisk cursor. The<br />

routine is quite simple.<br />

Line 160 zeros the Y register<br />

which will act as our counter.<br />

Lines 170 and 180 print an<br />

asterisk in the top left hand<br />

corner of the screen. Lines 190<br />

and 200 update the colour<br />

matrix for you folks with old<br />

ROM machines. The next three<br />

lines force a delay. The TYA and<br />

TAY either side of the call to the<br />

delay loop save the contents of<br />

the Y register since it is used in<br />

the delay. Lines 240 and 250<br />

erase the asterisk with a space<br />

and we wait a while longer.<br />

Finally, lines 290 and 310 take a<br />

letter from the table and put it<br />

on the screen. Line 300 checks<br />

for a zero value in the table.<br />

This is used to mark the end of<br />

the table so that the routine<br />

stops at the end of the message.<br />

Line 350 increments the<br />

counter and provided that we<br />

dont go over a value of 255,<br />

line 3611 sends us back for the<br />

next character,<br />

I realise that I'm spending a<br />

lot of time explaining how the<br />

routines work. As we progress.<br />

I will make briefer comments<br />

since you should soon be able<br />

to suss things out for<br />

yourselves.<br />

OK, homework time, First, I<br />

want a routine which will fill<br />

the entire screen with a<br />

specified character. I don't<br />

expect the best solution but<br />

I've told you enough for a<br />

crude but effective routine.<br />

Secondly, I want a routine<br />

which will more a block of data<br />

from the top line of the screen<br />

to, say, the 20th line. A single<br />

line of data will suffice but you<br />

can easily move u to 256 bytes.<br />

This sort of routine is<br />

frequently used in a range of<br />

situations.<br />

360 REM BNE LOOP3<br />

Y<br />

370 REM .FINISH: RTS<br />

380 REM .TABLE: E13:25,15,21,<br />

18,32,3,15,13,13,15,4,15,18,5,0<br />

390 REM DELAY: LDX 998<br />

400 REM 100P2: LDY 999<br />

410 REM ,LOOM: DEY<br />

420 REM BNE LOOP1<br />

430 REM DEX<br />

Finally, how about • a routine<br />

440 REM BNE LOOP?.<br />

which will scroll the top line of<br />

450 REM RTS<br />

the screen one step to the right<br />

460 REM I<br />

with the leftmost character<br />

replaced with a space?<br />

Again the delay routine Next month we'll explore<br />

uses two locations to hold the eight and 16 unsigned<br />

parameters. This routine arithmetic,


•<br />

available educational<br />

software.<br />

The supply of new educational software<br />

seems to have dried up, so I decided to<br />

look around the local shops to see what<br />

was on offer. The answer seems to be, very<br />

little. The reasons for this could be<br />

threefold:<br />

1. My hometown is poor for shops selling<br />

software.<br />

2. The storeowners are very cautious<br />

about stocking educational software.<br />

3. There may genuinely be little software.<br />

I suspect that notwithstanding the<br />

claims of the value of computers for<br />

education, the reality is that education is<br />

poor business. Much more money can be<br />

made by selling games. The majority of<br />

games only require good programming<br />

whilst educational material requires<br />

detailed teaching knowledge as well as<br />

programming ability. These rather<br />

disappointing facts of life were only too<br />

evident at the last PCW show where a<br />

number of exhibitors stated that they<br />

were no longer interested in educational<br />

software since it had no future. This is all<br />

rather sad since quite a lot of the<br />

important pre-school spade work can be<br />

carried Out with computer assistance with<br />

the software acting as a type of expert<br />

system (parents aren't always teachers).<br />

For the older children, software can be<br />

used to provide revision material and to<br />

support conventional didactic methods.<br />

Whilst rummaging through the shops,<br />

however, I did see an interesting item.<br />

Not a new product, this is a triple pack of<br />

Hill MacGibbon software for a touch less<br />

than the original price of one. Hill<br />

MacGibbon is an interesting company in<br />

that it has produced software for most of<br />

the popular computers. In some of these<br />

packages there has been collaboration<br />

with well known companies such as<br />

Collins and Pan.<br />

In light of this, this is a good time to<br />

take a look at which packages are<br />

available for the C64. The triple pack<br />

contains Ballooning, Car Journey and<br />

Secret Agent. Between them they provide<br />

quite a comprehensive package, each<br />

coming with a colour booklet dealing<br />

with diverse aspects of the topic and ideas<br />

for further work.<br />

Ballooning<br />

The title is self explanatory. The booklet<br />

deals with the historical aspects of<br />

mono<br />

ballooning and then goes on to look at the<br />

Hindenburg disaster and how a hot air<br />

balloon works, The ability to read and use<br />

a map is very important when flying a<br />

balloon and this topic is also covered. The<br />

software provides a balloon simulator<br />

with controls showing your<br />

s(it's<br />

a hot air balloon), rate of climb and<br />

altitude,<br />

atmospheric temperature.<br />

f u e l<br />

Using the<br />

information given on the instruments,<br />

you must guide the balloon over varying<br />

terrain. In this way, ballooning covers<br />

aspects such as physics, map-reading,<br />

mathematics and geography.<br />

Car Journey<br />

This would appear to be a misnomer since<br />

the software involves the operation of a<br />

light haulage business. In it you must run<br />

the firm and keep it financially viable. This<br />

is done by judiciously securing contracts<br />

to move goods from point to point and<br />

selecting the optimum routes. You get<br />

bonuses or penalties depending on<br />

whether to keep to the time limits.<br />

Naturally, you must attempt to choose<br />

• contracts which end up at the starting<br />

points of other contracts. It doesn't pay to<br />

run an empty truck 1 Different size<br />

vehicles are available to suit different size<br />

consignments.<br />

The accompanying booklet deals with<br />

aspects of the car, how it works and its<br />

history. It also covers the history of roads<br />

and transport and the motorway system. A<br />

nice touch is an extract from Toad of Toad<br />

Hall describing Toad's discovery of the<br />

joys of motoring. The pack covers<br />

reading, mathematics, geography and<br />

mechanics.<br />

Special Agent<br />

This package puts you in the shoes of a<br />

budding James Bond searching Europe<br />

for the dastardly enemy agent who's gaily<br />

killing off your operatives. The game<br />

centres around a map of Europe showing<br />

the major cities. From time to time<br />

intelligence reports flash up at the foot of<br />

the screen. Some of these are in code<br />

presenting additional problems. You<br />

must act on the received information and<br />

travel from city to city. You must choose<br />

your trains and planes from timetables.<br />

As usual, the booklet covers subjects<br />

connected with the central theme. You<br />

are introduced to the elements of<br />

56<br />

as<br />

cryptography, the capital cities of Europe<br />

and a little information on real life spies is<br />

given. It covers geography, reading,<br />

lateral thought and some mathematics.<br />

Hill MacGibbon also offers a number<br />

of packages covering more specific<br />

subjects. Teaching the mechanics of<br />

reading isn't that much of a problem<br />

since children generally soon grasp the<br />

form of words. What is more difficult to<br />

grasp and contributes most to the<br />

subtleties of English is punctuation.<br />

Punctuation Pete is a program intended to<br />

help in this area. The child is presented<br />

with a graded piece of text which has had<br />

all punctuation and capital letters<br />

removed. The child must read the text and<br />

attempt to punctuate it so that the<br />

meaning is clear. When he feels that all is<br />

finished, the program marks the result<br />

showing any mistakes. Surprisingly,<br />

finding the correct punctuation is quite<br />

tricky.<br />

Technically, the program is slick with<br />

large legible text and the use of an<br />

animated man as the cursor. I highly<br />

recommend it.<br />

The last two programs are for the<br />

younger child. First, there is Picture<br />

Builder. As the name suggests, this<br />

program allows the manipulation of basic<br />

shapes such as squares, circles and<br />

triangles for the creation of pictures. The<br />

shapes can be stretched, shrunk, rotated<br />

and painted to give the required effect.<br />

Multicolour mode is used to allow up to<br />

four colours. For those of you with<br />

printers, there is a hard copy facility —<br />

nicely done and easy to use.<br />

Finally, we have Run Rabbit Run. This<br />

is a simple game played on a matrix of<br />

squares, rather like a board game. You<br />

must guide a number of rabbits to their<br />

homes and away from the hungry fox. The<br />

game tells you how many squares your<br />

rabbits may jump on each move. These<br />

jumps must be distributed between the<br />

rabbits. There are bushes in which the<br />

rabbits can hide, if the fox isn't there first.<br />

The game ends when all rabbits are home<br />

or have been eaten.<br />

This game is quite tough and forces the<br />

child to use a little logic, lateral thought<br />

and some counting skills.<br />

The impressive features about Hill<br />

MacGibbon software are that a high<br />

standard of programming is used and<br />

there is a decent level of content. Unlike<br />

some educational material, there is<br />

evidence of real teaching input.<br />

Touchline<br />

Collins Soft/Hill MacGibbon: 7 Grafton<br />

St, London WU 31A Tel: 01 493 7070.<br />

malt


A 0<br />

1 1<br />

e a<br />

l l<br />

a<br />

n %<br />

vesha<br />

THE<br />

NEW MK. II VERSION<br />

THE NEW GENERATION OF<br />

BACKUP METHODS<br />

IS NOW EVEN BETTER<br />

MORE FINAL r HAN THE "FINAL CARTRIDGE • •<br />

THE LAST WORD IN BACKUP TECHNOLOGY<br />

"Freese Frame' 1.10yeC: lentet4113111 ti.ireglit tor the pan Sew months. Salm both in the<br />

moat<br />

U.K. and ,thr Dad have been very good and the...froth of tatisfl ed nallothers are ttit••Conti developreord has enabled us to labor e Improved varliOn CO the prwurt thee nual<br />

tnc Ot ,ets<br />

-- out thorough testing could not fi nd one single, memory restated, pregnant that<br />

-.1'<br />

Fa",<br />

OPERATING ..<br />

r.<br />

1<br />

FREEZE<br />

en<br />

'Freeze<br />

r<br />

Prattle<br />

F R A M<br />

Met<br />

e,<br />

- When . Me tomptder 5 swrtrhed E " on a message is disprerd peesvog • VETURN•• tail clear the<br />

s.<br />

tehols<br />

othrezie, r o hack to the nCerldi Start to streen Softwiee Cat<br />

COMphstely<br />

e ,<br />

o, DCVO l y as normal. b e The lla teit o werittinCt a d e "Freeze d Ftarte t,nIl lb the Mil of Our ft remtledge. allow<br />

ANY Fe<br />

if e software<br />

t<br />

. rs eo<br />

Co m Inati and km t normaly a White p COmprouve e productst<br />

rn<br />

lo e<br />

f<br />

r r<br />

can a'Freele<br />

,<br />

td<br />

n Frame A<br />

i<br />

e ' can or<br />

s<br />

three be tin...pelt things then roetattro co rivrn ie n t point byptelsny the Pottco on IL You<br />

c<br />

m,<br />

o<br />

s<br />

1. eP<br />

u<br />

Pressing<br />

s<br />

-<br />

"<br />

disc, This version will include a high speed reload.<br />

El" L<br />

e<br />

w<br />

.<br />

i l l<br />

c<br />

1.<br />

sU IPressing<br />

a v e<br />

• S will do the tame as •0 except that the reload will be at ttandard 1541<br />

a oS<br />

t<br />

u<br />

load speed. lAtto suitable for US. spec- machines. 4040 drives, ten load cartridges,<br />

w• c<br />

o<br />

a<br />

r<br />

kl• n<br />

i<br />

n g<br />

3, vd ! Pressing<br />

a<br />

e<br />

a<br />

r *la will sat a working pe el<br />

Incorporates a high speed reload at approx. 2400 baud.<br />

, snu e<br />

i o<br />

' n oA<br />

ion o f t h e<br />

b<br />

THAT IS IT 1<br />

pot V r o g r a m<br />

a<br />

If hI<br />

n<br />

s<br />

mtaA e m o<br />

ALL PROGRAMS<br />

r y<br />

SAVED WITH 'FREEZE FRAME CAN<br />

e<br />

thnAo BE RELOADED INDEPENDANTLT OF THE UTILITY<br />

d<br />

te df<br />

a p e ,<br />

t<br />

Tpl o<br />

r h i n<br />

oer ,<br />

g IN tscs*Ditso 7<br />

r. e<br />

i<br />

a<br />

THE COMPETMON<br />

Ore. any Other UtOilly oiler all (hi,?<br />

m . p<br />

t TAPE TO DISC M S C TO TAPE<br />

i.<br />

o<br />

fl aa<br />

i MSC vo DISC O e s c To TAPE<br />

.<br />

- te m, FIn .s celLer, 0 enfpla<br />

n w<br />

mPUIS<br />

Ire trued nesoset CO berg env to ra..<br />

resi a , PA prytta., rk.t .F g e t 0 t coo lea n.al.nrrt<br />

•<br />

1 me<br />

p.Wry<br />

THE , Mari<br />

ta<br />

k<br />

- esr<br />

lIttl<br />

,..<br />

l Y<br />

c<br />

Peened<br />

"Thy<br />

e mt-f<br />

e<br />

f O alma Cartylagy omer,..,00.at t<br />

Y a e n<br />

y Ct<br />

a i n t E<br />

a oc<br />

uw4<br />

r aAnew,<br />

enweg orreo c.rte<br />

u l<br />

,<br />

t c -<br />

p .<br />

t<br />

a, l-erxr f na<br />

u n , rn...t dp<br />

U cusfonoe<br />

rll<br />

P cycrx a...0, p.rvinPOrfil kr erek,<br />

ne.r<br />

u1<br />

V<br />

S<br />

,<br />

, n t r<br />

r<br />

..oft. etc errl Me, we yen me ante<br />

OTAT 0.<br />

S<br />

y iAr<br />

T<br />

S<br />

mtatl. rellanded wiw ttot tarylagr at Ma<br />

te<br />

.<br />

g.<br />

$<br />

tzeT<br />

E1?...,<br />

nle,EA<br />

'Tee! 1<br />

i<br />

r<br />

t<br />

N gt<br />

,,, T , ',wane •eszet<br />

AM . / 7 1 . . 1 4 W morp,t4fl , n<br />

o e<br />

, w<br />

- t<br />

eo<br />

,,, A,At . 3 ANSWER, NO<br />

a<br />

l<br />

1 a t<br />

et 0<br />

h,<br />

y<br />

a<br />

d ,, I 0 FriaTTF MAME<br />

fef<br />

a1 q<br />

t<br />

e<br />

io<br />

l.. ,<br />

• UPC• t<br />

1 A r<br />

nrks NO St IVI,DUI CClittllEtrT,ON<br />

ro D.<br />

ar, r•ritoart,rt , I , ,<br />

es<br />

t . .<br />

t a<br />

nI<br />

,<br />

e •<br />

r<br />

rAe<br />

t t A r r y i<br />

i • n<br />

t<br />

tI<br />

t<br />

". "".....a a a e t y „seater<br />

nL<br />

a g e<br />

a.<br />

a<br />

r<br />

e<br />

o l s<br />

•<br />

n<br />

race."'<br />

iL<br />

m<br />

Mw<br />

m<br />

ONLY E39.95 r m<br />

n<br />

at<br />

a.<br />

t<br />

Int ;eV/a, O g i s . to mcd Met check<br />

ca<br />

e t<br />

Owners ldx o<br />

c<br />

t<br />

. h Of 'earlier versions con t•turn them<br />

r.<br />

e<br />

and upgrade t for E 1 4.95<br />

ei<br />

f.<br />

lesti cOnett aignaefl ..rnt route,-<br />

.<br />

t<br />

a,<br />

e 5ER701.15A<br />

r<br />

Osieett every &tilted me rckrond<br />

dn<br />

e<br />

l<br />

ph<br />

r , SeRiCITT FOR CC ICSOALAI. USE DONT COMPARF a IT WITH AM<br />

,c10., steps se nap ..re se n t ..4<br />

t r<br />

t<br />

i<br />

cacoe<br />

a<br />

t.<br />

s ARNINC,<br />

PROOtXT , O T HNO E Rn<br />

t<br />

ONLY Ot.95<br />

s<br />

P<br />

-<br />

t<br />

•<br />

rJo<br />

7 -<br />

co<br />

.<br />

iw<br />

Hrier, I S<br />

I ra<br />

s<br />

r l<br />

rn<br />

j L 1<br />

T<br />

do<br />

w I E L% S E<br />

i<br />

n<br />

O<br />

gs<br />

h AO F N F E E STOPS<br />

w<br />

,<br />

pe<br />

e a ER XS QUIET T R DRI<br />

a<br />

r<br />

rt<br />

ET I HA<br />

E<br />

r<br />

y<br />

et<br />

LE Y<br />

• 11603<br />

e sh<br />

P O<br />

OSDO ••• • • E20 CV<br />

p,„. 020,140 I . . , r . e l O t M O I Wit 108 win WWI kir geed ire<br />

us<br />

e dreaded W Wesioftlpecen- EF<br />

Ire larret croceo A ,..erf A w l a PloOrafe praadeet<br />

NEW SPECIAL PACKS WITM<br />

p co n kthe Wore Helps per.cri loccr dalnaccl larlOcca C a r a arh.r Po, wc"<br />

N R F<br />

FIASFECCASE<br />

t M Uo L ONLY ECOS<br />

r.L DO • .• •• E 1200 f<br />

o . Pr R<br />

-L'C'DD<br />

•_• 2 1 .0 7 Lrizt4<br />

a.<br />

C• O<br />

c4 n; C d 5 ,<br />

L<br />

, 1<br />

. L• RX<br />

-<br />

l , " E E<br />

s<br />

0.12<br />

AZ<br />

E<br />

M<br />

C a s e<br />

kF<br />

All a prices z R include P&P and VAT. Send cheque, Postal<br />

r<br />

Order ) A<br />

c or Credit Card No. Credit Card orders accepted<br />

M<br />

by h phone. E Callers welcome. Wide range of goods<br />

.<br />

stocked. 1 Trade enquiries welcome. European orders<br />

send 9 price as advertised. Outside Europe E2.00 for air-<br />

1 mail. Mail order to Evesham Shop please.<br />

3<br />

6<br />

I<br />

ALL OFFERS SUBJECT TO AVAILABILITY<br />

EVESHAM MICROS<br />

BRIDGE STREET, EVESHAM,<br />

WORCESTERSHIRE<br />

Tel: 0386 41989<br />

M oa back LIP 6"I"<br />

T t , s o t t a i<br />

ket Leh'<br />

gcsailet • nr<br />

.,<br />

"<br />

,<br />

(11 -tele* ;S<br />

3<br />

eim"'<br />

liesaut , Lk<br />

,,<br />

s<br />

p<br />

u<br />

f e<br />

t<br />

t e e d<br />

mer teat ,<br />

s<br />

zStf re .<br />

s r<br />

k<br />

, ytoteseate<br />

a " „ 4 . ,<br />

ce s.<br />

o " U1<br />

,•esslis "<br />

ta<br />

r'<br />

1,<br />

, v d s<br />

, '<br />

, s<br />

„<br />

-1<br />

°<br />

,<br />

2"<br />

17,:<br />

C<br />

w<br />

1<br />

1s<br />

)<br />

m<br />

,,,,,<br />

s'<br />

t<br />

a<br />

,r<br />

e n<br />

r<br />

t<br />

o,<br />

no<br />

a<br />

e o<br />

c<br />

t<br />

r s<br />

t<br />

i<br />

e e<br />

i<br />

t<br />

c<br />

h<br />

a<br />

q<br />

a<br />

t<br />

a<br />

e<br />

r<br />

2<br />

7<br />

7<br />

,<br />

,<br />

wry svd,. s m 4 1 3 ,<br />

Cut legs lw<br />

"... r<br />

mote<br />

.<br />

7;,;,gis<br />

Re que ti o<br />

e<br />

ts m y 4 110-4/11111""<br />

1.c--<br />

, .<br />

&1<br />

2 M<br />

n<br />

e<br />

FAST LOAD<br />

anckoisc+ e<br />

,<br />

r<br />

uns rre ACAPTIAAGz<br />

"<br />

u<br />

,<br />

s<br />

o<br />

Ge r P O r D i s C 4 ar I r.sege plogstee) into your 64 and your<br />

!Sal wnl r0ait<br />

d<br />

I<br />

e<br />

y st a rt<br />

I' Fart s<br />

s<br />

t Shoortatd<br />

LOAD (faur in live I.rne, norm,W gx<br />

m.lonly .<br />

o<br />

l<br />

Or p<br />

FATI et<br />

p SAVE e n t wo ce rctosal SpErd<br />

Fast<br />

e<br />

otrae . t<br />

n Format o n takes/cast 20 Seconds.<br />

eroterred Fast<br />

, .1) / * 'lockup W screntarat o rcofws k s at mere w diSc pes four m !Amu t es ihi01 haroly<br />

ludew,v<br />

Fent mS<br />

e<br />

Otte Copier klr, Selective fasi copying<br />

Improved<br />

gc<br />

,<br />

C<br />

/<br />

a 005 coalman* IDOS5 rl mAn Tor e,s•yrne<br />

oathnut to, m<br />

t cis,. drive o syne<br />

q SIFT EILMEE \LI van LOAD and dmptay a direr tmy<br />

-o<br />

M<br />

b<br />

a•<br />

I eV Pk eery sery src useful sr<br />

a<br />

Incorporates wrion e n<br />

t<br />

Controency - Printer software ?LAD Perri<br />

Couneoon with g s y<br />

wCern m Sc! r gropreice soit,Ole redO r capabady See "Commotions<br />

A mtResrr<br />

o<br />

Wc EhswitgftOS<br />

hued<br />

e<br />

u L o . . R /We u have rouod ChIt tO Of<br />

LenSIclepeOlec .,ISO ;deserves Me rape butler<br />

NO ,<br />

w.<br />

Attmot6r . IS usro N by Mil r ad<br />

-<br />

tranSilirent<br />

21I' d<br />

ae<br />

coelpatIlde<br />

and ent<br />

s in<br />

soma<br />

OS moot.<br />

salt chng tentniques<br />

n<br />

S<br />

now<br />

maw lp<br />

I t t o t a l l y<br />

Can a you<br />

the<br />

at'<br />

peice. No not t<br />

479h o<br />

e<br />

t o<br />

, 1<br />

5<br />

r<br />

. a<br />

n a<br />

t ett o<br />

l t h<br />

d ONLY p El 9.95<br />

e m<br />

a p<br />

v e n<br />

Pas s -<br />

h<br />

err o t<br />

Second y<br />

t<br />

O fL<br />

o<br />

&mak a d<br />

,,,c kinkke<br />

M<br />

m014 l<br />

a<br />

Simla,<br />

t<br />

protium it Is trynoatitur with punters end<br />

o i r<br />

eu<br />

u<br />

m<br />

, c K<br />

u t<br />

AE o<br />

e<br />

e R<br />

ln<br />

S<br />

.<br />

f<br />

s t m<br />

vd<br />

n<br />

t<br />

v<br />

o . e<br />

c<br />

* l MICRO O CENTRE<br />

a i<br />

n k 1756 nPERSHORE<br />

ROAD.<br />

a<br />

c<br />

c<br />

s<br />

a<br />

t<br />

COTTERIDGE, o BIRMINGHAM.<br />

Tel: 021-458 4564<br />

e u<br />

s c<br />

s l<br />

a e<br />

r s<br />

y •<br />

t t<br />

r h<br />

o e


P Green brings you<br />

some hints on saying<br />

time and memory.<br />

TIME AND MEMORY CAN BE<br />

wasted when a Basic program<br />

contains a lot of numerical data<br />

statements. This article<br />

suggests ways in which you can<br />

save both, even on programs<br />

copied from magazines.<br />

The Facts and Figures<br />

If you have a lot of numerical<br />

data to be stored, there is a<br />

fairly quick and easy way to<br />

save time and memory. Save<br />

the block of memory straight<br />

on to the disk or tape and get<br />

the Basic program to load this<br />

data straight into memory<br />

instead of POKEing it in.<br />

Time is saved by this<br />

method because when you use<br />

data statements within a<br />

program, you must first load<br />

the data in Basic form and then<br />

run the program to POKE the<br />

data into memory. This takes 12<br />

seconds for the first half of the<br />

operation and six for the<br />

second half for each 1K of<br />

memory when using a disk<br />

drive. Alternatively, to transfer<br />

the data straight into memory<br />

from disk takes only five seconds<br />

for each 1K of memory. Of<br />

course, the saving is much<br />

greater- if you are using tape<br />

since tape loading is a much<br />

more lengthy process.<br />

Memory can be saved, both<br />

in the computer and on the<br />

disk or tape. In the computer,<br />

1K of directly entered data, of<br />

course, takes up just 1K of<br />

memory. On the disk or tape, it<br />

takes up just over 1K of storage<br />

space. On the disk, this is five<br />

blocks. In the case of Basic data<br />

statements, besides occupying<br />

the 1K of memory once the<br />

program has been run, the<br />

Basic data also takes up<br />

memory - just under 3K. Altogether<br />

this method actually<br />

uses just under 4K of memory.<br />

On the disk or tape, it takes up<br />

well over 3K of storage space -<br />

that is, 15 blocks on the disk.<br />

Saving the Data<br />

So, firstly, how can we save a<br />

block of memory? And<br />

secondly, how can we get our<br />

Basic program to load it again?<br />

DATA, TIME<br />

°MEMORY<br />

This can be done in two<br />

ways. You can use a machine<br />

code monitor to save an area of<br />

memory. To do this you will<br />

have to get the start address of<br />

the block of memory that you<br />

wish to save and then calculate<br />

the end address and add one.<br />

Your machine code<br />

monitor, of course, must not<br />

occupy the same area as the<br />

memory which you wish to<br />

save.<br />

The procedure should be as<br />

follows;<br />

1. Load and run the Basic<br />

program. or at least the part<br />

which POKEs the data into<br />

memory.<br />

2. New the Basic program and<br />

load the machine code<br />

monitor.<br />

3. On most machine code<br />

monitors, the instructions to<br />

save a block of memory is<br />

something like:<br />

S "file name",C000,C200,08<br />

This will save the block of<br />

memory from $C000 (the start<br />

address) to SC1U (the end<br />

address) on a disk drive with<br />

the device number of 8 or 08<br />

hex (01 for tape) with a<br />

filename "SPRITES<br />

-choose<br />

the filename although<br />

. you ( do Y not o uactually<br />

need one<br />

for files saved on tape).<br />

4. You may need to save more<br />

than one block of data, for<br />

instance, a block of character<br />

data at 12288 and a block of<br />

machine code data at 49152. All<br />

you need to do for this is to<br />

repeat instruction three for the<br />

new block of data, bearing in<br />

mind that for disks you will<br />

need a different filename.<br />

Another and possibly easier<br />

method is to alter certain<br />

pointers in the zero page of<br />

memory so that you fool the<br />

computer into thinking that the<br />

block that you wish to save is a<br />

Basic program. The locations to<br />

note are 43 to 46 inclusive.<br />

Locations 43 and 44 are the low<br />

and high bytes of the start of<br />

Basic which are normally one<br />

and eight respectively.<br />

(256<br />

Basic 4 area). Locations 45 and 46<br />

are '8+1 the low and high bytes of<br />

the start of variables which is<br />

=<br />

normally the end of the Basic<br />

2program 0 Plus one.<br />

4 9 The procedure is as follows:<br />

= 1. Calculate the start and end of<br />

sthe tblock<br />

of memory which<br />

a<br />

you<br />

r<br />

wish to save, not forgetting<br />

to add one to the end.<br />

t<br />

2. Calculate the high and low<br />

obytes<br />

from these figures in<br />

f decimal.<br />

n3.<br />

Run the Basic program. or<br />

o<br />

the section of it that POKEs the<br />

data into memory.<br />

r4.<br />

In direct mode, POKE in<br />

mthese<br />

figures into locations 43<br />

ato<br />

46.<br />

l5.<br />

Save the block of memory by<br />

typing in SAVE "filename",13.1<br />

or SAVE "filename",1,1<br />

6. Repeat this for other blocks<br />

of memory if necessary.<br />

58<br />

The Basic Loader<br />

Now that you have saved your<br />

block of memory, how do you<br />

get your program to load it<br />

again automatically? There are<br />

two ways in which you can do<br />

this. The first is to write a short<br />

machine code routine to load<br />

the blocks of memory. The<br />

second is to add one or more<br />

lines to the beginning of your<br />

Basic program. The machine<br />

code method requires an<br />

understanding of how the<br />

KERNAL load routine works<br />

and would take too long to<br />

describe here. Instead, I will<br />

concentrate on describing the<br />

Basic method.<br />

It is actually very easy to get<br />

your Basic program to do the<br />

loading for you. The most<br />

important thing to remember is<br />

that once the first block of<br />

memory has been loaded, the<br />

program will start again from<br />

the beginning and if you do not<br />

do something to prevent it, the<br />

same block will be loaded<br />

again and again.<br />

The first thing to do is save a<br />

copy of the full program, data<br />

statements and all, in case<br />

sornthing goes wrong, and<br />

keep it safe. Next, remove the<br />

data statements and the READ-<br />

POKE routine and any error<br />

traps, and save the program<br />

again.<br />

The first line of the program<br />

can be used to load the block of<br />

memory by using a line such as:<br />

10 X=X+1 IFX=1THENLOAD<br />

"filename",8,1<br />

This filename is the same as<br />

the one you used to save the<br />

block of memory. If a tape is<br />

used, then first change the<br />

eight to a one, and then, don't<br />

use a filename. The figure one<br />

after the eight or one is required<br />

so that the block of<br />

memory goes back to whence<br />

it came.<br />

If there is more than one<br />

block of memory to load,<br />

another line needs to be<br />

added, as follows:<br />

20 IF X=2THENLOAD" 2nd<br />

filename",8,1 etc.<br />

or, in the case of tape, the first<br />

line can become:<br />

10 X=X+1 IFX 3THENLOAD"<br />

",1,1<br />

Do not use a filename. This<br />

will load the first two blocks of<br />

memory found on the tape.<br />

The way in which the loader<br />

works, is as follows:<br />

1. When the program is run,<br />

X=0.<br />

2. Al line 1, X becomes 1 and<br />

the first load takes place.<br />

3. After the load, the program<br />

starts again at line 10 but the<br />

variable X is still 1. Therefore X<br />

becomes 2 and since this is not<br />

equal to 1, the program<br />

continues to the next line.<br />

4. This will go on until all the<br />

blocks of memory have been<br />

loaded and the rest of the<br />

program can continue.


FONT<br />

Evelyn Mills looks at a new<br />

product from Impex.<br />

THE FONT FACTORY (FF) IS APTI.N<br />

named and works hard for you, doing<br />

overtime at your request!<br />

Firstly the requirements are a disk<br />

drive, printer and word processor. The<br />

printer should, for preference. be the<br />

Commodore Vic 1525/MPS 801 although<br />

directions are given for using a printer<br />

interface emulating the MPS 801 or 803. It<br />

is claimed that FF will work with most<br />

word processors with open sequential<br />

files and I have used Easyscript throughout<br />

with no problems; however it would<br />

be worthwhile doing a double-check with<br />

the distributors before purchase if you<br />

have another word processor as some do<br />

not link up.<br />

Noticeably there is no manual<br />

supplied with FF; instead the program<br />

gets to work right away printing out full<br />

instructions using the directions given.<br />

The resulting 16 page manual is in two<br />

parts - one for Font Factory and one for<br />

Signwriter 64. Both are very well written<br />

and the full concepts of the programs are<br />

easily understood - no hidden complaints<br />

here!<br />

Before using FF ,create a file document<br />

with your word processor and save this to<br />

disk. There is no necessity to use the<br />

commands of your processor other than<br />

direct typing mode. However and this is<br />

most important - your MUST enter • ii fni'<br />

at the beginning followed by (return).<br />

Should you wish to use a different font in<br />

the middle of your document, insert a<br />

new ' Oln2 header, followed by (return).<br />

FF has eight in-built fonts with which to<br />

play around.<br />

Having saved your file to disk, load FF<br />

and let it take over. Initially I suggest that<br />

you use option three to print your<br />

document (there are plenty of screen<br />

instructions to help you along), Essentially<br />

FF will ask you to define your first font by<br />

selection from a list of eight; this will then<br />

be processed for you. The second font<br />

style will then be requested and FF gets<br />

back to work. When you have defined the<br />

number of fonts in your document, a<br />

simple (return) will exit you to the next<br />

option. If you select the parameters given<br />

on the screen (a good idea initially) insert<br />

your document when told to do so and FF<br />

will print your letter in the fonts selected.<br />

very simple indeed and very effective.<br />

There are eight in built fonts including<br />

Micro, Bold. Roman, Gothic and, most<br />

important of all, the Descender. The latter<br />

gives you 'true type face' of a high quality<br />

as its name implies.<br />

FF is full of options using normal or<br />

double width letters and has a very<br />

comprehensive list of embedded<br />

commands for centering, setting line<br />

width, left and right margins, optional<br />

page numbering and line spacing. All<br />

these commands are speedily screen<br />

controlled, Fonts may also be changed<br />

within your document (did I say<br />

versatile?).<br />

More to come. You may define your<br />

own fonts, if desired, or edit existing ones.<br />

The whole process is extremely easy to<br />

use and 15 fonts may then be accessed at<br />

any one time within your document,<br />

including the in built fonts. Instructions<br />

are clear, concise and readily handled.<br />

In effect you can create an entire<br />

character set or change characters from<br />

an existing set; if you do not like the A in<br />

Gothic font then change it! If you want to<br />

design the Greek alphabet - do it!<br />

FF also has a signi.vriter program which<br />

may be loaded independently. Here again<br />

instructions are readily handled, when<br />

complemented with the manual. This<br />

functions independently of a word<br />

processor. character widths are Normal.<br />

Skinny or Double width and the output<br />

has two options; one selects print<br />

according to the printing characters in<br />

your slogan while the other selects solid<br />

line printing (note - the word cat in<br />

normal width prints a banner around two<br />

feet long!) F5 will stop the printer if you<br />

have been too enthusiastic.<br />

As in FF, fonts may be changed and<br />

stored on disk. There is one Standard fon<br />

,in signwriter.<br />

I see no problems in this program.<br />

consider it excellent value for money and<br />

doubt if you will be disappointed with its<br />

performance.<br />

A really professional tool, agreeahly<br />

prices and certainly "user friendly"<br />

59<br />

Review


1111=1111Eskil<br />

11<br />

11<br />

1<br />

0<br />

11<br />

11<br />

11<br />

11<br />

11<br />

11<br />

to add to<br />

This month we are pleased to<br />

print three short utility<br />

programs. The First of these<br />

comes from Steven Freeman<br />

from Orpington and is a list<br />

utility.<br />

How often have you tried to<br />

list a program on the screen of<br />

your C64 only to have the line<br />

that you want scroll off the top<br />

of the screen before you can<br />

read it? OK so you can slow this<br />

listing down with the CTRL key<br />

but the program still scrolls.<br />

Steven's handy routine alters<br />

the speed of the LIST command<br />

by changing the list vectors so<br />

that it jumps to a short machine<br />

code routine in spare memory<br />

(locations 679 to 702). Line 30 of<br />

the Basic loader contains the<br />

POKE that alters the speed of<br />

the list, you can change this if<br />

required. The other controls<br />

are:<br />

CI To pause the listing<br />

13 To slow down the listing<br />

For all of those people who<br />

have stored machine code<br />

prOgrams on tape only to<br />

forget where they load in<br />

memory, Mr K Peppin from<br />

Little Neston has provided an<br />

extremely handy Tape Header<br />

Reader program. The routine is<br />

very handy for locating a<br />

machine code program and<br />

giving its length.<br />

This routine is reliant on a<br />

machine code call to the Kemal<br />

ROM which searches for any<br />

header to a program. The<br />

information is then stored in<br />

PROGRAM: CATALOG<br />

5 REM PROGRAM FOR THE PLUS/4<br />

10 SO<br />

115<br />

PRINTSI<br />

(CL 20 PRINT:READX:FORI=1TOX:READAS:PRINT" "AS:NEXTI<br />

R) 25 PRINT"(DOWN1WHICH PROGRAM ?":PRINMDOWN)ENTER THE PROGRAM NUMBER":INPUTA<br />

(RV 30 IFA(IORAnTHEN25<br />

S)1 35 POKE0,7<br />

RED 40 PRINTCW(DOWNHDOWN)PRESS THE FAST FORWARD BUTTON":PRINT"(DOWN)THEN PRESS ANY KEY'<br />

) 45 POKE239,0<br />

$<br />

50 IFPEEK(239)=0THEN50<br />

t<br />

55 IFPEEK(64784).255T4EN40<br />

i<br />

60 PRINT(DOWN)PLEASE WAIT FOR PROGRAM TO BE FOUND"<br />

M<br />

65 POKE0,151TIS=<br />

A<br />

170<br />

IFTI/60(8THEN70<br />

S<br />

000000:8(A-1)10<br />

75 POKE0,7<br />

80 PRINT"(CLR)":PRINISS:PRINT"(DOWN)lDONWRESS THE STOP BUTTON ON THE CASSETTE'<br />

T<br />

85 1/0L6:SOUND1,850,20:FORT=1T090:NEXTT:SOUND1,800,20<br />

E<br />

90 IF PEEK(64784)E2551HEN100<br />

R<br />

95 GOTO 90<br />

T100<br />

PRINTSS:PUNT"(DOWN)YOU ARE NOW READY TO 1<br />

A:PRINP1DOWN)LOAD/<br />

105 RESTORE:FORI=1T001:NEXTT:READAS:NEXT<br />

PSAYE<br />

110 PRINTAIpPOKE0,15<br />

E 115 POKE239,0<br />

P120<br />

DATA 10:REM NUMBER OF PROGRAMS<br />

R125<br />

DATA"PROGRAM 1<br />

O130<br />

DATA"PROGRAM 2<br />

G135<br />

DATA"PROGRAM<br />

R140<br />

DATAIROGRAM 4<br />

A145<br />

DATA<br />

M 1150<br />

DATA"PROGRAM 6<br />

CPROGR<br />

155 DATA<br />

AAM<br />

1160<br />

DATA"PROBRAM 8<br />

T5<br />

PROGR 165 DATA"PROGRAM 9<br />

AAM<br />

170 DATA"PROGIRAM 10<br />

L7<br />

O<br />

G<br />

60<br />

U<br />

E<br />

1


the cassette buffer, address<br />

828-1019, where it can be easily<br />

used<br />

The fi nal routine in this<br />

monthrs Scratchpad is a very<br />

handy cassette tape catalogue<br />

system from N V Newen from<br />

Oxford_ The object of the<br />

program is to allow easy access<br />

to either programs or<br />

subroutines stored on a master<br />

cassette.<br />

The program as it stands will<br />

store 10 sections of approx 8K<br />

in length on a C60 cassette but<br />

this could quite easily be<br />

changed to suit individual<br />

requirements. if you use the C-<br />

16/Plus/4 fast tape routine<br />

from our Feb '86 issue about 10<br />

programs of 25K can be saved.<br />

The data can be altered to suit<br />

the names of your programs.<br />

Don't forget to put the<br />

program number at the start of<br />

each line as it is this that you<br />

will have to press to access that<br />

file.<br />

IPROGRAM: LIST<br />

10 REM 'SLOW LIST'ESPMSTEVEN FREMAN 1986<br />

20 REM EF1] . PAUSE : EF3] . SLOW DOWN.<br />

30 POKE 251,248 : REM SPED OF LIST<br />

40<br />

NEXT<br />

FOR<br />

CODE<br />

CODE=0 TO 2:READ MC:CS.CS+MC:POKE 679+CODE,mC:<br />

45 IF C903262 THEN PRINNATA ERROW:END<br />

50 POKE 774,167:POKE 775,2<br />

60 DATA 72,165,197,201,4<br />

70 DATA 208,8,165,251,133,162,165,162<br />

180<br />

DATA 48,252<br />

240,250,201,1<br />

1!PROGRAM:<br />

TAPE HEADER[<br />

104,76,26 20<br />

10 PRINT'ECLEAR]":POKE<br />

SOSUB 270<br />

53280,0:POKE 53281,0<br />

,167 30 PRINTIDOWN6,RISHTEINSERT TAPE AND PRES A KEY.'<br />

COMMODORE 64<br />

EVER HAD A LOADING PROBLEM?<br />

Then send off for WI ZARDS TAPE HEAD ALIGNM ENT KIT - No one sh ou Id be without<br />

Oriel<br />

The most common cause of loading failure is bed alignment of your tape heads This kit<br />

allows you to set up the taps heads of your cassette unit for the best possible loading<br />

conditions. In many cases this will make re ma rka ble difference In loading re lla bility.<br />

Our kit comprise s of<br />

(1) A precision recorded cassette containing a sophisticated teal program_ (2) A special<br />

adlutitment acrewckiver (3 ) A direction indicator 441 A turning meter (5 ) A detailed<br />

instruction bookle t with diagrams 161 A Loading Doctor - to help you diagnose any<br />

loading problems All of this for only 059911<br />

COPY KING - PLUS<br />

• RevOluiponary new copier for FAST LOADING prOgrams * FREE this month • suite of<br />

additional beck us routines. • Striped larders, Picture loaders, e tc.. handled with ease<br />

* Ba ck up copie s are made on bla nk TAPES at fast speed (faster than disci) - VERY<br />

reliable loading, unlike some competing utilities we could mention!* Easy to use *<br />

second cassette unit required * Ore m value at Er 95.<br />

HALF PRICE SPECIAL THIS MONTH!!!<br />

Copycat and Lightning Load together for only E5 95 U sua lly E5 95 e ge t<br />

COPYCAT - Our highly popular tape to tape back-up copier for Commodorastandard<br />

rate toackno systems * Wizard sound effects Cassette magic se nse * Thousands sold<br />

LIGHTNING LOAD I I - Converts almost a li your slow loading games/programs into<br />

SUPERFAST TURBO loading versions on tape * The tedious wait for lO5 ng rs over<br />

when you buy this excellent program<br />

COMMODORE PLUS-4/C18<br />

THE MIRROR - Superb la pe (° lape back up copier catering lot Me majority 01 Plus-4/<br />

C16 gamin. Ba cks up both standard and FAST loading software. Excellent value - E7 Ei5<br />

TAPE HEAD ALIGNM ENT KIT D e scription the same as Commodore 64 VOrls00 i see<br />

above). H ighly popular utility - EE 95<br />

MERLIN ASSEM BLER - 100% machine code aleentbler for Me Plus-4/C16 Ve ry fast<br />

Hearn* of source code Ea sy entry/editing of code via thefull screen editor. Full error<br />

message pinpointing the errors. Full load/save and printer fa cilitie s. Va ria ble names,<br />

labels, hex/decimal - M a ny other fa cilitie s too numerous to mention H ighly recommended<br />

- A truly superb la te M ble r Come s with instruction booklet and FREE booklet<br />

Of machine COde routines Cassette Eiti 95 D isc E13.95<br />

RAPID dispatch of orders<br />

U.K postage is included in the price Europeans prime ADD 50p Outside Europe ADD<br />

E1.00. Overseas orders welcome, AI payments must be in pounds sterling Che que s<br />

POI to.<br />

,<br />

WIZARD SOFTWARE (Dept. K)<br />

59 THE MARLES, EXMOUTH,<br />

DEVON EX8 4NE<br />

40 SET Alt IF AS."THEN 40<br />

50 PRINT<br />

60 SYS 63276<br />

. 70 PRINT"(CLEARr<br />

80 SOSUB 270<br />

ICLEAR 90 POKE 646,141PRINPEDOWN2,RISHT1PROGRAM NAME:";<br />

10 POKE 646,2:FOR A.833 TO 848<br />

P<br />

120<br />

10 PRINT<br />

PRINT<br />

CHRUPEEK(A)0NEXT<br />

130 1.(PEEK(830)$2561+PEEK:829)<br />

140 Y.(PEEK(832)1256)+PEEK(831)<br />

150 POKE 646,141PRINT"CDOWN2,RIGHUSTART ADDRESS:':<br />

160 POKE 646,2:PRINT X<br />

170 POKE 646,14:PRINT'IDOWN2,RISHT1END ADDRESS:";<br />

180 POKE 646,2:PRINT<br />

190 POKE 646,14:PRINP[DOWN2,RI6HTHEN6TH:";<br />

20 POKE 646,2:PRINT Y-X;:POKE 646,14:PRINTIYTES."<br />

210 PRINTIDOWN2,RISHUTYPEI'l:POKE 646,2<br />

20 IF PEEK:8281=1 THEN PRINT<br />

230 IF PEEK:828)=3 THEN PRINT "[RIGHT]MACHINE CODE"<br />

6240<br />

POKE 646,14:PRINT"[DOWN2,RISHT12]PRESS ANY KEY'<br />

250 SET AS:IF AS.'"THEN 250<br />

260 tRIEHTHASICI<br />

SOTO 10<br />

270 PRINP(RIGHT10)TAPE HEADER READER'<br />

280 PRINT'EDOWN,RIGHTIMY°<br />

290<br />

30<br />

PRINT"IDOWN,RIEHT13K.PEPPIN<br />

RETURN<br />

1985'<br />

TAPE BACKUP DEVICES FOR C8M 64, 128, VIC 20<br />

OCL1 FON C111144, C 1 2111 SHOT SO ODAT ASITTES _ ..... — ---- ...... - ...... ----, ........ -.... a 10<br />

U g ko s Ad ..e. d vd ,w Nick Apar! a hoc orei 01045844i5 NO hew) A. 5,4141 IE44 wowah<br />

, hack,* n o ab l powern o i l wa o41Mo:talc r m tubas m eair aOC L411 i l<br />

d a l<br />

, Mates a de wi dia MI intor-Lin on either a seconder...WM or on Sr. mach° Weal Oat h41)501tvoare<br />

0111C , new xi km411156 Vechlen LED MN monk* ewes omen irwater a con<br />

OSIS1/ modoct - N o<br />

1 owe A l t o b e c k e<br />

Syrilatto OCIA WI well<br />

i.. 2WMIAS 1e<br />

t t r u n i<br />

, b.11 FORCOMS4112111 TOO<br />

i g<br />

m<br />

t<br />

a c owl SUMO RECORDER E I S SO ,<br />

A 1 i,<br />

n I 11 ** NEW ** THE EXPERT CARTRIDGE,<br />

n m,<br />

TAPE TO DISK & DISK TO DISK SYSTEM<br />

l a t a l k h a a 4<br />

eto<br />

4 1<br />

teo<br />

tOtr FINEZESANO y p TRANSFERS ALMOST ALL PROGRAMS AT THE PRESS 01A OUTION<br />

. Mo*<br />

TEM BEST SYSTEM OF ITS KIND<br />

e a l .<br />

D E<br />

it * OUT .PERFORMS ALL OTHERS REGARD' Fss of E.,0ST<br />

4gi x SAVES 4 : PRCGRAM 1 IN I FILE<br />

M I 4 o* DOES NOT , NEED CARTRIDGE FOR LOADING BACK<br />

& Oj00<br />

COMPACTS a l PROGRAMS TO REDUCE DISK SPACE USED ir OR MORE PROGRAMS PER DISK<br />

V R e0*<br />

FAST LOADS BACK PROGRAMS. MOST IN LESS THAN PO SECONDS<br />

0* USES RAM CARTRIDGE AND DISK BASED SOFTWARE FOR INSTANT UPGRADING<br />

! 1 o * RESTART. ALTER OR DISASSEMBLE PROGRAMS USING BUILT-IN MACHINE COOL MONITOR<br />

, Ao* NONF I OF Ti* OTHERIAPE TO DASKTREEZE FRAME PRODUCTS CAN MATOt THI EXPIRY<br />

SC A IM<br />

I T I 1 1 0 0<br />

N<br />

1<br />

O<br />

R<br />

E<br />

INC . VAT M I V O * ClS C61064111 VERSION AVAILAILE " L SOONY<br />

C128 80 COLUMN CONVERTERS & LEADS<br />

e2.."<br />

C VIOCON 23 RGIII TO VIDEO CONVERTER FOR CON I70i & 1702 MONITORS.<br />

Orh<br />

is it a sophishcAtad mains operahhd and r, spiays ail la C•215 rolaurs an0 ha5 a 40 80 token."<br />

Rtwit+C<br />

4 1 2 . 5<br />

VIDCON3;04 COLUMN PAColOCHROME ADA PTOR FO lq TVs i 34.95<br />

D<br />

EC<br />

1 ts at COLUMNLEADS/ADAPTORI—ALLALSOINCLUOECONNECTIONFOR SOUND<br />

TAIL 34i titie,1 VIDEO! FADSFOR F ERGUSONOACOI AMIGOS a itlita<br />

R TIIL a I t Hall I LAD 1<br />

. , TIMM Mir FIGOLEAD FOR FIDELITYCTM 140D C Mee<br />

. 0TML 4 131711ORNONOCHROME H I T A C H I T<br />

MON-0'01<br />

. V ,<br />

Leads end Adaptors made-to-order tor other mimitors —see with enquiries plows<br />

M O N I T<br />

.<br />

G Pi E A S E<br />

O R S<br />

.<br />

S P F 4 7 1<br />

W I<br />

_<br />

, C ela 6 4 SPEC TR U M R EPAI R S — PLEASE TELEPH ON E FOR D ETAI LS<br />

T<br />

_<br />

Y 5 4 4 0 0 E 1 t r<br />

& C<br />

u<br />

OM PETI TI VE PRI CES<br />

H<br />

_<br />

,<br />

R<br />

_O<br />

C<br />

FREE<br />

9<br />

C<br />

,<br />

ATALOGU<br />

1 1<br />

E<br />

1<br />

SENT<br />

)<br />

UPON RECEI PT OF LAR GE SAE (1 Te Sta mp)<br />

eaST M AI L-ORDER SERVICE crs',<br />

. h<br />

*<br />

I N<br />

.<br />

PPayment U by Claque, , postal order. cash. Transcash loay at any post office, by quoting<br />

.<br />

T<br />

.<br />

our a t no A650•3659,<br />

your name and address and which items you requireO<br />

a<br />

,<br />

.<br />

EXPORT: PIOASO add El extra paym eni in sterling only please<br />

I<br />

.<br />

A<br />

1 MAIL-ORDERS TO: 211 H OU SE LAN S, BRAD FOR D 5 D 4 0 0 A<br />

. 0<br />

CALLERS L WELC OM E AT 3 2 9 TON G STR EET,<br />

. 1<br />

5<br />

_<br />

6<br />

r<br />

i<br />

L<br />

P<br />

R<br />

I<br />

ADFORD m D4 BOY (027410384290<br />

Trpt7pGle<br />

7<br />

C<br />

E<br />

S<br />

I<br />

N


iparyl Bowers shows 1<br />

you how to kill the<br />

WELCOME BACK TO THE<br />

saga of the Frog. This month we<br />

will be adding the routine<br />

which controls the status panel<br />

at the bottom of the screen,<br />

and the routine which kills the<br />

Frog. Although the latter will<br />

not function until the checking<br />

routines are added in the next<br />

issue.<br />

Info<br />

The routine begins by printing<br />

the value of LIVES on to the<br />

status panel. ONLY indicates<br />

whether the frog is dead or<br />

alive and if dead (ONLY = 1)<br />

then we exit from the routine.<br />

The next four instructions<br />

print the values in FOOD and<br />

FOOD+1 and the following<br />

seven use the X register as an<br />

index to point to the five digits<br />

of MURES and SCORE and to<br />

place them correctly on the<br />

screen.<br />

One of the features of the<br />

game is that it becomes more<br />

difficult as you progress, and<br />

this is achieved by increasing<br />

the speed of the BIRD and the<br />

FLY. Their speed is increased by<br />

a small amount every time<br />

another 100 points is scored.<br />

The next two lines store the<br />

current digit in the 100 column<br />

of the score into NXTHLJN. The<br />

code which carries out the<br />

increase in speed appears later<br />

i n the routine.<br />

Lines 10010 to 10100<br />

decrease the two byte delay<br />

METDEL and METDEL2 to<br />

check whether another metre<br />

has passed. If not then we jump<br />

to FOD, which simply returns<br />

from the routine.<br />

The next eight lines use the<br />

X register as an index to<br />

int rease the METRES value. If<br />

the digit being increased<br />

reaches nine-plus-one in<br />

value, (i.e. 10), then that digit is<br />

set to zero, and the next<br />

highest digit is increased.<br />

Mt ISPD contains the value<br />

which is placed hack into<br />

1430 TABMOV MORD MOVE I , MOVE 4, 11OVE1, MOVE5, MOVE6, MOVE2<br />

1520 JSR PLAYER 10210<br />

10220 OK23<br />

10230<br />

1<br />

1560 JSR INFO 10240 LDA METSPD<br />

10250 STA METDEL2<br />

9790<br />

10260<br />

10270<br />

1<br />

DEC FOOD+1<br />

9800<br />

9810 INFO<br />

1 10280<br />

10290<br />

LDA FOOD+1<br />

CMP 1<br />

9820<br />

9830<br />

9840<br />

1 10300<br />

10310<br />

10320<br />

1LINE<br />

SUR<br />

0'- LDA 1<br />

STA 1 F000+1<br />

9850 LOA LIVES 10330 9' DEC FOOD<br />

9860<br />

9870<br />

9880<br />

9890<br />

9900 NOTONLY<br />

9910<br />

STA $0769<br />

LDA ONLY<br />

BE O NOTONLY<br />

RTS<br />

10340<br />

10350<br />

10360<br />

10370<br />

10380<br />

10390<br />

LDA FOOD<br />

CMP l'0'-1<br />

BNE SCOR<br />

LDA tl<br />

STA DED<br />

9920<br />

9930<br />

9940<br />

LDA FOOD<br />

STA $0789<br />

LDA F0004.1<br />

10400<br />

10410 SCOR<br />

10420<br />

1<br />

9950<br />

9960<br />

9970<br />

9980 100P23<br />

9990<br />

10000<br />

10010<br />

10020<br />

STA $078A<br />

1<br />

LOX 14<br />

LDA METERS, X<br />

STA $07560<br />

LDA SCDRE,X<br />

STA $07A6<br />

DEX 1<br />

10430<br />

10440 LOOP25<br />

10450<br />

10460<br />

10470<br />

10480<br />

10490<br />

10500<br />

LOX 14<br />

INC SCORE,X<br />

LDA SCORE,X<br />

CMP $<br />

1BNE<br />

0K24<br />

9LDA<br />

4<br />

13<br />

STA SCORE,X<br />

DEX 4.1 0'<br />

10030 BPL X L00P23 10510 8PL LOOP25<br />

10040 10520 RTS<br />

10050 LDA SCORE+2 10530<br />

10060 STA NXTHUN 10540 OK24<br />

10070 DEC KETDEL 10550 LDA SCORE+2<br />

10080 BNE FOD 10560 CMP NXTHUN<br />

10090 DEC METDEL2 10570 RE NOINC<br />

10100 BNE FOD 10580 DEC FLYSPD<br />

10110 LOX 14 10590 DEC BRDSPD<br />

10120 LOOP24 INC METERS,X 10600 NOINC<br />

10130 LDA METERS,X 10610 LDY 111<br />

10140 CMP $'9'+1 10620 LDA BRDSPD<br />

10150 BNE 0K23 10630 BNE 0K33<br />

10160 LDA $'0' 10640 STY BRDSPD<br />

10170 STA METERS,X 10650 OK33<br />

10180 DEX 10660 LDA FLYSPD<br />

10190 BPL L00P24 10670 BNE OK34<br />

10200 RTS Joao STY FLYSPD


10690 OK34 11280 LOP •'9<br />

10700 FOP<br />

10710<br />

10720<br />

10730<br />

10740<br />

10750<br />

10760 DEAD<br />

10770 1<br />

11290<br />

11300<br />

11310<br />

11320<br />

11330<br />

11340<br />

11350<br />

11360<br />

SIP 1 FOOD<br />

SIP FOOD+1<br />

LOP 10<br />

SIP DED<br />

LDA 11$FF<br />

SIP FLYXL0<br />

SIP BRDXLO<br />

LDA *I<br />

10780<br />

10790<br />

10800<br />

10810<br />

101320 0EADED<br />

10830<br />

101340<br />

10850<br />

LOP DED<br />

BNE DEADED<br />

RTS<br />

LDX 1217<br />

STX $07F9<br />

1NX<br />

SIX 107F8<br />

11370<br />

11380<br />

11390<br />

11400 L00P32<br />

11410<br />

11420<br />

11430<br />

11440<br />

SIP FLYXHI<br />

SIP BRDXHI<br />

LOX t3<br />

LDA FRENCH2, X<br />

SIP FRENCH,X<br />

DEX<br />

BPL L00P32<br />

10860 LDY STASE 11450<br />

10870 LOA JUMPTYPE 11460 RTS<br />

10880 BNE 9I13 11470<br />

101390<br />

10900 BACK<br />

10910<br />

LOP XTAB1,Y<br />

SEC<br />

SBC 148<br />

11480<br />

11490<br />

11500<br />

1<br />

1<br />

10920 SIP 10002 11510<br />

10930<br />

10940 BM<br />

10950<br />

10960<br />

JPIP YPOS<br />

LDA ITABIB,Y<br />

09 BACK<br />

11520<br />

11530<br />

11540<br />

11550 WAIT2<br />

10970 YPOS<br />

10980<br />

10990<br />

11000<br />

11010<br />

11020<br />

11030<br />

11040<br />

11050<br />

11060<br />

11070<br />

11080<br />

11090<br />

11100<br />

11110<br />

11120<br />

11130<br />

11140<br />

11150<br />

11160<br />

11170<br />

11180<br />

11190<br />

11200<br />

11210<br />

11220<br />

11230<br />

11240<br />

LDA 0158<br />

SIP $0001<br />

SIP 10003<br />

LOP #13<br />

SIP $0020<br />

SIP $0021<br />

;<br />

;<br />

1<br />

SEI<br />

LDA IFININT&235<br />

SIP $0314<br />

LDA 11FININT/256<br />

SIP $0315<br />

DEC LIVES<br />

JSR WAIT2<br />

LOP 01<br />

SIP ONLY<br />

JSR INFO<br />

LOP 10<br />

SIP ONLY<br />

JSR WAIT3<br />

LOP LIVES<br />

CHP #'0'<br />

BEO FINAL<br />

LOP SHANDLE11255<br />

11560<br />

11570 L00P29<br />

11580<br />

11590<br />

11600<br />

11610<br />

11620<br />

11630 WAIT3<br />

11640<br />

11650 LOOP30<br />

11660<br />

11670<br />

11680<br />

11690<br />

11700<br />

11710 BIGSY<br />

11720<br />

11730<br />

11740 LOOP28<br />

11750<br />

11760<br />

11770<br />

11780<br />

11790 NOTDEAD<br />

11800 FINAL<br />

11820<br />

11830<br />

LDA 15<br />

JSR 11156Y<br />

SEC<br />

SBC 11<br />

BNE L00P29<br />

RIB<br />

LDA #10<br />

JSR BIER<br />

SEC<br />

SBC 11<br />

BNE LOOP30<br />

RTS<br />

LOX ilIFF<br />

LDY t$FF<br />

DEY<br />

ENE L00P28<br />

DEX<br />

BNE 100P28<br />

RTS<br />

JSR WAIT3<br />

1<br />

JSR INIT<br />

RTS<br />

11250<br />

11260<br />

11270<br />

SIP $0314<br />

LDA tHANDLE/256<br />

SIP $0315<br />

11840<br />

11850 FINISH<br />

11860<br />

1<br />

.END<br />

63<br />

METDEL2, so by changing this<br />

value (line 1360) you can adfust<br />

the distance that must be<br />

travelled before the value of<br />

METRES is increased.<br />

The same principle used for<br />

increasing the metres is used<br />

next to decrease FOOD and<br />

increase SCORE,<br />

Which brings us to 0K24, If<br />

the value of NXTHLIN is<br />

different to the current value of<br />

SCORE+2, then it is time to<br />

decrease the delays which<br />

control the speeds of the BIRD<br />

and FLY, BRDSPD and FLSPD.<br />

Finally they are checked to<br />

ensure that their values have<br />

not decreased too far.<br />

Dead<br />

This routine prints the dead<br />

frog and decreases the value of<br />

LIVES.<br />

I he first step is to check<br />

whether the variable DED has<br />

been set by the collision<br />

routines which we will add next<br />

issue.<br />

Lines 10820 to 10850 set up<br />

the sprite definitions to point<br />

to the correct sprites for a dead<br />

frog. 10860 to 11010 simply ;et<br />

up the correct X and Y coordinates<br />

of the frog he would<br />

look pretty silly hovering in<br />

mid air!). Next the colours are<br />

set up in lines 11020 to 11040.<br />

Now the interesting bit!<br />

Remember the interrupt<br />

handling routine, 'HANDLE'<br />

that we added in the second<br />

article? Well, unless we stop<br />

this from being called, the dead<br />

frog will continue moving<br />

(actually the background<br />

would move, not the frog),<br />

To stop this from happening,<br />

we point the interrupt<br />

vector at $0314 and $0315 to the<br />

end of the routine, thus<br />

executing no code.<br />

The rest of this section is<br />

simple to follow, and does this:<br />

Decrease Lives, pause, reprint<br />

status panel, pause, set up<br />

interrupts, refill FOOD. re-set<br />

Bird and Fly positions, re-set<br />

Cycle position,<br />

The last pieces of code from<br />

line 11500 onwards, are simply<br />

delay loops used by the<br />

previous routine,<br />

Next issue - collisions!


INEMEMENEIREIREENEEMENEENEEMENEMEMEEMENNEEMEMEEN E N E M E N •<br />

....••••••••••••••••••••••••••••••••••••••• ••0•••••••••••<br />

11<br />

•NEE M O W ,<br />

E• •E• I • •••EN' R E N E I ' E F Ago. I • • INE' V W mob III -<br />

o. MEE<br />

A I r M<br />

E<br />

E<br />

M<br />

E<br />

U A 1111 1 1 1 MENE• E N I•F A IM' ••ME• —<br />

1•EN• 1 1 1U1 •1 E 1 , 1 A, 'MI k I RE 11 E N INF A. 11 E l • ____11111E•<br />

lNEON mm•N m I I I N. I I M Y II 111, IE I l k MN' I IlmENEE<br />

NENE I mom II 1116 E L I L A l atom lb. . 11 • E E<br />

•EMEEMBEIBINMEoubmillEmillEimmillodEbiniEdEb•MENIEEMEnumEnNommEllEN<br />

• NEMENEMENEENE•ENEEMEMEME•E•ENEEMENE•••1111MEMEENEENEEMENEMEN<br />

11 1 1<br />

This month David Janda<br />

1 1 1<br />

F begins a look at C — a very<br />

I E<br />

LE<br />

M<br />

vPlanguage.<br />

•<br />

'<br />

e<br />

9<br />

r1<br />

1<br />

sC<br />

1 IS AN APPLICATIONS LANGUAGE.<br />

That<br />

aN<br />

is, it's used by programmers to write a<br />

variety<br />

E<br />

of programs such as text editors,<br />

tprogramming<br />

utilities and such like. It is<br />

also N the 'flavour of the day' in the micro<br />

iworld.<br />

E Partly because of the popularity of<br />

lthe<br />

UNIX operating system (of which C is<br />

the language) and partly because of other<br />

e features such as its compactness, portability<br />

and speed of execution.<br />

p The good thing about C is that it is a<br />

rlanguage<br />

for programmers. Many<br />

programming languages get designed by<br />

ocommittee,<br />

but not C. C has gained its<br />

gpopularity<br />

not because of any hype or<br />

backing from a government (as the USA<br />

rhas<br />

backed ADA), but because programmers<br />

LIKE C.<br />

a So what is C, what can you do with it,<br />

and m how good is it?<br />

mWhy<br />

C?<br />

i<br />

C has many virtues. It is a modern<br />

nlanguage<br />

which incorporates modern<br />

control g features. It is also a compact<br />

language; C can be installed on small<br />

micros - such as the 64 - and the code that<br />

it produces is compact and fast. Another<br />

benefit of C is that it is portable. We have<br />

all heard claim that this or that language is<br />

portable, only to discover that a major rewrite<br />

is necessary before a program can<br />

be run on a different system. But with C it<br />

really is portable between different<br />

computers. If any changes to the source<br />

code are necessary, it usually means<br />

altering a few lines in a 'header* file which<br />

can accompany the main program.<br />

For those of you who are interested in<br />

the 'real' world of programming, it is<br />

worth noting that C is the programming<br />

language of the UNIX operating system.<br />

UNIX is already an accepted operating<br />

system in the PC world, and the EEC have<br />

• E N<br />

• N<br />

E<br />

N<br />

E•EN•••<br />

•E•NE<br />

• •<br />

•<br />

E,<br />

M EI RNE EINNEN. I<br />

E l l i •EL IME•IMIET ,,,A, 111E<br />

MENEM M • MIEN, A 1•1 -<br />

•<br />

N1 w• MENEM<br />

•<br />

•1<br />

1 1MEMO' 1 a INI - . ' f f<br />

•<br />

•1 A-EINE• -•<br />

1 E mE o No<br />

, M I ImMI IR-...11‘ w AUN<br />

MENNEN EM<br />

E • I• F • a • t 11 AMEMEEMb. a l l I N<br />

M<br />

• E 1•ENEMENENNEINEIN•MEEMiinEENEENEEENE•millEEN I1<br />

r 1 M E E M E N<br />

E<br />

•<br />

I' •<br />

•ENEMENEEMEN•ENEMENEENE•••NNEENEORIEE•E<br />

I<br />

E E<br />

M<br />

I n E I • •<br />

N<br />

IEI E<br />

E<br />

submitted E<br />

I<br />

M to the compiler, which, C Power V2.4 by Pro<br />

providing E<br />

N<br />

N their are no errors, will compile<br />

the<br />

•<br />

E program into machine code and store -<br />

Software Ltd<br />

it<br />

E<br />

M<br />

E<br />

as a file which is called the object code. Line<br />

The I steps in developing a C program To the best of my knowledge., thec power<br />

are N<br />

M a Ebit<br />

more complex than what was package is the only C compiler available<br />

mentioned E<br />

M above, but it should give you a in the UK so far. By the time you read this a<br />

rough<br />

E<br />

N idea.<br />

cheaper package called Super C should<br />

be available from First Software. The<br />

C M<br />

EBASICS<br />

E<br />

reason for this longer-than-normal<br />

E<br />

M<br />

review is to give you an idea of what the<br />

E •<br />

E<br />

package offers and is capable of, as it is not<br />

Here is a small C program:<br />

the cheapest available!<br />

1) N#<br />

include


1<br />

has got a very compatible package with C<br />

Power, but of course, there are some<br />

differences.<br />

In brief, the omissions from standard C<br />

are: no bit fi eld manipulation; static<br />

pointers may not be initialised except for<br />

character points initialised with strings;<br />

certain operators under certain conditions<br />

will not work unless the expressions<br />

are parenthesised. Most of these<br />

omissions are not serious, and can be got<br />

round quite easily.<br />

The following table lists the size, in<br />

bytes of all data types supported by the<br />

compiler:<br />

Type S i z e<br />

char 1<br />

short 2<br />

int 2<br />

long 2<br />

unsigned 2<br />

float 5<br />

double 5<br />

pointer 2<br />

Looking at the table, you can see that<br />

types short, int and long are the same, as<br />

are float and double. This practice is not<br />

uncommon in micro implementations of<br />

C. but is a strange one. For a package of<br />

this price I would have expected to see<br />

long and double supported.<br />

The library supplied with the C Power<br />

compiler is quite standard. However, it<br />

would have been a good idea to include<br />

functions dependent on the 64, such as<br />

some sound and graphics functions.<br />

Documentation<br />

The user manual is supplied as sheets of<br />

paper which is stapled near the top.<br />

Punch holes enable the manual to be<br />

fitted into a ring binder, which is a good<br />

suggestion as my copy started to fall to bits<br />

after a short while. The manual itself<br />

makes no attempt to teach or introduce<br />

the user to C - that's left to the tutorial<br />

book. Instead the manual provides<br />

information on the implementation of C<br />

Power and descriptions of the editor,<br />

compiler, linker and so on. One section<br />

lists the functions provided with the<br />

library that is part of the package. The<br />

majority of functions are listed with name,<br />

number, order and types the function<br />

takes, description of the function and an<br />

example. A good idea this, as it will enable<br />

the user who wishes to port C source<br />

from another machine, to check up on<br />

functions to see if they are compatible.<br />

The book 'C Primer Plus' by Waite,<br />

Praia & Martin (Sams, $19.95, ISBN 0-672-<br />

22090-3) is supplied with the C Power<br />

package. Quite simply it is the best<br />

language tutorial book I have ever read!<br />

This hefty tome (531 pages) takes the<br />

reader from the concept of programming<br />

right up to detailed discussion on C I/O.<br />

What's more, it is well written in a friendly<br />

(and amusing) manner with plenty of illustrations,<br />

summary pages and so on. Even<br />

if you don't intend to get the C Power<br />

package get this book!<br />

C Power in Use<br />

TABLE 1 — COMMANDS SUPPORTED BY THE SHELL<br />

list work disk directory<br />

Is l i s t system disk directory<br />

rm scratch file from work disk<br />

my rename file on work disk<br />

pr l i s t contents of a file on work disk<br />

disk send command string to work disk<br />

The user manual suggests that the system<br />

disk should be backed up. To do this, the<br />

shell, editor, syntax checker, linker and so<br />

on should be copied on to one disk.<br />

Another disk should be used to copy the<br />

flip side of the system disk; this contains<br />

the Stdlib.1 and Syslib.1 function libraries.<br />

load load, but not run, command from work or system disk<br />

work show or set device and drive numbers<br />

sys a s above but for system disk<br />

ed l o a d and run editor<br />

ced load and run syntax checker<br />

cc compile C source<br />

link r u n linker<br />

NOTE: All the commands are followed by<br />

arguments such as fi le names, drive or<br />

device numbers.<br />

65<br />

Programming<br />

The compiler itself is copy protected (not<br />

very well though) so once working copies<br />

are made, three disks should be at hand:<br />

One containing the shell etc; another the<br />

libraries; and the third being the master<br />

disk.<br />

The SHELL is the first program that is<br />

run when using C Power. SHELL itself is a<br />

mini-command interpreter. It supports<br />

command line arguments and I/O redirection<br />

along with the compiler and<br />

other programs that are designed to work<br />

under it. The nearest comparison would<br />

be Basic's screen editor, which can be<br />

used to develop, edit and run programs as<br />

well as issue I/O commands (such as disk<br />

directory, opening fi les etc). The<br />

command available from the Shell are<br />

listed in Table 1.<br />

Entering some C source code first<br />

requires the editor to be loaded and run.<br />

This is simple done by entering 'ed'<br />

(optionally followed by a file name if an<br />

existing file is to be amended). The editor<br />

is a very comprehensive bit of code that<br />

provides numerous commands for<br />

moving about the text buffer. Once the<br />

code is written it can then be saved to<br />

disk. A syntax checker is also provided<br />

which does what its name suggests -<br />

checks the syntax of a C source file. The<br />

program is listed as it is being checked,<br />

and will stop if an error in syntax is found.<br />

If this is the case, a couple of key presses<br />

and you are back into the editor at the<br />

place where the error was found. Needless<br />

to say that the editor, syntax checker<br />

and all the other Shell commands are<br />

written in C!<br />

The next stage is to invoke the compiler<br />

by entering cc filename. This loads<br />

and runs the compiler which produces an<br />

object code file.<br />

The first stage is to load and run the<br />

linker. This will produce a runable file and<br />

three options are available. First it is<br />

possible to produce a C program that will<br />

run under the Shell (just like the Shell<br />

commands). It is also possible to specify a<br />

starting address, this means that the C<br />

program will have to be loaded and a SYS<br />

call made to the starting address. The third<br />

option is to produce a file that starts at the<br />

start of Basic.<br />

Summary<br />

Without a doubt C Power is a very powerful<br />

package. It is quite feasible that it can<br />

be used to develop commercial<br />

programs, and its numerous features give<br />

the user a great deal of flexibility.<br />

The only drawback with C Power is its<br />

price. It's a very expensive package, and I<br />

would have expected such things as more<br />

C64 dependent functions, long integers<br />

and double precision floating point.<br />

Having said that, its pros far outweigh<br />

the cons, and I would recommend the C<br />

Power package to the novice as well as the<br />

professional.


William Fong adds a<br />

little more power to<br />

your MN<br />

Simply type it in as you<br />

would any other program and<br />

SAVE it. When you RUN it, any<br />

typing errors in the data will be<br />

found and the line of the error<br />

given. Correct any offending<br />

lines and run again until the<br />

program runs without any<br />

errors. Do not attempt to use<br />

the program before 411 errors<br />

have been found or you could<br />

cause your machine to crash.<br />

Once the program is in<br />

memory you can get rid of the<br />

loader by typing NEW, Then<br />

type SYS 49152 to initialise<br />

better matrix. A 3D title/menu<br />

page should be displayed<br />

showing you the simple<br />

controls that are needed to use<br />

the program.<br />

Trying It Out<br />

When everything is working<br />

type in the short program in<br />

Figure 2. Now press function<br />

key 3, which will give a blue<br />

border, and RUN the program.<br />

Not very nice is it?<br />

Now press function key 1,<br />

which will give a cyan border,<br />

and RUN the program again.<br />

This time the letters will have<br />

descenders.<br />

Better matrix should therefore<br />

give a better appearance<br />

to many of your printouts.<br />

However, as each wordprocessor<br />

is different it is<br />

impossible to say whether it<br />

will work with them loaded<br />

into your machine. At the<br />

moment better matrix sits at<br />

memory location $C000 (49152)<br />

so it will definitely not work<br />

with progrms that use this area<br />

of memory.<br />

THE COMMODORE MPS 801<br />

is an extremely popular printer<br />

because of its cheap price. If<br />

you are only after the<br />

occasional computer listing<br />

then it is quite adequate. A<br />

problem arises however if you<br />

wish to use the MPS 801 to<br />

produce quality text output as<br />

none of the lower case letters<br />

have descenders. This means<br />

that a letter '1' would simply sit<br />

on the same line as a letter 'a'.<br />

This makes it very difficult to<br />

read large amounts of text.<br />

If you want to enter the<br />

wonderul world of word-<br />

BETTER<br />

MATRIX<br />

processing and are thinking of<br />

trading in your MPS 801 and<br />

purchasing a more expensive<br />

printer then wan a minute.<br />

Before you take any money out<br />

of your depleted bank account<br />

take a look at Better Matrix.<br />

So how does it help? Well<br />

Better Matrix uses a similar<br />

method of printing as the more<br />

expensive near letter quality<br />

(NLQ) printers. First one part of<br />

the letter is printed then the<br />

printer goes back over the<br />

letter and adds the missing<br />

parts of the letter to the page.<br />

By implementing this on the<br />

MPS 801 we can obtain an<br />

acceptable print resolution of<br />

14 dots by 16 dots. Obviously<br />

this does not improve the<br />

definition of the character, as<br />

proper NLQ does, but it does<br />

allow you to print characters<br />

with descenders. Take a look at<br />

Figure 1 which shows the<br />

normal printout of the MPS 801<br />

compared to that of the newer<br />

matrix.<br />

However, printing in this<br />

manner does have a disadvantage.<br />

As the printer has to go<br />

over each line of text more<br />

than once it takes a tot longer<br />

to print out any text, this is not<br />

only common to the MPS 801<br />

but all NLQ printer suffer in the<br />

same way. On the MPS 801 the<br />

speed is reduced from SO<br />

characters per second to 20<br />

characters per second.<br />

Getting It In<br />

Better matrix is quite short and<br />

the program is all in machin<br />

code but is presented here in<br />

the form of a Basic loader.<br />

PROGRAM; BETTER MATRIX<br />

2000 FOR L=0 TO 98:CX=0<br />

FOR D=0 TO 15:READ A<br />

:CX=CX+A:POKE 49152414164,<br />

A:NEXT D<br />

2010 READ A:1F AOCX THEN PR!<br />

NT<br />

120401.(LIIMSTOP<br />

2020 ENEXT<br />

L:60T0 4000<br />

2040 RDATA<br />

120,169,192,141,21,<br />

R3,169,73,141,21,3,88,169,6,<br />

O141,33,1489<br />

2050 R DATA 208,141,32,208,162,<br />

I<br />

0,189,246,194,32,210,255,<br />

232,224,255,208,2796<br />

N<br />

2060 DATA 245,162,0,189,245,<br />

L<br />

195,32,211,255,232,224,255,<br />

I<br />

208,245,162,0,2859<br />

2070<br />

N<br />

DATA 189,244,196,32,210,<br />

E<br />

255,232,224,255,208,245,<br />

'<br />

162,0,189,243,197,3081<br />

208e : DATA 32,210,255,232,224,<br />

43,208,245,96,165,203,201,<br />

4,208,18,169,2513<br />

2090 DATA 119,141,38,3,169,<br />

192,141,39,3,169,3,141.32,<br />

208,76,49,1523<br />

2100 DATA 234,201,5,208,15,<br />

169,202,141,38,3,169,241,<br />

141,39,3,169,1978<br />

2110 DATA 6,141,32,208,76,49,<br />

234,72,165,154,201,3,240,5,<br />

144,3,1733<br />

2120 DATA 76,135,192,104,76,<br />

202,241,104,141,100,194,72,<br />

138,72,152,72,2071<br />

2130 DATA 173,100,194,201,80,<br />

208,3,76,6,191,201,81.206,<br />

3,76,12,1835<br />

2140 DATA 193,201,71,208,3,76,<br />

58,193,201,74,208,3,76,84,<br />

193,201,2043<br />

2150 DATA 89,208,3,76,110,193,<br />

201,70,206,3,76,136,173,<br />

201,13,208,1988<br />

2160 DATA 3,76,36,194,201,65,<br />

208,3,76,162,193,201,67,<br />

206,3,76,1772<br />

2170 DATA 188,193,201,69,208,<br />

3,76,214,193,201,82,208,3,<br />

76,240,193,2348<br />

21130 DATA 201,87,208,3,76,10,<br />

194,201,32,144,19,201,145,<br />

240,15,201,1977<br />

2190 DATA 146,240,11,174,99,<br />

194,169,32,157,245,194,238,<br />

99,194,104,168.7.464<br />

2200 DATA 104,170,104,76,221,<br />

237,160,7,185,101,194,32,<br />

221,237,185,109.2343<br />

2710 DATA 194,174,99,194,157,<br />

245,194,238,99,194,136,16,<br />

235,76,93,194,2538<br />

2220 DATA 160,7,185,117,194,<br />

32,221,237,185,125,194,174,<br />

99,194,157,2451,2526<br />

2230 DATA 194,238,99,194,136,<br />

16,235,76,93,194,160,7,185,<br />

133,194,32,2186<br />

2240 DATA 221,237,185,141,194,<br />

174,99,194,157,245,194,238,<br />

99,194,136,16,2724<br />

2250 DATA 235,76,93,194,160,7,<br />

185,149,194,32,221,237,185,<br />

157,194,174,2493<br />

2260 DATA 99,194,157,245,194,


E,<br />

5,<br />

239;79,194,126,16,225,76,<br />

93,194,160,7,2227<br />

2270 DATA 195,165,194,32,221,<br />

237,185,173,194,174,99,194,<br />

157,245,194,238,2887<br />

2280 DATA 99,194,136,16,235,<br />

76,93,194,160,7,185,181,<br />

194,32,221,237,2260<br />

2290 DATA 185,199,194,174,99,<br />

194,157,245,194,239,99.194,<br />

136,16,235,76,2625<br />

:700 DATA in,194,10,7,:eE,<br />

197,194,22,221,227,195,237,<br />

194,174,99,194,2607<br />

2310 DATA 157,245,194,238,99,<br />

194,126,16,225,76,92,194,<br />

160,7,105,205,2434<br />

2120 DATA 194,32,221,237,185.<br />

237,194,174,79,194,157,245,<br />

194,279,99,194,2894<br />

::30 DATA 1:6,16,235,76,93,<br />

194,160,7,185,213,194,32,<br />

221,237,185,227,2421<br />

2340 DATA 194,174,99,194,157,<br />

245,194,238,99,194,136,16,<br />

235,76,97,194,2538<br />

:350 DATA 160,7,185,221,194,<br />

32,221,237,185,237,194,174,<br />

99,194,157,245,2742<br />

:10 DATA 194,238,99,194,136,<br />

16,235,76,93,194,160,7,185,<br />

229,194,32,2282<br />

2370 DATA 221,237,195,237,194,<br />

174,99,194,157,245,194,238.<br />

99,194,136,16.2820<br />

2380 DATA 235,76,97.194,169,8,<br />

22,221,227,169,17,32,221,<br />

237,169,15,2121<br />

2390 DATA 32,221,237,173,99,<br />

194,240,17,206,99,194,162,<br />

255,222.189,245,2795<br />

2400 DATA 194,32,221,237,236,<br />

99,194,208,244,169,8,32,<br />

221,237,169,13,2514<br />

2410 DATA 32,221,237,169,15,<br />

32,221,237,169,0,141,99,<br />

194,104,168,104,2143<br />

2420 DATA 170,104,96,0,0,15,<br />

128,184,196,196,169,252,8,<br />

15,128,128,1788<br />

2430 DATA 128,128,128,143,8,<br />

15,128,132,246,196,196,184,<br />

8,15,128,132,1917<br />

2440 DATA 143,128,128,128,8,<br />

15,128,248,164,196,196,184,<br />

8,15,128,125,19E2<br />

2450 DATA 126,136,136,132,8,<br />

15,128,132,253,128,128,128,<br />

8,15,128,128,1739<br />

Cede + MPS 801<br />

2460 DATA 1:S.126,136,122,5, 72,51:<br />

195,195,195,195,195,195,<br />

15,128,252,192,192,188,128. 2660 DATA<br />

195,195,195,195,175,3120<br />

8,15,128,135,1928<br />

22,32,194,144,166,152,166, 2860 DATA 189,144,32,166,152,<br />

2470 DATA 136,136,122.128,8, 166,166,166,1576<br />

166,166,13,32,18,166,32,<br />

15,128,126,196,176,248,192, 2670 DATA 166,166,166,166,166, 166,32,166,32,1672<br />

8,15,128,128,1970<br />

13,159,18,194,72.40,67,41, 2870 DATA 166,32,166,32,166,<br />

24130 DATA 128,128,143,128,8, 32,41,57,1522<br />

166,144,32,166,32,166,166,<br />

15,128,192.188,196,196,184, 2680 DATA 56.54,72.158,176, 166,166.166,166.2098<br />

8,15,128,200,1985<br />

1<br />

2880 DATA 166,32,166,166,22,<br />

2490 DATA 196,196,196,184,8, 9195,195.195,195,195,2621<br />

166,32,166,166,32,166,166,<br />

15,128,200,212,212,212,184,<br />

8,15,128,136,2270<br />

2500 DATA 132,132,248,132,8,<br />

15,128,188,192,184,192,198,<br />

8,15,128,128,2018<br />

2510 DATA 12E1,128,128,128,8,0,<br />

147,152,32,18,166,166,166,<br />

166,166,166,1865<br />

2520 DATA 166,166,166,166,166,<br />

166.166,166,166,166,166,<br />

166,166,166,166,166,2656<br />

2530 DATA 166,166,166,166,166,<br />

166,166,166,166,166,166,<br />

166,166,166,166,13,2503<br />

2540 DATA 159,18,176,195,195,<br />

195,195,195,195,195,195,<br />

195,195,195,195,195,2898<br />

2550 DATA 195,195,195,195,195,<br />

195,195,195,195,195,195,<br />

195,1<br />

2560 9DATA<br />

166,166,166,166,166,<br />

5,174 166,166,166066,13,159,18,<br />

, 194,32,66,69.2045<br />

2570 152,1 DATA 84,84,6<br />

9 66,30 65,94,82,73,98,32,79,78.32,<br />

,82,32,77,<br />

27<br />

7/,',118<br />

25e0 DATA 8033,45.56,48.49.<br />

2690 5DATA<br />

195,195,195,195.1 32,166,152,166,1972<br />

9 , 195,195,195.195,195,174. 2890 DATA 166,13,32,18,166,32.<br />

5. 1152,32,32,32,166,253e<br />

166,166,32,166,166,32,166,<br />

2700 9DATA<br />

13.18,159,173.1K, 32,32,32,1417<br />

5<br />

195,195,195,195,195,195, 2900 DATA 144,32,166,32,32,32,<br />

,<br />

195,195,195,159,194,2665 32,166,32,32,166,166,32,32,<br />

2<br />

166,166,1428<br />

1<br />

7<br />

9<br />

85,67,84,73,79,78.83,32,32, 2910 DATA 32,166,166,32,166,<br />

1 22,1077<br />

166,32.166,152,166,166,12,<br />

5<br />

0 2720 DATA 32,32,32.22,32.194, 32,18,166,32,1671<br />

.<br />

D 152,22,166,166,166,13,22, 2920 DATA 166,166,32,166,166,<br />

1<br />

A 144.2,156,:40°<br />

32,166,32,166,166,166,166.<br />

9<br />

T2720<br />

DATA 32,166,166,166,72, 166,166,166,32,2120<br />

5<br />

A<br />

166.22,166.32,158.194.162, 2930 DATA 166,166,166,166,32,<br />

1<br />

3<br />

167,163,163,163,2125 166,166,32,166,32,166,166,<br />

2740 1DATA<br />

162.163.162.163,163, 32,166,166,32,1986<br />

2<br />

9<br />

,<br />

163,163,163,161,22,32,32, 2948 DATA 166,166,166,13,32,<br />

532,72.32,32,1691<br />

18,166,32,166,166,166,166.<br />

7<br />

2750 , DATA 194,144:Z2,32,152. 186,32,166,32,1819<br />

3<br />

132,:66.1:,32=42,166.72.<br />

2950 DATA 166,166,166,166,32,<br />

,<br />

9166,166,166,1667<br />

32,32,32,166,166,166,166,<br />

7<br />

2760 5DATA<br />

22,166.72,166,32. 166,32,32,166,1852<br />

8<br />

, 158,194,22.70.05,78,67.84, 2960 DATA 166,166,32,32,166,<br />

. 73.79,78,1426<br />

166,32,32,32,166,166,13,32,<br />

82770<br />

DATA 32,75,69,89.32,9, 18,166,166,1551<br />

7 32.58,32,79,78,22,194.144, 2970 DATA 166,166,166,166,166,<br />

, 22,166,1193<br />

166,166,166,166,166,166,<br />

32,194,144,166,152.166,166. 82780<br />

DATA 152,166,166.12.22, 166,166,166,166,166,2656<br />

166,166,166,1879<br />

4 152,18,166,22.32,32.166,32,<br />

2590 DATA 166,166.166,166,12. , 32.32,166,138<br />

159,18,194,163,163,163,16:, 82798<br />

9DATA<br />

32,158,194,32,32,32.<br />

162,163.162,163,252 2 22,32,32,32,3232.22.32,<br />

2600 DATA 163,162,163,163,162, , 22,800<br />

163,163,163.163,163,162, 2800 DATA 32,32,32,32,32,32,<br />

2990 DATA 166,166,166,166,166,<br />

166,166,166,166,166,166,<br />

166,166,166,166,166,2656<br />

2990 DATA 166,166,166,13,32,<br />

18,166,166,166,166,166,166,<br />

166,166,166,166,2221<br />

162,162,163,163,163,2608 32,32,194,144,32,32,152,32. 3000 DATA 166,166,166,166,166,<br />

2610 DATA 163,167.194,144,166. 166,13,1021<br />

166,166,166,166,166,166,<br />

152,166,166,166,166,166, 28:0 DATA 32,152,18,166,166, 166,166,166,166,166,2656<br />

166,166,166,166,13,2489 166,166.166,166,166,166. 3010 DATA 166,166,166,166,166,<br />

2620 DATA 159,18,194,32037,92, 166,166,158,194.32,2246 166,166,166,166,166,166,17,<br />

73,84.84,69,78,32,66,89,22,<br />

22,1211<br />

2820 DATA 70,85,78,67,84,72.<br />

79,79,32,75,69,99,32,51,32,<br />

17.158,13,0,2031<br />

3020 DATA 253,254,253,254,253,<br />

2630 DATA 87,73,76,76.73,65, 58,10E2<br />

254,253,254,253,254,253,<br />

77,32,70,7<br />

9144.166,1392<br />

2640 , DATA 152,166,166,166.166,<br />

78,71,32,1<br />

166,166,166.166.166.17.159,<br />

94, 19,194,32,32,20<br />

2650 9DATA<br />

32,72,32.32,22,32,<br />

2830 DATA 37.<br />

7 166,166,42,166.166,13,32,<br />

9,70,70. 152,18,166,1786<br />

194,144,<br />

2840 DATA 32.32,32,166,32.32,<br />

32,166.32,158,173.195,195,<br />

195,195,195,1862<br />

254,252,254,253,254,4056<br />

4000 PRINT 'ECLEAR,00WN3,<br />

RI6HT61BETTER NATRIX NOW<br />

IN NE1ORY"<br />

4010 PRINT "EDOWN2,SPC61TYPE<br />

SYS 49152 TO ACTIVATE."<br />

422,32,32,32,72.32,22.32,72,<br />

2850 DATA 195,195,195,195.195.<br />

•<br />

67


COMMUNICATION<br />

you've never heard of<br />

tr=<br />

bu [want to know how to get on I<br />

ile [one — read on. David Janda 1<br />

tin<br />

!shows you how.1<br />

b<br />

o<br />

a<br />

rI<br />

HAVE BEEN ACCUSED OF DOMINATing<br />

Communication Corner with<br />

dM'Net/CNET<br />

blurb. Well, as promised,<br />

here is ta refreshing) change. This month<br />

s<br />

the subject is bulletin boards.<br />

o A bulletin board (BB from now on) can<br />

best be compared to a community bulle-<br />

r tin board. A BB is usually run by a hobbiest<br />

yin<br />

his/her own spare time on a home<br />

micro with disk drive and auto-answer<br />

omodem.<br />

A BB will allow one user at a time<br />

to browse through the files stored on the<br />

u board. These can include messages from<br />

j other users, general information, specialists<br />

info, you name it you can put in on a<br />

u<br />

s<br />

t<br />

I3B.<br />

Compared to Micronet or Cornpunet<br />

I.1 knew I would mention them<br />

sometime!) BBs are not technically brilliant,<br />

but they are by no means crude.<br />

One of the best things about using What's There?<br />

different BB's (board-walking) is that they<br />

are not bureaucratic, official or run by<br />

money makers - and that makes a<br />

difference!<br />

What Type?<br />

The UK currently has over 200 BBs that<br />

operate at regular times, and the number<br />

is growing. There are basically two types<br />

of BB from which to choose. First there is<br />

the traditional scrolling type of BB. To<br />

access this, you will need terminal<br />

emulation (often referred to as dumb<br />

1<br />

terminal) software. Most comms packs<br />

include this type of facility. In case you are<br />

a Viewdata (Prestel) user who does not<br />

have this type of package, Dialsoft on<br />

page 600617160a at 0,50 should get you<br />

going. Compunet users can purchase TTY<br />

which is at 114007 for £4.99.<br />

This type of software does not give you<br />

any colour or graphics, but enables you to<br />

log on to most types of BB.<br />

The second type of BB operates on<br />

Viewdata (Prestel-like) standards. This<br />

type of board presents information with<br />

colour and low-res graphics in a page<br />

format. Micronet-Prestel subscribers will<br />

not need to buy any additional software,<br />

but Compunet subscribers will need the<br />

free Viewdata proggy at 2020. Again, as<br />

with the dumb terminal software, most<br />

comms software has a Viewdata mode.<br />

Which Modem?<br />

Most of the BBs are run at 300 baud. This<br />

means that you'll need a modem such as<br />

the Voyager 7, Nightingale or Multi<br />

modem from Miracle Technology. All<br />

three modems will also allow you to<br />

access boards at 1200/75 Prestel and<br />

scrolling formats. CBM modem owners<br />

need not feel hard done by. Many boards<br />

now allow access at 1200/75 baud, and<br />

some even operate at 1200/1200.<br />

Each BB has its own unique character. But<br />

most have an E-Mail (Electronic Mail)<br />

option that enables you to send and<br />

receive messages. These messages can be<br />

private, i.e. to another user, or be posted<br />

on the general board for everyone to see.<br />

Other features on BBs typically include<br />

free downloadable software. Downloading<br />

is done in several ways. but by far<br />

the most popular is the X-Modem format,<br />

so check to see if your comms package has<br />

this option, Another common feature to<br />

be found on BBs are the SIGs - Special<br />

Interest Groups, These are areas which<br />

contain information on one particular<br />

subject such as a micro, comms, politics or<br />

whatever.<br />

There are many other features to be<br />

found on BBs. Some even have on-line<br />

adventures that you can play.<br />

When using a BB, it's worth<br />

remembering that the service which you<br />

are using is two-way. That is, it's up to you,<br />

the user, to help supply the board with<br />

information. Have you got any software<br />

(of your own)? Then why not upload it for<br />

everyone to use. How about asking the<br />

System Operator (SYSOP) to set up an SIG<br />

dedicated to Commodore machines if<br />

there is not one there already?<br />

The List<br />

Opposite is a very small selection of BBs<br />

that are currently in operation. All the<br />

boards listed operate on a 24 hour basis.<br />

V/Data means that you will need Prestel<br />

type software to access the board.1200-75<br />

means that you need scrolling type software<br />

and a modem, such as the one from<br />

CBM, to access the service. Finally, 300<br />

means 300-300 baud access which needs<br />

scrolling software. CBM modem users will<br />

NOT be able to access this type of board.<br />

All the boards listed have a section<br />

which contains phone numbers for other<br />

boards. Have fun!<br />

What About the 64?<br />

To the best of my knowledge, there are<br />

only three bulletin boards which are run<br />

on the Commodore 64, One is in<br />

Aberdeen, one in Dublin and the third in<br />

Denmark! No doubt there are quite a<br />

few in the good ole U$ of Reagan which<br />

shall check out next month. I also understand<br />

that there is some public domain<br />

(free) BB software knocking about in<br />

Ireland which I shall also track down. As<br />

you can see below, running a Bulletin<br />

Board on a C-64 is perfectly feasible.<br />

COMMUNICATION<br />

68


i Communications<br />

CORNER<br />

R<br />

Name<br />

Telephone KateS a<br />

BABS 1<br />

0394 276306 3 0 t 0<br />

Brixton ITec<br />

01 735 6153 V/Data e<br />

s<br />

Cardif ITec<br />

0222 464 725 V/Data<br />

C-View<br />

0702 546373 V/Data<br />

EBBS Swansea<br />

0792 203953 3 0 0<br />

Gnome at Home<br />

01 888 8894 V/Data<br />

01 985 3322 V/Data<br />

Hackney BB<br />

0752 364059 3 0 0<br />

Haunting Thunder<br />

050 638526 3 0 0<br />

Livingston BBs<br />

London BB<br />

01 455 6607 300/12-75<br />

1 London Underground<br />

01 863 0198 300/1200-75<br />

Mactel<br />

01 341 1719 3 0 0<br />

Mailbox-SO iliverpool)<br />

051 428 8924 300/1200-75<br />

Metrotel<br />

01 941 4285 V/Data<br />

Norview<br />

0604 20441 V / D a t a<br />

IBM Blandford<br />

0258 54494 3 0 0<br />

TRBS London<br />

01 348 9400 300/1200-75/1200-<br />

1 1<br />

2 G-General messages<br />

Below is a printout of part of a session<br />

00<br />

on SBBS Aberdeen which is on 24 hrs a<br />

H-Help with this section<br />

P-Pen-pal messages<br />

day, at 300 baud on 0224 781919, eight bits<br />

S-Sysop messages to/from<br />

no parity. SBBS is run on a C128 with a 1541<br />

disk drive. The 24K of software was written 1-Goto Main Menu (1)<br />

by Noel Gadd°, the Sysop using the Blitz 2-Goto Main Menu (2)<br />

Basic compiler, not bad eh!<br />

?-Print this menu again<br />

The time is 04:33:15 One moment loading.<br />

SPACE BAR=pause/resume, CTRL X=quit<br />

SBBS Main Menu (1)<br />

B-News/Bulletin Board info<br />

G-Goodbye/Log<br />

-H-Help<br />

with this section<br />

off M-Messaging Area<br />

Li-User log<br />

Y-Yell for SYSOP<br />

2-Goto Main Menu (2)<br />

?-Print this menu again<br />

or ? for menu :m<br />

G,H,P,S,Y,1,2<br />

or ? for menu :g<br />

The time is 04:33:55 One moment loadin<br />

SPACE BAR=pause/resume• CTRL X=quit<br />

SBBS General messages<br />

C-Check Mail<br />

D-Delete a message from file<br />

H-Help with this section<br />

M-Message catagories<br />

Q-Quick scan of messages<br />

R-Read message(s)<br />

S-Send message<br />

1-Main Menu (1)<br />

2-Main Menu (2)<br />

The time is 04:33:35 One moment loading.<br />

SPACE BAR=pauseiresume, CTRL X=quit C,D,H,M,Q,R,S,Y,1,2<br />

or ? for menu :r<br />

One moment loading<br />

SBBS Messaging menu<br />

CORNER<br />

First message E 1 Last messge 34<br />

Messge number: 1Froml-Rol =Exit<br />

?:34-34<br />

One moment loading.<br />

Message 34 Egenerall section.<br />

MESSAGE TO :ALL<br />

MESSAGE FROM :FERGUS MCDONALD<br />

SUBJECT :ANOTHER CBM BBS!!<br />

DATE :THURSDAY 20/ 2/86<br />

USER IS A :NON MEMBER.<br />

Hi folks! I have set up a BBS in Dublin.<br />

Ireland, running on a Commodore<br />

64 with W52000 and 2 disk drives. I am a<br />

heavy CBM fan. The BBS software (by<br />

me) is called SIBBS. It is an<br />

interpreter - no menus! And it is all in<br />

machine code. Give it a ring and you<br />

will see. It is QUITE different. It is<br />

refreshing to see another BBS running<br />

on a Commodore 64. Also, what does<br />

All think of the new SFID 1001 CBM disk<br />

drive with 1MB per disk?? Anyway,<br />

the board (run by moi for the Irish<br />

Amateur Computer Club) is called the<br />

IACCBBS, and ring Dublin 903341 (24<br />

Hours) on 8 bits, no par, 1 stop. 300<br />

g• Baud<br />

or ? for menu :1<br />

One moment loading<br />

Last but not Least<br />

Well that's it for another month. I shall be<br />

reviewing at least two moderns and some<br />

comms packages. Finally, a special<br />

mention to Richard James (CNET R812)<br />

•,vho wanted his name to appear in THE<br />

magazine in THE column. Null said! Don't<br />

forget to drop me a line on Compunet ID<br />

WANDA or Prestel 919992677.


Lewis They gives you the<br />

[update from across the<br />

Atlantic.<br />

LLILt ff ILI<br />

Vit<br />

HAS THIS BEEN FOR COMMODORF the<br />

"winter of discontent, or just a winter of<br />

the big freeze? In the US programs like<br />

Freeze Frame from Cardco, and lsepic<br />

from Starpoint Software, seem to reflect<br />

in their names the low point reached by<br />

Commodore's stock. By midwinter it had<br />

dived to its lowest level ever of six, down<br />

from an all time high of SO on the NY Stock<br />

Exchange.<br />

Is this great company on its way out?<br />

How can a company that has sold over<br />

four million units of the C64 be in such<br />

trouble? Even this past Christmas it is<br />

rumoured that 60% of the sales were of<br />

the old reliable, that the C128 was so<br />

sluggish that an artificial shortage in the<br />

C64 was created by holding back supplies<br />

of them in the east coast, Other guesses<br />

were that the C64 was -<br />

warehoused"<br />

order to raise its price and/or to re-<br />

iintroduce n it in a new case with some fancy<br />

new touches. The above rumours,<br />

incidently, are through the courtesy of<br />

Felix Riveria who writes in what is perhaps<br />

the outstanding computer support group<br />

publication in the US. "The New York<br />

Commodore Exchange Network News" is<br />

published monthly in newspaper format.<br />

To subscribe, write Brian A Glover, Editor,<br />

420 Clinton Avenue 5F, Brooklyn, NY<br />

11238 USA. Its cost in the US $12.00 a year.<br />

Cheap, cheap, cheap.<br />

My contact with user groups was<br />

greatly expanded by attendance at the<br />

1986 West Coast Commodore Association<br />

"Commodore Show II" this February in<br />

San Francisco. At least a dozen groups<br />

were represented. Leading the field was<br />

the grand daddy of them all, The Toronto<br />

Pet Users Group, followed by such US<br />

giants as the Oregon based US<br />

Commodore Users Group, P.O. Box 2310,<br />

Roseburg, Oregon 97470 USA, and the<br />

above mentioned NYC conglomerate. No<br />

less than nine smaller California groups<br />

were listed in the show catalogue.<br />

What's a BIG West Coast computer<br />

show like? Jammed packed with people<br />

and programs! The people were a little<br />

older on the average than those I've seen<br />

attending the shows at Earls Court or the<br />

International Commodore Show in<br />

London last year. But they were definitely<br />

not like the three-piece suit, business<br />

types that I ran into in San Francisco at an<br />

IBM compatible software show that was<br />

being held at the same time.<br />

Now for the programs which I<br />

mentioned earlier. Freeze Frame by<br />

CARDCO. Inc., 300 S Topeka, Wichita, KS<br />

67202 will quietly sit inside your<br />

computer, totally transparent to any other<br />

programs you may wish to load and use.<br />

Then when you want to make a screen<br />

dump, you call it with two keystrokes and<br />

voila!, the frame is frozen and sent to your<br />

printer. You then continue to run<br />

whatever you may have as your main<br />

program.<br />

Don't confuse two different programs<br />

coming from the US both called Snapshot.<br />

One is a utility from COMPUTE!s Gazette<br />

magazine written in machine language<br />

which can store whatever you have on the<br />

TEXT screen (up to 53 screens) and then<br />

retrieve it for display or for printing. The<br />

other is a cartridge named Snapshot 64<br />

which comes from those fine people at<br />

CSM Software., Inc.. P.O. Box 563, Crown<br />

Point., Indiana 46307 who developed the<br />

best of the 1541 Disk Drive Alignment<br />

Programs (buy the Version 2.0 at $44.95<br />

plus shipping).<br />

Snapshot 64 is touted as the "ultimate"<br />

backup utility since you are able to "stop<br />

most any program after the protection<br />

check and then resume.. .totally<br />

bypassing the protection check." Price on<br />

this utility is $49.95 plus shipping costs.<br />

Remember the exciting advertisements<br />

from Starpoint Software of Gazelle.<br />

CA 960347? They announced a utility<br />

called STARDOS which would do everything<br />

(even makes great coffee). Well,<br />

they were blocked from releasing it by a<br />

lawsuit slapped on them by SKYLES<br />

Electric Works, 231E South Whisman<br />

Road, Mountain View, CA94041. Skyles<br />

says that is was too much like their cart-<br />

70<br />

News<br />

ridge 1541 FLASH (i59.95 - on sale, plus<br />

$15.00 UK shipping charge) which was<br />

developed by the same computer expert.<br />

Starpoint is delivering one of the<br />

bargains of the year. They are marketing a<br />

256K RAM board for the Amiga functionally<br />

identical to the Commodore 1050<br />

RAM board for £99.95 + $6.00 shipping<br />

outside the USA.<br />

Isepic, which is also a Starpoint<br />

product at $64.95, is a combination hardware<br />

and software package that closes this<br />

little survey of new utilities. It "deprotects"<br />

by capturing and saving the<br />

protected program as it runs in the 64's<br />

memory. "This 'snapshot' [so help me,<br />

they advertise this one as a "snapshot",<br />

tool becomes accessible to the user for<br />

complete inspection and alteration." The<br />

quotation is from Starpoint's<br />

advertisement.<br />

The midnight modem madness<br />

continues. Commodore associated<br />

QUANTUM LINK is giving away a 300<br />

baud autodial modem if you subscribe for<br />

four months at $9,95 monthly. Viewtron<br />

charges you only $49.95 for a 300 baud<br />

Volks 6420 by Anchor Automation. They<br />

throw in a first hour on Viewtron for free.<br />

Playnet gets a bit tricky in its combination<br />

offer of a magazine subscription to<br />

AHOY, a Playnet membership kit and a<br />

modem if you subscribe to Playnet for<br />

three months and pay a fi rst time<br />

memherchin fey. nt V1E1 qS<br />

The thaw has certainly come to Amiga.<br />

Hardware prices are falling and software is<br />

flowing from the developers like warmed<br />

up maple syrup. The Electronic Arts<br />

Deluxe Paint program begins to really<br />

show what this amazing machine can do<br />

in presenting visual ideas. What's more it<br />

integrates with the Deluxe Graphics,<br />

Music and Printing modules of the same<br />

company. The games have arrived too.<br />

Flight Simulator from Sublogic, Napoleon<br />

at Waterloo by Krentek Software, Skyfox<br />

and a re-issue of the Software Golden<br />

Oldies, i.e. Pong, Eliza, Adventure and<br />

Life from EA are available now.<br />

The C128 is less fortunate in the<br />

issuance of new programs designed<br />

especially for it. True, some very fine old<br />

programs are being updated such as<br />

Vizawrite and SuperScript. And now that<br />

Commodore has issued a new version of<br />

CP/M for the 128, which really works this<br />

time, all those wonderful old CP/M<br />

business programs are there for the<br />

taking.<br />

may be including a mention of the PC<br />

10 in upcoming columns if the announcement<br />

by a PR (that's Public Relations in US<br />

english) man for X-PRESS Information<br />

Services is true. Commodore is going to<br />

try and hit the business world with a wire<br />

service which is compatible with IBM<br />

machines. They'll distribute the PC 10 in<br />

the US to clients who want the service<br />

compatible with IBM and may even offer<br />

a free Plus/4 to the less fluent businesses<br />

who want to try their service. This will all<br />

be tied in with QuantumLink to give a<br />

truly total service as well as find a use for<br />

all those great (and unsold) PLUS/4's.


Joe Nicholson<br />

continues his look at<br />

the C-16. This month<br />

— clocks and timers.<br />

IN THIS ARTICLE I SHALL ATtempt<br />

to explain some of the<br />

techniques involved in timing,<br />

interrupts and so on. I shall start<br />

with the keyboard interrupt as<br />

this is the easiest to explain.<br />

Every 1/50th of a second the<br />

computer interrupts its normal<br />

processing to execute a 'service<br />

routine'. This updates the clock<br />

and reads the keyboard,<br />

putting any new keys pressed<br />

into the keyboard buffer. It<br />

then resumes processing. The<br />

address contained in bytes<br />

$0314 and $0315 are the low and<br />

high bytes of the indirect<br />

values for the location of the<br />

interrupt. These values can be<br />

redirected in order to make the<br />

C-16 jump to your own<br />

machine code routine. This<br />

method was used in the play<br />

routine and the synthesiser<br />

article explained last month.<br />

After the user routine has been<br />

completed the program can<br />

then jump back into the service<br />

routine to update the counter<br />

etc. Alternatively it is possible<br />

to jump straight back into<br />

processing.<br />

The interrupt is normally<br />

on. The machine code instruction<br />

SEI turns the interrupt off<br />

and CLI will turn it on again.<br />

The following routine will set<br />

the interrupt vector:<br />

SEI interrupt off<br />

IDA low byte<br />

STA $0314<br />

LDA high byte<br />

STA $0315<br />

CLI interrupt on<br />

RTS return<br />

Similarly to restore the original<br />

interrupt:<br />

SEI<br />

WA SOE<br />

STA $0314<br />

LDA SCE<br />

STA $0315<br />

CLI<br />

RTS<br />

Note that most of the programming<br />

associated with<br />

interrupts has to be done in<br />

machine code for speed, for<br />

instance it is not possible to<br />

disable the interrupts from<br />

Basic. At the end of the user<br />

interrupt routine use the<br />

instruction MAP SCEOE to return<br />

Cl 5<br />

PROGRAMMING<br />

THE<br />

to the service routine. To jump<br />

back from the user routine to<br />

continue processing, ignoring<br />

the C-16's service routine, use<br />

the instruction jMP SFCB6 (IRQ<br />

exit). I won't include a demonstration<br />

of this type as the play<br />

command published in the<br />

December 1985 article on<br />

sound, and the sound synthesiser<br />

article published last<br />

month serve as fi tting<br />

demonstrations.<br />

Internal Timers<br />

There are three internal 16 bit<br />

timers in the C-16. The timers<br />

operate at a frequency of 885<br />

KHz on our PAL system<br />

machines. It therefore takes on<br />

0.0741 seconds to count all the<br />

way from 65535 to zero. Timer<br />

# 1 has the facility of being able<br />

to activate an interrupt upon<br />

reaching zero. Each timer is<br />

arranged as two eight bit<br />

registers in memory, using the<br />

normal protocol of high byte<br />

(i.e. multiples of 256) last,<br />

preceded by the low byte<br />

(remainder 0-255),<br />

The registers are arranged<br />

in memory as follows:<br />

SFFOO Timer I:11 low byte<br />

$F f<br />

-SFF02<br />

Timer # 2 low byte<br />

01 SFF03 Timer ft 2 high byte<br />

SFE04 Timer # 3 low byte<br />

T<br />

SFF05 Timer# 3 high byte<br />

iTo<br />

set a timer simply load the<br />

mtimer's<br />

registers with the<br />

estarting<br />

value; it will then count<br />

r<br />

down to zero. As the timer will<br />

#<br />

obviously have to be set in two<br />

parts, (one POKE or STA for the<br />

1 low byte and one for the high<br />

hbyte)<br />

there should therefore be<br />

ia<br />

delay of no greater than 125<br />

gus<br />

between writing the low<br />

h byte and the high byte, otherwise<br />

the timer will start to<br />

bcount<br />

down and therefore to<br />

ybe<br />

set incorrectly.<br />

t To eliminate this problem,<br />

16<br />

interrupt to occur between<br />

writing the low byte and the<br />

high byte)<br />

LDA low byte of start time<br />

STA Low byte of timer<br />

LDA high byte of start time<br />

STA high byte of timer<br />

CLI turn the interrupts back on<br />

RTS return<br />

The Timers and<br />

Interrupts<br />

Timer tt 1 is a more sophisticated<br />

timer than timers # 2 and<br />

ft 3. When this timer is written<br />

to, it sets the timer to that value<br />

as expected, but also sets the<br />

'timer tri reload registers' to<br />

that value. The timer then<br />

counts down to zero, at which<br />

point an interrupt is generated<br />

if bit three of the interrupt<br />

mask flag is set. Bit three of the<br />

interrupt status register is then<br />

set. The timer is then reset to<br />

the reload value, and the<br />

counter carries on decrementing<br />

until it reaches zero<br />

when another interrupt is<br />

generated etc.<br />

Timer tt 1 is potentially a<br />

very useful timer allowing<br />

periodic interrupts of specified<br />

delay length, for instance<br />

timers are used to generate<br />

accurate inter bit delays in a fast<br />

tape loading system which is<br />

under development.<br />

Timer #2 and timer # 3 are<br />

simpler timers. These timers go<br />

back to 65535 after they have<br />

reached zero, instead of being<br />

reset to a reload value. They<br />

still have the ability to generate<br />

interrupts when they reach<br />

zero however. To turn interrupt<br />

for timer # 2 off/on, set/<br />

reset bit six of the interrupt<br />

mask register. When the interrupt<br />

takes place, bit six of the<br />

interrupt status register is set<br />

high.<br />

The Interrupt Mask<br />

etherefore,<br />

the timer registers<br />

should be set in machine code The interrupts are turned on<br />

using the following type of<br />

routine:<br />

and off by setting/resetting bits<br />

on a register called the<br />

SEI disable interrupts. (we<br />

don't want a keyboard<br />

interrupt mask at SFIOA or<br />

decimal 65290. Bits one to<br />

71<br />

seven control the tollov<br />

, Bit 1 raster interrupt<br />

,ing: Bit 2 light pen<br />

Bit 3 timer 1 interrupt<br />

Bit 4 timer 2 interrupt<br />

Bit 6 timer 3 interrupt<br />

Bit 7 interrupt request<br />

Setting a bit high on the mask<br />

byte will enable the appropriate<br />

interrupt. Bit 2 light pen?<br />

There is no connection for a<br />

light pen on the edge connector,<br />

but there may be on the<br />

joystick port.<br />

The Interrupt Status<br />

Register<br />

This byte (at SFF09 or 65289<br />

decimal) records which<br />

interrupt has interrupted. It is<br />

important for the interrupt<br />

service routine to know just<br />

which interrupt has been used<br />

so that it knows how to act. The<br />

arrangement of bits in this<br />

register is the same as the<br />

interrupt mask register (e.g. Bit<br />

four is the timer # 3 interrupt<br />

bit). Strangely, to set a bit 'on'<br />

in this register, write that bit<br />

with a zero. Similarly write the<br />

bit with a one to reset that bit.<br />

Any interrupts from the C-16<br />

are recorded by the C-16<br />

setting the appropriate bit of<br />

this register.<br />

Timer Interrupts<br />

It is interesting to note that the<br />

three timer interrupts can still<br />

be used even when the raster<br />

and interrupt requests have<br />

been disabled with the SEI<br />

command. This is the<br />

technique used in the saving<br />

and loading of programs in the<br />

C-16. The routine at $E364, for<br />

instance (Figure 1) is used<br />

before loading/saving a block/<br />

header in the C-16. The routine<br />

at $E378, shown in Figure 2, is<br />

the opposite of the routine of<br />

$E364 and is used after loading/<br />

saving a block/header.<br />

However it is not always<br />

necessary to perform timing<br />

exercises using the method


described above, thanks to a<br />

very useful ROM routine at<br />

$E2EA. If quite accurate time<br />

delays are all that are required,<br />

the routine at $E2EA can be<br />

used. Calling this routine will<br />

generate a delay of 1/50th<br />

second. This routine is used to<br />

generate delays in the<br />

saying/loading routine, e.g.<br />

the 3/5 second between<br />

printing SAVING or LOADING<br />

and turning the screen off on<br />

saving/loading is:<br />

LDX $1E<br />

JSR $E2EA<br />

DEX<br />

BNE 4:L1<br />

CCI<br />

Note that as the routine at<br />

$E2EA turns the interrupts off<br />

to get better timing, the CCI<br />

command is used to re-enable<br />

them if you want them on<br />

again.<br />

The Clock<br />

The registers $0312 and $0313<br />

are the low and high byte<br />

pointers for the 'update clock'<br />

routine which is called every<br />

1/50th second by the C-16's<br />

service routine. This is usually<br />

set to $CE42 but can be redirected<br />

to go to a user routine.<br />

Figure 3 shows the assembly<br />

text for a clock which displays<br />

its time continuously in the top<br />

right hand corner of the<br />

screen. It also has an alarm with<br />

sound and a facility to iump to a<br />

machine code routine upon<br />

the event of an alarm. The<br />

clock redirects the pointer<br />

$0312 and $0313 (786 and 787) to<br />

a new service routine stored at<br />

$0660. The whole machine<br />

(ode program is 308 bytes long<br />

and resides between $0600 and<br />

$0728, a free area of memory in<br />

the C-16. To type this in use the<br />

C-16 Assembler published in<br />

the June 1985 copy of Your<br />

Commodore. Alternatively<br />

Figure 4 shows the code for this<br />

program in data statements<br />

with a machine code loader at<br />

10000 to POKE the bytes in. The<br />

time and the alarm time can all<br />

be set with Basic commands.<br />

The routine is stored at $0600<br />

(1536 decimal).<br />

Description of Clock<br />

Program<br />

Lines 10120-10220 initialise the<br />

routines own variables.<br />

Lines 10300-10380 turn off the<br />

clock by relocating the<br />

'update clock' routine to its<br />

original value.<br />

Lines 10500-10580 turn on<br />

clock; diverts 'update clock<br />

routine' to new service routine.<br />

Lines 10600-10700 set time. To<br />

set the time, type: 5YS1577,12:<br />

43:23. The latter three numbers<br />

are the time in hours, minutes<br />

and seconds. The system for<br />

scanning the line used in this<br />

subroutine will be explained in<br />

a later article on extending the<br />

Basic. Line 10690 then turns the<br />

clock on.<br />

Lines 10800-10910 set the alarm.<br />

This works in the same way as<br />

the 'set time' routine. It is<br />

located at $103D (4157<br />

decimal), so SYS1601,12:43:23<br />

sets the alarm and initialises it<br />

so that it sounds for 30 seconds<br />

when the alarm time is<br />

reached.<br />

Lines 11000-11990 - clock<br />

service routine.<br />

Lines 11000-11990 count each<br />

1/50th second jumping to<br />

$CE%2 if the next second has<br />

not been reached.<br />

Lines 11200-11340 update<br />

seconds.<br />

Lines 11400-11500 update<br />

minutes.<br />

Lines 11550-11690 update<br />

hours, switching back to<br />

00:00:00 after it reaches<br />

23:59:59.<br />

Line 11700 calls the routine<br />

which handles the alarm sound<br />

it it is on.<br />

Line 11710 calls the r •utine to<br />

print the time on the screen.<br />

Lines 11800-11860 check to see<br />

if the alarm time has been<br />

reached by comparing the time<br />

($D1-$DB) and the alarm time<br />

($D9$F0) byte by byte.<br />

Lines 11900-11990 the alarm has<br />

been reached. Line 11910 calls<br />

the alarm sound subroutine<br />

which starts the alarm sound if<br />

it is required.<br />

Lines 11950-11980 call a<br />

machine code routine whose<br />

address is stored in bytes 5E2<br />

and $E3, if $E8 is set.<br />

Lines 12000-12200 - Alarm<br />

routine. This handles the 30<br />

second bleeping alarm if it is<br />

on.<br />

Lines 1 21 0 5-1 2 20 0 are<br />

concerned with marking the<br />

bleeping.<br />

Lines 12500-12680 initialise<br />

alarm sound. If an alarm has<br />

been reached and the register<br />

$E4 is 0 to signify that the<br />

alarm sound is enabled, an<br />

alarm sound is generated in<br />

voice 2.<br />

Lines 12550-12570 set the<br />

duration to 30 seconds.<br />

Lines 12580-12610, set the<br />

frequency.<br />

Lines 12620-12650 'on' voice 2.<br />

Lines 12660-12670 select 29<br />

bleeps.<br />

Lines 13000-13150 Print time.<br />

This prints the time in the top<br />

right hand corner of the screen<br />

if $E9 is ---' O.<br />

Lines 13050-13090 set up the<br />

colour for the text. This is<br />

initially set to 16 (black) but can<br />

be set to other colours by<br />

POKEing address $ET<br />

Lines 13100-13150 print the<br />

characters of the time on the<br />

screen.<br />

PROEIRAM 1 CLOCK CODE<br />

10000 A=1536:DO:B=0:FORC.1TO<br />

16:READDtIFD=-1THENPRINTIK.<br />

.stEND<br />

10010 8:841POKEA,Dt4:011NE<br />

XTIREADD<br />

10020 IFOORTNENPRINT<br />

1RROR<br />

IN LINEN;PEEK(63)+2564P<br />

EEK(64):END:ELSELOOP<br />

DATA E<br />

20000 DATA 169,1,133,225,169<br />

06,133,231,169,0,133,229,13<br />

3,232,96,120, 2189<br />

20010 DATA 169,66,141,18,3,1<br />

69,206,141,19,3,88,96,120,16<br />

9,96,141, 1645<br />

20020 DATA 18,3,169,6,141,19<br />

,3,88,96,162,0,32,115,4,149,<br />

209, 1214<br />

20030 DATA 232,138,201,8,208<br />

,245,32,28,6,32,115,4,169<br />

1133,208,<br />

1759<br />

0, 20040 DATA 96,162,0,32,115,4<br />

,149,217,232,138,201,8,208,2<br />

45,169,1, 1977<br />

20050 DATA 133,228,32,115,4,<br />

96,255,0,255,0,255,0,255,0,2<br />

55<br />

120060<br />

DATA 230,208,165,208,2<br />

0, 01,50,240,3,76,66,206,162,48<br />

1060,58,169,<br />

2250<br />

820070<br />

DATA 0,133,208,230,216<br />

8,196,216,208,56,134,216,230,<br />

3<br />

PROGRAM CLOCK TEXT<br />

10 60T0900<br />

100 E.0:11:0:14:E4."<br />

110 DWIDS(A4,A,1):IFD$440<br />

RD42<br />

61 112 IFDWOORE=2THENES=E44<br />

ORD 41E22160T0140<br />

4."T<br />

HEN<br />

72<br />

RET<br />

URN<br />

Figure 5 shows a list of all<br />

the system variables used in the<br />

p rog ram.<br />

Note that the machine code<br />

jump routine cannot last for<br />

any longer than 1/50th second.<br />

At the end of the routine a<br />

JMPSCE42 should be used to<br />

exit the routine.<br />

In conclusion, to use the<br />

clock, first of all initialise by<br />

typing in 5YS1536.<br />

To set the time: 5Y51577,<br />

12:23:36<br />

To set the alarm: SYS1601,<br />

07:35:26<br />

To turn off the clock: SYS1551<br />

215,165,215,201, 2839<br />

20080 DATA 54,208,46,134,215<br />

1<br />

2213,230,212,165,<br />

2709<br />

320090<br />

DATA 212,201,54,208,28<br />

0034,212,230,210,201,52,208,<br />

, 10,196,210,208, 2574<br />

2<br />

20100 DATA 16,134,210,230,20<br />

19,208,10,165,209,201,50,208,<br />

3<br />

4,134,210,134, 2332<br />

20110 DATA 20942001<br />

,<br />

17,7062,0081,208,213,216,20<br />

0<br />

6,320 8,13,202, 1921<br />

6<br />

20120 DATA 208,247,32,234,6,<br />

,<br />

165,232,240,3,108,226,0,76,6<br />

2<br />

6,206,165, 2214<br />

1<br />

20130 DATA 229,240,22,198,22<br />

3<br />

9,165,229,41,1,240,2<br />

,<br />

1133,230,173,<br />

2333<br />

2<br />

169,32, 20140 DATA 17,255,41,159,5,2<br />

030,141,17,255,96069,226,201<br />

80,240,0,<br />

2054<br />

, 20150 DATA 169,8,141,255,4,1<br />

341,253,4,169,2,141,16,255,16<br />

87,240,141,<br />

2108<br />

, 20160 DATA 15,255,173,17,255<br />

1,41,144,9,40,141,17,255,169,<br />

329,133,229,<br />

1922<br />

420170<br />

DATA 96,165,225,201,0,<br />

, 240,20,162,8,165,231,157,31,<br />

8,202,208, 2119<br />

20180 DATA 250,162,8,181,208<br />

057,31,12,202,208,248,96,0,<br />

0,0,0, 1763,-1<br />

113 IFDWP4NDDW5"THEN130<br />

114 IFDWOORDS.4<br />

1115<br />

IFDWPTHENI.1:EOT0140<br />

THEN140<br />

120 E=1:RETURN<br />

130 IFIN0THEN11(8110)0A1.(D4<br />

)1ELSESm(8416)+DEC1B)<br />

140 001160TO110<br />

200 READACIFAWEND<br />

.<br />

THENRET


1<br />

URN<br />

210 IFA$2"ORASC(A$)859THEN2<br />

00<br />

THENRESTORMELSERESTORE9999<br />

2750 READAWFWIND<br />

1INT")><br />

OK. IEOT01000<br />

9210 EOMIDCF1,1,1)11FE100<br />

'OREONfITHEN9240<br />

9220 IFDECON(THEN9300<br />

GI<br />

9682 DATA*TANDC8579D899881A G<br />

91595,TXDBEC86696,TYD8CC8459<br />

44.<br />

250 COLEFTUAS,31:0$416HT$ THENPR 2760 PRINTPEEK(63)+256IPEEK( 9230 NEXT! 9690 DATA"AXIAA,AVIA8,SX18A,<br />

(A$,LEN(A$)-3*(LEN(AC>3)1:H 64)<br />

9240 PRINT'ADDRESSINB MODE E XA18A,XS19A,YA198f<br />

.IPEEK(63)4.2561PEEK(64)1RETUR 2770 1 IFU4THENBETAWFA$0" RROR IN "HIRETURN 9999 REM<br />

400 A$ED$:8$.<br />

1410<br />

6OSUB100<br />

,' 420 IFE21THENPRINTPT ERROR<br />

'THEN1000<br />

2780 A 60<br />

. $ 5000 PRINT"(DOWN)ASSEMBLPIP<br />

1027 RINTICDOWN/IST<br />

50<br />

9300 6.DEC(MIDCF$,I+1,2)):P<br />

OKED,6:D2D+1:9gS+1<br />

9370 IFKB2ORK850RKN60RKs1IOR<br />

KolOORK812THENPOKED,E1:601094<br />

10000 DATA";C-16 CLOCK WITH<br />

ALARM<br />

10010 DATATC)1986 JOE NICH<br />

OLSON<br />

IN 'H:RETURN 0IS*01P81:RESTORE9999 80 10100 DATAIRE 10600<br />

430 P0KED,80.041:S44.1100 5100 6OSUB200:1FAWEND"THEN 9380 IFKR7ORM0RX213ORKs4TH 10110 DATA';<br />

ItIFUE"THENRETURNIELSEGOTO 5500:ELSE7000 EN9450 10120 DATP;INITIALISE<br />

410 5110 60SUB8000:RESTOREF:READ 9400 IFKO9THENRETORM 10150 DATAiLDA 01<br />

500 01:A$2D$1IFA$ A1:60T05100 9405 IFPNIORBN01HEN60T09480 10160 DATAISTA 1E1<br />

01 URN 5500 PRINT<br />

9410 111B-S-I:1F1(0ANDI)-12/T 10170 DATPLDA 116<br />

THENRET<br />

510 OKEFT$(14,1):1FO$ 1a0:9•0:P221RESTDRE9999<br />

HENI*256+1 10180 DATAITA $E7<br />

0HEN8$s":02:60TO800<br />

1520<br />

IFO$1<br />

10<br />

530 IFRI6HICA$,2)<br />

7A<br />

0W<br />

1WTHEN8<br />

I540<br />

IFR16HICA$,1)erANDO$1.<br />

THENWI<br />

° (<br />

RETUR 1550<br />

1 IFRIGHT$(14,1)29°ANDO$z<br />

N0<br />

1T<br />

1<br />

( 560 H IFRI6HT$(1$,2)<br />

1HT$(A1,2)2WTHEN8W,':05<br />

T0<br />

E<br />

:<br />

H0"ORRIS<br />

+(RI6HT$(0,1)B<br />

N<br />

6<br />

E1<br />

570 8 IFO•WTHENA201:K89:13$<br />

0<br />

N1"):60T0800<br />

$<br />

":ELSEK212<br />

T<br />

8<br />

800<br />

0<br />

6OSUB100<br />

0<br />

$<br />

810<br />

)<br />

IFE02THEN6OT0970<br />

8<br />

2<br />

820 IFPITHEN8=0:6OT0870<br />

1<br />

0<br />

" 850<br />

1<br />

FORI.0TOTOFRISHI(E0,2)<br />

mil(I)THENEOL2(1):6016870<br />

0<br />

) 0<br />

860 NEXTI:PRINT"LABEL NOT FO<br />

•<br />

UND<br />

1<br />

IM40110<br />

0<br />

870<br />

0<br />

IF(K850R06ORK:12)AND(8)<br />

1<br />

2550RE=2)THENK8K+1-(K(12)<br />

:<br />

4<br />

880 6 RETURN<br />

1<br />

900 0 CLRIDIML1110011DIKU(100<br />

6<br />

):KEY2,1ATA<br />

1<br />

0<br />

1'LIST10000-<br />

0<br />

1<br />

4.CHR 1910<br />

8 KEY6,'DIRECTOW+CHR1(13<br />

0<br />

$(34):KEY3,<br />

*CHR1(13)<br />

0<br />

81000<br />

0 INPUTAWFA$<br />

0 01010<br />

Aml<br />

02000<br />

0ITHENEND IFA$<br />

04:CMD4:PRINT:60101000<br />

P1 2040 IFAWPO'THENITO:PRINTO<br />

141CLOSE4:60101000<br />

THENU<br />

2070 IFWILISPORAWL"THEN<br />

t1i<br />

66102700<br />

O<br />

P<br />

2080<br />

E<br />

IFAWSYMBOL'ORA0cIPTH<br />

N<br />

ENPRINTIYMBOL TABLE"IFORB80<br />

4<br />

TOTIPRINTWE' AT:IL(S)<br />

1<br />

:NEXT<br />

2100 IFAWASSEMBLE"ORAWA'<br />

THEN5000:ELSEI000<br />

2700 680:INPUTITART016:1F6<br />

(DOWN)2<br />

5510 GOSU8200:IFAWEN0sTHEN<br />

ND PRINT'>) OK.ut60T01000<br />

P5515 AIFMIDCA$ S P<br />

I1510D 45520<br />

IFASC(C$)s58THENCOLEFT<br />

1$(13,3):DWI6HT$0$,LEN(D)<br />

1)1<br />

-34.(LEN(D$) >3))160105520<br />

00<br />

5530 6OSUB8000:RESTOREF:READ<br />

THEN5<br />

ASIBOT05510<br />

7000 IFASC1C11058THEN5110<br />

7010 T.Tfl:IFT)100THENPRINT"<br />

TOO MANY LABELS AT "H:GOT010<br />

00<br />

7013 1.11T)416HT$(3,2)<br />

7016 IFMID1(A0,4,1)2<br />

115":A.516OSUB800:LVT)41160<br />

8705100<br />

17020<br />

Ll(T)41C1..LEFT1(00,3):<br />

THEN8 OORIBMT1(D$,LEN1D11-34.1LEN1<br />

D$03))160T05110<br />

8000 01181<br />

0"THENA141:60SUB100:1)213:94:<br />

RETURN ":FOOFC<br />

8010 W0RE IFASC(C1).59THENRETURN<br />

8020 IFC$.<br />

1UB1001S.BIRETURN<br />

TRU"TH<br />

8100 IF CleTEX<br />

ENA 1LEN(DE:POKED,ASC1MIDUDI,B,<br />

$40:605<br />

THENFORS2<br />

11):SoPI:DuDfl:NEXT:RETURN<br />

ITO 8150 1FC12<br />

19000<br />

SOSUB500<br />

BYT 9100 RESTORE9500WASC(LEFT$<br />

1(C$0))-65/110)<br />

THENGO<br />

9110 READF$<br />

T0400 9120 IFLEFTW0,2).1116HT1(C1<br />

,2)THEN9200<br />

9130 A=INSTR(F1,<br />

10THENFWI6M11(F1,LEN(F1)-A)<br />

, 60109120<br />

19140<br />

IFRIEHT$0,1W0THENP<br />

,3)1IFAO RINTIYNTAX ERROR IN 4:RETU<br />

RNIELSE9110<br />

9200 FORIE3TOLENIFUSTEP3<br />

9420 IFI


i<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

•<br />

1<br />

1<br />

1<br />

•<br />

1<br />

.<br />

1<br />

1<br />

1<br />

1<br />

1<br />

3<br />

1<br />

3<br />

I<br />

10870 DATPCMP 18 11840 DATAIME RtLC<br />

10880 DATA4NE R:T3 11850 DATAIEX<br />

100 DATPLDA 11 11860 DATAINE R:L5<br />

10900 DATAITA 1E4 11900 DATPOLARM!<br />

10905 DATANSR 10473 11910 DATANSR IOS<br />

10910 DATA<br />

11950 DATPLDA 1E8<br />

11000 1 DATA'; 11970 DATAIEB R:LC<br />

RTS 11010 DATPICLOCK SERVICE RO 11980 DATANMP (1E2)<br />

UTINE 11990 DATA":LC JMP 10E42<br />

11050 DATA<br />

12000 DATA";<br />

11100 1 DATA";UPDATE JIFFY<br />

ORS 11110 DATAIINC<br />

11120 1 0 6DATA 6<br />

111130<br />

0 DATA<br />

LDA 611140<br />

DATAIIEB R:L1<br />

$ CMP 11150 0 DATANMP 0 10E42<br />

111200 5 DATP:UPDATE 0 SECONDS<br />

12010 DATA<br />

. 12020 DATA<br />

OLARM . 12030 DATAIEB Rae<br />

S:AS 12100 UDATAIEC B R 1E5<br />

OL12105 DU DATANLDA A T I<br />

1E5<br />

N112110 E EDATA'AND 5 61<br />

12130 DATAIEG R:L9<br />

11210 DATA*11.1 LDX 148 12140 DATA<br />

11220 DATA<br />

112150<br />

DATAItL9 STA 1E6<br />

111225<br />

DATPLDA 10 LDA 12160 DATA<br />

LDY 11230 DATAITA<br />

111240 5 DATAIINC 8 1DB<br />

1 112170<br />

1 DATPAND 2 0 119F<br />

LDA 12180 DATAIDRA 1E6<br />

11250 DATA'CPY 1DB 112190 F DATAITA F 1 1FF11<br />

11260 DATAINE R:L2<br />

11300 DATAITX 1D8<br />

11310 DATA"INC 107<br />

11320 DATA<br />

112200<br />

DATA':LB RTS<br />

12500 DATA";<br />

12510 DATCON ALARM SOUND<br />

12520 DATA":0S LDA 11E4<br />

111330<br />

DATA<br />

12530 DATAPCMP 10<br />

LDA . 11340 DATA<br />

12540 DATAIEB R:L7<br />

1CMP 111400<br />

0 DATP:UPDATE 7 MINUTES 12550 DATA1.7 LDA 1F8<br />

0BNE 11410 5 DATAITX 4 1D7 12560 DATAITA 104FF<br />

R 11420 : LDATPINC 2<br />

12570 DAT:VITA 10m<br />

11430 DATPCPY 1D5 12580 . DATAILDA 1102<br />

11450 DATA<br />

111460<br />

DATAITX 105<br />

BNE 11470 DATPINC 104<br />

12590 DATAITA 1FFIO<br />

12600 DATPLDA 11F0<br />

12610 DATAITA 1FFOF<br />

R11480 1DATANLDA L 2 104 12620 DATAILDA 1FF11<br />

11490 DATMCMP 154<br />

11500 DATAINE R:L2<br />

12630 DATA'AND 1190<br />

12640 DATPORA 1128<br />

11550 DATAI;UPDATE HOURS<br />

11560 DATAITX 1D4<br />

12650 DATAISTA 1FF11<br />

12660 DATPLDA 129<br />

11570 DATAIINC 102 12670 DATAITA 1E5<br />

11580 DATPCMP 052<br />

11590 DATAINE RtL3<br />

11600 DATAICPY 102<br />

11610 DATAINE R:L2<br />

11620 DATAITX 102<br />

11630 DATA<br />

111640<br />

DATAINE R:L2<br />

INC 11650 DATA":1.3 LDA 101<br />

11660 $ D DATA I<br />

111670<br />

DATAINE R1L2<br />

12680 DATP:L7 RTS<br />

13000 DATA':<br />

13010 DATA";PRINT TIME<br />

13020 DATA<br />

13030 1 DATPCMP 10<br />

13040 :PT DATAIEg RILD<br />

13050 L DDATA'LDX A 18<br />

113060 EDATPLDA 1 1E7<br />

13070 DAT:II:LA STA 2079,X<br />

13080 DATA<br />

CMP 11680 DATAITX 102 13090 1 DATAINE RILA<br />

111690 5 DATAITX 0<br />

13100 DEXDATPLDX<br />

118<br />

11700 DATA":L2 JSR AS<br />

11710 DATA'JSR :PT<br />

13110 DATP:LB LDA 00,X<br />

13120 DATAITA 3103,X<br />

11800 DATA";CHECK IF ALARM 13130 DATAIDEX<br />

11810 DATA<br />

13140 DATA1NE RILB<br />

111820<br />

DATAitL5 LOA 1D0,X 13150 DATP:LB RTS<br />

LDX 11830 DATA"CMP $D8,X<br />

1 8<br />

63000 DATAIND<br />

•<br />

74<br />

• Commodore inn computer<br />

• 128D coreputer • 19001.1<br />

• Commodore 128 • 1570<br />

C<br />

m<br />

,<br />

c<br />

o<br />

m<br />

m<br />

o<br />

d<br />

o<br />

r<br />

• Commodore 1571 del t drive<br />

• Commodore 128 computer<br />

is certainly the best vrordprocesttor we've yet soon on any<br />

computer, ever! Written specially for the 125. VizaWrile Classic<br />

e makes maximum use of the speed, memory and 80-Column<br />

display, showing your document exactly as It will be prInted_<br />

with a 30,000 word disk dicbontey, massive 55K teat area. proportonol printer support<br />

plus built-In NIO fonts for CBMIEpson type printers, eaay<br />

-lull<br />

function caeulator. 'newspaper style' cattewee, mall merge._ and much, much more!<br />

te<br />

- FANTASTIC SUMMER SAVINGS ON ALL VIZA PRODUCTS!<br />

uSo ! p u l l - d o w n '<br />

m• litzaWrIte e n 'Classic u s 121 . "az' E76 it. • VizaStar 128 'puss C96 .5<br />

• VitaWrite 64 'Profemme& £ 4 9 . 1e, • VizaStar 64 XL5 pArt f 76 as<br />

• VIzaWrite 64 icarIndge) (see f 69 as • VizaStar 64 XL4<br />

• VizaWrde CBM PC £ £269.00<br />

• SupeeScripi 80966296.702 1115.00<br />

• SuperScripi 314.6000 8 88.25<br />

• SuperBase 80516.8296.702 1115.00<br />

• &low:Deice 00e662e5.700 2230.00<br />

• SuperSpel 3/410000 3 37.50<br />

• Cale Result CBM PC 3 318.25<br />

• Cato Result 700 2 258.75<br />

• Cale Result 8000 2 228.05<br />

Are yeu a two-<br />

linger typist?<br />

Then why not let<br />

SuperType help<br />

you loaf n lo touchtype<br />

the last and easy way... with your<br />

computer az who leached AS the family can<br />

learn ters useful Mill, at their own pace..<br />

and profi t from the very latest computeracted<br />

training and lererback techniques!<br />

ON TAPE 9 2 5 Claes!<br />

ON DISX p.at E 21 .95i<br />

• Smon's Basic (caul)<br />

• PeiSpeed 64<br />

-55-ee £35.09<br />

- 34.95<br />

• Basic 120 compere<br />

• Super 'C' 125<br />

£44.95<br />

-6+95 59.95<br />

• Oxford Pre,cal 64<br />

• Oxford Pascal (tape)<br />

• JelPack 64<br />

-49,95<br />

s<br />

-eE,95<br />

e05.03<br />

42.95<br />

19.95<br />

29.95<br />

• SuperBarm 125<br />

• SuperScfpt 128<br />

• Commodore Script 128<br />

-9915 64.95<br />

499765 69.95<br />

49.95<br />

• ...le[Pack (tape)<br />

• Super Pascal 64<br />

• Assembler/monitor 64<br />

7-64-65<br />

e-1499<br />

14.95<br />

59.95<br />

18.95<br />

• C120 Tricks & Tips (Wok) 12.95<br />

• StopeeBase 64 ei!9-95 5.4.9s<br />

• SuperBase Staler 64 -59,95 29.95<br />

• PowerPlan 54<br />

N Precacale II<br />

• Metier 64<br />

-44799<br />

4-69-.<br />

.95<br />

a-1997510<br />

38.95<br />

49.95<br />

39.00<br />

• SuperScript 64<br />

• SuperType 64<br />

• S.,perType (tape)<br />

49.95<br />

-0499 21.95<br />

-t995 16,95<br />

WANT IT TOMORROW???<br />

Prices Include VAT and POSTAGE<br />

and are correct on going to press.<br />

Order by poel or phone, using<br />

cheque, Access, BarclayiViza or<br />

postal order. Despatch is by same<br />

day tat CLASS post Product data<br />

avertable on request, or phone for<br />

advice It In doubt ' R E F A391<br />

11 you're as Impressed as we are with the new Commodore 128<br />

Cerrouter, you'll be even more Impressed with the new Software<br />

theta avertable for 4 now! Akoady worn shipping Superease 128<br />

(1.99.415 L64.95), SuperSerIpt 128 (L8:5.05 L89.95). VizaWrite 120<br />

Classic (L9$.05L76.95), VizaSiar 120 (CipeillS £95.95) and now<br />

Basle end C compilers (Pascal ready eoont , so watch MS space!<br />

£479 Commodore 1570 disc &we<br />

f 549ss • isoIC monitor 40/80 colour<br />

C429 Bs 1111 190084 monitor 40/50 mono<br />

E259.es • RS232 or Parallel inlerfaces<br />

1E249 as • tukiEEE • Parallel Interlace<br />

LAKESIDE HOUSE, KINGSTON HILL, SURREY. KT2 7CIT.<br />

C184es<br />

£279.s<br />

f94e1<br />

f29es<br />

C7911<br />

1 year guarantee on all Commodore products Prices subject to availablity VAT Included.<br />

Ronne ndd ES loi 3-day delivery or El 0 tor Ontapost overnight. Ininrfaces post tree,<br />

VizaWrite Classic 128 et a much enhanced successor to the<br />

best-selling VizaWnle 64. which THE TIMES leatured in three<br />

seirdee, calling it 'a creative writer's dream' VizaWrite Classic<br />

>45 E 6 6 9s<br />

Transform your Commodore 64 into a full<br />

leatured professional database system.<br />

with up to 1000 characters per teCerd On<br />

up to four screens.., and up to 128 Home<br />

per record, deilnable as key. text, numeric,<br />

result or date i n lees of up to 16 rratiOn<br />

Characters! Superease 64 even has calculator and calendar functions, easy Input<br />

From wOrd NocoNmr or data hies, both menu-driven and program control, morting<br />

and searching.. !trey defi neble report and screen 'formals_ Superbase 64 is artentai<br />

if you want the most from your 64! Supplied on 1541 disX with excellent tutorial<br />

and faineance manual, plus aucNo teaming tape..<br />

For C6.4 and PLUS 4 7,9.05 C54.os! F o r Cl28 .9475 E64.95!<br />

Although we are by tar the largest UK retailer or SuperBase, VizeStal<br />

arid VizaWr ire For [he Commode., E4, tor over fi ve years we have also<br />

supported the best software for The Commodore business computer....<br />

So if you have a CEMPET 3000, 4000, 8000. 700 or PC, then don't<br />

forget us... we hived ei lorgonen you! Why not phorto or write for out<br />

CBM/PET calalogue. and fi nd out all about the products feted below<br />

("When ordering, please quote your computer & disk model number.<br />

The Anatomy of the 128<br />

With neatly 500 information-packed pages<br />

this is THE book to get about your nem<br />

Commodore 12S- the insider's guide<br />

to the secret. ol this powerful computer<br />

Fully documented ROM istings of both Bask<br />

and the Kernel... memory maps... zero-peg.<br />

listings.. peril. intemaale, boot roubees.<br />

SID, VIC, ZOO & 80-column chips. , mornon<br />

management assembly code.., enlarging thr<br />

screen 040 x 200 graphics all rho & mud<br />

more for only £12,95! (Allow 5 days delivery<br />

CALL US TODAY!!! O N 01-546-7256<br />

were<br />

TEL D1-546-7255


Bill Bremner begins a series<br />

designed to help you get the<br />

most out of your disk drive.<br />

BEFORE I TRY TO EXPLAIN HOW THE<br />

1541 Disk Drive works, let us discover<br />

what brought about its unique design and<br />

unravel some of its peculiarities.<br />

Most modern computers employ an<br />

all-singing all-dancing (albeit expensive)<br />

Floppy Disk Controller or FDCtoconnect<br />

up to a disk drive. A software package<br />

called a Disk Filing System (DES) or Disk<br />

Operating System (DOS) is then loaded<br />

into RAM or plugged in as ROM and<br />

manages the controller, to perform such<br />

tasks as formatting, reading, and writing.<br />

Of course, the more complex the DFS or<br />

DOS required, the more space is taken up<br />

inside the computer (the BBC micro uses<br />

the plug in ROM method, Apple and Atari<br />

both load their software into RAM). There<br />

are quite a few advantages in using this<br />

type of system: fast loading and saving,<br />

and a variety of increasingly complicated<br />

and fashionable drives. However, the<br />

restraint on memory usage restricts the<br />

6522 VIA<br />

FROM<br />

AND\<br />

SERIAL BUS<br />

INTERFACE CE<br />

( COM PU I Ey<br />

T<br />

O<br />

16K ROM<br />

6522 VIA<br />

DISK<br />

CONTROLLER<br />

INTERFACE<br />

1 5 et 1<br />

PROGRAMMING<br />

THE<br />

6502<br />

CPU<br />

DATA BUS<br />

2K RAM<br />

02<br />

ADDRESS BUS<br />

Figure 1<br />

(NOT TO SCALE)<br />

WRITE<br />

LOGIC<br />

ADDRESS<br />

DECODER<br />

b. C. d. e. g• h. m . n. a. P•<br />

HEADER BLOCK<br />

Figure 2:<br />

75<br />

DATA BLOCK<br />

TO AND<br />

FROM<br />

DISK<br />

NEXT<br />

SECTOR


versatility of supporting software, data<br />

storage is, on the whole, less efficient, and<br />

incompatability problems often arise with<br />

third party and tape software.<br />

The 1541 Disk Drive evolved from the<br />

1540. which was designed for the Vic-20,<br />

and, because of the limited amount of<br />

memory in the Vic, Commodore had to<br />

find a way around a memory based DOS.<br />

So was born the 1540, an intelligent serialbus<br />

device which controlled all its own<br />

formatting, reading and writing, as well as<br />

intricate sequential and random-access<br />

file handling. Unfortunately, it was serial<br />

(sl000www), not parallel (fast), and it had<br />

quite a few bugs (it sometimes thought it<br />

was a dual drive), but, after all, anything<br />

was better than tape. When the 64 arrived<br />

on the home computer scene, it was<br />

decided a new disk drive should follow<br />

with it, but as the Vic was still selling, the<br />

new drive would have to be compatible<br />

with that too. So was born the 1541, still<br />

slow, still with bugs, but relatively cheap,<br />

quite efficient, and pretty reliable.<br />

Because the drive is intelligent, and<br />

thus sell-supporting, there is no need for<br />

either disk controller or dedicated disk<br />

software inside the 64. The control unit<br />

inside the 1541 is a 6502 based computer<br />

much like the Vic or 64, with RAM, ROM<br />

and Interface chips. This means that at the<br />

end of your serial lead is a fast storage<br />

device, which, with a little understanding,<br />

can be programmed much the same as the<br />

host computer it is attached to.<br />

Inside the 1541<br />

If you are prepared to open up the 1541<br />

you will find relatively little inside that<br />

looks like a computer. The circuit board,<br />

sitting atop the mains transformer and the<br />

drive mechanism, contains the control<br />

electronics at the front end, and the actual<br />

computer circuitry at the back. This is<br />

much more Spartan than the Vic or 64<br />

boards, as it needs neither audio nor<br />

visual related chips. Two 6522 Versatile<br />

Interface Adaptors handle serial bus<br />

communication and control the drive<br />

mechanism, as well as supplying timing<br />

and interrupt facilities for the processor.<br />

The Disk Operating System software is<br />

held in two 8K ROM chips,and 2K of RAM<br />

not only provides the necessary<br />

workspace for the 6502, but is also used as<br />

buffer storage, A handful of other support<br />

chips, including an address decoder,<br />

complete the quota,<br />

1541 Block Diagram<br />

The 16K of DOS is split into two sections:<br />

the Interface Processor or !FP for short,<br />

which manages the host computer related<br />

functions such as file manipulation and<br />

serial bus communications, and the<br />

Floppy Disk Controller or FDC which<br />

controls the Read-Write head and data<br />

storage. The 6502 Processor has to share<br />

time between the FOC and the !FP, which<br />

often reduces the effective operating<br />

speed of the 1541. The FIX. IP and<br />

Interface Chips will all be elaborated on<br />

individually as the series progresses,<br />

together with a full RAM memory map.<br />

Disk Format<br />

In order for the DOS to fi nd its way<br />

around the disk a format routine is used to<br />

divide the disk surface up into tracks and<br />

sectors. 35 tracks are formatted in all, track<br />

one being the first and outermost, and<br />

track 35 the innermost, with the directory<br />

on track 18, Each Track is further divided<br />

up into 17 or more 256 byte sectors,<br />

numbered zero upwards. To pack as<br />

much data into the available space, Commodore<br />

adopted a scheme where the<br />

number of sectors on a track increases the<br />

further out, and thus longer, the track is.<br />

However, this method by itself would not<br />

have worked because even if the Read-<br />

Write head is positioned on track one or<br />

35, it still takes the same amount of time<br />

for the disk surface to rotate once. The<br />

larger the track, the higher the velocity it<br />

has when it passes under the head, so to<br />

counter this the data is actually written<br />

and read to and from the disk at a faster<br />

rate depending on how far out the track<br />

is, The data bits are "clocked" in and out<br />

at approximately 300,000 bits/sec on the<br />

outermost tracks and 250,000 bits/sec on<br />

the innermost. The track layout is divided<br />

into four different zones:<br />

Zone<br />

1<br />

Track No.<br />

1-17<br />

Sector Range<br />

0-20<br />

Sectors/Track<br />

21<br />

Clock Rate<br />

307,692 bits/sec<br />

2 18-24 0-18 19 285,714 bits/sec<br />

3 25-30 0-17 18 266,667 bits/sec<br />

4 31-35 0-16 17 250,000 bits/sec ec<br />

Data Encoding Scheme<br />

Commodore again opted for a more<br />

space-efficient recording method to store<br />

the individual bits on the disk. The most<br />

commonly-used storage scheme is FM<br />

GCR Table<br />

Hex Binary GCR : Hex Binary GCR<br />

$00 0000 01010 $08 1000 0100<br />

$01 0001 01011 : $09 1001 111001<br />

$02<br />

$03<br />

$04<br />

$05<br />

$06<br />

$07<br />

0010<br />

0011<br />

0100<br />

0101<br />

0110<br />

0111<br />

10010<br />

10011<br />

01110<br />

01111<br />

10110<br />

10111<br />

:<br />

:<br />

:<br />

:<br />

:<br />

:<br />

WA<br />

SOB<br />

$0C<br />

SOD<br />

SOL<br />

$0i<br />

1010<br />

1011<br />

1100<br />

1101<br />

1110<br />

1111<br />

110<br />

111<br />

001<br />

0110<br />

1<br />

111110<br />

110101<br />

.<br />

0<br />

1<br />

76<br />

(Frequency Modulation) which involves<br />

writing a stream of clocking bits, with a<br />

data bit occurring in between if a ''1"<br />

needs to be written. This is expensive in<br />

data storage space and so the 1541 was<br />

designed to use a self-clocking method<br />

called Group Coded Recording, GCR for<br />

short (Apple micros also use GCR). Prior<br />

to being written on to the disk, every data<br />

byte is converted into a form which can<br />

neither be confused as a sync mark nor<br />

affect reading accuracy. This is achieved<br />

by splitting the byte into two halves, or<br />

four bit nibbles, and using a look-up table<br />

in the ROM to convert each half into a five<br />

bit result.<br />

For example, to convert the eight bit byte<br />

$A5 (10100101) into GCR, the byte is first<br />

split into two four bit hi-lo order nibbles<br />

1010 and 0101. Using the conversion table<br />

these nibbles now become 11010 and<br />

01111 respectively, and so our completed<br />

GCR byte is, 1101001111. Using Group<br />

Codes Recording, no combination of any<br />

five bit GCR nibbles will ever produce<br />

nine consecutive binary ones (used as a<br />

sync mark), and no more than two<br />

consecutive binary zeros will appear in a<br />

10-bit GCR byte or combination of bytes<br />

this is for speed accuracy when clocking<br />

bits back into the 1541 during a read).<br />

However, we now have a problem when<br />

manipulating this data. The 6502 can<br />

address only one eight bit byte at a time,<br />

whereas our new byte is now 10 bits long.<br />

Therefore the conversion routine inside<br />

the DOS actually converts four bytes at<br />

the same time. This is the minimum<br />

amount of bytes that can be converted by<br />

an eight bit processor (4* 10-bit bytes= 40<br />

bits = 5 * 8-bit bytes), Thus, when writing<br />

data, four eight bit bytes are collated and<br />

then converted into four GCR 10-bit


ytes, and written as five eight bit bytes.<br />

This all sounds a bit confusing (if you'll<br />

pardon the pun) so show you an<br />

example:<br />

4 8-bit bytes : $08, $AA. $01, $01<br />

in Binary : 00001000, 10101010, 00000001,<br />

00000001<br />

4-bit nibbles : 0000.10001010,1010.0000,<br />

0001, 0000, 0001,<br />

in 5-bit GCR : 01010. 01001, 11010, 11010,<br />

01010, 01011, 01010, 01011,<br />

in 8-bit GCR 01010010. 011101010,<br />

10100101, 00101101. 01001011<br />

in hex : $52, $75, $A5. 52D, $43,<br />

Thus our original four eight bit bytes $08-<br />

$AA-S01-$01 are actually written on to the<br />

disk surface as $52-$75-$A5-S2D-$4B.<br />

Reading GCR bytes off the disk is merely<br />

the same process reversed.<br />

5 GCR bytes : $52, $75, $A5, 52D, $43,<br />

in 8-bit GCR : 01010010, 01110101,<br />

10100101, 00101101. 01001011<br />

in 5-bit GCR 01010. 01001,11010.11010.<br />

01010, 01011, 01010. 01011<br />

4-bit nibbles : 0001, 0000. 1010, 1010, 0000,<br />

0001, 0000, 0001,<br />

in Binary ; 00010000, 10101010, 00000001,<br />

00000001<br />

4 8-bit bytes : $OB. $AA. $01, $01<br />

1Simple, really!<br />

Sector Format<br />

Each sector on a track is comprised of two<br />

main parts: the Header Block. or ID Field,<br />

which supplies information on the<br />

position of the sector, and the Data Block<br />

of data. Preceding each of these fields is a<br />

unique synchronisation Field or Sync<br />

Mark, used to identify the beginning of<br />

the block and immediately following the<br />

block is a short gap which gives the IDC<br />

breathing space to allow for fluctuations<br />

in drive speed. The sector header is<br />

written only once, during formatting, but<br />

the data field, including its sync mark, is<br />

re-written every time data needs to be<br />

recorded on the disk.<br />

Header Block<br />

a) Sync Mark: Written as five eight bit<br />

GCR SFI bytes ( 40 consecutive one bits)<br />

the sync mark is a flag to tells the DOS that<br />

a. block is coming up next.<br />

b) Header Block ID: This is the Block<br />

Identifier Byte which informs the DOS<br />

that this is a header field. Its value is always<br />

$08.<br />

c) Header Block Checksum: This is the<br />

header field checksum byte created by<br />

EORing together the track number, sector<br />

1000 Hi."0123456789ABCDEF"<br />

1010 PRINTI(1) HEX TO 6CR'<br />

1020 PRINT"(2) SCR TO HEX"<br />

1030 PRINT"(3) QUIT"<br />

1040 GETMIFIS:"THEN1040<br />

1050 1=VAL(3):0N160101100,1<br />

200.1070<br />

1060 60T01040<br />

1070 END<br />

1100 NS=4:N5=NS4-1:EL:20B:EH:<br />

246:NL:82:01H=00:R1.:00:RH=03<br />

1110 GOT01500<br />

1200 NS=5:N6=NS-1:EL:230:EH:<br />

247:1000:NH:03:K=82:RH=00<br />

1500 OPEN15,8,15<br />

1515 FOR K=0 TONS-1<br />

1520 PRINTIYTE11";01::INPUT<br />

HD$<br />

1530 IFLEN(HH)(>2THENGOT015<br />

20<br />

1540 GOSU82100<br />

1550 PRINT415,'N-W"CHRORJK<br />

)CHR$(14H)CHR$(1)CHRS(D)<br />

1560 NEXTK<br />

1570 PRINT1115,"M-WTHR$(48)C<br />

HRS(0)CHR$(2)CHR$(0)CHR$(3)<br />

1580 PRINT015,4-01"CHR$(52)C<br />

HR$(01CHR$11)CHR$(0)<br />

1590 PRINT115,<br />

RCM 1<br />

M- 1595 PRINT"<br />

PCHRS(EL)C<br />

1600 FORK=0 TO N6-1<br />

1610 PRINT115,91-RICHRMLI-K<br />

/CHRWHICHR$(1)<br />

1620 6ET115,GES:GES:GEPCHR$<br />

(0)<br />

1630 D=ASC(GE$):60SU82000<br />

1640 PRINT'BYTE4';01:' $'01<br />

OS<br />

1650 NEM<br />

1660 GETII:IFIS="THEN601016<br />

60<br />

1670 RUN<br />

2000 H=INT(D/16):L=D-(H$16)<br />

2010 HD$010$04,H4.1<br />

11 (14$,L+1,1) 1011D$<br />

2020 RETURN<br />

2100 H=0:FORI=1 TO 16<br />

2120 IFIEFTCHD$,I)=MIDCH$,<br />

1,1)THENH=1:1=16<br />

2130 NEXT!<br />

2140 1FH=OTHENRUN<br />

2150 H=H-1:L=0:FORI=IT016<br />

2160 IFRI6NTCHOS,11=NIOCH$<br />

.I.1)THENt:10:1A<br />

77<br />

1 541<br />

number and the two I Ds.<br />

d) Sector Number: Numbered consecutively<br />

from zero upwards.<br />

e) Track Number: Position of the track on<br />

the disk.<br />

f-g) ID2 and ID1: These are the formatting<br />

IDs specifi ed in the instruction<br />

"NO: NAME,ID" where I is ID1 and D is ID2<br />

(Note: ID2-(D1) is the correct order as<br />

written on the disk). These are the IDs that<br />

the DOS uses the Initialisation and during<br />

all read and write operations, not the<br />

cosmetic" IDs found in sector 18,0.<br />

h-i) $OF Bytes: These are filler bytes used<br />

as padding when the DOS is converting<br />

the header from or into GCR (Remember:<br />

the DOS uses four eight bit bytes at a time<br />

For GCR conversion). These bytes are<br />

never referenced again by the DOS after<br />

formatting.<br />

j) Header Gap: eight eight bit GCR $55<br />

(01010101) bytes providing the DOS with<br />

breathing space between the header and<br />

data fields.<br />

Data Block<br />

k) Sync Mark: Warns the DOS a block is<br />

coming up.<br />

l) Data Block ID: Informs the DOS that this<br />

is a Data Block. Its value is always $07,<br />

m) Data: 256 Bytes of user data.<br />

n) Data Block Checksum: This the data<br />

field checksum created by EORing all the<br />

256 Bytes of data together.<br />

0, p) $OO Bytes: Filler bytes used as<br />

padding during GCR conversion.<br />

q) Inter-Sector Gap: This is also known as<br />

the Tail Gap, and its size varies between<br />

four and 12 eight bit GCR $55 bytes, supplying<br />

the DOS with space in between<br />

each sector to allow for fluctuations in<br />

drive speed. Its size is determined during<br />

the format sequence, which contains a<br />

routine which times how long the disk<br />

takes to rotate once. The gap size is<br />

calculated from this timing, and so<br />

explains not only why the format routine<br />

takes so long, but also why "Fast<br />

Formatters" are occassionally unreliable.<br />

Commodore used fixed gap formatting<br />

on earlier drives but found that the last<br />

sector on the track sometimes over-wrote<br />

the first slightly. Fast Formatters use fixedgap<br />

formatting (usually eight bytes long).<br />

Our sector is now larger and much<br />

mare complicated than at first sight. Its<br />

actual size is calculated like so:<br />

Section 8-bit Hex 8-bit GCR<br />

Sync Mark 1<br />

Header<br />

Header Gap<br />

Sync Mark 2<br />

Data Block<br />

Data Gap<br />

8 bytes<br />

260 bytes<br />

5 bytes<br />

10 bytes<br />

8 bytes<br />

5 bytes<br />

325 bytes<br />

4-12 bytes<br />

TOTAL 357-65 bytes lon g


114111101)<br />

YOUR BEST INDEPENDENT COMMODORE MAGAZINE 11<br />

0<br />

-<br />

SSO<br />

YOU'VE WRITTEN SOME PROGRAMS?<br />

O<br />

Y<br />

SO WHY HAVEN'T YOU SUBMITTED THEM TO US?<br />

O<br />

the lookout for new material for publication<br />

and we know that there are<br />

U thousands of intelligent, literate.<br />

innovative and creative Commodore<br />

Oowners<br />

out there, so why don't we get<br />

together?<br />

It you have written a program, be it a<br />

Wgame<br />

or a utility, that you think you<br />

should share with other Commodore<br />

owners, then why not submit it to us for<br />

N publication. Don't forget we pay very well<br />

Office Use Only<br />

Surname:<br />

Firstnames:<br />

Address:<br />

Postcode: T e l e p h o n e Number<br />

for any articles that we publish.<br />

A All submissions should be well docu- Times to contact you:<br />

mented and where possible include a line<br />

by line breakdown of the program<br />

Ctogether<br />

with a list of any variables used. A<br />

copy of the program should be included<br />

Oon<br />

either tape or disk.<br />

All submissions should be sent to the<br />

Program Name.<br />

Computer/memory size:<br />

Extras required (disk etc).<br />

address below. If it is not chosen for<br />

Mpublications<br />

-<br />

Have you sent the program to another magazine? Yes/No<br />

then you. i t<br />

Mw<br />

You i l may l not have written any software<br />

b<br />

yourself,<br />

e<br />

but you may have very fi rm<br />

opinions about the world of Commodore<br />

r e t u Oand<br />

all its attendant industries and<br />

rproducts. n e If you do, then put your views<br />

d or questions on paper and post them to us<br />

Dt<br />

again at the address below - you might<br />

oeven<br />

get paid for airing your views!<br />

All submissions should be sent to:<br />

O<br />

PLEASE COMPLETE IN BLOCK CAPITALS<br />

Date received. D a t e ack. sent:<br />

Date checked. C h e c k e d by:<br />

Rating.<br />

Comments.<br />

RThe<br />

Editor<br />

Reply sent: A c k . received•<br />

Your Commodore<br />

EArgus<br />

Specialist Publications<br />

No 1 Golden Square<br />

London W1R 3AB<br />

?<br />

Dale printed.<br />

Fee:<br />

D a t e returned:<br />

YOUR COMMODORE<br />

111<br />

IS ALWAYS ON<br />

1<br />

Date Fee sent:<br />

715


1<br />

Vs/hat<br />

I<br />

want<br />

to<br />

-Aye'<br />

knfiv Nvbi„,<br />

A the Commodore 64<br />

vSpectrum<br />

and<br />

aAmstrad<br />

at a<br />

irecommended<br />

l<br />

retail price<br />

of E9.95.<br />

a<br />

b<br />

l<br />

e<br />

f<br />

o<br />

r<br />

cio<br />

why<br />

would<br />

.<br />

Niak anyone<br />

quocsitifitC,, play<br />

anythipg<br />

else?<br />

The most powerful<br />

games in the Universe<br />

QuicksHva Ltd.,<br />

Liberty House,<br />

222 Regent Street,<br />

London AMR 71DB.<br />

01-439 0666<br />

Chrysalis Visual Programming Ltd.<br />

.• • • •


Stuart Cooke takes a look at a<br />

new range of disk based<br />

budget software.<br />

IF YOU'VE EVER WANTED TO BUY A<br />

wordprocessor, database or any other<br />

type of business software for use with<br />

your Commodore computer then you will<br />

have been amazed at the price. Ills not<br />

unheard of for over £100 to be asked for a<br />

wordprocessor. A few companies,<br />

notably Supersoft and Mastertronic, have<br />

produced a few cheap, 'professional'<br />

programs at around the f15 mark. Now a<br />

new range of disk based budget software<br />

is set to hit the streets at a price of only<br />

f7.99. This makes it far cheaper than a<br />

great deal of software that is available on<br />

cassette.<br />

So what's the drawback? A disk for<br />

only eight quid must have at least one<br />

fault. Well, there are a few corners cut in<br />

getting this software out so cheaply.<br />

There is no fancy packaging. A clear<br />

plastic pack is used so that the disks can<br />

hang on pegs in shops. There are no<br />

manuals with the software, the instructions<br />

on the packet simply tell you how to<br />

load the program. Finally, most of the<br />

programs are in Basic.<br />

Don't let any of the above factors put<br />

you off the software though. The lack of<br />

instructions is usually - I say usually<br />

because one important program has no<br />

instructions- overcome by very clear help<br />

options within the program. Even though<br />

many of the programs are written in Basic<br />

they all work extremely well and do what<br />

they should. In fact many of the programs<br />

in the range work better and look better<br />

than their more expensive competitors.<br />

The name of this new range of<br />

software is Load'N'Col The range is<br />

imported over from America. In the States<br />

the programs sell extremely well in<br />

supermarkets with a price tag of around<br />

$5. Who knows, we may soon be able to<br />

buy a Wordprocessor at the same time as<br />

our cornflakes.<br />

Load 'N'Gol software falls into a<br />

number of different series. The series that<br />

is being marketed over here at the<br />

moment is the 'Home Management<br />

Series'. A lot of this range of software<br />

could be put to good use in either a small<br />

business or at home, its main purpose is to<br />

make life easier for you.<br />

So what's the software really like? The<br />

best way to answer this question is to have<br />

a look at some of the packages<br />

individually.<br />

Love Letters<br />

At £7.99 Master Word must be the<br />

cheapest wordprocessor available. It has<br />

many of the functions of its dearer companions<br />

such as search and replace and<br />

the ability to set line spacing and margins.<br />

It does however lack the more 'up market'<br />

fancy bits such as page numbering and<br />

headers and footers Another<br />

Adding it up<br />

Door Clet.n/Jone),<br />

C L k<br />

10<br />

Veetereall va sweeeeevall 1 e a rs<br />

beiwO With VOW 00 WOO. 04 C i •<br />

ho44 if Still iti the clove s. 1 don t h<br />

*pow Watt See 40 it, Out liOu C<br />

01440 114 feel tikl,ovorothino to too wor<br />

14 14 Fleet w4i00 i wWith 1 4<br />

goo. Ve e r ve a de rtut •* * * * • hove r owe<br />

or toiis to WWII Ao u/I WOOW t 1 5<br />

.... I 's' fe e ling * ge ol.° situstiort e eceeheleve<br />

teat like the %so.<br />

the torte. 044 i toll ilk, 1 i•n d h e<br />

vire os. t 1 1<br />

i WOO, WOc a n OiwaWil irttip tenth,<br />

e * ba ring e a r he e e lt e ve<br />

4r0400, 04C **** i<br />

we * OU 0 0 P , liveOs With u r •e ch •<br />

eatt1 the •ste if Aloe . Love vote a i r s<br />

other W 0 0 . . t 4 0 ,<br />

1 re ve le se L i e d . 4 6<br />

1 1 6<br />

a<br />

Le<br />

FAICIRORIC SCHEDOLFR<br />

tlal,e an OVVoiAttaent<br />

APPOINIMERY FOR;<br />

RAW: S T O W COW T<br />

Date<br />

DO/07/<br />

86<br />

i<br />

0<br />

Person<br />

e<br />

-<br />

Piace<br />

. Foi<br />

-Corealoot<br />

i Golden s<br />

q<br />

u<br />

p<br />

a<br />

h<br />

r<br />

O<br />

e<br />

t 0 9 " P<br />

h 9<br />

Bi aC$' 4nd<br />

hOPe O i e C t<br />

5 s<br />

"<br />

U<br />

.<br />

l<br />

i<br />

r e<br />

.<br />

"<br />

s<br />

Vre5s I to LICIER aata, A to ADD tb.5<br />

appoiotiaent to the dicO., 0 10<br />

iyoe your choice here • •<br />

Wordprocessor is due to be released at a<br />

later date that will have all of these<br />

facilities plus many more.<br />

As wordprocessors go this one isn't<br />

particularly fancy. It will however regurgitate<br />

your latest masterpieces without<br />

complaining at all. In fact if you're not too<br />

good with the old pen a selection of<br />

Business letters (You're fired etc). Home<br />

letters (birthday etc) and love letters<br />

(Yuck!!!) are provided on the disk.<br />

Another program in the series is 'Personal<br />

Spreadsheet'. This one is a. little disappointing.<br />

For a start there are no clear<br />

instructions anywhere. There are no help<br />

functions, except with the different types<br />

of calculation. This means that the only<br />

way to figure out what the package does is<br />

to actually use it. If you have never come<br />

across a spread sheet before then I<br />

suggest that you find out what one is and<br />

how it works before you look at this<br />

program. If you have already used a<br />

spreadsheet then you will more than<br />

likely be disappointed with this package.<br />

80<br />

Basically 'Persona! Spreadsheet' is a<br />

glorified calculator. You can store<br />

numbers in the columns and rows and<br />

then perform simple calculations on<br />

them. You cannot set up formulae in<br />

locations as you can on other spreadsheets.<br />

Since a spreadsheet is supposed to<br />

help you if you have a lot of formulae to<br />

work with, I think this program is the<br />

biggest let down of the pack. A normal<br />

calculator will perform the same job as<br />

this program, and a lot quicker.<br />

On Time<br />

If, like me, you are always forgetting<br />

appointments or forgetting what time you<br />

are supposed to be somewhere, you will<br />

find 'Electronic Schedular' a must.<br />

This program is used for recording all<br />

appointments. You are asked for the<br />

name of the person who the appointment<br />

is for, this means that you could put the<br />

whole offices appointments into this<br />

program. What time and date the<br />

appointment is, who the appointment is<br />

with, where it is and any comments that<br />

you need.<br />

Once you have entered in the data you<br />

can search for all meetings for a certain<br />

person after certain dates. You can list all<br />

1<br />

II


Last nano: 0a991ss<br />

1 Others:<br />

Street:<br />

Cita;<br />

State:<br />

Ztecode<br />

tCountrS<br />

:Phone;<br />

Cosatenta<br />

t<br />

VI IbO<br />

1. e<br />

aHahhiten<br />

s the shire<br />

EMt<br />

LSE<br />

n<br />

iltadvt Earth<br />

d<br />

000e<br />

000d 401<br />

,<br />

&<br />

t<br />

r<br />

e<br />

e<br />

meetings between dates. It is even<br />

possible to print details of all meetings at a<br />

certain place or with certain people.<br />

How on earth did I ever manage<br />

without this one?<br />

Money Matters<br />

A couple of financial organisers are<br />

included in the series. These are 'Pro<br />

Financial Organiser' and 'Home Finance<br />

Organiser 1', Both disks offer checkbook<br />

and address list programs while the<br />

Financial organiser also has a calendar and<br />

the Home finance package has a budget<br />

program.<br />

One very nice feature in the Mail List<br />

manager on the Pro disk is the ability to<br />

code names and addresses, with say an 'F'<br />

for friend or 'B' for business. When you<br />

want to print out your labels you can then<br />

print them out for just one group.<br />

A very nice 'extra is the Christmas card<br />

list. For each record you must specify<br />

whether you want them on your christmas<br />

card list or not. You can then get a count<br />

of how many Christmas cards you will<br />

need and then get the computer to print<br />

out all the labels.<br />

The calendar is one of those silly<br />

'PLEASE GIVE ME THE YEAR' type of<br />

programs. You know, you give it the year<br />

and the month and it prints out a calendar<br />

for you. One extra feature is the ability to<br />

highlight a specific date. This would be<br />

great if you could highlight all dates with<br />

say birthdays of friends but since you can<br />

only highlight one day in every month this<br />

is probably out of the question. What a<br />

silly fault!<br />

The titles explain the functions of the<br />

other programs on these disks and I don't<br />

think that I need say anything more about<br />

them apart from that they work well. In<br />

fact if you used either of the chequebook<br />

programs you would know exactly how<br />

your finances were at any time.<br />

Both disks are good in certain areas. If<br />

you want addresses then go for the Pro<br />

Finance pack, if you want budgeting and<br />

cheques then I think that the Home<br />

finance pack is a little better.<br />

The packs are so cheap that it may well<br />

be worth buying both.<br />

More Info<br />

If you require more information with your<br />

address file then you could have a look at<br />

the Home and Business Card File disk.<br />

81<br />

Review<br />

This is very similar to the address<br />

programs that are mentioned above but it<br />

also allows fi elds for business and<br />

telephone numbers. I did have a few<br />

problems with this program. For a start<br />

there wasn't enough room for many of<br />

the addresses that I tried to enter and<br />

secondly they are in the American formal<br />

of City. State and Zip. Since the programs<br />

are in Basic it would only have been a<br />

simple task to turn these formats into<br />

'English'. It may even be possible to make<br />

the changes yourself.<br />

Even better than this is 'g' base. This is a<br />

proper database program. By proper, I<br />

mean that you can define your own fields<br />

for data entry. This means that if you<br />

wanted to make an address list you aren't<br />

stuck with ZIP etc. If you wanted you<br />

could even use the program to keep a<br />

catalogue of your records or stamps. In<br />

fact 'g' base can be used to store<br />

information about anything that you<br />

could put on a card. Having the information<br />

on computer means that it is a<br />

simple task to find specific details or print<br />

out a list etc.<br />

Keeping Tabs<br />

Obviously with disk software becoming<br />

so cheap the number of disks in your<br />

collection is bound to grow. How on earth<br />

are you going to keep track of them all?<br />

Well, 'Disk Utilities' will solve this<br />

problem for you. This program will store<br />

information on up to 300 disks. You can<br />

search for a specific program and you will<br />

be told what disk it is on. You can get a<br />

print out of the directories of all your<br />

disks. It is even possible to print out a list<br />

of all the IDs that you have used. As you<br />

are probably aware the Commodore disk<br />

drive uses a two digit ID to identify each<br />

disk. If two disks have the.same ID, the<br />

disk drive may not know if you swap the<br />

disk, thus messing up the contents.<br />

The list of used IDs is printed in the<br />

form of a grid with letters arid numbers<br />

being across the top and edge of the grid.<br />

It is now easy to mark off new disks as you<br />

format them.<br />

As well as the catalogue program there<br />

is also a utility program. This will allow you<br />

to backup disks (riot protected ones),<br />

format disks etc.<br />

At a price of only E7,99 this disk is a<br />

must for any disk drive owners.<br />

Verdict<br />

Most of the programs available are<br />

around the same quality as a good<br />

magazine listing. They are all functional<br />

and do what they set out to do without<br />

any frills.<br />

At 17.99 this software should make a<br />

very big impact on the home/small<br />

business market, perhaps with the same<br />

sort of impact that Mastertronic made<br />

when it launched its 0.99 tapes.<br />

Who knows, good business software at<br />

this price may make people start to use<br />

their computers for something other than<br />

games, this wouldn't be such a bad thing.


1.11111111r<br />

doommt,<br />

Eric Doyle has been trying I<br />

out a real hardware bargain.<br />

WHEN I READ THAT THE IBICO LIR-1<br />

printer claimed letter quality printing and<br />

that the price was less than 000, my<br />

immediate reaction was, to say the least,<br />

one of disbelief. After unpacking the<br />

beast I remained unimpressed, the printer<br />

head looked very Mickey Mouse-ish but<br />

when I tried printout my attitude<br />

changed.<br />

Surprisingly, the machine does<br />

produce letter quality and it does so in a<br />

very novel way. The printer head<br />

resembles an office date stamp. You know<br />

the kind, rotate the wheels to get the<br />

correct date, then ink the rubber-faced<br />

letters on a pad and stamp away. In this<br />

novel little printer the characters are<br />

carried on a cylinder which carries four<br />

bands of characters. At the back of the<br />

wheel is an inked cylinder which brushes<br />

against the letters as they rotate and each<br />

character is pressed against the paper<br />

when required to produce very high<br />

quality letters. High-tech still has a place<br />

for the good old principles pioneered by<br />

Guttenberg!<br />

The limitation of the printer lies in the<br />

fixed roller idea. The characters you get<br />

are the ones you're stuck with. No<br />

graphics screen dumps or characteristic<br />

Commodore symbols, just plain and<br />

simple alphanumerics and punctuation.<br />

The paper is friction fed through the<br />

printer with no facilities for tractor<br />

feeding. This means that as a cheap<br />

printer for wordprocessing applications it<br />

can use high quality, headed paper.<br />

Indeed, a good wordprocessor would be<br />

a boon to anyone owning this machine<br />

because it doesn't have a 'paper out'<br />

indicator. When the printer reaches the<br />

bottom of a page, the<br />

on l the paper and the head carries on<br />

platten<br />

printing to and fro across the same line. A<br />

wordpro with the facility to stipulate a<br />

l<br />

page<br />

o s<br />

length<br />

e s<br />

would overcome this fault.<br />

i For t most s people the main application<br />

gthey rwould i look p for is the ability to print<br />

out listings of their latest project for a<br />

leisurely debugging session. Obviously<br />

the problem here is that most listings fill<br />

T<br />

more than a sheet of A4 paper and<br />

estimating how many lines to a page<br />

would be a nightmare. I found that<br />

normal A4 tractor feed paper would not<br />

fit the platten mounting but you can buy<br />

paper which is A4 width including the<br />

perforations and this is fi ne for most<br />

purposes as long as the paper doesn't slip<br />

in the platten rollers.<br />

Control of the printer is limited to the<br />

basic character codes of the Commodore.<br />

For example, CHR$(10) followed by<br />

CHR$(13) will initiate a line feed and<br />

home the printer to the beginning of the<br />

next line. CHR$(28) sets the printer to<br />

normal line spacing and CHR$(29) will<br />

allow double spacing for extra clarity.<br />

The number of characters available is<br />

limited to 126. This includes all the alpha-<br />

numeric characters and punctuation<br />

marks. In the main these correspond to<br />

Commodore's version of ASCII but some<br />

of the characters around CHR$(90) vary.<br />

The most important difference is that the<br />

pound sign has an ASCII value of 123<br />

instead of 92 but a little bit of thought<br />

should overcome this problem.<br />

Despite the Heath Robinson<br />

appearance of the printer, the quality of<br />

the printout is excellent. After a while the<br />

letters may get a little faint or the entirity<br />

of their outlines become broken but this<br />

can be remedied by the simple application<br />

of more ink on the roller giving a<br />

result indistinguishable from the quality<br />

of a typewriter.<br />

The speed of the printer is comparable<br />

82<br />

NIPOIMIMp<br />

Hardware<br />

doosEN6 dinnoth<br />

to that of a daisywheel. Because the<br />

printer face has to move up and down the<br />

paper frequently, this means that a speed<br />

of 10-12 characters per second is the<br />

maximum that can be achieved. In real<br />

terms this means that a 60-line page of A4<br />

text will take about five minutes to print<br />

which is not too bad considering the<br />

quality.<br />

The total size of the printer is about 12<br />

inches by nine by two, which means that it<br />

takes up very little room on a desk and the<br />

only control is the paper advance and the<br />

on/off switch so it is not too complex to<br />

use.<br />

My only qualms about this machine<br />

are the tendency of the friction feed to<br />

slip and the problem of what happens<br />

when the print head wears down. To be<br />

fair, mine is a review machine which may<br />

have seen hard use at the hands of others<br />

and the resilience of the printer head<br />

seems to promise a fairly long life.<br />

The cost of the printer should be seen<br />

in the light of the need for a centronics<br />

interface. I believe Boots sell one for<br />

around f 20, so if you're in the market for a<br />

cheap printer with high quality result and<br />

you're willing to accept the 20th Century<br />

adage that budgeters can't be choosers<br />

then this is definitely a machine to<br />

consider. The only other printers at this<br />

price are thermal printers and with the<br />

cost of thermal paper these day5 it could<br />

be worth while considering a machine<br />

with low post-sales overheads, in which<br />

case this could be the one for you.


David Gartrell helps I<br />

you get your finances<br />

1<br />

in order with the help<br />

of your C64.<br />

IF YOU'RE TIRED OF<br />

wondering just how much<br />

money you've got in the bank<br />

and whether you're going to<br />

last until your next pay packet<br />

comes through, then look no<br />

further. This program can be<br />

used to monitor all of your incomings<br />

and out-goings so that<br />

you, and not your bank<br />

manager, are the first to know<br />

where you stand, fi nancially<br />

speaking.<br />

Introduction<br />

Using Budget (A you can divide<br />

your bank account into a<br />

maximum of 20 separate<br />

categories, each covering a<br />

different section of your<br />

finances e.g. gas, electricity.<br />

Before we delve into the<br />

workings of the program, there<br />

are one or two things to<br />

remember. The structure of the<br />

program is such that, when it is<br />

working at full capacity, it uses<br />

nearly all of the available<br />

memory. Only 2-3K remains.<br />

Also, from time to time, pauses<br />

will occur. This does not mean<br />

that the computer has crashed.<br />

Just wait for a few seconds and<br />

it will carry on. The delays are<br />

caused by the complexity of<br />

the program. the many<br />

variables used and the amount<br />

of memory involved.<br />

When the program is first<br />

run, you are presented with a<br />

title screen and a question:<br />

'LOAD OLD FILE Y/N'. If you<br />

are starting afresh, then type<br />

'N'. Details of loading your file<br />

will be explained later.<br />

Next the computer will ask<br />

you how many categories you<br />

wnat. These are the different<br />

sections of your bank account.<br />

Enter the number you want<br />

plus one, then enter their<br />

names.<br />

The first category is pre-set<br />

as 'MASTER SHEET' and<br />

combines all the others to give<br />

a grand balance.<br />

Once all the names have<br />

been entered, the main menu<br />

is displayed. Pressing a key will<br />

display up to three pages of<br />

transactions for each category.<br />

You have the choice of display<br />

on the screen, the 1520 Printer<br />

Plotter or a standard printer.<br />

The printer used when this<br />

program was written was a Star<br />

SG-10C dot matrix printer.<br />

However, using other printers<br />

should cause no problems.<br />

Included in the display are<br />

reverse characters to identify<br />

the origin of each transaction.<br />

Press the key followed by the<br />

character of the transaction<br />

which you wish to identify.<br />

At the bottom of the main<br />

menu is 'OTHER OPTIONS'.<br />

These are:<br />

ACTIVATE ACCOUNT: Enables<br />

you to add or subtract<br />

from any of your categories.<br />

The process is straightforward<br />

and simple.<br />

SAVE A FILE: Will save your file<br />

on tape. The option of an<br />

access code is included to<br />

prevent other people from<br />

loading your file.<br />

ENTER WAGE: This option can<br />

be used if, for instance you<br />

wanted to divide E100 between<br />

different categories. Enter the<br />

total amount deposited and<br />

press return. The amount will<br />

be displayed on the other<br />

options menu and any other<br />

areas where is could be useful.<br />

As you spread your money<br />

between the categories, the<br />

amount you entered will<br />

decrease. When it reaches zero<br />

it will disappear.<br />

Options E and F work<br />

together with option D. If you<br />

remove the messager from the<br />

UDGE<br />

screen, the amount will remain<br />

the same until you bring it<br />

back.<br />

RE<br />

-the<br />

category which you wish to<br />

NA re-name. Make sure that it is<br />

Mempty<br />

of money as its memory<br />

E will be cleared when you rename<br />

it.<br />

C<br />

MONEY TRANSFER: Enter the<br />

A<br />

two categories involved, then<br />

T<br />

E<br />

G<br />

I<br />

O<br />

R P<br />

Y R<br />

: O<br />

C<br />

h<br />

o<br />

o<br />

s<br />

e<br />

83<br />

Ces4<br />

proceed as for 'ACTIVATE<br />

ACCOUNT'.<br />

ADD A CATEGORY: Type in<br />

the name of the new category.<br />

PERFORM CALCULATIONS: If<br />

you want to do arty arithmetic<br />

you can use this option.<br />

Finally to load your fi le,<br />

press 'Y' at the start. Then enter<br />

your access code if you have<br />

one.<br />

1 PRINT CHRS(14):POKE 53280,9:POKE 53281,11<br />

2 PRINTICCLEAR,C1,RVSON,SPC16,RVSOFF,YELLOW,SB,SU,SD,65,<br />

6<br />

SE,ST)-64ERVSON,C1,SPC15r<br />

3 GOSH 7000<br />

R<br />

4 PRINT<br />

A<br />

1 S63ARTRELL"<br />

N<br />

CDOW 5 PRINPEDOWN,SPC11,SUOPYRIGHT (C) 1985"<br />

:<br />

N4 6 PRINT<br />

B<br />

1 17<br />

AS<br />

U<br />

YELLO 100WN 18<br />

IF AS="N'THEN OPEN 1,3:6010 24<br />

D<br />

W,SPC 4,BLA :GE 9 IF ASO"Y"THEN 7<br />

G<br />

7CK1LO<br />

T 10 PRINTICCLEAR,C1,RVSON,SPC15,RVSOFF,YELLOW,SL1<br />

E<br />

1AD<br />

A OAD A FILEIRVSON,CI,SPC141"<br />

T<br />

SCRIT OS 11 PRINT : L<br />

6<br />

TEN D I112 PRINT'IDOWN2,SEATER F<br />

ACCESS CODE :-103,RIENTI";:ACS=""<br />

4<br />

BFA1UP,RE 13 6ET CS:IF CSTHEN 13<br />

YI E<br />

SLWD,CT40 14 IF CS=CHRS(13)TNEN 16<br />

PE C<br />

, ? I,C6r<br />

15 ACS=ACS+CS:PRINT":";:GOTO 13<br />

16 ACS=ACSOICLEARP<br />

S D:<br />

I-T A V<br />

I IH 17 OPEN 1,1,0,ACS:DIM AS(21),DAS(21,50),DE(21,50)<br />

SD P1<br />

SCE 18 DIM NI(21<br />

P5 , C<br />

, SN . 19 PRINT"[HOME,00WN31":FOR I=1 TO 20:PRINT*E6PC391<br />

20 Y 1<br />

/ 7<br />

10), 1 INPUTOI,A<br />

21 8Al21,50<br />

:NEXT FOR B=1 TO A:INPUT01,AS(81:INPUT01,ROVID<br />

E<br />

),ROI(21<br />

S:FOR NBB=1<br />

TO ROUB)-1:INP1JT01,DAS(8,BB)<br />

1<br />

),<br />

1<br />

1XS(21,5<br />

0)


22 INPUT11,DE(8,9B):INPJ711,W1(E,BB):INPUTOI,BA(B,BB<br />

:INPUT11,XXSIB,8E:NEXT 88,8<br />

23 CLOSE 1:0PEN 1,3:GOTO 35<br />

24 PRINTIECLEAR,C1,RVSON,SPO16,YELLOW,RVSOFF,S9,SU,S0,SG,<br />

SE,ST)-64(O1,RVSON,SPC15)<br />

25 60SUB 1 7000<br />

26 PRINT'IDOWN3,8LACK,STME MAXIMUM NUMBER OF CATEGORIES<br />

YOU CAN<br />

27 PRINT'EUNHAVE IS TWENTY."<br />

28 PRINT'EDOWN2,CYAN,SN10. OF CATEGORIEP:INPUT A<br />

:IF A(1 OR A)20 THEN PRINT'CUP,SPC12,UP4P:GOTO 28<br />

29 DIM 141(21),DAS(21,50DE(21,50),11(21,501,BA(21,50),<br />

ROV21),XXS(21,50)<br />

30 AS(I):"ISCASTER SHEEP:FOR B=1 TO A:ROZ(8)=1:NEXT<br />

31 PRINT'EDOWN2,SCHTEGORY 1 HAS BEEN AUTOMATICALLY SET<br />

AS:-ISPC,9VSON,SM1ASTER SHEET'<br />

32 IF A=1 THEN 35<br />

33 PRINT"IDOWN2,C61":FOR B=2 TO A:PRINTNESUATEGORY "B"<br />

:-IDOWN,C7MINPUT AM)<br />

34 PRINT"IUP,SPC36,UP3,C63<br />

135<br />

PRINTICLEAR,C1,RVSON,5PC16,RVSOFF,YELLOW,SM,SA,SI,SN,<br />

:NEXT SPC,SM,SE,SN,SU,RVSON,C1,SPC151"<br />

36 PRINT"CRED,UP,CT40,WHITEr<br />

37 DEF FNUKL)=INT(KL11004-.5)/100<br />

38 S=1:GOSUB 112<br />

39 PRINT TAB(I1)"ICE"CHRS(065)" = OTHER OPTIONS.'<br />

40 PRINT"(WHITE,RVSON,SC,SH,S02,SS,SE,RYSOFF]:-"<br />

41 131=":6ET BS:IF Bl="THEN 41<br />

42 X=ASC(B11-64:IF 11(1 OR X)44.1 THEN 41<br />

43 IF X=A+1 THEN 114<br />

44 PRINT'ICLE4R,DOWN2,SCH1CH PAGE :- 1, 2 OR 3'<br />

45 GOSUB 355:PRINPEDOWN,SCIURRENT PAGE :-'Al<br />

46 GET All:IF VAL(A11)(1 OR VAL(AIWA1 THEN 46<br />

47 GOSUB 350<br />

48 A3=A2<br />

449<br />

PRINT'IOLEAR,D0WN3IDISPLAY ON :-"<br />

15:IF 50 PRINT'IDOWNL3 = SCREEW:PRINT"4 =ISPC,SPNINTER"<br />

R :PRINT"6 0 V = 1520ISPC,SPAINTER/ISHLOTTER"<br />

W 51 GET = YS:IF A YS"THEN 51<br />

3 52 IF YS="4"THEN CLOSE 1:0PEN 1,4,7:PRINT11<br />

T1:GOTO H 57<br />

ECHRS(14) 53 IF N Y1="3"THEN GOTO 57<br />

A<br />

54 IF<br />

3<br />

Y10"6"THEN<br />

=<br />

51<br />

R<br />

55 CLOSE<br />

0<br />

1:0PEN 1,6<br />

7<br />

56 OPEN<br />

I (<br />

6,6,6:PRINT16,1:0PEN 2,6,1<br />

57 GOSUB 207<br />

X ) -<br />

59 IF 9="3"THEN PRINT11<br />

1<br />

59 PRINTII:PRINTI1,'EBLACK,UP3,SPC2IDETAILSISPC4IDEPOSIT<br />

[SPCDWITHORAWL BALANCE"<br />

60 PRINT11,<br />

161 IF Y1='4"THEN PRINT11,OHRS(15):CLOSE 1<br />

62 GOTO 68<br />

63 FOR P=1 TO ROX(X):DAS(X,P-1)=DA1(X,P1<br />

64 DEiX,P-1)=DECX,P1:11I(X,P-1)=W11X,P)<br />

65 BAtX,P-11=BA(X,P)<br />

66 XXSCX,P-1)=XXSIX,P):NEXT<br />

67 RETURN<br />

68 FOR B=42 TO A3<br />

69 IF Y10"4"THEN 74<br />

70 GOSUB 321:PRINT11," "DA$3,8):PRINT112,PBS<br />

:PRINT13,DE(X,B)<br />

71 PRINT12,POI:PRINT13,1I(X,9):PRINT12,PE1<br />

:PRINT13,'[RVSON]"XXVX,BrIRVSOFFY<br />

72 PRINT12,P91:PRINT13,BACX,B1<br />

73 CLOSE 1:CLOSE 2:CLOSE 3:CLOSE 6:PRINT110:CLOSE 10<br />

:GOTO 89<br />

74 P1=11:P2=19:P3=29<br />

75 LK=BA(X,9):6OSUB 264<br />

76 IF Y1="6"THEN GOTO 302<br />

77 GOSUB 281<br />

78 IF Y1="6"THEN PRINT12,"M",12,0:PRINT11,DAUX,B);<br />

:WO 81<br />

79 PRINT01," "DAUX,B);<br />

80 IF 9=4"THEN OPEN 1,3<br />

81 IF YS="6"THEN PRINT12,"M",132,0:PRINTII,PSDES06OTO 83<br />

82 PRINTII,TABCP1)DES:<br />

83 IF YS="6"THEN PRINT12,W,228,0:PRINT11,01W11::G0TO 85<br />

94 PRIN111,1AB(P2)W11;<br />

85 IF YS6"THEN PRINT12,4<br />

1 :GOTO 87<br />

, 86 PRINT11,TA8(29ERVSONI<br />

351,0:PRINT11,XXC<br />

. B7 IF Y1='6"THEN PRINT12,4",349,0:PRINTII,R4BMGOTO 89<br />

X,B); XXS(X,B)":RVSOFF2";<br />

BB PRINT11,TAB(P3)BAS<br />

89 NEXT<br />

90 IF Y1=<br />

191<br />

IF Y1='6'THEN FOR 1=1 TO 7:PRINT11:NEXT:CLOSE 6:CLOSE 2<br />

4ITHEN :CLOSE 1:0PEN 1,3<br />

O92 PRINT P ETAB114)"IYELLOW,RVSON,SP,SR,SE.SS2]<br />

'I' ISK,SE,<br />

N SY1'<br />

1 93 PRINTICRYSON,RI6HT6,SP,SR,SE,SS2,SPCFUISPC,SF<br />

,<br />

31<br />

S0,SR,<br />

94 GET AS:IF AS="THEN 94<br />

95 IF AS="1•THEN 105<br />

96 IF A$0<br />

19?<br />

PRINT'INOME,DOWN23,SPC39/'<br />

98 8 INPUT<br />

199<br />

1 IF K1=',"THEN 35<br />

CHOME,<br />

100 THEN IF KS="THEN 97<br />

D0WN2 101 9 IF 4LENO3)=1<br />

AND ASC(K1)


CI34<br />

113 NEXT:RET11RN<br />

:ACS=":GOSUB 279:GOSUB 166<br />

114 PRINT<br />

158 PRINT: OPEN 1,1,1,ACI<br />

• SR: ISO,SF,ST,SI,SC,Sk.SS,RVSDK,C1.SFC17:"<br />

CCLEAR<br />

SOSUB 7000<br />

,RVSDN<br />

:F 4W=1 AN: YY=0 'FEN 4=0<br />

,C1,SFC :F 4=1 THEN LK=YY:GOSUB 264:PRINT'CUP,YELLOW,RVSON,<br />

14,RVS<br />

SICAGE LEFT :- 11"BAS<br />

118<br />

OFF.Y2<br />

PRINT TAB(8)'EDOWN,C8,SPC1A =ISPC,SA1CTIVATE ACCOUNT.'<br />

LL2W.S<br />

:PRINT TAMP<br />

119 PRINT<br />

C.F,SH,<br />

. B TAM)* C =ISPC,SEETURN TO MAIN MENU."<br />

S:.<br />

= :PRINT I STAB(81 P C<br />

120 PRINT ,SEAV<br />

1 D TAPS)" E =ISPC,SCANCEL WA5E MESSEAGE.'<br />

121 PRINT E = I STAB18I' P C F =ISPC,SUNABLE WAGE MESSAGE.'<br />

122 PRINT A ,SENT TAM)" G =ESPC,SR1E-NAME CATEGORY.'<br />

123 PRINT<br />

FE R I<br />

TAM)" H =ESPC,SMANEY TRANSFER.'<br />

124 PRINT<br />

LW EATABI81'<br />

I =ESPC,SAIDD A CATEGORY.'<br />

125 PRINT TAB18' J = RE-RUN PROGRAM."<br />

. G 'E<br />

126 PRINT<br />

. "<br />

TABUS)" K =ISPC,SPIERFORM CALCULATIONS.'<br />

127 PRINT"CWHITE,DOWN,RVSON,SC,SH,S02,SS,SE,RVSOFF,SPC-•<br />

159 PRINT<br />

1160<br />

PRINT111,A:FOR B=1 TO A:IF AS1B)=""THEN ASIB)="1C41."<br />

CHOME,<br />

161 PRINTII,AVB):PRIN'01.R07.1):FOR 88=1 TO R07.(8)-1<br />

00WN71<br />

162 IF DAS(13,810=""THEN DA41,1381="IC411181ACC"<br />

":FOR 163 IF XXS(8,88)=""THEN XXS(8,B11)=N:C411IBLACK1"<br />

I 164 PRINTII,DAS(B,BP:PRINTE,DEI,BP:PRINTII,W118,BE0<br />

=<br />

1 :PRINT111,BA(8,11B)<br />

T165<br />

PRINT11,XX$1,88):NEXT BB,B:CLOSE 1:0PEN 1,3:GOTO 114<br />

O 166 IF LEFTCACI,11="CCLEARrTHEN ACS=MIDUAC4,11:RETURN<br />

167 ACS=ACSOCCLEARP:RETURN<br />

2 0 : P<br />

R<br />

168 ON<br />

I N<br />

VAUBS16O1O<br />

T<br />

169,183,114<br />

"<br />

169<br />

I<br />

PRINT'EDOWN2,CYAN,SA1MOUNMINPUT<br />

S P<br />

DE(X,ROX(X1)<br />

170 IF DE(X,ROVX11=


2113 °RINTCLEAR,CI,RVSON,GPC12,YELLOW,RVSOFF.ERE-NAME<br />

2ATEGORYERVSON,CI,SPC121"<br />

04 GOSH 7000<br />

L15 PRINEDOWN2,YELLOW,SPIRESENT CATEGORY ”11<br />

, :PRINT"CRYSOWASIX)<br />

"' 206 PRINT"CDOWN7,6REEMENTER I S<br />

NEW CATEGORY "BE :-"<br />

:INPUT AS(X)0TO 114<br />

:07 PRINTHICLEAR,C1,RVSON,SPC40r<br />

20B O=LEN(ASIX)1:00=!40-00t2:IF YS="4"THEN PRINTS1,<br />

TABICIOI;;GOTO 210<br />

209 PRINT'IHOE:FOR 01=1 TO OO:PRINT41,"IRVSON,SPC1":<br />

:NEXT<br />

210 PRINTSWIYELLOWPASIX):GOSUB WO:RETURN<br />

21: PRINT'ICLEAR,C1,RVSON,SPC11,RVSOFF,YELLOW,5M<br />

ONEY TRANSFERMSON,CI,SPC17r<br />

30SUB 7000<br />

211 S=2:GCSUB 112:PRINT'ISMANSFER FROM CATEGORY :-";<br />

:INPUT C$<br />

214 IF CS=""THEN 114<br />

21! PO=ASC(CS)-64:GOSU8 260<br />

216 C=ASC(CS)-64:IF BA(C,R07.IC)-1!>0 THEN 219<br />

217 PRINT'ECLEAR,DOWN9,YELLOW,RVSON,RIGHT8.SN,SO,GPC,GM,<br />

SO,SN,SE,SY,SPC,SF,SO,SR,SPC,ST,SR,SA,SN,SS,SF,SE.SRP<br />

218 :FOR 1=1 TO 1500:NEXT:GOTO 114<br />

219 PRINT"ICLEAR,CI,RVSON,SPC13,RVSOFF,YELLOW,SM]<br />

ONEY TRANGFERIRVSON,C1,SPC133"<br />

220 GOSH 7000<br />

221 S=2:61151111 112:PRINT"ESTIO CATEGORY :-";<br />

. 222 IF CCS=""THEN 114<br />

:INPUT 223 PR=ASC(CCS)-64:GOSUB 262<br />

224 PRINT"ICLEAR,CIAVSON,SPC13,RVSOFF,YELLOW,SM),<br />

ONEY TRANSFERERYSON,CI,SPC13r<br />

225 G1SUB 7000<br />

226 C=ASCICS)-64:CC=ASC(CCS)-64<br />

227 PRINT'IDOWN,WHITE,SURANSFER FROM :-•<br />

:PRINT"ERVSOM1"AS(C) "IRVSOFF,SPCNOISPC,RVSONrAUCC)<br />

229 1.10414IC,ROXIC)-11:60SUB 264<br />

229 PRINT"!DOWN247,SM1ONEY IN ACCOUNT :- I"BAS<br />

230 PRINT"ECOWN2,CYAN,SAJNOUN1 :-":INPUT WIIC,ROXIC)1<br />

231 IF WIIC,RNICI)="0"AND MIDEBAS,LENIBAS)-1,<br />

.00":60TO 110"."THEN 277 2<br />

276 BAS=BA$+"0"<br />

7 7<br />

277 8AEMIDSIBAE2):RETURN<br />

278 GET CS:IF CS="'"HEN 278<br />

277 IF C1=2HRSI13THEN RETURN<br />

280 ACS=ACECEPRINT"I";:GOTO 278<br />

281 IF LEN1DES)=4 THEN P1=P1+5<br />

282 IF LENIDES)=5 THEN P1=P14-4<br />

283 IF LENIDEV=6 THEN P1=P1+1<br />

284 IF LEN(DES)=7 'HEN P1=P1+2<br />

265 IF LENIDESA THEN P1=P1+1<br />

286 IF LEN(WIS1=4 THEN P2=P2+5<br />

287 IF LEN1WIS)=5 THEN P2:P2+4<br />

288 IF LENNIS)=6 THEN P2=P2+3<br />

28<br />

7 290 IF LENNIV=8 THEN P2=P2+1<br />

I271<br />

IF LEN(BAS1=4 THEN P34146<br />

F 292 IF LENI9AS)=5 'HEN P3=P3+5<br />

L293<br />

IF LENIEAC=6 THEN P3=P3+4<br />

E294<br />

IF LEN(BAS)=7 THEN P3=P3+3<br />

N29!<br />

IF LENIBAS):8 THEN P3=P3+2<br />

I296<br />

IF LENIBAS1=9 THEN P3=P3+I<br />

W297<br />

IF LENIDES)=1 THEN P1=P1+6<br />

I298<br />

IF LENNIE:3 THEN P2=P2+6<br />

S299<br />

IF LENIBASI=3 THEN P3=P3+7<br />

) 301 RETURN<br />

= 12 IF LEN:DEC:5 THEN PS="ISPC4I"<br />

7 30: IF LEN(DES)=6 THEN PS="ISPC1P<br />

T304<br />

IF LENIDEV=7 THEN PS="ESPC2r<br />

H385<br />

IF LENIDES)=9 THEN PS:"<br />

E<br />

306 IF LEN(WIS)=4 THEN OWESFC51"<br />

N<br />

P<br />

2<br />

=<br />

P<br />

2<br />

+


CE4<br />

307 Ir LENNIS)=5 THEN 08:<br />

:-IRVSOFF,BLACKY<br />

308 1 IF LENNI3)=6 THEN OWCSPC31"<br />

309 (SPC4r IF LENINI$1:7 THEN O1ESPC21"<br />

310 IF LENNIS)=8 THEN OW •<br />

334 PRINT"! LISPC,5COOK:PRINT"2 =ESPC,SEUBTRACT"<br />

:PRINT*3 mISPC,SMEILTIPLYI:PRINT"4 :ISPC,SEIVIOE"<br />

:PRINT'S :ISPC,SANSWERIDOWN2r<br />

311 IF LEN(E4114:4 THEN RWISFTE"<br />

335 GET CS:IF CW"THEN 335<br />

312 IF LEN(BAS).f THEN RWISPC51"<br />

736 IF C$0"5•THEN INPUT CZ<br />

31: IF LEN(814)6 THEN RWESH41•<br />

314 IF LEN(8AS)=7 THEN RW[SPC7r<br />

337 ON VAL(CEGOTO 338,339,340,341,342<br />

378 C1:-<br />

315 IF LEN(BASJ=8 THEN RWESPC21"<br />

-739<br />

CI:C1-C2:GOTO 332<br />

316 IF ,IN(BAC=9 THEN R$="<br />

C14.C 340 CI.C11C2:GOTO 332<br />

317 IF LENiDES).<br />

2:GOT 741 CI:Cl/C2:GOTO 332<br />

, 318 IF LENNIS123 THEN OW[SPC6]*<br />

319 4 THEN IF LEN(RAS)=3 THEN RWISPC7r<br />

320 P GOTO W [ 78S<br />

P<br />

321 C PAW 5 ) AAAAAAAAP:PEWESPOUNIAP<br />

"<br />

322 PBS=PCSPC1IN9999.99"<br />

323 POWISPC21)99999.9?"<br />

O 342 LOCI:GOSH 264:PRINPEC3,RVSON,SA,8N,SS,SW,SE,9R,9PC)<br />

3 :-CBLACK,RVSOFFI 3<br />

'JO<br />

2343<br />

PRINT"DOWN,SPC8,Srli =ISPC,SM<br />

1 ISPC,SR,SE,ST,SU,SR,SNY<br />

SO,SR,SE,SPC5,SFL3<br />

344 GET CS:IF CW"THEN 344<br />

345 IF NeEFIrTHEN 331<br />

324 POWISPO31199999.99"<br />

IF CI eEF3I"THEN SOTO 114<br />

:25 PFWISPC39111"<br />

350 IF AIS=<br />

326 OPEN 3,4,1:0PEN 6,4,60PEN 10,4,10<br />

93:<br />

327 OPEN 2,4,2<br />

14<br />

352 IF 413"THEN A2=33A3:46<br />

328 OPEN 1,4,7:PRINTII,CHRS(14)<br />

1 353 RETURN<br />

329 PRINT46,CHRS(0):RETURN<br />

THEN I355<br />

IF ROZON18 THEN A1=1:RETURN<br />

330 PRINT'IBLACK,CLEARY<br />

331 INPUT"IBLACK,CLEARYtC1<br />

332 :<br />

333 PRINT'[DOWN,C3,RVS0N,SC,SH,S02,SS,SE]<br />

AF 356 2 IF : ROW).13 1 : THEN A1=2:RETURN<br />

A A357<br />

3 IF = RO(X))32 1 THEN A1:3:RETURN<br />

61<br />

7000 PPINT•CUP,REO,CTOP:RETURN<br />

i<br />

2<br />

*<br />

T<br />

•<br />

:r • r • H•<br />

,<br />

• -<br />

.••:r E<br />

4*****01WW•WiRVAiKWai<br />

• s N<br />

-<br />

• A<br />

EAV,;i<br />

.,<br />

2<br />

:iSUBSCRIPTION<br />

ORDER FORM =<br />

I' I<br />

fi -<br />

.<br />

-<br />

,•<br />

•<br />

MMODORE<br />

•<br />

••<br />

,<br />

•,<br />

i1<br />

- • - - • • •<br />

,<br />

E a<br />

1<br />

7<br />

,<br />

:<br />

] ? k l e : . . a t i n g l I s<br />

11••••1111) • •<br />

,<br />

6111013.110<br />

M W - err •••• NI 4 • 4 • 111<br />

•<br />

"<br />

nom sego, a NRm in Jetsam<br />

1<br />

.<br />

"<br />

i<br />

4611111<br />

.<br />

h<br />

a 1111111<br />

-<br />

Whatever your interest in the<br />

r<br />

/<br />

-<br />

6<br />

Commodore 1 range of computers<br />

and peripherals, 0 you simply cannot<br />

1<br />

afford 1111 to miss a single issue.<br />

11<br />

SUBSCRIPTION RATES<br />

11<br />

i16.60 for 1 12 issues U.K.<br />

£21.50 for 1 12 issues Overseas Surface mail<br />

£57.00 for 12 issues Overseas Air mail<br />

A<br />

3<br />

.<br />

7<br />

2<br />

SOSO<br />

ONUS<br />

ammo<br />

/<br />

e *<br />

/ S<br />

# .* e<br />

/<br />

s.<br />

0<br />

Send this form with your remittance to:<br />

INFONET LTD., Times House, 179 The Marlowes,<br />

Hemel Hempstead, Herts. HP! IBB.<br />

o<br />

V .<br />

e•<br />

o $ 0 0 v4<br />

!<br />

ek<br />

7<br />

"


HAVE YOU EVER WANTED TO GET INTO<br />

communications? Would you like to get<br />

in touch with other Commodore owners?<br />

Well, Your Commodore, together with<br />

Compunet, are pleased to announce the<br />

start of Club 128, and give you a chance of<br />

a special membership offer.<br />

Club 128 will appear on Compunet asa<br />

'free access area open to all CNET<br />

subscribers.<br />

The club will be the focal point for all<br />

'serious' users of Commodore<br />

computers, hence the '1 28'affiliation. The<br />

128 doesn't mean that owners of C64s<br />

can't join. In fact the club is open to all<br />

Compunet members though only<br />

'serious' users are expected to make a<br />

great deal of use of it.<br />

Many sections of Compu net are due<br />

to be 'pulled in' to this online area.<br />

including the 'Briefcase' business section<br />

that is already in existence.<br />

Your Commodore will have a<br />

magazine section within the club area<br />

where you will be able to find news and<br />

the latest programs that are published in<br />

the Magazine.<br />

The Offer<br />

So what do you get and what does it cost?<br />

Your Commodore is offering a special<br />

membership to the Club for f69,99<br />

(inc VAT and P&P in the UK) including:<br />

A Commodore 64/C128 Communications<br />

modem (worth [79,991<br />

A three month GOLD subscription to<br />

Compunet (worth 115.00<br />

A six month subscription to Your<br />

Commodore<br />

• PLUS *<br />

£10.00 of discounts on selected business<br />

and communications software, including<br />

software for accessing Viewdata and<br />

Electronic Mail services such as Prestel<br />

and Telecom Gold.<br />

In order to take advantage of this<br />

special offer you simply need to send a<br />

cheque or Postal Order made payable to<br />

Club 128 to the address on the below<br />

order form.<br />

I enclose a cheque made payable to Club 128 for f69_99 for my Gold membership to<br />

Compunet<br />

y<br />

C o m<br />

mName o d<br />

o r e<br />

m o<br />

dAddress e<br />

m<br />

a<br />

n<br />

d<br />

sPostcode<br />

i<br />

x Please allow at least 28 days for delivery. Order should be sent to: Club 128 Compu-<br />

mnet<br />

Teleservices Ltd, 7-11 Minerva Rd, London NW10 6F11.<br />

o<br />

n<br />

88<br />

t<br />

h<br />

s u


Lineage: 40o per word.<br />

(46p incl. VAT).<br />

Semi display: MOO per single column centimetre (plus<br />

VAT). Ring fot information on series bookings/discounts.<br />

All advertisements in this section must be prepaid.<br />

Advertisements are accepted subject to the terms and conditions<br />

printed on the advertisement rate card (available on request)<br />

SOFTWARE<br />

SOCCER M ANAGER - Manage yo u r<br />

own t e a m . 4 d ivisio n s, F A. C u p ,<br />

transfers taCticS e tc.<br />

SOUTH EAST KENT SOFTWARE<br />

Dept Y,C P.O. Boa 152 Orpington. Kent<br />

RACENIGHT - R u n yo u r o w n<br />

raCenight u p t o 1 0 p la ye rs. Excit in g<br />

rorse ra cin g game<br />

SOCCER QU I Z - Te st yo u r SOCCe<br />

,<br />

knowledge, nundreds of oJeStions.<br />

Any , yie •i), E199, 2 for E6.99, 3 tor E8_50<br />

T. PAL M ER, 59, Old Pa rk Road,<br />

Sheffield 8 . Te l; 0142 749498.<br />

We stock inr Spectrum, Amsi<br />

, dore Se n d S.A E. to r lu ll list and prices<br />

ad.Corwrno-<br />

Please st a t e w h ich Po sta g e sPa ckin g<br />

overseas El 00.<br />

COMMODORE 64 GAM ES (TAPE'<br />

RAP OUR PRICE<br />

Commando E 9 . 9 6<br />

Beach bead II E . 9 95 E6 .7 5<br />

Jell Capes E l i 95 £ 6 .6 5<br />

Sommer Games li £ 9 9 5 E6 .7 1<br />

Transformers E 6 . 9 5 E6 .5 5<br />

Winter Games E D A M E7 31<br />

ALPHASOFT<br />

CB 5164 Software - 25% Reductions<br />

Ku<br />

Con, Bakery<br />

C6,90<br />

, £7.45<br />

Ueserl Fos £7.65 Vie Ar K.m g Fu<br />

g-<br />

S'oy Vs SPY IIE7<br />

Fi<br />

Undium £6.90<br />

•<br />

The Eidolon OAS<br />

Ball Blazer E7.50<br />

r m<br />

4S<br />

Bounder £7.45<br />

Me<br />

ar<br />

AND M ANY M ORE!<br />

s<br />

C Cneque P 0 . t o AL PHASOFT<br />

t<br />

? 115 Parsonage Road, Withington.<br />

e Manchester M20 9 W2<br />

r<br />

4<br />

5<br />

Never Ending Story E9 95 E6 .5 I<br />

Dole* Shot II Joystick E11e5 E7.95<br />

a<br />

Prices Now<br />

r<br />

Include Postage/Packing<br />

BUSINESS (DISK)<br />

e<br />

RRP OUR PRICE<br />

Superscript i E 6 9 96 E5 2 , 9 5<br />

perbase<br />

m<br />

64 j 9 9 95 Ee 6 .0 0<br />

Horne Accounts £ 2 4 .9 5 E1 9 .9 6<br />

a<br />

EDUCATION<br />

English Mraths. German Fre n ch . History<br />

RAP E9 95 . OU R PRICE £7.95<br />

Oned..,es•PO's ) payable to J. Ferguson<br />

Please<br />

,<br />

allow 21 days deleery<br />

m<br />

o<br />

r<br />

e<br />

BANKER 64<br />

T<br />

i<br />

If you a re fed u p not being able to Keep IracK C yOu r Lank t account this p w9 rs nmay<br />

b e juSt what you are looking to r. Sim ple to use as iil<br />

is menu driven it will hold<br />

full d e ta ils o f Cre d its De b it s. Standing o rd e rs and Dire ct Debits and w ill a u to '<br />

matically p la t e them in date order. It will De e you statements<br />

e<br />

to screen o r printer<br />

including the 1520 plotter printer Re co rd s can be stored s on both disk and tape for<br />

Complete b a ck-u p . En t ry to any account is b y name and Se cu rity code which can<br />

be changed as necessary. Th is m 'c program is very good value at E6.25 disk, E4.00<br />

la ps<br />

RAMFILE<br />

Keep tra ck o f yo u r Software, Records. Stam p Collection. Addresses etc. with th is<br />

easy tO use menu d rive n fi llin g syste m . En t ry lit le s are user delineable. Powerful<br />

options in clu d e search and amend routinet. Prin t routines allows printing of entry<br />

title, selected entry o r Complete file to any printer •ncluding the 1520 plotter. Files<br />

can be Stored o n both d isk and tape.<br />

This rn .<br />

, Special Offer - Both programs E10Misk Both programs E7.00 Tape<br />

c All prices Inc:hide VAT P&P Cheoues & P 0 to<br />

p r o<br />

RJP ELECTRONICS<br />

g r27 aDenham<br />

Way, Camber, Rye, Ea st Susses TN3 I 7 XP Te l: 0 7 9 7 ) 225549<br />

m<br />

i<br />

s<br />

DERBY v DAY - C16 Can you pick<br />

a winner e in this Horse-Racing<br />

Spectacular? r On Screen Action.<br />

CLAIRES COMPUTERS<br />

Commodore 64 special otters<br />

DISC O U R PRICE<br />

visual y form guide. Over 50<br />

horses, g thousands of race<br />

o<br />

combinations. Realistic betting<br />

o<br />

from different meetings. Plus<br />

d<br />

many more features. Send E5,75.<br />

v<br />

Enquiries welcome. Cheque<br />

a<br />

P<br />

l<br />

P.O. . uBox<br />

69, Blackpool FY2 9EX.<br />

Fichte, P lof £ 6 . 5 0<br />

They Solo A Million O A S<br />

TAPE O U R PRICE<br />

Pit Stop II t 4 . e 9<br />

Winter Games E 4 • 9 9<br />

Theatre Europe , E l . 5 0<br />

rankle Goes To Hollywood E3 .5 0<br />

The Fourth Protocol E 3 50<br />

Spitfire 40 E 4 . 5 0<br />

Spitfire Ace e 1 . 9 9<br />

Jump Jet E 3 50<br />

Ace E l 50<br />

O e<br />

a<br />

t<br />

t<br />

THE<br />

o<br />

OPEN Golf Game. Plus 4 or<br />

E<br />

C16 (tram), Sound, colour<br />

B 6<br />

graphics . E1.95. Cheque/P.O. to<br />

WC. l<br />

2Showell,<br />

3 Silver Birches,<br />

Elstead, o 5 Surrey,<br />

o d<br />

Zaskon L 2 . 5 0<br />

Rock n Wrestle 1 4 §9<br />

This e3 lu st a Sm a ll selection fro m o u r<br />

Stock Se n d now fo r our latest<br />

Cheque.iP Q.s to<br />

CLAIRES COMPUTERS<br />

16 Treganoon Road, Mount<br />

Ambrose, Redruth, Cornwall<br />

TR15 10Z. Tel: 0209 211930.<br />

FOR YOUR SOFTWARE NEEDS<br />

m<br />

f<br />

i<br />

e<br />

l<br />

i<br />

s<br />

k SOFTWARE TO SELL!<br />

,<br />

EFOR<br />

ADVERTISING DETAILS PHONE<br />

4<br />

. DUNCAN NEILSON ON 01-437-0626<br />

d 0<br />

S<br />

o<br />

0<br />

t<br />

a<br />

f p<br />

t<br />

e<br />

.<br />

YOUR COMMODORE<br />

01-437 0699<br />

EXT. 291<br />

COMMODORE REPAIRS<br />

Commodore rape rs by Commodore<br />

approved e n g in e e rs R e p a ir p rice s:<br />

Vic 2 0 mueslis:tor EOM . Vic 2 0 E15.00.<br />

OBM 64 from C20.00 C2N from Et a p 1541<br />

Irons £20.00. C5 4 psu E13.50. Spectrum<br />

E16,50. Cesoon E32.00 Electrons, Ala n .<br />

For more i-formalinn SAP nr felephone:<br />

G.C. BuNCE & SON,<br />

36 Burlington Road, Burnham,<br />

Bucks S11 7E30.<br />

Tel: (06286) 51695.<br />

Siam-Epal Mon-Fri.<br />

GENERAL<br />

Send your requirements to:<br />

STUART TAYLOR<br />

ASP LTD, 1 GOLDEN SQUARE,<br />

LONDON W1<br />

REPAIRS<br />

BUY OR SELL your unwanted<br />

software, booKs and hardware. We<br />

put you oire-ctly in contact with<br />

each other in your area, Details:<br />

Second Hand Computer Sales<br />

Agency. 38. Bowling Alley Walks,<br />

Dorchester. Dorset. Tel (0305)<br />

64849 (24 hrS).<br />

DISCS<br />

FREE DISKS !!!<br />

For every 10 ordered we supply 11<br />

SSiDD E10.99 SSIOD E13.19<br />

DS/DD E13.19 DS/OD E15.39<br />

3<br />

SiSide E27.49<br />

1<br />

DISide E32.99<br />

All prices INCLUDE<br />

/<br />

VAT<br />

Delivery is FREE<br />

All disks guaranteed 2 for 12 months<br />

Cash with order " please to<br />

HOLLBARN Ltd., Dept CM1,<br />

8 Alexander Road, Stotfold,<br />

Hilchin, Herts. SG5 4NA.<br />

''MR FLOPPY" Discs. The<br />

Universal discs will work reliably<br />

on ANY drive. DiS CID 961pi<br />

80tr. 10 for E15, 25 E35, 50 E65,<br />

lifetime warranty. SantellSoft,<br />

10 Pennine Drive, NVV2 1PB, 458<br />

1491. Unbranded discs D/S80tr,<br />

10 for E12, Prices inclusive.<br />

EPROM<br />

PROM-64<br />

EPROM programmer for 8K. 18K,<br />

LIF socket. Vpp generator &<br />

software on tape E 3 4 . 7 5<br />

64-CARTridge, 2 8K E5.95<br />

DEMO EPROM 8K E 4 . 9 5<br />

DHOE1-2 EPROM eraser 02.95<br />

1 5'.e. VAT<br />

Cambridge Microelectronics<br />

One Milton Road, Cambridge<br />

CBI<br />

Tel: (0223) 314914 Tlx: 81574<br />

TRIDENT ENTERPRISES<br />

LTD<br />

Commodore 64 -El& Vic 20<br />

- E12.50, Spectrum -<br />

E10.50, QL - E313. 1541 Disk<br />

Drives - E20, and all Commodore<br />

systems. Send faulty<br />

machine with note describing<br />

fault to:<br />

UNIT 7, WENTWORTH INDUSTRIAL<br />

COURT.. GOODWIN ROAD, BRITWELL.<br />

SLOUGH TEL : 0753 2139<br />

1<br />

Overseas enquiries welcom e.<br />

(Above p n ce s are e xclu sive o f<br />

pants and VAT).<br />

HARDWARE<br />

Super Breaker<br />

Back-Up Board<br />

For thy Gommoccre 64, C8f.,1 t28<br />

VIC-20. When a second CEIM type cassette<br />

u n it is connected to the board<br />

will m a ke se cu rit y baCk-up Copies o f<br />

cassette b a se d So ftwa re , in clu d in g<br />

Turbo,<br />

, Machine C o d e a n d D a t a File s N o<br />

Fast<br />

additional so ftwa re is needed. Ve ry<br />

User Frie n d ly. t h e b a ck-u p co p y is<br />

Lmade o aon<br />

the second cassette while the<br />

doeginal e r is loading on the fi rst Price at<br />

s E8 . 95 Plu s P&P.<br />

B<br />

RESET CARTRIDGE for ce m 84. This<br />

a<br />

cartridge will reset a ll, ye s a ll. memory<br />

sresident i p ro g ra m s. In clu d in g a ll p ro -<br />

c prams where standard reset switch e s<br />

fail Price E7 95 - P&P.<br />

a<br />

nP&P<br />

55p U K (Europe add E1.00, e lse -<br />

dwhere<br />

add E2.001. Se n d cfl e q u e<br />

/ ,<br />

order, or a Vamp for details to:<br />

opoStal<br />

C. Kent, 28 Northcape Walk,<br />

r Corby, Northants, NN18 900.<br />

For enquiries lelephone (0536) 742622<br />

SPORT<br />

Horse form CBM .<br />

graphics/sound. 6.1-• printer/screen<br />

Output. - Save-load 2 8 ra ce tiles, e a sy data<br />

entry. Fo r the m ore d isce rn in g Hal<br />

racing m en H o rse Torn, g ive s<br />

winners (7 , 9 5 cassette.<br />

Otieque<br />

, SEESAW SOFTWARE.<br />

Soy No . 212, Ye Arg u s Sp e cia list<br />

P0<br />

Peelications, No . 1 . Go ld e n Square,<br />

London W1 R 3A13.<br />

When replying to<br />

classified advertisements<br />

readers are recommended<br />

to take steps to protect<br />

their interest before<br />

sending money.


Advertisements placed in this magazine are to be in strict compliance with our standard conditions (copies of which<br />

conditions are available on request) and on the clear understanding that the advertiser warrants that his<br />

advertisement(s) does not infringe any copyright or condition of sale of any interested party in the advertised<br />

product.<br />

Further, the advertiser indemnifies the proprietors of this magazine in respect of costs, damages, or any other claims<br />

brought against them as a result of legal action arising from the publication of the advertisement.<br />

Any breach of these terms or the said conditions may result in prosecution of the advertiser by the proprietors<br />

FOR MIRE<br />

HIRE H I R E<br />

STAFFS COMPUTER LIBRARY<br />

CBM 64 OWNERS<br />

Join the friendly Library. We give you what you want. If a title<br />

is not on our list then we will get it, if it's still available.<br />

iGames only)<br />

• All the latest Titles<br />

• Full 7 Days Hire<br />

• Low Hire Cost. From 75p<br />

• Up to 4 Games per week<br />

• All games original<br />

• Lots of American Titles<br />

• Low Hard and Software prices<br />

• Membership ONLY £5.00<br />

Free mic Monitor on joining<br />

Send your cheques/postal orders payable to;<br />

STAFF COMPUTERS<br />

The Newlands, Greensome Lane, Stafford<br />

COMMODORE 64 cassette<br />

library. Hire latest games and<br />

educational software, only one<br />

price £1.50 per cassette 7 days<br />

hire. Details S.A.E. please C.C.L.,<br />

19 Darrell Way, Abingdon. 0)(14<br />

1 Ha<br />

TERMS<br />

CLASSIFIED ADVERTISING<br />

TERMS & CONDITIONS<br />

Our te rms for ne w a dve rtise rs (se midisplay<br />

a nd line a ge ) a re strictly protorma<br />

pa yme nts until sa lisla ctory<br />

reference ca n be taken up (e xcluding<br />

recognised a dve rtising a ge ncie ll.<br />

Cheques a nd PO's M ould be crosse d<br />

and made payable la ,<br />

ARGUS SPECI ALI ST PUBI CATI ONS<br />

LTD.,<br />

and send together with the<br />

advertisement to,<br />

THE CLASSI FI ED DEPT., U K<br />

NO: 1 GOLDEN SQUARE, LONDON.<br />

WiR 3 AB.<br />

There a rt no reimbursements for<br />

cancellations. Advertisements a rriving<br />

too isle for a pa rliclula r issue will be<br />

Inserted I n he totovoing issue unle ss<br />

accompanied by I nstructions to the<br />

contrary.<br />

All a dve rtising pa le , a re subje ct to<br />

Government re gula tion' conce rning<br />

VAT. Adve rtise rs a re re sponsible for<br />

complying with the va rious loge l<br />

requirements in lyre s e g. The Tra de<br />

Description Act, Se x Discrimina tion<br />

Act 4 The Busine ss Adve rtise me nt'<br />

(Disclosure) Orde r 1977.<br />

FULL TER M S & C ON D I TI ON S OF<br />

A0vER rsI N G AVAI L ABL E ON<br />

REOLeEST<br />

FOR SALE<br />

MOONRAKER E7.95<br />

COMM Space Game features fest<br />

afty-into Rolling Roder Display<br />

*intro Red Target Screlin<br />

Altitude, Time, Score indicators,<br />

Fuel/Psychos* Option, Promotion.<br />

Send your name, address 11. POrchequelM<br />

& J Gilmour Ltd.,<br />

Dept 'WOW 4 Copes Clove, Use,<br />

Hampshire OU33 YEW, England.<br />

Tei: 0030-11113430.<br />

WARNING NOTICE<br />

VIC-20/CBM-64<br />

SOFTWARE HIRE<br />

Free M embership. Hundreds of Title s<br />

to choose from Se nd 5 A E lot your<br />

Free Hire Kil<br />

VSH (YU), PO BOX 65., NOTTINGHAM NO'<br />

SOFTWARE<br />

APPLICATIONS<br />

HOME ACCOUNTS<br />

Put your house in order!<br />

Probably home computing's<br />

best use! Comprehensive<br />

coverage of bank accounts.<br />

Credit cards, HP in-built<br />

accuracy check. Records all<br />

transactions, Protects cashflow<br />

for any period ahead<br />

Available for Complete Commodore<br />

Range. E.8.45 or free<br />

details from:<br />

Discus Software<br />

Freepost<br />

Beach Approach<br />

Brixham TO5 8BR<br />

Tel: 08045 55532<br />

TO ADVERTISE IN THE ONLY<br />

INDEPENDANT COMMODORE<br />

MAGAZINE<br />

PHONE DUNCAN NEILSON NOW<br />

ON 01-437-0626<br />

HARDWARE<br />

* BACK-UP-SYSTEMS FOR CBM-64 & VIC-20 *<br />

The BACK-UP-BOAHO M h I is the fastest. and easiest wa y to ba ck up your tape<br />

programs. With this board you ca n connect a se cond CBM cassette cheek to your<br />

computer. You can copy a program on the second deck while the original loads from<br />

the first. You ca n back up a ll fast loaders, data files, e tc. BACK-UP-BOARD M k. I<br />

E10 DO inc. P&P.<br />

BACK-UP-BOARD M k. 2 This new verSiOn at our famous BACK-UP•BOARD is now<br />

proving so popular it is outselling our original M k. 1. This new board now works two<br />

ways. Switched to 'NORM AL it operates as the M k. 1 Switche d to 'GENERATE* , 6 4 '<br />

ownerS can use our special transfer software to regeneratea Copy Oa program on the<br />

second deck as it loads from the first. This method can produce a better clualityCopy<br />

than the original BACK-UP-BOARD M k 2 & Software E14 50 inc. PAP Conve rsion<br />

service. Return your M k. 1 Boa rd, if purchased from us, to be modified to M k 2 for<br />

E4 50 including software & P&P.<br />

AZIM UTH HEAD ALIGNM ENT TAPE by INTERCEPTOR for 641'. Use this le st tape<br />

with your '5 4<br />

-instructions<br />

and scre wdrive r supplied. E8.50 inc. PAP<br />

10 ROM SWITCH/RESET BOARD. Fit this board in the expansion pert or your '64' and<br />

a<br />

yOu<br />

d<br />

ca<br />

i u<br />

n reset<br />

s t<br />

ALL programs. Resets programs that a standard reset switch ca n't. A<br />

%ockel f o r a 2754 BK eprom is also fitted. Fu ll in stru ctio n s supplied £ 8 .9 5 Inc P&P<br />

t h e<br />

Please send SAE for more details of the above products. Send your cheque/PO to.<br />

h e a<br />

TURBOTRONIC<br />

d s<br />

o46<br />

Ripon SI., Parkinson Lane, Halifax, West Yorkshire HX1 3UG.<br />

f<br />

Tel: (0422) 52020<br />

y o (Europe add 50p outside Europe add E1.50)<br />

u r<br />

d e<br />

c k<br />

s<br />

tFOR<br />

A POSITIVE<br />

GAMES<br />

o RESPONSE!<br />

m<br />

a PHONE FOR A<br />

k<br />

e COMPREHENSIVE<br />

8<br />

p e ADVERTISING<br />

r f<br />

e c PLAN ON<br />

t l<br />

y 01-437-0626<br />

m<br />

a<br />

t<br />

c<br />

WORD DEALER, an exciting<br />

word game for up to four<br />

players. Four play levels too!<br />

Send cheque/P.O. E125 to R.<br />

Porter, Woodside House. Abbey<br />

Road, Scone, Perthshire, PH2<br />

8LL (C16 and plus/4).<br />

h<br />

e UTILITIES<br />

COPY<br />

d<br />

p<br />

DEADLINES<br />

a<br />

The long awalled 1541 Utility Disc<br />

i<br />

V1 .4!!!<br />

r<br />

As . we promised It features:<br />

• oisc P copier V1 2<br />

'r<br />

u<br />

lo copie r V1 2 copie s file d up to 196<br />

blocks long,<br />

• Ml enu drive n disc aid system with 12<br />

useful l commands.<br />

• Autoboot utility.<br />

• Program address reader<br />

- Qua lity packing arid documentaliOn,<br />

FOR YOUR<br />

COMMODORE<br />

All I bis tor rust E.9.95 on disc including<br />

1st cla ss post packing and VAT<br />

Please make chaquetP.O. payable lo<br />

AURASOFT (Dept Mi)<br />

4 Ash Grove, Nelson, CS4 66LR•<br />

AUG — 2nd MAY<br />

SEPT — 24th JUNE<br />

OCT — 28th JULY<br />

NOV — 26th AUG<br />

DON'T MISS OUT<br />

PHONE 01-437-0626<br />

FOR DETAILS<br />

GADGET 64 E6.95<br />

This 100% machine coat C1111164<br />

coseette utilIty theirs: Append, Dekne,<br />

Renumber Withering Got% Golub. etc.)<br />

Satisfyingly simple to use- Send your<br />

Nome, Address a PO or Cheque tor<br />

(PIP Frei) to<br />

& J Gilmour Ltd,.<br />

Dept TC4/08, 4 Copse Close, uss,<br />

Illempohlre 0U33 TEW. England.<br />

Tel: 07304113430,


FEATURING<br />

4 built-in 18-hole championship<br />

courses in both "3D AND PLAN VIEW"<br />

Wentworth Old Course. The Belfry<br />

Sun ningdale • Royal St Georges<br />

0,1 t t<br />

..zte.ta ‘<br />

CA ..,J1<br />

06a<br />

l<br />

I<br />

e C:<br />

to<br />

ot " s<br />

Get<br />

Oi<br />

Oll<br />

w<br />

s<br />

7<br />

DM/Ingot, ermillfhp<br />

tee.<br />

S<br />

"<br />

m<br />

e<br />

c<br />

N<br />

t<br />

i<br />

g<br />

t<br />

h<br />

e<br />

g<br />

r<br />

a<br />

i<br />

l<br />

.<br />

-<br />

P L<br />

u<br />

t Special<br />

ucompetition!<br />

n Win E500 worth<br />

i of golf equipment,<br />

a (or cash equivalent).<br />

M Full details with cassette or disk.<br />

t<br />

PLUS + + + + + + + + + + +<br />

• An easy to use Construction Set<br />

enabling you to build and play on<br />

any course in the world or an<br />

imaginary one of your own design in<br />

"3D AND PLAN VIEW"<br />

• Up to 4 players<br />

• Save game feature<br />

STRUCTION SET<br />

r An extremely sophisticated, authentic<br />

and exciting golf simulation program.<br />

VARIABLE FEATURES INCLUDE:-<br />

• Save Handicap feature-as you<br />

improve so does your handicap • sP 4<br />

• Wind<br />

(0<br />

speed, temperature V r 0\<br />

and ground conditions<br />

• 6- Choice 6 eof<br />

clubs<br />

• Lie of the ball<br />

• Strength of shot<br />

PLUS YOUR CHOICE OF PRACTICIIRODE/TOURNAMENT PLAY OR \ MATCH PLAY<br />

c<br />

e<br />

, jEL, SOUNDS AUTHENTIC?iTiSILAI J I ><br />

GET YOUR COPY OF encould- CON5 RUCTIONS • Tr NOW<br />

's not there, Wease<br />

A<br />

-P<br />

made Out to Ariolasoft U.K. Ltd., including your own name and<br />

. o vaddress,<br />

yto Arlolasoft o U.K. u Ltd., BB r Long Acre, crossed London cheque/ WC2E BM.<br />

-The<br />

Golf Construction Set C64 disk Elli.95<br />

a<br />

lUK<br />

orders only. Prices Include P & P. Please allow 28 days for delivery.<br />

lP.<br />

The Golf Construction Set C64 Twin Cassette E12.95<br />

\-‘<br />

‘16<br />

.<br />

‘<br />

,<br />

k<br />

t<br />

c<br />

c<br />

,<br />

oN C O<br />

\ '•C<br />

1 ‘<br />

C<br />

)<br />

e<br />

c<br />

,<br />

‘<br />

><br />

\<br />

HIGH PERFORMANCE PROGRAMS


MICROPOWE •PER: GAME<br />

Americana Software, all elican action at a superb<br />

value for money price of only<br />

SLANE _ _<br />

COMM<br />

' NEW - YORK CITY<br />

OD<br />

-<br />

ORE<br />

' 64/<br />

COMMODORE 64/128 • ATARI<br />

1 5<br />

SCOOTER<br />

COMMODORE 64/128 • ATARI<br />

OLLIE FOLLIES<br />

COMMODORE 64/128 • ATARI<br />

LICENSED TO THRILL<br />

M E " C A N<br />

/ SOFTWARE<br />

I ;,...4411

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!