Compute Gazette - Hosted by www.commodore.ca
Compute Gazette - Hosted by www.commodore.ca
Compute Gazette - Hosted by www.commodore.ca
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
,! Beyond eyon The 1541: Mass Storage SJfc For The 64 And 128 .<br />
$2.95<br />
COMPUTEPs PUTEI'<br />
$2.95<br />
5<br />
February 1986 1986 cg ©<br />
Issue 32, Vol. 4, No. 2<br />
• 02220 02220 $3.75 S3.75 <strong>ca</strong>nada<br />
Canada<br />
II<br />
m'U"%\<br />
Commodore 128<br />
Disk Disk Commands<br />
Commands<br />
A tutorial tutorial packed packed with with tips,<br />
shortcuts, shortcuts, and lots lots of howhowto information infonmation to help help you<br />
get get the most most out of your<br />
128 128 and disk drive.<br />
7U86 2220<br />
. ' . . '<br />
FOR COMMODORE PERSONAL COMPUTER USERS<br />
Lexitron<br />
An An exciting word game<br />
with with some some twists, twists, plus plus<br />
skill skill level level options. options. For For<br />
the Commodore Commodore 128, 128,<br />
64, Plus/4, and 16.<br />
Commodore 128<br />
, 0<br />
Also In This Issue:<br />
Machine Language For<br />
Machine Language For<br />
Beginners: Beginners: Exploring<br />
The 128's Monitor<br />
The 128's Monitor<br />
Computing Computing For<br />
Families: Homework<br />
128 Update: An<br />
Improved CP/M<br />
Commodore 128<br />
Commodore 128<br />
Memory Map<br />
All the key<br />
lo<strong>ca</strong>tions.<br />
lo<strong>ca</strong>tions.<br />
Families: Homework<br />
Helpers Disk Editor<br />
128 Update: An<br />
Improved CP/M<br />
And And More More<br />
Mini-Filer<br />
Disk Editor<br />
Examine and alter any <strong>by</strong>te<br />
on a disk with ease using<br />
this powerful utility. For the<br />
Commodore 64, Plus/4,<br />
and 16.<br />
A fast and flexible file manager loaded with<br />
features. For the Commodore 64.
The brains of Commodore comput<br />
The brains of Commodore comput<br />
ers since si nce day one—the one-the 6502/10<br />
chip powering the PET, CBM, SuperPET,<br />
VIC, 64, Plus/4, Plus/ 4, 16, and<br />
now the 128—is 128-is a doomed technology.<br />
This chip has had immense<br />
popularity. It was the microproces<br />
sor inside Apples and Ataris, too.<br />
But it's a twilight chip now.<br />
But it's a twilight chip now.<br />
Looming over the horizon, a<br />
much bigger and faster chip, the<br />
68000, 6S000, runs the new generation<br />
machines: the Apple Macintosh,<br />
Atari ST, and Commodore Amiga.<br />
But as often happens, the end<br />
of an age produces its finest flower. flowe r.<br />
Commodore's 128 is arguably the<br />
flower of the 6502 era. Bach's music,<br />
likewise, was nothing new. It<br />
was thoroughly baroque in style at<br />
was thoroughly baroque in style at<br />
a time when baroque was losing out<br />
to the emerging popularity of the<br />
classi<strong>ca</strong>l style. But few would dispute<br />
the power and grandeur of<br />
Bach's compositions.<br />
Just Just as as Bach summarized summarized and and<br />
best exemplified the Baroque age in<br />
best exemplified the Baroque age in<br />
music, the 128 takes the 6502 chip<br />
to its limits. It is an economi<strong>ca</strong>l<br />
computer, efficient and twice as fast<br />
as its predecessors, and yet also<br />
enormously flexible and welldesigned.<br />
It's reall really y several computers<br />
in one, and it offers just<br />
about everything a BASIC or machine<br />
language programmer could<br />
ask for.<br />
ask for.<br />
When the 128 was first announced,<br />
it was clearly a dark<br />
horse. More than one pundit de<br />
nounced it as an impossible ma<br />
nounced it as an impossible ma<br />
chine to market. And consumers<br />
were lukewarm, too, following the<br />
notable silence that greeled the ar<br />
notable silence that greeted the ar<br />
rival of the Plus/4 and the Commodore<br />
16. The market for Ihe the home<br />
computing dollar had grown se<br />
computing dollar had grown se<br />
verely restricted. Who would wanl want<br />
to buy another eight-bit computer?<br />
to buy another eight-bit computer?<br />
And most importantly, the Amiga<br />
was attracting all the attention be<strong>ca</strong>use<br />
it was the new age computer,<br />
a technologi<strong>ca</strong>l giant step forward.<br />
S COMPUTEI'. Gazlltta Februllty 1966<br />
6 COMPUTEVs <strong>Gazette</strong> FebWBry 19B6<br />
The 128 wasn't radi<strong>ca</strong>lly di{{er<br />
The 128 wasn't radi<strong>ca</strong>lly differ<br />
ent like the Amiga. It attempted to<br />
revive the tired CP/M CP/ M operating operating<br />
system, and it seemed odd, a bit<br />
monstrous, with several configurations<br />
including, including, somehow, somehow, an entire entire<br />
Commodore Commodore 64 stuck s tuck inside. inside.<br />
Would all that 64 software really<br />
run right? Would the new disk<br />
drive be faster and less prone to<br />
breakdown than older drives?<br />
Would an 80-column screen be<br />
Would an SO-column screen be<br />
readable?<br />
readable?<br />
These These and and other other doubts doubts that that<br />
clouded the introduction of the 128 12S<br />
have all but disappeared in the face<br />
of surprising surprising public public and and criti<strong>ca</strong>l criti<strong>ca</strong>l acceptance<br />
of the computer. It's sell<br />
ing very well. And, possibly more<br />
ing very well. And, possibly more<br />
signifi<strong>ca</strong>nt for its long-term success,<br />
signifi<strong>ca</strong>nt for its long-term success,<br />
people who use use it love it.<br />
It's multifaceted without becoming<br />
clumsy, and and allihe all the features<br />
are are fully fully developed developed and thoughtful<br />
ly integrated. And be<strong>ca</strong>use it has<br />
ly integrated. And be<strong>ca</strong>use it has<br />
got many software and and hardware hardware<br />
switches, you <strong>ca</strong>n arrange things<br />
the way you prefer. There are<br />
the way you prefer. There are<br />
switches fo forr a 40- or SO-column<br />
80-column<br />
screen, screen, warm warm reset, and and dozens dozens of of<br />
es<strong>ca</strong>pe es<strong>ca</strong>pe sequences sequences from the the key<br />
board. board. You <strong>ca</strong>n quickly erase to the<br />
start of a line, to the end of the<br />
screen, to to the end of of a a line, and and so so<br />
forth. This This multiplicity of ways ways to to<br />
erase erase is is symbolic symbolic of the many many levels<br />
of of control control the 128 offers. If If you you<br />
don't like the the block cursor, cursor, switch switch it<br />
to to an underline. If you don't like a a<br />
flashing cursor, switch it to a steady<br />
flashing cursor, switch it to a steady<br />
state. You <strong>ca</strong>n easily program the<br />
function keys to perform usefu usefull<br />
tasks at a single keypress. Programs<br />
tasks at a single keypress. Programs<br />
<strong>ca</strong>n be made to run at double speed<br />
<strong>by</strong> switching to FAST mode. Win<br />
<strong>by</strong> switching to FAST mode. Windows<br />
<strong>ca</strong>n make the screen more attractive.<br />
Programs <strong>ca</strong>n be loaded<br />
and run with a single command. In<br />
and run with a single command. In<br />
fact, just turning on the computer<br />
<strong>ca</strong>n boot up a configuration for the<br />
<strong>ca</strong>n boot up a configuration for the<br />
system from a prepared boot disk.<br />
Disks with a variety of useful uti li-<br />
system from a prepared boot disk.<br />
Disks with a variety of useful utili<br />
ties-everything from unscratch to<br />
ties—everything from unscratch to<br />
selective selective disk-copy—are disk-copy-are included included<br />
with the machine. Machine Machine language<br />
programmers will appreciate<br />
the dozens of internal hooks, doz<br />
the dozens of internal hooks, dozens<br />
of vectors, which make custom<br />
ens of vectors, which make customization<br />
much mu ch easier. BASIC<br />
programmers programmers will revel in the many<br />
new commands and easy to use<br />
disk instructions. Even SHIFT/ SHIFT /<br />
RUN has been sensibly changed<br />
from <strong>ca</strong>ssette to disk addressing.<br />
from <strong>ca</strong>ssette to disk addressing.<br />
It's a computer construction<br />
It's a computer construction<br />
set, set, and and the the owner has the the pleasure pleasure<br />
of participating in the design of his<br />
personalized computer. That fact,<br />
the great amount of 100 percent<br />
compatible compatible 64 software, software, and and its<br />
speed account for the sudden emer<br />
gence gence of the the Commodore Commodore 128 128 as as the the<br />
low-end personal personal computer computer to to<br />
watch watch in early early 1986 1986 and perhaps perhaps<br />
beyond. beyond.<br />
Sources Sources inside Commodore estimate<br />
that a quarter of a million million<br />
128s 128s will will be sold <strong>by</strong> <strong>by</strong> the end of<br />
1985, and and this this is responsible responsible for<br />
putting putting Commodore in the black. black.<br />
By contrast, the Amiga has reportedly<br />
sold less than a tenth as many<br />
units. Both machines <strong>ca</strong>me out of<br />
the starting gate at roughly roughly the<br />
same time, but the dark horse is<br />
leading the race at this point.<br />
leading the race at this point.<br />
Richard Mansfield<br />
Richard Mansfield<br />
Senior Senior Editor
Do Do you you have have it a question question or or a a problem? problem?<br />
Have Have you you discovered discovered something something that thai<br />
could could help help other other Commodore Commodore users? users?<br />
Do Do you you have have a a comment comment about about something<br />
thing you've you've read read in in COMPUTEr, computed GA ga<br />
ZETtE? We want to hear from you.<br />
zette? We want to hear from you.<br />
Write Write to to <strong>Gazette</strong> <strong>Gazette</strong> Feedback, Feedback, COMPUTErs<br />
computed<br />
GAZETfE, gazette, P.O. P.O. Box Box 5406, 5406, Greensboro,<br />
Greensboro,<br />
NC 27403. We regret thai due to the<br />
NC 27403. We regret that due to the<br />
volume of mail received, we <strong>ca</strong>nnot<br />
respond individually to program<br />
ming questions.<br />
ming questions.<br />
Commodore In Spanish<br />
I work with a children's home in Costa<br />
Ri<strong>ca</strong> Ri<strong>ca</strong> and and would would like like to to help help the the children<br />
get get started started using using computers. computers. I'd I'd like like to to<br />
buy buy some some Commodore Commodore machines machines if if I<br />
<strong>ca</strong>n <strong>ca</strong>r find find any any programs programs wrillen written for use use<br />
<strong>by</strong> <strong>by</strong> Spanish-speaking Spanish-speaking people.<br />
F. F. Brooks Brooks Herman<br />
Herman<br />
Although Although Commodore does 110t not produce produce<br />
any any software software for Spanis/I-speakillg Spanish-speaking people,<br />
Sigma, an exclusive Commodore distributor<br />
based ill in Mexico City, hilS has translated<br />
i,lIo into Spanish many many of of the most most popular<br />
Commodore software titles, and has /Ias de de<br />
Veloped veloped other other programs hi in Spanish. A/so,<br />
Also,<br />
Dlle one source at Commodore noted that other<br />
lo<strong>ca</strong>l distributors ill in Central and South<br />
Ameri<strong>ca</strong> have translated or written Span<br />
Ameri<strong>ca</strong> have trallslated or written Spanisll<br />
ish software. software. A Sigma representative representative <strong>ca</strong>n <strong>ca</strong>n<br />
supply supply more specific specific information information about<br />
these lo<strong>ca</strong>l distributors. You may contact<br />
these lo<strong>ca</strong>l distributors. You may contact<br />
Sigma <strong>by</strong> phoning plroning 52-5563-4144 (the first<br />
two digits-52-are digits—52—are Mexico's count country ry<br />
code), or <strong>by</strong> writing Sigma, Holbein #257,<br />
code), or <strong>by</strong> writing Sigma, Holbein #157,<br />
CP0381O, CP03810, Mexico DF. DF.<br />
A A Usc Use for POS POS<br />
It It seems that that the the POS pas function gets gets little<br />
or or no no attention attention from books books or or magazines.<br />
Can you explain POS pas and include<br />
clude some program program examples?<br />
examples?<br />
David David L L. Swain<br />
Swain<br />
The P05O() POS(K) function ftmctioll refilms returns the current<br />
cursor cursor position with within ill the the logi<strong>ca</strong>l screen screen<br />
lin line. e. A logi<strong>ca</strong>l screen screen lille line <strong>ca</strong>n <strong>ca</strong>n be be aile one or or<br />
more physi<strong>ca</strong>l screen lilies. lines. On On the 64, 64, for<br />
example, example, a BASIC BASIC program progrllm line <strong>ca</strong>n <strong>ca</strong>n contai,1<br />
tain up to 80 characters. Tire The 80 characters<br />
would would take IlIke up up two two screen screen lines, Jines, but would<br />
would<br />
be cOllsidered considered ollly only one logi<strong>ca</strong>//ine.<br />
logi<strong>ca</strong>l line.<br />
The number after POS pas (in parenthe parentIJeses)<br />
ses) is is a dummy argumellt argument that's that's ignored<br />
ignored<br />
<strong>by</strong> tlJe the function. fUllclion. You have IIlIve to i",:/ude include a<br />
10 COMPUTEr, COMPUTE."s Gtl.l:8I!(I Gawffe February 1986<br />
Editors and Readers<br />
Editors and Readers<br />
number, number, but but its its ualue vatue doesn'l doesn't mal/er. mailer. On On<br />
the 64 alld and tire the VIC, tile the value value retunted relumed <strong>by</strong> <strong>by</strong><br />
this function fUllclion is is the the same same as as the number /lumber hI in<br />
lo<strong>ca</strong>tioll lo<strong>ca</strong>tion 211, 211, the Ihe currelll current cursor column.<br />
011 On tile the 64, 64, POS retums returns a ualue value from from<br />
o 0 to lo 79. Values from 40 to 79 indi<strong>ca</strong>te tire the<br />
cursor is all on the second secolld physi<strong>ca</strong>l line. On<br />
the VIC, POS pas gives you a ualue value from 0 to<br />
87. Since each logi<strong>ca</strong>l line con/aills contains 22<br />
c/raracters characters all on tile the VIC, tile the first physi<strong>ca</strong>l<br />
lille line would haue have values values from 0-21, 0-21, the<br />
second second from 22-43, 22-43, and so so 011. on.<br />
Admittedly, tire the pas POS function lias has<br />
few uses. You mig/It might find it helpful in a<br />
program program thaI that hllndles handles text. Supp Suppose ose<br />
you've you'ue used used a modem modem 10 to download a text<br />
file and and wall wanted ted to print the file to tire the<br />
screen. screen. To prevent words words from wrapping<br />
wrapping<br />
around around and and beillg being split al at the end end of of a line,<br />
you could haue have your yO llr program check check tire the<br />
current current CIIrsor cursor position POSitiOIl using using POS. pas. If tire the<br />
value value were were greater tlrall than 30 30 or or so, so, you<br />
would prillla print a <strong>ca</strong>rriage re/um return (CHR$(13»,<br />
(CHRS(13»,<br />
like this: IF POS(O»30 POS(0)>30 THEN PRINT<br />
CHRS(13).<br />
CHR$(13>.<br />
The The Dreaded Dreaded LOAD LOAD ERROR<br />
Recently, Recently, while while saving saving a a program program to to the the<br />
twice. twice. Finally, the tape read/write head head<br />
might might be be dirty. Many MallY record stores slores have /Jave<br />
tape recorder cleaning/demaglletizing<br />
cleaning/demagnetizing<br />
kils kits wllich which will will work work just as as well well all on a<br />
Datassette.<br />
Listing Listing Conventions<br />
Conventions<br />
I typed in one one of of your your programs programs and and<br />
<strong>ca</strong>me <strong>ca</strong>me across across a a line line that that looked looked like like this:<br />
this:<br />
PRINT '1 "(
you <strong>ca</strong>n increment <strong>by</strong> ally value you<br />
you <strong>ca</strong>n increment <strong>by</strong> any value you<br />
choose, or decrease the score for fo r incorrect<br />
guesses <strong>by</strong> changing the plus sign to a mi minus<br />
/IUS sign as part of another routine in i,r your<br />
program.<br />
program.<br />
Strange Radiation? R.ldiation?<br />
I have a Commodore 1702 color moni <br />
tor. When I turn the monitor on and<br />
tor. When I turn the monitor on and<br />
hold the back of my hand to the screen,<br />
the hairs h3irs on the back b3ck of my hand h3nd tingle<br />
and stand out straight. Is this radiation<br />
and stand out straight. Is this radiation<br />
that would be harmful hannful to a person?<br />
What <strong>ca</strong>uses this, and should I be<br />
concerned?<br />
William E. Noice<br />
No need to don your radiation radialio,r suit—al suit-although<br />
eerie, what whal you're describing describi,rg is an aIr<br />
effect <strong>ca</strong> used <strong>by</strong> slatic eleclricily, alld is<br />
effect <strong>ca</strong>used <strong>by</strong> static electricity, and is<br />
perfectly normal. ,rormol. It's 11'5 no 110 more dangerous<br />
than /litH! the tire finely lingly feeling fuling you might miglrt get gel from<br />
rubbing a balloon bal/oo,r on your head. Ireod. Your<br />
monitor's mOllilor's electron declrOlr guns gUlrs shoot electrons at<br />
the surface of the glass, making areas of<br />
the screen light up, and giving it a static sIatic<br />
clrarge. Whe,r you touclr or move your<br />
charge. When you touch or move your<br />
hand 'raud near IIear the Ihe screen, the hairs pick up<br />
some of 01 that charge. The individual hairs<br />
have 'lave the lire same Same charge, and alld like charges repel,<br />
so 50 the hairs 'rairs move as far as possible<br />
Irom the others.<br />
from the others.<br />
This charge all on the screen screw is also a<br />
powerful dust du st magnet, magllet, which is why wiry TV<br />
and monitor screens screells get dirty so quickly. quiCkly.<br />
You <strong>ca</strong>n CII II eliminate elimi,rate the problem <strong>by</strong> USillg<br />
using<br />
all an allli-static anti-static cleal/er. cleaner. Also, static slatic electricity<br />
is only sigllifi<strong>ca</strong>,rt in dry wtather.<br />
tricity is only signifi<strong>ca</strong>nt in dry weather.<br />
If tlure there's 's moiSlure moisture in tire the air, lire the electri<strong>ca</strong>l<br />
charges slowly draill drain away, instead of<br />
builditrg up.<br />
building up.<br />
You may also encounter static dec elec<br />
tricity wlren when you walk across a <strong>ca</strong>rpet alld and<br />
ground yourself <strong>by</strong> touching a melal ob<br />
ground yourself <strong>by</strong> touching a metal ob<br />
ject. Although Altlrough tire the voltage may be high, Irigh,<br />
tile the currellt current is iI/signifi<strong>ca</strong>nt, insignifi<strong>ca</strong>nt, so stalk stalic electricity<br />
is har",less harmless 10 to you. However, semiconductor<br />
materials, IUaterials, illeludilrg including most of<br />
your compuler's circuilry, are especially<br />
your computer's circuitry, are especially<br />
sellsilive sensitive to the higlr high voltage of static dec elec<br />
tricity. A good spark between your finger fillger<br />
a,rd the joystick port is elrough to zap se ll<br />
and the joystick port is enough to zap sen<br />
sitive compollents. components. That's why it's a good<br />
idea to touclr touch a metal object to drain any<br />
static electricity you may have accumu<br />
lated before you tou touch cll allY any computer<br />
equipmellt or a ROM <strong>ca</strong>rtridge.<br />
equipment or a ROM <strong>ca</strong>rtridge.<br />
Speed Control<br />
My older children like the program<br />
My older children like the program<br />
"Character Assassi Assassination" nation" from the<br />
June 1985 issue. However, it moves too<br />
fast for my three year old and I haven't<br />
fast for my three year old and 1 haven't<br />
figured out how to slow down the fail fall<br />
ing characters. How would I 1 do that?<br />
Michael Schultz<br />
Tlrat program was published with botll a<br />
That program was published with both a<br />
VIC alrd and 64 versiorr. version. You didn't specify<br />
wlrich UlMch computer yOIl you OW own, II, bul but fortllrrately<br />
fortunately<br />
12 COMPUTEI'. COMPUTE'S Gazeue Gamte February 1986<br />
the tllf! modifi<strong>ca</strong>tions modifi<strong>ca</strong>tiolls are the lire same for both<br />
programs.<br />
To slow dowlI Ihe falling characters,<br />
To slow down the falling characters,<br />
you need to increase the Ihe value lJalue of the variable<br />
S5 in ifr line lille 90. This variable is used in<br />
the tlte delay loop at the thr beginning of line lim' 210:<br />
FOR TD-G TD - G TOS.NEXT TOS:NEXT TD. This This/oop loop<br />
starts at lit the FOR statement and alld ends at<br />
the NEXT. The value vallie of G is always a/ways 1I in ill<br />
the tire program, progra"" while wlrile S5 <strong>ca</strong>n <strong>ca</strong> ll range rallge from 1-28.<br />
Say S5 is equal to 28. The index iudex variable TD TO<br />
would count from'1 from 'J (the (tlte value of OG) to 28<br />
(the (Ihe value vallie of S). 5).<br />
This Tlris type Iype of loop, where the tlrr NEXT<br />
immediately follows fol/auls the FOR command, commalld, is<br />
often used to create a delay in a program.<br />
of tell used 10 create a delay ill a program.<br />
The program pauses while TD TO counts co unts<br />
from G to S. The higher the value ofS, of S, the<br />
longer 10llger the delay.<br />
So, to slow the tire speed of the characlers,<br />
YO Il lleed to increasr tire value of S.<br />
ters, you need to increase the value of S.<br />
We could substitute substitule aII higher higlter number IIIIII/ ber for<br />
28 in ill the II,e equation for S5 in line 90. A similar<br />
approach would wollld be to 10 add a variable,<br />
say DE, to this /llis equation equatioll which could be<br />
set at the beginning of ol'he the program. To do<br />
this, add a line 5:<br />
this, add a lille 5:<br />
5 DE - 2S: REM SET DE - IOO OR<br />
5DE = 28: REM SET DE-100 OR<br />
GREATER FOR fOR YOUNGSTERS<br />
And change the equatioll illlifre 90 10<br />
And change the equation in line 90 to<br />
read read S = - DE - 3*VAL(BS). 3·VAL(BS).<br />
As written, the program would be set<br />
As writ/e,r, the program would be sci<br />
up for your older elzildrtll. If your tllree<br />
up for your older children. If your threeyear-old<br />
is playing, playillg, cha,rge change DE to to 100 or<br />
higher in line 5 to suit his or her playing<br />
Irigller ill line 5 to suit his or Iler playing<br />
ability. Furthermore, Furtlremlore, if you like, like, you could<br />
could<br />
even elJe/! customize cuSlomize tire the program so that that it<br />
would request the Ihe name Ilame of the the player and<br />
adjusl adjust DE DE accordillgly.<br />
accordingly.<br />
A Second Second VIC VIC Joystick?<br />
Joystick?<br />
I recently bought The VIC-20 Program<br />
I recently bought The VIC-20 Program<br />
mer's Reference Referelrce Guide. Guide. It It says says that that a se
. as innovative in form as it is<br />
.n content. If they're all as goad as<br />
Mindwheel, we have a lotto look<br />
-GAMES<br />
"Techni<strong>ca</strong>lly and artisti<strong>ca</strong>lly, it<br />
represents the'wave of the present'<br />
in interactive fiction"<br />
-QUESTBUSTERS<br />
"... blazes a whole new frontier in<br />
computergame design'.'<br />
-COMPUTER GAMING WORLD<br />
E L E C T R<br />
Mindwheel, Essex and Brimstone.<br />
Fascinating stories, compelling<br />
characters, intriguing ideas, rich<br />
MINDWHEEL<br />
Every mind that has ever hsen<br />
continues to exist for eternity.<br />
language, a maelstrom ofconstant Somewhere in this web ofmental<br />
change - all the elements of the<br />
energy is the key to civilization's<br />
best SciFi and fantasy. Combined<br />
with the interactive possibilities<br />
you 've always wan ted in 3 great<br />
VI HKI"Q"< NftrlfL-<br />
text adventure.<br />
Electronic Novels are written<br />
<strong>by</strong> prize ■ winning published a uth ors.<br />
They're not "computer versions"<br />
of existing novels—they're stories<br />
conceived especially for this new<br />
medium.<br />
In the world of Electronic<br />
Novels, you have a lot more to do<br />
than "Go south "and "Kill dragon'.'<br />
You'll find that each character<br />
has a mind of his own, and nothing<br />
stays the same for long be<strong>ca</strong>use<br />
everything happens in res! time. So<br />
just be<strong>ca</strong>use that room was<br />
empty the last time you entered it,<br />
don't expect it to be empty this<br />
time. Everythingyoudo-or fail fo<br />
do—affects everything else that<br />
happens. The surprises never end.<br />
survival. You are the adventurer<br />
who must travel through four<br />
unusually powerful minds in<br />
search of the mysterious Wheel<br />
of Wisdom.<br />
synapse l<br />
A BRgDlRBUNO SOFTWAHF COMPAN1<br />
OrnnuiuinuKlmh Mismuit n I Inlriri/I hnmilt! Aic'i femvfw. I" t !3Si tr$4ntuitf Scltrirt. It<br />
You're t!fa;<strong>ca</strong>ptain of Int<br />
rescue mission. EyepWote you<br />
face the deadl?BiinisfsrPgople<br />
and the vile Volfc/itm, you Ve got<br />
your own crew to deal with - as<br />
unlikely 8 bunch of misfits as ever<br />
sailed the Sirus sector.<br />
BRIMSTONE<br />
You play the part of Sir Ga wain,<br />
proud Knight of the Round Table, in<br />
a mysti<strong>ca</strong>l quest for truth, chivalry,<br />
and a little peace end quiet. All<br />
you've got to contend with is the<br />
entire Underworld and every<br />
monster, ghost end demon known<br />
to medieval sorcery.<br />
BEGIN WITH A BOOK<br />
Set the stage and introduce your<br />
self to the characters with the<br />
graphic, hardboundbook included<br />
with each program. Just whan<br />
things start getting good, you'll<br />
switch to your computer—and now,<br />
you're at the center of the action!
lite;' ■<br />
Shake, battle & role.<br />
Warm up your Commodore* and $&\ ready for<br />
full-screen graphic action.<br />
Save tho industrial world from going off the<br />
deep end of Ihe Richfer s<strong>ca</strong>le in Quake Minus<br />
One. Stop (he terrorists from I ridyHriny a<br />
massive earthquiike; and toppling civilization.<br />
In Slmdowiire. Ambassador Kryxi* has<br />
been kidnapped. You havebu! 100 real-time<br />
minutes tci assemble a strike force of spe<br />
cialists and elite fighters to rescue him and<br />
then destroy the evil Zoff and hisslarship.<br />
Embarkonao,ufisl lodefeat Doomdark<br />
in Tbi> Lords of Midnight. Choose your rote. Capture<br />
the source of Doomdark's power or<br />
"- r conquer his forces in battle.Over 32.000<br />
different panoramas ensure a challenge.<br />
: Vir.il your software dealer. Ask lo see the<br />
new Beyond Lino from Minds<strong>ca</strong>pe. And<br />
discover graphics.
COMPUTEt's<br />
<strong>Gazette</strong> Disk<br />
COMPUTERS<br />
<strong>Gazette</strong> Disk<br />
Now you <strong>ca</strong>n enjoy the exciting programs<br />
Now you <strong>ca</strong>n enjoy the exciting programs<br />
from COMPUTEl's COMPUTErs <strong>Gazette</strong> <strong>Gazette</strong> on a<br />
ready-to-run disk<br />
,<br />
ready-to-run disk<br />
Every month you <strong>ca</strong>n receive COMPUTEt's<br />
Every month you <strong>ca</strong>n receive COMPUTEf's<br />
<strong>Gazette</strong> Disk, which includes the fascinating<br />
and challenging programs published<br />
in the the corresponding corresponding issue issue of COMPUTEt's<br />
COMPUTEI's<br />
<strong>Gazette</strong>, ready ready to load on your Com-<br />
modore 64 or VIC-20.<br />
modore 64 or VIC-20.<br />
The 5'h-inch floppy disk will arrive in your<br />
The 514-inch floppy disk will arrive in your<br />
home home in time for you to enjoy enjoy the quality<br />
quality<br />
programs of of COMPUTEt's COMPUTEI's <strong>Gazette</strong> <strong>Gazette</strong> without<br />
having to type a single program.<br />
having to type a single program.
The The following followilrg program uses uses tile the error<br />
error<br />
trapping commands commands to to screen screen out out bad bad user user<br />
input.<br />
10 10 TRAP TRAP 100 mo<br />
20 PRINT "ENTER TWO NUMBERS TO<br />
20 PRINT "ENTER TWO NUMBERS TO<br />
BE BE DIVIDED":INPUT DIVIDED":INPUT A,B:C A,B:C -= A/B A/B<br />
30 30 PRINT PRINT ''THE "THE FIRST FIRST NUMBER<br />
DIVIDED DIVIDED BY BY THE THE SECOND SECOND IS"iC<br />
IS";C<br />
40 END<br />
40 END<br />
100 IF ER - 20 THEN PRINT "I<br />
100 IF ER-20 THEN PRINT "1<br />
CANNOT CANNOT DIVIDE DIVIDE BY ZERO":<br />
ZERO"r<br />
RESUME: RESUME; REM ER -= 20 MEANS<br />
DIVISION BY ZERO<br />
DIVISION BY ZERO<br />
110 PRINT ERRS(ER)" ERR$(ER)" IN L1NE"El LINE"EL :<br />
REM IN IN CASE CASE OF OF OTHER ERRORS<br />
ERRORS<br />
Safeguard Safeguard your your latest latest software software <strong>by</strong> <strong>by</strong><br />
making making a a backup backup with with<br />
You Can't Write To ROM<br />
I was was trying trying to to get get into into ROM and and stumbled<br />
across the undocumented command<br />
SYSTEM. Sometimes it makes<br />
the screen act as though I pressed RUN/<br />
STOP-RESTORE. And sometimes it<br />
THE 3 BEST COPIERS AVAILABLE<br />
ALL IN ONE SUPER PACKAGE<br />
George McNinch<br />
McNinch<br />
Vtersfon 3.3<br />
with<br />
No hardware necessary, easy to use, MEW! M.istcrKcy system makes<br />
Diskmakor virtually 100% effective!<br />
Copies new custom G.C.R. code protection, long data-block logic, no-sync<br />
data blocks, NEW wide head protection, and many other specialized<br />
protection routines. Copies normal and protected disks. Includes 3<br />
copiers-FAST copier, VARI-SECTOH copier, and AUTO-LOGIC NIBBLER.<br />
Actually copies a full disk In only 2 minutes. Inexpensive module releases<br />
keep you up-to-date. MODULES available <strong>by</strong> subscription or individually.<br />
only S49.95 ToorderCAU.805-687-1541 ext 64<br />
for copier system Techni<strong>ca</strong>l line 805-682-4000 exl 99<br />
Also available DiskMnkcr ToolKit '. SUPER Disk Utility package. Ask<br />
for SPECIAL Combo offer with DiskMaker".<br />
Oirj.T !', Uhi^-H-.1'! firv/ 111y. •■' Vr-mJ uhNh r- ■ hctk m. ".,■,■ nuJr-i l',iy. J:AM-' V ''-i V i\|i i< -m,I -■.<br />
.'inrTi,jiri j .|.n '.-. Include urcf -' *nd •■•-,> o>re. < .• " :uu-nf. adtf '. ■ ?**. Ailnw 2 wri'M Uv ilMMwr<br />
of pcnanxi and to. thetkt. Add S3.S0 ihJpplng/handHng for conlinenul US. JS.50 for UPS .ilf COOl<br />
■-iirjif*. il la 48 ,i.in . *jril, -i,r,r *4.D0. AK. "\ ATO. J I. ' .irJir ',/ '," f .in-uJ.i Add ■■ HMKJ ' jiMh-i r..N-,,r,<br />
orden add H5.00 .irni trmti tmiritd US fundi only. No credh urd order j from ounidi* NoMh Ameri<strong>ca</strong><br />
r j.-.iir-f-,.'. ; wAni.i.tf; invited & supported,<br />
DPSKMAKER PAYS FOR ITSELF THE FIRST TIME YOU USE IT<br />
20 20 COMPUTEl'lf COMPUTE! s Gaz"",, Gazeffe F&btvary February 1986<br />
You Can't Write To ROM<br />
STOP-RESTORE. And sometimes it<br />
locks locks up up the the computer. Could Could you you explain<br />
what this word means? Also,<br />
could could you you tell tell me me how to to change change ROM?<br />
I'd I'd like like to to have have the the computer computer print<br />
"HELLO. I'M READY." when I tum turn it<br />
on.<br />
SYSTEM is is not IIOt a lIew new comma command. lid. Wh When ell<br />
you type the word SYSTEM, the computer<br />
you type the word SYSTEM, the computer<br />
finds the command command SYS SYS in in the first part of of<br />
the word and treats the remainder of the<br />
word ([EM) (TEM) as a variable. SYS transfers<br />
control to a machine language roulin routine; e;<br />
BASIC BASlC is lemporarily temporarily disabled while a<br />
SYS is in effect. Since you probably have<br />
SYS is in effect. Since you probably Ilave<br />
/wt defined the variable TEM, a SYS is<br />
not defined the variable TEM, a SYS is<br />
performed performed to address address O. 0. The contents contents of of<br />
this section of memory changes frequent<br />
this section of memory changes freque/IIly,<br />
ly, so so the results results are are unpredictable.<br />
unpredictable.<br />
Try Iyping this: TEM - 64738:<br />
Try typing this: TEM - 64738:<br />
SYSTEM. In this <strong>ca</strong>se, the variable TEM<br />
has been defined, so tile the computer is sent sellt<br />
to lo<strong>ca</strong>l lo<strong>ca</strong>tion ion 64738 (the cold start routine all on<br />
the 64).<br />
The answer answer to to your second secolld question<br />
is no, tile the computer's ROM <strong>ca</strong>nnot be<br />
changed directly. ROM stands for read<br />
changed directly. ROM stands for readonly<br />
only memory. memory. You <strong>ca</strong>ll <strong>ca</strong>n read ii, it, but but not<br />
write to it. It's possible to change Ihe way<br />
write to it. It's possible to change the way<br />
BASIC BASTC works, however. The ROM <strong>ca</strong>nllot<br />
<strong>ca</strong>nnot<br />
be be challged, changed, bul but you <strong>ca</strong>ll <strong>ca</strong>n copy copy the ROM ROM<br />
illto into the RAM alld and teJl tell the computer to<br />
fetch its information from RAM instead of<br />
fetell its illformation from RAM inslead of<br />
ROM. ROM. Bit Bit 0 0 of of lo<strong>ca</strong>tio lo<strong>ca</strong>tionII 1 determines<br />
determines<br />
whether ROM or RAM is used at lo<strong>ca</strong>tions<br />
whether ROM or RAM is used at lo<strong>ca</strong>tions<br />
40960-49151 (where BASIC is lo<strong>ca</strong>ted).<br />
The following fol/owing program copies copies ROM ROM<br />
into RAM (line 10), selects RAM at lo<strong>ca</strong><br />
ill to RAM (line 10), selects RAM at lo<strong>ca</strong>tion<br />
40960 40960 (line (line 20) 20) alld and changes changes RAM to<br />
alter alter tire the READY READY message message (/int (line 30). 30). The<br />
word word READY READY has has been been cllallged changed to<br />
HOWDY.<br />
10 FOR A - 40960 TO 49151: POKE<br />
10 FOR A = 4096D TO 49151: POKE<br />
A,PEEK(A): NEXT<br />
20 POKE 1,PEEK(1) AND 2S4 254<br />
30 N$-"HOWDY": NS - "HOWOY": FOR A -= I l TO<br />
LEN(NS): LEN(N$): POKE POKE 41847+ 41B47 + A,ASC<br />
A,ASC<br />
{MIDS{NS,A,lII: (MID$(N$,A,1»: NEXT<br />
Ullfortullately, as SOOIl as the com<br />
Unfortunately, as soon as the com<br />
puter is turned off, the memory is cleared.<br />
In III order order to have have a message message come come up as as<br />
soon soon as as tile the computer computer is turned on, on, you<br />
must use an EPROM (erasable program<br />
must use an EPROM (erasable program<br />
mable ROM). Whe/lever Whenever tire the computer is<br />
tumtd turned on, the Ihe <strong>ca</strong>rtridge port is checked to<br />
see if if a <strong>ca</strong>rtridge <strong>ca</strong>riridge is is illserted. inserted. If aile one is is pre<br />
sent, sellt, thell then control of the computer is<br />
tumed turned over over to tire the <strong>ca</strong>rtridge.<br />
<strong>ca</strong>rtridge.<br />
All An EPROM is a <strong>ca</strong>rtridge that <strong>ca</strong>ll <strong>ca</strong>n be<br />
programmed with a special tool <strong>ca</strong>lled an<br />
EPROM bUTller. burner. Tllis This device takes a program<br />
ill in memory memory alld and burns burns it it into into a <strong>ca</strong>rtridge.<br />
The <strong>ca</strong>rtridge <strong>ca</strong>n be programmed<br />
to do anythillg, anything, includillg including customizillg<br />
customizing<br />
your BASIC BASIC messages. messages. As As 50011 soon as as the the com<br />
puter is turned on, the program in the <strong>ca</strong>r<br />
puter is turned on, the program ill tire <strong>ca</strong>rtridge<br />
is is executed. executed. • ©<br />
COMPUTE!'s COMPUTERS GAZETTE<br />
GAZETTE<br />
TOLL TOLL FREE FREE<br />
Subscription Subscription Order Order Line Line<br />
1·800·247·5470<br />
1-800-247-5470<br />
In IA 1-800-532-1272
FLOPPIE,$ • TAPE:. • STRlN.GY FJ-OPPSE.S<br />
FI-OPPIe::..5 •<br />
f^Ti)<br />
"<br />
• HARD 1>1<br />
tSC -_■■. .k :•.',.. .-..^ij-:.^..-■■<br />
).OPP«E5 - MICROFLOPPIES • .MiCROFLOPHES<br />
winilM■■
Sel<strong>by</strong> Bateman, Features Editor<br />
'- '■;■■: .■-,■: :■!<br />
A 3.5-inch microdisk drive for the 64? A hard disk storage system for the<br />
A 3.5-inch microdisk drive for the 64? A hard disk storage system for the<br />
128? The The continuing continuing evolution evolution of of personal personal computers computers is is <strong>ca</strong>using <strong>ca</strong>using major major shifts<br />
shifts<br />
in the kinds kinds of data storage devices being being used. There are are signs that<br />
even the familiar 5-1/4-inch floppy disk disk may eventually<br />
go the the way of punch <strong>ca</strong>rds and paper tape<br />
storage methods. Here's a look at what's<br />
Why tape recorders? The<br />
headed your way in the<br />
emerging microcomputer industry<br />
Commodore market.<br />
It's difficult to believe that the<br />
Commodore market.<br />
It's difficult to believe that the borrowed ideas from mainframe<br />
64 and the 1541 are almost four computer systems, and tape storage<br />
years old. At the Consumer Elec proved to be a natural—inexpen<br />
natural-inexpentronics<br />
Show (CES) in January Janua ry sive and dependable. The problem<br />
onsider the 1541 disk drive: d rive: 1982, Commodore introduced its with tape storage is is its speed.<br />
It's been <strong>ca</strong>lled a "toy," " lOY," a new 64K computer at a suggested A tape recorder is is a sequential seqllelltial<br />
"lumbering "lumbering hippo," and "the " the retail of $595, a breakthrough in access device. That is, is, the magnetic<br />
rnonSider<br />
albatross of the Commodore price and power. Commodore also information is is read sequentially<br />
64." Business users impatiently de introduced a companion for the 64: from the tape as as it it passes in in front of of<br />
ride its slow operating operating speed. Alter the 1541 drive, a direct descendant a stationary read/write head. To To<br />
native devices and a n d software softwa r e of earlier drives used with the VIC- get to to a particular program on on the<br />
speedup schemes have been of 20 and PET computers.<br />
tape, several other programs may<br />
fered <strong>by</strong> other manufacturers. manufacturers. And When first fi rst released, the 1541 have to to slide s lide <strong>by</strong> <strong>by</strong> the tape head<br />
even defenders of the 1541 have sold for almost $600. But prices before it it reaches the the one you want.<br />
been known to drum their fingers dropped swiftly, just as they did for On On the the other hand, a disk drive<br />
waiting for it it to load data at a rela the 64 itself. Soon, a 1541 154 1 could be is is a random ralldom access device. The<br />
tively slow 512 5 12 <strong>by</strong>tes per second. bought for $399, then $299, 5299, and read/write read/ write head moves across a<br />
Yet despite the insults hurled $250. Today, a new 1541 <strong>ca</strong>n be spinning disk, much like like the the stylus<br />
at the 1541, one o n e Commodore purchased from some vendors for of of aa record player pla.yer moves across the the<br />
source estimates that as many as as little as $149, and nnd used 1541s 154 I s fre face face of of an an album. The The result result is is aa<br />
three-quarters of the five million quently are available for $99.<br />
much more efficient means of of data<br />
64s 645 and VIC-20s sold worldwide<br />
But for many 64 6 4 users, the access than than aa <strong>ca</strong>ssette tape. Al Al<br />
are used with 1541s 15415 (or the earlier ea rlier 1541 was not their first storage dethough the the 1541 is is slower than than oth oth<br />
1540 drives). The slow but relativevice. Commodore's Datassette tape er er computers' disk disk drives, it it is is much<br />
ly ly inexpensive 1541 be<strong>ca</strong>me anoth<br />
.:moth recorder, aa digital cousin of of the faster than aa Datassette.<br />
er er salvo in in the continuing battle to to common audio <strong>ca</strong>ssette tape re re Despite Des pite its it s slowness, s lowness. the the<br />
bring down prices and spur concorder, was offered at at even e ven less Datassette and a nd some some third-party<br />
sumer sales of of computers.<br />
expense.<br />
<strong>ca</strong>ssette record ers intro duced<br />
<strong>ca</strong>ssette recorders introduced<br />
COMPUTE'S COMPUTE!'s Gszarts Gazelle February F9bruaIy 1986 1986 23 23
thousands of computer users to 1.;;;;;;;;;;;;;;;;;;=================-=-:::------,<br />
thousands of computer users to<br />
data storage in the early years of the<br />
Commodore 64 and the VIC-20.<br />
Commercial software was usually<br />
offered in both tape and disk format<br />
(and frequently in plug-in ROM<br />
<strong>ca</strong>rtridges). But during the past year<br />
and a half, virtually all commercial<br />
software vendors have forsaken<br />
tape versions of 64 software. The<br />
thousands of commercial programs<br />
available for the 64 are almost all<br />
on disk. And at Commodore, stacks<br />
of Datassettes Oatassettes sit boxed and ready<br />
with no place to go. Technology has<br />
rendered them obsolete.<br />
m'" computer computer as inexpensive inexpensive as the<br />
uu64 ill 64 had to have a disk drive in<br />
the same price range. To cut costs,<br />
the same price range. To cut costs,<br />
Commodore equipped the VIC and<br />
64 drives with serial data transmission<br />
ports, much slower than the<br />
IEEE parallel ports used in the earli earHer<br />
PET disk drives. Adding to the<br />
er PET disk drives. Adding to the<br />
problem, Commodore engineers<br />
reportedly had to slow very slightly<br />
the original data transfer speed of<br />
the 1540 (designed for the VIC) in<br />
order to make the new 1541 drive<br />
compatible with the 64-an 64—an engineering<br />
concession to marketing<br />
plans for the computers.<br />
plans for the computers.<br />
A serial connection moves only<br />
multiple bits sent simultaneously in<br />
a parallel connection. Further slowing<br />
serial transfer between the 64<br />
and the 1541 is the fact that the VIC<br />
and 64 (and Plusj4 Plus/4 and 16) require<br />
the computer's main microproces<br />
sor to disassemble a <strong>by</strong>te of information<br />
into its individual bits, add<br />
several controlling bits, and then<br />
send the information. This takes extra<br />
time for the microprocessor. A<br />
special-purpose hardware serial de<br />
vice could accomplish this much<br />
faster.<br />
That's exactly what Commodore<br />
has done in the ne\v new 128 computer<br />
and its 1571 disk drive.<br />
Special hardware takes <strong>ca</strong>re of most<br />
communi<strong>ca</strong>tion handling (the first<br />
CIA chip takes on extra work), freeing<br />
the microprocessor from these<br />
chores and thus increasing the<br />
speed of transfer. Commodore <strong>ca</strong>lls<br />
th this is serial fast mode as opposed to<br />
the 64/1541 slow mode. As 1571<br />
owners know, their disk drives <strong>ca</strong>n<br />
actually work at different speeds,<br />
depending on whether it's in 1571<br />
mode for the 128, 1541 mode for<br />
26 26 COMPUTEf6 COMPUTE!lsGazelle <strong>Gazette</strong> February 1986 19B6<br />
m \ [ "T i<br />
Tile BCD/5.25 disk drive from Blue Chip Electronics is oue of several Commodorecompatible<br />
drives for the 64 II,al offer fasler speeds Ilrall Commodore's 1541 drive.<br />
The BCD/5.25 disk drive from Blue Chip Electronics is one of several Commodorecompatible<br />
drives for the 64 that offer faster speeds than Commodore's 1541 drive.<br />
A serial connection moves on ly f------------- ------------- -----'<br />
one bit of data at a time, rather than<br />
multiple bits sent Simultaneously in<br />
the computer's main microproces<br />
several controlling bits, and then<br />
special-purpose hardware serial de<br />
owners know, their disk drives <strong>ca</strong>n<br />
actually work at different speeds,<br />
depending on whether it's in 1571<br />
the 64 or 128, or CP j M mode.<br />
the 64 or 128, or CP/M mode.<br />
A number number of of companies have have<br />
produced Commodore-compatible<br />
produced Commodore-compatible<br />
disk drives in an attempt to im<br />
disk drives in an attempt to im<br />
prove prove on the 1541. The BCO-5.25<br />
BCD-5.25<br />
drive from Bl Blue ue Ch Chip ip Electronics,<br />
the Indus Indus GT from Indus Indus Systems,<br />
Systems,<br />
the MsO MSD 50-1 SD-1 (single drive) and<br />
SO-2 SD-2 (dual drives) from MsD MSD Systems,<br />
tems, the Enhancer Enhancer 2000 from The The<br />
Com Comtel tel Group, Group, and the Clone II<br />
disk drive from HBH Sales Corp.<br />
are among the best known of these<br />
are among the best known of these<br />
alternative disk drives. As a group,<br />
alternative disk drives. As a group,<br />
they offer considerably faster oper<br />
ating speeds and a variety of extra<br />
ating speeds and a variety of extra<br />
features.<br />
But, as some GAZETTE readers<br />
have discovered, these "Commo<br />
features.<br />
But, as some GAZETTE readers<br />
have discovered, these "Commo<br />
dore compatible" drives aren't always<br />
" "1541 1541 compatible," compatible," a big<br />
difference when it comes to loading<br />
and using some commercial software.<br />
There are even a few commercial<br />
programs that won't load<br />
on the 1571 in 154 1541 1 mode. Compatibility<br />
problems usually crop up<br />
when a commercial software pro<br />
when a commercial software pro-<br />
ducer has copy-protected disks in<br />
ducer has copy-pro tec ted disks in<br />
such a way that the program checks<br />
for the ROM (Read-Only Memory)<br />
routines to be found in the 1541 1541<br />
drive. Since the other disk drive<br />
makers are forb forbidden idden <strong>by</strong> <strong>by</strong> copyright<br />
law from copying Commodore's<br />
1541 ROM exactly, they have slight<br />
diCferences differences in the way they operate.<br />
Sometimes, these differences are<br />
enough to make the software fail to<br />
load properly. Although most of<br />
load properly. Although most of<br />
the drive manufacturers do extensive<br />
testing of commercial software<br />
before releasing the drive, new pro<br />
the drive manufacturers do exten<br />
sive testing of commercial software<br />
before releasing the drive, new pro<br />
tection schemes arrive every day.<br />
But for many users, the problem<br />
of commercial software incompatibility<br />
is not sufficient to keep<br />
them from using these faster and<br />
them from using these faster and<br />
often more reliable drives.<br />
often more reliable drives.<br />
Another way around the<br />
1541 1541's 's weaknesses has been offered<br />
<strong>by</strong> several software manufa manufac cturers:<br />
<strong>ca</strong>rtridge- or disk-based<br />
programs which speed up the data<br />
programs wh ich speed up the data<br />
transfer rate between the computer<br />
and the disk drive. Among these
I<br />
■}■ 1<br />
A Mew Dimension in Fun<br />
Easy aircraft control, coupled<br />
with unexcelled omnidirec<br />
tional visual (plus audio)<br />
references and ballistic<br />
power, provide the speed and<br />
aerobatic maneuverability<br />
that add up to pure fun.<br />
Engage in a wide variety of<br />
combat scenarios (land-based<br />
F-16 or <strong>ca</strong>rrier-based F-18), or<br />
fly over detailed United States<br />
scenery at Mach 2.<br />
Flight<br />
Simulator<br />
scenery Disk<br />
Compatible<br />
LOGIC<br />
713 Edgebrook Drive<br />
Ch.-impnignlL 61820<br />
|ZI7|]S9-M8;Tele..M699S<br />
Order Line: (BQD) 637-4983
Using Commodore 64 Peripherals On The 128<br />
Using Commodore 64 Peripherals On The 128<br />
The Weil-Connected Well-Connected <strong>Compute</strong>r<br />
Kathy Yakai,<br />
Assistant Features Editor<br />
Kathy Yakal,<br />
Assistant Features Editor<br />
If you're considering<br />
buying a 128 and have<br />
already spent a lot of<br />
money money on on peripherals<br />
for your Commodore<br />
64, you may be con·<br />
64, you may be con<br />
cerned about compati·<br />
compati<br />
bility. Will your old<br />
bility. Will your old<br />
printer and monitor<br />
printer and monitor<br />
and disk drive suffice?<br />
For most appli<strong>ca</strong>tions,<br />
For most appli<strong>ca</strong>tions,<br />
the answer answer is yes.<br />
34 COMPUTEt', COMPUTEl's Gazotto Gezene Febfuary February 1986 19B6<br />
Peripheral compatibility<br />
between between the Commodore<br />
64 and 128 is not as sim<br />
64 and 128 is not as sim<br />
ple ple an an issue issue as as it was was between<br />
the VIC-20 and 64, though,<br />
in in most <strong>ca</strong>ses, the the peripherals peripherals arc are<br />
interchangeable. interchangeable. The The only only real<br />
problems problems arise arise if you you want to to take take<br />
full advantage advantage of of the the 128'5 128's special<br />
features, like like its its SO-column 80-column screen<br />
and CP/M <strong>ca</strong>pability.<br />
and CP 1M <strong>ca</strong>pability.<br />
One of Commodore's prime prime<br />
objectives in designing the 128 was<br />
objectives in designing the 128 was<br />
" "to to maintain maintain hardware hardware and and software<br />
ware compatibility compatibility with with the the 64," 64,"<br />
according according to to preliminary preliminary techni<strong>ca</strong>l<br />
documentation. documentation. With millions of<br />
active active 64 users out there, there, and hundreds<br />
dreds of popular software packages<br />
packages<br />
and peripherals in place, that cer<br />
and peripherals in place, that certainly<br />
makes sense.<br />
tainly makes sense.<br />
With one exception, the ports<br />
and switches on the 128 are identi<strong>ca</strong>l<br />
to to those found on the the 64. Starting<br />
at the lower right side side of the<br />
128, 128, let's move around co counter unterclockwise<br />
and have a look at which<br />
peripherals work with the 128.<br />
peripherals work with the 128.<br />
Joystick Ports<br />
Control ports 1 and 2, as they're la<br />
Control ports 1 and 2, as they're la<br />
beled beled on the 128, 128, read the signals<br />
sent to the computer <strong>by</strong> either<br />
sent to the computer <strong>by</strong> either<br />
switches or potentiometers (a po<br />
switches or potentiometers (a po<br />
tentiometer is li like ke the dimmer<br />
switch switch in in an an overhead overhead dining dining room<br />
light light fixture). These These signals signals are are sent sent<br />
out from joysticks, joysticks, paddles, paddles, track<br />
balls, graphics tablets, light pens,<br />
balls, graphics tablets, light pens,<br />
and and Commodore's new mouse,<br />
which which is like an upside-down<br />
trackball.<br />
trackball.<br />
There was a bit bit of an outcry<br />
when the Plus/ Plus/44 and and 16 were released<br />
leased be<strong>ca</strong>use be<strong>ca</strong>use the machines' joystick<br />
ports ports were were not compatible<br />
with with existing existing joysticks. But But any of<br />
the above that that you might might have have pur pur<br />
chased for your VIC or 64 will work<br />
chased (or your VIC or 64 will work<br />
on the 128. 128.<br />
On/Off On/Off Switch<br />
This has the same function as the<br />
This has the same function as the<br />
64, 64, to to tum turn on the computer. There's<br />
There's<br />
also also a reset reset switch switch (not (not available on<br />
the 64) that wo works rks basi<strong>ca</strong>ll basi<strong>ca</strong>lly y the the<br />
same as the on/off switch.<br />
same as the on/off switch.
I Power<br />
Supply Port<br />
You <strong>ca</strong>n't use the original two-pin<br />
Power Supply Port<br />
You <strong>ca</strong>n't use the original two-pin<br />
VIC-20 VIC·20 power supply on a Commodore<br />
64 (although the newer VICs VIes<br />
use the same seven-pin plug as the<br />
64), and you <strong>ca</strong>n't use a 64 power<br />
supply on a 128 be<strong>ca</strong>use of their<br />
different voltage and current requirements.<br />
The power supply is<br />
not really considered a peripher<br />
al—it's al-it's a standard accessory that<br />
comes with the machine.<br />
Expansion Port<br />
Again, this is not really a peripheral<br />
Again, this is not really a peripheral<br />
port, since it's most often used for<br />
<strong>ca</strong>rtridge-based software. Many<br />
<strong>ca</strong>rtridges are afe auto-booting, meaning<br />
you plug it in, turn tum on the computer,<br />
and it boots itself up without<br />
a RUN or SYS command.<br />
Though the 128 automati<strong>ca</strong>lly<br />
starts out in 128 mode, it <strong>ca</strong>n detect<br />
the presence of a <strong>ca</strong>rtridge for the<br />
64 and switch into 64 mode, allowing<br />
the <strong>ca</strong>rtridge to auto-boot.<br />
ing the <strong>ca</strong>rtridge to auto-boot.<br />
Voice synthesizers, some of<br />
which plug into this port, could be<br />
considered peripherals. There ap<br />
pears to be no problem using them<br />
on the 128.<br />
on the 128.<br />
Cassette Port<br />
Two types of peripherals <strong>ca</strong>n be<br />
Two types of peripherals <strong>ca</strong>n be<br />
plugged into this port: the Commo<br />
dore 64 Datassette and certain<br />
dore 64 Datassette and certain<br />
printer interfaces which draw power<br />
from one of the pins. A VIC or 64<br />
Datassette is compatible (but not<br />
the <strong>ca</strong>ssette drive designed for use<br />
with the Plus/4 and 16) as are the<br />
printer interfaces.<br />
Serial Port<br />
This port is also used for printer in<br />
This port is also used for printer in<br />
terfaces, as well as for disk drives.<br />
Both the 1541 and 1571 disk drive<br />
have two ports on the back: One receives<br />
the <strong>ca</strong>ble running from the<br />
computer, and the other <strong>ca</strong>n act as a<br />
computer, and the other <strong>ca</strong>n act as a<br />
substitute serial port for additional<br />
disk drives or printers. If you have<br />
both a printer and a disk drive, you<br />
plug the disk drive <strong>ca</strong>ble into the se<br />
plug the disk drive <strong>ca</strong>ble into the se<br />
rial port of the computer and the<br />
printer <strong>ca</strong>ble into the back of the<br />
disk drive. The disk drive, in effect,<br />
relays commands from the printer<br />
to the computer and vice versa.<br />
Compatibility does not appear to be<br />
a problem, although you may have<br />
to turn off your printer before<br />
powering on or resetting the 128.<br />
However, the speed of your<br />
drive will vary, depending on the<br />
:l6 36 COMPUTEflJ COMPUTE'SGazelle Gazeffe February 1986 19B6<br />
combination of computer/disk<br />
computer/disk<br />
drive. The new protocol on the<br />
1571 makes a combination of the<br />
128/1571 128/1571 very fast (and it's even<br />
faster when the 128 is in CP/M<br />
drive. The new protocol on the<br />
1571 makes a combination of the<br />
faster when the 128 is in CP/M<br />
mode). Combinations of 64/1541,<br />
64/1571, 64/ 1571, and 128/1541 128/1541 all yield<br />
relatively slow transfer speed (300<br />
characters per second in 64 mode,<br />
as opposed to approximately 2000<br />
as opposed to approximately 2000<br />
in CP/M mode).<br />
in CP/M mode).<br />
Also, the 1571 <strong>ca</strong>n read double-sided<br />
disks, where the 1541<br />
<strong>ca</strong>nnot. This may <strong>ca</strong>use some software<br />
incompatibility in the future if<br />
developers create software that<br />
uses both sides of a disk.<br />
uses both sides of a disk.<br />
Video Port<br />
This port, which sends a signal to<br />
either a composite or a mono<br />
either a composite or a mono<br />
chrome monitor, is wired exactly<br />
the same on both the 64 and 128.<br />
Whatever you're using now with<br />
your 64 should work fine on the<br />
your 64 should work fine on the<br />
128.<br />
128.<br />
Commodore's 1660 modem<br />
also connects to to the the audio pin on<br />
this this port in order to to emulate touchtouchtone dialing sounds. It works with<br />
tone dialing sounds. It works with<br />
both both machines.<br />
Low/High Switch<br />
Switch<br />
This switch is the same on both<br />
This switch is the same on both<br />
computers. computers. It It ssimply imply lets you you<br />
choose choose which channel, channel, 3 or or 4, 4, will will<br />
receive a signal if you're using a TV<br />
receive a signal if you're using a TV<br />
for video display.<br />
RF Port<br />
If you don't own a monitor, this is<br />
If you don't own a monitor, this is<br />
where where you you plug plug in your your television.<br />
The The <strong>ca</strong>bl <strong>ca</strong>blee that pplugs lugs into into the<br />
TV/computer TV/computer switch switch box plugs plugs in<br />
here on both the 64 and 128.<br />
here on both the 64 and 128.<br />
RGBI Port<br />
This port does not exist on the 64.<br />
This port does not exist on the 64.<br />
On the 128, it sends out two signals.<br />
Both allow for 80 columns,<br />
columns,<br />
one in monochrome monochrome (black and<br />
white) and one in color.<br />
If 80 columns columns in monochrome<br />
monochrome<br />
is good enough enough for you, you <strong>ca</strong>n<br />
continue to use either a composite<br />
composite<br />
monitor, like the 1701 or 1702, or ora a<br />
monochrome monitor. But if you<br />
want 80 columns in color, you'll<br />
need an RGBI monitor like Com<br />
need an RCBI monitor like Commodore's<br />
new 1901.<br />
modore's new 1901.<br />
At least two companies companies have<br />
manufactured manufactured monitor <strong>ca</strong>bles that<br />
give you 80-column <strong>ca</strong>pability.<br />
Cardco's C128/80 ($9.95) is a single<br />
<strong>ca</strong>ble that connects the 128's<br />
RGBI port to the video-in plug on a<br />
RGBI port to the video-in plug on a<br />
monitor. To switch from 40 to 80<br />
monitor. To switch from 40 to 80<br />
columns, you unplug the 40-column<br />
input before inserting the 80column<br />
plug (or, if you have a<br />
Commodore monitor, you <strong>ca</strong>n use<br />
the front connections for 80-columns<br />
and the rear connections for<br />
40, 40. and flip the switch on the back<br />
of the monitor to go between the<br />
of the monitor to go between the<br />
two screens). Microvation's 40/80<br />
two screens). Microvation's 40/80<br />
Switch ($14.95) consists of a small<br />
switch box with three <strong>ca</strong>bles running<br />
out. One plugs into the monitor,<br />
and the other two connect to<br />
the 128: one into the video port and<br />
one into the RGBI port. By flipping<br />
the switch on the interface, interface. you <strong>ca</strong>n<br />
switch between 40 and 80 columns.<br />
(For more information, contact<br />
(For more information. contact<br />
Cardco, 300 S. Topeka, Wichita, KS<br />
67202, or Microvations. 8920 Arctu<br />
67202, or Microvations, 8920 Arcturus<br />
Way, San Diego, CA 92126.)<br />
Unfortunately, there is no<br />
practi<strong>ca</strong>l way to get 80 columns if<br />
you're using a television set.<br />
you're using a television set.<br />
User User Port Port<br />
This port is used almost exclusively<br />
This port is used almost exclusively<br />
for plugging in direct-connect mo<br />
dems. The compatibility situation<br />
dems. The compatibility situation<br />
looks good here, here. as as long as as you are<br />
telecommuni<strong>ca</strong>ting in 64 or 128 128<br />
mode.<br />
But the original release of<br />
CP/M fo forr the 128 does does not support<br />
telecommuni<strong>ca</strong>tions. This is not a<br />
telecommuni<strong>ca</strong>tions. This is not a<br />
problem problem with the hardware. hardware, but but<br />
with the software. The upgraded<br />
upgraded<br />
CP/ CP/M M release has reportedly corrected<br />
rected this. this, and includes a terminal<br />
program program <strong>ca</strong>lled MDM730, which<br />
should be be compatible with all Commodore<br />
modems. modems. (For further information,mation,<br />
see " "128 128 Update: Update: An An<br />
Improved CP/M" on page 38.)<br />
Improved CP/ M" on page 38.)<br />
Though create very few problems as<br />
you upgrade to a 128, you may run<br />
Though compatibility should<br />
create very few problems as<br />
you upgrade to a 128, you may run<br />
into some annoying minor problems.<br />
For instance, some software<br />
packages require you to plug a dongle<br />
(a small plastic box used for<br />
copy protection) into the user port<br />
copy protection) into the user port<br />
before running the program. Be<br />
before running the program. Be<br />
<strong>ca</strong>use of the differences in the plastic<br />
<strong>ca</strong>sing of the 64 and 128. 128, it may<br />
be difficult to plug in the dongle.<br />
be difficult to plug in the dongle.<br />
But remember, the 128 was de<br />
But remember, the 128 was de<br />
signed to allow 64 owners to upgrade<br />
without having to sink a lot of<br />
money into new peripherals, and<br />
Commodore's plan appears to have<br />
been successful. a<br />
been successful. •
128 Update:<br />
128 Update:<br />
An An Improved CP/M<br />
Kathy Yakal, Assistant Features Features Editor<br />
Editor<br />
Commodore 128 owners<br />
Commodore 128 owners<br />
who who may have have been been frustrated<br />
trated <strong>by</strong> <strong>by</strong> certain certain limitations<br />
tions in in the original original CP CP/M 1M<br />
software software for their their machines machines should<br />
be be able able to to get get a signifi<strong>ca</strong>ntly signifi<strong>ca</strong>ntly im<br />
proved version <strong>by</strong> the time they<br />
proved version <strong>by</strong> the time they<br />
read this.<br />
read this.<br />
Commodore Commodore is is planning to to release<br />
lease an an upgraded upgraded CP CP/M jM for interested<br />
128 owners which will,<br />
among other things, allow down<br />
loading of CP/M files for use in the<br />
loading of CP 1M files for use in the<br />
128, 128, storage storage in in the the 1571 1571 disk disk drive,<br />
drive,<br />
and and hard hard copy copy printouts. Commodore<br />
dore sources indi<strong>ca</strong>te that that the the new new<br />
Cp CP/M 1M version version will will oHer offer Commodore<br />
dore RS-232 compatibility, compatibility, will<br />
work w ith a new Commodore<br />
work with a new Commodore<br />
Xmodem Xmodem terminal terminal program, and and<br />
will also make the keyboard s<strong>ca</strong>n<br />
ning function slightly quicker.<br />
ning function slightly quicker.<br />
Final details had not been<br />
Final details had not been<br />
nailed down <strong>by</strong> Commodore at<br />
press press time, time, but but indi<strong>ca</strong>tions indi<strong>ca</strong>tions are are that that<br />
the upgrade will be free (or perhaps<br />
the upgrade will be free (or perhaps<br />
'for the cost of the disk itself and<br />
for the cost of the disk itself and<br />
shipping/handling shipping/handling charges) charges) to to<br />
those those who who have have purchased purchased 128s.<br />
128s.<br />
Owners <strong>ca</strong>n receive the upgrade <strong>by</strong><br />
Owners <strong>ca</strong>n receive the upgrade <strong>by</strong><br />
<strong>ca</strong>lling Commodore Customer Sup<br />
<strong>ca</strong>lling Commodore Customer Sup<br />
port. One One source source indi<strong>ca</strong>tes indi<strong>ca</strong>tes that that<br />
Commodore Commodore may may even place place the the<br />
new new CP CP/M 1M telecommuni<strong>ca</strong>tions<br />
telecommuni<strong>ca</strong>tions<br />
program in the public domain.<br />
program in the public domain.<br />
One of the reasons for the up<br />
One of the reasons for the up<br />
grade grade stems from the the original<br />
original<br />
CP CP/M's 1M's lack of of any any telecommuni<strong>ca</strong>tions<br />
<strong>ca</strong>tions <strong>ca</strong>pabilities. <strong>ca</strong>pabilities. A tremendous<br />
tremendous<br />
amount amount of of CP CP/M 1M software software is is in in the the<br />
public domain and available<br />
through through online online bulletin boards, boards,<br />
making making telecommuni<strong>ca</strong>tions telecommuni<strong>ca</strong>tions access<br />
access<br />
almost almost a a necessity for people people who who<br />
want want to to do more with with CP CP/M. 1M.<br />
For those relatively new to<br />
For those relatively new to<br />
CP 1M on the 128, CP 1M stands for<br />
CP/M on the 128, CP/M stands for<br />
Control Program for Microcomputers.<br />
38 COMPUTErs COMPUTE'S G,uette <strong>Gazette</strong> February 1986<br />
Developed in 1975 <strong>by</strong> Gary Kildall<br />
Developed in 1975 <strong>by</strong> Gary Kildall<br />
for Intel's Intel's 8080 8080 microprocessor,<br />
CP CP/M 1M be<strong>ca</strong>me the the first disk-operating<br />
ing system system (DOS) (DOS) available. available. KildaWsdall's<br />
company, company, Digital Digital Research,<br />
Research,<br />
later upgraded CP/M for the Zilog<br />
later upgraded CP/M for the 2ilog<br />
280 chip. In those days, most com<br />
Z80 chip. In those days, most com<br />
puters puters used used one one of of the two two chips, chips, so so<br />
software software written written for CP/M CP/M ran ran on on<br />
most microcomputers. microcomputers. In In fact,<br />
many early sales of the 6502-based<br />
many early sales of the 6502-based<br />
Apple series were attributed to the<br />
Apple series were attributed to the<br />
availability availability of of a a 280 Z80 plug-in plug-in <strong>ca</strong>rd <strong>ca</strong>rd<br />
that let Apple owners run the substantiallibrary<br />
stantial library of of CP/ CP/M M programs.<br />
Obviously, there's been a lot of<br />
CP CP/M 1M software out out there there for a long long<br />
time, both commercial packages<br />
(many (many of of which are are businessbusinessoriented) and public domain pro<br />
grams. Much of it, but not all, runs<br />
grams. Much of it, but not al\, runs<br />
on on the the 128. 128.<br />
TThehe Commodore Commodore 128 128 is not not the the<br />
first Commodore product product that<br />
<strong>ca</strong>n run CP/M. Commodore sell s a<br />
<strong>ca</strong>n run CP/M. Commodore sells a<br />
package package for the the 64 64 that that includes includes a a<br />
Z80 microprocessor on a <strong>ca</strong>rtridge<br />
280 microprocessor on a <strong>ca</strong>rtridge<br />
and the the CP/M operating operating system system on on<br />
disk.<br />
disk.<br />
Some Some CP CP/M 1M software software has has been<br />
designed designed for it, it, but but there there are are problems.<br />
CP 1M requires heavy access<br />
lems. CP/M requires heavy access<br />
to disk, so running it on the relatively<br />
slow 1541 means a lot of<br />
down time for the user. Also, most<br />
down time for the user. Also, most<br />
CP CP/M-based 1M-based computers use use a a 64-or<br />
64-or<br />
80-column screen, as opposed to<br />
80-column screen, as opposed to<br />
the 64's 64's 40 columns. columns. And And since since the the<br />
1541 disk drive drive <strong>ca</strong>n't <strong>ca</strong>n't read a a CP/M CP/M<br />
disk, disk, you're you're pretty much much limited to to<br />
just just programming programming the the 280 Z80 chip, chip, and and<br />
not not running running commercial software.<br />
software.<br />
The The 128 128 is is a a more suitable CP CP/M 1M<br />
machine be<strong>ca</strong>use of its 80-column<br />
machine be<strong>ca</strong>use of its 80-column<br />
screen and fast 1571 disk drive.<br />
The The CP/M CP/M disk disk that that comes<br />
comes<br />
with the 128 (Digital Research<br />
with the 128 (Digital Research<br />
CP CP/M 1M Version Version 3) includes includes the the oper<br />
ating system and a few utilities to<br />
ating system and a few utilities}o<br />
get get you you started. started. However, Commodore<br />
dore offers, offers, for $20, $20, two two more more<br />
CP 1M system disks and a large<br />
CP/M system disks and a large<br />
System System/User's/Programmer's<br />
I User's I P rogra m m er' s<br />
Guide Guide to to CP CP/M 1M which which details details how how<br />
to use and program that operating<br />
to use and program that operating<br />
system. (You <strong>ca</strong>n get this <strong>by</strong> send<br />
system. (You <strong>ca</strong>n get this <strong>by</strong> send<br />
ing ing in in the the CP/M CP/M <strong>ca</strong>rd <strong>ca</strong>rd that that comes<br />
comes<br />
with your 128.) This extra information<br />
mation <strong>ca</strong>n <strong>ca</strong>n be extremely extremely helpful,<br />
especially if you want to do any<br />
especially if you want to do any<br />
programming.<br />
programming.<br />
The difference between Commodore<br />
64 or 128 software and<br />
CP CP/M 1M software is is like like the the difference<br />
between Apple software and<br />
IBM software; the programs are<br />
configured configured to to run within operating<br />
operating<br />
systems based on different micro<br />
systems based on different microprocessors.<br />
There are word proces<br />
processors. There are word proces<br />
sors, sors, games, games, edu<strong>ca</strong>tional edu<strong>ca</strong>tional pieces, pieces,<br />
spreadsheets, and software for<br />
spreadsheets, and software for<br />
many many other other appli<strong>ca</strong>tions, appli<strong>ca</strong>tions, but but they they<br />
were were written written for another another operating<br />
operating<br />
system, system, so will will only only run on on a machine<br />
that uses it. You <strong>ca</strong>n run<br />
chine that uses it. You <strong>ca</strong>n run<br />
PaperCHp PaperClip on both an Apple and a<br />
Commodore, but you have to have<br />
the right version for your computer.<br />
the right version for your computer.<br />
WWhat hat works works on the the 128? 128?<br />
That's That's the the big question. question. The The<br />
best way to find out is to test a vari<br />
best way to find out is to test a vari<br />
ety ety of of programs, programs, and and the the 128 128 has has<br />
hardly been available long enough<br />
hardly been available long enough<br />
to do extensive testing.<br />
to do extensive testing.<br />
Commodore has has released released a a list list<br />
of of commercial commercial packages packages that that will<br />
run in CP CP/M 1M on the 128. The list<br />
list—<br />
with product name, company, for<br />
mat, and description—includes:<br />
mat, and description-includes:<br />
• • WordStar (Micro (MicroPro) Pro) Osborne Osborne I<br />
format recommended; a word word<br />
processor. processor.<br />
• SuperCalc (Sorcim) Osborne Osborne I; I; a a<br />
spreadsheet.<br />
spreadsheet.
• dBase II (Ashton-Tate) Osborne I<br />
and Kaypro IV; a database.<br />
• SpellgllDrd (Sorcim) Osborne I; a<br />
• dBase II (Ashton-Tate) Osborne I<br />
and Kaypro IV; a database.<br />
• Spellguard (Sorcim) Osborne I; a<br />
spelling checker.<br />
• Electric Web ster (Cornucopia) Os<br />
• Electric Webster (Cornucopia) Os<br />
borne bome I; a word processing aid.<br />
• Punctuation Punctuatioll Style Style (Oasis Systems)<br />
Osborne Osborne I; a a word processing processing aid. aid.<br />
• Grammatik (Aspen) Osborne I; a<br />
• Grammatik (Aspen) Osborne I; a<br />
writing style analyzer.<br />
• Disk Doctor (SuperSoft) Osborne I;<br />
• Disk Doctor (SuperSoft) Osborne I;<br />
a utilities package for recovering<br />
lost files from damaged disks.<br />
lost files from damaged disks.<br />
• MBasic MBa s;c (Microsoft) Osborne I; a<br />
BASIC BASIC programming programming language.<br />
• The Perfect Perfect Series (Commodore)<br />
Developed for the 128; several pro<br />
Developed for the 128; several pro<br />
ductivity packages.<br />
• Turbo PASCAL (Borland Interna<br />
• Turbo PASCAL (Borland Interna<br />
tional) tional) Kaypro IV; IV; a a Pa Pas<strong>ca</strong>l s<strong>ca</strong>l programming<br />
gramming language.<br />
language.<br />
• Zark Zork (Infocom) (Infocom) Format Format uncertain;<br />
a a text text adventure series.<br />
There are certai nly many other<br />
There are certainly many other<br />
programs that that will will work. But But discovering<br />
what will and won't be<br />
compatible <strong>ca</strong>n be a bit frustrating.<br />
compatible <strong>ca</strong> n be a bit frustrating.<br />
One One way way to to go go about finding even<br />
more more programs programs is is to to find a a dealer<br />
dealer<br />
who will let you do some checking<br />
before you purchase the program.<br />
If you don't regularly use CP/M<br />
software on a di different fferent computer<br />
at work or home, and don't<br />
want to spend money just to see<br />
what's available, you still have ac<br />
cess to thousands of CP/M pro<br />
grams in the public domain domain. . If<br />
there's a CP CP/M 1M user group in your<br />
area (or a user group for a specific<br />
CP CP/M 1M machine, like like Osborne Osborne or or<br />
Kaypro), you might want to attend<br />
community service publi<strong>ca</strong>tions<br />
often often list meeting meeting times times for such such activities;<br />
you could also check with<br />
th thee computer computer science science department department of of<br />
a a lo<strong>ca</strong>l high high school or or college college to to see see<br />
if such a group meets.<br />
In addition, there are hundreds<br />
of CP/M bulletin board systems<br />
word; PAMS) and either search in<br />
your area code or download the list<br />
of CP/M bulletin boards from<br />
information services, like Compu<br />
Serve and The Source, have Special<br />
Interest Groups (SIGs) online that<br />
offer public domain software.<br />
doesn't "recognize" modems,<br />
which means you <strong>ca</strong>n't telecommuni<strong>ca</strong>te<br />
muni<strong>ca</strong>te while operating operating in in CP CP/M 1M<br />
mode. As mentioned above, the addition<br />
dition of of telecommuni<strong>ca</strong>tions telecommuni<strong>ca</strong>tions <strong>ca</strong>pa<br />
bility bility is one one of of the the changes that that<br />
Commodore Commodore has has announced announced for the the<br />
new CP/M version.<br />
programs downloaded in 64 or 128<br />
mode mode to to CP CP/M 1M format. (One (One such<br />
board in the Atlanta area <strong>ca</strong>n be<br />
these conversion programs, then<br />
downloading downloading a CP CP/M 1 M program program<br />
while in in 64 64 or 128 format on on a regular<br />
lar disk. disk. After After disconnecting from<br />
the network, you load the conversion<br />
sion program, program, and and it it will will copy copy the the<br />
downloaded downloaded program program to to a CP CP/M 1M<br />
disk in CP/M format. a<br />
Enom the designers of ELTDON<br />
ELECTROSOUND<br />
Turn Turn your your Commodore Commodore 64' 64*<br />
into into a a powerfu powerfull synlhesiser<br />
synthesiser<br />
--50 50 preset sounds<br />
sounds<br />
- 24 percussion percussion sounds<br />
- 8 8 octaves<br />
octaves<br />
--55 types types of of modulation,<br />
modulation,<br />
compete compete with with 35 35 page page<br />
manual.<br />
PRICE: U.S.<br />
$30.00<br />
S30.00<br />
CDN.<br />
$40.00<br />
$40.00<br />
who will let you do some Checking<br />
I<br />
f you don't regularly use CP 1M<br />
what's available, you still have access<br />
to thousands of CP 1M pro<br />
Kaypro), you might want to attend<br />
a meeting to see what's in their li<br />
brary. brary. Lo<strong>ca</strong>l newspapers newspapers and and other<br />
other<br />
community service publi<strong>ca</strong>tions<br />
of CP 1M bulletin board systems<br />
across across the the country. country. To To find one one in in<br />
your area, <strong>ca</strong>ll the Peoples' Message<br />
sage Service, Service, an an electronic electronic bulletin bulletin<br />
board, at at (619) (619) 444-7006 (Password:<br />
PAMS) and either search in<br />
of CP 1M bulletin boards fr om<br />
around around the the nation. nation. Many Many online<br />
online<br />
information services, like Compu<br />
offer public doma in software.<br />
Remember, Remember, however, that that the the<br />
initial release release of CP CP/M 1M for the the 128 128<br />
doesn' t " recognize" modems,<br />
new CP 1M version.<br />
In the the meantime, meantime, there there are are programs<br />
on CompuServe and several<br />
BBS's BBS's that make make it possible to to copy copy<br />
programs downloaded in 64 or 128<br />
board in the Atlanta area <strong>ca</strong>n be<br />
reached reached at at 404-995-0182.) 404-995-0182.) The The process<br />
cess involves downloading downloading one one of<br />
these conversion programs, then<br />
disk in CP 1M format. •<br />
From the designers of EI ,11 x)N<br />
ELECTROSOUND<br />
NOW NOW AVAILABLE IN IN NORTH NORTH AMERICA AMERICA<br />
Electrosound Electrosound64 64<br />
THE HELLION<br />
THE HELLION<br />
Baltte Battle against 101 101, , yes 101<br />
insane levels of maraudi marauding ng<br />
aaliens. liens. Traffic lights, ducks<br />
and half eaten fish are are<br />
all pari part of th this is wonderful<br />
long tongue-in-cheek ue -in-cheek shoot-em<br />
down game.<br />
game.<br />
PR PRICE: ICE: U.S.<br />
$15.00<br />
$15.00<br />
CDN.<br />
$20.00<br />
$20.00<br />
'Commodore 64 is a trademark ol<br />
Commodore Electronics Lid.<br />
r ELECTROSOUND No. of Copies<br />
Disc Cass<br />
THE HELLION No. of Copies<br />
Disc Cass<br />
pleaseprint AMOUNT ENCLOSED S<br />
I<br />
NAME<br />
r--------------------,<br />
'CommodOfa64 1$ a trademark 01<br />
Commodore ElectroniCS Ltd<br />
ELECTAOSOUND No. 01 Copies Disc 0 Cass<br />
THE HELLION No. of Copies Disc L..,; Cass G RPHEU<br />
PLEASE PRINT AMOUNTENCLOSEDS _______ _<br />
I NEVER-LOOK-BACK... I I<br />
PLEASE SEND CHECK OR MONEY ORDER TO:<br />
I I<br />
ADDRESS<br />
I<br />
ORPHEUS<br />
LCITY 2IPOR POSTAL CODE B0X 33a ELMIRA. ONTARIO, CANADA N3B 2Z7<br />
^m mm mm bm bbi bbi an bh wm* bbi bh ■■ ■■■ m mm mm mm hh mm bbi bbi m<br />
NAME<br />
PLEASE SEND CHECK OR MONEY ORDER TO:<br />
ADDRESS<br />
ORPHEUS<br />
BOX 333. ELMIRA. ONTARIO. CANADA N3B 2Z7<br />
ZIP OR POSTAL CODe<br />
Clry<br />
L --------------------- J
MAGNUM LOAD is a new raplacBmonl KERN A L (Operating system) MOM rlup lor y. n i ■■.'<br />
modor fl5or T2Bcompulanhai ,,■;' road arid verify cwoorams up Io6 rime* faater than before.<br />
The laoo i.-u-.i'-': ' it-■ :■■■■! removed (torn ifre old ct->;> and In their place have own pur a,<br />
hiflh speed loader, filgt> speed verify, anddJak drEvj/nonead-rattre routine. Unlik* iho older<br />
ciMrldoe lasl loaders no poda are UoO up at ihe roar of f>e computer, (he acrofin is not<br />
blanked during loadino and there *i no w.,n nrniNMr on i r i =- - expansion port. For mairtnium<br />
convenience and per lor ma nee. iha chip is installed ■. i ■ ■■ ■ uv In tho circuit f'o.nii Goner ally a<br />
.- ■L ■ ■ '■ " ;i !■ u;. r. . :i ^ .;,.■ Can be used to lo<strong>ca</strong>l? end ^(imm .mv m&chlnq 1 1 ;>■ program'a i r " r<br />
• Can be uv :\ to flftsHy break apart machine language '.•>'•'!< '>'-'•- 'or study and<br />
• Printer option lor complete hard copy Idlings! gJ Q95<br />
You no longer need to bm an EGGHEAD to read Machine Language.<br />
jiiiN-coDE"B^<br />
: PERFECT COMPANION PROGRAM TO DECODER!<br />
Allows you to •■■liy mtk* chang** In machine Itnguagt programs , , right on Hi* til<br />
• Rewrite ability allows code lo bo altered arid then rowrtdan dlroclly to the di<br />
• Features sector-<strong>by</strong>-nector scrolling ,i- ••'■\X-.\, ■.*.■ ■-:■ ■ ■';■■ ■ !'■.;■!,', ol machine<br />
of ASCI' leit equivalent tor easy spoiling ol embeOtfed text strings'<br />
Handy relerencv display ot alL > '-1, language com.mar.ds and thelc ML numeri<strong>ca</strong>l<br />
equivalents'<br />
ByEa splitter Tot easy splitting of decimal<br />
nto raw <strong>by</strong>te-high <strong>by</strong>te lormatJ<br />
$ "I Q<br />
I 7<br />
SOFTWARE PROTECTION HANDBOOK<br />
Third Edition! Now Available!<br />
II you'ro tlwl of being harassed Oy pnjttcivd loitwtrt and too many copy programs. ■' ■ ■<br />
InfsLsLnflboofcloryoul This 72* page manual covers ihegamuHrorri'egalrlraslD protection<br />
nelbodd to step-<strong>by</strong>-slip bach up pfocedu'es. Now you <strong>ca</strong>n learn bolh now to proltcl *nd<br />
unproteel software! Tne techniques covered include copying <strong>ca</strong>rtridges 10 rape or disk, tape<br />
protect lonh and dlsV protect Ion. Disk prolecllfmcovers error numbers 20,2\2Z, 23.57 and 29<br />
plui aJngle Track formatElno, header modMF<strong>ca</strong>llon. deader swapping, fiall Irach reading and<br />
writing, raadJng and modified btt denaitles, formairtng illflgal traclusgctors, sync wrMlr>g and<br />
rnt-ri1 if-i Third ■ 1 ' ■ txplalntL tarl) ho* lo d*iK( nod how Id writ* them wilh . ■ '<br />
Book A Dial ol all Programs _..
Heart of of Afri<strong>ca</strong> Afri<strong>ca</strong><br />
You've found it! The fab fabled led tomb of<br />
Pharaoh Pharaoh Ahnk Ahnk Ahnk Ahnk is lost lost no no more.<br />
more.<br />
Had he not perished in the search, your<br />
mysterious mysterious benefactor, benefactor, Hiram Hiram Primm,<br />
Primm,<br />
would would have have reveled in in the the secrets secrets of<br />
those those popular popular and and effi<strong>ca</strong>cious Egyptian<br />
Egyptian<br />
embalming fluids. As As for you-well,<br />
you—-wall,<br />
perhaps you <strong>ca</strong>n content yourself with<br />
perhaps you <strong>ca</strong>n con lent yourself with<br />
immeasurable wealth and the undying<br />
immeasurable wealth and the undying<br />
celebrity celebrity of your your discovery. discovery. And-just<br />
And—just<br />
maybe-begin maybe—begin to to forget the the harsh harsh tra<br />
vails of your journey.<br />
vails of your journey.<br />
The legendary tomb is your goal in<br />
The legendary tomb is your goal in<br />
Heart Hearl of Afri<strong>ca</strong>, a delightful new offer<br />
ing from Electronic Arts. The game is a<br />
ing from Electronic Arts. The game is a<br />
successor to Ozark Softs<strong>ca</strong>pe's Sevell<br />
successor to Ozark Softs<strong>ca</strong>pe's Seven<br />
Cities of Gold, and the two share a<br />
strong superficial resemblance. Overall<br />
game game mechanics mechanics are are similar. similar. In In both, both,<br />
the player must traverse territory repre<br />
sented <strong>by</strong> thousands of screens of<br />
sented <strong>by</strong> thousands of screens of<br />
scroBing scrolling maps. maps. Success Success is measured <strong>by</strong> <strong>by</strong><br />
the extent of your discoveries and the<br />
wealth wealth you you amass, amass, and and <strong>by</strong> <strong>by</strong> your your ability<br />
to manage your resources and master<br />
to manage your resources and master<br />
the the logistics involved involved in exploring exploring vast vast<br />
and and dangerous dangerous regions.<br />
regions.<br />
Beyond this, the differences be<br />
come come signifi<strong>ca</strong>nt. signifi<strong>ca</strong>nt. Seven Cities Cities of Gold Gold is is<br />
a a game game of of conquest conquest and and greater greater s<strong>ca</strong>le.<br />
s<strong>ca</strong>le.<br />
Violence against the natives is an indis<br />
Violence against the natives is an indis<br />
pensable pensable tool, tool, and and you you have have 60 years years in in<br />
which to dominate two uncharted con<br />
which to dominate two uncharted continents<br />
tinents and and their their inhabitants. In In real real<br />
time, time, it it may may take take 15 15 hours hours and several<br />
several<br />
sessions sessions before you you and and your your small<br />
small<br />
army army are are suitably suitably rewarded rewarded <strong>by</strong> <strong>by</strong> the the hypocriti<strong>ca</strong>l<br />
ocriti<strong>ca</strong>l court court back back home home in in Europe.<br />
Europe.<br />
Heart of Afri<strong>ca</strong> offers satisfaction on<br />
Heart of Afri<strong>ca</strong> offers satisfaction on<br />
an individual level. It's 1890, about 20<br />
years after Stanley's famous search for<br />
years after Stanley'S famous search for<br />
Livingstone, when you arrive in Cairo<br />
Livingstone, when you arrive in Cairo—<br />
totally totally alone, as as you you will will be be throughout<br />
throughout<br />
the game. All you've got to go on are<br />
vague rumors about the tomb, and the<br />
meagre funds provided for you from<br />
Primm's will. And you've only got five<br />
Primm's will. And you've only got five<br />
years years to to complete complete your your quest.<br />
quest.<br />
During that period, you'll need to<br />
During that period, you'll need to<br />
cover thousands of miles, meet and talk<br />
to numerous different tribes, finance<br />
your trip, figure out where the elusive<br />
your trip, figure out where the elusive<br />
tomb tomb lies, lies, and and stride stride <strong>ca</strong>refully <strong>ca</strong>refully through through a a<br />
continent as rich in peril as it is in mys<br />
continent as rich in peril as it is in mys<br />
tery. It's a difficult balancing act, made<br />
worse <strong>by</strong> a severe shortage of time. If<br />
worse <strong>by</strong> a severe Shortage of time. If<br />
68 68 COMPUfE!'s COMPUTE!1* <strong>Gazette</strong> <strong>Gazette</strong> Februaf)' February 1986 1986<br />
you you fail. fail, you die, die, lost lost like like Primm Primm himself,<br />
a man whose mettle could not<br />
match his vision.<br />
match his vision.<br />
In that that <strong>ca</strong>se, <strong>ca</strong>se, you'll you'll want 10 to play play<br />
again. Although the Afri<strong>ca</strong>n continent<br />
again. Although the Afri<strong>ca</strong>n continent<br />
remains the the same same (it's (it's geographi<strong>ca</strong>lly<br />
geographi<strong>ca</strong>lly<br />
accurate), the lo<strong>ca</strong>tions of the tomb and<br />
valuable commodities commodities are are shifted for for<br />
every every game, game, as as are are messages messages and and clues.<br />
Marvellous surprises may spring up at<br />
Marvellous surprises may spring up at<br />
any time, but remember- remember—pestilence, pestilence,<br />
disease, treachery, and disaster will also<br />
disease, treachery, and disaster will also<br />
strike in an an equally equally unexpected unexpected manner.<br />
Although it wouldn't be fair to give<br />
away away too too many many specifics specifics or or details details of of<br />
game strategy, strategy, there there are are some some general<br />
general<br />
features ooff the the program program that that bear bear<br />
mentioning.<br />
mentioning.<br />
■<br />
m<br />
w<br />
- '<br />
F<br />
K<br />
_i<br />
L'.U ,<br />
SOU<br />
Mfli<br />
L<br />
I THtf<br />
L_<br />
miinc it cinot .<br />
rta. -<br />
B<br />
i-H<br />
-t an f 1<br />
an it<br />
» ua'f.<br />
f jc(* n.*l-c , (HArtTUM HiaJDJL<br />
fit £Ji AU7TCFI<br />
1 UlfJIS *03B<br />
1 nancy<br />
weary traveller, the computer provides<br />
you you with with a a constantly constantly updated updated diary diary of of<br />
events and clues, all described in ornate<br />
there's a lot of trading involved. In this<br />
<strong>ca</strong>se, it's more criti<strong>ca</strong>l than usual be<strong>ca</strong>use<br />
your resources are limited, and<br />
<strong>ca</strong>use your resources are limited, and<br />
you <strong>ca</strong>n <strong>ca</strong>rry only what will fit into<br />
your pack. You're helped a little <strong>by</strong> the<br />
your pack. You're helped a little <strong>by</strong> the<br />
ability ability to to <strong>ca</strong>che <strong>ca</strong>che supplies supplies anywhere, anywhere, but but<br />
hindered hindered severely severely <strong>by</strong> <strong>by</strong> the the perishability<br />
perishability<br />
of of foodstuffs in in the the Afri<strong>ca</strong>n Afri<strong>ca</strong>n heat. heat. There<br />
There<br />
are also some strange and terrible afflictions<br />
tions awaiting awaiting you, you, but but surely surely you're<br />
you're<br />
not the type to tum back now.<br />
not the type to turn back now.<br />
This game is a real pleasure to<br />
play, especially when fate turns evil<br />
play, especially when fate turns evil<br />
and and the the only only hope hope is is your your own own fie fierce rce resolve<br />
to get to the tomb. A fun game <strong>ca</strong>n<br />
solve to get to the tomb. A full game <strong>ca</strong>n<br />
be played in about three-and-a-half<br />
hours, and it <strong>ca</strong>n be saved at just about<br />
any any point, making making it it conSiderably considerably more more<br />
manageable manageable than than its its predecesso predecessor. r.<br />
In In the the end, end, it it is a a hopeful hopeful game,<br />
game,<br />
and and certainly certainly not not for conquistadors. conquistadors. Violence<br />
olence will will avail avail nothing, nothing, except for<br />
some some suitably suitably sardonic sardonic screen screen messages<br />
messages<br />
or or possibly possibly your your own demise. In a a time time<br />
of of very real drought drought and and famine in in Afri<strong>ca</strong>,<br />
It's useful to be reminded of the long<br />
<strong>ca</strong>, it's useful to be reminded of the long<br />
history history of of this great great continent. continent. Admira<br />
bly and entertainingly, Heart of Afri<strong>ca</strong><br />
bly and entertainingly, Heart of Afri<strong>ca</strong><br />
also reminds us that the role of the "civ<br />
also reminds us that the role of the "civ<br />
ilized" explorer need not be one of<br />
bloodshed and plunder. This is a game<br />
bloodshed and plunder. This is a game<br />
of of wonder wonder and and discovery.<br />
-—Lee Lee Noel, Jr.<br />
Electronic Eltctronic Arts<br />
2755 CQ Campus mpus Drive Drillt<br />
5an Sun Mauo, Maleo, CA CA 944 94403 03-<br />
$J1.95 532.95 (disk)<br />
Most cruclal crucial of all, you must immerse<br />
merse yourself yourself in in the the native native cultures to to<br />
survive. survive. The The aability bility to to resupply resupply de<br />
pends pends largely on the friendliness of f-----------------j<br />
your relations with the Afri<strong>ca</strong>ns. Dealing<br />
diplomati<strong>ca</strong>lly with the tribes and<br />
their their various various customs customs and and languages languages is is<br />
the the key to to tracking tracking down the the legend of Hardball<br />
of<br />
Ahnk Ahnk. You'll explore cities and<br />
villages, enter buildings, and talk di<br />
Growing Growing up up around around baseball baseball was was lots lots of of<br />
re rectly ctly with with individual natives. natives. And And fun. Being the batboy batboy for my home<br />
you'll see all this in detailed, close-up<br />
town's minor league team, I learned<br />
graphics. Several Several geographi<strong>ca</strong>l geographi<strong>ca</strong>l aids aids are are lots lots of of things things about about the the game game that <strong>ca</strong>su<br />
available to you, but you must rememal<br />
onlookers never pick up. Upon seeber<br />
to to include include them in in your your pack pack before before<br />
you you set forth. As As a a further boon boon to to the the<br />
weary traveller, the computer provides<br />
events and clues, all described in ornate<br />
late-Victorian prose. This record, like<br />
the the other other features, is accessed accessed through<br />
joystick ('ontrol control of icons and multiple<br />
screen windows. It's fa fast, st, flashy, and<br />
very easy easy to to use. usc.<br />
As with with all Ozark Ozark Softs<strong>ca</strong>pe Softs<strong>ca</strong>pe games,<br />
there's a lot of trading involved. In this<br />
al onlookers never pick up. Upon see<br />
ing Accolade's Hardball for the first<br />
time, the memories started to flow.<br />
Chasing fly balls, bans, picking up bats, stealing<br />
signs, watching a pitcher's "stuff,"<br />
standing standing in in as as a practice batter batter for the the<br />
players—it players-it all all <strong>ca</strong>me <strong>ca</strong>me back. This This is is where<br />
where<br />
1 I learned to appreciate the art of pitching<br />
ing and and the art art of of batting, batting, and and the the feel of of<br />
those those days days of of my my youth youth returned returned as as I<br />
looked looked at at that that screen screen for the the first time. time. If If<br />
there's a better baseball simulation on<br />
the the market, I 1 haven't haven't had had the the pleasure.
BRIGHT NEW STAR<br />
A_ BRIGHT NEW STAR<br />
FOR A COMMODORE<br />
TO PRINT BY<br />
Now you <strong>ca</strong>n<br />
own own a a sophisti<strong>ca</strong>ted,<br />
sophisti<strong>ca</strong>ted,<br />
affordable printer that's made<br />
TO PRINT BY<br />
affordable printer that's made<br />
just for your C-64!"<br />
C-64<br />
Here's a dual-mode Star printer<br />
that delivers 120 cps draft and 30<br />
cps near-letter-quality. With outstanding<br />
graphics ability. Interface<br />
<strong>ca</strong>ble. And friction and tractor feed.<br />
<strong>ca</strong>ble. And friction and tractor feed.<br />
All standard.<br />
And it's the best-selling printer<br />
for the best-selling home computer!<br />
All standard.<br />
And it's the best-selling printer<br />
Commodo Commodore .. and C·64 C-H.rt nia IRd,ma,kI trtdimntkJ01 oiCommodort Commodore BUillit'll BuiineisMachin". Machines. I...:. Inc.<br />
and,lo. snd/oiCommodOH Commodore EllIC1ronk:. Electronic! Ltd. Lid.<br />
Star's made-for-Commodore"<br />
made-for-Commodore*<br />
printer printer needs no no add-ons. Just Just plug plug<br />
it into your computer computer and go to<br />
work. It's It's made made at a a price price that that <strong>ca</strong>n't<br />
be beat.<br />
be beat.<br />
You've You've got got the computer. Now Now<br />
get everything out of it. Get the Star<br />
get everything out of it. Get the Star<br />
that's that's labelled labelled "C:' "C." There's There's no better<br />
better<br />
mate mate made for a Commodore.<br />
mlcronlCS<br />
i c r o n i < %
Snapshot<br />
Here's a program that <strong>ca</strong>n be a real<br />
boon boon to to programmers. programmers. "Snapshot"<br />
"Snapshot"<br />
is a a machine machine language language utility utility that that<br />
stores stores whatever you you have have on on the the<br />
text screen, including colors, into<br />
the unused RAM which underlies<br />
BASIC. It <strong>ca</strong>n store and retrieve up<br />
to to 56 56 screens. screens. And And you <strong>ca</strong>n save save the the<br />
screens to tape or disk. It crunches<br />
Since Snapshot is written en<br />
tirely in machine language, it works<br />
fast. It <strong>ca</strong>n print a screen more than<br />
twice twice as as fast as as the the equivalent<br />
equivalent<br />
BASIC PRINT statements, and far<br />
faster than POKEing data to screen<br />
Two Modes<br />
"MLX," "MLX," the the machine machine language language entry<br />
program (found elsewhere in<br />
this this issue), issue), is is required required to to type type in in<br />
Snapshot. After After loading loading and and run· run<br />
ning ning MLX, answer answer the the prompts prompts for<br />
the the starting starting and and ending ending addresses<br />
addresses<br />
with C124 and C983, respectively.<br />
Alter After typing typing it it in, in, save save a copy.<br />
copy.<br />
Snapshot <strong>ca</strong>n <strong>ca</strong>n be be used used in either<br />
either<br />
program or immediate mode. The<br />
commands are slightly dif{erent different in<br />
each each mode. mode. (See (See the the accompanying<br />
accompanying<br />
table table for a a list of of commands.) commands.) Immediate<br />
mode uses the CONTROL<br />
key to to input input commands. commands. In In program program<br />
78 COMPUTEI', COMPUTEI's Gazella <strong>Gazette</strong> February 1986<br />
Clayton Clayton R. Newman<br />
This This clever clever utility utility <strong>ca</strong>n <strong>ca</strong>n store store up up to to 56 56 different<br />
different<br />
screens screens in in memory memory and and instantly instantly retrieve retrieve anyone<br />
any one<br />
for display. display. For For the the Commodore Commodore 64 64 and and 128 (in (in 64 64<br />
mode).<br />
Here's a program that <strong>ca</strong>n be a real<br />
the unused RAM which underlies<br />
BASIC. It <strong>ca</strong>n store and retrieve up<br />
screens to tape or disk. It crunches<br />
the the information for the screen, screen, storing<br />
ing up up to to 255 empty empty spaces spaces or or re<br />
peated peated characters characters in in only only th three ree<br />
<strong>by</strong>tes. <strong>by</strong>tes.<br />
Since Snapshot is written en<br />
faster than POKEing data to screen<br />
memory.<br />
memory.<br />
Two Modes<br />
mode, several SYS commands are<br />
mode, several SYS commands are<br />
required.<br />
To To use use it it in in immediate immediate mode,<br />
mode,<br />
load load Snapshot Snapshot <strong>by</strong> <strong>by</strong> typing typing LOAD LOAD<br />
"fi/enamel/,B, " filename",%,\ 1 (disk) or LOAD<br />
'filename", 1,1 (tape), then NEW<br />
"filename", I ,1 (tape), then NEW<br />
and SYS 49444 . Then, create or dis<br />
and SYS 49444. Then, create or dis<br />
play the the screen screen you want wa nt copied.<br />
When the the screen screen is is ready, ready, press press<br />
CONTROL·C. CONTROL-C. Snapshot Snapshot copies the the<br />
screen screen to to memory and and asks asks you you for<br />
a a screen screen name. name. All All Snapshot Snapshot screen<br />
screen<br />
names must be two characters long.<br />
Any two characters, except aster<br />
Any two characters, except asterisks,<br />
isks, may may be used. used. If If you choose choose a a<br />
name name that's that's already already been been used, used, the<br />
old old screen screen will will be replaced replaced <strong>by</strong> <strong>by</strong> the the<br />
new new one. Use Use the the INSTjDEL IN5T/DEL key to to<br />
make corrections corrections when when entering entering the the<br />
name. name. If If you decide decide not not to to save save the<br />
screen screen at at aU, all, just just press RETURN<br />
RETURN<br />
with with no name name and and it will <strong>ca</strong>ncel <strong>ca</strong>ncel the the<br />
command. command. This This es<strong>ca</strong>pe es<strong>ca</strong>pe works works with with<br />
all commands.<br />
all commands.<br />
To To re<strong>ca</strong>ll re<strong>ca</strong>ll a screen, screen, press press<br />
CONTROL·P CONTROL-P and and enter enter the two· two-<br />
character character screen screen name. name. CONTROL·!<br />
CONTROL-I<br />
displays displays an an index or directory directory of of<br />
your screen names. To delete a<br />
your screen names. To delete a<br />
screen, press CONTROL·D and en·<br />
screen, press CONTROL-D and en<br />
ter ter the the name. name. To To delete all all of of your your<br />
screens, enter an asterisk (-) (*) as your<br />
screen name. (Individual screen<br />
names names should should not not contain an an asterisk.)<br />
isk.)<br />
CONTROL-S and CONTROL<br />
CONTROL-<br />
L are are used used to to save save and load load the the en<br />
tire group of screens on tape or<br />
tire group of screens on tape or<br />
disk. You're asked for a {i\ename<br />
disk. You're asked for a filename—<br />
for the entire group of screens<br />
screens—<br />
and whether you're using tape or<br />
and whether you're using tape or<br />
disk. (Tape users: you must enter a<br />
disk. (Tape users: you must enter a<br />
filename, since pressing RETURN<br />
with no input aborts the com<br />
with no input aborts the command.)<br />
mand.)<br />
If If you wish, wish, you you <strong>ca</strong>n <strong>ca</strong>n copy copy only only<br />
part of of the the screen. screen. To To do this, this, position<br />
the the cursor cursor at at the the start start of of the<br />
section you you want want to to save save and and press press<br />
CONTROL-F. CONTROL-R The cursor cursor changes<br />
changes<br />
color. Now move the cursor to the<br />
position position after after the the last last character character you<br />
want saved and press RETURN.<br />
When these these fractional copies copies are are<br />
printed, printed, they're they're returned returned to to the the<br />
screen in the the same same lo<strong>ca</strong>tion from<br />
which they were saved.<br />
If If you're you're working working with with graphics,<br />
ics, you you may may often often want want to to change<br />
change<br />
the the screen screen lo<strong>ca</strong>tion lo<strong>ca</strong>tion or or redefine redefine the<br />
character set. Snapshot will work in<br />
either either <strong>ca</strong>se, <strong>ca</strong>se, but but remember remember that<br />
screens screens aare re printed printed to to the the same<br />
screen screen lo<strong>ca</strong>tion lo<strong>ca</strong>tion from which they they<br />
were were originally originally copied. copied. You You could<br />
could<br />
set up up several screens screens ahead ahead of of time time<br />
and and scroll scroll through through them them <strong>by</strong> <strong>by</strong> changing<br />
ing screen screen lo<strong>ca</strong>tions. lo<strong>ca</strong>tions. But But remember<br />
that aall ll screen lo<strong>ca</strong>tions use the<br />
same same color color memory, so so if if the the screen<br />
screen<br />
being printed printed has has different different colored<br />
colored<br />
characters characters than than the screen screen currently<br />
currently<br />
displayed, displayed, the the colors colors on on the the current<br />
current<br />
screen screen will change change too. too.<br />
The The program mode mode commands<br />
commands<br />
are are very very similar similar to to immediate<br />
immediate<br />
mode. The format is SYS 51000,<br />
command, name. flame. For example, to<br />
print a screen named AB, use SYS<br />
SIOOO,P,AB 51000,P,AB (P is is for Print). Print). You You <strong>ca</strong>n <strong>ca</strong>n<br />
use use a a string string variable variable for the the screen<br />
screen<br />
name, name, as as in in SYS SYS 51000,C,AS. 51000,C,A$. Array<br />
Array<br />
variables variables <strong>ca</strong>nnot <strong>ca</strong>nnot be be used, used, so so if if you you<br />
want want an an array array of of screen screen names names you you<br />
must must assign assign the the array array variable variable to to a<br />
regular string variable: AS A$ -= B$(20).<br />
For For loading loading or or saving, saving, add add T T (tape)<br />
(tape)<br />
or or D (disk): (disk): SYS SYS SIOOO,S,file"ame,<br />
51000,S,///enflwe,<br />
D. D. Do Do not not use use quotes quotes for the the filename.<br />
name. Also, Also, you you don't don't need need to to SYS SYS<br />
49444 (the command that activates<br />
Snapshot) Snapshot) in in program program mode.<br />
mode.<br />
Making It Useful<br />
Making It Useful<br />
Snapshot Snapshot has has numerous numerous appli<strong>ca</strong>tions.<br />
One is displaying back backgrounds<br />
for ar<strong>ca</strong>de games or text<br />
adventures. adventures. By By using using a a redefi redefined ned<br />
character character set, set, very complex complex screens<br />
screens<br />
<strong>ca</strong>n <strong>ca</strong>n be be drawn, drawn, ri rivaling va ling high·<br />
high-<br />
resolution screens. Many commercial<br />
cial games games use screens screens drawn drawn this
Commodore 128 Memory Map<br />
Important Lo<strong>ca</strong>tions<br />
Commodore 128 Memory Map<br />
Jim Butterfield Butterfield<br />
Here's an abridged memory map that shows key lo<strong>ca</strong>tions of the Commodore<br />
Here's an abridged memory map that shows key lo<strong>ca</strong>tions of the Commodore<br />
128 in 128 mode. mode. Included Included are are decimal decimal and hexadecimal hexadecimal addresses, addresses, and brief<br />
descriptions of the functions of each lo<strong>ca</strong>tion.<br />
descriptions of the functions of each lo<strong>ca</strong>tion.<br />
Memory Map<br />
This memory map applies to the Commodore 128<br />
when used in the 128 mode. In 64 mode, the ma ma-<br />
chine's map is identi<strong>ca</strong>l to that of the Commodore 64.<br />
There are 28 pages (256 <strong>by</strong>tes each) of overhead<br />
before the slart start of BASIC. The following list shows<br />
some of the more important lo<strong>ca</strong>tions.<br />
Architecture " "Bank Bank numbers" as used in the BASIC BANK com- com<br />
mand and the built-in machine language monitor's<br />
addressing scheme are misleading; in fact, they're<br />
more correctly <strong>ca</strong>lled "configuration numbers." Bank<br />
o 0 shows RAM level 0, which contains work areas and<br />
the user's BASIC program. Bank 1 also shows RAM,<br />
this time (for addresses above hexadecimal S0400)<br />
$0400)<br />
level 1. 1, which contains variables. variables, arrays. arrays, and strings.<br />
Other "banks" are really configurations, with various<br />
types of ROM or I/ I/O O overlaying RAM. Thus, bank 15<br />
(the most popular) is ROM and I/ I/O O covering RAM<br />
bank O. 0. Bank 14. 14, however, is ROM and the character<br />
generator overlaying RAM bank O. 0. Architecture is set<br />
so that addresses below $0400 reference bank 0 only.<br />
Other bank switching (more complex than the simplified<br />
16-bank concept) is accomplished via storing a<br />
mask to address $FFOO, $FF00, or <strong>ca</strong>lling up prestored masks<br />
<strong>by</strong> writing to SFFO $FF01-FF04. I-FF04 .<br />
Memory Map<br />
Hex Hex<br />
All Banks:<br />
0000-0001 0000-0001<br />
OOOF 000F<br />
0010 0015 0016-0017 002D-002R 002D-002E<br />
002F-0030 002F-0030<br />
0031-0032 0031-0032<br />
0033-0034 0033-0034<br />
0035-0036 0039-003A 003B-003C 003D-003E Decimal Decimal<br />
0-1 15 15<br />
16 21 22-23 45-46 47- 47-48 48<br />
49-50 51-52 53-54 53-54<br />
57-58 59-60 61-62 Description<br />
I/O 1/0 port, similar to to<br />
64<br />
Type: FF=string; FF-string;<br />
aO 00 -= numeric<br />
Type: BO 80 -= integer;<br />
OO=£loating 00=ftoating point<br />
Current I/O prompt prompt<br />
nag flag<br />
Integer value<br />
Pointer: start-of-<br />
start-of-<br />
BASIC (for bank 0)<br />
Pointer: start-of-<br />
variables (bank 1)<br />
Pointer: Pointer: start-of-<br />
start-of-<br />
arrays<br />
Pointer: end-of-<br />
end-of-<br />
arrays<br />
Pointer: string-<br />
storage (moving<br />
down) down)<br />
Pointer: limit-of-<br />
memory memory (bank 1)<br />
Current BASIC line<br />
number<br />
number<br />
Textpointer: BASIC<br />
0041-0042 65-66 65-66<br />
work pointer<br />
Current DATA line<br />
0043-0044 0043-0044 67-6B 67-68<br />
number<br />
Current DATA<br />
0047-0048 71-72 address<br />
Current variable<br />
variable<br />
name<br />
name
Blink Color (1024)-When you<br />
Blink Color (1024)—When you<br />
want want to to make a a specific specific color color blink blink<br />
to another color, you must use this<br />
to another color, you must use this<br />
command. Just add to the com<br />
command. Just add to the com<br />
mand number number (1024) (1024) the the number number of of<br />
the color you want to blink. Then<br />
add 16 times the number of the<br />
color you wish to blink to. For ex<br />
color you wish to blink to. For example,<br />
if if you you want want the the color color white<br />
white<br />
(color 1) to blink to black (color 0),<br />
(color 1) to blink to black (color 0),<br />
you would send tthe he following<br />
command:<br />
command:<br />
x X-USRI1024+ - USR(]024 + (]6·0)+ (16*01 + 1)<br />
(Note that color numbers range<br />
(Note that color numbers range<br />
from 0-15 0-15 on on the the 64, Plus/4, and and<br />
16; from 0-7 on the VIC.) The origi<br />
16; from 0-7 on the VIC.) The original<br />
nal color color and the the color color you you want want it it<br />
to to blink blink to to should should aalways l ways be be<br />
different.<br />
different.<br />
Stop Color From Blinking<br />
Stop Color From Blinking<br />
(2048)-lf (2048)-—If you you want want to to stop stop a a specif<br />
ic color from blinking, then send<br />
ic color from blinking, then send<br />
this this command. command. Just Just add the the number<br />
number<br />
of of the the color color you you want want to to stop stop blinking<br />
ing to to the the command command number number (2048).<br />
(2048).<br />
For instance, if you wanted to slap<br />
For instance, if you wanted to stop<br />
cyan cyan from from blinking blinking to to some some other<br />
other<br />
color, you would send X- X = US USRR<br />
(2048+3). (2048 + 3). Three Three is the the color color num<br />
ber for cyan. It's important to note<br />
ber for cyan. It's important to note<br />
that you you should should only only turn rum off off a a color<br />
color<br />
that was set to blink, not the color it<br />
that was set to blink, not the color it<br />
was blinking bUnking to. In other words, if<br />
you you tell tell cyan cyan to to blink blink to to red, red, you you<br />
should should teU tel! cyan cyan to to stop stop blinking. blinking.<br />
This command will wait until all<br />
characters typed in the requested<br />
characters typed in the requested<br />
color color have returned returned to to that that color<br />
color<br />
before before stopping it it from blinking. blinking.<br />
For example, if green is told to blink<br />
For example, if green is told to blink<br />
to to black, black, and and a a "stop "stop green green from<br />
blinking" command is sent, Blink<br />
Mode will wait until black charac<br />
Mode will wait until black characters<br />
ha ve turned back to green<br />
ters have turned back to green<br />
before before stopping stopping ggreen re en from<br />
blinking.<br />
blinking.<br />
Set Delay (16384)- This command<br />
Set Delay (16384)—This command<br />
allows allows you you to to set set the the time time it it takes takes to to<br />
blink between two colors. Th This is time<br />
ranges from 1/60 of a second to<br />
ranges from 1/60 of a second to<br />
about about 4.5 minutes. (Note (Note that that all all<br />
blinking colors will blink at the<br />
blinking colors will blink at the<br />
same same rate.) rate.) Vou You send send this this command<br />
command<br />
<strong>by</strong> <strong>by</strong> passing passing the the command command number<br />
number<br />
(16384) (16384) plus plus the the time value. value. The The<br />
time values range from 1, which<br />
sets the time delay to about 1/60 of<br />
sets the time delay to about 1/60 of<br />
a second, to 16383, which sets the<br />
a second, to 16383, which sets the<br />
delay delay to to about about 16383/60 16383/60 seconds<br />
seconds<br />
(4.5 minutes). Every time you add<br />
one one to the the time time value, you you add add 1/60<br />
1 /60<br />
of of a second to to the the delay. The The number<br />
60 will make the blink time<br />
about one second. You send this<br />
about one second. You send this<br />
94 94 COMPUTEt's COMPU TE! s GBl&U& Gazelle F&bruary February 1986<br />
command like this: X - USR<br />
command like this: X = USR<br />
(16384 (16384 + 2). 2). In In this this example, example, this this<br />
<strong>ca</strong>ll would set the time between<br />
color changes to 2/60 of a second.<br />
Note that that the the lower lower this number,<br />
the faster the blink, but the slower<br />
everything everything else else (like (like your BASIC<br />
program). This is be<strong>ca</strong>use Blink<br />
p rogram). This is be<strong>ca</strong>use Blink<br />
Mode Mode must must update the the entire entire color<br />
color<br />
screen whenever the time va lue<br />
screen whenever the time value<br />
you you set set runs out. out. If If the the time time value value is<br />
very ssmall, mall , you' you'll ll notice things<br />
slowing slowing down be<strong>ca</strong>use be<strong>ca</strong>use Blink Mode Mode<br />
is running more frequently.<br />
is running more frequently.<br />
Return Value (512)-Normally,<br />
(512)—Normally,<br />
when when you're you're using using Blink Blink Mode, Mode, the the<br />
command X=USR (command) will<br />
command X = USR (command) will<br />
make make X either either 1 or 0, 0, depending depending on on<br />
whether or not Blink Mode under<br />
whether or not Blink Mode understood<br />
stood the command. command. However, However, we we<br />
<strong>ca</strong>n <strong>ca</strong>n also also pass pass back back other values.<br />
values.<br />
Let's say at some point in your pro<br />
Let's say at some point in your pro<br />
gram you wanted to know which<br />
color blue was blinking to. With the<br />
Return Value Value command, command, you you <strong>ca</strong>n do<br />
this. Simply send the command<br />
this. Simply send the command<br />
number (5 12), plus the number of<br />
number (512), plus the number of<br />
the color to check. For instance, the<br />
command X- X = USR(512+6) USR(512 + 6) will as<br />
sign to X the color number that blue<br />
sign to X the color number that blue<br />
was told told to to blink blink to. Note Note that if if a a<br />
color is not blinking to another<br />
color is not blinking to another<br />
color, it it will will then then return return itself. itself. For For<br />
example, example, if if green green is not not blinking blinking to to<br />
another color, X X-USR(512 ... U5R(512 +5) + 5)<br />
should return 5, the number for<br />
should return 5, the number for<br />
green.<br />
Reset All Colors (256)- There will<br />
Reset All Colors (256)—There will<br />
be certain times when you're ex<br />
perimenting perimenting with with different different colors<br />
and and things things just get out of of hand. hand. If If<br />
this happens, this command will re<br />
this happens, this command will reset<br />
all the colors to blink to them<br />
set all the colors to blink to them<br />
selves, selves, thus making making it it appear appear that that<br />
none of them are blinking. To use<br />
none of them are blinking. To use<br />
this this command, command, send send the the command<br />
command<br />
number (256) (256) to to Blink Blink Mode. Mode. As As<br />
with with the the Stop Stop Blinking command,<br />
command,<br />
this this command command will will wait wait until until the the<br />
colors have returned to their origi<br />
colors have returned to their origi<br />
nal values before resetting them.<br />
Using Using Blink Blink Mode Mode In In Your Your<br />
Own Programs<br />
Own Programs<br />
There There are are a a few few important items to to<br />
keep keep in in mind mind when you you write write programs<br />
grams to to use use with with Blink Blink Mode. Mode. First,<br />
First,<br />
each color <strong>ca</strong>n blink only to one<br />
oth other er color. Second, each color<br />
must must blink to to a a color color that that no no other<br />
other<br />
color color is is blinking blinking to. to. For For instance, instance, if if<br />
you you have have green green blinking blinking to to red, you you<br />
should not try to have white blinking<br />
ing to to red red also. If If you you do do this, this, you' you'll ll<br />
get strange (but often interesting)<br />
get strange (but often interesting)<br />
results.<br />
results.<br />
You You should should always always reset reset a a<br />
color from blinking before making<br />
it it blink blink to another another color. Be<strong>ca</strong>use<br />
Be<strong>ca</strong>use<br />
Blink Mode Mode waits waits until until the the color color has has<br />
returned returned to to its original original value, however,<br />
this this command command may may take take a a<br />
while while (depending (depending on on the the time time delay<br />
delay<br />
between between blinks). blinks). One One way way to to get<br />
around this is to use the following<br />
code:<br />
code:<br />
10 x - USR (2048 + 6); REM STOP BLUE<br />
10 X - USR (2048 + 6): REM STOP BLUE<br />
FROM BLlNKNG<br />
BLINKNG<br />
20 20 X -=■ USR USR (16384+1); (16384 + 1): REM SET SET<br />
DELAY DELAY TO TO MIN. M1N.<br />
30 X - USR (512+6); (512 + 6): IF X6 THEN 30:<br />
REM WAIT WAIT<br />
40 40 X -= USR USR 116384 (16384 + 6(0); 600): REM RESET<br />
RESET<br />
ORIGINAL BLINK DELAY<br />
DELAY<br />
Le t's assume you've set the<br />
Let's assume you've set the<br />
time time delay delay to a a very very high high value value (say (say<br />
ten ten seconds). seconds). When When you you send send the<br />
"stop blue from blinking" command,<br />
it could take up to ten seconds<br />
onds for blue blue to stop stop Winking. blinking. (For (For<br />
example, example, if Blink Blink Mode Mode had had just just<br />
changed all the blue to red and you<br />
changed all the blue to red and you<br />
send this command, it will be ten<br />
send this command, it wil! be ten<br />
seconds before Blink Mode <strong>ca</strong>n<br />
change all the red back to blue.<br />
change all the red back to blue.<br />
Once Once it it does does that, that, it it will stop stop blue<br />
from from blinking blinking to to red). So, in order order to to<br />
speed things up a bit, I set the time<br />
speed things up a bit, I set the time<br />
delay delay to to a minimum; minimum; this this stops stops blue blue<br />
from from blinking blinking almost almost immediately.<br />
immediately.<br />
Line Line 30 30 checks checks the the value value of of the<br />
color that blue is blinking to. If blue<br />
has been reset, then it will be blink<br />
has been reset, then it will be blinking<br />
to blue. If it hasn't been reset<br />
ing to blue. If it hasn't been reset<br />
yet, then we simply keep running<br />
line 30 until it has has. . Line 40 resets<br />
the the time time delay delay to to its its original original value.<br />
value.<br />
(These (These BASIC lines <strong>ca</strong>n <strong>ca</strong>n also also be be used<br />
with the Reset All Colors<br />
command.)<br />
If If you you don't don't <strong>ca</strong>re <strong>ca</strong>re whether whether the the<br />
color gets reset (to its original color)<br />
color gets reset (to its original color)<br />
before it stops blinking, blinking, then you you<br />
<strong>ca</strong>n <strong>ca</strong>n use use the the following foll owing code.<br />
code.<br />
10 x - USR (102" + (16·6)+6): REM<br />
10 X - USR (102* + U6'6> + 6>: REM<br />
lILiNK BLINK lILUE BLUE TO TO BLUE BLUE<br />
20 20 X -= USR USR (102" (1024 + 116·3) (16"3) + 3): 3): REM<br />
HLiNK BLINK CYAN TO CYAN .<br />
In this example, we assume<br />
In this example, we assume<br />
that blue has been told to blink to<br />
cyan. What this code does is manuall<br />
uallyy reset th thee colors colors <strong>by</strong> <strong>by</strong> telling<br />
telling<br />
them them to to blink blink to to themselves. themselves. The The<br />
benefit of this sequence of commands<br />
is that that it it happens happens immediately:<br />
ately: no no waiting waiting for the the time time delay.<br />
Unfortunately, there's no guarantee<br />
that the cyan will have blinked<br />
tha t the cyan will have blinked<br />
back to blue blue when when you you send send this this<br />
command.<br />
command.
Mini-Filer<br />
Kevin Martin<br />
This flexible file manager for the Commodore 64<br />
and 128 (in 64 mode) is fast and easy to use. Single<br />
viding various single-key com<br />
mands for creating, creating, adding, adding, editing,<br />
editing,<br />
searching, searching, and and printing printing out. out.<br />
Be<strong>ca</strong>use Mini-Filer is a general-<br />
purpose file manager, it <strong>ca</strong>n be used<br />
for many appli<strong>ca</strong>tions. It's not de<br />
signed to fulfill a specific purpose,<br />
so it's general enough to handle<br />
many many different different types types of of files. For For<br />
example, example, you you could create create a a name name<br />
and address file (name, street, city,<br />
state, zip code, and phone number),<br />
a file for your garden (plant na name, me,<br />
gestation, watering/ watering/feeding feeding needs,<br />
needs,<br />
and harvest time), and a file for<br />
your library (title, author, publi<strong>ca</strong><br />
tion tion date, date, publisher, publisher, and and subject).<br />
subject).<br />
Each Each grouping grouping of information<br />
information<br />
within a file is a record. For ex<br />
ample, "John Doe, 123 Main Street,<br />
Anywhere, USA 11111, 888-999-<br />
9999)" could be one record within<br />
an an address address file. When When you you enter enter a<br />
new name, address, and so on,<br />
you're adding another record. In<br />
Mini-Filer, there's no restriction to<br />
the number of records (outside of<br />
the normal limitations of computer<br />
memory memory and and disk space), space), but but exercise<br />
common sense when creating a<br />
file. fil e. Re Remember, membe r, the the longer longer yo your ur<br />
file, file, the longer longer the the search search time to to<br />
find a a record. record . And if if the the record record size size<br />
is fairly small, you'll be able to fit<br />
more more records into into available available memory.<br />
Finally, Finally, each each record record contains<br />
contains<br />
one or more fields. fields . In the examples<br />
above, above, name, name, street, and city city are are<br />
fields within the address file, and<br />
author and publisher arc are fields in<br />
the library file. The fields <strong>ca</strong>n be<br />
i-Filer<br />
This flexible file manager for the Commodore 64<br />
and 128 (in 64 model is fast and easy to use. Single<br />
key commands commands allow allow you you to to create, create, add, add, edit,<br />
edit,<br />
search, load, save, and print out. A disk drive<br />
is required.<br />
Databases Databases are are powerful powerful tools tools for<br />
many many appli<strong>ca</strong>tions. They <strong>ca</strong>n manage<br />
age any any information information you you need need toto- alphanumeric, alphanumeric, meaning meaning any characters<br />
are allowed, or mmleric, numeric, conta<br />
taining ining numbers numbers only.<br />
store and retrieve, retrieve. "Mini-Fil "Mini-Filer," er," Think Think of of the structure structure as as a reci<br />
while not a full-featured database,<br />
pe pe <strong>ca</strong>rd box. box. The The entire entire collection collection of of<br />
allows allows you you to to easily easily create create and and <strong>ca</strong>rds <strong>ca</strong>rds is the the file. Each <strong>ca</strong>rd <strong>ca</strong>rd is is a a re<br />
manage any any number of of files <strong>by</strong> <strong>by</strong> providing<br />
various s ingle-key comcord<br />
inside the file. And each line<br />
Be<strong>ca</strong>use Mini-Filer is a general <br />
purpose file manager, it <strong>ca</strong>n be used<br />
signed to fulfill a specific purpose,<br />
so it's general enough to handle<br />
and harvest time), and a file for<br />
your library (title, author, publi<strong>ca</strong><br />
ample, "John Doe, 123 Main Street,<br />
Anywhere, USA 11111 , 888-999-<br />
the number of records (outside of<br />
the normal limitations of computer<br />
the library file. The fields <strong>ca</strong>n be<br />
cord inside the file. And each line<br />
on the <strong>ca</strong>rd is a field.<br />
If you see how all this infor<br />
mation is organized, you <strong>ca</strong>n sec<br />
mation is organized, you <strong>ca</strong>n see<br />
how how useful a a file fil e manager manager like like<br />
Mini-Filer <strong>ca</strong>n be. There are a multitude<br />
of appli<strong>ca</strong>tions. Aside from<br />
those noted above, you <strong>ca</strong>n create a<br />
file for home inventory, collections<br />
(<strong>ca</strong>rds, {<strong>ca</strong>rds, coins, stamps, record albums,<br />
and so on), gifts, recipes, Christmas<br />
<strong>ca</strong>rds, <strong>ca</strong>rds, and and mailing mailing labels, labels, to to name name a a<br />
few.<br />
few.<br />
A Few Steps<br />
A Few Steps<br />
Using Using Mini-Filer Mini-Filer requires requires three<br />
three<br />
basic basic steps: steps: create create a a file structure,<br />
enter records, and save these records<br />
to disk for later use. Mini<br />
Mini-<br />
Filer Filer also also allows allows you you to to print print out out a<br />
single single record record or or an an entire entire file at at the the<br />
stroke of of a a single key. key. A printer is is<br />
not not required required for use use with the the program,<br />
gram, however.<br />
Mini-Filer is written entirely in<br />
machine machine language and and must must be entered<br />
tered with with " "MLX," MLX," the the machine<br />
machine<br />
language language entry entry program, program, found<br />
elsewhere in this issue. After loading<br />
MLX, respond to the prompts<br />
for starting and ending addresses<br />
with with 0801 and 10B8 respectively.<br />
respectively.<br />
After typing in the program, save a<br />
copy copy on on disk. disk. To To load load and and run run Mini<br />
Mini-<br />
Filer, Filer, type type LOAD"filename",8 LOAD"filellame",8 and and<br />
RUN.<br />
Creating A File<br />
Creating A File<br />
After After running running Mini-Filer, Mini-Filer, you'll you'll see see<br />
a gray screen screen with with a command command line line<br />
at the top which includes a series of<br />
letters, letters, each each of of which represents a a<br />
command: A (add or enter), C (cre<br />
command: A (add or enter), C (cre<br />
ate), F (find), P (print a record), R<br />
(print a fi file), le), f7 i7 (load a file from<br />
disk), f8 (save a file to disk), CLR<br />
(clear data from memory), up (cursor<br />
up), and down (cursor down).<br />
For a complete list with more detailed<br />
explanations, see the Mini- Mini<br />
Filer Commands chart elsewhere in<br />
Filer Commands chart elsewhere in<br />
this article.<br />
this article.<br />
To To get get started, started, press C C to to create<br />
a file. You'll notice that the command<br />
line has changed to read<br />
"CREATE: Enter record format, f1 fl<br />
to to exit." (If (If you you have have a a file already<br />
already<br />
in memory, memory, this this option is not allowed.)<br />
You'll notice the cursor at<br />
the the top top left left corner corner of of the the screen, screen, be<br />
neath neath the the command command line. Think Think of of<br />
the the screen screen as a blank blank file <strong>ca</strong>rd <strong>ca</strong>rd on on<br />
which you <strong>ca</strong>n write anywhere.<br />
w hich you <strong>ca</strong>n write anywhere.<br />
Using the the cursor cursor keys, keys, move the the<br />
cursor to where you wish to begin.<br />
cursor to where you wish to begin.<br />
Any Any lo<strong>ca</strong>tion on on the screen screen is is acceptable,<br />
but note tha thatt each record<br />
is restricted to one screen of informa<br />
tion.<br />
tion.<br />
First type a label that describes<br />
First type a label that describes<br />
the the information in in the the field that that will will<br />
follow. Determine Determine the the maximum<br />
maximum<br />
number of cha characters ra cters you' you'll ll need<br />
(up to 128 characters per field). For<br />
example, example, in in creating creating a a name name and and<br />
address address file, fil e, you you mig might ht type type<br />
" "Name:" Name:" and decide that 18 characters<br />
would be enough for even<br />
the longest name you'd enter. Next,<br />
press SHIFT and the space bar to allo<strong>ca</strong>te<br />
lo<strong>ca</strong>te the number number of of spaces spaces for the the<br />
field length. length. In our our example, example, you you<br />
would hold down the SHIFT key<br />
and press the space bar 18 times.<br />
Your result will look like this:<br />
Your result will look like this:<br />
COMPUTEl'a COMPUTEIS Galerre GHzens February February 1986 1986 99<br />
99
If you've made any typing er<br />
If you've made any typing er<br />
rors, use the INSerT/DELete INSerT/ DELete key to<br />
edit. Press RETURN when you've<br />
finished defining the length of a<br />
field. (In our example, press RE RE<br />
TURN after the eighteenth space<br />
has been entered.) The cursor will<br />
then jump to the beginning of the the<br />
line below. Next, move the cursor cu rsor<br />
to where you want to type the name<br />
of the next field fie ld label. Repeat the<br />
procedure just described until<br />
you've completed a record.<br />
If you plan to use a numeric<br />
field (like a phone number or zip<br />
code), press the Commodore key<br />
code), press the Commodore key<br />
and the space bar rather than a<br />
shifted space. (A numeric field appears<br />
as reverse periods; an alpha<br />
pears as reverse periods; an alpha<br />
numeric field field- — letters and/or and /or<br />
numbers numbers-appea — appears rs as reverse<br />
spaces.) A typi<strong>ca</strong>l name and address<br />
file record might look like<br />
this:<br />
The command line at the top of<br />
The command line at the top of<br />
the screen reminds you to press fl<br />
to exit the fo format rmat creation mode.<br />
Now you're ready to en ter data.<br />
Now you're ready to enter data.<br />
The original command line will reappear.<br />
Press A (for adding or editing<br />
a record). This puts you in Add<br />
mode. You'll see "ADD Record"<br />
appear in the command line, and<br />
the the cursor cursor will will immediately immediately go go to to<br />
the fir first st space in the fi first rst fie field ld<br />
you've defined.<br />
Now Now begin begin entering entering informa<br />
tion. After typing in the data for one<br />
tion. After typing in the data for one<br />
field, press RETURN. The cursor<br />
field, press RETURN. The cursor<br />
will automati<strong>ca</strong>lly jump to the first<br />
space in the next field. If you reach<br />
space in the next fie ld. If you reach<br />
the last avai lable space in the field<br />
the last available space in the field<br />
and type a character, the cursor will<br />
jump to the first space in the next<br />
fie field. ld. The The INSerT/ INSerT/DELete DELete key may<br />
be used in <strong>ca</strong>se of of typing typing errors. If<br />
you've defined a field as numeric<br />
only {appearing as reverse periods),<br />
only (appearing as reverse periods),<br />
it will accept only numeric characters.<br />
Continlle en tering informatiol'<br />
Continue entering information<br />
lIntil until all fie fields lds in the record have<br />
been entered. Pressing RETURN<br />
been entered. Pressi ng RETURN<br />
100 COMPUTE!', COMPUTE'S GIIZllfl1l <strong>Gazette</strong> FeDrtllllY February 1986<br />
when you're at the last character of<br />
the last field fie ld will return the cursor<br />
to the first character of the first<br />
field. At this point, you should<br />
proofread the record just entered. If<br />
you've discovered a typing error,<br />
press RETURN until you're at the<br />
beginning of the field that contains<br />
an error and move to the unwanted<br />
character with the cursor-right key.<br />
After After making making the correction, correction, press<br />
RETURN.<br />
To proceed proceed. to the next record,<br />
press f7. You'll see the formatted<br />
fields with the cursor in the first fi rst position<br />
of the first field. fie ld. After completing<br />
the record, you you <strong>ca</strong>n proceed<br />
to enter another <strong>by</strong> pressing f7, or<br />
you may exit the the Add mode <strong>by</strong><br />
pressing fl. The latter choice will<br />
return return the the original command line.<br />
At this point, you yo u <strong>ca</strong>n <strong>ca</strong>n move<br />
through th rough all records records <strong>by</strong> pressing the the<br />
cursor-up cu rsor-up key to to read the the previous<br />
record, record, or the the cursor-down key to to<br />
move to to the next record. When the<br />
screen shows the format field—the fie ld-the<br />
fields with no entries—you're entries-you're at<br />
the the last position position in the the file. file. At this<br />
point, if you you wish to to enter a a new new re<br />
Saving And Loading loading<br />
From the main command command line, you you<br />
<strong>ca</strong>n load load or save save a file at any any time. time.<br />
To save a file, press f8. fB. You'll be<br />
prompted prompted for a filename. filename. After typing<br />
one in, press RETURN and the<br />
file will be saved saved to disk disk as a program<br />
file with with the name you speci specified.<br />
To load load a file file from from disk, disk, press press<br />
f7. You'll be prompted for fo r a filename.<br />
After entering one, press RE RE<br />
TURN and Mini-Filer will load the<br />
file from from disk. disk. After After the file file has<br />
loaded, the the first record in the file<br />
will will be displayed. displayed. Press Press any any key key to to<br />
get get the the main command command line. line.<br />
Should Should you mistakenly mistakenly press<br />
(7 f7 or or f8 and and get get a LOAD LOAD or SAVE SAVE<br />
prompt, prompt, press press RETURN RETURN to get back back<br />
to to the the main main command command line. line.<br />
Printing Printing Options Options<br />
To print print the current current record, record, the one one<br />
displayed, displayed, press P. This prints only<br />
the current record. record. To print the entire<br />
file, press R (for Report), Report). The<br />
printed characters will appear just<br />
as they they do on the screen. screen.<br />
cord, cord, press A and type in in new data.<br />
data.<br />
If If you you wish to to edit edit a record, record, press A<br />
while the record record you you wish to edit edit is is<br />
on the the screen.<br />
screen.<br />
Erasing Erasing A File<br />
At some some point, you you may may wish to to<br />
erase the data in a file file from memory memory<br />
and and start over. To To do this, this, press press<br />
Searching For For Data Data<br />
CLR (SHIFT (SHIFT-CLR/HOME). -CLR/ HOME). You're<br />
asked "Are You Sure?" Press Y if<br />
To search for any information,<br />
asked" Are You Sure?" Press Y if<br />
you wish to erase it or N if you'd<br />
press press F (for (for Find). Find). You're You're then<br />
you wish to erase it or N if you'd<br />
rather reconsider. CLR is also use<br />
prompted prompted to to enter enter the the characters<br />
ra ther reconsider. CLR is also use<br />
characters<br />
ful if you plan to work with more<br />
you wish wish to to search search for. After After enterful<br />
if you plan to work with more<br />
enter<br />
than one file in a single sitting. You<br />
ing ing them, them, press press RETU RETURN. RN. Min Mini- i<br />
than one file in a single sitting. You<br />
create the first, save to disk, and<br />
File Filerr will will instantly instantly find the<br />
create the first, save to disk, and<br />
the<br />
then press CLR. You <strong>ca</strong>n now load<br />
requested information and display<br />
then press CLR. You <strong>ca</strong>n now load<br />
display<br />
(or create) the second file.<br />
the the record which contains contains it. it. The<br />
(or create) the second file.<br />
The<br />
original command line is then re- re 1----------------1<br />
turned. To search for any subse- subse Mini-Filer Commands<br />
quent occurrences, press SHIFT SHIFT-F. -F. A-Idd A—add or or edit edit dilta data<br />
The search will continue from the C-crute C—cieate I a dl database tabue file<br />
next F—find a field (any string of characters)<br />
next record, record, and and so so on. on.<br />
F-find I fie ld (any .trlng of charlcters)<br />
SHIFT-F-contlnue SHIFT-F—continue .earching searching for for next next<br />
If the information requested is occunence occurrence (may be used only afler aficr F)<br />
not in in the the file, the command command line line P-prlntlhe P—print [he record record displayed<br />
will display "Not Found." (When R-prlnt R—print the file<br />
f'7-ldd f7—add I a record (in (in Add model; mode); load load I a<br />
searching, be be sure to enter the word file file from from dJsk disk (from (from mdn main command<br />
command<br />
you're looking for with the exact line) f8-uve fS—save iI a file to disk<br />
spelling, including including <strong>ca</strong>pi <strong>ca</strong>pital tal and low- low CLR-dtu CLR—clear illl all file dilta data from memory<br />
er<strong>ca</strong>se letters-"Spanish" letters—"Spanish" will not up (cursor key)-move key)—move the CUrlOr cursor up up<br />
(from Create mode) or move to the<br />
be found if you enter "spanish.") (fro m Cru te mode) or move to the<br />
previous record (from (from mlln main comml command nd<br />
Also, Mini-Filer Mini-Filer will will find a string string of line)<br />
line)<br />
data data within a field. field. For For example, example, if down (cursor key)-move key)—move the cursor<br />
you're searching for an area code- code— down down (from (from Crnte Create mode) mode) or move move 10 to<br />
which is a portion of the phone the the next next record record (from mlln main commlnd<br />
command<br />
number line)<br />
number field-you field—you would type' type the I-_<br />
three-digit code and Mini-Filer will<br />
find it.<br />
See program listing on page 120.<br />
IIn _'_' ___________ --I<br />
three-d igit code and Mini-Fil er will<br />
find it. Sec program listillg 011 page 120. •
music and sound effects, and hi-res<br />
graphics. graphics. The The glamour of of these<br />
these<br />
powerful keywords <strong>ca</strong>n <strong>ca</strong>sily easily be<br />
witch a new 128 owner.<br />
Disk commands, on the other<br />
hhand, and, are are just disk disk commands.<br />
commands.<br />
They're They're mundane. mundane. But But if if you you learn<br />
learn<br />
ahout about the new ways of of loading, loading, sa savv<br />
ing, and handling files, you'll save a<br />
lot of time, time that could be spent<br />
sprites, music, and hi-res graphics.<br />
We'l] We'll concentrate on using the<br />
128 128 disk disk commands, commands, most most of of which<br />
which<br />
work equally well on the 1541 disk<br />
drive or the new 1571. But we'll<br />
also also touch touch briefly briefly on on a a few of of the<br />
new 1571 DOS commands.<br />
A Dozen Ways To Load<br />
If If you you want want to to load load a a BASIC BASIC program,<br />
you you have have four choices:<br />
choices:<br />
1. LOAD load "filtnllme",8<br />
"filename"A<br />
2. DLOAD "filename"<br />
3. RUN "filenam "filename" t"<br />
4. Press Press SHIFT-RUN/STOP<br />
SHIFT-RUN/STOP<br />
For machine language or bina<br />
ry fil files: es:<br />
5.<br />
Disk Commands On The 128<br />
Todd Todd Heimarck, Assistant Assistant Editor<br />
Editor<br />
Whether Whether you you have have a a 1541 disk disk drive drive or or a a new new<br />
1571, this this article article will show show you how to to use the the<br />
powerful disk commands of the 128. A number of<br />
useful useful hints hints and and shortcuts shortcuts are included.<br />
The Commodore 128's BASIC 7.0 is<br />
a a vast vast improvement improvement over over previous<br />
Commodore Commodore BASICs. BASICs. The The computer<br />
has has its share share of of flashy new new<br />
commands, the ones that give you<br />
POKEless POKEless sprites, sprites, easy to to program program<br />
music and sound effects, and hi-res<br />
witch a new 128 owner.<br />
Disk commands, on the other<br />
101 of time, time thai could be spent<br />
programming—or programming-or playing with<br />
sprites, music, and hi-res graphics.<br />
work equally well on the 1541 disk<br />
drive or the new 1571. But we'll<br />
new 1571 DOS commands.<br />
A Dozen Ways To load<br />
For machine language or bina<br />
5. LOAD "filt llamt",8.1<br />
6. BLOAD "filtllame"<br />
-filename"<br />
7. 7. BLOAD BLOAD "/i/Mantt", "filename", Bbank, Bbanl:, Paddress Paddrtss<br />
8. 8. BOOVfiiename"<br />
BOOr/ilename"<br />
From within the machine language<br />
monitor:<br />
guage monitor:<br />
9. L I "/ilellamt",8<br />
"filename",8<br />
10. 10. L L "filtnam "filename",B,address e",8.addreS5<br />
Finally, there are two ways to<br />
start up auto-boot programs:<br />
11. 11. BOOT BOOT<br />
Finally, there are two ways to<br />
12. Tum Turn on on or or reset reset the the computer computer with with an an<br />
autoboot autoboot disk disk in in the the drive.<br />
Loading BASIC Programs<br />
Loading BASIC Programs<br />
As in BASIC 2.0, the LOAD command<br />
defaults defaults to to tape, tape, so so you you must must<br />
include the the device device number number when when<br />
loading loading from disk. disk. But But LOAD LOAD<br />
should should never never be be necessary when<br />
DLOAD DLOAD and and RUN are are available.<br />
DLOAD is a new command;<br />
the D stands for "Disk" and it defaults<br />
to to drive drive 0, 0, device device 8. If If you you<br />
own own a a dual dual drive, drive, you you <strong>ca</strong>n <strong>ca</strong>n add add a a<br />
comma comma and and either either DO DO or or 01 Dl to to pick<br />
a a drive drive for loading. loading. Unfortunately,<br />
Unfortunately,<br />
128 owners may never see the 1572<br />
dual dual drive; drive; as as of of this this writing, writing, Commodore<br />
modore has apparently apparently decided decided not not<br />
to to manufacture manufacture it. it. You You <strong>ca</strong>n <strong>ca</strong>n still still add add<br />
single single drives drives to to your your system,<br />
system,<br />
though. To access a a second or third<br />
drive, drive, follow DLOAD DLOAD with a a comma<br />
and and U9, U9, UI0, U10, etc. The The current<br />
device number of the 1571 <strong>ca</strong>n be<br />
device number of the 1571 <strong>ca</strong>n be<br />
selected selected <strong>by</strong> flipping switches switches on on the the<br />
back. To change to device nine, for<br />
example, make sure it's turned off<br />
and flip the switch nearest to the<br />
cords cords down. This This is is much much simpler<br />
simpler<br />
than what's required to modify a<br />
than what's required to modify a<br />
1541. 1541, opening opening it up up and and cutting cutting a a<br />
solder solder trace.<br />
trace.<br />
The next command on the list,<br />
The next command on the list,<br />
RUN, has been modified. By itself,<br />
it it still still runs a a program, program, but if if you you<br />
add add a a program program name, name, the the program program<br />
loads and runs. Like DLOAD and<br />
loads and runs. Like OLOAO and<br />
most other disk commands, you<br />
most other disk commands, you<br />
<strong>ca</strong>n <strong>ca</strong>n specify a a drive drive number number with 0 D<br />
or a a device number with U after the<br />
program program name.<br />
In 64 mode, pressing SHIFT<br />
In 64 mode, pressing SHIFT-<br />
RUN/STOP still loads and runs the<br />
first program program from tape. tape. But But in 128<br />
mode, this combination loads and<br />
mode, this combination loads and<br />
runs the the first program program on on disk.<br />
disk.<br />
BLOADing Binary Files<br />
BLOADing Binary Files<br />
A binary binary file is is most most often a a machine<br />
language language program, program, although<br />
although<br />
there there are are several several other other possibilities:<br />
sprite shapes, redefined characters,<br />
function key definitions, definitions, hi-res pictures,<br />
to to name name just a a few. With binary<br />
files it's it's usually usually important important that that<br />
they load into a specific area of<br />
memory.<br />
memory.<br />
If If you're you're familiar familiar with with the VIC<br />
or or 64, 64, you'll you'll recognize recognize LOAD"/j7e- LOAD"file<br />
"ame",8,1. name",8,1- It loads a file back into<br />
the the part of memory memory from which it it<br />
was saved.<br />
saved.<br />
BLOAD BLOAD does does the the same same thing,<br />
thing,<br />
but but you you don't don't have have to to include include the the 8 8<br />
and the 1. BLOAO BLOAD <strong>ca</strong>n also send a<br />
COMPUTEr, COMPUTE! s Gillette <strong>Gazette</strong> February 1986 19B6 101
with with SPRDEF SPRDEF for a a game, game, you you <strong>ca</strong>n <strong>ca</strong>n<br />
BSAVE BSAVE the the sprite area area to to disk. disk. In<br />
the game, you would then BtoAD<br />
the game, you would then BLOAD<br />
them back into memory. This<br />
works a lot faster than POKEing<br />
works a lot faster than POKEing<br />
them them into into memory memory or or reading reading a a se· se<br />
quential quential file, especiall especially y if if you're<br />
you're<br />
using a 1571.<br />
using a 1571.<br />
In <strong>ca</strong>se you' you're re wondering<br />
about the reference above to ten<br />
function keys, yes, there are ten re-<br />
function keys, yes, there are ten re·<br />
definable keys. There are the eight<br />
definable keys. There are the eight<br />
you you <strong>ca</strong>n <strong>ca</strong>n define define with with the the KEY com· com<br />
mand (labeled fl fl-f8), - (8), but also<br />
SHIFT-RUN/STOP SHIFT-RUN/STOP and and HELP. If If<br />
you go go into into the the monitor monitor and and do a<br />
memory memory display display of of 1000-1 1000-10FF, OFF, you<br />
<strong>ca</strong>n <strong>ca</strong>n see see the the ten ten key definitions. definitions. The The<br />
first ten ten <strong>by</strong>tes <strong>by</strong>tes in in th this is area area list list the the<br />
length length of of each each function key. The The<br />
rest are the actual characters that<br />
print print when when you you press one of of them.<br />
them.<br />
The The number number 13 13 is is ASel! ASCII for a a <strong>ca</strong>r· <strong>ca</strong>r<br />
riage riage return, return, the the equivalent equivalent of of<br />
pressing pressing the the RETURN RETURN key. key. After After re· re<br />
defining defining the keys, keys, you you <strong>ca</strong>n <strong>ca</strong>n BSAVE<br />
BSAVE<br />
their new va values. lues. To retrieve the<br />
previous key definitions, use<br />
previous key definitions, use<br />
BLOAD. BWAD.<br />
Handling Sequential Files<br />
Handling Sequential Files<br />
DOPEN DOPEN and and DCtoSE DCLOSE are are new new ways ways<br />
of of establishing and and breaking connections<br />
nections with with a sequential sequential file.<br />
There's There's not much much to to say say about<br />
about<br />
them; if you already know how to<br />
OPEN OPEN and and CLOSE CLOSE sequential sequential files,<br />
you'll <strong>ca</strong>tch <strong>ca</strong>tch on on quickly. quickly. The The difference<br />
in syntax is illustrated beiow: below:<br />
OPEN 3,8,4,"fi1elramf,S,W"<br />
DOPEN #3,"filfllnme", W<br />
OPEN 3,S,i."fHename,S,W<br />
Note Note that DOPEN DOPEN doesn't<br />
doesn't<br />
need as much information information as<br />
OPEN. OPEN is a general-purpose<br />
OPEN. OPEN is a general-purpose<br />
command; command; it it <strong>ca</strong>n <strong>ca</strong>n set set up up a a logi<strong>ca</strong>l logi<strong>ca</strong>l file file<br />
to a disk file, a tape file, a printer, a<br />
modem, and so on. DOPEN, on the<br />
other hand, is for disk files only. So<br />
OPEN needs the device number and<br />
disk channel (,8,4), but DOPEN<br />
disk channel (,8,4), but DOPEN<br />
doesn't. The S after the file name<br />
doesn't. The S after the file name<br />
indi<strong>ca</strong>tes indi<strong>ca</strong>tes that that a a sequential sequential file will will<br />
be be opened. opened. Since Since DOPEN defaults<br />
defaults<br />
to to sequential sequential files, it it too too is unnecessary.<br />
Also, note that the W for Write<br />
is outside the quotation marks in<br />
is outside the quotation marks in<br />
the the second second example.<br />
example.<br />
APPEND is a va variation riation on<br />
DOPE DOPEN. N. It It opens opens an an already already existing<br />
disk file for a write operation.<br />
ing disk file for a write operation.<br />
Any Any information information written written to to the the sequential<br />
file is added to the end.<br />
Data at the beginning of the file is<br />
safe and unchanged.<br />
There There aren't aren't any any new new ways ways of of<br />
reading or writing files. You still<br />
reading or writing files. You still<br />
PRINT# to send data and either IN IN<br />
PUT* or GET# to read a file.<br />
PUT# or GET# to read a file.<br />
Relative Files Are Much Easier<br />
Relative Files Are Much Easier<br />
Being Being able able to to randomly randomly access access records<br />
in in a a file <strong>ca</strong>n <strong>ca</strong>n sometimes sometimes greatly<br />
ly speed speed up up a program. program. With With<br />
sequential sequential files, you may may sometimes<br />
times have have to to read read through through 50 50 records<br />
cords just just to to get get to to the the 51st. 51st. A<br />
relative relative file allows allows you you to to obtain obtain the the<br />
informat information ion you you need need almost<br />
almost<br />
immediately.<br />
immediately.<br />
In In BASIC BASIC 2.0, 2.0, creating creating and and<br />
maintain maintaining ing a a relative relative file requires<br />
requires<br />
sending sending a a number number of of CHR$ CHR$ codes.<br />
codes.<br />
If you write programs fo forr relative<br />
files files in in 64 mode, mode, you'll you'll have have to to<br />
learn learn the the complexities complexities of of relative<br />
relative<br />
files. But But not on on the the 128. 128. In just a<br />
few few lines, lines, you you <strong>ca</strong>n <strong>ca</strong>n open open and and write write to to<br />
a relative file. Let's say you wanted<br />
100 100 records records with with 20 20 characters characters in<br />
each each record. record. Your Your program program to to set set up up<br />
a file would would look look something something like like<br />
this:<br />
to 10 DOPEN#3,"XYlFILE",L20<br />
DOPEN#3,"XYZFILE",L20<br />
20 20 RECORD#l,l00<br />
RECORD#3,100<br />
30 PRINT#l,"LAST PRINT#3,"LAST RECORD"<br />
40 RECORD#3,lOO<br />
RECORD#3,100<br />
50 50 CLOSE3<br />
That's all there is to it. When<br />
That's all there is to it. When<br />
DOPEN is followed <strong>by</strong> an L and a<br />
number, number, it it opens opens a relative relative file. The The<br />
length of each record is set <strong>by</strong> L20.<br />
Records <strong>ca</strong>n be from 1 to 254 <strong>by</strong>tes<br />
Records <strong>ca</strong>n be from 1 to 254 <strong>by</strong>tes<br />
long. long. Be<strong>ca</strong>use Be<strong>ca</strong>use the the record record length is is<br />
stored stored in in the the directory, directory, you you need need to to<br />
use the the L parameter parameter only when when the the<br />
file is is first created.<br />
RECORD# positions the point<br />
RECORD# positions the point<br />
er er to to the the desired desired record record (up (up to to<br />
65535 <strong>ca</strong>n be accessed, depending<br />
65535 <strong>ca</strong>n be accessed, depending<br />
on on the the record record length). length). You You must include<br />
clude the the logi<strong>ca</strong>l file number number and and<br />
the the record record number. A third number<br />
number<br />
<strong>ca</strong>n <strong>ca</strong>n be be added added if if you you want want to start<br />
start<br />
reading or writing partway into the<br />
reading or writing partway into the<br />
record. If this number is omitted,<br />
you'll begin at the first <strong>by</strong>te of the<br />
you'll begin at the first <strong>by</strong>te of the<br />
record.<br />
record.<br />
In line li ne 30, we PRINT# to record<br />
cord number number 100. 100. Printing Printing to to a a previously<br />
nonexistent nonexistent record record forces<br />
the disk drive to create that record<br />
and all previous records. Line 40<br />
and all previous records. Line 40<br />
positions the pointer again, to avoid<br />
positions the pointer again, to avoid<br />
a rare rare bug bug that sometimes sometimes corrupts<br />
corrupts<br />
files and then file three is closed.<br />
(See "Relative Files: Speed And<br />
(See " Relative Files: Speed And<br />
Economy" in in the the June June 1985 1985 issue<br />
issue<br />
for more about the 64's relative file<br />
for more about the 64's relative file<br />
bug.)<br />
bug.)<br />
Once the file is created, you<br />
Once the file is created, you<br />
<strong>ca</strong>n easily access records wwith ith<br />
DOPEN and RECORD#. You<br />
PRINT# PRINT* to write and either GET#<br />
or INPUT# to read records.<br />
Utilities<br />
Utilities<br />
There There are are more more new new commands<br />
commands<br />
that that help when when you're you're programming.<br />
ming. The The f3 key is is defined defined to to print print<br />
DIRECTORY. So, with the press of<br />
a single single key, you you <strong>ca</strong>n <strong>ca</strong>n see see what's what's on on<br />
a disk.<br />
Two Two very useful useful reserved reserved variables<br />
are DS (short for Disk Status)<br />
and and DS$. DS$. The The first returns returns the the disk disk<br />
error error number, number, the the second second prints out out<br />
the the error error message. message. If If the the red red light<br />
light<br />
on a 1541 starts flashing (the green<br />
light on on a a 1571), 1571), just enter enter PRINT<br />
05$ DS$ and and you you <strong>ca</strong>n <strong>ca</strong>n see see what what went<br />
wrong. wrong. Consult Consult your your disk disk drive<br />
drive<br />
manual manual for a a complete complete list list of of error<br />
error<br />
messages.<br />
Within a program, program , OS DS is<br />
usually more more helpful helpful than than DS$ DS$. .<br />
After After a disk operation, operation, add add a a line IF IF<br />
05>19 DS>19 THEN 500, where line 500<br />
is the the beginning beginning of of an an errorerrorhandlinghandling<br />
routine.<br />
The The variable variable DS will will normally<br />
normally<br />
hold hold a 0 if if no no errors errors occurred. occurred. But But if if<br />
DS 05 is is equal to to 20 20 or or more, more, something<br />
has gone wrong. There are a<br />
few exceptions, exceptions, though: though: Error 01 01 is is<br />
not not an an error, error, it's it's triggered triggered after after a a<br />
SCRATCH operation. The error<br />
message message will will be be FILES<br />
SCRATCHED, followed <strong>by</strong> a com· com<br />
rna ma and the number of files that<br />
were scratched. Error 50 (RECORD<br />
NOT PRESENT) is no matter for<br />
concern concern if if you've you've just created created or ex<br />
panded panded a a relative relative file. If If you you write<br />
write<br />
to to a a previously nonexistent nonexistent record<br />
record<br />
in a relative file, it's added to the<br />
disk. The record was not present<br />
before the operation and tthus h us<br />
<strong>ca</strong>uses the error 50. Finally, when<br />
you you first turn turn on on or or reset a a disk<br />
drive, you'll receive an error 73,<br />
which is simply an announcement<br />
of which version of DOS is inside<br />
the the drive.<br />
drive.<br />
Several Several other other new new commands<br />
commands<br />
make make file management easier. RE RE<br />
NAME and SCRATCH are fairly<br />
straightforward. SCRATCH is fo foll<br />
lowed <strong>by</strong> a filename inside quotation<br />
tion marks. marks. Pattern Pattern matching, matching, using<br />
using<br />
wild <strong>ca</strong>rds like question marks or<br />
asterisks, is available for those<br />
COMPUTEr, COMPUTE'S <strong>Gazette</strong> <strong>Gazette</strong> FebruaJy February 1986 1986 103 100
times when you want to scratch<br />
times when you want to scratch<br />
several files with similar names. To<br />
change change the the name name of of a a file, RE RE<br />
NAME "oldllame" "oldname" TO "IlCWllame."<br />
"newnatne."<br />
This syntax is certainly easier to remember<br />
than OPEN 15,8,15,<br />
"RO:lleWllame "~RO;newname = oldllame," oldname," the re<br />
quired syntax on the VIC or 64.<br />
quired syntax on the VIC or 64.<br />
COLLECT COLLECT validates validates the the disk.<br />
disk.<br />
It's used mostly for cleaning up the<br />
It's used mostly for cleaning up the<br />
Block Block Allo<strong>ca</strong>tion Allo<strong>ca</strong>tion Map (BAM) (BAM) to to get get<br />
rid of of improperly improperly closed closed files. These<br />
These<br />
were formerly <strong>ca</strong>lled "poison files,"<br />
were formerly <strong>ca</strong>lled "poison files,"<br />
but the 1571 disk drive manual re<br />
but the 1571 disk drive manual re<br />
fers to them as "splat fil files." es." They're<br />
marked marked <strong>by</strong> <strong>by</strong> an an asterisk asterisk in in the the directory,<br />
·PRG, for example.<br />
tory, *PRG, for example.<br />
DCLEAR initializes the disk;<br />
it's the same as sending "10" to<br />
channel channel 15.<br />
CONCAT combines the con<br />
CONCAT combines the contents<br />
of two sequential files. You<br />
tents of two sequential files. You<br />
<strong>ca</strong>n <strong>ca</strong>n use use it on on program program files, but but the the<br />
result won't be a merged program<br />
result won't be a merged program<br />
be<strong>ca</strong>use be<strong>ca</strong>use the two zeros that that mark the<br />
end end of of a a BASIC BASIC program program get get in the the<br />
way. way.<br />
Two disk commands designed<br />
primarily primarily for dual drives drives are are COPY COPY<br />
and BACKUP. The first copies a file<br />
from one one drive drive to to another. But But you you<br />
must must use use a a dual dual drive-COPY<br />
drive—COPY<br />
won't work work with with two two single single drives.<br />
drives.<br />
It <strong>ca</strong>n <strong>ca</strong>n also also make make a copy copy to the the original<br />
disk disk (if (if you you want want to to rearrange rearrange a a<br />
directory, directory, for example). example). BACKUP<br />
BACKUP<br />
copies copies a whole whole disk. disk. It It too too requires<br />
requires<br />
a dual drive.<br />
a dual drive.<br />
A Few Quirks<br />
A Few Quirks<br />
There There are are a a few annoying annoying features<br />
features<br />
of of the the 128- 128—not not bugs, bugs, just just bothersome<br />
some quirks.<br />
quirks.<br />
The The most most serious of of these these is<br />
that that SHIFT-RUN/STOP loads loads and and<br />
runs the the first file on on disk. disk. A A nice nice feature<br />
if that's what yOU you want, but<br />
sooner or later, while programming,<br />
ming, you'll you'll accidentally accidentally press press<br />
SHIFT-LOCK SHIFT-LOCK and RUN/STOP RUN/STOP or or<br />
the Commodore Commodore key and and RUN/ RUN/<br />
STOP. When the disk drive starts<br />
spinning, spinning, you you have have only only a a few seconds<br />
to unlock the SHIFT SHIFT-LOCK -LOCK<br />
key and and press press STOP STOP to to prevent prevent the the<br />
first program progral1l from loading. loading. If If you you<br />
fail to to stop it, it, the the program program loads loads and and<br />
runs and and you've you've lost lost any part part of of<br />
your your other other program that that was was not<br />
saved. To To avoid avoid this this situation, situation, you you<br />
may may want want to to put put a a sequential sequential file at at<br />
the the beginning beginning of of a a disk. If If you you accidentally<br />
dentally type type SHIFT-RUN/STOP,<br />
SHIFT-RUN/STOP,<br />
the the computer computer will will try try to to load the the se- se-<br />
104 COMPUTErs COMPUTE'S G8l9tr9 <strong>Gazette</strong> F&bfuary February 1986 19B6<br />
quential file, but it won't work. The<br />
quential file, but it won't work. The<br />
program program you're working on on will will be be<br />
safe safe if this this pre<strong>ca</strong>ution pre<strong>ca</strong>ution is taken.<br />
taken.<br />
You You <strong>ca</strong>n <strong>ca</strong>n also accidentally accidentally save save<br />
a program. The default values for (7<br />
a program. The default values for f7<br />
and and f3 are are LIST and and DIRECTORY.<br />
Very Very helpful helpful when when you you want to to take take<br />
a look at what's on a disk or what's<br />
a look at what's on a disk or what's<br />
in in a a program. program. But in between between these<br />
these<br />
two keys is fS, f5, which is defined as<br />
DSAVE. If If you you reach reach up up to to list list a<br />
program and and accidentally press press f5<br />
and and f7, 17, the the computer computer will will print print<br />
DSAVE"LI5T DSAVE"LIST and begin saving<br />
your your program program under under that that name.<br />
VERIFY and DVERIFY don't<br />
always work as you would expect.<br />
Each line of a BASIC program con<br />
Each line of a BASIC program contains<br />
tains a memory pointer pointer to to the the beginning<br />
of the next line. When you<br />
ginning of the next line. When you<br />
allo<strong>ca</strong>te a a graphics graphics area, area, the the BASIC<br />
BASIC<br />
program is moved up <strong>by</strong> 9K and all<br />
program is moved up <strong>by</strong> 9K and all<br />
the line links change. Line links<br />
the line links change. Line links<br />
that don't match will wUllead lead to a false<br />
VERIFY ERROR. You <strong>ca</strong>n test this<br />
<strong>by</strong> <strong>by</strong> entering entering a a one one line line program and and<br />
saving saving it it to to disk. disk. Now type type<br />
GRAPHICl: GRAPHIC1: GRAPHICO GRAPHICO to to allo<strong>ca</strong>te<br />
allo<strong>ca</strong>te<br />
a graphics area. List the program<br />
and use DVERIFY to check your<br />
and use DVERIFY to check your<br />
save. save. You should see see an error<br />
error<br />
message.<br />
message.<br />
Something to remember when<br />
Something to remember when<br />
you're you're using using disk disk commands commands is is that that<br />
variables must be enclosed in pa<br />
rentheses. The following two exam<br />
rentheses. The following two exam<br />
ples ples show show the the right right and and wrong<br />
wrong<br />
ways ways to use use variables:<br />
variables:<br />
RENAME RENAME H$ TO TO "FINALFINAL": "FINALF1NAL": REM REM<br />
WRONG<br />
WRONG<br />
RENAME (H$) TO "MOSTRECENT":<br />
RENAME TO "MOSTRECENT":<br />
REM CORRECT<br />
Another minor annoyance is<br />
Another minor annoyance is<br />
that large relative files have a limit<br />
of 720 disk sectors. Relative files<br />
contain contain up to six six side side sectors sectors which<br />
which<br />
<strong>ca</strong>n keep track of 120 sectors each.<br />
A formatted 1541 disk has 664<br />
A formatted 1541 disk has 664<br />
blocks free, so so you'll you'll run out out of of disk disk<br />
space space before before you you reach reach the the 720 720 sector<br />
tor limit. limit. But But the the 1571 1571 formats formats both both<br />
sides sides of of a disk, disk, for 1328 1328 blocks blocks free.<br />
It's unfortunate that you you <strong>ca</strong>n't <strong>ca</strong>n't use use<br />
all all of of that that space space for a a relative relative file file. .<br />
You're limited to about 180K per<br />
file. The The 720 720 sector sector limit limit gets gets in in the the<br />
way.<br />
How Fast Is The 1571l<br />
1571?<br />
If you already own a 1541 drive,<br />
you <strong>ca</strong>n use it with a 128. You don't<br />
need to to buy buy a a 1571, 1571, unless unless speed speed is is<br />
important. Here's how the two<br />
drives drives compare:<br />
compare:<br />
1541 1541<br />
1571 1571<br />
9KWAD 9K LOAD 27 27 seconds seconds 4 seconds<br />
seconds<br />
(hi-res (hi-tes screen)<br />
screen)<br />
Disk Disk format 89 seconds 43 43 seconds<br />
seconds<br />
(one (one side) side) (lwO (two sides)<br />
Quick formal 2.5 2.5 seconds seconds 3.4 3.4 seconds<br />
seconds<br />
(no ID)<br />
(one side) (two sides)<br />
(no ID) (one side) (two sides)<br />
Going Going into into 80 80 columns columns and and<br />
using using the the FAST FAST command command to to dou<br />
ble ble the the speed speed of of the the microprocessor<br />
microprocessor<br />
saves saves only only a few tenths tenths of of a second<br />
second<br />
on on disk disk operations. So So the the speed speed of of<br />
the the computer computer is is not not a a factor. The The<br />
bottleneck is the speed at which the<br />
bottleneck is the speed at which the<br />
data data travels through through the the serial<br />
serial<br />
<strong>ca</strong>ble.<br />
<strong>ca</strong>ble.<br />
Note that formatting, which is<br />
Note that formatting, which is<br />
handled handled completely completely within within the the disk disk<br />
drive, is twice as fast for twice the<br />
disk disk <strong>ca</strong>pacity. This This suggests suggests that that<br />
writing writing operations operations are quicker quicker on on<br />
the 1571.<br />
the 1571.<br />
Even when you send the command<br />
to make the 1571 act like a<br />
1541, 1541, it's it's faster. A 1541 takes takes nearly nearly<br />
a minute and a half to format a disk.<br />
a minute and a half to format a disk.<br />
The The 1571 1571 in in 1541 1541 mode mode takes only only<br />
one minute and twelve seconds.<br />
one minute and twelve seconds.<br />
The "act like a 1541" command<br />
is OPEN 15,8,15: 15,8,15= PRINT#15,<br />
"UO>MO". "U0>MO". To reset to 1571 mode,<br />
PRINT#15, "UO>Ml" "U0>Ml" (these {these com<br />
mands <strong>ca</strong>n be used in 64 mode as<br />
mands <strong>ca</strong>n be used in 64 mode as<br />
well).<br />
well).<br />
While the the 1571 is emulating<br />
emulating<br />
the 1541, you <strong>ca</strong>n choose which<br />
read/write head is used with<br />
read/write head is used with<br />
PRINT#15, "UO>HO" or<br />
PRINT#15, "U0>H0" or<br />
PRINT#15, "UO>Hl." "U0>Hl." By switching<br />
ing heads, you <strong>ca</strong>n <strong>ca</strong>n format both<br />
sides sides of a a disk disk as as if if they were were separate<br />
disks. This isn't especially useful,<br />
but but it it suggests suggests a a solution solution for the<br />
720 sector limit on relative files.<br />
You could format both sides of the<br />
disk disk with with separate separate names names and and IDs IDs<br />
and and then then create create a a relative relative file on on<br />
each each side. side. Within Within the the program, program,<br />
you'd you'd need need to to figure out out which which side side<br />
of the disk contains the information<br />
and switch back and forth. You<br />
might lose some time in the head<br />
might lose some time in the head<br />
switching, but you'd be able to ex<br />
switching, but you'd be able to ex<br />
pand a relative file to about 330K.<br />
Another plus plus for the the 1571 1571 is is its its<br />
ability ability to to read read a a variety variety of CP/M<br />
formats. If you plan to do much<br />
with CP/M, the 1571 provides<br />
more flexibility. Even if you don't,<br />
it's faster and <strong>ca</strong>n handle more data<br />
than· than-the the 1541. 1541. a<br />
Q
SfealthTec Transparent<br />
StealthTec Transparent<br />
Commodore Utilities<br />
Cardco, Cardco, Inc., is is introducing introducing Iwo two new<br />
utilities for the the Commodore Commodore 64 64 (12S (128<br />
versions versions to to follow soon), soon), based based on on the the<br />
company's new new SttalthTtc StealthTec transparent<br />
transparent<br />
program program interrupl interrupt Ie
data data transfer transfer and and <strong>ca</strong>pture, <strong>ca</strong>pture, and and operates<br />
operates<br />
with most most brands of printers. The The package<br />
also contains a keyboard overlay<br />
age also contains a keyboard overlay<br />
for ease of use, and comes with a 48page<br />
manual. Kimber-Link lets you store<br />
page manual. Kimber-Link lets you store<br />
all variable parameters pa rameters for customtailored<br />
set-ups, and then reloads them<br />
whenever whenever you you use use the the program.<br />
The price is $29.95 (plus $3 shipping<br />
and handling). Pennsylvania residents<br />
dents must must add add six six percent sales sales tax.<br />
Kimbertek, Kimbtrtek, luc., Inc., P.O. Box 743,<br />
Phoenixville, PIJoeuixville, PA 19460.<br />
Circle Ruder Reader Service Service Number Number 232. 232.<br />
Printer Re-Inkers<br />
Printer Re-Inkers<br />
New New life fo forr fading computer computer printer<br />
ribbons ribbons is is avai.lable available from <strong>Compute</strong>r<br />
<strong>Compute</strong>r<br />
Friends, developers of the Mac Inker<br />
UC UC (Universal (Universal Cartridge) for almost all all<br />
fabric ribbon <strong>ca</strong>rtridges <strong>ca</strong>rtridges and and the the Mac Mac<br />
Inker Inker US US (Universal Spool) for for all all fabri fabricc<br />
ribbon spools spools (up (up to to one one inch inch in in width<br />
width<br />
and and up up to to four inches in in diameter). diameter). Ribbons<br />
are loaded onto the Mac Inker ta<br />
ble ble and and wound wound around around an an inking<br />
inking<br />
element. A few drops of ink are added<br />
to to the the ink ink reservoir, reservoir, and and the the ribbon is is<br />
then then passed passro around around the the inking inking element<br />
element<br />
for even ink distribution. The re-inkers<br />
work work with with both both dot matrix and and daisy<br />
daisy<br />
wheel printers.<br />
Suggested retail price for the Mac<br />
Inker Inker UC UC is is $60; $60; for the the Mac Mac Inker Inker US, US,<br />
$66.95 £66.95. . Two-ounce Two-ounce bottles bottles of ink ink are are<br />
available for $3.00; pints for $18.50.<br />
(There (There is is a $3 $3 shipping shipping and and handling<br />
handling<br />
charge.)<br />
charge.)<br />
<strong>Compute</strong>r <strong>Compute</strong>r Friends, 6415 6415 SW SW Cunyon<br />
Canyon<br />
Ct., G., Suite Suite #10, #20, Portland, Portlulld, OR OR 97221.<br />
Circle Ru Reader der Service Service Number Number 233. Z33.<br />
SpeedScript Enhancer<br />
SpeedScript Enhancer<br />
SPEfDPAK, SPEEDPAK, an an enhancement enhancement program program<br />
for use use with with the the SpeedScript word processor<br />
(versions 3.0-3.2), adds six new<br />
commands, three printer codes, and<br />
eight user-definable 31-character macro<br />
phrase phrase keys. Among Among the the features features for<br />
use use with SpecdScript SpeedScript are are alternate<br />
alternate<br />
screens screens (allows (allows you you to to edit and and switch<br />
switch<br />
between two documents), help screen<br />
and and onscreen onscreen font in installer stalle r (four of of<br />
each), each), encryption encryption (32-character secret<br />
secret<br />
code), code conversion (to Commodore<br />
ASC ASCII II or screen codes), default selection<br />
tion (to (to disk/tape disk/tape storage, storage, set printer printer<br />
device and secondary address), and a<br />
Dvorak Dvorak keyboard keyboard option. Three Three additional<br />
printer codes work with the alternate<br />
nate screen screen to provide a a RAM-based<br />
RAM-based<br />
form letter letter mail mail merge merge <strong>ca</strong>pability.<br />
<strong>ca</strong>pability.<br />
The The package, package, priced priced at at $15, $15, includes<br />
three disk-based tutorials and<br />
three three sample sample files.<br />
Upstart Publishing, Dept. SP-NP2,<br />
P.O. Box 22022. 22022, Greellsboro, Greensboro, NC 27420.<br />
Circle Circle Ruder Reader Service Service Number 234. 234.<br />
106 COMPUTEr, COMPUTE'S G".le1l8 <strong>Gazette</strong> February Fettuary 1986<br />
Jet let Fighte Fighterr Game<br />
Flyer Fox is is a a new new jet fighter action<br />
action<br />
game game from Tymac Tymac that that puts you you in in the the<br />
pilot's s<strong>ca</strong>t, seat, defending international<br />
skies from Mig Mig fighters. fighters. The The game game offers<br />
full view view of of the the cockpit cockpit and and three<br />
three<br />
window window views. views. In addition addition to to music<br />
music<br />
and and sound sound effects, effects, Flyer Fox contains<br />
contains<br />
software-generated software-generated speech. speech. The The game game<br />
is is joys joystick-controlled tick-control led and and is is available<br />
available<br />
on on disk disk and and tape.<br />
Suggested Suggested retail retail is is $39.95.<br />
$39.95.<br />
Tymac COli Controls trots Co Corporation, rporat joll, 127<br />
Main Maill St., St., Franklin, FWlklirl, NJ N} 07416.<br />
07416.<br />
Thr virw from tlu cockp;1 ;/1 Tymllc's Flyer<br />
The vino from the cockpit in Tymac's Flyer<br />
FolC. Fox.<br />
Circle Circle Reader Reader Service Service Number Number 235.<br />
Chris Evert-Lloyd On The 64<br />
Chris Evert-Lloyd On The 64<br />
Avant-Garde Avant-Garde Publishing Publishing has has introduced<br />
duced a tennis training training guide featuring<br />
tennis tennis great great Chris Chris Evert-Lloyd. Demonstrations<br />
strations of of grip, stroke, game game strategy,<br />
strategy,<br />
and and specialized specialized exercises exercises are used used to to<br />
teach both fundamental and advanced<br />
techniques. techniques. Al Also so covered covered are are equipment.<br />
ment, game game rules, rules, and and improving improving concentration.<br />
The game uses live-action<br />
color color graphics, graphics, and and includes includes a test<br />
mat match ch for trying trying out out the the various<br />
techniques.<br />
Previous Previous Avant-Garde releases releases include<br />
clude Dune Dave Willfield's Winfield's Batter Batter Up! and and joe Joe<br />
TheiSIIIIlIIII'S Theisinatm's Pro Football. Suggested Suggested retail<br />
price for Cllris Chris Evert-Lloyd Tennis is<br />
$34.95.<br />
Avant Avallt Garde Garde Publishing Publisl/irlg Corp., 37B 37B<br />
COII/merciai Commercial Blvd., Blvd., Novato, 0\ CA 94947.<br />
94947.<br />
Circle Circle Ruder Reader Service Service Number Number 236. 236.<br />
Talking Terminal<br />
Talking Terminal<br />
A new new telecommuni<strong>ca</strong>tions telecommuni<strong>ca</strong>tions package package<br />
from Welwyn Wclwyn Currah, Currah, <strong>ca</strong>lled <strong>ca</strong>lled the the Intelligent<br />
gent Talking Talking Terminal. Terminal, enables enables you you to to<br />
receive modem-transmitted data ver<br />
bally bally or or as as text text on on screen. screen. Compatible<br />
Compatible<br />
with either the Commodore 64 or 128,<br />
the package package includes includes the the Voice Voice Messenger<br />
speech synthesizer, a telecommuni<strong>ca</strong>tions<br />
<strong>ca</strong>tions program, program, and and Easy Easy Spuc/l, Speech, a a<br />
program program that that enables most most pre-existing<br />
text-driven software to speak.<br />
The The program program <strong>ca</strong>n <strong>ca</strong>n be be used used to to hear hear<br />
messages, messages, games, games, or or information information from<br />
subscription subscription services services such such as as The The<br />
Source Source or or CompuServe. The The package package<br />
sells for $29.95.<br />
We/wyll Welwyn Curra/!, Currah, 104 W. Fourth St.,<br />
Royal Roya/ Oak, Oak, MI 48067.<br />
48067.<br />
Clrd e Reader Service Number 237.<br />
Circle Reader Service Number 237.<br />
Three From 5S1<br />
Three From SSI<br />
Strategic Strategic Simulations, Simulations, Inc., has has announced<br />
the release of three new strategic<br />
war games for the 64. Battle Baltle of<br />
Antietam Autietam ($49.95) ($49.95) recreates recreates the the famous<br />
civil civil war war battle; battle; Norway Norway 1985 1985 ($34.95),<br />
($34.95),<br />
the fourth game in the "When Super<br />
powers powers Collide" Collide" series series <strong>by</strong> <strong>by</strong> Roger Roger Keating.<br />
ing, simulates simulates the the Soviet Soviet occupation occupation of of<br />
Norway Norwa y and NATO's counterattack;<br />
United States Army Army Air Air Force Force ($59.95) ($59.95) is is<br />
an an advanced advanced simulation simulation of of daylight<br />
daylight<br />
bombing bombing of of German German industry industry from<br />
1943-45, 1943-45, featuring featuring 24 24 aircraft aircraft types.<br />
types.<br />
Each Each game game <strong>ca</strong>n <strong>ca</strong>n be played played with with one one or or<br />
two two players. players.<br />
Strategic SimulatiQlIS Simulations IIlC., Inc., 883 883 Stier<br />
Stier-<br />
IiI! lin Rd., Rd., Bldg. Bldg. A-200, A.·200, Mountain Moulltaill View, CA. CA<br />
94043-1983.<br />
Circle Reader Service Number 238.<br />
Circle Reader Service Number 238.<br />
64 Modem Software<br />
64 Modem Software<br />
Sixth Sense, a new telecommuni<strong>ca</strong>tions<br />
program from Microtechnic Solutions,<br />
comes with programmable macro keys<br />
that enable enable many many unattended modem<br />
modem<br />
operations. operations. The The macro keys keys are are easily<br />
easily<br />
programmed programmed with with a set set of macro macro templates.<br />
Among the other functions included<br />
cluded in in Sixth Sixth Sense are are multiple multiple data data<br />
paths, paths, split-screen split-screen line input, input, a a 700-Jine<br />
700-line<br />
virtual screen, and a user-programmable<br />
counter.<br />
counter.<br />
Suggested re retail tail price for Sixth<br />
Se'l Sense se is $89.95; or $71.95 for those who<br />
already already have have the the Smart Smart 64 Terminal.<br />
Terminal.<br />
An An additional additional $9 $9 <strong>ca</strong>n <strong>ca</strong>n be be deducted deducted fo forr<br />
prepaid prepaid orders.<br />
orders.<br />
Microtechnic Micro/ee/mic SolutiQlls, Solutions, IInc., IlC., P.O.<br />
Box Box 2940, New Haven, Havell, cr CT 06515.<br />
Circle Circle Reader Service Number 239.<br />
MasterType's Writer<br />
MasterType's Writer<br />
A so sophisti<strong>ca</strong>ted phisti<strong>ca</strong>ted word word processor, processor,<br />
MasterType's Writer, Writer, has has been been released<br />
from S<strong>ca</strong>rborough S<strong>ca</strong>rborough Systems. The The program<br />
features dual windows for outlining<br />
ing text, text, color color highlighting, highlighting, multiple<br />
multiple<br />
typefaces, typefaces, macro commands commands for frequently<br />
quently used used words words and and phrases, phrases, and and<br />
an on-disk tutorial. A print preview option<br />
tion is included, included, and and linked linked files <strong>ca</strong>n <strong>ca</strong>n be be<br />
printed printed out. out.<br />
MasterType's MaslerType's Writ Writer er is available for<br />
the Commodore 64 for $44.95.<br />
S<strong>ca</strong>rborough Systems, Systems, Inc., /IIC., 55 55 S. S.<br />
Broadway, TarrytowlI, Tarn/town, NY 10591.<br />
10591.<br />
Circle Reader Service Number 240.<br />
•
The New Automatic<br />
programs for Commodore computers. This com<br />
pletely new version of "The Automatic Proofread<br />
er" works on all eight-bit Commodores (the 128,<br />
64, Plus/4,16, and VIC-20) and alerts you to al<br />
most every typing mistake you might make. It<br />
<strong>ca</strong>n even be used with other programming utili<br />
ties like "MetaBASIC" and the "DOS Wedge."<br />
"The New Automatic Proofreader"<br />
helps you you type type in in program program listings<br />
listings<br />
without typing mistakes. It's a short<br />
error-checking program that con<br />
ceals ceals itself itself in in memory memory and and adheres<br />
adheres<br />
to your Commodore's operating<br />
system. Each time you press RE<br />
on your screen doesn't match the<br />
one in the printed listing, you've<br />
typed the line incorrectly-it's incorrectly—it's tha thatt<br />
simple. simple. You You don't don't have have to to use use the the<br />
Proofreader Proofreader to to enter enter printed listings,<br />
ings, but but doing doing so so greatly greatly reduces<br />
your chances of making a typo.<br />
Getting Started<br />
First, type in the Commodore Automatic<br />
Proofreader Program exactly<br />
as it appears in the listing. Since the<br />
Proofreader <strong>ca</strong>n't check itself, type<br />
<strong>ca</strong>refu <strong>ca</strong>refully ll y to avoid mistakes. Don't<br />
omit any lines, even if they contain<br />
unfamiliar commands or you think<br />
they they don't don't apply apply to your your computer.<br />
computer.<br />
As 500n soon as you're finished typi typing ng<br />
the the Proofreader, Proofreader, save save at least least two two<br />
copies copies on on disk disk or or tape tape before running<br />
it the first time. This is very<br />
important be<strong>ca</strong>use the Proofreader<br />
erases erases the the BASIC BASiC portion portion of of itself<br />
itself<br />
Proofreader<br />
Philip Philip I. I. Nelson, Assistant Assistant Editor<br />
Editor<br />
Now it's it's easier easier than than ever ever to to type type in in and and enjoy<br />
enjoy<br />
programs for Commodore computers. This completely<br />
new version of "The Automatic Proofreader"<br />
works on all eight-bit Commodores (the 128,<br />
64, Plus/4, 16, and VIC-20) and alerts you to al<br />
<strong>ca</strong>n even be used with other programming utilities<br />
like "MetaBASIC" and the "DOS Wedge."<br />
"The New Automatic Proofreader"<br />
without typing mistakes. It's a short<br />
error-checking progra m th at con<br />
system. Each time you press RE<br />
TURN TURN to to enter enter a a program program line, line, the the<br />
Proofreader Proofreader displays displays a a two-lette two-letterr<br />
checksum checksum in reverse reverse video video at at the the<br />
top top of of your your screen. If If the the checksum<br />
checksum<br />
on your screen doesn't match the<br />
your chances of making a typo.<br />
Getling Started<br />
108 108 COMPUTEI'$ COMPUTED <strong>Gazette</strong> <strong>Gazette</strong> Febr\Iaty February 1986 1986<br />
when you run it, leaving only the<br />
machine language (ML) portion in<br />
memory.<br />
When that's done, type RUN<br />
when you run it, leaving only the<br />
machine language (ML) portion in<br />
When that's done, type RUN<br />
and and press p ress RETUR RETURN. N. Afte Afterr announcing<br />
nouncing which which computer computer it's it's fun run<br />
ning on, the Proofreader installs the<br />
ML routine in memory, displays the<br />
message PROOFREADER ACTIVE,<br />
erases the BASIC portion of itself,<br />
and and ends. ends. If If you you type LIST LIST and and<br />
press RETURN, you'll see that no<br />
BASIC program program remains remains in in memo<br />
ry. The computer is ready for you to<br />
ry. The computer is ready for you to<br />
type type in in a a new new BASIC program.<br />
Entering Programs<br />
Entering Programs<br />
Once Once the the Proofreader Proofreader is is active, you you<br />
<strong>ca</strong>n <strong>ca</strong>n begin begin typing typing in in a a BASiC BASIC program<br />
gram as usual. usual. Every Every time time you you finiish<br />
s h ttyping yp i ng a a lin linee and and press press<br />
RETURN, the the Proofreader displays<br />
displays<br />
a a two-letter checksum (reverse video<br />
eo letters) letters) in in the the upper upper left comer corner of of<br />
the the screen. Compare Compare this this checksum<br />
checksum<br />
with with the the two-letter two-letter checksum checksum printed<br />
ed to to the Jeft left of of the corresponding<br />
corresponding<br />
line line in in the the program program listing. listing. If If the the<br />
letters match, it's almost certain the<br />
line line was was typed typed correctly. correctly. If the the letters<br />
ters don't don't match, check check for your your<br />
mistake and and correct correct the the line.<br />
line.<br />
The Proofreader ignor ignores es<br />
spaces that aren't enclosed in quo<br />
spaces that aren't enclosed in quo<br />
tation marks, so you <strong>ca</strong>n omit<br />
spaces (or add extra ones) between<br />
spaces (or add extra ones) between<br />
keywords keywords and and still still see see a a matching<br />
matching<br />
checksum. For exa mple, these two<br />
checksum. For example, these two<br />
lines generate the same checksum:<br />
10 PRINT"THIS IS BASIC"<br />
10 PRINT "THIS IS BASIC"<br />
10 PRINT'THIS IS BASIC"<br />
10 PRINT 'THIS IS BASIC"<br />
However, since spaces inside<br />
However, since spaces inside<br />
quotation quotation marks marks are are almost almost always<br />
always<br />
signifi<strong>ca</strong>nt, signifi<strong>ca</strong>nt, the the Proofreader Proofreader pays pays attention<br />
to them. For instance, these<br />
tw twoo lines lines gene generate ra te different<br />
different<br />
checksums:<br />
checksums:<br />
10 10 PRINT"THIS PRINT'THIS IS BASIC"<br />
10 10 PRINT"THIS PRINT'THIS ISBA ISBA SIC" SIC"<br />
AA common common typing typing mistake mistake is<br />
transposition-typing transposition—typing two two successive<br />
characters in the wrong order,<br />
like PIRNT instead of PRINT or<br />
64378 instead of 64 738. A check<br />
sive characters in the wrong order,<br />
like PIRNT instead of PRINT or<br />
64378 instead of 64738. A check<br />
sum sum program program that that adds adds up up the the val<br />
ues of all the characters in a line<br />
ues of aU the characters in a line<br />
<strong>ca</strong>n't possibly detect transposition<br />
<strong>ca</strong>n't possibly detect transposition<br />
errors errors (it (it <strong>ca</strong>n <strong>ca</strong>n only only tell whether whether the the<br />
right right characters characters are are present, present, regard<br />
less of what order they're in). Be<br />
less of what order they're in). Be<strong>ca</strong>use<br />
the Proofreader computes the<br />
<strong>ca</strong>use the Proofreader computes the<br />
checksum checksum with with a a more more sophisti<strong>ca</strong>ted<br />
formula, it is also sensitive to the<br />
position of each character within the<br />
positio,1 of each character within the<br />
line line and and thus <strong>ca</strong>tches transposition<br />
errors.<br />
The Proofreader does IIOt ac<br />
The Proofreader does not ac<br />
cept keyword abbreviations abbreviations (for (for example,<br />
? instead instead of of PRINT). If If you you<br />
prefer prefer to to use use abbreviations, abbreviations, you <strong>ca</strong>n<br />
still still check check the the line line with with the the Proofreader:<br />
Simply LIST the line after<br />
typing typing it, move move the the cursor cursor back back onto onto<br />
the the line, line, and and press RETURN. RETURN. LISTLISTing<br />
the line substitutes the full keyword<br />
word for the the abbreviation abbreviation and and alJows<br />
allows<br />
the Proofreader to work properly.<br />
the Proofreader to work properly.