8/3/2019 Micro 6502 Journal January 1984 http://slidepdf.com/reader/full/micro-6502-journal-january-1984 1/100 NO. 68 COMMUNICATION u.s. Edition: International Edition: $2.50 $3.00 for the Serious Coml?_uterist z o I- « o z :J ~ ~ o o -- .. Smart Modem Program for the • Apple • Atari • C·64 • CoCo MODCOMM: A Simple Modem Driver for CoCo DOSPLUS: New Commands for Commodore 64 SPEEDUP: Reduce Apple Disk Loading Time Atari Player: Electronic Organ Program o
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
*The ability to transfer data from any type of device to another (IEEE, Serial,
Parallel)
* BASIC 4.0 which allows you to run more PET BASIC programs and gives you
extended disk and 110 commands.
*The ability to have several 64s on line together - sharing common IEEE
devices such as disks or printers with Spooling Capabili ty.
* Built-in machine language monitor
* A built-In terminal or modem program which allows the system to communi-
cate through a modem to many bulletin board systems and other computer
mainframes.
*Compatibility with CP/M. Copyrights and Trademarks
C64 is a copyright of Commodore Business Machines.Inc. C64-LlNK is a copyright of Richvale Tele-communications. CPIM is a registered trademark ofDigi tal Research. POWER is a trademark of Pro-fessional Software. PAL is a copyright of BradTempleton.
Primer BASIC on PET, VICPublisher/Editor-in-Chlef Randall Hyde and C64
Robert M. Tripp
Associate PublisherThe organization and Kevin Stone &
Cindy Kocher implementation of local Andrew Cornwall
Technical Editor networks A program to allow BASICPhil Daley
Production Manager Using the Smartto be downloaded over amodem
Nancy Lapointe Modem in YourTypesetter 22 DOSPLUS'forLynda Fedas System:
Advertising Manager John KeltyCommodore 64
Cindy Kocher Michael KeryanSales Manager
A BASIC
C. Skip Bentle program that services the Add new utility functions
Circulation Manager Hayes Smart Modem for called from the keyboard
Linda Hensdil l the following33 Generating
Customer Service microcomputers:Kim Dundas
Apple Characters for theAccounting
Donna M. TrippAtari EPSON FX80 on
Contributing EditorsColor Computer the Commodore
Cornelis Bongers Commodore 64David Malmberg Robert M. Tripp
John Steiner 62 MODCOMM Create user defineableJim Strasma
Paul Swanson Walter Charlton characters for the FX80
Richard C. Vile, Jr.A simple modem to
interactively on theLoren Wright Commodore 64 display
modem communicationprogram for the Color 39 Commodore
MiCRO is published monthly by: ComputerMICRO, Chelmsford, MA 01824. Reviews
Second Class postage paid at: 17 Downloadinghelmsford, MA 01824 andadditional mailing offices. BASIC on PET, VIC 40 Commodore to
uSPS Publ ication Number: 483470.ISSN: 0271-9002. and C64 Smart ModemSend subscriptions, change of address,
USPS Form 3579, requests for back issues Kevin Stone & John Kelty &and all other fulfi llment questions to:
MICRO Andrew CornwallPhil Daley
P.O.Box 6502 A BASIC program thatChelmsford, MA 01824 A program to allow BASICor call 617/256-3649. to be downloaded over a
services the Hayes Smart
Subscription Rates: (per year): modem into the family ofModem for the C64
u.s. $24.00 or $42.00 for two yearsForeign surface mail: $27.00 Commodore computers 43 Commodoreir mail: Europe $42.00Mexico, Central America, Middle East, Compassor th Africa, Central Africa $48.00South America, South Africa, Far East,Australia, New Zealand $72.00
You've got the loot ... now, GETAWAYI to a greatnew game from the Atari® Program Exchange!
It's all there! The squall of sirens, the crazyturns down endless city streets, the anxioussearch for ill-gotten gain, the race againsttime for a safe place to stash your cash!
Now your gas tank is nearly empty and night
is about to fall. The coppers are closing infast. Before you learn again that crime
doesn't pay ...Quick! GETAWAYl
Ask for GETAWAY! at your local Atari softwareretailer, or order direct. Phone 800-538-1862, or
800-672-1850in California. OrwriteAtari Program
Exchange, P.O. Box 3705, Santa Clara, CA 95055.
Cassette(410) APX-1019532K $29.95
Diskette (81 0) APX-2019532K $29.95
For direct orders, add $2.50.
You're in for a nasty spell ... unless you stop the Typos!In the dusky world beneath yourkeyboard the gruesome Typos dwell
...waiting to attack! Term paper duetomorrow? Got to get that book re-port typed? Fool! The Typos will
devour your letters as you type!That could spell O-O-O-M-E for
you!
Before you start typing, get downto the real work: destroy the Typos
before they destroy your proase ...
uh, proze ...prrrose ...Oh NO! THETYPOS!I! Get TYPO ATTACK, a
grand and glorious game fromAtari® Program Exchange. It might
W sA l ~ .. s A l . . ' J t . s w'}ftc W4t/ts w~fts•_ ........A,. .. '" 'A~" " " .. .._ J . , . _ . . . _ . . . e v . . . . . . p Wlir.,..--., W'\i" ~" ..~ • VII'
ferent users to share a common database or communicate
with one another. For this reason many computer depart-
ments continue to purchase large computers instead of
decentralized personal computers.
The need to share peripheral devices is, of course, very
important. While a single user may have the need to use a
printer, he might not be able to justify the high cost of
such a device for use at his work station alone, especially if
it is a special purpose printer such as a letter quality
printer that will be used infrequently. It would be muchbetter ifa lot of different users could have access to a single
letter-quality printer. Since each user would only beusing
the letter quality printer a small fraction of the time, it
would almost always be available for use whenever a user
desired to print something on it. Since the printer is
available to several users, instead of just one, its utiliza-
tion would bemuch higher than if it were connected to a
single work station. Using the same idea hard disks, real-
time clocks, floating point processors, and other special
devices would bemuch more cost effective if they could be
shared amongst several users.
Several manufactures have created special multiplex-
ing devices that allow several personal computer users to
share a particular hardware device. For example, CORVUS
has a device called the CORVUS Constellation that lets
several microcomputer systems share a CORVUS hard
disk system. Other manufacturers provide black boxes
that let several personal computer users share printers,
tape drives, and other peripheral devices. While this
approach lets personal computer users share peripheral
devices land to a lesser extent, share databases), it suffers
from the drawback that it does not allow users to easily
communicate with one another, nor does it let users share
exotic peripherals forwhich there is nomultiplexer available.
TheNetwork
Pr imerby Randall Hyde
Ihe early sixties the integrated circuit was introduced.
Engineers were delighted to pay $20.00 for a single DIP
package containing four NAND gates. Due to the ex-
pense involved, every device designed using these devices
was optimized to use as few of these devices as possible.
With every technological advance that came along the
high price of silicon dropped dramatically. Today you can
buy that same NAND gate for less than fifteen cents in
suitable quantities.
Since computers designed in the sixties required
thousands of those $20.00 NAND chips, computers
(specifically CPU's) designed at that time were very ex-
pensive. Since CPU's were so expensive computer center
administrators wanted to squeeze every bit of useful com-
putational power out of their system as was possible. It
was considered heresy to leave a computer idle. Amillion-
dollar instrument sitting around idle was a very expensive
waste of money.
The same advances in silicon technology that gave us
the fifteen cent NAND gate also gave us the micropro-
cessor. It is now possible to buy a complete computer forless than $2.00 (Intel just announced an 8048-type
microcomputer for less than $2.00 containing CPU, RAM,
ROM, and 110 - everything you need for a complete com-
puter system). Even considering a personal computer,
such as the Apple II system, that sells for $1,000 to $2,000
it becomes apparent that the CPU utilization is not very
important - if the computer sits around all day with a
blinking cursor waiting for input from the user, no big
deal, for the same million dollars that bought the
System/360 in 1965 you could buy 500 to 1,000 personal
computers and get more through-put even if over three-
quarters of the computers sat idle at any given time.
There were only a few problems associated with using
1,000 personal computers instead of a single, large com-puter. First, although the overall through-put is increased
tremendously, certain compute-bound operations such as
math-intensive floating point calculations will proceed
much slower on a personal computer than on a larger com-
puter complemented with a floating point instruction set.
Second, while the price of the CPU has dropped
dramatically, electromechanical devices such as printers,
disks, tape drives, and other such devices haven't dropped
in price by the same proportion [i.e., these devices are still
relatively expensive). Lastly, with the big expensive com-
puters several users and processes could communicate
with one another and share databases. With the localized
personal computer it is difficult, if not impossible, for dif-
II
I II If:he Answer: A Network
To solve the problems inherent with a bunch of
autonomous computers a technique employed by larger
computers is employed: the computer network. A com-
puter network is simply some medium that allows two or
more computers to communicate with one another. In a
very general sense, the RS-232 line is an example of a com-
puter network since it allows computers to communicate
with one another. Real-life computer networks usually use
a different transmission scheme than RS-232, but the idea
is exactly the same-some method for transmitting data
between two computers is used.
In general there are two types of computer networks:
Remote networks and Local networks. A remote network
is usually associated with large mainframe computers.Anyone who has connected to the SOURCE via TELENET
or some other service has used a remote networking
system. Remote networks are seldomly used as a means to
share peripherals such as printers, hard disks, etc. since
data transmission rates are very slow and the end user
typically has little access to such device (so the hard copy
output, for example, could be picked up). Remote net-
works do allow access to shared data bases such as the UPI
and API data bases and stock quotation from the DOW
JONES and other financial systems. In general, however,
remote networks are of little interest to the group of per-
sonal computer users who wish to share a common set of
When it's time to get serious, it's time to boot upMicroSpec business software. Our complete lineofbusiness software ismade to giveyou some real
applications for your Commodore 64. From database management to full accounting software, wehave the package for you.It's attention to detail that makes our packages
so beautiful and makes them stand out from therest. We realize that most people are firsttimeusers, sowe designed all our packages tobe completely menu driven and user prompt-ed for each input. We also know that mostpeople use only one disk drive, so wedesigned all our packages to virtuallyeliminate disk swapping. Other features likenon destructive input routines really makeour software easy to use. But all this doesn'trestrict you. Pure random access file struc-ture maximizes your disk capacity andallows you to bring up any record for viewingin less than a second.In our efforts to put together the best pack-
ages available, we worked on more than thesoftware. We took the same approach with thedocumentation as the software. We made it com-plete and easily understood for the first time user.We even provide sample reports inmany cases.
'" m m . . . . . . . . '" z '" '" '". . ,. . , . . ,. . , . .'"
m ,. . . . . , .. , . . , . .
". . . . . . . . . . . . . . . . . . . . ._ _ _ _
The Demonstration Package, which shows howeach program runs, is available for $19.95. So, ifyou're serious about your 64, call or write for acomplete brochure or go right down to your
nearest computer retailer for a demonstration.
WHEN YOU AND YOUR 64 ARE READY TO GET DOWN TO BUSINESSGIVE US A CALL
Produ cts fo r Commodo re , A tari, A pp le , and o the rs !
T H E M O N K E Y W R E N C H I IA PROGRAMMERS A ID FOR ATARI8 00
N E W A N D IM P R O VE D - 1 8 C O M M AN D SP LU G S IN T O R IG H T C A IU R ID G E S LO T
-, "'~,~ .• ,, ..,~..,.,,TH E
MONKEYWRENCHII
~~i V
. . . ~ ~ V IC R A B B IT C A R T R ID G E\ ' A N D C B M 6 4 R A B B IT C A R T R ID G E
. '- ) $39 .95~ .\:) \.)) (Includes Cartridge
~ e- and Manual)
- Expansion Connectoron the V IC Car tr id ge
" Do n't w as te yo ur L ife aw ay waitin g to LOADa nd SAVEp rog rams on Cas se te Dec k. "
L oad o r S ave 8 K in ap pro xim ately 3 0 s eco nd s! T ryit - yo ur U n-R ab bitized V IC takes alm os t 3 m in utes .It's n ot o nly F as t b ut V ERY REL IABLE.
A lm os t as fas t as V IC D is k D rive! D on 't b e f oo lis h -W hy bu y the disk wh en you can get th e V IC R ab bit
for m uch, m uch less!E as y to install- it ju st plU gs in .E xpansion Connec to r on r ea r.W o rk s w ith o r w ith ou t E xp an sio n Memo ry.Wo rk s w ith V IC Cas se tte Dec k.1 2Commands p rovide o ther nea t f ea tu re s.
A ls o A vailab le fo r 2 00 1 , 4 001 , a nd 8 03 2
" H igh-SpeedCassetteLoad and Save! "
I f y ou a rea per son who l ik es t o monkey a roundw i th
t he ATAR I8 00 , t he n THE MONKEY WRENCH I I i sf or you l!Make your p rogramming tasks eas ier , lesst ime -c on sum in g a nd mo re f un . W h y s pend e xt rahou rs working on a BA SIC program when theMONKEY WRENCH c an d o it fo r yo u in s ec on ds .It can also m ake backu p copies of boot typec as s et te p ro gr ams . P lu g s in to t he r ig ht s lo t a ndwo rk s w it h ATAR IBAS ICca rt ri dge.
The M ON KEY W REN CH provides 18 direct m odec omm an ds . T he y a re : A U TO L IN E N UMBER IN G - P ro -v id es n ew l in e n umbe rs when ent er in g BASI C p r og raml in e s. RENUMBER - Renumber s BASI C' s l in e n umbe rsI nc lu d in g i nt er na l r ef er en c es . DE LETE L INE NUMBERS $ 59 . 95- R em o ve s a r an ge BAS IC lin e n um b er s.
V AR IA BL ES - D is pla y a ll B AS IC v ar ia ble s a nd th eir c ur re nt v alu e. S cr ollin g - U se th eSTAAT & SELECTkeys t o d is p lay BAS IC l ines au toma ti ca ll y. Sc rol l up o r down BAS ICp ro -g r am . F INDSTR ING - F in d e ver y o c c u rr en c e o f a s tr in g , XCHANGESTR ING - F in d e ver yo c cu r re nc e o f a s tr in g a nd r ep la ce i t w it h a no th er s tr in g . MOVEL INES - M ove l in es f romo ne p ar t o f p ro gr am to a no th er p ar t o f p r og ram. C O PY L IN E S - C op y l in es f ro m o ne p ar to f p ro gr am to a no th er p art o f p ro gra m F DR MA TIE D L IS T - P rin t B AS IC p ro gra m in
s pe cia l li ne fo rm at a nd a uto m atic p ag e n um b er in g, D IS K D IR EC TOR Y- D is pla y D is kD ir ec to ry . C H ANG E MARG IN S - P ro vid es th e c ap ab ility to e as ily c ha ng e t he s cr ee nm ar gin s. M EM OR Y T ES T - P ro vid es th e c ap ab ility to tes t R AM m em or y C UR SO RE XC HA NG E - A llo ws u sag e o f th e c ur so r k eys w ith ou t h old in g d ow n th e C TR L k ey.U PPER C AS E LOCK - K ee ps th e c om p ut er in th e u p pe r c as e c ha ra cte r s et. H E XCON -V ER S IO N - C on ve rts a h e xa de cim al n um b er to a d e cim al n umb er . D E CI MA L CONV ER-S IO N - C on ve rts a d e cim al n um be r to a h ex ad ec im al n um ber . M ON IT OR - E nte r th emach in e l an g uage mon it or .
In ad ditio n to th e B AS IC c om ma nd s, th e M on ke y W ren ch a ls o c on tain s a m ac hin ela ng ua ge m o nito r w ith 1 6 comma nd s u se d t o i n te ra ct w ith t he p ow er fu l fe at ur es o f t h e6502 m icrop roces so r
T E L S T A R 6 4So p hi s ti ca te d Te rm i na l C ommuni ca ti on s Ca rt ri dg e f o r t h e 6 4 .
'PF O' 100000 C P< 01> D2 BE LL 12 :3 0:00 10:14 :3 6
(TELSTAR 'sS ta tus L ine )
D o n 't s e tt le f o r l e s s t h an t h e b e st !
• U p lo a d/ D own lo a d t o /f rom d is k o r t ap e .
• Au toma ti c F i leTrans lat i on .
• C ommuni ca te s i n I n du s t ry S t an d ar d ASC II .
• R e al -T imeC lo c k p lu s A l arm C lo c k.
• L in e e d it in g c a pa bi li ty a ll ow s c o rr ec ti ng a n d r ese nd in g l on g
c omman d l in e s.
• 9 Q u ic k R ea d f u nc ti on s .
• Menu-d ri ven .
• S im il ar t o o u r f amo u s STCPTerm in al p a ck a ge .
• W o rk s w it h C omm o do re M o dems a nd s u pp or ts a ut O -d ia li ng .
T h e b e s t l ea tu r e i s t h e p r i ce - o n ly $ 49 .9 5 ( C ar tr id g e a n dMa n ual )
A TARI, PE T, A ND CBM 64
EPROM PROGRAMMER
Program s 27 16 and 253 2
EPROMs. Includes hardware
and so ftwa re . PET = $75.00- A TA RI a nd C BM 64 (both
includesoph is tica ted mach ine •
language monitor) = $119.95 j
M a c h in e L a n g u a g e M o n it o r
C a r t r i d g e
f o r t h e C B M 6 4
More t ha n 2 0 c omman ds allo w y ou to a cc es sthe C BM 64 's M icroproces sors R egis ters
an d M em ory C on ten ts . C omman ds in clu de
a ssemb le , d is as semb le , r eg is te rs , memo ry ,
t ra ns fe r, c ompar e, p lu s many mo re .
S om eday every C BM 64 owner will need a
mon ito r s uc h as t his .
C artrid ge and M anu al - $ 24 .9 5
CBM 64 DebuggerA mo r e so p hi st ic a te d Ma c hi ne L a ng uag e Mo n it o r/ D eb ug ge r. 2 0 K
o f o bj ec t c od e m ak es t his a p ow er fu l t oo l. W or ks a s a s ym bo lic
d eb u gg er l or t he M A E a s s em b le r. D is k et te a nd M an u al - $ 4 9. 95
Mo re t han j us t a n Assemble r/ Ed it or !Now for Ihe "64 " .
M A Efor
PET
APPLEATARI
~Only$59.95
No. 68 - January 1984
It 's aProfessionallyDesigned
Software
Development
System
NOW, The Best for Less!• Des igned to imp rove Programmer Product iv it y
• S im ila r syn tax and com mands - N o need 10 re learn
pe cu li ar s ynt ax es and commands whe n you go
f rom PE T to APPLE to ATAR ! .
• Cor es iden t A ssemb le r/ Ed it or - No n ee d t o l oad
t he Edi to r t hen t he Assemb le r t hen t he Ed it or , e tc .
• A lso i nc ludes 'No rd Processor , Rel ocat ing l oade r
an d much mor e
• Jo in t he ATUG User Gr oup t or MAE format ted
disks
• ST IL L N OT C ON VIN CED ? S end lo r tree s pec sheet !
. T R A P 6 5TRAP65 ISa h a r dwa re d e vi ce t n atp lu g s I n to y o ur 6 502 ' s s o ck e t P r ev en t sexecution 01 un imp lemen ted opcodesand p rOV idescapab i li t y to ex tend themachines' Inst ruct ion se tFo rPETIAPPLE/SYMRedUCed f rom St 49 .95 10 $ 69 9 5
initial line number of a listing, andcommences to take in the remainder of
the listing after a valid number is
received.
At some point in the routines
dynamic keyboarding takes over to
carry-out the listing-to-program append
process. This is visible as each com-
municated program line appears on top
of the screen, a transfer line (ending
with a GOTO statement) is printed
under it, next READYflashes once, the
screen clears and the sequence starts
over. This will continue until the word
READY,which is automatically sent at
the end of the listing, is encountered.At this point the process will stop with
a harmless OUT OF DATA ERROR.
VIC and C64 RECEIVE Programs
These routines take advantage of the
serial port 256 byte input buffer, which
makes the timing of the receive and ap-
pend processes less critical, although
on average the routine keeps up with
the character input rate at 300 baud.
Upon being run the routine clears the
screen and waits for the listing to be
transmitted. When listing starts the
action of dynamic keyboarding can be
seen on the screen. The routine
simultaneously receives and appends
the incoming program listing. The
buffer prevents data being lost during
the dynamic keyboarding phase of the
receive/ append process.
Although the input buffer takesonly 256 bytes, the actual serial port
buffer occupies 512 bytes. The addi-
tional 256 bytes is for a transmit buffer,
which is not used when receiving. After
allowing for the buffers and receive
routine itself, only about 2K of
memory is available on a basic VIC for
the received program. The routine will
work with any memory expansion
configuration however, without
modification to the routine.
Receive Program Detail
LINE 0: OPENs a file to the serialport. CHR$(61 sets port parameters to
300 baud, no parity with 8 bits, full
duplex, 1 stop bit, and 3 line hand-
shake. These parameters are
appropriate for most common
modems. The screen is then cleared.
LINE 1: GETs a character via the
modem and tests for receipt of first
numeric character 1 through 9.
LINE 2: PRINTs first received
numeric character to screen.
LINE 3: GETs via the modem and
PRINTs across the screen. End of pro-
gram line is determined by receipt of a
carriage return.
LINE 4: PRINTs dynamic
keyboard transfer line to the screen.
POKE 152,1 tells the VIC/C64 that one
file remains open; GOTO 6 instructs
the routine to restart at LINE 6 when
the transfer line is executed in
simulated direct mode.
LINE 5: Fills keyboard buffer
locations 631 to 634 with a home
cursor and three carriage returns; POKE
198,4 tells the VIC/C64 that the
keyboard buffer contains four
characters. After this the routine is for-
V I C
o O P E N 2 , 2 , O , C H R $ ( 6 ' : P R I N T " ~ " ;1 G E T A $ : I F V A L ( A $ ' = O T H E N G O T O2 P R I N T A $ ;3 G E T * 2 , A : f : P R I N T A $ ; :
I F A $ ( ) C H R : f ( 1 3 ) T H E N 34 P R I N T : P R I N T " P O K E 1 5 2 , l : G O T O 6 "5 P O K E 6 3 1 , 1 9 : P O K E 6 3 2 , 1 3 : P O K E 6 3 3 , 1 3 :
P O K E 6 3 4 , 1 3 : P O K E 1 9 8 , 4 : E N D6 P R I N T " ~ " ; I G O T O 3
18 MICRO
mally instructed to END. In fact,
however, the routine continues as the
characters in the keyboard buffer are
executed (simulating direct mode
operation) which enters (appends) the
transmitted program line printed to the
screen and activates the transfer line.
LINE 6: Clears the screen in
preparation for the next received line. Itthen executes a GOTO 3 to continue
More speed, more memoryworkspace from the peoplewho lifted the 641( limit.
In 1981, we introduced our famousSaturn RAM card to boost the Apple'smemory by 32K. Now, there are 64Kand 128Kversions for added power.
Increased RAM lets you run biggerprograms, and our VisiCalc®expansionsoftware provides a dramatic expansionofworkspace memory Also, the extra
memory can work as a pseudo disk forinstant access. (Nomore 20-secondsearches!) The Saturn RAM board is asuper aid for advanced word process-
ing, data base management, spreadsheet, and accounting applications.And perfect with PASCAL,CPIM® ,
and BASIC.
Use our easily installed cards incombination-and get a whopping220K ofVisiCalcworkspace on theApple lIe. Or sensational enhancements
on Apple II, II+ , Franklin, Basis andmost Apple compatibles. Weeven havesoftware that increases your Apple'smemory in BASICprogramming up to4 megabytes!
This kind of performance requiressophisticated bank switching and sup-porting software that we originated,
proved, and improved. Buy fromthe leader!
Let us help you expand your Apple'sproductivity. For information on our
RAMboards and other Titan microcom-
puter products, see your computerdealer or contact: Titan Technologies,Inc., PO Box 8050, Ann Arbor,MI48107; Telephone (313) 973-8422.
Sales and Marketingby The MARKET INGRESOURCE GROUP,CostaM esa , C A .
Apple is a r egi stered trademark of Apple Computer. Inc.
V is iCa1c i s a regi st er ed t radema rk ofVi siCorp, Inc .
CP1M is a registered trademark of Digital Research, Inc
0 P O K E 5 3 , 8 : 0 P E N 5 , 5 : J = 2 0 4 8 :P R I N T " ~ R E A D Y T O R E C E I V E " r G O T O .3
1 G E T * 5 , A $ : I F S T < > O T H E N G O T O 52 J · J + l : P O K E J , A S C ( A $ ) : G O T O 13 G E T 4 t 5 , A $ :
I F S T ( ) O O R V A L ( A $ )= 0 T H E N G O T O 3
4 P R I N T " R E C E I V I N G " : G O T O 25 P O K E 5 3 , 1 2 8 : K = J : J = 2 0 4 8 : C L O S E 56 P R I N T " " ' 1 1 .. . ,7 J = J + l : B X = P E E K ( J ) : P R I N T C H R $ ( B X ) ; :
I F 8 7 . < > 1 3 A N D K ) J T H E N G O T O 78 P R I N T : P R I N T " K = " K " : J = " J " : G O T O 6 "9 P O K E 6 2 3 , 1 9 : P O K E 6 2 4 , 1 3 : P O K E 6 2 5 , 1 3 :
P O K E 6 2 6 , 1 3 : P O K E 1 5 8 , 4 : E N D
device number. Variable, is initializedto the 2K boundary. The screen iscleared and the message "READY TORECEIVE" is printed.
LINE 1: GETs a character from
the modem and tests the status variable
ST for an error. If an error occurs, it is
assumed to be a time-out error (ST=2),
and branches to the dynamic keyboard
section of the program, starting at LINE
5.
LINE 2: Increments variable, and
POKEs the PET-ASCII value of the
latest character received into memory
location [. Branches back to LINE 1 to
get another character.
LINE 3: Tests for receipt of firstnumeric character to suppress READY
and other non-BASIC lines.
LINE 4: PRINTs message
"RECEMNG", after the first numeric
character is received.
LINE 5: Restores the normal top
of BASIC memory. Defines variable K
as last value of" and redefines, as 2K.
CLOSEs file number 5.
LINE 6: Clear the screen.
LINE 7: PEEKs listing from
memory and PRINTs characters across
the screen. End of program line deter-mined by carriage return (= 13).
LINE 8 PRINTs dynamic
keyboard transfer line to the screen.
The transfer line carries over the values
of K and, and set the program to restart
at LINE 6.
LINE 9: Fills keyboard buffer
locations 623 to 626 with a 'home
cursor' and three 'carriage returns': the
POKE 158,4 sets a variable to tell the
PET that the keyboard buffer contains
four characters. After this, the routine
is formally instructed to END. In fact,
MICRO
the routine continues as the characters
in the keyboard buffer are executed,
simulating direct mode operation to
enter [append) the received programline printed to the screen and to
activate the transfer line.
Reliability
Even though this method for transfer-
ring programs does not use any error
detection, such as parity checking or
checksum, we found it to be very
reliable. Phone line glitches can cause
difficulties, but these were rare during
our development and testing of this
technique. On one occasion someone
dialed an extension telephone while aprogram was being transmitted. On
another, the phone line mysteriously
went dead for several seconds. Normal
phone line background noise and cross-
talk did not seem to cause any pro-
blems. In our "formal" testing of this
procedure, an 8K listing was com-
municated ten times over the period of
several days. Each time the program
was transferred successfully. Although
our experience was on a local call basis,
long distance telephone program
communication should be feasible.
If a problems occurs when a VIC orC64 is receiving a program. the routine
Unexcelled communications power andcompatibility, especially for professionals andserious computer users.look us over; Super'l'ermisn't just "another" terminal program. Uke ourfamous Terminal-40,It's the one others will bejudged by.
C 9 2 0C 9 2 3C 9 2 6C 9 2 7C 9 2 AC 9 2 CC 9 2 EC 9 3 0C 9 3 1C 9 3 4C 9 3 7C 9 3 AC 9 3 DC 9 4 0C 9 4 1
C 9 4 2C 9 4 3C 9 4 4
C 9 4 7
4 88 A4 89 84 8A 9 7 F8 0 0 0 D OA C 0 0 D O3 0 3 52 0 B C F 62 0 E 1 F FD O O F2 0 1 5 F 02 0 A 3 F O2 0 1 8 E 5
2 0 4 7 C 96 C 0 2 A O5 82 0 E 4 FFC 9 0 0F O F 92 9 1 FA AB D C O C B8 0 3 E C 9B D E O C B8 0 3 F C 92 0 F F F F7 86 8
4 8A 84 C 7 2 F E
A 9 0 0
D O S P L U S B Y M . J . K E R Y A N
D U P L I C A T E S N M I R O U T I N E A T$ F E 4 3 I N R O M , C H E C K S F O RK E Y P R E S S A F T E R R E S T O R E K E Y
R O M
N I T 1I N I T 2I N I T 3S T P F LC O N T N MS T O PG E T I N
U T I L I T I E S ,
• $ E 5 1 8• $ F 0 1 5• $ F O A 3• $ F 6 B C• $ F E 7 2• $ F F E 1• $ F F E 4
;C I A I R Q • $ 0 0 0 0 , F O R R S / 2 3 2 C H E C KT A B L • $ C B C O ; L O W B Y T E P O I N T E RT A B H • $ C B E O j H I B Y T E P O I N T E R,O R I G I N • $ C 9 0 0. . • O R I G I N;
N E W N H I
S T O P K Y
N O T S T PK E Y L P
R S 2 3 2
P H AT X AP H AT Y AP H AL O A U 7 FS T A C I A I R QL O Y C I A I R QB H I R S 2 3 2J S R S T P F LJ S R S T O PB N E N O T S T PJ S R I N I T 2J S R I N I T 3J S R I N I T 1
J S R I N I T N M ; N E W I N I T I A LJ H P ( $ A 0 0 2 ) ; W A R M S T A R TC L I E N A B L E K E Y B DJ S R G E T I N G E T A K E YC M P . $ 0 0 W A I T / P R E S S E DB E Q K E Y L PA N D U 1 FT A XL O AS T AL O AS T AJ S RS E IP L A
P H AT A YJ H P C O N T N M
T A B L , Xt+ 1 0T A B H , Xt+5
H F F F
I S A V E R E G I S T E R S
I R Q F L A G F O RR S / 2 3 2
F L A G S E TS T O P K E Y ?N O , B R A N C HO L i P L I C A T E N M I
R O U T I N E S
M A S K F O R 3 2U N I Q U E K E Y SG E T L O B Y T ES E T U P J S R
H I B Y T E
M O D I F I E D A D D RI R Q D I S A B L E DG E T B A C K Y
;J I N I T I A L I Z A T I O N R O U T I N E F O R N M I
K E R N A L N M I V E CK E R N A L C H R O U T
j
N M I N V • _ 0 3 1 8' I B S O U T • $ 0 3 2 6B R D C L R • $ 0 0 2 0B C K C L 1 • $ 0 0 2 1C O L O R . . $ 0 2 8 6C O L C H = $ 0 0C O L B K = $ O C
C U R S O R C O L O RC H A R S • B L A C KB A C K G = G R E Y
;I N I T N M L O A t < N E W N M I ; R E S T O R E N M I
C 9 4 9C 9 4 CC 9 4 EC951C 9 5 3C 9 5 6C 9 5 9C95BC 9 5 EC 9 6 0C 9 6 3C 9 6 5C 9 6 8C 9 6 9C 9 6 AC 9 6 BC 9 6 DC 9 7 0
C 9 7 1C 9 7 2C 9 7 5C 9 7 7C 9 7 9C 9 7 BC 9 7 DC 9 7 FC 9 8 0C 9 8 3C984C 9 8 5C 9 8 6C 9 8 7C 9 8 BC 9 8 AC 9 8 DC 9 9 0C 9 9 2C 9 9 5C 9 9 7C 9 9 AC 9 9 DC 9 9 FC 9 A lC 9 A 4C9A7C 9 A AC 9 A CC 9 A FC 9 B 2
8 0 18 0 3A 9 C 98 0 19 0 3A 9 O C8 0 2 0 D OS O 2 1 D OA 9 0 08 0 8 6 0 2A 9 7 18 D 2 6 0 3A 9 C 98 0 2 7 0 3E AE AE AA 9 0 08 0 B B C96 0
4 8A D B E C 9C 9 0 4D O 3 DA 5 B AC9 0 8F O 3 76 88 0 B A C 94 S8 A4 8984 SA 9 7 E2 0 C 3 F F2 0 C A C 9A 9 7 E2 0 B A F FA 9 0 02 0 B D F F2 0 C O F FB O O BA 2 7 E2 0 C 9 F FA D S A C 92 0 C A F lA 9 7 E2 0 C 3 F F2 0 C C F F6 8
S T AL O AS T AL O AS T AS T AL O AS T A
L O AS T AL O AS T AN O PN O PN O PL O AS T AR T S
N E W O U T P U T R O U T I N EV E C T O R S O U T P U T T O P R I N T E R I FP F L A G I S S E T I N A D D I T I O N T OC R T - - O I S K A C C E S S W I L L T U R N
O F F P R I N T E R A C C E S S
N H I N VI > N E W N H I ;N M I N V H ;I C O L B K8 R O C L RB C K C L lI C O L C HC O L O R . ; C H A R A C T E R S
I < N E W O U TI B S O U T* > N E W O U T ;I B S O U T " l ;
V E C T O R T ON E W R O U T I N E
; E D G E C O L O Ri B A C K G R O U N D
N E W O U T P U TV E C T O R
1 $ 0 0P F L A G
; F U T U R E; E X P A N S I O N; P R I N T E R O F F
24
C L R ' H N • $ F F C C ; K E R N A L R O U T I N E SO L O O U T = H l C AC L O S E = H F C 3S E r L F S • $ F F B AS E T N A H • $ F F B OO P E N = $ F F C OC H K O U T = $ F F C 9;V I C H C RF AP F I L E
= $ O O l S= $ B A= $ 7 E
; V I C H E M C T R L R E G; C U R R E N T D E V I C E .; L O G I C A L P T R F I L E
;N E W O U T P H A
L O A P F L A G , C H E C K F L A G T OC N P 1 $ 0 4 , S E E I F P T R I SB N E R T N P ; A C T I V EL O A F A ; I F D E V I C E I SC N P I . O S ; I S D I S K T H E NB E Q R T N P ; O I S A B L E P R I N T E RP L AS T A P T E M PP H A ; S A V E R E G I S T E R ST X AP H AT V AP H AL O A I P F I L EJ S R C L O S E ; F I R S T C L O S E F I L EJ S R P C A S E , S E T U / L C A S EL O A I P F I L EJ S R S E T L F SL O A 1 $ 0 0J S R S E T N A HJ S R O P E NB C S P C L O S E ; C L O S E O N E R R O RL O X t l P F I L EJ S R C H K O U TL O A P T E H PJ S R O L D O U T ; C H A R T O P R I N T E R
P C L O S E L O A t l P F I L EJ S R C L O S EJ S R C L R C H N ; R E S E T T O C R TP L A ; R E S T O R E R E G S
MICRO
Interrupt [NMIJ request to the com-
puter's cpu. No matter what the com-
puter is doing at the time, it will stop
and jump to a special machine language
program that determines why the inter-
rupt was requested, and takes ap-
propriate action.
The Commodore 64 NMI program
basically does two things:
1. It determines if the NMI requestcame from the RS1232 port or from
the RESTORE key. If the RS1232
port generated it, the data transfer
is handled.
2. If the RESTORE key generated the
interrupt, the NMI program checks
to see if the STOP key was also
pressed. If so, it jumps to initializa-tion routines and then to a BASIC
warmstart. If the STOP key wasn't
pressed, the program has no
noticeable effect.
So when you press the RESTOREkey alone, nothing appears to happen,
but actually the NMI program was ex-
ecuted. Commodore makes it very easy
to replace their NMI program with one
of your own, since the NMI routine
vectors through RAM locations
$0318-0319. Place the locations of your
new NMI program in $0318-0319 and
you've gained complete control of the
computer through the RESTORE key.
Using the Program
An assembler program [Listing 1Jil-lustrates how the RESTORE key can be
used to add 32 new functions to the
Commodore 64. To gain access to these
new routines, press the RESTORE key
followed by a second key that identifies
the function. Seven new routines are
provided in the Listing, twenty-five
more are possible. The seven functions
are as follows:
..
.Ato Append programs ...
B to change the Background color
C t o change the Character colorE....o .change the Edge color
check is made for an RS1232 interrupt.If the NMI request came from the
RESTORE key, a check of the STOP
key is made. If STOP was pressed at the
same time, then three ROM initializa-
tion routines are run. Anew initializa-
tion routine, INITNM, is then run
[more on this later], followed by a
warm start to BASIC.
Assuming you had only pressed the
RESTORE key to access the new func-
tions, the initializations and warm
start are bypassed. The interrupt flag
is cleared to allow keyboard entry.
Then the program waits for a key to bepressed. The upper 3 bits of the ASCII
value of the key are masked to zeroes,
so only 32 unique keys are possible.
Based on the value obtained above,
pointers for the corresponding routines
are set up into a JSR statement, then
the JSR is taken, in which the new
function is executed. After the
subroutine is run, program flowreturns
to the old NMI routine in ROM which
restores the registers and executes an
RTI (return from interrupt) and normal
program execution resumes.
No. 68 - January 1984
C 9 B 3C 9 8 4C 9 8 5C 9 B 6C 9 B 7C 9 B AC 9 S 8
C 9 B CC 9 B EC 9 C OC 9 C 3C 9 C 4C 9 C 6C 9 C 9
C 9 C AC 9 C O
C 9 C FC 9 D lC 9 0 3C 9 0 5C 9 0 7C 9 0 9
C 9 0 A
C 9 D OC 9 0 FC 9 E 2C 9 E 4C 9 E 7C 9 E AC 9 E CC 9 E Et 9 F lC 9 F 3C 9 F 5C 9 F 7C 9 F 9C 9 F CC 9 F F
C A 0 2C A 0 4C A 0 7C A 0 9C A O CC A O FC A 1 2C A 1 4C A 1 6C A 1 8C A 1 AC A l CC A 1 EC A 2 ! )C A 2 2
A 86 8A A6 84 C C A F l0 00 0
A 9 0 48 5 B A8 0 B B C 96 0A 9 0 08 0 B B C 960
A O 1 8 0 02 9 0 2
F O 0 4A O 0 700 02A O 00A 2 04
6 0
2 0 C A C 9
A 9 7 020 B A FFA 9 0 02 0 B O FF2 0 C O FFB O 7 AA 2 7 02 0 C 9 FFA 9 00
8 5 F OA 9 04
8 5 F E20 8 9 C A2 0 7 E C A20 9 7 C A
A 2 1 920 E 1 FFF O 5 020 7 5 C A2 0 9 1 C A20 8 0 C AA O 00B 1 F OC 9 22D O 02A 9 2 7C 9 A 2D O 02A 9 A 78 0 B A C 9
T A YP L AT A X
R T N P P L AJ M P O L O O U T j R T S T H R U O L O O U T
P T E M P , B Y T E $ 0 0P F L A G , B Y T E $ 0 0j
T U R N P R I N T E R O N / O F Fj
P R N T O N L O A * $ 0 4 j A C T I V A T E B Y PS T A F AS T A P F L A GR T S
P R N T O F L O A *$00 j A C T I V A T E B Y 0S T A P F L A GR T S
j
j O E T E R M I N E I F S C R E E N I S U P P E R O Rj L O W E R C A S E - - S E T X A N O Y,,P C A S E
U P P E RP O E V
L O A V I C M C RA N O U 0 2
B E Q U P P E RL O Y U 0 7B N E P D E VL O Y U O OL O X *'04
R T S
j Y I S S E C A O O Rj X I S D E V I C E II
j
j O U M P S C R E E N T O P R I N T E R
MICRO
j
O P N T RR O W S. C O L M N SD P F I L E,,P D U M P
R O L O O P
C O L O O P
S H F T Q T
N O T Q T
= $ F O= $ 1 9= $ 2 8. . $ 70
j P O I N T E Rj 2 5 R O W S O N C R Tj 4 0 C O L U M N Sj L O G I C A L F I L E *
J S R P C A S E
L O A * O P F I L EJ S R S E T L F SL O A U O OJ S R S E T N A MJ S R O P E NB C S O P C L O S j C L O S E O N E R R O RL O X * O P F I L EJ S R C H K O U TL O A U O OS T A O P N T RL O A U 0 4S T A O P N T R + 1J S R P C R J C A R R E TJ S R L I N E j S Y M B O L L I N EJ S R L I N B L K j B L A N K L I N E
L O X * R O W SJ S R S T O P j I F S T O P K E Y ,S E Q O P C L O S j T H E N S T O P P R I N TJ S R S P C 1 6 j M A R G I NJ S R B O X S Y M j S Y M B O LJ S R P S P A C E j S P A C EL O Y *'00
L O A ( O P N T R ) , Y j G E T C R T C H A RC M P * ' 2 2 j I F Q U O T E ,B N E S H F T Q T j C H A N G E T OL O A * $ 2 7 j A P O S T R O P H EC M P U A 2 j I F S H I F T Q U O T E ,B N E N O T Q T j C H A N G E T OL O A * $ A 7 ; S H I F T A P O S T R O P H Es r A p r E M P
Asmentioned above, a combination C A 2 5 29 8 0 A N D 1 1 $ 8 0 , I F R E V E R S E C H A RRUN/STOP and RESTORE restores the C A 2 ? e o A F C A S T A R E V F L G ; T H E N S E N D R E Vperipheral chips, colors, etc. back to C A 2 A F O 0 5 B E Q D E C O D E , C O D E T O P R I N T E Rtheir default values. This means we C A 2 C A 9 1 2 L O A 1 1 $ 1 2 ,would lose control of the NMI routine C A 2 E 20 C A F 1 J S R O L D O U T
because the KERNAL ROM addresses C A . 3 1 A D S A C 9 D E C O D E L O A P T E M P ; C H A N G E S C R E E N
are reinstated in the indirect vectors inC A 3 4 2 9 3 F A N D U 3 F , C O D E T O A S C I I
RAM. The new initialization routineC A 3 6 O E B A C 9 A S L P T E M P ; C O D E F O R
therefore places our addresses back intoC A 3 9 2 C B A C 9
B I T P T E M P , P R I N T E RC A 3 C 1 0 0 2 B P L * + 4the vectors for the NMI routine and the C A 3 E 0 9 8 0 O R A 1 1 $ 8 0OUTPUT routine (used in the printer C A 4 0 7 0 02 B V S * + 4utilities) . C A 4 2 0 9 4 0 O R A 4 1 $ 4 0
The initialization routine also C A 4 4 2 0 C A F 1 J S R O L D O U T J C H A R T O P R I N T E Rallows us to change the colors to new C A 4 7 A D A F C A L O A R E V F L G J I F R E V E R S E T U R Ndefault values, in this case to black C A 4 A F O 0 5 B E Q C H R S N T , O F F R E V M O D E
characters on a grey background. If you C A 4 C A O 9 2 L D A 4 1 $ 9 2
desire different default colors, change C A 4 E 20 C A F l J S R O L D O U T
them here.C A 5 1 c e C H R S N T I N Y , N E X T C O L U M N
Lastly, the printer flag is reset toC A 5 2 C O 2 8 C P Y l t C O L M N SC A 5 4 D O B E B N E C O L O O P
disable the printer, if it was on before C A 5 6 20 A S C A J S R L N E N D , E N D O F L I N Ethe intialization was run. C A 5 9 9 8 T V A
C A 5 A 1 8 C L CNew OUTPUT Routine C A 5 B 6 5 F D A D C D P N T R
C A 5 D 85 F D S T A D P N T RNEWOUT allows you to turn on the C A 5 F 9 0 0 2 B C C H 4
printer (device #4) so that all output to C A 6 1 E 6 F E I N C O P N T R + l , R E V I S E P O I N T E Rthe screen can go to both the screen and C A 6 3 C A D Othe printer. When this routine is ac- C A 6 4 C O 9 E B N E R O L O O P
tivated, to get a program listing, just C A 6 6 2 0 9 7 C A D P C L O S J S R L I N B L K , D O N E W I T H C R T
type LIST. C A 6 9 20 7 E C A J S R L I N E
The NEWOUT routine first checksC A 6 C 2 0 C C rr J S R C L R C H N , R E S E T T O C R T
to see if the printer flag is off. Then itC A 6 F A 9 7 0 L O A l t D P F I L EC A 7 1 2 0 C 3 F F J S R C L O S E
checks to see if the active device is #8. C A 7 4 6 0 R T S , D O N E W I T H D U M PDisk access is set up to kill the printer ;output to avoid possible contention prob- ; S U B R O U T I N E S T O S U P P O R T D U M Plems on the serial bus. ,
The program then checks to see if C A 7 S A O 1 0 S P C 1 6 L O Y 4 1 $ 1 0 , 1 6 B L A N K Sthe screen is in upper/graphics or C A n 2 0 8 0 C A S P 1 6 L P J S R P S P A C Elower/upper case. Afile is then opened C A 7 A 88 D E Y
to device #4 with a secondary address C A 7 B D O f A B N E S P 1 6 L P
of 0 or 7, depending on the case.C A 7 0 6 0 F < r S
;The character is sent to the printer, C A 7 E . 20 75 C A L I N E J S R S P C 1 6 , L I N E O F S Y M B O L S
the file is closed, then the character is C A S l A O 2C L D Y U2Csent to the screen. Note that the printer C A 8 3 2 0 9 1 C A L I N E L F ' J S R B O X S Y Mfile is opened and closed for each C A 8 6 8 8 D E Ycharacter. The printer output mode is C A S ? D O F A B N E L I N E L Pturned on by RESTORE, P, and turned C A e 9 A 9 0 0 P C R L O A U O D , C A R R R E T U R Noff by RESTORE, O. C A 8 B D O 0 6 B N E O U T C H R
C A 8 D A 9 2 0 P S P A C E L O A U 2 0 , S P A C E
Dump Screen to Printer C A 8 F D O 0 2 B N E O U T C H R
C A 9 1 A 9 2 E B O X S Y I 1 L O A U 2 E , P E R I O DIn addition to the printer on/off
C A 9 3 20 C A rl O U T C H R J S R D L D O U TC A 9 6 6 0 R T S
functions, a screen dump routine isI
provided. This is accessed by the C A 9 7 2 0 7 5 C A L I N B L K J S R S P C 1 6 ; B L A N K L I N ERESTORE key followed by aD. The en- C A 9 A 20 9 1 C A J S R B O X S Y Mtire 40 x 25 screen is copied character C A 9 D A O 2 9 L O Y 4 1 $ 2 9by character to the printer. The printed C A 9 F 20 S O C A L B L K L P J S R P S P A C Eoutput is indented to center the text on C A A 2 8 8 D E Ythe paper and a dotted outline is drawn C A A 3 D O F A B N E L B L K L P
around the 40 x 25 matrix. As before, C A A 5 20 a D C A L N E N D J S R P S P A C E
the printed output is made the same C A A 8 2 0 9 1 C A J S R B O X S Y MC A A B 2 0 8 9 C A J S R P C R
case as the screen. C A A E 60 R T SThe PDUMP routine opens and
C A D OC A B 2C A B 4C A 8 6C A B 9C A B CC A B EC A G OC A C 2C A C 4C A C 6C A C 8C A C AC A C CC A C DC A C FC A D 2C A D 5C A D 8C A D SC A D CC A D EC A E lC A E 2
C A E 4C A E 7C A E 9C A E CC A E EC A F lC A F . 3C A F SC A F 6C A F 8C A F AC A F CC A F Ec a o oC 9 0 2C D 0 5C B 0 7C B O AC B O DC D 1 1C 8 1 5C 8 1 9C B 1 DC B 2 1C B 2 5C 8 2 9C B 2 AC B 2 D
0 0
A 2 0 0F O 0 2A 2 0 1F E 2 0 D O2 0 E 4 F FC 9 0 0F O F 9C 9 4 2F O F OC 9 4 5F O E 8C 9 4 3F O 0 16 0A 2 F A
F E F F 0 7F E F 9 D 8F E F 3 D 9F E E D D AC AD O F lE E 86 0 21 89 0 0 5
,,R E V F l G , B Y T E $ 0 0 ; Z E R O I F N O T R E Vj
; C H A N G E S C R E E N C O L O R Sj 3 E N T R Y P O I N T S F O R E D G E , B A C K G R O U N D ,; A N D C H A R A C T E R S - - A l l 3 C A N B Ej C H A N G E o W I T H O N E E N T R Yj
E D G E l D X 1 1 $ 0 0B E Q C H G C C l lB A C K G D l D X 1 1 $ 0 1C H G C O l I N C B R D C l R , XW A I T C l J S R G E T I N
C M P 1 1 $ 0 0B E Q W A I T C lC M F ' 1 1 $ 4 2B E Q B A C K G DC M P 1 1 $ 4 5B E Q E D G EC M P U 4 3B E Q C H A R A CR T S
C H A R A C l D X U F A
F I l l C H I N C $ D 7 F F , XI N C $ D 8 F 9 , XI N C $ D 9 F 3 , XI N C $ D A E D , XD E X
D N E F I l l C HI N C C O L O RC l CB C C W A I T C l
; E O G E E N T R Y
j B A C K G E N T R Yj C H A N G E C O L O R; G E T K E Y
j S K E Y
j E K E Y
; C K E Y
; A N O T H E R K E Y
j C H A N G E A l l; O F C O L O Rj M E M O R Y
j C U R S O R C O L O R
; C O N T I N U E;j A P P E N D P R O G R A MJ T O T A C K O N S U B R O U T I N E P R O G R A M S, T O O T H E R P R O G R A M S,,T X T T A BV A R T A B
IA P P E N DA P P D O N
4 C E 7 C AA 5 2 C8 0 3 F C DA 5 2 B8 0 4 0 C BA 5 2 E8 5 2 C. 3 8A 5 2 DE 9 0 28 5 2 8B O 0 2C 6 2 CA 9 2 A A P O N8 D E 5 C AA 9 C B8 D E 6 C A2 0 4 1 C BO D 4 C 4 F 4 14 4 2 0 5 0 4 74 D 3 2 2 C 2 04 8 4 9 5 4 2 05 2 4 5 5 3 5 44 F 5 2 4 5 2 C2 0 4 1 O D 0 06 0A D 3 F C B A P P D O F8 5 2 C
= $ 2 B. . $ 2 D
J M P A P P D O N j M O D I F I A B l El D A T X T T A B + lS T A A P H Il D A T X T T A BS T A A F ' l Ol D A V A R T A B + le TA T X T T A B + lS E Cl D A V A R T A BS B C 1 1 $ 0 2S T A T X T T A BB C S A F ' O ND E C T X T T A B + 1l D A I I ( A PP D O FS T A A P P E N D j 1l DA I I) AF 'F 'D OFS T A A P P E N D + 2J S R M E S S A G, B Y T E $ O D , $ 4 C , $ 4 F , $ 4 1, B Y T E $ 4 4 , $ 2 0 , $ 5 0 , $ 4 7, B Y T E $ 4 D , $ 3 2 , $ 2 C , $ 2 0, B Y T E $ 4 8 , $ 4 9 , $ 5 4 , $ 2 0. B Y T E $ 5 2 , $ 4 5 , $ 5 3 , $ 5 4, B Y T E $ 4 F , $ 5 2 , $ 4 5 , $ 2 C, B Y T E $ 2 0 , $ 4 1 , $ O D , $ 0 0R T Sl D A A P H IS T A T X T T A B + l
J M P
No. 68 - January 1984 MICRO
closes a file similarly to the OUTPUT
routine. Abig difference is the transfor-
mation from screen code toASCIIcode.
Commodore does some very strange
things to the printer and screen when a
reverse character follows a quotation
mark. It is very difficult to get an exact
screen dump when this occurs. A
quotation mark is replaced by an
apostrophe on printed output, to allowreverse characters to be printed [ifyour
printer or printer/interface will handle
them). Examples of screen dumps are
shown in Figure 1. In this case the
printer used [NEC 8023/Tymac Con-
nection Interface) does not provide
reverse alphanumerics; a Commodore
1525 printer would have printed the
directory header with reverse characters.
Change Screen Colors
Aroutine is provided to change the
screen colors. This routine has three
entry points. RESTORE, B changes the
background color, RESTORE, E
changes the edge color, and RESTORE,
C changes the character color. Note
that all characters on the screen will be
changed, not just the characters follow-
ing the cursor. When the colors are
changed, their code number is in-
cremented byone, from 0 to IS, back to
0, etc.
Once anyone colorhas been changed,
you can continue to step through the
colors by repetitively pressing the same
key [no need to hit RESTOREagain). In
addition, no matter which one you
started with [B, E, or C], you can
change the others by pressing the cor-
responding key. Any other key will get
you out of the color change mode.
Append
To append a program [normally
consisting of subroutines or DATA
statements) to another, first load the
main program in the usual manner:
LOAD"PRG1",8. Then pressRESTORE, AThis raises the bottom of
After the message is printed, controlwill return to the next byte following
the zero. In addition to normal text,
cursor controls, color changes, etc. can be
intermixed with text for special effects.
Entering the Program
The DOSPLUS routines currently
start at $C800 and extend through
$CBFF. Space for more routines is
available from $C807-C8FF and from
$CB60-CBBE. Additional extensions
can be assembled below $C800. The
DOS WEDGE occupies $CCOO-CFFF,so it is advantageous to load and
initialize the DOS WEDGE and
DOSPLUS at the same time.
There are several ways to get the
program into your Commodore 64. Ifyou have an Assembler, type in the
Assembly code as shown in Listing 1. A
compact BASIC loader is also provided;
see Listing 2. Checksums are used to
catch your typing errors, which will
terminate the program. Note the
change to line #1260 required if you donot intend to run the BASIC loader
with DOS 5.1 in memory. A thirdmethod is to send the author $10 fUS)
for a disk containing the programs
shown in Figure 1. [For foreign re-
quests, please provide sufficient return
postage). If you load and run the first
program DOSPL US, both the DOS-
WEDGE and the RESTORE routines
will be loaded and initiated. Then type
NEW and you're ready to go.
Seven new functions were added,
but the tables will allow a total of 32.
Some possible additional functions in-
clude variable listing, single step, trace,
autoline, hex-decimal converter, save
& swap screens [for animation), etc.
Don't hesitate to write if you have a
useful addition. Or better yet, write it
up for all MICRO readers.
You may contact the author:
Michael J . Keryan713 Locust Drive
Tallmadge, Ohio 44278
28
C D 2 FC 8 3 2C 8 3 4C 8 3 6C D 3 9C B 3 BC B 3 EC B 3 F
C 8 4 0
C B 4 1C 8 4 2C B 4 4C 8 4 5C B 4 7C 8 4 9
C B 4 BC B 4 DC B 4 FC B 5 1C B 5 3C B 5 6C B S 7C B 5 9C S S BC B 5 CC S S EC B 5 F
e 8 0 0C 8 0 3C 8 0 6
C 8 8 F
c s c oC S C 4C B C 8C B C CC B O O
C B 0 4C B 0 8C B O C
C B E OC B E 4C B E 8C B E CC B F CC D F 4C B F 8C B F C
A L I 4 0 C B8 5 2 BA 9 E 78 0 E 5 C AA 9 C A8 0 E 6 C A60F F
F F
6 88 5 F B688 5 F CA 2 0 0E 6 F B
0 0 0 2E 6 F CA 1 F BF O 0 620 0 2 F F1 89 0 F OA 5 F C4 8A 5 F B4 86 0
2 0 4 7 C 920 0 0 C C6 0
6 0
L O A A P L OS T A T X T T A B
A P O F F L O A * < A P P D O NS T A A P P E N O + lL O A I > A P P O O NS T A A P P E N O + 2R T S
A P H I , B Y T E $ F F
A P L O , B Y T E HF;j M E S S A G E P R I N T E Rj J S R M E S S A G - - F O L L O W W I T H A S C I Ij M E S S A 8 E - - E N D W I T H Z E R O.C H R O U T = $ F F D 2P O I N M S . . $ F B,,M E S S A G
P O I N M Sj S A V E P O I N T E R S; F O R R E T U R N
P L AS T AP L AS T AL O XI N C
B N EI N CL O AS E QJ S RC L CB C CL O AP H AL O AP H AR T S
P O I N M S + 11 $ 0 0P O I N M S j P A R S E M E S S A G E
H4P O I N M S + 1 j B U M P P O I N T E R( P O I N M S , X ) j 8 E T C H A RM S S G B K i E N O O N Z E R OC H R O U T j P R I N T I T
M S S G L P j C O N T I N U EP O I N M S + 1
P O I N M S
M S S G L P
M S S G B K
j
* = $ C 8 0 0I N I D O S • $ C C O O
if J A S I N T J S R I N I T N M j I N I T N M I U T I L SJ S R I N I O O S j IN I T D O S W E D G ER T S
,,* • $ C B B FR E T R N , B Y T E $ 6 0
i
* • $ c e C OT A B L . .
S f E 4 B 4 C DO A B O B F B FB F S F S F B FB F B F B F C 4B C B F S F S F
B F B F S F B FS F B F B F S FB F B F B F B F
*, B Y T E $ B F , $ E 4 , $ B 4 , $ C O, B Y T E $ D A , $ B O , $ B F , $ B F, B Y T E $ D F , $ B F , $ B F , $ B F, B Y T E $ B F , $ B F , $ B F , $ C 4. B Y T E $ B C , $ B F , $ B F , $ B F
. B Y T E $ B F , $ B F , $ B F , $ B F, B Y T E $ B F , $ B F , $ B F , $ B F
. B Y T E $ B F , $ B F , $ B F , $ B Fj
* = $ C B E OT A B H . . *
C B C A C A C A , B Y T E $ C B , $ C A , $ C A , $ C AC 9 C A C B C B . B Y T E $ C 9 , $ C A , $ C B , $ C BC B C B C B C B , B Y T E $ C B , $ C B , $ C B , $ C BC B C B C B C 9 , B Y T E $ C B , $ C B , $ C B , $ C 9C 9 C B C B C S , B Y T E $ C 9 , $ C B , $ C B , $ C BC B C B C B C B , B Y T E $ C B , $ C B , $ C B , $ C BC B C B C B C B . B Y T E $ C B , $ C B , $ C B , $ C BC B C 8 C B C B . B Y T E $ C B , $ C B , $ C B , $ C B
1 P R I N T " [ C L R J D O S P L U S L O A D E R " : P R I N T " W A I T - - L O A D I N G "1 0 D I H N ( I 0 1 : 1 = 02 0 R E A D A $ : 1 = 1 + 1 : C S a O3 0 U = L E F H ( A $ , 2 1 : G O S U S 1 0 0 ; I F Z < I l ' H E N S Y S 5 1 2 0 0 : E N D4 0 B Y = Z : K S = Z : X $ = H I D $ ( A $ , 3 , 4 ) ; e O S U B 1 0 0 : L C " ' Z5 0 X $ = M I D $ ( A $ , 3 , 2 ) ; G O S U B I 0 0 : K S = K S t Z : U = I 1 I D $ ( A $ , 5 , 2 ) : G O S U B 1 0 0 : K S = ~ ~ S + Z6 0 F O R J - I T 0 8 V : Ua H I D $ ( A $ , S r J f 2 , 2 ) : P R I N T " , I I ;7 0 G O S U E i 1 0 0 : N ( J ) = Z ; C S = C S + Z : N E X T J8 0 X $ = H I D $ ( A $ , 7 r 8 Y t 2 , 4 ' : G O S U B 1 0 0 : I F Z ( ) C S + K S T H E N P R I N T " E R R O R L I N E * 1 1 ; 1 :S T O P90 F O R J = I T O B Y : P O K E L C + J - I , N ( J ) : N E X T J ; P R I N T " * I I ; G O T D 2 0
1 0 0 :1 1 0 R E M H E X T O D E C I M A L1 2 0 R E M X $ I S f l E X N U M B E R T O B E C O N V E R T E D1 3 0 R E M Z I S D E C I M A L N U M B E R C O N V E R T E D
1 4 0 Z = O1 5 0 L = L E N ( X $ ) : F O R K = I T O L1 6 0 Y = A S C ( M I D $ ( X $ , K , I ' )1 9 0 Z = Z * 1 6 + Y - 4 8 + 7 * ( Y ) 5 7 )2 0 0 N E X T k : : R E T U R N
1 0 0 0 D A T A " 1 8 C 9 0 0 4 8 8 A 4 8 9 8 4 8 A 9 7 F 8 D O D D D A C O D D D 3 0 3 5 2 0 B C F 6 2 0 E I F F D 0 0 F 2 0 0 C 4 6 "1 0 1 0 D A T A " 1 8 C 9 1 8 1 S F D 2 0 A 3 F D 2 0 1 8 E 5 2 0 4 7 C 9 6 C 0 2 A O S 8 2 0 E 4 F F C 9 0 0 F O F 9 2 9 1 F O C 7 B "1 0 2 0 D A T A " 1 8 C 9 3 0 A A B D C O C B 8 D 3 E C 9 B D E O C B 8 D 3 F C 9 2 0 F F F F 7 8 6 8 4 8 A 8 4 C 7 2 F E A 9 0 F E 7 "1 0 3 0 D A T A " 1 8 C 9 4 8 0 0 8 D 1 8 0 3 A 9 C 9 8 D 1 9 0 3 A 9 0 C 8 D 2 0 D 0 8 D 2 1 D O A 9 0 0 8 D 8 6 0 2 A 9 7 1 0 A 7 4 "1 0 4 0 D A T A ~ 1 8 C 9 6 0 8 D 2 6 0 3 A 9 C 9 8 D 2 7 0 3 E A E A E A A 9 0 0 8 D B B C 9 6 0 4 8 A D B B C 9 C 9 0 4 D O O E O E1 0 5 0 D A T A " 1 8 C 9 7 8 3 D A 5 B A C 9 0 8 F 0 3 7 6 8 8 D B A C 9 4 8 8 A 4 8 9 8 4 8 A 9 7 E 2 0 C 3 F F 2 O C A C 9 0 E I B1 0 6 0 D A T A " 1 8 C 9 9 0 A 9 7 E 2 0 B A F F A 9 0 0 2 0 B D F F 2 0 C O F F B O O B A 2 7 E 2 0 C 9 F F A D B A C 9 2 0 0 E E 81 0 7 0 D A f A " 1 8 C 9 A 8 C A F I A 9 7 E 2 0 C 3 F F 2 0 C C F F 6 8 A 8 6 8 A A 6 8 4 C C A F I O D O O A 9 0 4 8 S B A O E C 21 0 8 0 D A T A " 1 8 C 9 C 0 8 D B B C 9 6 0 A 9 0 0 8 D B B C 9 6 0 A D 1 8 D 0 2 9 0 2 F 0 0 4 A 0 0 7 D 0 0 2 A 0 0 0 A 2 0 C 9 B1 0 9 0 D A T A " 1 8 C 9 D 8 0 4 6 0 2 0 C A C 9 A 9 7 D 2 0 B A F F A 9 0 0 2 0 B D F F 2 0 C O F F B 0 7 A A 2 7 D 2 0 C 9 0 E 6 51 1 0 0 D A f A " 1 8 C 9 F O F F A 9 0 0 8 5 F D A 9 0 4 8 5 F E 2 0 8 9 C A 2 0 7 E C A 2 0 9 7 C A A 2 1 9 2 0 E I F F F O O F 3 21 1 1 0 D A T A " 1 8 C A 0 8 5 0 2 0 7 5 C A 2 0 9 1 C A 2 0 8 D C A A O O O B 1 F D C 9 2 2 D 0 0 2 A 9 2 7 C 9 A 2 D 0 0 2 0 C B O1 1 2 0 D A T A " I B C A 2 0 A 9 A 7 8 D B A C 9 2 9 B O B D A F C A F 0 0 5 A 9 1 2 2 0 C A F I A D B A C 9 2 9 3 F O E B A O D F C1 1 3 0 D A T A " 1 8 C A J 8 C 9 2 C B A C 9 1 0 0 2 0 9 8 0 7 0 0 2 0 9 4 0 2 0 C A F I A D A F C A F O O S A 9 9 2 2 0 C A O C 0 31 1 4 0 D A T A " 1 8 C A 5 0 F I C 8 C 0 2 8 D O B E 2 0 A 5 C A 9 8 1 8 6 5 F D 8 5 F D 9 0 0 2 E 6 F E C A D 0 9 E 2 0 9 7 0 F E 9I I S O D A T A " 1 8 C A 6 8 C A 2 0 7 E C A 2 0 C C F F A 9 7 D 2 0 C 3 F F 6 0 A O I 0 2 0 8 D C A 8 8 D O F A 6 0 2 0 7 5 0 E 3 D1 1 6 0 D A T A " 1 8 C A 8 0 C A A 0 2 C 2 0 9 I C A 8 8 D O F A A 9 0 D D 0 0 6 A 9 2 0 D 0 0 2 A 9 2 E 2 0 C A F 1 6 0 2 0 0 D 1 E1 1 7 0 D A T A " 1 8 C A 9 8 7 5 C A 2 0 9 1 C A A 0 2 9 2 0 8 D C A 8 8 D O F A 2 0 8 D C A 2 0 9 1 C A 2 0 8 9 C A 6 0 0 0 0 D 8 B1 1 8 0 O A T A " 1 8 C A B O A 2 0 0 F 0 0 2 A 2 0 I F E 2 0 D 0 2 0 E 4 F F C 9 0 0 F O F 9 C 9 4 2 F O F O C 9 4 5 F O E 8 1 0 3 D1 1 9 0 D A T A 1 8 C A C 8 C 9 4 3 F O O l 6 0 A 2 F A F E F F D 7 F E F 9 D 8 F E F 3 U 9 F E E D D A C A D O F 1 E E 8 6 1 4 0 41 2 0 0 D A T A 1 8 C A E 0 0 2 1 8 9 0 D 5 4 C E 7 C A A 5 2 C 8 D 3 F C B A 5 2 B 8 D 4 0 C B A 5 2 E 8 S 2 C 3 8 A 5 2 D O C 9 C1 2 1 0 D A T A 1 8 C A F 8 E 9 0 2 8 5 2 B B 0 0 2 C 6 2 C A 9 2 A 8 D E S C A A 9 C B 8 D E 6 C A 2 0 4 1 C B O D 4 C 4 F O D A D1 2 2 0 D A T A 1 8 C B 1 0 4 1 4 4 2 0 5 0 4 7 4 D 3 2 2 C 2 0 4 8 4 9 5 4 2 0 5 2 4 5 5 3 S 4 4 F 5 2 4 5 2 C 2 0 4 1 0 D 0 6 B D1 2 3 0 D A T A 1 8 C 8 2 8 0 0 6 0 A D 3 F C B 8 5 2 C A D 4 0 C 8 8 5 2 B A 9 E 7 8 D E S C A A 9 C A 8 D E 6 C A 6 0 F F O F 1 61 2 4 0 D A T A 1 8 C B 4 0 F F 6 8 8 5 F B 6 8 8 5 F C A 2 0 0 E 6 F B D 0 0 2 E 6 F C A I F B F 0 0 6 2 0 D 2 F F 1 8 9 0 1 0 5 51 2 5 0 D A T A 0 8 C B 5 8 F O A 5 F C 4 8 A 5 F B 4 8 6 0 0 6 4 C "1260 D A T A 0 7 C 8 0 0 2 0 4 7 C 9 6 0 2 0 0 0 C C 0 3 4 B "1 2 7 0 D A T A 1 8 C B 8 F 6 0 8 F E 4 B 4 C D D A B O B F B F B F B F B F B F B F B F B F C 4 B C B F B F B F B F B F B F 1 3 6 1 "1 ~ 8 0 D A T A 1 8 C D D 7 B F B F B F B F B F B F B F B F B F C B C A C A C A C 9 C A C B C B C B C B C B C B C B C B C B 1 4 5 0 "1 2 9 0 D A T A l I C B E F C 9 C 9 C B C B C B C 8 C B C B C 8 C B C B C B C B C B C B C B C 8 0 F 4 2 "1 3 0 0 O A 1 A " O O "1 5 0 0 :1 5 1 0 R E M I F D O S W E D G E W I L L N O T B E R U N W I T H T H I S P R O G R A M , R E P L A C E L I N E 1 2 6 0
W I T H :1 5 2 0 R E M 1 2 6 0 D A T A " 0 4 C 8 0 0 2 0 4 7 C 9 6 0 0 2 5 C "
With the need for computing power growing every day, Sanyo hasstepped in to meet the demand with a whole new line of low cost, highquality data monitors. Designed for commercial and personal corn-puter use. All models come with an array of features, including up·front brightness and contrast controls. The capacity 5 x 7 dotcharacters as the input is 24 lines of characters with up to80 characters per line.
Equally important, all are built with Sanyo's commitmentto technological excellence. In the world of AudioiVideo, Sanyo issynonymous with reliability and performance. And Sanyo quality isreflected in our reputation. Unlike some suppliers, Sanyo ceslqns,
manufactures and tests virtually all the parts that go into our products,from cameras to stereos. That's an assurance not everybody cangive you!
.SANVOOfficial Video Products
of the LD s Angeles 7 9 8 4 Olympics
('~, • .J.,_,_..- __
• LOWEST PRICES· 15 DAY FREE TRIAL· 90 DAY FREEREPLACEMENT WARRANTY
• BEST SERVICE IN U.S.A.• ONE DAY EXPRESS MAIL. OVER 500 PROGRAMS· FREECATALOGS
PRDTECTD~~;~~~;;~~~~~=~=:C~;~~=~~iIlease add 6% tax. Add $20.00 lor CANADA, PUERTO RICO, HAWAII •
Irders. WE DO NOT EXPORT TO OTH ER COUNTRIES. •
• Enclose Cashiers Check, Money Order or Personal Check. Allow 14•
• days lor delivery, 2 to 7 days lor phone orders, 1 day express mail! •
ICanadaorders must be in U.S.dollars. Visa· MasterCard· C.O.D. I
• 15 Day Free Trial - 1 8 0 Day Immediate Replacement Warranty
80 COLUMN THERMAL PRINTER - 60 CPSBi-directional, dot matrix, prints 8'/," letter size paper, full 80 columns, highresolution graphics, dot bit addressable, special symbols and true decenders!
(Centronics parallel interface)
80 COLUMN TRACTOR·FRICTION PRINTER - 80 CPSBi-directional, dot matrix, impact, prints single sheets, continuous feed paper,
adjustable columns, 40 to 132 characters! Roll paper adapter $32.95. (Serial or
Centronics parallel interface)
PREMIUM QUALITY 10" CARRIAGE T/F PRINTER - 120 CPSBi-directional, impact, 9 x 9 dot matrix with double strike for 18 x 18 dot matrix.
High resolution bit image (120 x 144 dot matrix) underlining back spacing, left and
right margin settings, true lower decenders, with super and sub scripts. Prints
standard, italic, block graphics, special characters, plus 24 of user definable
characters and much more!! Prints single sheets, continuous feed and roll paper!
(Centronics parallel interface)
PREMIUM QUALITY 15%" CARRIAGE PRINTER - 120 CPSHas all the features of the Premium Quality 10" Carriage TIF Printer above plus a
15'12"carriage and more powerful electronic components to handle large business
forms! ( Centronics parallel interface)
HIGH SPEED PREMIUM QUALITY T/F
10" PRINTER - 160 CPSSave printing time with these plus features: 160 CPS speed, 100% duty cycle, 8K
buffer diverse character fonts special symbols and true decenders, vertical and
horizontal tabs. This is Red Hot Efficiency!!! (Serial or Centronics parallel interface)
HIGH SPEED PREMIUM QUALITY
T/F 15%" PRINTER - 160 CPS
Has all the features of the 10" Carriage high speed printer plus a 15%" carriage andmore powerful electronics to handle larger business forms! (Serial or Centronics
parallel interface)
PARALLEL PRINTER INTERFACES: (IN STOCK)• For VIC-20 and COMMODORE 64 $49.00
• For all APPLE COMPUTERS $69.00
• For ATARI 400 and 800 COMPUTERS $79.00
NOTE: Other printer interfaces are available at computer stores! •
LIST
$199
SALE
$149
$399 $209
$499 $289
$599 $379
$699 $499
$799 $599
•E DO NOT EXPORT TO OTHER COUNTRIES EXCEPT
CANADA.
Enclose Cashiers Check, Money Order or Personal Check. Allow14 days for delivery, 2 to 7 days lor phone orders, 1 day expressmart : Canada orders must be in U.S. dollars. We accept Visa
and MasterCard We ship C.O.D.
PROTECTOE N T E R P R I Z E S ,WE LOVe OUR CUSTOMERS)
BOX 550, BARRINGTON, ILLINOIS 60010Phone 3121382·5244 to order
FLOPPY DIS KS SALE *$1.19 ea.Economy Mode l o r Cad illac Quality
LORA :E~~~u~~S~tlWe have the low est prices! L O R A C E I/ li ft ED P E RSO NAL_ C OM PU TE R D IS K
*ECONOMY DISKSGood quality 51/4" single sided single density with hub rings.
Bulk Pac 1000ty. $1.1gea.
10 Oty. 1.39 ea.
Total Price
Total Price
$119.00
13.90
CADILLAC QUALITY• Each disk certified • Free replacement lifetime warranty • Automatic dust remover
For those who want cadillac quality we have the Loran Floppy Disk. Used b i~ij~ls because they can relyon Loran Disks to store important data and programs without fe~r.9Ji k is 100% certified (anexclusive process) plus each disk carries an exclusive.~.R~~ifl ARRANTY. With Lorandisks you can have the peace of mind withfrustrati ih()urs spent in programdevelopment.
100% CERTIFICATIOSome floppy disk manufact .certified. Each Loran disk islifetime!
FREE REPLACEMENT LWe are so sure of Loran Disksty materials or workmanship f
AUTOMATIC DUST REMOJust like a record needle, disk ddisks the Loran smooth surface fgrind your disk drive head like(dust & dirt) are being constantlyprobability rate of any other disk in
Loran is
Just to prove it even furtheList $4.99 ea. INTROD
other floppysurface willdisk-killers
the highestof the disk.
• 60% of all drive downtime is directly related to poorly maintained drives.
• Drives should be cleaned each week regardless of use.• Drives are sensitive to smoke, dust and all micro particles.
• Systematic operator performed maintenance is the best way of ensuring error free use of your computersystem.
The Cheetah disk drive cleaner can be used with single or double sided 5'/." disk drives. The Cheetah is an
easy to use fast method of maintaining efficient floppy diskette drive operation.
The Cheetah cleaner comes with 2 disks and is packed in a protective plastic folder to prevent contamination.
List $29.951 Sale $19.95
rA-;~;;-;;;r-:;;n;'--;:;:I~-:';-;=:::::--;;;I:';-;:;';;iIplease add 6% tax. Add $20.00 lor CANADA, PUERTO RICO, HAWAII IIorders. WE 00 NOT EXPORTTO OTHER COUNTRIES. I
IEnclose Cashiers Check. Money Order or Personal Check. Allow 14IIays for delivery. 2 to 7 days for phone orders, 1 day express mail! IICanada orders must be In U.S. dollars. Visa· MasterCard· C.O.D. I
.------------------------_.
PROTECTOENTER PRIZES ,"'"0"Ou"CU510 ..,",,
BOX 550, BARRINGTON, ILLINOIS 60010Phon. 3121382·5244 to ord.r
Sample Commodore Graphic Character Set for the FX80.
,t ij .~"u
' 1 . . • \ "I r ' U ' i i l ! [, ; n iil!~ Sf: [ a m i n 1 " 1 i i l i U C :d-iiji ;:~ o r :, . . . iiiiIi g ; ; ; . . 1 1 10 • . . . . . ~ ' f f
" " S
' ""~it d" > < (It ,Iii. i . . . . . . . :~ : i ' 1 ' 1 '~ lU I
I I l I i I il l r , p e I~:~ r';W
,~"'\ :~!i ;~:i~.L i . . . . . J . . - w · o ; i 1 1 • • &1
",
~ ill;U U: : ; : ; : I V i ft - ii IL , I t I I ! ~ i i i i : ! '
liiii i I f I I l 'I n i l l ! I l l o i ~ i l I i i ~m ti u
~t ~ii, :.:.:. :.:.:. K ' ". . . .
f' "D . T '1 m W" 0 ' m m ~J 1'1 ,,jj III III H - :
., iUlil aI~I II It
i i . l l i i r i l l iUij1 1 m : ~ . ! jilll Ul
IIlli ill III . . . . • n u . . mill , l U i . . jjj
l' r < i . . "p L " ., ,i" f" lu m F'j
G ~' 1 1 m
....~ ,nJ i" iii I nn n IL' ",
! I l l ~'ii J i i -' ' ' i t o , Hilil b", I f I I . i . L i U i l i i i i i u , ill ! Jf J n··~ u• • . ; iU - .: .1 « r
"1 • 'ijji', '0 '1 " a ~ ,JI . , i D r . J jJ jp " ~ : : ~ - r-t
m i ,"'!"
nJ i U i f i b ,' rY " • :; : 1 '1 : I l l i._.i u . . ' 1 . . b" l . . . . i_~ . l
~ i l iU l .:.:-: :::;:: ~r i H " iiiII..
"ii ~ H mII!m
a i r J i 1 I i ! i i :~ ~: : : : iIli ijljij ,B O N 9 ::I f! u . ; ; ~,jjjii'"
: . : . : . , iII i . . ,"
r "D . ·r' ,~ B lt i ~'!l11 ~!lll
,w U ill .II m1'1
ii,iTl . .. i;U!i
: n I ! l m ij I m l l ill : 1 1 j l !1 m ~.i ~ mI l l O iii . . .. i I I I I I i~
Normal Characters Reversed Characters
Generating Characters for theEPSON F X B O on a Commodore 64
by Ro be rt M . Trip p
The evolution of plain paper printers has been toward less
expensive units that domore. Those who have entered the
microcomputer revolution lately may not realize that it
was only five or six years ago that a used Teletype (tm) at
over $500 was a hot item. And all it could do was produce
numbers, punctuation and upper case alphabetics - at 10
character per second with a lot of noise and it was not very
transportable! Printers have come a long way since then
and are getting better all the time, One of the most useful
features to come along recently is the ability for the user to
define his own character set. Until this capability was
added, the user had three choices if he needed characters
that the printer did not support:
1, Find some way to live within the constraints of
the supported character set, such as using [CLIt]
to stand for the inverse heart shape that
Commodore computers use as the displayable
representation of the clear screen function,
2. Print the character information in a graphics
mode,
3. Purchase a custom printer with the appropriate
character set - normally limiting the user to the
printer manufactured by the microcomputer
company.
Eachalternatives has amajor drawback. The first requires
that special programs bewritten to dothe conversion from
the microcomputer display character code to thealphanumeric string that will represent it, and results in a
printout that does not represent the microcomputer
display very well. The second requires a program to con-
vert the character oriented information into a graphic
form, and due to the fact that information has to be
transmitted for every bit on the line, is quite slow. The
third is an added expense and may result in a printer with
limited capabilities and few, if any, of the more
sophisticated printer features.
Avery neat solution has been provided recently by the
general purpose printer manufacturers, Many now include
the ability for the user to define some or all of the
character set in the printer's RAM,While the number ofcharacters that may be so defined, the matrix for The FX80manual has a very good discussion of the details
generating the characters, and the exact protocol for defin- ofgenerating user defineable characters. This presentationNo, 68 . January 1984 MICRO 33
Basic Printing Concepts ing the characters varies from printer to printer, the basic
concepts are the same, MICRO, as amicrocomputer user,
probably has more need for the user defineable characters
than the average user since we deal so often with printed
material and we deal with such a variety of micro-
computers, We investigated the available printers and
selected the Epson FX80 since it has allows all 256
characters to be user defined. Many of the other printers
with UOCs currently available only permit a portion of
the character set to be redefined and some do not support
copying the existing ROM set into RAM to form the basis
for the UOC, These two factors may not be significant to
you, and other printers may be better for your particular
requirements, Most of the material in this article will be
applicable to printers in general.
Custom Character Sets
The GRAPIDCS issue of MICRO [#66, November 1983)
discussed character oriented graphic characters and
provided methods for generating character sets on the
Commodore 64, VIC 20 and Atari microcomputers. The
examples used in the articles were, for the most part,
generated on our FX80. Afew of the possible uses for the
UOC include:
1, Graphic characters that replicate those of the
micro's display,
2, Custom graphic characters such as those used for
line drawings, macro characters, special symbols,
and so forth.
3, Alphabets for foreign languages, computer
readable codes such as bar codes, optical scanner
characters, special fonts such as the magnetic ink
1 R E M " F X P C 6 G E N E R A T O R "1 0 P R I N T " ~ G E N E R A T I N G C H A R A C T E R S "1 5 C L R : 6 0 S U B 5 0 0 0 :
R E M G E N E R A T E C H A R A C T E R S2 0 G O S U S 5 1 0 0 : R E M D E F I N E E Q U A T E S3 0 G O S U S 4 0 0 0 : R E M S E T U P S C R E E N4 0 G O S U B 1 0 0 0 : 6 0 T O 2 0 0 0 : R E M E D I T
1 0 0 0 R E M F X C H A R A C T E R D I S P L A Y
1 0 1 0 B Y = F X + 1 3 * C H : P R I N T " S " ;1 0 2 0 F O R J = 7 T O 0 S T E P ~ 1 : K = 2 A J1 0 3 0 F O R L = l T O 1 1 S T E P 2 : I = B Y + L1 0 4 0 I F P E E K ( I ) A N D K T H E N 1 1 0 01 0 5 0 I F P E E K ( I - l ) A N D K T H E N 1 0 8 01 0 6 0 I F P E E K ( I + ! ) A N D K T H E N 1 1 1 01 0 7 0 P R I N T " . " ; : 6 0 T O 1 2 0 01 0 8 0 I F P E E K ( I + l ) A N D K T H E N 1 1 2 01 0 9 0 P R I N T C H R $ ( L H ) ; : G O T O 1 2 0 01 1 0 0 P R I N T C H R $ ( C U j : G O T O 1 2 0 01 1 1 0 P R I N T C H R $ ( R H ) ; : 6 0 T O 1 2 0 01 1 2 0 P R I N T C H R $ ( L R ) j1 2 0 0 N E X T1 2 1 0 P R I N T : N E X T
1 2 2 0 R E T U R N1 4 0 0 R E M O U T P U T F X C H A R A C T E R S T O M E M O R Y1 4 1 0 B Y = F X + l 3 f C H1 4 2 0 F O R L = O T O 1 2 : P O K E ( B Y + L ) , O : N E X T1 4 3 0 F O R L = l T O 1 1 S T E P 2 : I = B Y + L : A = 0 : B = 0 :
X X = I N T ( L / 2 )
1 4 4 0 F O R J = 7 T O 0 S T E P - 1 : K = 2 AJ1 4 5 0 X = P E E K ( O G + X X )1 4 6 0 I F X = C X T H E N A = A O R K1470 I F X = R X O R X = D X T H E N B = B O R K1 4 8 0 X X = X X + R W : N E X T1 4 9 0 P O K E ( ! ) , A : P O K E ( I + 1 ) , B : N E X T1 5 0 0 R E T U R N2 0 0 0 R E M E D I T
2 0 1 0 H = 0 : V = 0 : C P = 8 72 0 1 5 P R I N T " S ) ) ) ) ) ) ) ) C H A R l " j C H j " l I § ' _ " j2 0 2 0 P O = 0 G + v * R w + i E Y ; P E E K ( P 0 )2 0 2 2 Y = P E E K ( P O + 1 ) : B Y = F X + C H * 1 1 + V2 0 2 5 P O K E P O , C P2 0 3 0 G E T H: I F 1 $ = ' " ' T H E N 2 0 3 02 0 4 0 I F T $ = " £ " T H E N C P = 2 2 5 : 6 0 T O 2 0 2 52 0 5 0 I F T $ = " A " T H E N C P = 8 7 : G O T O 2 0 2 52 0 6 0 I F T $ = C L $ T H E N H = H + 1 : 6 0 T O 2 5 0 02 0 7 0 I F T $ = C R $ T H E N H = H - l : G O T O 2 5 0 02 0 8 0 I F T $ = C D $ T H E N V = V + l : G O T O 2 5 0 02 1 0 0 I F T $ = C U $ T H E N V = V - l : G O T O 2 5 0 02 1 1 0 I F T $ = R T $ T H E N H = O : V = V + l : G O T O 2 5 3 0
2 1 1 5 I F T $ = F l $ T H E N P O K E P O , X : G O T O 7 0 0 02 1 2 0 I F T $ = F 2 $ T H E N P O K E P O , X : G O T O 7 1 0 02 1 2 5 I F T $ = F 3 $ T H E N P O K E P O , X : G O T O 7 4 0 02 1 3 0 I F T $ = F 4 $ T H E N P O K E P O , X : 6 0 T O 7 3 0 02 1 3 5 I F T $ = F S $ T H E N P O K E P O , X : G O T O 6 2 0 02 1 4 0 I F T $ = F 6 $ T H E N P O K E P O , X : G O T O 6 0 0 02 1 4 5 I F T $ = F 7 $ T H E N P O K E P O , X : G O T O 2 6 0 02 1 5 0 I F T $ = H M $ T H E N P O K E P O , X : 6 0 T O 2 0 1 02 1 5 5 I F T$="+" T H E N 2 2 0 02 1 6 0 I F T $ = " - " T H E N 2 3 0 02 1 6 5 I F T $ ( > C S $ T H E N 2 0 3 0
2 1 7 0 F O R 1 = 0 T O 1 22 1 7 5 P O K E F X + 1 3 * C H + I , 0 : N E X T2 1 8 0 G O S U B 1 0 0 0 : G O T O 2 0 1 02 2 0 0 R E M + S E R V I C E2 2 0 5 I F C P = 2 2 5 T H E N 2 4 0 02 2 1 0 I F x = P D O R X = C X O R X = B X T H E N 2 2 8 02 2 2 0 I F X = L X O R X = D X T H E N 2 2 9 02 2 4 0 X = C X
2 2 6 0 I F Y = L X T H E N Y = B X : G O T O 2 2 9 02 2 7 0 I F Y = D X T H E N Y = R X : G O T O 2 2 9 02 2 7 5 G O T O 2 2 9 02 2 8 0 X = C X2 2 9 0 H = H + l : G O T O 2 5 0 02 3 0 0 R E M - S E R V I C E2 3 1 0 I F X = P D O R X = C X O R X = B X T H E N 2 3 5 02 3 2 0 I F X = L X T H E N 2 2 9 02 3 3 0 I F X = D X T H E N X = L X : G O T O 2 2 6 02 3 4 0 X = B X : G O T O 2 2 6 02 3 5 0 X = B X : G O T O 2 2 9 02 4 0 0 I F X = P D O R X = B X T H E N X = R X : G O T O 2 4 1 02 4 0 2 I F X = C X O R X = R X T H E N X = R X : G O T O 2 4 1 02 4 0 4 I F Y = P D O R Y = B X T H E N Y = L X2 4 0 6 I F Y = C X O R Y = L X T H E N Y = L X2 4 0 8 X = D X : G O T O 2 2 9 02 4 1 0 I F Y = L X O R Y = R X T H E N Y = D X2 4 1 5 I F Y = P D O R Y = B X T H E N Y = L X : G O T O 2 2 9 02 4 2 0 I F Y = C X O R Y = L X T H E N Y = L X : G O T O 2 2 9 02 4 5 0 I F Y = P D O R Y = B X T H E N Y = L X : G O T O 2 2 9 02 4 5 5 I F Y = L X O R Y = R X T H E N Y = D X2 4 9 9 G O T O 2 2 9 02 5 0 0 I F H ( O T H E N H = 1 0 : V = V - l2 5 1 0 I F H ) 5 T H E N H = O : V = V + l2 5 2 0 I F V < O T H E N V = 52 5 3 0 I F V > 7 T H E N V = O O2 5 4 0 P O K E P O , X : P O K E ( P O + 1 ) , Y
2 5 5 0 G OT O
2 0 2 02 6 0 0 R E M R E V E R S E - A S B E S T Y O U C A N !
2 6 1 0 X X = O G2 6 2 0 F O R 1 = 0 T O 72 6 3 0 F O R J = O T O S : X J = X X + J2 6 4 0 A = P E E K ( X J ) : I F A = P D T H E N A = 8 X2 6 5 0 I F A = B X T H E N A = C X : G O T O 2 7 0 02 6 6 0 I F A = C X O R A = D X T H E N A = B X : G O T O 2 7 0 02 6 7 0 I F A = R X T H E N 2 7 2 02 6 7 5 I F P R = 8 X T H E N A = C X : G O T O 2 7 0 02 6 8 0 I F P E E K ( X J + l ) = R X T H E N A = R X :
G O T O 2 7 0 02 6 9 0 A = B X2 7 0 0 P R = A : P O K E ( X J ) , A : N E X T
2 7 1 0 P R = O : X X = X X + R W : N E X T : G O T O 2 0 1 02 7 2 0 I F P R = D X O R P R = R X T H E N A = L X :G O T O 2 7 0 0
2 7 3 0 A = B X : G O T O 2 7 0 02 8 0 0 I F P R = D X O R P R = R X T H E N A = L X :
G O T O 2 7 0 03 0 0 0 P R I N T " S " j Q Q $ j L L $ j " ] " j : I N P U T C H3 0 1 0 C H = C H A N D 2 5 5 -3 0 2 0 P R I N T " S " j Q Q $ ; L L $ j S 9 $3 0 3 0 R E T U R N -4 0 0 0 P R I N T " ~ " j Q Q ' i
P R I N T " Q F l R E A D C H A R I "P R I N T " F 2 W R I T E C H A R I "P R I N T " F 3 R E A D N E X T "P R I N T " F 4 W R I T E C U R R E N T / R E A D N E X T "P R I N T " F 5 D I S K L O A D "P R I N T " F 6 D I S K S A V E "
P R I N T " F 7 R E V E R S E C H A R A C T E R "R E T U R N
P R I N T C H R $ ( 1 4 2 )P O K E 5 2 , 4 8 : P O K E 5 6 , 4 8P O K E 5 6 3 3 4 , P E E K ( 5 6 3 3 4 ) A N D 2 5 4P O K E l , P E E K ( 1 ) A N D 2 5 1F O R 1 = 1 ) T O 2 0 4 7P O K E 1 + - 1 2 2 8 8 , P E E K ( I + 5 3 2 4 8 ) : N E X TX X = 1 2 2 8 B + 9 1 * 8F O R 1 = 0 T O 3 9
R E A D A : P O K E ( x X + I ) , A : N E X TP O K E l , P E E K ( l l O R 4P O K E 5 6 3 3 4 , P E E K ( 5 6 3 3 4 ) O R 1
P O K E 5 3 2 7 2 , P E E K ( 5 3 2 7 2 ) A N D 2 4 0 . O R 1 2R E T U R NP O K E 6 5 0 , 1 2 8 : R T $ = C H R $ ( 1 3 )O G = 1 0 2 4 : R W = 4 0 : F X = 2 5 6 J 5 6
P O K E 5 3 2 8 1 , l : P O K E 5 3 2 8 0 , 2P D = A S C ( " . " ) : P R I N T " u l " jB L = 1 2 3 : C L = 1 2 4 : L H = 1 2 5 : L R = 1 2 6 : R H = 1 2 7B X = 9 ) : C X = 9 2 : L X = 9 3 : D X = 9 4 : R X = 9 5C H = I ) : F 1 $ = " i " : F 2 $ = " ~ " : F 3 $ = " ~ "F 4 $ = " 1 . : " : F 5 $ = " II" : F 6 $ = " ~ " : F 7 $ = " II"C L $ = " ] " : C R $ = " II": C U $ = " : : "C D $ = " if" : H M $ = u S " : C S $ = u u "Z U = R T $ + " : : ] ] ] f ] ] ] ] ] ] ] ] ] ] "Z S $ = " - - - - - - - - - - -
Z R $ = " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "E L $ = Z L $ + Z S $ + Z R $ : E U $ = C U $ + E L $
R E T U R NR E M S A V E T O D I S KP R I N T " S Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q " j
B $ = " " : P R I N T E L $ j : I N P U T " F I L E " ; B $I F B $ = " " T H E N P R I N T C U $ ; : G O T O 6 1 6 0C $ = " @ O : " + 8 $ + " , S , W "
O P E N 3 , 8 , 8 , C $
P R I N T E U $ ; : I N P U T " F R O M C H A R I " ; F C XP R I N T E U $ ; : I N P U T " T O C H A R I " ; T C XI F T C i . < F C i . T H E N 6 0 5 0P R I N T I 3 , F C i . ; R T $ j T C i . ; R T $ jF O R I = F C X T O T C X
P R I N T * 3 , 1 3 9 ; R T $ ; : R E M A T T R I B U T EI I = F X + l J 1 3F O R J = I I + 1 T O 1 1 + 1 1P R I N T l 3 , P E E K ( J ) ; R U j : N E X T JN E X T I : C L O S E 3P R I N T E U $ j B $ ; " S A V E D " ; : G O T O 2 0 1 0R E M L O A D F R O M D I S KP R I N T " S Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q " ;
B $ = " " : P R I N T E L $ ; : I N P U T " F I L E " j B $I F B $ = " " T H E N P R I N T C U $ ; : G O T O 6 3 2 0C $ = " @ O : " + B $ + " , S , R "
No. 68 - January 1984 MICRO
6 2 4 0 O P E N 3 , B , B , C $6 2 5 0 I N P U T I 3 , F C X , T C X6 2 6 0 F O R I = F C X T O T C X
6 2 7 0 I I = F X + I J 1 3 : I N P U T I 3 , C X : P O K E 1 1 , 1 )6 2 8 0 F O R J = l T O 1 1
6 2 8 5 I N P U U 3 , C % : P O K E ( I I + J ) , C i . : N E X T J
6 2 9 0 P O K E ( I I + 1 2 ) , O : N E X T I
6 2 9 5 C L O S E 3 : G O T O 2 0 1 0
6 3 0 0 P R I N T " : : " ; E L $ ; B $ ; " L O A D E D " ; : G O T O 2 0 1 C6 6 0 0 P R I N T R U j " : : ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] " ;
6 6 0 2 P R I N T " " ;
6 6 0 4 P R I N T " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 " ;6 6 1 1 ) R E T U R N
7 0 0 0 R E M R E A D S P E C I F I E D C H A R A C T E R7 0 1 0 P R I N T H M $ j : G O S U B 7 2 0 07 0 2 0 I F C C X < 2 5 6 T H E N C H = C C X7 0 3 0 C H = C C X : G O S U B 1 0 0 0 : G O T O 2 0 1 07 1 0 0 R E M W R I T E S P E C I F I E D C H A R A C T E R7 1 1 0 P R I N T H M $ ; C D $ ; : G O S U B 7 2 0 0
7 1 2 0 I F C C % < 2 5 6 T H E N C H = C C X7 1 3 0 G O S U B 1 4 0 0 : G O T O 2 0 1 0
7 2 0 0 P R I N T Q Q $ j " ~ " ;7 2 1 0 P R I N T R T $ ; "UllJJJ.lU1J.ElL" ;7 2 2 0 P R I N T C H ; " I I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 " ;7 2 3 0 C C X = C H : I N P U T C C X7 2 3 5 I F C C X < O O R C C X ) 2 5 5 T H E N C C X = 2 5 67 2 4 0 R E T U R N7 3 0 0 R E M W R I T E C U R E N T / R E A D N E X T7 3 1 0 G O S U B 1 4 0 07 4 0 0 R E M R E A D N E X T7 4 1 0 C H = ( ( C H + l l A N D 2 5 5 )
7 4 2 0 G O S U B 1 0 0 0 : G O T O 2 0 1 0
9 0 0 0 D A T A 0 , 0 , 0 , 0 , 0 , 0 , 0 , 09 0 1 0 D A T A 0 , 6 0 , 1 2 6 , 1 2 6 , 1 2 6 , 1 2 6 , 6 0 , 09 0 2 0 D A f A 0 , 1 9 2 , 2 2 4 , 2 2 4 , 2 2 4 , 2 2 4 , 1 9 2 , 0
9 0 3 0 D A T A 0 , 1 9 5 , 2 3 1 , 2 3 1 , 2 3 1 , 2 3 1 , 1 9 5 , 09 0 4 0 D A T A 0 , 3 , 7 , 7 , 7 , 7 , 3 , 0
is designed to provide you enough information to under-
stand the operation of the FX80without the manual, and,
to provided actual programs that make the whole process
easier. The FX80 allows the user to define any number of
characters, up to 256 characters in the standard RAMarea,
more with additional RAM. First consider each character
in the FX80 tobedefined in amatrix that is eight dots high
by six dots wide. This is similar to the character definition
on the various microcomputers, although many of them
are defined as eight by eight. The capital letter Awould be
defined as:
•• •• ••••••• •• •• •The alphanumerics and punctuation will normally be a
five by seven character within the six by eight matrix,
providing at least one blank column and one blank row
between individual characters. Simple enough. But, the
FX80 people decided to get even better looking characters
by allowing dots to beplaced half way between the six col-
umns. This means that there are not six but eleven poss-
ible horizontal positions for dots. The capital letter A
could be defined as:
••• •• ••••••• •• •• •
Note that the dots in the top half of the letter A overlap
vertically. The dots on the top line and third line are offset
one-half space from the dots on the second and fourth
through seventh lines. This extra resolution in the
horizontal direction, eleven positions in the normal space
of six, provides very nice looking character, but does
severely complicate the character generation process.
There is an important restriction to be aware of. The dots
must not overlap. If there is a dot on one of the eleven
positions, then there may not be a dot on the next
position.
The FX80 manual discusses how to define your
character on graph paper, and then to manually convert
each of the eleven columns into an 8-bit byte. The top
most row is considered to have a value of 128 decimal or
80 hex. The next row is 64 decimal, 40 hex, and so forth.
The value of each dot that is to beprinted in any column is
summed with all other dot values in the column to pro-
duce the column value. There is one 8-bit value for each
column, and eleven columns. In addition to these eleven
bytes of information to define each character, you must
S O PH IS TIC AT ED T EL E-C O MM U N IC AT IO N IS H ER E
THE COMMUNICATORfor 4.0 Commodore Computers
JIM STRASMA'S REVIEW:
"THE BEST TERMINAL PACKAGE I'VE SEEN YET"
By April 1 (maybe sooner) It Will Be Even Better
SPEEDSUP TO 9600 BAUDXON-XOFF
TRUE CTAL KEY (we do our own keyboard scan)
THE HARDWARE- A printed circu~ board; easily installed in the CBM. It usesno CBM connectors; gives a serial pon wM lrue RS232Cstandard.
THE SOFTWARE -Emulates the ADDS Regent 100, ADM 31 andlor the
TeleVideo950.1Or choosethe VT100model for usewith DECand VAXcomputers.
Runs coresident with BASIC programs; lets BASICprograms and program on host computer communicate to develop real-ly sophisticated communication and control capabilities.
The prCJgram is on ROM at either address; no disk loadingrequined.Usesonly 512bytesof RAM;will relocate itself around any othe rmachine language program at top of memory.
Wil l upload and download and run BASIC programs. With BASICprogramwil uplOadand downloadstandard data fil.... 100page manualgives program listing for BASICprograms.
Excellent text editor designed to work with THE COMMUNICATOR
THE COMMUNICATOR $200
T ex t E ::d ito r $40
1200 baud modemsbeginning at low, low $385, and evenless when purchasedwith THE COMMUNICATOR
A MPU FY, IN C.2325 Macbride,lowa Clty,lowa 52240 319-337-83781 trademarks Adds Regent, Inc., Lear Liegler, Inc., Te!evideo Sy5tems, Inc.
36
provide an attribute byte. The attribute byte determines if
the character is to be shifted down one dot position to pro-
vide a lower case descender, which column the character
starts in and which column it ends in. This is provided to
permit proportional spacing. In this article, we assume
that all characters are full width and print in the upper
eight dot positions.
If you sit down and start plotting out characters on
graph paper, then assigning each dot its value, summing
the individual dot values, and so forth, that it is a
somewhat tedious, repetitive job. The type of job that
computers are supposed to be good at! So, why not have
the computer do the work! The FX80 GENERATOR is
given in Listing 1. It is based on the interactive Program-
mable Character Generator by Loren Wright that appeared
in the GRAPHICS issue. Several important additions have
been made byme. First, the program automatically defines
a few new characters for use on the Commodore 64. The
FX80 can printed dots between the main columns of each
character; the Commodore can not. To make a realistic
display of the character being generated, three new
characters are defined. They are the left half of a dot, the
right half of a dot, and the left and right halves joined
'back-to-back'. This permits a dot to be generated that
appears to be half way between the normal columns of the
Commodore display. Other enhancements include Save to
Disk, Loadfrom Disk, and Reverse Character.
The operation of the program is quite straight-forward.
After the three special half dots are generated, the display
is initialized. A character is generated in the upper left
corner of the display. The + key is used to write a dot; the- key to erase a dot. the up arrow to select the main
columns, and, the British pound sign to select the dots on
the intermediate columns. The HOME, CLR and the
cursor controls can be used for their normal functions.
Function Keys 1 through 7 each have a specific functionassociated with them. These functions are listed on the
display.
Fl READ CHAR # converts eleven bytes of data in
memory accessable by the character number into a dot
display in the upper left corner.
F2 WRITE CHAR # converts the dot pattern in the
working space into eleven bytes of data in memory
accessable by the character F3 READ NEXT reads
the next character without requiring a number to be
specified.
F4 WRITE CURRENTlREAD NEXT combines a
write with a read to make entering of a number of
consecutive characters more automatic.
F4 DISK LOAD loads a file specified by name from
the disk to make it available for editing.
F6 DISK SAVE saves the character information that
is in memory on the disk.
F7 REVERSECHARACTER changes the dots on the
main columns to blanks and the blanks to dots. Note that
this will only work well with patterns that have no dots
between the main columns. This is because the while the
FX80 can print half spaces, it can not print half dots.
Think about it. It is not as simple as it seems.
Program Description
MICRO
The subroutine at 5000 copies the standard ROM character
set into RAM. Five new characters are defined by reading
the DATA statements at 9000 and poking them into the
character RAM. These five characters are a blank, a solid
dot, the left half of a dot, the left and right halves of a dot
joined 'back-to-back', and the right half of a dot. They are
used to provided the intermediate dots for the even col-
umns in the working display. The Character Dot-Data
BaseAddress at 53272 is set to point at the RAM character
set.
The subroutine at 5100 defines a number of variables
and strings.
Subroutine 4000 displays the basic editing screen.
Subroutine 1000 examines the data in memory for a
specified FX80 character. Each character is represented by
13 consecutive memory locations. To make the testing
easier, the first and last location are always zero. The other
eleven locations contain the bit pattern for the FX80eight-
by-eleven dot matrix. Since the intermediate dots, those
on the even numbered columns, are generated by a com-
bination ofdisplay patterns - the specially defined patterns
generated above - the prior, current and next memory loca-
tions all must be tested to determine the correct pattern to
display.
Subroutine 1400 reverses the process and converts the
display pattern into the correct memory pattern.
The major editing service starts at 2000. Itdisplays the
current character number and sets the cursor shape. There
are two cursor shapes used in this program. The first is anopen circle that represents the odd columns. It is selected
by the Vertical Arrow located next to the RESTORE key.
When it is selected, you can write or erase in the six odd
columns. The second cursor is a half solid vertical bar that
represents the even columns. It is selected by the British
Pound Sign key, and when selected allows you to write or
erase in the five even columns. Cursor up, down, left and
right; carriage return, home and clear work area are sup-
ported. A dot is written by positioning the cursor in the
desired location, including selecting the correct full or half
cursor, and pressing the + key. Adot is erased by pressing
the - key.
The trickiest part of the program is probably in lines
2200 through 2550 that determine what characterjs]should bedisplayed as a function of the current mode - odd
or even column, the command to write or erase, and the
information that is currently in the work area. For exam-
ple, if you aregoing to write a dot in an even column, you
must actually write a right half dot in one character posi-
tion and a left half dot in the next. But what if the next
position, the odd column, already contains a full dot? Or,
even more difficult, what if it contains the right half for
the next even column? A number of tests are made to
determine how the display must be changed.
Lines 600 to 2800 are a limited REVERSEfunction. It is
easy to reverse a full dot bymaking it a space, or reverse a
space bymaking it a full dot. The problem comes in rever-
sing a half dot. While the FX80 can print a half space by
proper positioning of the printing mechanism, it can not
print a half dot! The print head is only capable of printing a
full dot. So, it is not possible to accurately reverse patterns
that contain any half dots. The routine does the best it
can. When done reversing, it accepts a new character
number.
The routine at 6000 to 6140 saves the FX80 character
information on disk. It is called by the F6key. It requests a
filename, the number of the first character to be saved and
the number of the last character to be saved. It outputs an
arbitrary attribute byte of 139 which defines each
character as the upper eight printing positions on-the FX80
with the full character width. The eleven bytes of data that
define the information for the eleven columns on the FX80
are then output.
The routine at 6200 to 6300 loads the FX80 character
information from the disk. It is called by the F5 key.Lines 7000 to 7420 support the other basic editing
functions that include: Read a specified character, Write a
specified character, Read the next character, and, Write
the current character number and Read the next.
Generating Data Statements
Now that a new character set for the FX80 has been
generated using the FX80 Character Generator, and is
saved on disk as a sequential disk file, the question arises:
How do I get it over to the FX80?The obvious answer is to
first convert the sequential file to BASIC DATA
statements and then add a driver program that would
output the character information, plus any specialcommand information required by the FX80. Step one,
generating the BASIC DATA statements from the
sequential file is simply handled by the FXPCG
DATAMAKER routine. Load and run the FXPCG
DATAMAKER. It will ask for the FIRSTBASICLINENO:.
Input a line number, say 10010. It will then ask for the
FILENAME:. Input the filename that you used to save the
character information. The file will be loaded from disk.
1 R E M F X P C G D A T A M A K E R - R , M , T R I P P 1 9 8 32 I N P U T " ~ F I R S T B A S I C L I N E N O : " ; L N
3 P O K E 5 2 , 4 8 : P O K E 5 6 , 4 8 : C = 2 5 6 * 5 6 : I N P U T " F I L E N A M E : " ; B $ : C $ = " @ O : " + B $ + " , S , R "4 O P E N 3 , 8 , 8 , C $ : P R I N T " L O A D I N G " : I N P U T # 3 , F X , T X : F O R 1 = 0 T O T X - F X : X = C t I * 1 25 F O R J = O T O 1 1 : I N P U T 4 I 3 , C % : P O K E ( X + J I , C X : N E X T J : N E X T I : E = X + 1 1 : C L O S E 36 P R I N T " ~ " ; M I D $ ( S T R $ ( L N I , 2 1 ; " D A T A " ; F X ; C H R $ ( 4 4 1 ; T Y . : L N = L N + 1 0 : K = 1 : G O T O 87 P R I N T " ~ " ; : K = O8 F O R I = K T O 6 : P R I N T M I D $ ( S T R $ ( L N I , 2 1 ; " D A T A " ; : F O R J = O T O 1 19 P R I N T H I D $ ( S T R $ ( P E E K ( C ) ) , 2 ) ; C H R $ ( 4 4 ) j : C = C + l : I F C ) E T H E N P R I N T 2 5 6 ; : I = 6 : J = 1 1
1 0 N E X T J : P R I N T C H R $ ( 2 0 ) : L N = L N + 1 01 1 N E X T I : P R I N T " L N = " ; L N ; " : C = " ; C ; " : E = " ; E1 2 I F C ) E T H E N P R I N T " Q Q S O T O 1 4 " : G O T O 1 61 3 P R I N T · " Q Q G O T O 7 " : G O T O 1 61 4 P R I N T " ~ " ; : F O R I = l T 0 8 : P R I N T I : N E X T : P R I N T " G O T O 1 5 " : G O T O 1 61 5 P R I N T " ~ " ; : F O R I ~ 9 T 0 1 6 : P R I N T I : N E X T1 6 P O K E 6 3 1 , 1 9 : F O R 1 = 1 T O 9 : P O K E 6 3 1 + I , 1 3 : N E X T : P O K E 1 9 8 , 1 0 : E N D
Youwill then seeDATAstatements appear on the display,
the display be cleared, and more DATA statements
appearing, until all of the characters have been converted
to DATA statements. Then the numbers 1 to 16 will
appear on the screen. At this point, the program is erasing
itself! You are left with a BASICprogram that is nothing
but DATA statement containing your character set.
Now all that is left is to add a short BASICprogram in
front of these DATA statements that will send
initialization information to the FX80. The Character Setfo r FX80 shows the additional DATAthat is needed to set
up a typical FX80 application. Lines 10001 to 10009 are
the sequences that must besent to the FX80 to perform the
specified operations. See the FX80 manual for additional
details.
All that you need to add is a driver program that will
open up your communication channel, read and output
the information contained in the DATA statements, and
you are on your way. The FX80 will now contain the
characters you defined.
Using the New Characters
You will need to write a short conversion program tooutput the correct codes to the FX80 to access the
characters you have generated. The SCREEN DUMP
program is an example that was used with my character
set. It can be appended to an existing screen editing
program by listing it on the display, loading you editor,
and then pressing returns on each line of the display. Then
add a command to your editor to go to the 30000
subroutine, and you can dump your screen directly to the
3 0 0 0 0 R E M S C R E E N D U M P3 0 0 0 1 O P E N 3 , 43 0 0 0 2 F O R Y = O T O 2 43 0 0 0 3 F O R X = O T O 3 93 0 0 0 4 A = P E E K ( 1 0 2 4 + Y * 4 0 + X )3 0 0 0 ~ I F A ( 3 2 T H E N A . A + 6 4 : G O T O 3 0 0 1 03 0 0 0 6 I F A ) 6 3 A N D A ( 1 2 8 T H E N A = A + 6 4 :
G O T O 3 0 0 1 0
3 0 0 0 7 I F A ) 1 2 7 A N D A ( 1 9 2 T H E N A = A - 1 2 8 :G O T O 3 0 0 1 0
3 0 0 1 0 P R I N T I 3 , C H A R $ ( A )3 0 0 1 1 N E X T : P R I N T I 3 , C H R $ ( 1 3 )3 0 0 1 2 N E X T : P R I N T I 3 , C H R $ ( 1 3 )3 0 0 1 3 C L O S E 3 : R E T U R N
FX80. Your conversions will vary as a function ofhow you
have defined the special characters on the FX80.
What's Next
A scheme to intercept the output of a BASIC LIST
command and convert it will bepresented next month. A
complete PARALLEL driver will bedescribed that includesthe cabling information and software to permit you to use
the FX80 with your Commodore without requiring a serial
interface! This can saveyou quite a bit ofmoney since the
serial interface on the FX80 is an option, the parallel
interface is standard. While it does take a bit ofeffort toget
the FX80 working with the special characters for your
computer, it does provide you with a virtually unlimited
printing capability. A \ ICAO "
How long can you endure? When will it end? .. We're not talking about a new shoot 'em up game for theCommodore 64, but Commodore's own disk operating system! Commodore made a great computer in
the 64 but left its disk operating system out in the cold. If you've been waiting for a true disk operatingsystem, here it is!. .. If you've been waiting for a great BASIC language enhancement that will let you
utilize the Commodore's many special features, here it is! What is it? It's grafDOS, the great new utilityfrom Xylex Software that allows the user to actually become friendly with the Commodore 64! grafDOS
includes commands like DELETE, RENAME, CATALOG, RUN, etc. The BASIC allows you to do highresolution and low resolution graphics, sound, sprite program, plus much, much more for a total of 40
commands! Plus included in every package is MINIMON, a powerful machine language monitor thatincludes another 20 commands for use in machine language. The disk also comes with sample pro-
grams and demos including a great music generator! And all this together is only $49.95! How couldyou have lasted this long without it?
DON'T WAIT ANY LONGER!
Make your programming easier! grafDOS is available now at your local dealer or:
d--;ERES1'ING SOFTWARE......, ~~1~1 S. Harvard Blvd.
2 0 R E I ' 130 R E M4 0 R E H5 0 R E M6 0 R E M7 0 R E I ' 18 0 R E M9 0 R E M
100 R E M11 0 R E M1 2 0 R E M130 R E M1 4 0 R E M150 R E M
1 5 5 R E M1 6 0 R E M1 7 0 R E M1 8 0 R E M1 9 0 R E M2 0 0 R E M2 0 5 R E M2 1 0 R E M2 1 5 R E I ' 12 2 0 R E M230 R E M240 R E M2 5 0 R E M
S I ' 1 A R T 3 0 0
W R I T T E N B Y J O H N R . K E L T YL I N C O L N , N E B R A S K A 6 8 5 0 5M O D I F I E D F O R C 6 4 B Y P H I L D A L E Y
U S E T H I S P R O G R A M T O C O N N E C TA N D P R O G R A M T H E H A Y E SS M A R T M O D E M T O T H EC O M M O D O R E - 6 4 C O M P U T E R .
T H E C O N N E C T O R C A B L E S H O U L DC O N N E C T T O T H E R S - 2 3 2 P O R TI N T H E F O L L O W I M G W A Y :P A Y E S P I N C - 6 4 P I N
A2 M
3 B ~ C5 K
6 L
7 N
8 H
20 E
22 F
T H E 3 0 0 B A U D H A Y E S M O D E MM A Y B E U S E D W I T H V I D E O T E XO R A N Y O T H E R T E R M I N A LP A C K A G E T H A T A L L O W S T H E
2 6 0 R E M H A Y E S T O R U N A T 300 B A U D .2 7 0 R E M280 R E M T H E H A Y E S W I L L O P E R A T E2 9 0 R E M L O C A L L Y A T H I G H E R R A T E S3 0 0 R E M B U T N O H I G H E R T H A N 3 0 03 1 0 R E M W H I L E O N L I N E .3 2 0 R E M3 3 0 R E M S E E Y O U R U S E R ' S M A N U A L
3 4 0 R E M F R O M H A Y E S F O R D E T A I L S .3 5 0 R E M
3 6 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *3 7 0 R E M3 8 0 R E M O P E N M O D E M L I N E F I R S T T H I N G3 9 0 O P E N 2 , 2 , 3 , C H R $ ( 6 )4 2 0 D I M 1 '1 $ ( 5 ), S N $ ( 9 )
4 3 0 R E H * * * * * * * * * * * * * * * * * * * * * * * * * * *5 1 0 P R I N T " ~ ~ * * * * * S H A R T M O D E M
* * * * * "5 2 0 P R I N T "5 3 0 P R I N T "
B Y : K E L T Y E N G I N E E R I N G "
4 0 MICRO
* * * * * * * * * * * * * * * * * * * * * * * "5 4 0 P R I N T :
P R I N T " C O N N E C T C A B L E S T O M O D E M , "5 4 5 P R I N T " C O H P U T E R A N D P H O N E
C O M P A N Y . "5 50 P RI NT : P RI NT :
P R I N T " ( B R E A K A N D L I S T T H I SP R O G R A M T O "
5 5 5 P R I N T " S E E C A B L E D E T A I L S ) . "5 60 P RI NT : P RI Nf :
I N P U T " P R E S S E N T E R W H E N R E A D Y " ; A $
5 7 0 P R I N I " u Q "5 8 0 P R I N T i 2 ; " A T Z " : ' C L E A R M O D E M
5 9 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *6 0 0 R E M M E N U
6 1 0 M $ ( l ) ~ " A U T O D I A L I N G "6 2 0 M $ ( 2 ) = " A U T O A N S W E R I N G "6 3 0 F O R S ~ l T O 26 40 P RI N T Sj M $ (S )6 5 0 N E X T S6 60 P RI N T :P RI NT :
P R I N T " S E L E C T O N E O F T H E A B O V E "6 7 0 G E T A $ : I F A $ = " " T H E N 6 7 06 8 0 O N V A L ( A $ ) G O S U B 7 0 0 , 1 3 1 06 9 0 G O T O 5 1 0
7 0 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *7 1 0 R E M A U T O D I A L I N G R O U T I N E
7 2 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *7 3 0 R E M
7 4 0 P R I N T " u Q " M $ l l )7 5 0 P RI NT : P RI NT :
P R I N T " l D I A L A S A V E D N U M B E R "7 6 0 P R I N T " 2 D I A L A N E W N U M B E R "7 7 0 G E T A $ : I F A $ = " " T H E N 7 7 07 8 0 O N V A L I A $ ) G O T 0 8 0 0 , 9 8 07 9 0 G O T 0 7 4 0
8 0 0 R E M * * * * * * * * * * * * * * * * * * * * * * *8 1 0 H H - 2 : ' H O W M A N Y N U M B E R S8 2 0 R E M T O C H A N G E T H I S L I S T ,
H A K E H M = H O W8 2 5 R E M M A N Y * Y O U W A N T T O L I S T ( M A X
8 3 0 R E M T H E N I N S E R T L I N E S S I M I L A R T OT H O S E
8 3 5 R E M B E L O W W I T H Y O U R N U M B E R S A N DN A M E S .
8 4 0 P R I N T " ~ N U M B E R S Y O U C A N E A S I L YC A L L " : P R I N T
8 5 0 S N $ (1)= " 1 X X X - X X X X A F R I E N D
8 6 0 S N $ ( 2 )= " 2 X X X - X X X - X X X X A B B S
1 3 4 0 R E M1 3 5 0 P R I N T " ~ Q " M $ ( 2 )1 3 6 0 P R I N T -1 3 7 0 R E M M E N U1 3 8 0 A N $ ( l ) = " D O N O T A N S W E R "1 3 9 0 A N $ ( 2 ) = " A N S W E R I M M E D I A T E L Y "1 4 0 0 A N $ ( 3 ) · " A N S W E R A F T E R X X R I N G S "1 4 1 0 F O R S A = l T O 3
1 4 2 0 P R I N T S A ; A N $ ( S A )1 4 3 0 N E X T S A1 4 4 0 P R I N T : P R I N T :
P R I N T " S E L E C T O N E O F T H E A B O V E "1 4 5 0 G E T A $ : I F A $ = " " T H E N 1 4 5 01 4 6 0 P R I N T " ~ ~ " M $ ( 2 )1 4 7 0 O N V A L ( A $ ) G O S U B 1 4 9 0 , 1 5 6 0 , 1 7 2 01 4 8 0 G O T O 1 3 1 0
1 4 9 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * *1 5 0 0 R E M D O N O T A N S W E R1 5 1 0 P R I N T :
P R I N T " * * * " A N $ ( l ) " * * * "1 5 2 0 P R I N T :
P R I N T " T H E S M A R T M O D E M A N S W E R
F U N C T I O N "1 5 3 0 P R I N T " I S D I S A B L E D . "1 5 4 0 P R I N T * 2 , " A T S O = O "1 5 5 0 G O T O 2 0 4 0
1 5 7 0 R E M A N S W E R I M M E D I A T E L Y1 5 8 0 P R I N T " * * * " A N $ ( 2 ) " * * * "1 5 9 0 P R I N T " T H E S M A R T M O D E M W I L L
A N S W E R A L L "1 6 0 0 P R I N T " C A L L S I M M E D I A T E L Y . "1 6 1 0 P R I N T " U S E T H I S T O T R A N S F E R C A L L S
T H A T "1 6 2 0 P R I N T " A R E A L R E A D Y I N P R O G R E S S
S E T W E E N "1 6 3 0 P R I N T " T W O I N D I V I D U A L S T O
C O M M U N I C A T I O N "1 6 4 0 P R I N T " B E T W E E N T H E I R C O M P U T E R S . "1 6 5 0 G O S U B 1 8 7 01 6 6 0 P R I N T * 2 , " A T " D P $ " A "1 6 7 0 P R I N T " A T T H I S P O I N T Y O U N E E D T O
R U N "1 6 8 0 P R I N T " O R E X E C Y O U R O W N R E C E I V E R "1 6 9 0 P R I N T " P R O G R A M T O I N T E R P R E T T H E "1 7 0 0 P R I N T " I N C O M I N G C A L L . "1 7 1 0 G O T 0 2 0 4 0
1 72 0 R E M * ** * * * ** * * * * * * ** * * * *1 7 3 0 R E M A N S W E R A F T E R X X R I N G S
1 7 4 0 P R I N T : P R I N T " * * * " A N $ ( 3 ) " * * * "1 7 5 0 P R I N T :P R I N T " T H E S M A R T M O D E M W I L LA N S W E R A L L "
1 7 6 0 P R I N T " C A L L S A F T E R T H E N U M B E R O FR I N G S "
1 7 7 0 P R I N T " Y O U S E L E C T ( F R O M 1 T O 2 5 5R I N G S ) II
1 7 8 0 P R I N T1 7 9 0 I N P U T " H O W M A N Y R I N G S ( 1 T O 2 5 5 ) " ;
R G1 80 0 R G =I N T ( RG )1 8 1 0 I F R G ( l O R R G ) 2 5 5 T H E N 1 7 9 0
8 7 0 F O R K = l T O H M8 8 0 P R I N T S N $ ( K )8 9 0 N E X T9 0 0 P R I N T :
P R I N T " S E L E C T O N E O F T H E A B O V E "9 1 0 P R I N T " ( B R E A K A N D L I S T T O E D I T
T H E S E N U M B E R S ) . "9 2 0 G E T A $ : I F A $ · " " T H E N 9 2 093 0 N 8 = V A L ( A $ )9 4 0 I F ( N B ( l ) O R ( N B > H M ) T H E N 8 0 0
95 0 P $ = M I D $ ( S N $ ( N B ) , 5 , 1 6 )9 6 0 G O S U B I 0 9 09 7 0 R E T U R N
9 8 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * *9 9 0 P R I N T : P R I N T " D I A L I N G A N E W N U M B E R "
1 0 0 0 P R I N T :P R I N T " T Y P E I N T H E P H O N E N U M B E R
T H A T "1 0 0 5 P R I N T " Y O U W I S H T O C A L L . "1 0 1 0 P R I N T " E X A M P L E S : "1 0 2 0 P R I N T " 1 - 8 0 0 - X X X - X X X X L O N G
D I S T A N C E1 0 3 0 P R I N T " 1 1 2 - 8 0 0 - X X X - X X X X F R O M
L I N C O L N1 0 4 0 P R I N T " X X X - X X X X L O C A L
C A L L1 0 5 0 P R I N T1 0 6 0 I N P U T " T Y P E D E S I R E D N U M B E R " ; P $1 0 7 0 G O S U B 1 0 9 01 0 8 0 R E T U R N
1 0 9 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * *1 1 0 0 R E M N U M B E R K N O W N A T T H I S P O I N T1 1 1 0 R E M R E A D Y T O D I A L1 1 2 0 P R I N T * 2 , " A T F O D " P $
1 1 6 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * *1 1 7 0 R E M Y O U C A N R U N A N Y T E R M I N A L1 1 8 0 R E M P A C K A G E T H A T Y O U W I S H B Y
1 1 9 0 R E M E D I T I N G T H E N E X T L I N E S .1 20 0 R EM L OA D" M O D CO M M . PR G " , 81 2 2 0 R E M R U N1 2 3 0 P R I N T " ~ ~ Y O U N E E D T O U S E Y O U R
O W N "1 2 4 0 P R I N T " T E R M I N A L P A C K A G E A T T H I S
P O I N T "1 2 5 0 P R I N T " ( S U C H A S V I D E O T E X A N D
O T H E R S ) . "1 3 0 0 G O T O 2 0 4 0
1 31 0 R EM * ** ** * * * ** * * * ** * * * * *1 3 2 0 R E M A U T O A N S W E R R O U T I N E
P R I N T :P R I N T " T H E P H O N E W I L L B EA N S W E R E D "P R I N T " A F T E R " R G " R I N G S . "G O S U B 1 8 7 0P R I N T I 2 , " A T " D P $ " S O · " R GP R I N T : G O T O 1 6 7 0
R E M * * * * * * * * * * * * * * * * * * * * * * * * *R E M F U L L O R H A L F D U P L E X
P R I N T :P R I N T " D O Y O U W A N T F U L L O R H A L FD U P L E X ? "P R I N T " ( I F Y O U D O N O T K N O W ,T R Y H A L F ) . "P R I N T : P R I N T " l F U L L D U P L E X "P R I N T " 2 H A L F D U P L E X "G E T A $ : I F A $ = ' " ' T H E N 1 9 3 0O N V A L ( A $ ) G O T O 1 9 5 0 , 1 9 9 0R E M F U L L D U P L E XD P $ - " F l "P R I N T :P R I N T " F U L L D U P L E X S E L E C T E D . "G O T O 2 0 2 0
R E M H A L F D U P L E XD P $ = " F O "
P R I N T :P R I N T " H A L F D U P L E X S E L E C T E D . "P R I N TR E T U R N
R E M * * * * * * * * * * * * * * * * * * * * * * * * *R E M E X I T R O U T I N E
2 0 8 0 P R I N T :P R I N T " T H I S P R O G R A M H A S E N D E D . "
3 0 0 0 R E M T H I S P R O G R A M S E N D S A N DR E C E I V E S
3 0 1 0 R E M T R U E A S C I I D A T A3 0 2 0 D I M F X ( 2 5 5 ) , T 7 . ( 2 5 5 )3 2 0 0 F O R J · 3 2 T 0 6 4 : T X ( J ) = J : N E X T3 2 1 0 T X ( 1 3 ) = 1 3 : T X ( 2 0 ) = 8 : R V = 1 8 : C T = 03 2 2 0 F O R J - 6 5 T 0 9 0 : k - J + 3 2 : T X ( J ) = K : N E X T
3 2 3 0 F O R J = 9 1 T 0 9 5 : T X ( J ) = J : N E X T3 2 4 0 F O R J = 1 9 3 T O 2 1 8 : K - J - 1 2 8 : T X ( J ) - K :
N E X T3 2 5 0 T X ( 1 4 6 ) = 1 6 : T X ( 1 3 3 ) = 1 63 2 6 0 F O R J = O T O 2 5 53 2 7 0 K - Y X ( J )3 2 8 0 I F K ( ) O T H E N F X ( K ) = J : F X ( K + 1 2 8 ) = J3 2 9 0 N E X T3 3 0 0 P R I N T " " C H R $ ( 1 4 7 )3 3 1 0 G E U 2 , A $3 3 2 0 I F A $ = " " O R S T ( ) O T H E N 3 3 6 03 3 3 0 P R I N T " " C H R $ ( 1 5 7 ) :
C H R $ ( F X ( A S C ( A $ ) ) ) j3 3 4 0 I F F X ( A S C ( A $ ) ) = 3 4 T H E N P O K E 2 1 2 , O3 3 5 0 G O T O 3 3 1 03 3 6 0 P R I N T C H R $ ( R V ) " " C H R $ ( 1 5 7 ) :
C H R $ ( 1 4 6 ) j : G E T A $3 3 7 0 I F A $ ( ) " " T H E N P R I N T I 2 ,
C H R $ ( T X ( A S C ( A $ ) ) ) j3 3 8 0 C T - C T + l3 3 9 0 I F C T = 8 T H E N C T = 0 : R V = 1 6 4 - R V3 4 0 0 G O T O 3 3 1 0 I\ICRO"
Font Down LoaderExpand the capacity of your printer hundreds of times
Load custom fonts into your Apple" Matrix Printer, Prowriterrx8510A, OKJ®Microline 92, 93, 84 Step II, and Epsorr" FX and use
them with virtually every word processor to turn your printer into acustom typesetter. After the fonts are loaded, they will stay in yourprinter until it's turned off. A font editor is also provided to allow you to
create your own graphics, text, foreign language letters, math andelectronics symbols to load into your printer. On-Disk (Specify Printer)
5 G O T O 5 0 01 0 R E M S I M P L E T E R M I N A L P R O G R A M1 1 R E M T O G E T A N D P U T C H A R S1 2 R E M T O A N D F R O M M O D E M1 3 O P E N # l , 4 , O , " K : "1 5 O P E N # 3 , 8 , 0 , " E : "2 0 G O S U B 4 0 03 0 I F P E E K ( 7 6 4 1 = 2 5 5 T H E N 6 04 0 G E T # l , A : P U T #3,A5 0 P U T # 5 , A60 S T A T U S # 5 , X X7 0 I F P E E K ( 7 4 7 ) = 0 T H E N 3 08 0 G E T # 5 , A : I F A = O T H E N 30
9 0 P U T # 3 . A : G O T O 3 01 0 1 R E M S M A R T 3 0 01 0 2 R E M V E L T V E N G I N E E R I N G1 0 3 R E M W R I T T E N B Y J O H N R . K E L T Y1 0 4 R E M L I N C O L N , N E B R A S K A 6 8 5 0 5i 5 H E t i1 0 6 R E M U S E T H I S P R O G R A M T O C O N N E C T1 0 7 R E M A N D P R O G R A M T H E H A Y E S1 0 8 R E M S M A R T M O D E M T O T H E1 0 9 R E M A T A R I C O M P U T E R .i1 0 F \ E M1 1 1 R E ~ l T H E i ' 1 O D E M C A B L E S H O U L D120 R E M C O N N E C T T O T H E 8 5 01 3 0 R E M I N T E R F A C E M O D U L E .14 0 R E M P O R T # 1 .2 1 0 R E M2 2 0 R E M HIE 3 0 0 ~ A U D H A Y E S M O D E M2 3 0 R E M M A Y B E U S E D W I T H A H O D E M2 4 0 R E M O R A N Y O T H E R T E R M I N A L2 5 0 R E M P A C K A G E T H A T A L L O W S T H E2 6 0 R E M H A Y E S T O R U N A T 3 0 0 B A U D .270 PE i1
2 8 0 R E M T H E H A Y E S W I L L O P E R A T E2 9 0 R E M L O C A L L Y A T H I G H E R R A T E S3 0 0 R E M B U T N O H I G H E R T H A N 3 0 03 1 0 R E M W H I L E O N L I N E .3 2 0 R E M3 3 0 R E M S E [ Y O U R U S E R ' S M A N U A L3 4 0 R E M F R O M H A Y E S F O R D E T A I L S .3 5 0 R E M
3 6 0 R E M* * * * * * * * * * * * * * * * * * * * * * ' ~ * * *3 7 0 R E M
4 0 0 O P E t ~ # 5 , 1 3 , 0 , " R : "4 1 0 X I O 3 8 , # 5 , O , 3 2 , " R : "4 ? n X I O 4 0 , # 5 , O , 0 , " R : "4 3 0 R E T U R N4 5 0 G E T # 5 , X X : G E T # 5 , X X4 6 0 G E T # 5 , X X :
I F X X < > 1 0 T H E N P R I N T C H R I ( X X I ;4 7 0 I F XX<> lO T H E N 4 6 04 00 C L O S E # 5 : R E T U R N500 DIt1 A $ ( 3 0 ) , P $ ( 1 6 ) , D P $ ( 2 )5 1 0 P R I N T " } * * 1 * * S M A R T M O D E M
* * * * * "5 2 0 P R I N T " B Y :
K E L T Y E N G I N E E R I N G "5 3 0 F R I N T "
* * * * * * * ' * * * * * * * * * * * * * * * "5 4 0 P R I N T
P R I N T " C O N N E C T C A B L E S T O M O D E M ,
5 4 5 P R I N T " C O M P U T E R A N D P H O N EC O M P A N Y . "
5 6 0 P R I N T " P R E S S E N T E R W H E N R E A D Y " ; :
I N P U T A $5 7 0 P R I N T " } "5 8 0 G O S U B 4 0 0 : P R I N T # 5 , " A T Z":
6 0 0 R E M M E N U6 1 0 P R I N T : P R I N T "I A U T O D I A L I N G "6 2 0 P R I N T " 2 A U T O A N S W E R I N G "6 6 0 P R I N T " S E L E C T O N E O F T H E A B O V E "6 7 0 I N P U T A S6 8 0 O N V A L l A S ) G O S U B 7 0 0 , 1 3 1 0690 G O T O 5 1 0
7 0 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *7 1 0 R E M A U T O D I A L I N G R O U T I N E
7 2 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *730 R E M7 4 0 P F : I N T " } A U T O D I A L I N G "7 5 0 P R I N T " 1 D I A L A S A V E D N U M B E R "7 6 0 P R I N T "2 D I A L A N E W N U M B E R "7 7 0 I N P U T A S7 8 0 O N V A L l A S ) G O T O 8 0 0 , 9 8 07 9 0 G O T O 7 4 0
8 0 0 R E M * * * * * * * * * * * * * * * * * * * * * * *8 1 0 H M = 2 : R E M H O W M A N Y N U M B E R S8 2 0 R E M T O C H A N G E T H I S L I S T .
M A K E H M = H O W .8 2 5 R E M M A N Y # Y O U W A N T T O L I S T { M A X
O F 9).
8 3 0 R E M T H E N I N S E R T L I N E S S I M I L A R T OT H O S E
8 3 5 R E M B E L O W W I T H Y O U R N U M B E R S A N DN A M E S .
8 4 0 P R I N T " } N U M B E R S Y O U C A N E A S I L YC A L L " : R E S T O R E
8 5 0 D A T A " 1 X X X - X X X XF R I E N D "
A
No. 68 - January 1984 MICRO
8 6 0 D A T A "2 XXX-XXX-XX iX A B B S
8 7 0 F O R K = 1 T O H M8 8 0 R E A D A $ : P R I N T A S890 N E X T K9 0 0 P R I N T " S E L E C T O N E O F T H E A B O V E "9 1 0 P R I N T " I B R E A K A N D L I S T T O E D I T
T H E S E N U t 1 B E R S ) "920 I N P U T A $ : R E S T O R E' 7 3 0 N B = V A L (A$)
9 4 0 I F N B ( l O R N B > H M T H E N 8 0 0' 7 5 0 F . OR K = 1 T O N B : R E A D A $ : ~ lE X T f
9 5 5 F l ' $ = A $ ( S , l . j )9 6 0 G O S U B i . O ' 7 ' O
H E T U R NH E M 1 1 1 1 1 ~ 1 1 ~ * I I * I I I . * * I * * * 1 1P R I N T " D I A L I N G A N E W N U M B R "P R I N T " T Y P E I N T H E P H O N E U M B E RT H A T "
1 0 0 5 P R I N T " Y O U W I S H T O C A L L . "1!) 1 I) P R I N T " E X A t 1 P L E S : H
1 0 2 0 P R I N T " i - 8 0 0 - X X X - X X X X L O N GD I S f A N C E "
1 0 3 0 P R I N T " 1 1 2 - 8 0 0 - X X X - X X X X F R O M
L I N C O L N ! !1 0 4 0 P R I N T " X X X - X X X X L O C A LC A L L "
1 0 6 0 P R I N T " T Y P E D E S I R E D N U M B E RI N P U T F t
1 0 7 0 G D S U B 1 0 ' 1 01 0 8 0 f ; : E T U F N
II I., .
1 6 0 0 F ' R I N T " C A L L : ; I m i E D I A T E L y . "1 6 1 0 P R I N T " U S E T H I S T O T R A N S F E R
C A L L S T H A 1 "1 6 2 0 P R I N T " A R E A L R E A D y I N P F O G F : E %
B E l W E E N "1 6 3 0 P R I N T " T W O I N D I V I D U A L S T O
C O r 1 l 1 U N I C A T I O Ni I
1 6 4 0 P R I N f " B E T W E E N T H E I RC I]t ' 1 F ' U T E R S. "
1 6 5 0 G O S U B 1 8 7 0
i 6 6 ( 1 G D :; U E : 4 00 :P RI NT # 5, " A T "; DP :t :; "A i I ~G O S U B 4 5 01 6 I U PF.:It~-f " A T T H I S Foun Y O U N E E D
T O F : U N "1 6 8 0 P R I N T " Y O U R O l · j N R E C E I V E R "1 6 9 0 P R I N T " P R O G R A M T O I N T E R P R E T
T H E "1 7 0 0 P R I N T " I N C O M I N G C A L L . "1 7 1 0 G O T O 2 0 4 01 7 2 0 R E M 1 * 11 ** ** *1 1* 1* 1 1 * ** *1 7 3 0 R E M A N S W E R A F T E R X X R I N G S1 7 4 0 P R I N T " * * I A N S W E R A F T E R X X
R I N G S * I I "i7 5 0 P R l t H :
P R I N T " T H E S H A R T M O D E M W I L L
A N S W E R A L L "1 7 6 0 P R I N T " C A L L S A F T E R T H E N U M B E RO F R I N G S "
1 77 0 F ' F: UH "Y 0 U S E L E e T ( F F:D t" 1 1 T 02 5 5 R I N G S ) ! I
1 7 8 0 P F : un1 7 9 0 PRINT "HOH t1ANY F : I N G S (1 TO 2 5 5 )
" ; : I N P U T Pc]
1 8 0 0 R i J = I tn \ F : G )1 8 1 0 I F R G { l O R R G : Z 5 5 T H E N 17901 8 2 0 P F : I N T :
P R I N T " T H E P H O N E W I L L B EA N S I ~E RE D "
1 8 3 0 P R I N T " A F T E F : " ; P G : " R I N G S . n
1 8 4 0 G O S U B 1 8 7 0 . .
i 8 5 0 G O S U B 4 0 0 :P R I N T # 5 , " A T " ; D P $ ; " S O = " ; F : G :G O S U B 4 5 0
1 8 6 0 P R I N T : G O T O 1 6 7 01 8 7 0 R E M * * * * 1 1 1 * * 1 1 1 1 * 1 * * 1 1 1 1 1 1 * 11 8 8 0 R E M F U L L O R H A L F D U P L E X1 8 9 0 P R I N T :
F R I N T " D O Y O U W A N T F U L L O R H A L FD U P L E X ' ) "
1 9 0 0 P R I N T " ( I F Y O U D O N O T K N O W ,T R ' ( H A L F i.I
1 9 1 0 P R I N T : P R I N T "I F U L L D U P L E X "1 9 2 0 P R I N T "2 H A L F D U P L E X "1 9 3 0 IP u - r A $1 9 4 0 O N \ J A L ( A $ ) G O ru 1 ) ' 5 0 , i 9 0
i 9 5 0 R E M F U L L D U P L E X1 96 0 D P: f: == "F ! "19"70 P R l w r :
1 1 0 0 R E M N U M B E R K N O W N A f T H I S P O I N T1 1 1 0 R E M R E A D y T D D I A L1 1 2 0 G D S U B 4 ( i i ) :
P R I N T # 5 , " A T F O T D " ; P f :G O S U 8 45'~i
1 1 3 0 R E M I F Y O U N E E D P U L S E D I A L I N GT H E N
1 1 4 0 R E M S U B S T I T U T E A ' P ' I N A B O V EL H J E1 1 6 0 R E M * * 1 1 1 * * 1 1 1 * * 1 1 1 1 * * 1 * * 1 * 1 * *1 1 7 0 R E M Y O U C A N L O A D A N Y T E R M I N A L1 1 8 0 F E M P A C K A G E T H A T Y O U W I S H B Y1 1 9 0 R E M E D I T I N G T H E N E X T L I N E S .1200 R E M R U N " D : A M O D E M "1 2 3 0 P R I N T " Y O U N E E D T O U S E Y O U R
O I · J ! ' ~ n
1 2 4 0 P R I N T " T E R M I N A L P A C K A G E A T T H I SP O I N T "
1 2 5 0 P R I N T " ( S U C H A S T E L E L I N V A N DO T H E R S ) . "
l ~ ;O O G O TO 20401 3 10 R E M 1 11 11 11 1* * 1 1 ** 11 11 11
1 3 2 0 R E M A u r o A N S W E R R O U T I N E1 33 0 R E M 1 11 11 1* 1* * * 1 11 11 11 1*1 34 0 f \ E t 11 3 5 , ) P ~ : I N T " } A U T I] A N S W E P I N G "
l -)60 PR I N T1 3 7 0 f::EI1 t ' 1 E H U
1~8v P R I N T "I D O N O T A N S W E R "i 3 ' 7 ' 0 P~!INT " 2 A N S I ' i E R I M ~ i E D I A T E L Y "1 4 0 0 P R I N T " 3 A N S W E R A F T E R X X R I N G S "1440 PRINT " S E L E C T O N E O F T H E A B O V E "1 4 5 U I N P U T A t1 4 6 0 P R I N T " } A U T O A N S W E R I N G "1 4 7 0 O N V A L (All G O : ; U B 1 4 9 0 , 1 5 6 0 , 1 7 2 01 4 8 0 13010 1-310
1 4 9 0 R E M 1 1 1 * 1 1 1 1 * 1 1 * 1 1 1 1 * * * * * * 1 * 11 5 0 0 R E M D O N O I A N S W E RiS1!) P F : I N T " f**DO N O T
A N S W E H H "1 5 2 0 P R I N T " T H E S M A R T M O D E M A N S W E R
F U N C T I O N "1 5 3 0 P R I N T "I S D I S A B L E D . "1 5 4 0 G O S U B 4 0 0 : P R I N T #5,"AT S O = O " :
GOSUB 45 0 -1550 Genu 204 i)
1 5 6 0 R E M * 1 * * * 1 * 1 1 * 1 * * * 1 * 1 1 1 * 1 * * 1 11 5 7 0 R E M A N S W E R I M M E D I A 1 E L Y1 5 8 0 P R I N T " * * * A N S W E R
H I t " l E D I A T E HfI"1 5 9 0 F ' R I N T " T H S M A R T 1 1 0 D U i i ~ I L L
A N S ~ i E F A L "
P F : I N T " F U L L D U P L E X S E L E C T E l ' . "1 9 8 0 G O T O 20iO1 9 ' 1 0 R E M H A L F D U P L E X2000 D P $ = " F O "2 0 1 0 P F : I N T :
P F : I N T " H A L F o u F ' L U S E L E e T E r. I20 P R I N T3 0 R E T U R N4 0 R E M 1 1 1 * 1 1 1 * 1 * 1 1 1 1 * * I * I * i l * 15 0 R E M E X I T R O U f l N7 0 P ~ I N T " T H I S P R O R A M H A S E N D E D . "E O G O T O 1 0
-for Information Interchange), which are._- I"" numerical represen tations of each
.1.4080 ?
""I I character for the computer to handleI I"" internall y. Most users never see these.1.40'0 ? ""I [ i l l rrli r . 1 1 m l [!II m l ( ] j l [ i l l numbers for they are converted back to
ffil r i l l rn I"" characters when displayed on the.1.4.1.80 ? " " I I
screen, but they are neccessary whenI I""
.1.4.1..1.0 ? ""I a l WI EI RI TI VI ul IIdealing with such specific statements
01 pi I " "as the Atari GET.
.1.4.1.28 ?
.1.4.1.38 ? " " .1. 2_
" "~4.1.40 ? " " -- ----
I"".1.4.1.50 ? " "
-- ----I"".1.4.1.68 ? "" ~~ ~m:.~
~ .. I " ".1.4.1.70 ? -- ---- I " "J..4.1.88 ? II I""
.1.4.1.'0 ? r!11 m l ( ] j l [ i l l rrli [ i l l m lr!11 m l ~ I""
.1.4280 ? " " I II I " "
.1.42.1.8 ? " " I z l HI el UI B I MI M I,I .I / I " "
.1.4228 ?
- - - - - - - - - - - - - - " " . :RETURM
maximum (slowest) setting, except
for the fairly large internal limits of
the Atari. However, even a setting
of just 100 will result in extremely
long notes.
When you are finished with
Atari Player and want to return to
BASIC, choose option 6. Always
remember to save any song that
you are currently working on
before choosing this option. If youforget this rule, typing 'GOT020'
might enable you to return to the
program without losing your song.
Programming Concepts
Using a Menu to Make a Choice
1. Input with a Single Keystroke
Normally input from devices is
done with the INPUT statement. The
only limitation of this statement is that
it requires the input data to be followed
by a carriage return. Thus, any input
from the keyboard using this method
would require at least two keystokes -
No. 68 - January 1984
one for the character being input and
one for the return key. The way around
this is illustrated in program lines 30
and 50.Line 30 opens the keyboard for in-
put. This means exactly what it seems:
you can now input from the keyboard.
The open statement is usually used for
access to files on cassette or disk, but it
can be used for any connected device,
such as the keyboard and even the
screen. The device specification for the
keyboard is 'K:', which is the open
statement's fourth parameter.
Because a single keystroke input is
preferred, the keyboard input for the
menu (line50) is donewith a GET. The
GET statement waits for one character
of data from the keyboard; i.e., the
single keystroke. Thus no carriage
return is required and an option may be
selected by striking a single key.
However, the data input is not a
character, or a letter, but rather a
number. This number is the numerical
representation of the typed letter and is
called an ASCII code.
MICRO
3. Using a Menu to Make a Choice:
Selection by Number
When you run Atari Player, the first
display that you see is a list (or menu)
that tells you what options areavailable. Each item on the menu is
Skill level required: Any computer owner with the prere-
quisite equipment.
Reviewer: Richard E. Devore
C64-FORTHfor the Commodore 64
FORTH SOFTWARE FOR THE COMMODORE 64C64-FORTH (TM)for the Commodore 64- $99.95• Fig Forth-79 implementation with extensions• Fullfeature screen editor and macro assembler• Trace feature for easy debugging• 320x200, 2 color bit mapped graphics• 16color sprite and character graphics• Compatible with VIC peripherals including disks, data set, modem,printer and cartridges
• Extensive 144 page manual with examples and application screens• "SAVETURNKEY"normally allows application program distribu tionwithout licensing or royalties
C64-XTEND (TM)FORTH Extension for C64-FORlH - $59.95(Requires original C64-FORTH copy)
• Fullycompatible floating point package including arithmetic,relational,logical and transcendental functions
• Floating point range of 1E+38to ZE-39• String extensions including LEFT$, RIGHT$, and MID$• BCD functions for 10 digit numbers including multiply, divide, andpercentage. BCD numbers may by used for DOLLAR.CENTScalculations without the round-off error inherent in BASIC realnumbers.
• Special words are provided for inputting and outputtingDOLLAR.CENTS values
• Detailed manual with examples and applications screens
(Commodore 64 isa trademark of Commodore)
TO ORDER - Specify disk or cassette version- Check, money order, bank card, COD's add $1.50- Add $4.00 postage and handling in USA and Canada- Mass. orders add 5%sales tax- Foreign orders add 20% shipping and handling- Dealer inquiries welcome
I am presently using a "64K" CoCowith Extended Disk Color BASIC, two
disks, and the "Solution" [from Frank
Hogg Labs). Since the program is fairly
simple, I am sure it can bemodified for
whatever CoCo configuration you
have. Most of the lines that are op-
tional are listed as comments.
The interface cable is made with a
DIN plug at the CoCo end and a male
DB-25P connector at the Smartmodem
end. The pin connections are described
early in the program listing. You need
Listing 1H I ' S I I A l m , .2 8 ' K E L T Y E N 6 I N E E R I N 63 8 ' W R I T T E N B Y J O H N R . K E L T Y4 8 ' L I N C O L N , N E B R A S K A b 8 S 8 S5 8 'b 8 ' U S E T H I S P R O G R A M T O C O N N E C T7 ~ ' A N D P R O G R A I I T H E H A Y E S8 8 ' S I I A R T I I D D E I IT O T H E R A D I O9~ ' S H A C K C O L O R C O I I P U T E R .H I l i '
I l ~ ' T H E C O N N E C T O R C A B L E S H O U L D1 2 8 ' C O N N E C T T O T H E R S - 2 3 2 P O R T1 3 8 ' I N T H E F O L L O W I I I G W A Y :1 4 ' '1 5 8 ' C O L O R D I N H A Y E S C O N N E C T E RIb' '1 7 " 1 C A R R I E R D E T E C T 81 8 8 ' 2 R E C E I V E D D A T A 319" 3 S I 6 N A L S R O U N D 72 S " 4 T R A N S I I I T T E D D A T A 22U'2 2 . ' T H E 3 8 ' B A U D H A Y E S 1 I 0 D E I I2 3 . ' I I A Y B E U S E D W I T H V I D E O T E X2 4 8 ' O R A N Y O T H E R T E R I I I N A L2 5 8 ' P A C K A G E T H A T A L L O N S T H E2 b 8 ' H A Y E S T O R U N A T 3 " B A U D .2 7 . '2 S B ' T H E H A Y E S N I L L O P E R A T E2 9 ' ' L O C A L L Y A T H I 6 H E R R A T E S3 1 1 8 ' B U T N O H I G H E R T H A N 3 "3 1 . ' W H I L E O N L I N E .32. J
3 3 8 ' S E E Y O U R U S E R ' S I I A N U A L
4-conductor cable and I have used as
long as about 25 feet without any
problems. It is convenient however, to
have the Smartmodem near your com-
puter setup, then you can hear the
dialup and the send and receive carrier
tones when you begin communicating.
There are many programming options
you can choose with the Hayes Smart-
modem, and these are extremely well
documented in the excellent Owner's
Manual. (In case you have not guessed,
I consider the Hayes Smartmodem my
best computing purchase to date!).
The BASICprogram is menu driven
for easeofoperation. If you BREAKand
then RUN the program again, the
Smartmodem functions are cleared
I"AT Z" is sent to the modem). To
write to the Hayes simply make the
CoCo printer busy signal constantly
high. I do this with software (remember
that the modem is sending back infor-
mation on that line as the data to
CoCo) by programming the internal
6821 bit to be an output. Not to worry!
Remember somebody said that you
cannot type in anything into your Col-
or Computer that will damage it (See
some past Rainbow editorials). This
programming is accomplished with the
following:
A65314: BA1
POKE B,51: POKE A,1: POKE B,55:
POKE A,4
Now you can talk to your modem just
like it was a printer with PRINT-2,
"your modem command".
To get back into the CoCo original
RS-232mode, use the following:
(using same A and B as above)
POKE B,1: POKE A O: POKE B,55:
POKE A,S
Now you can use a communicationspackage such as the Radio Shack
Videotex or a similar program (see
MODCOMM elsewhere in the CoCo
section) to communicate (the Videotex
will set the data rate at 300 Baud as re-
quired by the Hayes 300 model).
I know little to nothing of amateur
radio operations, but with these
POKES, a few lines of BASIC, and
possibly some hardware, the Hayes
Smartmodem can be made to send
morse code. Auxiliary relay contacts
are provided in the modem to key the
transmitter automatically. It cannothowever, be made to directly receive
morse code. Diagrams describing the
modem to radio interface are found in
the Smartmodem User Manual Appen-
dix H. Obviously some nice commer-
cial terminal packages exist for the
CoCo, but this program has made me
happy for some time now. With the
Hayes Smartmodem and the Color
Computer, I am sure you will also en-
jo y computer communications.
/AJCAO'"
3 4 1 ' F R O I I H A Y E S F O R D E T A I L S .3 5 . '3 b . ' • • • • • • • • • • • • • • • • • • • • • • • • • • •
3 7 . '3 a . ' R E S E T P R I N T E R B U S Y T O W R I T E T O H A Y E S3 9 . '4 8 . A = b 5 3 1 4 : B = A + l : P O K E I 5 ' 1 8 .4 1 . P O K E B15 1 : P O K E A : l : P D K E B , 5 5 : P D K E A , 44 2 . D I l l 1 I , ( 5 ) , S N S ( Y )4 3 . ' • • • • • • • • • • • • • • • • • • • • • • • • • • •4 4 . ' F O R C A S S E T T E O P E R A T I O ~ L Y O U4 5 8 ' C A N D E L E T E T H E D I S K C H t C K ,4 b l ' B U T I T C O U L D B E L E F T I N .4 7 . ' W I T H O R W I T H O U T D I S K S • .4 9 8 ' • • • • • • • •• • • •• • • • • • • •• • • •• • •4 9 . D K = . : ' C A S S E T T E O P T I O N5 • • I F P E E K ( 4 9 1 5 2 ) = 6 a A N D P E E K ( 4 9 1 5 3 ) = 7 5 T H E N D K = 1S . 5 ' C H E C K F O R R S D I S K R O i l5 1 . C L S : P R I N T : P R I N T " • • • • • S I I A R T 1 I 0 D E I I • • • • • •5 2 . P R I N T " B Y : K E L T Y E N 6 I N E E R I N G ·5 3 . P R I N T " • • • • • • • • • • • • • • • • • • • • • • • •5 4 . P R I N T : P R I N T " C O N N E C T C A B L E S T O 1 I 0 D E I I , ·5 4 5 P R I N T · C O I I P U T E R A N D P H O N E C O / I P A N Y . ·5 5 . P R I N T : P R I N T : P R I H T " { B R E A K A N D L I S T T H I S P R O S R A I I T O "5 5 5 P R I N T " S E E C A B L E D E T A I L S ) . "5 6 1 P R I N T : P R I N T : I N P U T " P R E S S E N T E R W H E N R E A D Y · ; A S5 7 . C L S : P R I N T5 a , P R I N T I - 2 " A T Z " : ' C L E A R 1 I 0 D E I I5 9 . ' • • • • • • • , • • • • • • • • • • • • • • • • • • •6 " ' I I E N U6 1 . I I S ( I ) = " A U T O D I A L I N G "6 2 8 1 I $ ( 2 ) = " A U T D A N S W E R I N 6 "
6 3 ' F O R S = 1 T O 260 No. 68 - January 1984ICRO
6 4 j P R I N T S j I l S i S )6 5 0 N E I T Sbb ~ P R I N T : P R I N T : P R I N T ' S E L E C T O N E O F T H E A B O V E 'b 7 . A S = I N K E Y S : I F A S = · · T H E N b 7 .b 8 . O N V A L i A S ) 6 0 S U B 7 " , 1 3 1 .b 9 ' G O T O S I ' .7 " ' • • • • • • • • • • • • • • • • • • • • • • • • • • •7 1 0 ' A U T O D I A L I N 6 R O U T I N E7 2 . ' • • • • • • • • • • • • • • • • • • • • • • • • • • •7 3 . '7 4 . C L S : P R I N T : P R I N T I I S i l )
7 S . P R I N T : P R I N T : P R I N T ' I D I A l A S A V E D N U I I B E R '7 b ' P R I N T ' 2 D I A L A N E W N U I I B E R '7 7 . A S = I N K E Y S : I F A S = · · T H E N 7 7 17 8 . O N V A L ( A S ) 6 0 T 0 8 " , 9 8 .7 9 . 6 0 T 0 7 4 88•• '•••••••••••••••••••••••8 1 . H I I = 2 : ' H O N I I A N Y N U I l B E R S8 2 0 ' T O C H A N G E T H I S L I S T , I I A K E H I I = H O W I I A N Y I Y O U W A N T T O
L I S T i l l A I O F 9 ) ,8 3 . ' T H E N I N S E R T L I N E S S i l l I L A R T O T H O S E B E L O W W I T H Y O U R
N U I I B E R S A N D N A I I E S ,8 4 8 C L S : P R I N T " N L l I I B E R S Y O U C A N E A S I L Y C A L L ' : P R I N T8 S . S N S i l ) = · 1 X I I - X I I I A F R I E N D "8 b . S N S ( 2 ) = · 2 X I I - X X X - X X X X A B S S •8 7 0 F O R K = I T O H I IS S l i P R I N T S N S i K )89. N E X T
9 • • P R I N T : P R I N T · S E L E C T O N E O F T H E A B O V E I9 1 . P R I N T · ( B R E A K A N D L I S T T O E D I T T H E S E N U I I B E R S ) , "9 2 . A S = I N K E Y S : I F A S = · · T H E N 9 2 .9 3 . N B = V A L l A S )9 4 . I F N B ( I O R N B ) H I I T H E N 8 • •9 S . P S = I I I D S i S N S i N B ) , S , l b )9 b . G O S U B l i l 9 .9 7 . R E T U R N9 8 . ' • • • • • • • • • • • • • • • • • • • • • • • • • •9 9 . P R I N T : P R I N T · D I A L I N G A N E W N U I I B E R ·l . i I . P R I N T : P R I N T " T Y P E I N T H E P H O N E N U I I B E R T H A T ·I • • S P R I N T ' Y O U W I S H T O C A L L , ·1 . 1 . P R I N T · E X A I I P L E S : "1 ' 2 ~ P R I N T · I - 8 . ' - I X X - X X X X L O N G D I S T A N C E1 . 3 . P R I N T · 1 1 2 - S . ' - X X X - X X X X F R O I I L I N C O L N1 . 4 . P R I N T · X X X - X I X X L O C A L C A L LI . S . P R I N Tl . b 0 L I N E I N P U T · T Y P E D E S I R E D N U I I B E R · j P S1 8 7 . G O S U S 1 8 9 t 1I t l 8 . R E T U R NI t l 9 t 1 ' • • • • • • • • • • • • • • • • • • • • • • • • • •I I • • ' N U I I B E R K N O W N A T T H I S P O I N TI I I . ' R E A D Y T O D I A L1 1 2 . P R I N T I - 2 ' A T F t l D " P S1 1 3 . ' E N A B L E R S 2 3 2 R E C E I V E B I TI I U p m : E B , I : P O K E A , t I : p m : E B , S S : P O K E A , 51 1 4 5 S T O P1 1 5 t 1 I F D K = t I T H E N 1 2 3 .I l b t l ' • • • • • • • • • • • • • • • • • • • • • • • • • •1 1 7 t 1 ' Y O U C A N L O A D I I A N Y T E R I I I N A L1 1 8 t 1 ' P A C K A G E T H A T Y O U W I S H B Y1 1 9 . ' E D I T I N G T H E N E X T L I N E S ,1 2 0 0 L O A D " " I I O D C O " " ·
1 2 1 . F O R D = I T O 2 t 1• • : N E X T D : ' D I S K 1 I 0 T O R D E L A Y1 2 2 . ' E X E C1 2 3 t 1 C L S : P R I N T : P R I N T · Y O U N E E D T O U S E Y O U R O W N ·1 2 4 t 1 P R I N T " T E R I I I N A L P A C K A G E A T T H I S P O I N T ·1 2 5 0 P R I N T D i S U C H A S V I D E O T E X A N D O T H E R S ) , ·1 2 b . P R I N T " I F Y O U H A D P R E L O A D E D A T E R I I I N A L ·1 2 7 . P R I N T · P A C K A G E W R I T T E N I N I I A C H I N E "1 2 8 . P R I N T " L A N G U A G E l T H E N S H I P L Y T Y P E E X E C ·1 2 9 0 P R I N T · A N D P R E S ~ E N T E R , ·1 3 t 1 . 6 0 T O 2 . 4 .1 3 1 9 ' • • • • • • • • • • • • • • • • • • • •1 3 2 9 ' A U T O A N S W E R R O U T I N E1 3 3 . ' • • • • • • • • • • • • • • • • • • • •1 3 4 ~ ,1 3 5 0 C L S : P R I N T : P R I N T l l f ( 2 )1 3 b 0 P R I N T1 3 7 0 ' I I E N U
1 3 8 8 A N S { I ) = " D O N O T A N S W E R "1 3 9 . A N S ( 2 ) = " A N S W E R I I I I I E D I A T E L Y ·1 4 • • A N S ( 3 ) = " A N S W E R A F T E R X X R I N G S ·1 4 1 t 1 F O R S A = I T O 31 4 2 . P R I N T S A j A N S ( S A )1 4 3 . N E I T S A1 4 4 . P R I N T : P R I N T : P R I N T · S E L E C T O N E O F T H E A B O V E ·1 4 5 . A S = I N K E Y S : I F A S = · · T H E N 1 4 5 .1 4 b . C L S : P R I N T : P R I N T · · I I S ( 2 )1 4 7 . O N V A L i A S ) G O S U B 1 4 9 8 , 1 5 b . , 1 7 2 .1 4 8 t 1 G O T O 131.
1 4 9 . ' • • • • • • • • • • • • • • • • • • • • • • • • •1 5 ' . ' D O N O T A N S W E R1 5 1 . P R I N T : P R I N T · • • • · A N S i l ) · • • • •1 5 2 . P R I N T : P R I N T · T H E S I I A R T 1 I 0 D E I I A N S I I E R F U N C T I O N "1 5 3 1 P R I N T · I S D I S A B L E D , ·1 5 4 t 1 P R I N T I - 2 , ' A T S . = I ·1 5 5 8 G O T O 2 1 4 .
1 5 b . ' • • • • • • • • • • • • • • • • • • • • • • • • •1 5 7 8 ' A N S I I E R I I I I I E D I A T E L Y1 5 8 8 P R I N T ' • • • · A N S ( 2 ) · • • • •1 5 9 . P R I N T ' T H E S I I A R T 1 I 0 D E I IW I L L A N S W E R A L L 'I b . 8 P R I N T ' C A L L S I I I I I E D I A T E L Y , 'I b i S P R I N T ' U S E T H I S T O T R A N S F E R C A L L S T H A T "I b 2 . P R I N T ' A R E A L R E A D Y I N P R O G R E S S B E T I I E E N 'I b 3 . P R I N T B T I I O I N D I V I D U A L S T O C O I I I I U N I C A T I O N 'I b 4 . P R I N T ' B E T I I E E N T H E I R C O I I P U T E R S , 'I b 5 . G O S U B 1 8 7 .I b b . P R I N T I - 2 , ' A T ' D P S " A 'I b 7 . P R I N T · A T T H I S P O I N T Y O U N E E D T O R U N ·I b 8 . P R I N T · O R E X E C Y O U R O l i N R E C E I V E R ·1 6 9 8 P R I N T ' P R O G R A I I T O I N T E R P R E T T H E ·1 7 • • P R I N T · I N C O I I I N G C A L L , ·1 7 1 . 6 0 T 0 2 1 1 4 81 7 2 t 1 ' • • • • • • • • • • • • • • • • • • • •1 7 3 . ' A N S I I E R A F T E R X X R I N G S1 7 4 t 1 P R I N T : P R I N T · • • • · A N S I 3 1 · • • • •1 7 5 . P R I N T : P R I N T · T H E S I I A R T 1 1 0D E l i I I I L L A N S I I E R A L L ·1 7 b . P R I N T ' C A L L S A F T E R T H E N U I I B E R O f R I N G S ·1 7 7 . P R I N T · Y D U S E L E C T ( F R O I I I T O 2 5 5 R I N G S ) '1 7 8 . P R I N T1 7 9 . I N P U T " H O I I I I A N Y R I N G S i l T O 2 5 5 1 " ; R G1 8 . , R G = I N T I R 6 ) .1 8 1 t 1 I F R G { I O R R 6 ) 2 5 5 T H E N 1 7 9 .1 8 2 . P R I N T : P R I N T ' T H E P H O N E W I L L B E A N S I I E R E D ·1 8 3 . P R I N T · A F T E R " R G " R I N 6 S , "1 8 4 8 G O S U B 1 8 7 1 11 8 5 . P R I N T I - 2 L " A T · D P S · S . = · R G1 8 b . P R I N T : G O I O I b 7 .1 8 7 . ' • • • • • • • • • • • • • • • • • • • • • • • • •1 8 8 1 1 ' F U L L O R H A L F D U P L E X1 8 9 t 1 P R I N T : P R I N T ' D O Y O U I I A H T F U L L O R H A L F D U P L E X ? "1 9 • • P R I N T · I I F Y O U D O N O T K N O W , T R Y H A L F ) , ·1 9 1 ' P R I N T : P R I N T ' I F U L L D U P L E X ·1 9 2 1 1 P R I N T · 2 H A L F D U P L E X ·1 9 3 t 1 A $ = I N K E Y S : I F A S = " · T H E N I 9 3 .1 9 4 . O N V A L i A S ) G O T O 1 9 5 1 , 1 9 9 81 9 5 . ' F U L L D U P L E X1 9 b 1 D P S = · F I ·1 9 7 1 P R I N T : P R I N T " F U L L D U P L E X S E L E C T E D , ·1 9 8 . G O T O 2 1 1 2 .
1 9 9 1 ' H A L F D U P L E X2 ' " D P $ = ' F I I "2 ~ l t I P R I N T : P R I N T ' H A L F D U P L E X S E L E C T E D , ·2 . 2 . P R I N T2 . 3 . R E T U R N2 . 4 . ' • • • • • • • • • • • • • • • • • • • • • • • • •2 8 5 . ' E X I T R O U T I N E2 ' b . ' E N A B L E R S 2 3 2 R E C E I V E B I T2 . 7 . P O K E B , I : P O K E A , I : P O K E B , 5 5 : P O K E A , 52 1 1 8 . P R I N T : P R I N T " T H I S P R O G R A " H A S E N D E D , ·2 ' 9 t 1 E X E C2 1 • • ' T O U S E T H I S P R 0 6 R A I I I I I T H 1 I 0 D C O I I I I2 1 1 . ' Y O U I I U S T A D D A S I l I T C H T O T H E I I O D E I I2 1 2 t 1 ' C A B L E S O T H A T P I N I C A N B E C O N N E C T E D2 1 3 t 1 ' T O P I N 2 A F T E R D I A L I N G T H E N U I I B E R2 1 4 1 ' S E E I I O D C O I I " A R T I C L E F O R E X P L A I N A T I O N 1dCRO ' "2 1 5 . E N D
u_-.ouQ-.oLl.l-.o«~_LL.....guIn U . .. .. a :IIC DC l: CD Cl :l "')a: IIa: II-
.. ...DCl: U InCDCl:U ... ..... ...nC D
.........................CDCDCDCDCDO-O-O-CD CD CD CD CD CD CD CD CD CD CD CD CD CD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q~-...g-O __ ~_-O-O_LI.ILL..-O ... ~LL.._-'OQ~_Q_
CI: ..... C D . . .. .D . . . ..D . . . ..D . . .. .D . . . ..D a: I Ia : II C Da : II I" ' )C D . . .. .I: ..... C D . . .. .D
<l:LI.I_"' ... -.om<l:uLI.I_"' ... ~<l:QLL.."'~~~~QLL.._O-O-Cl:Cl:Cl:Cl:Cl:Cl:Cl:Cl:a:IIa:IIa:IIa:IIa:IIa:IIa:IIUUUUUUU"",CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
long periods of silence betweenphrases. To run this program, leave a
blank cassette in the recorder before
you press record and play.
The program begins by checking
memory location 65312. When a sound
is recognized, the recorder is activated
by the MOTOR ON command. The
delay loop that follows serves a
somewhat different purpose than that
in the VOX binary input. This loop
prevents the recorder from shutting
down during the short pauses between
words in a sentence, or even shortersilences in the words themselves. The
program begins the count from 1 to
300, and checks memory location
65312 inside the loop. If at any time a
sound is recognized, the program
begins the count again from 1. This
way, if the pause is short, the loop re-
initiates, leaving the motor on. If the
pause is long, the routine will complete
the loop, and the recorder will be shut
down using theMOTOR OFFcommand.
Finally, the program returns to the begin-
ning and waits for the next sound.
If this program is used for dictationa small preliminary sound, such as a
finger snap, might prove necessary for
total legibility. When the first sound is
sensed the motor is activated, but it
takes a fraction of a second for the
motor to reach proper recording speed.
This often causes the first word to be
lost. A finger snap would activate the
motor and allow it to reach recording
speed in time for the first word to be
recorded. A preliminary sound would
not beneeded if the program were used,
for instance, tomonitor an empty room
68
for activity.
The third and final program differs
from the first two in that instead of a
straight binary input, it uses a sampling
routine to approximate an analog in-
put. This program displays the analog
approximation in PMODE 4 graphics,
oscilliscope style. This is the only
routine that requires Extended BASIC.
In addition, because the program uses a
real time graphics display, I have in-
cluded the high speed poke [POKE
65495,0). If the high speed poke does
not work on your system simply
remove it from the program. This will
slow down the routine, though the
results should still be acceptable.
The routine begins with the high
speed poke and then prepares the
graphics screen. This is followed by at---------------- ...threesome ofnested FOR/NEXT loops.
The outer loop controls the initial ver-
tical placement of each trace line. Thenext loop in controls the rate at which
the trace sweeps horizontaly across the
screen. The innermost loop is the heart
of the program. This is the sampling
routine. For every point on the horizon-
tal sweep, memory location 65312 is
sampled six times.
The routine sums all six samples,
and stores the sum in variable T. It
then subtracts a constant (12 in this
case), so that six samples taken during
a period of total silence would giveT a
value of zero. T is then multiplied by a
constant (4) to give the graphic dis-play proper amplitude. The grahics dis- 1 -1
play comes directly after the sampl- Listing 4
ing routine. 1 0 R E M L I S T I N G 4
These routines will help you under- 2 0 R E M n S C I L L I S C D P Estand the workings of the cassette audio 30 R E M B Y S E A N M O Y E R
4 0 R E Minput port, and hopefully they will be 50 R E M H I G H S P E E D P O K E M A Y N O Tuseful to you in your program library. 6 0 R E M W O R K O N S O M E S Y S T E M S
70 R E M R E M O V E I F I N O P E R A B L E8 0 P O K E 6 5 4 9 5 . 09 0 R E M P R E P A R E G R A P H I C S S C R E E N1 0 0 P l 1 0 D E 4 . 111 0 S C R E E N 1.11 2 0 p e L S . '1 3 0 R E M V E R T I C A L P L A C E M E N T L O O P
1 4 0 F O R V = 2 6 T O 1 9 1 S T E P 2 51 5 0 R E M H O R I I O N T A L S W E E P1 6 0 F O R H = 4 T O 2 5 5 S T E P 41 7 0 R E M S A M P L I N G R O U T I N E18 0 1 = 01 9 0 F O R I = 1 T O 62 0 0 T = T t P E E K ( 6 5 3 1 2 )2 1 0 N E X T !2 2 0 R E M C O R R E C T I O N F O R2 3 0 R E M Z E R O I N G A N D A M P L I T U D E2 4 0 T = I T - 1 2 ) f 42 5 0 R E M G R A P H I C S D I S P L A Y2 6 0 L I N E [ H - 4 , V - T D ) - I H , \ } - T l , P S E T2 7 0 T D = T ' . .2 8 0 NEH H2 9 0 N E X T V
10 0 G O I O 5 0
Listing 2
1 0 R E M L I S T I N G 220 R E M V O X B I N A R Y I N P U T3 0 R E M B Y S E A N M O Y E R4 0 R E M5 0 R E ~ C H E C K S F O R S ! l U ~ j D60 I F P E E K ( 6 5 3 1 2 ) = 3 T H E N 70 E L S E 6 0
7 0 P R I N T ' m j '8 0 R E M D E L A Y L O O P9 0 R E M D E B O U N C E S S W I T C H1 0 0 F O R I = 1 T O 2 0 0 : N E X T I1 1 0 R E M C H E C K S F OR S OU N D1 2 0 I F P E E K ( 6 5 3 1 2 ) = 3 T H E N 1 3 0 E L S E 1 2 0130 P R I N T ' O F F '1 4 0 R E ~ D E B O U N C E S S W I T C H1 5 0 F O R I = 1 T O 2 0 0 : N E I T I160 G O T O 6 0
Listing 3
10 R E M L I S T I N G 3
2 0 R E M U ! l l D I C T A T I O N30 R E M B Y S E A N M O Y E R4 0 R E M5 0 R E M C H E C K S F O R S O U N D6 0 I F P E E K ( 6 5 3 1 2 ) = 3 T H E N 9 0 E L S E 6 070 R E M A C T I V A T E S R E C O R D E Re o " ' o T O R O N9 0 R E M D E L A Y L O O P / C O N T I N U I T Y10 0 F O R I = 1 T O 30 011 0 R E M I F D I C T A T I O N I N P R O C E S S1 2 0 R E M R E I N l T l A T E S D E L A Y L O ! l P1 3 0 I F P E E K 1 6 5 3 1 2 1 = 3 T H E N 1 0 01 4 0 ~ j E X T I
1 5 0 R E M D E A C T I V A T E S R E C O R D E R16 0 M O T O R O F F170 G O T O 5 0
You may contact Sean Moyer at, 1825South 17th Street, Fargo, ND5.l830.
Listing 1
1 1 ) R E M P R O G R A M 12 0 R E M M E M O R Y S E A R C H3 0 R E M B Y S E A N M O Y E R4 0 C L S5 0 R E M II S A D D R E S S R A N G E60 F O R I = 6 5 2 B O T D 655357 0 R E M J I S I O F 1 1 ~ E S E A C H8 0 R E I 1 A D D R E S S I S D I S P L A Y E D90 F ! l R J = 1 T O 751 0 0 R E M D I S P L A Y S A D D R E S S A N D1 1 0 R E M C O N T E N T C E N T E R S C R E E N1 2 0 P R I N T @ 2 2 4 , I , P E E K ( I )1 3 0 N E X T J ..
Smartmodem functions are cleared("AT Z" is sent to the modem). To
write to the Hayes, merely access the
slot (with PRH2), and PRINTyour com-
mands. Now you can talk to your
modem just like it was a printer with
This is an adaptation of my pro-
gram for the Color Computer.
The hardware requirements are
the Hayes Smart Modem and an RS-232
communications interface. This pro-
gram was specifically written with the
CPS Multifunction card in slot 1 withthe serial port assigned to slot 2 (the
standard slot for communications).
This program should be easily adapt-
able to other interfaces. Seeyour inter-
facemanual for any necessary changes.
Listing 1
1 0 0 R E M S K A R T 3 0 01 1 0 R E M K E L T Y E N G I N E E R I N G1 2 0 R E M W R I T T E N B Y J O H N R . K E L T Y1 3 0 R E M L I N C O L N , N E B R A S K A 6 8 5 0 51 4 0 R E M1 5 0 R E M U S E T H I S P R O G R A M T O C O N N E C T1 6 0 R E M A N D P R D C R A M T H E H A Y E S1 7 0 R E M S M A R T M O D E M T O T H E
1 8 0 R E M A P P L E C O M P U T E R .1 9 0 R E M2 0 0 R E M T H E C O N N E C T O R C A B L E S H O U L D2 1 0 R E M C O H H E C T T O T H E R S - 2 3 2 P O R T2 2 0 R E I ! I N T H E F I l . . L O W I M GW A Y :2 3 0 R E M P I N F O R P I N C O N N E C T I O N2 6 0 R E M2 7 0 R E M T H E 3 0 0 8 A U D H A Y E S K a D E l !2 8 0 R E M K A Y B E U S E D W I T H V I D E O T E X2 9 0 R E I ! O R A N Y O T H E R T E R I ! I N A L3 0 0 R E I ! P A C K A G E T H A T A L L O W S T H E3 1 0 R E M H A V E S T O R U N A T 3 0 0 B A U D .3 2 0 R E M3 3 0 R E M T H E H A Y E S W I L L O P E R A T E3 4 0 R E M L O C A L L Y A T H I G H E R R A T E S3 5 0 R E M B U T N O H I G H E R T H A N 3 0 03 6 0 R E M W H I L E O N L I N E .3 7 0 R E M3 8 0 R E M S E E Y O U R U S E R ' S M A ~ U A L3 9 0 R E M F R O M H A Y E S F O R D E T A I L S .4 0 0 R E I !4 1 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *4 2 0 D I l l K S ( : ; i > , S N S ( 9 ) : { I $ C H R S \l3i t C H R $
( 4i4 3 0 H O t I E : P R I N T : P R I N T " U U * S M A R T K
O D E K * U * * "4 4 0 P R I N T " B Y : K E L T Y E N G I N E E R I N G "4 5 0 P R I N T " U * U U * * * * * * * * U * * * U * "4 6 0 P R I N T : P R I N T " C O N N E C T C A B L E S T O K O D E K ,
"4 7 0 P R I N T " C O M P U T E R A N D P H O N E C O I I P A H Y . "4 8 0 F i d N T : P R I N T : P R I N T " ( B R E A K A N I I L I S 1
T H I S P R O G R A M T O "
4 9 0 P R I N T " S E E C A B l E D E T A I L S ) . "
PRINT "your modem command". To
get back into the normal Apple mode
use "PRHO".
Now you can use a communications
package such as DATACAPTURE or a
similar program to communicate with
bulletin boards or data bases. The pro-
gram includes a command to enable
terminal mode on the CPS card, which
will allow a dumb terminal com-
munications setup.
I know little to nothing of amateur
radio operations, but with a few lines of
BASIC and possibly some hardware,
the Hayes Smartmodem can bemade to
send morse code. Auxiliary relay con-
tacts are provided in the modem to key
the transmitter automatically. It can-
not however, be made to directly
receive morse code. Diagrams describ-
ing the modem to radio interface are
found in the Smartmodem User
Manual Appendix H. Obviously some
nice commercial terminal packagesexist for the Apple, but this program
has made me happy for some time now.
With the Hayes Smartmodem and the
Apple Computer, I am sure you will
also enjoy computer communications.
1 dCRO "
S O O P R I N T : P R I N T : I N P U T " P R E S S E N T E R W H E NR E A D Y ' " A S
5 1 0 H O l l E : P R I N T5 2 0 P R I N T D S " P R I I 2 " : P R I N T " A T I" : R E M C L E A
R M O D E M5 3 0 P R ! N T D S " P R I O "5 4 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *5 5 0 R E M M : N U
5 6 0 M S ( l ) = " A U T O D I A L I N G "5 7 0 I ! S ( 2 ) = " A U T O A N S I I E R I N G "5 8 0 F O R S = 1 T O 25 9 0 P R I N T S " " M $ ( S )6 0 0 " N E X T S6 1 0 P R I N T : P R I N T : P R I N T " S E L E C T O N E O F T H
E A B O V E "6 2 0 G E T A S6 3 0 O N V A L ( A S ) G O S U B 6 5 0 , 1 2 1 06 4 0 G O T O 4 3 0
6 5 0 R E I ! * * * * * * * * * * * * * * * * * * * * * * * * * * *6 6 0 R E M A U T O D I A L I N G R O U T I N E& 7 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * *6 8 0 R E M6 9 0 H O l l E : P R I N T : P R I N T K S ( l i7 0 0 P R I N T : P R I N T : P R I N T " 1 D I A L A S A V E D N
l l I i B E R "
7 1 0 P R I N T " 2 D I A L A N E W H U M B E R "7 2 0 G E T A S7 3 0 O N V A L ( A S ) G O T O 7 5 0 , 9 5 07 4 0 G O T O 6 9 ( )7 5 0 R E M * * * * * * * * * * * * * * * * * * * * * * *7 6 0 H i ' ! = 2 : R E M H O I I I ! A N Y N U K B E R S7 7 0 R E M T O C H A N G E T H I S L I S T , I I A K E H M = H O W7 8 0 R E M K A N Y I Y O U W A N T T O L I S T ( K A X O F 9 ) .
7 9 0 R E M T H E N I N S E R T L I N E S S I M I L A R T O T H O S EB O O R E I I B E L O W W I T H " 0 U f : : N U I l I l E R SA N D H A M E S .8 1 0 H O M E : P R I N T " N U M B E R S Y O U C A N E A S I L Y C A
L L " : P R I N T8 2 0 S t l $ (1 ) = " 1 X X X - X X X X A F R I E N D
u
8 3 0 S N $ ( 2 ) = " 2 X X X - X X X - X X X X A B B S"
8 4 0 F O R K = 1 T O H tI8 5 0 P R I N T S N $ ( K )8 6 0 N E X T8 7 0 P R I N T : P R I N T " S E L E C T 0 t I E O f T H E A B O V E "
a s e P R I N T " ( B R E A K A I D L I S T T O E D I T T H E S E " UM B E R S ) . "
8 9 0 G E T A S9 0 0 N B = V A l ( A S )9 1 0 I F N B ( 1 O R H i ) H tI T H E N 7 5 09 2 0 P $ = M I D $ ( S N $ ( N B ) , 5 , 1 6 )
9 3 0 G O S U B 1 0 7 l )9 4 0 R E T U R N9 5 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * *9 6 0 P R I N T : P R I N T " D I A l I N G A N E W N U M B E R "9 7 0 P R I N T : P R I N T " T Y P E I N T H E P H O N E N U M B E R
T H A T "9 8 0 P R I N T " Y O U W I S H T O C A L L . "9 9 0 P R I N T " E X A M P L E S : "1 0 0 0 P R I N T " 1 - 8 0 0 - X X X - X X X X L O M G . D I S T A N C E
1 0 1 0 P R I N T " 1 1 2 - 8 0 0 - X X X - X X X X F R O H L I N C O L N1 0 2 0 P R I N T " X X X - X X X X L O C A L C A L L1 0 3 0 P R I N T1 0 4 0 I N P U T " T Y P E D E S I R E D N U M B E R " j P $1 0 5 0 G O S U S 1 0 7 01 0 6 0 R E T U R N .1 0 7 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * *
1 0 8 0 R E M N U H B E R K N O W N A T T H I S P O I N T1 0 9 0 R E M R E A D Y T O D I A L1 1 0 0 P R I N T D $ " P R t l 2 " : P R I N T " A T T F O D " P S1 1 0 1 R E M T O U C H T O N E , I F Y O U W A N T P U L S E , U
S E 'P ' .
1 1 0 5 R E K O H A H G E T H E ' 0 ' T O ' 1 ' F O R F U L L D UP L E X
1 1 1 0 P R I N T D $ " P R t I O "1 1 2 0 R E K * * * * * * * * * * * * * * * * * * * * * * * * * *1 1 3 0 R E M Y O U C A N R U N A N Y T ~ I N A L1 1 4 0 R E K P A C K A G E T H A T Y O U W I S H B Y1 1 5 0 R E K E D I T I N G T H E N E X T L I N E S ,1 1 6 0 R E K P R I N T D S " R l J N T E R M I N A L F ' R O G R A K "1 1 7 0 H O K E : P R I N T : P R I N T " Y O U N E E D T O U S E
Y O U R O W N "1 1 8 0 P R I N T " T E R K I N A L P A C K A G E A T T H I S P O I N T "
1 1 9 0 P R I N T " ( S U C H A S V I D E O T E X A M D O T H E R S ) , "1 2 0 0 G O T O 1 9 7 01 2 1 0 R E K * * * * * * * * * * * * * * * * * * * *1 2 2 0 R E M A U T O A N S W E R R O U T I N E1 2 3 0 R E M * * * * * * * * * * * * * * * * * * * *1 2 4 0 R E M1 2 5 0 H O M E : P R I N T : P R I N T M $ ( 2 )1 2 6 0 P R I N T .1 2 7 0 R E M K E H I J1 2 8 0 A H S ( l ) = " D O H O T A N S W E R "1 2 9 0 A N $ ( 2 ) = " A N S W E R I " " E D I A T E L Y "1 3 0 0 A N S ( 3 ) = " A N S W E R A F T E R X X R I N G S "1 3 1 0 F O R S A = 1 T O 31 3 2 0 P R I N T S A j A N $ ( S A )1 3 3 0 N E X T S A1 3 4 0 P R I N T : P R I N T : P R I N T " S E L E C T O " E O F T
H E A B O V E "1 3 5 0 G E T A S1 3 6 0 H O M E : P R I N T : P R I N T " " K S ( 2 )1 3 7 0 O N V A L ( A S ) G O S u e 1 3 9 0 , 1 4 7 0 . 1 6 4 01 3 8 0 C O T O 1 2 1 0 .1 3 9 0 R E H * * * * * * * * * * * * * * * * * * * * * * * * *1 4 ( ) O R E K D O " O T A N S W E R1 4 1 0 P R I N T : P R I N T " * * * " A N S ( l l " U * "1 4 2 0 P R I N T : P R I N T " T H E S M A R T K O D E M A N S W E R
F U N C T I O N "1 4 3 0 P R I N T " I S D I S A B L E D . "1 4 4 0 P R I N T D S " P R I I 2 " : P R I N T " A T S O = O "1 4 5 0 F ' R I N T D $ " P R I I O "1 4 6 0 G O T O 1 9 7 01 4 7 0 R E K * * * * * * * * * * * * * * * * * * * * * * * * *1 4 8 0 R E M A H S W E R I H H E D I A T E l Y
1 4 9 0 P R I N T " * * * H A N $ ( 2 ) " * * * "1 5 0 0 P R I N T " T H E S l t l l R T I l D E M W I L L A N S W E R A L L
"1 5 1 0 P R I N T ' ' C A L L S I K H E D I A T E L Y . ·1 5 2 0 P R I N T " U S E T H I S T O T R A N S F E R C A L L S T H A T
"1 5 3 0 P R I N T H A R E A l . . R E A D Y N P R O G R E S S B E T W E E N
"1 5 4 0 P R I N T " T W O I N D I V I D U A l S T O C O t I t U M l C A T I O
N "1 5 5 0 P R I N T " B E T W E E N T H E I R C O t t P U T E R S . ·
1 5 6 0 G O S U B 1 9 0 01 5 7 0 P R I N T ) ) $ " P R I 2 " : P R I N T " A T " D P $ " A "1 5 8 0 P R I N T ) ) $ " P R I O "1 5 9 0 P R I N T " A T T H I S P O I N T Y O U N E E D T O R U N "1 6 0 0 P R I N T " O R E X E C Y O U R O l I N R E C E I V E R "1 6 1 0 P R I N T " P R O G R N t T O I M T E R P R E T T H E "1 6 2 0 P R I N T " I N C O I U H G C A L L . "1 6 3 0 G O T O 1 9 7 01 6 4 0 R E M * * * * * * * * * * * * * * * * * * * *1 6 5 0 R E M A N S W E R A F T E R X X R I N G S1 6 6 0 P R I M T : P R I N T II * U " A N $ ( 3 1 " * * * "1 6 7 0 P R I M T : P R I N T " T H E S H A R T M O D E M W I L L A N
S W E R A I . . L "1 6 8 0 P R I N T " C A L L S A f T E R T H E K l I t t B E RO f R I N G S
"1 6 9 0 P R I N T " Y O U S E L E C T ( F R O M 1 T O 2 5 5 R I M e S
)1 1
1 7 0 0 P R I N T1 7 1 0 I N P U T " H O W I W I Y R I N G S ( 1 T O 2 5 5 ) U jR G1 7 2 0 R G = I N T ( R G I1 7 3 0 I f R G < 1 O R R G ) 2 5 5 T H E N 1 7 1 01 7 4 0 P R I N T : P R I N T " T H E P H O N E W I L L B E A K S W E
R E D -1 7 5 0 P R I N T " A F T E R " R G u R I N G S . "1 7 6 0 G O S U B 1 8 0 01 7 7 0 P R I N T D $ H P R I I 2 " : P R I N T " A T " D P $ " S O = " R G1 7 8 0 P R I N T ) ) $ U P R I I O "1 7 9 0 P R I N T : G O T O 1 5 9 01 8 0 0 R E M * * * * * * * . . * * * * * * * * * * * * * * * *l a l 0 R E M F U l l O R H A L F D U P L E X1 8 2 0 P R I N T : P R I N T u D O Y O U W A H T F U L L O R H A L
F D U P L E X ? "1 8 3 0 P R I l t T " < I F Y O U D O N O T K N O W , T R Y H A L F ) .
"
1 8 4 0 P R I N T : P R I N T " l F U l l D U P L E X "1 8 5 0 P R I N T " 2 H A l F D l F L E X "1 8 6 0 G E T A $1 8 7 0 O M V A L . ( A $ ) G O T O 1 8 8 0 , 1 9 2 01 8 9 0 R E M F U L L D U P L E Xl a 9 0 O P $ = "Ft"1 9 0 0 P R I N T : P R I N T " F U L L D U P L E X S E L E C T E D . "1 9 1 0 G O T O 1 9 5 01 9 2 0 R E M H A l F D U P l E X1 9 3 0 O P $ = " F O "1 9 4 0 P R I N T : P R I N T " H A l F D U P L E X s a E C T E D . "1 9 5 0 P R I N T1 9 6 0 R E T U R N1 9 7 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * *1 9 8 0 R E M E X I T R O U T I N E1 9 9 0 P R I N T : P R I N T " T H I S P R O G R A M H A S E N D E D .
"
2 0 0 0 P R I N T " T H I S P R O G R A M W I L L G O I N T O "2 0 1 0 P R I N T " T E R M I N A L t i l DE I N 5 S E C O M D S "2 0 1 5 P R I N T , , - - - - - - - - - - - - - - - - - - - - - - - - "2 0 2 0 P R I N T " T Y P E ' C T R l - C ' F O O L O W E R C A S E "2 0 3 0 P R I N T " T Y P E ' C T R L - A ' F ~ S E N D I N G L I K E
F E E D S "2 0 4 0 P R I N T " T Y P E ' C T R L - R ' ' C T R L - X ' T O E X I T
T E R I U I W . . K O I I E "2 0 6 0 P R I N T " - - - - - - - - - - - - - - - - - - - - - - - - "2 0 6 5 F O R I = 1 T O 1 0 0 0 0 : N E X T2 0 7 0 P R I N T ) ) $ " P R I 2 " : P R I N T C H R $ ( 9 J U H "2 0 8 0 R E " T H I S P U T S " G U N T A I N C P S C A R D2 0 9 0 R E M I N T O H A L f D U P l E X T E R l t I M A l . O D E2 1 0 0 R E f t F O R F U L L D U P l E X S U B S T I T U T E2 1 1 0 R E M A N ' F ' F O R T H E ' H ' I N A B O V E L I N E2 1 2 0 P R I N T ) ) $ U p R I I O u : N D NC:ItO'"
Figure 3: RDLBYT input variables (for 48K slave DOS).All 2'byte variables are in the L'H order.
Memory locations:
Loc. Name Contents andlor meaning
$8S88 FMOPC $03 s REAO (FMNGR opcode)$8SBC FMSUBC $02 = R/W RANGE (FMNGR
subcode)$8SBO FMPAR+O Record index. In pract ice, posi tion in
FMPAR+ 1 file ¢ 1; it is $01 if 8asic file, $03 ifbinary.
$BSBF FMPAR+2 8yte offset in the record; always o .FMPAR+3
$BSC1 FMPAR+4 No. of bytes to read (FILEN)FMPAR+S
$BSC3 FMPAR+6 Before jumping to SPEEOLOAO
FMPAR+ 7 routine, it will contain the loadingaddress (now in Y,X)
$BSCS FMPAR+8 FMNGR return code$BSC6 FMPAR+9 Not used$BSC7 FMPAR+ 10 Address of FMNGR work area buffer
+ 11
$8SC9 FMPAR+ 12 Address of TIS l ist buffer, which+13 contains the first TIS list sector
$BSC8 FMPAR+ 14 Address of sector buffer, which
+1S contains the first data sector
CPU registers:
A: don't care
V,X: loading address (H,L) to be stored In FMPAR + 6,+7
Zero page variables available:
$42,$43 only.
assembler to save the produced object
code under the name SPL.M.
used diskette (if it is not damaged). It is
not possible to INIT a new diskette forthe first time, because the routine
which writes the address marks is no
longer within DOS. A direct call to
RWTS Format returns with a "format
error" indication.
A diskette must be INITed for the
first time using a normal 3.3 DOS.
After that, it can be re-INITed with
SPEEDLOAD DOS, unless an un-
wanted exposition to a magnetic field
has destroyed the formatting. More in-
formation about INIT in the next
paragraph (installation).
The routine is 2S7 ($101) bytes
long. Amore detailed analysis of DOS
might have allowed to further reducing
the routine size, making use of some
DOS subroutines, but I preferred a self-
contained routine. The only external
call is for RWTS. You might be sur-
prised to see a single zero page pointer
(PTR in the listing) used alternately for
two purposes, but I chose to use only
locations used by the standard file
manager routine, thus insuring total
compatibility in any case.
The DCM directive instructs the
No. 68 . January 1984
Installing SPEEDLOAD
Once you have assembled the
SPEEDLOAD routine, you must build
a SPEEDLOAD DOS, following this
procedure:
- Boot a standard 3.3 DOS.
- Put in a new (blank) diskette.
- INIT the blank diskette.
- Insert the diskette with SPL.M
- BLOAD SPL.M, A$BEAF
- Remove the diskette with SPL.M- CALL-lSI (go to monitor)
- A477: 4C BABE (link SPLroutine)
- AE93: EA EA EA (unlink Format
routine)
- CTRL-C (return to Basic)
- Put in again the blank diskette.
- INIT the blank diskette again.
You now have a diskette with
SPEEDLOAD DOS on it. Transferring
SPEEDLOAD DOS to another diskette
can be achieved in two ways:
1.) INIT a new diskette with standard
MICRO
DOS, then boot SPEEDLOADDOS and
re-INIT the diskette.
2.) Transfer tracks 0-2 from
SPEEDLOAD diskette to normal
diskette, using some copy program.
The second way allows you to in-
stall SPEEDLOAD without erasing the
data on the diskette, if you have a track
copy program.
If you want to copy a SPEEDLOAD
diskette, you can do it with COPYA,
but the destination diskette must have
been previously INITed with normal
DOS, or you will get an 1/0 ERROR
message.
Conclusions-.
Although there are many speeded-
up DOS available on the market,
SPEEDLOAD DOS is the only one, for
that I know, which is fully compatible
with normal DOS in inner addresses,
POKEs, variable usage and so on.
SPEEDLOAD works only in loading
process, and that is its major limita-
tion, but that is a constraint if you
want to keep compatibility with DOS
3.3 (and, beside that, I do not wanted to
rewrite all the DOS). However, if you
have a big program, or you made use of
chaining or machine-language
routines, SPEEDLOAD can save you
lots of time, in program development
and usage.
I tested SPEEDLOADwith over 200programs and I do not found any in-
compatibility, even with programs
which make extensive use of the file
manager, as FlD or Microsoft's TASC
compiler. I confess that I removed the
protection system from many of my
game diskettes, only for installing
SPEEDLOAD and avoiding frustrating
delays. I hope we do not have to see
again the hateful "please wait while
loading ... If , now that SPEEDLOAD is
available. HdCRO ·
BiographyAfter working five years in designing
specialized circuits for FM.broadcasting,I founded a little finn which is nowgrowing in the European industrialmicro-board market. Since January 1983 Iwork as free-lance programmer andwriter (mainly for Jackson publishinggroup, based in Milan). My first interestin programming are high level multi-player games and didactical applications.I am responsible for small computers inABRS (a research association) andASTROFISMA (a didactical one for youngpeople). I work with an Apple IT, twodrives and silenrype.
ONO __.....N........U N~Q""UNOO~.N_N ....~«. . . .. . O u . .. . . ,O . . .. . , .. . . ., . . .. . , .. . . ., Nu o u " " " - O , : Q u t . . . > ~ u u " " " u ~ w
o. . . . . . . . t LI-0"c-.. .4,....,- . , I (,..l C ' " - . . .:=tLJ. .u .. .. :::r4u<r 'u . .. . ....,..w . . . . , . .L&J
B U S IN E S S S O F T W A R EWords tar . $244 .95
Spells tar $159 .95
W S tar/MM erge . $3 95 .00
W S tar/SS tar $4 22 .00
Supercal $ 129.95
PSF F ile $ 8 8 .75
PSF G raph . $ 8 8 .75
PSF Repo rt . $ 8 8 .75
PSF 3PAK , $246.7 5
A l l e q u ipm e nt s h ip p ed l ac to r y f re s h. M a n u la c tu r er s w a rr a nt ie si n c luded . Ca l if o rn i a cus t omer s add 6 ' 1 2 % t ax . I nc lu d e p a ym e n t b y
p er so na l c he ck . m o ne y o rd er . o r c as hi er 's c he ck w it h o rd er a ndSGC w il l p a y s h i p pi ng c h ar g e. C a ll f or am o u nt o f S h ip p in g c h ar g ewh en p a yi ng b y c r ed it c a rd .
A ll item s are norm ally in s to ck
'"4%5)490-3420... A nd w e'll b e h e re to h elp a fte r y o u
r ec ei ve y o ur o r de r. F e el fr ee t o c al l t h e SGCTechni cal S taf f f o r a ss is t ance .
Hewlett PackardWri te or c a ll fo rp r i c es .------------:----------------------------------------~-=---
S P EC IA L S o n IN T R EG A T E D C IR C U IT S6502 7.456520 P IA 5.156522 V IA 6.452 71 6 E PROM2 53 2 E PROM6 11 6 2KX 8 CMOS RAM4116 R AM~ 2 . . ~_ _ ~ _
A n c h o rA u t o m a t io nS ig n a lm a nM o d e m sF R E E S O UR C E M E M B ER S H IP W I T H S IG N A LM A NA l l S ig n alma n Mod em s a re D i re ct Con ne c~ a n d p r ov i de t hebest price-performance values.
D ule r a nd D EM inquiries invited
V olk smodem wllh c empuler cable 199) 68
M ark V I fo r I BM P ers on alC om p uler (2 79 ) 13 9M ark V II A u to D ia l/A u to Answer (159) 99M ark X II S m art M odel 1200/3 00 (3 99) 299
D c - i i - A v i s S i i i i r t m o d e i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i i - gp .~ ~ _ ~ y _ :~ _ ~ ~ ~ ~ ~ :~ _ ~ _ ? Q ~ ! ~ ~ q _ ~ ~ ~
S e e u s f o r P e r s o n a l B u s ln ,s s , a n d E d le a U o n a l
re q u ire m e n t s . E d u c a tl , n l l D i s c o un ts l v a lla b l t
DISKSPECIALS II
P E T S C A N I $ 2 4 5 b a s e p r ic eA llo ws yo u to c on ne ct u p to 3 0 C BM /P ET C om pu ter s toshare d d i sk d r iv e s a nd p r in ter s .Comp le te ly t r a n sp a r en t to theuser . Pe rfe ct lo r s choo ls o r mu lt ip l e wo rd p r oc es si n g c on -f igur at ions . Ba se con figur at ion suppor t s 2 computer s . Add~
~~~~-~-'!~~-~~-~Q~~~:._-------------------
17 0
CIII
95
2912 9
2064567 2
40223244
C O M P A C I ( J S T C P $ 1 1 5I n te ll i g ,n t T ,m i n a l P ic ka g e f o r P E T . C B M . C 6 4
~:!~~~-~~~~~~~~:.~?!~~~~~~~~-----------S CR E E N M A K ER 8 0 C o lu m n A d a p te r f o r C 64 1 4 5
~~~~_~~~~ ' ! _~~~~~ !Y_ !? !_~~~~~_~E~~~~~G E N ES IS C o m p u te r C o r pVICOIlmll tr ( lo r C64 IIw eill 50c omb in e w i th BSR modu le s f o r home o r b us in e ss c o nt ro l
C OMS EN SE R em ole S ln sll.A dlp ler lo rC 64 0r VIC 3 5
COM VOICE SV II~lSlzer lor C 64 or V IC 139inc ludes software lo r t ex t t o s p ee ch , p i tc h, e tc .
~~_'!_C!~~~~]!~_~~~!~~!!~!.'!_~~l~~V IC 20 P re duc ts lid S olln re I I a le ck
1lnEMI Seltw lre UMI Seltw are
ABACUSSeltw lre HES Selhn re
~~~~~-~-~~-----~----~~!!~~-~~~-----------?-~V ICTORYSo ltw lr e l or V IC I n d C64
Metamorphosis 16 C r e a t o r ' s Revenge 16Labyrin th of C reator 16 G alac tic C onquest 16Kongo Kong 16 Ann ihila tor 16Champer Man 16 Grave Robbers 13
Solid Olk 2 L nel Slln d lor C64 or V ICC64N1C Swi tch ( network ing)
BACKUPV 1 .O I J pe c op ie r l or C 64 o r V I CCARDBOARD/6Mothe rboa rd - V ICCARDBOARD/5Mothe rboa rd - C64CARDPRINTG P ri n te r I n t w i th G r ap h ic s
CARD PRINTB Pr in te r I n te r fa c e-C64N ICCARDBOARD!3sMothe rboa rd - V ICCARDCOC64NIC Ca lcu lato r KeypadCARDRAM/16RAM Exp an s io n - V IC
Comp l el e CARDCOUne i n s la c kC I E a n d V I E I EEE .I n te rf a ce s i n s t oc k
MSD SuperOrI.e lor C64 or IEEE 365
MAE Assembler for C64 50K alil T ouch TI~leI-C64 or VIC 79
C BC 4 /1 2 1 2-b 1t A 1 0 0 BOIrd + Soltw lre 199
Multlp lln lor C64 79Dust Cov er l or C6 4 o f V I C 6
A P p I E = - F R l t n n : n r T i t M - SFRANKL IN - compl el e l in l I n s la ck
QUENTINDr l l es lo r App le/F ll Ink l il
SWlppe r S ioppe ra ut oma ti c sw it ch b etw ee n p a d d le s a n d j oy st ic k
KRAFTAp ple JovstlckK ra ft App le Pa dd le Pa ir
KOII ITouc~ TI~lel·Apple /FllInklin
SPINNAKERSe ftw lr e I n s lo ck
B l1 Id e n un d So ftw lr e i n s la ck1 6K RAMCar d f or A p p le
Mulliplan-MIeI1lIllI1
S olid Olk 2 L nel S iud lor A pp leS er ia l C a rd f or A p p le
MCP RAM/80 c ol um l urd l or l ie ( AP/ TXT JZ 80 soncard a nd CP /M (Mic rosof t)RANAEl i te I w i th Con t ro l le rPara lle l Printe r Inte rface /Cable
Mlcrelek IU MCP I nl er ll CI I i n s to ckG r ap p le r + I n te rf ac eK r af t P ro d uc ts f o rA p p le i n s to ck
DC Hay es Mi cr omodem "
PFS: F i le
PFS: RlportV i d ex8 0 Co lumnCa r d
A p p lo B lu l Book
21 9
26
4030
90
59
18 5
2989
13 923 538 969
F le x F i le f o r P E T /C B M / C 6 4 $ S ODa tab a se, Re port Wr i te rw i th c a lcu la t ions , Ma i li ngus ts .
Fti-RTH~rPET/C&4wiG;_odel=c~giiVR~y---$5ti
MelJeempHorlor F o RTH lo r in dep en den t objec t cod e 30
K M i i . - P A S C A i i i f i D r PETJc"ii/C&4---------gS
E A R L far PET/CIM Disk -based ASSEMBLER 65
Su;erGrlpbtca=--iA"SICLi"'iieEllllatlna---iS
~~S ! .~hi~~~~ .: ~~~~_ r: _~~. :s _~_~/C~~ _RAM/ROM tor PET /CBM 4K $75 8K $90
W e s to c k V E R B A T IM D IS KSW r it , f o r D e l le r a n d O E M p ric es .
Sen tin al5" ss/d d 10/1.90 50/1.85 100/1.80Sen tin al 5 " d s/d d 10/2.55 50/ 2.50 100/2.45
W e s to c k D y s a n d is k sWab ash 5 " s s / s d 10/ 1.60 50/ 1.55 100/ 1.45W abash 5" SS/dd 10/ 1.90 50/ 1.85 100/ 1.75Wa b as h 8 " s s / s d 1 0/2 .0 0 5 0/ 1 .9 5 1 00 /1 .8 5
W e s to c k M A X E l l D IS K SW r i te f o r d e a le r a n d D E M p ri c e s .
D isk S tora ge Pages 10 for $ 5 Hub R in gs 5 0 for $6Oisk Ubrary C ases 8"-3.00 5"-2.25
Head C lean in g K its 12AMARAY Disk S tor age Sy stems in s toc k .
C A S SE T IE T AP ES -A G FA P E - 6 1 1 P R E M IU MC-10 10/ .61 50/ .58 100/ .50
C-30 10/ .85 50/ .82 1001.70
D A T A SH IE LD B A CK UP P OW E R S OU R C E $ 2 6 5Ba ttery b a c k up Un in te r rup tib lePowe rSupp lyw i th surg e a nd
~~~~~~~!_~~~~_~~_y_~!_~~~_p_r:_~~!:.~~_
MIIIIPlI"""":'IBMor App le 185Quadboa rd lo r IBMava i la b leKOALATouchTab let s -App le , A ta ri , IBM,CBM
PelC~eII 5000 Softw are P lcule 209
P FS S oltw lre lo r IBM u d A pp le I n s la ckVOTRAXPersonal Speech System 280
BMC 9191 Color MOlitor 229BMC 12A 12" Green Mon itor 79
Brelller HR-75 D llsy Whe.' P rln ler 769
Dyeu (Brel"~ DX-15 Dlisy W beel Prln ler 469Itoh Prow riter Para llel Prin ter 379
P ills oe ic 1 09 0 P rlllle r .lIb C om sp on den ce M od e 2 79Daisyw riter 2000 w ith 48K b uffer 1020
Sellll110X 299
EPSON.Ok l~I ILS ta r Mlc re n lc s p r ln l er s I n s loc kUSI CompuMOD 4 R F Modulator 29
We S io c k AMDEKMOA l tu rsAmdek DXY-100 Plotter 590A P Products 15% OFFCOMPUTERCOVERUPSIN STOCK
BROOKS6 Oillel Surao Sup preuor/N olse FHler 54Surge Supp ressor-6 outlet 29E lectrohome 1 302-2 13" Hi-res R GB M on itor 335Panason ic 12" Mon itor (20 MHz)w ith aud io 135
SYlertek SYM-I Mlcreca llpullr 189
A L L B O O K I n d S O FT W A R E P R IC E S D IS C O U N T E D
I IS I V i de oMo nilo r1 -G nen o r AM IE R 2 0 MHz b l - r e s .
---------~~-~!-!~-~~~-!!~)~~~--~!~~~-------
7'JII"* I datasystems
12 9
29 9
95
9520 9
19 to
ZVM-122A 109 ZVM-123G 95ZVM-131 300 ZVM-135 510HERO 1 R obot (factory assembled ) 2145Z 29 T erminal (DEC and ADM compatible) 680z r-10 In tel. Terminal w ith S erial P ort 340Z 100 16-bit/8-bit Systems CALLWe s to ck e n ti re Z e n it h l i n e.
A T A R I - W E S T O C K E N T IR E L IN ES PIN N AK ER an d Bro derb un d S oftware in S to ck
215-822-7727 W R IT E FOR CA TA LOG . Add $150 pe r o r d er f or U n it ed P ar ce l
252 B e t h l e h e m Pik A B C o m p u t e r s We pay b ala nc e o f U PS s u rf ac e s h ip pin g c ha rg es o n a ll p re pa id o rd er sColm r PA 18915 e (add extra for m all A PO fFPO air) Prices Inclu de cas h d is co unt
a , Reg u la r p ric es s lig ht ly h ig he r P ric es s ub je ct to c ha ng e
APB -I0 2 U ltr a-R om Board /Edi tor Includes:• Advanced G.P.LE.* (Global Program line Editor) in Fnmware-Wtth Insert, Delete, Rnd, Tab, Zap, Pack, Restore, End, Etc.
• F irm w are Management Program (FMP) Overlays 32K of ROM in 2K Space
-Allows jumps and calls between banks-searches for utilities by name
-Recognizes new ROMs and utilities automatically
• A PU -l with over 25 Language Extensions & Ampersand Utilities-IVIhenIBse, Print Using, Ultra Fast Search, Damaged Program Recovery
• Always in the Machine-No Searching for a Disk
• Never in the way-No Program RAM used-Connect with 4 Keystrokes / Disconnect with 2!
"If you program & hauen't used a l ine editor, get on e right away" -M IC RO M AG AZ IN E
"The most powerful program deuelopment tool I haLe" -R OBE RT W lL SO N, PR OG RA MM ER
"Excellent Product, flawless" -P HIl1P D AlE Y. PR OG RA MM ER
"Great product, exceeds my expectations" -DR S 1E V E C O O K
"An elegant solution . .. well thought out. .. worth it" -S OF TA LK R EV IE W, S EPT . 198 3
"The best thing for the Apple s ince the disk" - ED W A RD D E CK E R. P HA R M AC IS T IP RO G R AM M E R
Ho llyw ood Ha rdwa re (213) 989-1204
6842 VALJEAN AVENUE, VAN NUYS, CA 91406
• G.PLE' 1983 NEIL KONZEN. SOLD UNDER UCENSE FROM SYNERGISTIC SOFlWARE / APPLE IS A REGISTERED TRADEMARK OF APPLE COMPUTER INC.
A.P.P.LE. IS APPLE PUGETSOUND PROGRAM UBRARY EXCHANGE. THE WORlD'S lJIRGEST APPLE USERS' GROUP WITH 25,000 MEMBERS.
USE OUR 60 DAY UNCONDmONAl MONEY BACK TRIALIF Y OU CAN PART W IT H IT -W E 'll BUY IT BA CIC
A S K A BO lIT ' D E AI.E R lU S ER G R O U P D I SC O U N TS !
COMMODORE SYSTEM S.mcornrnodore LANGUAGES 84 :: INTERFACES & ACCESSORIES
In sta sp eed B as ic C om p ile r (D ) ...... $ 99 Dota 20 8 0-Co l. Exp.............. $ 15 9NEW COMMODORE PRODUCTS Nevada Cobo l (D ) . .. .. .. .. .. .. .. . 55 Mr . Compu te r 80 -CoI . Exp. .. .. .. .. . 60Executive 64 .................... $ Call P i lo t (D) . . .. . .. . .. . .. . .. . .. . .. . 4 5 5-S lo t Exp . (64 ) ................. 65CBM B 128 -8 0 . .................. 8 25 logo (D ) . ...................... 4 5 V ic SW itc h (c on ne d 8 6 4's o r V ic 'sB S eries S oftware ................. Call Assem bler Developm ent (D ) ........ 25 to DO/Pr in ter ) . . .. . .. . .. . .. . .. . . 14 5
WORD PROCESSING 84 :: 64 Forth (R ) .......... " ........ 4 0 C ob le s 3 M , 6 M, 1 2M lo r a bo ve . ..... Col iN EW - M irage 8 0 col. . ............ $ 95 PRINTERS· DOT MATRIX Verex (Box 0 1 10) 51 ;4 D i s kenes . . .. . 26W o rd Pr o 3 + /S pellrigh t ............ 79 Epson R X80 (8 0 cps) ............. $ 299 Connect ion (Pe t / 64 g r aph ic s ,2K Bu ll er ) 99W ordPro 3 ' (WP) . ............... 59 MX 80 w /FT (8 0 cps) ............. 3 99 Cordco Print t G raph ics . . . . . . . . . . . 8 5Spel lr igh t (D ic t ionary) . . .. . .. . .. . .. 3 9 FX 80 (160 cps) ................. 54 9 Cordco Cordprin t . ................ 7 0Paper C lip ...................... 95 F)(l 0 0 (1 60 c ps ) 14 " w id th ........ 8 59 M W 302 Parallel. ................ 65
Easy Scrip t (D ) .................. 35 Ok idata 82A . . .. . .. . .. . .. . .. . .. . 4 29 PE T/IE EEC ob le (1m ) .............. 3 3Easy Spel l (D) . . .. . .. . .. . .. . .. . .. 19 Okidata 92 ..................... 54 9 IEEE /IEEECob le (1 m ) ............. 4 9SPEC IAL- Bus iwriter (C ,D ) ......... 3 9 NEC 8023A ..................... 4 29 In te rpOd ( In tel li gen t IEEE ,Cu ick Brown Fox (R ) ............. 49 S tp r Delta (160 cps)-N EWL ........ 54 9 RS232 , serial) . ................. 149
SPREADSHEETS 84 :: S ta r G em in i lO X (1 20 c ps ) ........ 3 09 ADA 1800 (IEEE /Parallel) . ......... 129C alc R esu lt - A dvanced (R ,D ) ....... $ 120 S tar G em in i 10/15 ............... Col i ADA 1450 (IEEE /RS232 (M /F» ..... 129Bus icalc II - M ore Power! (R ,D ) ..... 95 Trans tar 3 15 (H i Res ., Co lo r) ....... 57 5Mu l ti pl an 64 (D ) . .. .. .. .. .. .. .. .. 7 9 M i c ro EdgePr in terPape r ( 540 Shee ts ) .. 10 VISA/MASTERCARDCalc Resu lt - Easy (R ) ............. 70 ESSENTIALS MONEY ORDERSPractico lc 64 (D ) ................ 45 C ommodore 64 .................. $ Call BANK CHECKBus icalc I - SPEC IA l! ( C ,D ) . ........ 39 1541 D isk D rive . ................ 24 9 C .O .D . 's A c cep te d. ( Ad d $ 5 )
DATA BASES 84 :: 1525 Prin ter (8 0 co llOM ) ......... 225In s to ck ite ms s hip pe d w ith in 4 8 h ou rs .
M irage Data Base ( D ) . ............ $ 95 1530 Datasene .................. 65M 'F ile (m erges with W ordPro) (D ) ... 8 9 1520 Planer/Prin ter (4 Co lo r) ...... 16 9 F .O .B .Da ll as , Texas ( Texas Res ., Add 5% Tax ).
M icro S pec Data M anager (D ) ...... 60 1526 Prin ter. .................... Col i Produc tssh ipped wi th manu lac tu rer 's war ran ty .
C odew riter (develo ps p ro gram s)(D ) ... 9 5 1702 M onitor ................... 24 9 P ric es s u bj ec t t o c h an g e w it ho u t n o tic e.
PRODUCTS OF THE MONTH CBM $ 50 M in im u m O rd er.
TCS 64 /8 0 - N EW ! (D ) . ........... $ 13 9 8 03 2 (8 0 co lum n Pet) ............ $ 625'Defect ive un it s must have retum(WP/Data Base/Spread) SuperPet (5 languages !) ........... 104 9
Koa la Pad - NEW! . .. .. .. .. .. .. .. . 8 9 8 050 Dual D rive (1 mg.) .......... 99 5 a u th o riz at io n n umber a n d in c lu d e
Delta 10 (160 cps) - N EW ! ........ 54 9 8 250 Dual D rive (2 m g.) .......... 1295 copy 0 1 invoice.
UTILITIES 84 :: 9060 Hard D isk (5 mg.) .......... 1995V ic T ree ( 4 .0 Bas ic) (R ) ........... $ 75 2031, 170K S ing le D rive .......... 295
~
64 Super E xpander (R ) . ........... 25 64K Upgrade lo r 8 03 2 ............ 259S imon 's Bas ic (R ) . .. .. .. .. .. .. .. . 25 S u pe rP et u pg ra de lo r 8 0 32 . .. .. .. . 59 9Cardco P r in ter U t i l i ty (C ) ........... 15 4 02 3 Prin ter (8 0 cp s, 8 0 co l) ...... 3 95MS-Backup (Bock Up Data!) (D ) .... 15 8 0 23 P rin te r (1 50 c ps , g ra ph ic s) . .. . 54 5
ACCOUNTING 84 :: 6400 Prin ter (4 0 cps , lC ) ......... 14 50H om e A ccou ntan t (C ontinen tal) ..... $ 7 5 LEnER QUALITY PRINTERSTax Advantage (merge w/home D iab lo 620, 25 cps ... . . . . .. . . . . . . $ 949a cc o un ta nt ) - NEW ! . .. .. .. .. .. .. 4 5 T ran star 13 0, 16 cps - 13 2 co t. . . .. . 769
SJB DISTRIBUTORS INC.eneral ledger, A IR , A /P, P/R , Inv. Trans tar 120, 14 cps - 8 0 co l. . ..... 50 0(In fo D eS ign 's O rig in al) (D ) ....... ea.7 9 MONITORS 1 05 20 P la no R oa d, S u ite 2 06
Nume ric Ke yp ad ( Ha rdWa re ) . .. .. .. 65 Panason ic C T 160 (co lo r) .......... $ 27 9 Dallas , Texas 7523 8Nume ric Ke yp ad ( Ca rd c o) . .. .. .. .. 3 5 Pana so n ic TR120 (w/ sp k r, gr ee n ) . .. . 15 5
TELECOMPUTING 84 :: Sany o/ Amdek-G reen , No Aud io , 1 2 " . .. 12 5TO ORDERic 1650 (A uto A ns /D ial) M Odem ... $ 95 BM C/S anyo-G reen, N o A ud io , 9" .... 95
V ic 1600 Modem . .. .. .. .. .. .. .. . 59 C o b le (F o r Ab o ve ) AN . .. .. .. .. .. . 15 CALL TOLL FREEH es M od em (D ow nlo ad in g S oftw are ) 65 VIC ACCESSORIES 800-527-4893Super Te rm (Downlo a d/ 8 0- 12 8 Fo rm ) . 95 8K RAM Expand. Cort.............. $ 4 0M ic ro T erm 6 4 (D ow nlo ad P /D ) ..... 3 9 16K RAM Expand. Cort............. 7 0 800-422-1048
EDUCATION 84:: 24K RAM Expand . Co r t. .. .. .. .. .. .. 10 5 (W ith in Texas )
Spelling I (Koala) (D ) ............. $ 29 2 7K R AM (E xpands V ic to lu ll 3 2K ) . ... 119Geomet ric (Ko a la ) (D ) . .. .. .. .. .. . 20 3 Slo t Expander . . .. . .. . .. . .. . .. . .. 3 0I .C . Baseball (D) . . .. . .. . .. . .. . .. . 25 6 S lo t E xpander .................. 7 0 CATALOG
Bib le Baseball (D) . . .. . .. . .. . .. . .. 25 Joys t ick (Wico-Red) . . .. . .. . .. . .. . 25 S en d P os tc ar d w it h N ame & Ad dr es s t o
Happ y Tu to r ( Ty pin g ) ( D) . .. .. .. .. . 15 Joys t ic k B las te r ( ADR Rap id - F ir e ) . . . . 10 speed p r oces si ng .
NOTE: SJB HAS A FULL LINE OF COMPUTER MEDIA IN STOCK, CALL OR WRITE FOR MORE INFORMATION.
Introducing ournew home computer game •Cavern Creatures" Where one false move, onemistaken twitch of the Joystick can do terriblethings to an Apple. Like shut parts down.Who knows which ones? Making it act ....
awful funny and then ... KA-BOOM! ...
Gee whiz. Look what you've done.Your big shiny Apple, destroyed.
And you thought you were just havinga little fun?
BlowupThe game's finished. And maybe, so is
your Apple. Oh, but don't worry.Cavern Creatures is just a game. Full of action.
Fun. Suspense. Just like our other games.Whether they're blowing up your Apple.Or totally blowing your mind.
How M uch M ore Ca n O ne Joy st ick Jockey T ake?We've exceeded our past reputation for
bringing you some of the most super snazzy,ultra -intense, graphically involving games around.We've gone totally out of our minds with every
game from shoot 'em up, blast 'em out of the skystrategies to mind game graphics guaranteed toprovoke a mental meltdown.Are you ready?
Cav e rn C r ea t u re s"You can squirm. Beg. Plead.
And moan. Nothing will saveyou, or your Apple, from beingblown sky-high by this game.Don't worry. The effect's not per-manent. YourApple will recover.But will you?
mechanicals-enemy robots whoaren't exactly the warm andfriendly types-await you. Oblite-rate the bad guys. Save the goodguys. Youmight survive this.
Ard y T he Aa rdva rk™Here's a tongue that's as long
~~ •• and skilled as you are. Think youcan lick stinging ants and taran-tulas? Use Ardy's tongue as you
make it through this maze!
Roundabout™Sharpens your target skills
with 24, count 'em, 24 differentseries of targets. How's yourhand to eye coordination, pal?
ArgosTM
And if you like to push peoplearound, layoff your little brotherand take on these aliens instead.Save the Domed City fromdoomsville.
S up er B un ny "No, S up er B un ny is not
referring to all those Playboysstashed under the bed. It's astrategy /action game that justmight turn your brains into car-rot puree. Cover your burrow!
Con que ri ng U0 rld sT II
So you fancy yourself a die-hard strategist? Try conqueringthis. Maybe you'll rule the uni-verse if mom will let you off
restriction.
Bilestoad™Avoid violence, but be prepared.
Incredible graphics make thisrated R! But if you're a wimp, passthis game up. It's not for babies.
by pulsing the CLEAR input. Ll's Qoutput holds L2 in PRESET(Q high) as
long as uP#1 is accessing the buffer. At
the same time, Ll's IQ output is high,
serving as a BUSYflag for uP#2. When
uP#1 releases the buffer, it pulses the
clock line of Ll, which sets Ll to the
"on" state, clears the busy flag and
releases L2. Similar action by uP#2
controls L2 and warns uP#1 that the
buffer is busy. Itmay also be important
that the two processors have syn-
chronized clock inputs.
If two separate computers involved
in a project must work together, one
computer can be designated as the
master, and it will send commands to
the other computer over their link,
which can be a high speed RS-232 line.
The master must be programmed to
pass the required commands to the
slave computer, besides keeping its
own business straight. It is likely that
the slave will be assigned some kind of
monitoring tasks, and the incoming
commands will trigger interrupts on
the slave. Then, depending upon the
type of command, the slave may make
a different measurement or report the
previously collected data. Whatever the
assigned tasks, part of the program-
ming for both computers will involve
specially coded commands to define
precisely the nature of the task to
be performed.
That's enough on computer com-
munications for now! I have promised
to introduce some of the real-world
hardware such as analog to digital
(AID) and digital to analog (DIA) con-
verters. Very few processes and
parameters we might be interested in
are digital. We normally want to know
how heavy, how strong, how loud, etc.
something is. Natural processes come
in all sizes, shapes and colors, and a
precise measurement will usually in-
volve values which do not change in
discrete digital steps.
Natural processes vary widely be-
AIM + PDWERfrom CDMPUTECH
Ail prices
Postpaid
(Continental
U.S. -
otherwise
$2 credit)
Check the
outstanding
documentation
supplied with
AIM65
Top quality power supply designed to Rockwell's specs for f.ullypopulated AIM 65 - includes overvoltage protection, transientsuppression, metal case and power cable:
THIS IS VIC·20 BASICROBERTFSUTHERLANDand RICHARD M. GILMAN
Emphasizing good programming practices, the au-thors show how to take advantage of the VIC-20'sspecial capabilities such as creation of shapes andpictures in color, and production of music andsound effects.1984 Paperback 420 pp.(approx.) ISBN: 0-02-418380-6 $16.95
AN INTRODUCTION TOSTRUCTURED BASIC
FOR THE CROMEMCO C·10WAYNE T . WATSON
The only book available in its area, this book as-sumes no prior programming experience andstresses interaction with the microcomputer. Thefirst ten chapters provide a foundation to the mostcommonly used concepts in BASIC, and the lastfour chapters offer more advanced material on filesand programming structures.1984 Paperback 276 pp.(approx.) ISBN: 0-02-424580-1 $16.95
W ith a fas t an d fu rio us w ork p ace, a h ig hlyflexib le p rin ter is cru cial. T hat p rin ter is th e n ew
R ad ix -15. W atch it tak e yo ur w ork an d ru n w ith it.
It's dual speed! A t 200 cps R adix firesou t a s uperb ly refined dot m atrix prin tou t. A t 50c ps it p rin ts p ro fes sio nal n ear- letter q u ality. S o n ow
you can go from spreads heets to m em os at the nipof a s witch or at you r com pu ter's comm and.
It's m ulti-fu nctio nal! In eith er m od e R ad ix-15 q u ic kly ad ap ts to yo ur n eed s. T here's s erial an dp arallel in terfac e. Memo ry s to rag e w ith a 16K
b uffer. R es po ns ive th ro ug hp ut to h elp yo u u se