Radio Shack LK-1161 Specifications

128
COMPUTE!
February, 1981. I"ue 9
'Ii
A Terminal For
"KAOS" (Kim!
Aim! OSI! Sym
Bruce Land
Baltimore, MD
A "terminal" is what you use to send messages to
the computer and to receive messages from it.
KIM and SYM have a terminal built in -- a hex
keypad to send messages, and a 6-digit hex LED
panel to receive them. The arrangement is simple,
economical (in initial cost, at least), and slow. Sooner
or later, one tires of using only the onboard hex pad
and 6-character LED display, and yearns for an
ASCII keyboard and CRT display.
Rockwell's AIM has a keyboard, 20-character
display, and 20-character printer, and Ohio Scientific's Superboard has a keyboard, video board, and
RS232 output; even so, owners of these other
popular 6502 systems sometimes want an external
video board to display longer lines.
Many articles on how to attach different combinations of keyboards and displays have been
published. Let's look at some of the pros and cons of
different systems, and then at the one I chose. I
believe the one I chose is, for a one-board system,
about the most cost-effective method of obtaining a
very versatile ASCII-plug keyboard input and a
memory-mapped video output to a CRT display.
Of all the ways to obtain ASCII I/O, the
simplest and perhaps the cheapest is to use a parallelconnected keyboard and a video RAM display. Hal
Chamberlin, in "Software Keyboard Interface with a
Pittance of Hardware" (Kilobaud, January 1978),
discusses how to install an unencoded keyboard as a
software scanned device connected to a PIA-type
parallel input port. This uses a minimum of hardware, and not much CPU time. The OSI C1P and
C4P, the Apple, the PET, and others use a similar
method to connect their keyboards.
Chamberlin gives complete schematics and KIM
software. Software for other 6502 systems would be
very similar. The hardware will work with any port
and should cost less than $30.
Don Lancaster announced the first KIM pseudo
"video RAM" in Kilobaud Uune 1977) and in
Popular Electronics Uuly 1977). Complete schematics
were published, and some software. Kits were
marketed for about $35 by PIA Electronics, Inc.,
1020 W. Wilshire Blvd., Oklahoma City, OK 73116.
This system relied on the CPU to run the display,
and while the CPU was busy elsewhere the video
was blank. For continuous display it was necessary to
write software to have the CPU maintain the display
and run the program at the same time. A
foreground/background type of operation is needed,
and this can get quite complicated.
The amount of CPU time required for the Lancaster display varies, but you can get an idea from
the hex keyboard scan and display of the basic KIM.
There, about 20% of the CPU time is spent on I/O
software. To use the Lancaster system, decide how
much delay you can tolerate in keyboard response,
how long you want to display, and how often you
will scan the keyboard for an entry -- five times a
second, ten, or more -- and write your software
accordingly.
Anything you store in a true video RAM
memory location will be output as a composite video
signal and displayed. The display is refreshed with
TTL logic, not CPU time. A software-scanned
keyboard and a video RAM are the fastest way to
make an entry and get an ASCII character
displayed. A video RAM is about the only practical
way to do animated graphics.
M.T.V., P.O. Box 12106, Raleigh, N.C.
27605, now sells a true video RAM for approximately $300, assembled and tested. The M.T.U.
board has 3-20 X 200-bit resolution (64,000 bits, or
about 8K of RAM), which is the highest I have seen.
The big disadvantage of a video RAM driven
CRT display is the lack of softwre compatibility.
Almost all, maybe 95% of the software published for
KIM, AIM, or SYM, is built to run with the respective ROM-based monitor program. That means you
will have to rewrite the I/O of the software to run
with a parallel keyboard and a video RAM. If you
expect to write or adapt most of your software, then
this method is very attractive; if you don't want to
write a lot of special I/O programs, you should think
twice before going this way.
A "6502 Video Driver Routine" software
package is available for KIM from Forethought Products, 87070 Dukhobar Rd., Eugene, OR 97402,
(503) 485-8575. It furnishes cursor movement, line
and page functions, scrolling, etc., and should save
the good programmer some time. Video RAM cards
are made by several other manufacturers: Matrox
~FebrUFry, 1981 IS_s_ue_9,
C=-O.:.M:..:.:.:...P.:.UT~E=_!
.
(580P G Andover Ave., Montreal, Quebec H4T
1H4~ Canada, telephone (514) 735-1182) has several
mOdtls from $225-$500; The Computerist (34
Che msford St., Chelmsford, MA 01824 (617)
256- 649) has one for $245.
!You want hard copy? A popular hard-copy outpuaeVice is a teletype, known to several generations
of h m radio operators as a TTY. KIM, AIM, and
SY have built-in monitor routines for TTY's and
othe serial devices. (I get tired of writing KIM,
AI ,or SYM. We need a symbol to refer to all
thre~ systems. Try KAS. Or we could add OSI,
anot~er popular 6502 system, and call it KAOS, pronouqced "Chaos.")
1'\ used TTY sells for $500 up, and will furnish
read4ble, dependabk, noisy, all-caps, 1to-baud output. l'\ TTY may also have a paper tape reader
and unch for mass storage, but don't bother with it.
The AOS cassette tape storage is quieter, more
relia Ie, and faster. The graphics capabilities of a
TTY are very limited.
ther printers are available with parallel or
serial I/O, grpahics capabilities, upper and lower
case, and better print quality. Of course, they usually co~t more. Among them are Centronics terminals,
the 'IJexas Instruments Silent 700, Decwriters,
Diab~o, Qume, etc.
the great advantage of a serial terminal is that
it wo ks directly with the KAOS ROM's; no RAM
_
129
is required to run it, and software purchased for any
of the KAOS systems will run as a "black box"
--just hook it up (which brings to mind the simplicity
of this operation for a serial device: only three wires
are needed. Hook up signal in, signal out, and
ground, and you're ready to go.)
Hard copy output is a real plus, but there is
something anomalous in paying three or four times
as much for a printer as for the computer that drives
it. Anomalous it may be, but a $3000 Diablo dances
nicely to the tune played by a KIM that only cost
$245 four years ago when it was shiny and new.
A video terminal such as the Lear-Siegler
ADM-3 has all the serial advantages of a TTY, but
no hard copy. Telecommunications, Alexandria, V A
22303, (703) 683-4019, sells rebuilt Datapoint video
terminals for $500 up. New terminals can be found
from $750 to $3000. But why buy a $750 terminal
for a $180 CPU? You can buy a complete PET or
OSI computer for not much more!
The answer, of course, lies in your purpose. If
you're going to use the computer occasionally, for no
more than a few hours a day, then limited line length
and readable print quality may be all you need. On
the other hand, if you're going to do extensive word
processing or software development, and will be looking at the display for hours at a time, you may be
willing to pay a lot more for a sharper, cleaner
display, with 80-character lines.
The Seawell little buffered mother
The LITTLE BUFFERED MOTHER
pro ides the most general possible
exp nsion: filling in the first 8K of
the memory map with RAM and
buff ring all of the E-connector lines
allo S straightforward expansion in
8K locks up to 65K. The provision
for bank select line allows for expan ion beyond 65K and/or the ability
to s itch devices in and out of the
me ory map, The four board slots
on t e LITTLE BUFFERED MOTHER
are~uffiCient to expand with 16K RAM
boa ds (SEA-16 or equivalent) or
EP OM (SEA·PROMMER II) to 65K.
The connector on the back of the
L1~LE BUFFERED MOTHER allows
furt er expansion of the motherboard
(SE ·MAXI-MOTHER). The back connec or can also be used as a board
SEA-I:.
..
SEA-l~ ...
SEA-qMOS ,.
SEA-qVT
slot. T/le whole system can be run
from a regulated supply by shorting
out the onboard regulators. The
LITTLE BUFFERED MOTHER also
has three LEOs indicating power, IRQ,
and NMI. A KIM keyboardlTTY switch
is also provided.
Litlle Buffered Mother
wl4K RAM _
wlo RAM
RAM Kit.
•
•
•
•
•
•
•
•
•
•
SINGLE BOARD DEVELOPMENT SYSTEM
..
. . 16K RAM BOARD
,
,
"
,
. . DAY/DATE CLOCK. 8 2K EPROM SOCKETS & 8K CMOS RAM
. 7K NMOS RAM. lK CMOS RAM
. . ., .
,. , . . . .
. WITHOUT RAM
. . . . . CVT POWER SUPPLY KIT...
.. , TRANSFORMER
SEA-qEBUG.
SEA-9DCl8 ,
ONLY . :1 ~~
HARDWARE BREAKPOINTS AND TRIGGERS, , .. .
..
. DOUBLE DENSITY, DOUBLE SIDED DISK CONTROLLER
(w/DOS for S E A - I ) . . . . . . . . , . . . . . .
SEA-I$DC
8 SERIAL PORTS WITH LOCAL PROCESSOR & DUAL PORT RAM
. UTILE BUFFERED MOTHER FOR KIM. SYM. AIM. w/4K RAM
SEA-L~M
... ....
. . ....
."
.. , ... WITHOUT RAM
RAM KIT· ADDITIONAL 4K of RAM & BUFFER FOR LBMIB,.
SEA'ijXI MOTHER .. 10-SLOT MOTHERBOARD.. . .. ,.........
SEA ICRO MOTHER 4-SLOT MOTHERBOARD. .
. . ..
. ..
. ..
SEAP OB
,
.4 FULLY-BUFFERED 6522s.
SEA-P OM MER II
EPROM PROGRAMMER
,
SEA-P OTO..
.. COMPLETELY DECODED PROTOTYPING BOARD POPULATED
ALL fARDS ASSEMBLED' . . . .
. .. .
."
,...... ....
$595
$280
$595
$395
$289
$310
$425
$595
$199
$159
$ 50
$135
$ 70
$260
$299
$ 99
. ... BLANK $ 49
WE P Y UPS GROUND FREIGHT ON ALL PREPAID ORDER~ PRICES AND SPECIFICATIONS
ARE o.IBJECT TO CHANGE WITHOUT NOTICE. WASHINGTON RESIDENTS ADD 5.3%
SALE TAX.
MASTERCHARGEIVISA ACCEPTED
Seawen products are 'also available from
Excert Incorporated and
A8 Computers.
(
I
I~
)~
SEAWELL~
BOX 30505,
SEATTLE, WA 98103
206/782-9480
,
$199
$159
. $ 50
Connects directly to the KIM, SYM or AIM
4 expansion slots
Buffers for all signals
4K RAM on board
Application and expansion connectors available
+ 5V. + 12V, and -. 12V regulators
Bank Select signal
Full decoding for the KIM·!
Power, NMI and IRO status LEOs
Provision for additional mDtherboards
130
COMPUTE!
---~------------------------
Even if hard copy will be needed at some stage,
there are advantages in being able to work with a
CRT screen up to the point of the print-out. A CRT
screen displays text much faster than a TTY,
displays it quietly, and does not waste paper.
The video RAM is one way to get ASCII 110;
another is with a serial video system, sometimes
called a "glass TTY." This is a video board with a
parallel keyboard port and a serial ASCII 110 port.
You add:
(1) your own monitor, modified TV, or RF modulator
with an oridnary TV'
(2) power supply;
(3) parallel ASCII keyboard;
(4) and some kind of case.
Now you have a serial video terminal with
capabilities similar to those of the ADM-3.
These video boards come in all stages of completeness, price, and features. You can get RS232 or
20ma 110; 32, 64, or 80 characters per line; upper
case only, or up to 128 ASCII characters; all-TTL
logic (a very old design), or ROM-based CPU; slow
or fast; with or without keyboard; one to three power
supplies required; $150 to $500. Be careful in your
choice; a high price may signify an old, expensive
design.
Any of the KAOS machines will think this kind
of terminal is an ordinary serial terminal, and most
software will run without any modification. Such
systems can be purchased from many suppliers. I
know of these:
Electronic Systems, San Jose, CA 95151 (408)
448-0800 ($200 for kit; keyboard needed);
Xitex Corp., 9861 Chartwell Drive, Dallas, Texas
75243, (214) 349-2490 ($175 kit; .keyboard needed; or
$375 for full kit including keyboard, case, etc.);
Electrolabs, Box 6721, Stanford, CA 94305, (415)
321-5601 ($239 A & T; keyboard needed);
Mostek Corp., 1215 W. Crosby Rd., Carrollton,
TX 75006 (214) 242-0444 ($195; keyboard needed;)
Synertek Systems (who also make SYM), Box 552,
Santa Clara, CA 95052 (408) 988-5600 ($389 - $450
complete);
Riverside Electronics Design, 1700 Niagara St.,
Buffalo, N. Y. 14207 (716) 875-7070 ($225 A & T;
keyboard needed; $150 complete kit including
keyboard.)
Netronics R&D, Ltd., 333 Litchfield Rd., New
Milford, CT 06776, (800) 243-7428 ($149.95 + $3
postage.)
After much looking and reading, and several longdistance telephone calls, I chose the "Stand Alone
ASCII/Baudot Computer Terminal" by Netronics R
& D, Ltd. This unit will provide 64 or 32 characters
per line -- 64 for TV direct or video monitor, and 32
for use with a modulator and plain TV. The baud
rate is 110 or 300 ASCII, 45.45 or 74.2 Baudot.
Output is either RS232 or 20 rna current loop (TTY
February 1981 Issue 9
------------------
"similar"). All printable ASCII characters are
available (upper and lower case) as well as 32 special
characters (Greek letters, symbols, superscripts, and
graphic characters).
Complete cursor control is provided, including
absolute and relative X - Y addressing. This allows
low-resolution graphics and computed relative cursor
jumps. At 300 baud you cannot do animation.
The Netronics video board has an on-board
+ 5V regulator, and draws about 450 rna. If it is
used with their keyboard, you supply + 8VDC (or
+ 5VDC) at 500 rna and 6.3VAC at about 50 rna
(most keyboard inverter chips require -12V DC; the
Netronics circuit eliminates the need for this supply.
It uses a voltage doubler to convert the 6.3VAC to
-12VDC for the keyboard encoder chip and the
RS232 110 levels.)
The video board mounts underneath the
keyboard and both fit into the Netronics $20
keyboard case, leaving room for the necessary
transformers and capacitors. When the keyboard and
the video board are assembled and housed in the
case, they provide full ASCII or Baudot input with
some interesting extras, and everything needed for
the output display except a monitor.
The Netronics documentation is a little on the
light side; nevertheless, assembling the kit should be
relatively easy for anyone with kit-building experience. The copper traces and pads are very small,
so a small-tip, low-wattage soldering iron is a must.
Take your time, and inspect each of the more than
1000 joints for proper solder flow and absence of
solder bridges. There are many plated-through
jumper holes in the board, and it is easy to insert a
component in the wrong hole. The component
numbers are marked on the board, but the jumper
holes do not have a silkscreened outline around them
as Heathkit boards do. If you have any doubt about
the proper placement of a component, trace the
schematic and follow the foil traces. (The first-time
kit builder is advised to get some expert supervision
in positioning the components. It's discouraging to
have to back up.)
A good photograph showing correct placement
of components on a completed board should be included with the documentation, but is not. The kit
does not include an RS232 connector.
My group of five electrical engineers built 9 of
these terminals. Five of the boards failed to work at
first because of poor solder joints or misplaced
jumpers. One board had a bent IC pin, and one had
3 jumpers missing. One, assembled by a good
solderer with a known good board for reference,
worked the first time it was hooked up.
A few modifications to the board might be considered. If you replace jumper S10 with a normally
closed pushbutton switch, you can generate the
BREAK command like a TTY.
Put a SPDT switch in place of J3-J4 on the
keyboard, and you can switch easily between all-caps
132
COMPUTE!
with numbers (TTY mode) and typewriter mode,
with both upper and lower case. When you are
writing or running programs in BASIC you will probably find the all-caps mode most convenient. If you
intend to do any word processing, you will find that
ability to change easily to upper or lower case is very
helpful.
If you think you may want to change from
RS232 to 20 ma loop, install a SPDT toggle switch
at Sll, and a DPDT switch at S12. One pole of toggle switch S12 should be in series with R 12, and the
other replaces jumper S12. These switches permit
you to change from one system to the other without
changing 6 jumpers. (Fig. 1). For RS232, set switch
Sll to position B, close S12, and use pins 2 and 3
for 110. For 20 ma current loop, set switch Sll in
position A, switch S12 open, and use pins 24 and 25
for 110. Jumpers S8, S9, and S10 are installed as
shown.
{ )1-1
)1-7
GND
)1-17
20MA IN
RS232 IN
R52"
)1-25
)1-2
==l
+5
58
D
0
59
1
HANDSHAKE
LINES
':"
)1-20
)1-5
)1-6
)1-8
+5
+5
SIG
OUT
RS232 OUT )1-3 -------"VVIr--i
CURRENT )1-23
+5
SO URCE
-12 --"W\,--+..-y.,~
20MA OUT )1-24
-------------1
S10
L
S12, 2PDT
.J,.
SWITCH
SWITCHES SHOWN IN 20 MA POSITION
I/O MODIFICATION
FIGURE 1
Other lines in J 1 will have to be connected to
your terminal, but different computers and terminals
may require different lines. KIM has a 20 ma current loop 110, but the input to the terminal needs to
be inverted. Set Switch Sll to Position B, and open
Switch S12. Wire KIM A-1 to N etronics J 1-1, KIM
A-T to Netronics Jl-24. Jumper KIM A-S (S acts as
a current source) to A-V and wire A-V to Netronics
Jl-25. (You can use Netronics Pin J-1 jumpered to
Jl-25 as a current source; if you do this, then do not
use KIM A-S.)
You could make a simple RS232 adapter for
KIM to talk over, but that is another story. Pins
J 1-1-5, 6, 8, 17, and 20 are handshake lines for talking to a modem, and will not be used by KIM.
The power supply shown in Fig. 2 may not be
ideal, but it works and fits inside the keyboard case.
Februory, 1981, Issue 9,
FUSE
1----..
~
' T{-C-1--;VDC
Yi
L
T:' I,II:L---_-<-_ _
117 VAC
POWER SUPPLY
6.3VAC
FIGURE 2
PARTS LIST
Tl Transformer 6.3 VAC @ 1.2 A Radio Shack #273-050 $3.49
T2 Transformer 6.3 VAC@300maRadio Shack #273-13842.49
Dl Diode bridge, lA, 50 PIV Radio Shack #276-1161
.79
6 Capacitor, 3300 uf, 35V Radio Shack #272-1021
2.99
The Netronics kit has a few bad features. One is the
lack of enough detail in documentation. The next
may be only a personal idiosyncrasy, but I strongly
prefer to use a complete set of Ie sockets; Netronics
provides sockets only for the 24- and 40-pin IC's.
I wish they had provided an RS232 chassis connector -- perhaps even as an option -- so I wouldn't
have had to order one from another company.
The printed circuit board for the Netronics
keyboard is a little flimsy for key pounding. If it is
mounted properly it is perfectly OK, but the
mounting instructions are included only with the optional case, not with the keyboard itself.
There is no line feed key; Control J yields a line
feed. If your computer echoes a line feed when you
send it a carrige return, you're okay; otherwise you
have either a programming problem or a minor pain
in the neck.
No serial video board I have seen -- Netronics
included -- has high-resolution graphics like a
memory-mapped video board. This could be provided with a RAM character generator, but it really
isn't expected at this low price. The Netronics 20 ma
current loop is not isolated like the Xitex, and so
may not work well with some devices. It does not
work well with all the devices I have tried, including
KAOS systems.
Granted these deficiencies, why am I glad I
bought the Netronics? To summarize:
Quick delivery via an 800 phone number and credit
card.
Complete cursor control.
TTY mode, with upper/lower case eaisly available.
The full ASCII character set plus the Greek
alphabet, other characters, and some graphic symbols.
Shift lock, control key, and escape key.
A true delete key (Some delete keys only back up the
cursor; this one also erases the unwanted character.)
The board works directly with my KIM TTY
monitor ROM -- no special software support.
My KIM now has a video terminal which cost less
than the KIM. It is a complete, working terminal
C_O_M_P...:..-UTf~
_F_eb_ru_O---,ry_,1_98_1._IS_SU_e_9
133
,
which will talk not only with KIM but also with
time-sharing systems anywhere, I consider it a very
efficient and cost-effective means of obtaining ASCII
input/output for any of the four KAOS systems.
Given the delay between writing and publication, by the time you read this there may be
something better and/or cheaper on the market. These
comments should help you to analyze the data sheets
and schematics. I can testify that a carefull kitbuilder, in a few evenings of work, can put together
a very attractive and efficient terminal at a very
0
reasonable price.
i*******************************K
A
S
T
..
-..~
•
:
_
I
I
M
M
..,
Y
M
•.
I
M
'I
FROM CASSETIE FAILURES
PERRY PERIPHERALS HAS
_
THE HOE SOLUTION
: OMNIDISK SYSTEMS (5" and 8")
:
I
~
..
..
....:
:
..
:
:
: ACCLAIMED HOE SOFTWARE
__ Assembler. Dynamic Debugging Tool.
Text Output Processor. Comprehensive
:
_I Memory Test
..
:
:
..
Coming Soon-HOE BASIC
: PERRY PERIPHERALS S-100 PACKAGE
~I
Adds Omnidisk (5") to
~i
_~
Your KIM/S-100 System
:
Construction Manual-No Parts
FODS & TED Diskette
:
$20. +$2. postage & handling. (NY residents
..
:
..
..
..
:
..
-,_I_
-!
-I
add 7%- tax) (specify for 1 or 2 drive system)
Place your order with:
PERRY PERIPHERALS
P.O. Box 924
Miller Place, N.Y. 11764
(516) 744-6462
:1
:1
-,
:
:
;
Your Full-Line HOE Distributor/Exporter
.
:
..
..
..
:
:
:
:
..
:
.********************************
Compare Our Prices With Any Others
Rockwell's
AIM-65 1K System:
Synertek's
SYM-1
1K System:
Commodore's KIM-11K System:
si
5
2 5..
4K System
4K System
$459.
259.
1 5.
FOR YOUR SYSTE+'S EXPANSION
The Computerist, Inc's:
16K DRAM
32K DRAM
Video Plus II
Mother Plus II & Card Cage
S279.
375.
279.
115.
Pfto Plus 11
A KilO-Board
D AM & Video Cable
P wer Supply for SYM-1
Power Supply and Enclosure fo~ AIM·65
Power Supply and Enclosure for KIM-1
S119.
65.
All products are factory warrantied. priC~S include full documentation.
Send Check or Mone Order to:
,
Hepburn Me •
12 Grosvenor S reet
Lowell, MA 0 , 851
Please add $5.00 shipping and handling. /rfA residents add 5% sales tax.
* Mini Computers and ~ccessories
i
:
S42.
55.
15.
39.
134
COMPUTE!
~!M~fle Clock
Owen Sound, Ontario
There are lots of clock programs around, but this one
is a little different, and a lot more useful than most.
It is written for a SYM-1 with 4K memory, but will
work with a bare board. It is similar in some ways to
the one in Issue 1 of Compute II, but doesn't require
Basic or a CRT.
While most clock programs using the LED
readouts won't do anything else while the clock is
running, this one sits at the top of your memory, out
of the way of most programs, and quietly ticks away
while you and your SYM do other and better things.
But when you want the time, either visually or for
use by a program, just call it and there it is.
Since a program such as this will likely be stored
on tape and loaded when required over the years, no
page zero slots are used so you don't have to
remember or keep track of them.
The clock runs in 24 hour format. If you prefer
12, change location 0FAB to 12. Then to start the
clock, enter the hours, minutes and seconds, with fifteen or twenty seconds lead time, into locations
OFFD, OFFE and OFFF respectively. Then enter
"GO F3F" and at the exact second hit "CR" and
presto! Nothing happens! Ab, but it does. Your clock
is running, quietly minding it's own business, eagerly awaiting your summons. Now, to see the time, all
you do is hit "SHIFT CALC CR" or "SHIFT 0
CR" or any other "UNRECOGNIZED" command.
The time will be displayed for a few seconds, then
the readouts will be blanked except for a row of dots.
As soon as you see the dots, you can go back to
0005
0010
0020
0030
0040
0050
0060
0070
0080
0090
0100
0110
0120
0130
0140
0150
0160
0170
0180
0190
0200
0210
0220
·
I
;
;
;
·
I
;
;
;
;
·
I
;
;
;
;
;
;
whatever you were doing with your SYM. If you
want the time displayed during, and as part of, a
program, just use "JSR B9 OF" and there it is.
Most importantly, though, if you want the time
for controlling purposes, just call it at OFFD, OFFE
and OFFF with your program. It can, at the proper
time, sound an alarm, turn off the lights, turn on
your lights, and/or whatever makes you happy.
If you don't want clock time, but just the time
since your SYM was turned on (actually since the
clock started), don't enter anything in OFFD-F. Just
hit "GO F3F CR" and the clock will automatically
start at 00 hours 00 minutes 00 seconds.
If your SYM is new, this is a good chance to experiment, changing things to suit your purposes. For
example, try moving "DLY" from line 1090 to line
1010 (change "EB" to "D4" at location OFEA).
Your SYM now looks like a cheap digital clock. Now
try changing "OA" at location 0FD2 to "1 A' " then
move lines 1070 and 1080 to a new location between
lines 1000 and 1010. Do you prefer the display this
way?
The theory of operation is similar to that given
for my clock article in Compute II no. 1, which required Basic and a CRT. However, the program is
somewhat different because the clock in that article
kept time in hex, while this one keeps time in
decimal. To work in decimal with "SED" you must
use ADC or SBC. "INC" just doesn't work.
Your SYM-1 is very powerful by itself, and is
the basis for an extremely complex and powerful
system. To get the most from it, I urge you to join
the SYM-1 Users' Group, P.O. Box 315, Chico, CA
95927. And, of course, subscribe to and keep reading
COMPUTE!
.OS
****************************************
****************************************
***
***
***
***
> > > SYMPLE
CLoen: < < <
***
***
***
***
BY A. M. MACKAY
***
***
CO-ORDINATORI SURVEY DEPT.
***
***
GEORGIAN COLLEGE A.A.T.
***
***
1150 EIGHTH STREET EAST
***
***
OWEN SOUNDI ONTARIO CANADA
***
***
N4K 5R4
JUNE 181 1980
***
***
****************************************
****************************************
.BA $OF3F
;
;
;
OUTBYT
SCAND
February, 1981. Issue 9.
* * * DEFINITION OF LABELS * * *
.DE $82FA
.DE $8906
February. 1981. Issue 9.
COMPUTE!
135
FACTORY PRICING
IN STOCK!
N-l tJ.OS
IMMEDIATE DELIVERY!
1£C\,\~OlOG
~ ~\'s 65
~~s--­
OO~R
PLUS
•
•
•
•
•
•
•
•
•
•
•
MPS 6550 RAM for PET
MPS 6530-002, -003 for KIM-1
MANUALS
KIM-1 MICROCOMPUTER
KIM-3 8K STATIC RAM MEMORY BOARD
KIM-4 MOTHERBOARD
KIM PROMMER
KIM-1 & 4 Compatable Eprom Programmer
KIMATH
Chips with Listing
KIMEX-1 EXPANSION BOARD
KIM-1 Plugable PROM, Ram and I/O Board
RS-232 ADAPTER
For KIM-1
POWER SUPPLIES
STANDARD MICROSYSTEMS
*UART's
* FLOPPY DISC DATA HANDLER
* BAUD RATE GENERATORS
* CRT CONTROLLERS
FALK-BAKER
ASSOCIATES
382 FRANKLIN AVE • NUTLEY, NEW JERSEY 07110
(201) 661-2430
WRITE. CALL OR RETURN OUR COUPON FOR CATALOGUE AND PRICE LISTS.
136
COMPUTE!
0230
0240
0250
0260
0270
0280
0290
0300
0310
0320
0330
0340
0350
0360
OF3F- 20 86 8B
0370
Of42- A9 71
0380
OF44- 8D 7E A6 . 0390
0400
OF47- A9 OF
OF49- 8D 7F A6 0410
0420
OF4C - A9 B9
OF4E- 8D 6D A6 0430
OF51- A9 OF
0440
OF53 - 8D 6E A6
0450
0460
OF56- A9 CO
0470
Of 58- 8D OB AC
OF5B- 8D OE AC
0480
OF5E- AD OD AC
0490
OF61- 29 BF
0500
0510
OF63 - 8D OD AC
OF66- A9 50
0520
OF68- 8D 06 AC
0530
OF6B- A9 C3
0540
OF6D- 8D 05 AC
0550
OF70- 60
0560
0570
0580
0590
OF71- 48
0600
OF72- f8
0610
OF73 - CE fC Of 0620
0630
Of76- DO 3B
Of78- A9 14
0640
Of7A- 8D fC Of 0650
Of7D- 18
0660
Of7E- A9 o 1
0670
Of80- 6D ff Of 0680
OF83- 8D ff Of 0690
Of86- C9 60
0700
Of88- DO 29
0710
0720
Of8A- A9 00
Of8C - 8D ff Of 0730
0740
Of8F- 18
Of90- A9
0750
1
Of92- 6D FE OF
0760
OF95- 8D FE Of 0770
Of98- C9 60
0780
Of9A- DO 17
0790
A9
00
0800
Of9C Of9E- 8D fE Of 0810
OfA1- 18
0820
°
.DE
.DE
.DE
.DE
.DE
.DE
.DE
.DE
.DE
.DE
.DE
ACCESS
IFR2
DISBUF
URCVEC
IRQVEC
CLRINT
T1CH
T1LL
ACR
IfR
IER
s8B86
SA405
$A640
$A66D
SA67E
SAC04
SAC05
SAC06
SACOB
SACOD
SACOE
February. 1981 Issue 9
;FLAG FOR DISPLAY TIMER
;
·
;
,
START
·
·;
,
,
CLOCK
it
it
*
JSR
LDA
STA
LDA
STA
LDA
STA
LDA
STA
LDA
STA
STA
LDA
AND
STA
LDA
STA
LDA
STA
RTS
* * *
PHA
SED
DEC
BNE
LDA
STA
CLC
LDA
ADC
STA
CMP
BNE
LDA
STA
CLC
LDA
ADC
STA
CMP
ENE
LDA
STA
CLC
INITIATE TIMER
ACCESS
IL"CLOCK
IRQVEC
IH"CLOCK
I RQVEC +1
IL"TIME
URCVEC
IH"TIME
URCVEC + 1
ISCO
ACR
IER
IfR
IsBF
IFR
1$50
T1LL
ISC3
T1CH
it
it
it
;UNlJRITE PROTECT SYS RAM
:SET IRQ
;
VECTOR
TO
"CLOCK"
;SET UNRECOGNIZED
;
COMMAND VECTOR
,
TO
"T I ME"
;SET aITS 6 & 7
;
FOR FREE RUNNING MODE
;
AND T1 INTERRUPT ENABLE
;CLEAR T1 FLAG BIT 6 BUT
;
DON'T DISTURB OTHER
;
IFR BITS
;SET
;
TIMER
;
FOR 1/20 SEC AND
;
START TIMER
·
INTERRUPT SERVICE ROUTINE
;
;
COUNT
EXIT
120
COUNT
;
101
SECS
SECS
IS60
EXI T
100
SECS
,.
101
MINS
MINS
IS60
EXIT
100
MINS
;
it
it
it
;SAVE ACCUMULATOR
;TIME IS I N DEC I MAL MODE
; SEE If 1 SEC HAS PASSED
; If NO" EXIT
;If YES,
, RESTORE COUNT
;
AND
;
ADD 1
,
TO
;
SECS
;SEE IF 60 SECS HAS PASSED
; I f NO" EXIT
;If YES, RESET
, SEC S TO ZERO
;
AND
;
ADD
,
ONE TO
;
MINS
;SEE IF 60 MINS HAS PASSED
; If NO" EXIT
;If YES" RESET
;
MINS TO ZErtO
;
AND
·
·
·
·
February, 1981. Issue 9
OFA2OFA4OFA7OFAAOFACOFAEOFBOOFB3 OFB6OFB7OFB8-
OFB9-OFBC OFBDOFBEOFBFOFC2OFC5oFC8 o FCB OFCEOFD1OFD3OFD6OFD8OFDBOFDEOFE1OFE4 OFE6 o FE9 OFEBOFEDOFFOOFF3 OFF4OFF6OFF7OFF8 OFF9-
OFFAOFFBOFFCOFFDOFFEOFFF-
A9
60
8D
C9
DO
A9
8D
AD
D8
68
40
20
48
8A
48
AD
20
AD
20
AD
20
A9
8D
A9
8D
20
AD
2C
10
CE
10
A2
AD
9D
CA
10
68
AA
68
60
137
COMPUTE!
01
FD
FD
24
05
00
FD
04
OF
OF
OF
AC
86 88
FD
FA
FE
FA
FF
FA
OA
FB
FF
IF
06
FA
05
F5
Fa
EB
05
FA
40
OF
82
OF
82
OF
82
OF
A4
89
OF
A4
OF
OF
A6
F7
80
14
00
00
00
LABEL FILE:
[
0830
0840
0850
0860
0870
0880
0890
0900
0910
0920
0930
0940
0950
0960
0970
0980
0990
1000
LDA
ADC
STA
CMP
BNE
LDA
STA
LDA
CLD
PLA
RTI
EXIT
;
;
;
TIME
* * *
;
ADD
;
ONE TO
;
HOUR
;SEE IF 24 HOURS HAS PASSED
; I F NO.1 EXI T
; I F YES.I RESET
HOUR TO ZERO
;
;ENABLE TIMER INTERRUPT
;BACK TO HEX
;RESTORE ACCUMULATOR
DISPLAY ROUTINE
ACCESS
;
;
;
HOUR
OUTBYT
MINS
OUTBYT
SECS
OUTBYT
ISOA
eNT 1
'SFF
SA41F
SCAND
MASK
IFR2
DISPL
CNTI
DLY
IS05
MASK
DISBUF .. x
* * *
;UNWRITE PROTECT SYS RAM
;SAVE ACCUMULATOR
;
AND
;
X-REGISTER
;PUT
;
TIME ON
;
DISPLAY
;SET NUMBER OF
;
TIMEOUTS FOR DISPLAY
;SET LENGTH OF
;
TIMEOUT
;LIGHT LEDS
;CHECK TIMER
;
IRQ
;IF NO IRQ REPEAT
;ELSE START AGAIN
;FINISHED?
;CLEAR
DISPLAY
CLR
.
.
;
.I'
.I
;RESTORE
X-REGISTER AND
;
;
ACCUMULATOR
* * STORAGE DEFINITIONS * * *
IOUTBYT-82,A
II,R2-A40S
IIRQVEC-A67E
IT I LL-AC 06
IIEn-ACOE
EXIT-O,B3
OISPL-O,DB
CNTI-OF'F'B
MINS-OF'F'E
110000. 1 000. 1000
>
100
HOUR
CLRINT
;
;
JSR
PHA
TXA
PHA
LDA
JSR
LDA
JSR
LOA
JSR
LDA
STA
LOA
STA
JSR
LOA
BIT
BPL
DEC
BPL
LOX
LOA
STA
DEX
BPL
PLA
TAX
PLA
RTS
10 10
1020
1030
1040
1050
1060
1070
1080
1090 DLY
1 1 00
1110 DISPL
1120
1130
1140
1150
1160
1170
1180 CLR
1190
1200
1210
1220
1230
1240
1250
1260 ;
1270 ;
*
1280 ;
1290 MASK
1300 CNT 1
1310 COUNT
1320 HOUR
1330 NINS
1340 SECS
1350
I = EXTERNAL J
"01
HOUR
HOUR
IS24
EXIT
.BY
.DS
.aY
.BY
.8Y
• BY
.EN
%10000000
;BIT 7 ONLY
1
;PROVIDE SPACE FOR CNT1
20
;SET COUNT TO 20
00
;START TIME AT 00 HOURS
00;
00 MINUTES
00 ;
0 0 SEC OND S
ISCAND-a906
IDISBU,-A640
ICLnINT-AC04
IACR-ACOB
STAnT-OD,
TIME-O,E9
CLR-O,ED
COUNT-O"C
SECS-O,F'F'
IACC ESS -81386
IUnCVEC -A66D
ITICH-ACOS
II ,n-AC 00
CLOCK-O,71
DLY-O,D6
MASK-O"A
HOUR-OF',D
138
COMPUTEl
Expanding
KIM-Style
6502 Single
Board
Computers
Hal Chamberlin
Editor's Note: Hal ended his first installment with this· ..
"The real question at this point then is: How many expansion boards
can the unbuffered microprocessor bus dn've before becoming overloaded? The
6502 microprocessor is rated to dn've slightly more than 1 standard TTL
load (equivalent to five low power shot/Icy loads) on its address and doJa
busses while most of the RAM's and ROM's tied to the doJa bus can dn've
two standard TTL loads, The 6520, 6522, and 6530 I/O chips have the
same dn've capability as the microprocesjor, Thus in general the answer is
at least four boards providd that the expansion boards themselves buffer the
bus such that only one low power shot/Icy load (.36MA in the zero state) is
presented to the bus by the board, Many boards on the marlcet and particularly those designed for an unbuffered bus do this, Actually, any well
designed board would be expected to buffer the bus in order to provifk clean
signals for the remaintkr of the board logic, The reason tho.t only four
boards can be driven instead ofjive is that some of the address lines are
loatkd by a low power Shot/Icy duotkr Ie on the computer board itself
Part 2 of 3
lI"he Great Experiment
Of course loading the microproce~sor with a full five
loads puts the system right at the limit of rated drive
current. One of the problems with testing digital circuitry is that there is no obvious indication of
marginal operation that may later develop into a full
fledged failure as components age. In order to determine the actual drive limit, the author took a fully
stuffed AIM-65 (4K on-board RAM, assembler
ROM and BASIC ROM's) and started adding
Micro Technology K-1016 16K memory boards, the
idea being to add boards until failure due to bus
overload occurred. These boards use low power Shottky buffers onboard so each one would be expected to
add a .36MA load to the bus.
Since the AIM's 40K of free addresses would
only accomodate two of these boards, the most
significant address bit was cut away from the bus at
each socket position and instead connected to parallel
output bits on the AIM's application connector. The
boards were then jumpered to respond to addresses
between 2000 and 5FFFF (hex). By programming
only one output bit to be low at a time, a rudimentary bank switching setup was implemented. When
the system was reset, all output bits automatically go
high thus disabling all of the boards and preventing
interference with the AIM monitor (since A15 was
ignored, an enabled board would also respond to
AOOO-DFFFF). A proper bank switch setup would
have required a two-input OR gate (negative AND)
ito be tied to each of the A15 pins. In any case, it
was adequate to run a memory test program.
February, 1981 Issue 9
The first trial was to install 4 of the 16K boards
which worked fine as expected. Next, another card
file was placed below the first and jumper wires
added between the two motherboards. This gave a
total of 9 bus slots which were filled with 16K
memory boards. Again the memory test program
(which wrote all 144K of memory with random data
before reading any of it back) indicated no problem
and the AIM monitor and BASIC continued to work
flawlessly. A check with an oscilloscope revealed
minimal signal degradation.
Finally, a third card file was added and bus
jumpers installed to give a total of 14 slots. Three
additional 16K memory boards were scrounged (I
had no idea that more than 9 or 10 boards could be
driven) to give a total of 192K of RAM. Again there
were no obvious problems and the bus was being
loaded to three times rated capacity! Figure 3 shows
what the stack of card files looked like which is
obviously impractical unless one cuts a hole in the
tabletop to let the two extra card files hang below (I
simply sat on a drafting stool to use the system). The
rear view in figure 4 shows the interconnected
motherboards and individual Board Enables from the
application connector. Note the gridwork of copper
braid between motherboards which makes the
groundplane essentially continuous between the
motherboards.
Photographs of the address and data bus signals
were taken while running the memory test program
and are shown in figure 5. About the only visible
loading effect on the address bus is a long tail on the
zero-to-one transition during phase 1 of the clock.
The data bus appears to be even cleaner with just a
shade over lOONS required for the data to stabilize
after the leading edge of phase 2. The microprocessor
was driving the data bus for the data bus for this
photo (scope synced to read/write line on the bus).
The zero logic levels, which one would think show
the effect of gross overloading most, were still in the
0.3 volt range although the one levels were down to
only 3 volts from a normal lightly loaded value of
nearly 4 volts. Note the almost complete absence of
noise. These "overloaded" signals actually look far
better than most S-100 bus signals!
While these results are encouraging and certainly show that a four board load does not bring a
system to the brink of failure, it does not mean that
loading rules can be disregarded altogether. Some
AIM's, as well as SYM's and KIM's, can be expected to have a weak component on-board that may
not be able to drive a 12 board load adequately for
reliable operation. Thus the' 'official" recommendation is to stick with the spec book and limit unbuffered systems to four boards. However, individual
hobbyists should be able to go one or two boards
over the limit with little probability of problems. Actually, addressing limitations are more likely to limit
system size than bus drive capability with today's
dense boards.
February, 1981 Issue 9.
COMPUTE!
139
6502 FORTH
FIG.3.FRONT VIEW OF 192K RAM TEST SYSTEM
FIG. 4. REAR VIEW OF 192K TEST SYSTEM
SHOWING MOTHERBOARDS WIRED TOGETHER
A.
•••••
1
ADDRESS
BUS
6502 FORTH is a complete programming system which
contains an interpreter / compiler as well as an
assembler and editor.
6502 FORTH runs on a KIM-I with a serial terminal.
(Terminal should be at least 64 chr. wide)
All terminal I/O is funnelled through a jump table near
the beginning of the software and can easily be
changed to jump to user written I/O drivers.
6502 FORTH uses cassette for the system mass storage
device
Cassette read/ write routines are built in (includes
Hypertape).
92 op-words are built into the standard vocabulary.
Excellent machine language interface.
6502 FORTH as user extensible.
6502 FORTH is a true implementation of forth according
to the criteria set down by the forth interest
group.
Specialized vocabularies can be developed for specific
applications.
6502 FORTH resides in 8K of RAM starting at $2000 and
can operate with as little as 4K of additional
contiguous RAM.
6502 FORTH PRICE LIST
KIM CASSETIE, USER MANUAL, AND
COMPLETE ANNOTATED SOURCE
LISTING
$90.00
PLUS S&H 4.00
($2000 VERSION)
USER MANUAL (CREDITABLE
TOWARDS SOFTWARE
PURCHASE)
$15.00
PLUS S&H 1.50
SEND A S.A.S.E. FOR A FORTH
BIBLIOGRAPHY AND A COMPLETE LIST OF 6502 SOFTWARE,
EPROM FIRMWARE (FOR KIM,
SUPERKIM, AIM, SYM, and
APPLE) AND 6502 DESIGN
CONSULTING SERVICES
AVAILABLE
.
Eric Rehnke
1067 Jadestone Lane
Corona, CA 97120
B.
DATA
BUS
FIG. 5. BUS SIGNAL WAVEFORMS IN 192K TEST
SYSTEM. TOP WAVEFORM IN EACH PHOTO IS
PHASE 2 CLOCK.
©
Now Available For
KIM, AIM, And SYM
140
Load And
Save
KIM BASIC
Programs
OnYourSYM
George Wells
LaVerne, CA
The SYM and KIM microcomputers are close
cousins. Their hardware and tape interface compatibilities are well known. Not so well known is the
fact that the BASIC interpreters on the two systems
use the same tokens for their reserved keywords
which makes transfer of BASIC programs between
the SYM and KIM almost trivial.
Mike Hanna, a friend of mine who has had a
KIM with BASIC for much longer than I have had
my SYM with BASIC, has offered to share his
library of BASIC programs with me. We had considered implementing a telephone/modem interface to
accomplish this transfer but after comparing the
disassembly listings of the two interpreters we decided a tape transfer would be easier. The scheme we
finally settled on allow's the SYM to create and read
tapes in the original low speed KIM format since the
SYM does not support any of the faster versions.
Going from the SYM to the KIM is particularly simple; going the other way requires a short BASIC program (see listing).
SYM To KIM Transfer
STEP 1: Load the BASIC program to be transferred
into the SYM.
STEP 2: Exit BASIC and return to the Monitor (by
way of reset, for example).
STEP 3: Determine the end of the BASIC program
by examining the two-byte pointer stored at $7D/$7E
by entering.V 7D-7E. The SYM will respond with:
007D uv wX,yz
where wxuv is the end of the program (qrst) plus
one. The monitor will calculate qrst for you if you
can't do it in your head by entering .C wxuv-1.
STEP 4: Save the program on tape in KIM format
by entering:
.Sll,201-qrst
where qrst is the value from STEP 3.
STEP 5: Load the program into KIM BASIC in the
normal manner.
COMPUTE!
February. 1981. Issue 9
KIM To SYM Transfer
In order to load KIM formatted BASIC programs into your SYM you will need to have a copy of the
KIM BASIC PROGRAM LOADER listed with this
article. Save this program on tape (in high speed format, of course) so that you will have it whenever you
need it. NOTE: This program will not work with
Monitor Version 1.0 which has an error in the KIM
Load routine.
LIST: REM
100
110
120
130
140
150
160
170
180
OK
KIM BASIC PROGRAM LOADER
A=IJSR (~" 8B86" , 0)
A=42572: POKE A,I: POKE A+l,2: POKE A+2,255
FOR 1=0 TO 29
POKE 300+1, PEEK(:35960+l)
NEXT I
POKE 331),%
PRINT "AFTER 'LOADED" ME:SSAGE, ENTER:"
PRINT "POKE 125,PEEK(254): POKE 126,PEEK(255): CLEAR"
PRINT IJSROOO,a,"C6C5",&"8CAC", I))
STEP 1: On the KIM, save the program to be
transferred in the normal manner; but make sure it
is saved at the original tape low speed.
STEP 2: Initialize BASIC on your SYM and LOAD
and RUN the KIM BASIC PROGRAM LOADER.
STEP 3: Play the tape with the KIM program in
your recorder. If you have implemented a second
cassette control for your read-only recorder you will
have to over-ride it since this program will only activate the original cassette control.
STEP 4: After the LOADED message, enter the
command printed by the program and then SAVE a
copy of the KIM program in high speed format. In
case you get a BAD LOAD message, start over again
at STEP 2.
SYM/KIM BASIC Incompatibilities
The obvious hardware related incompatibilities due
to different address availability in the two systems require careful use of the PEEK, POKE and USR
commands. Of course, different terminals may also
have special requirements for cursor controls or
graphics capabilities. Not so obvious are the following additional potential problem areas.
GO: SYM treats GO as a reserved word so don't
enter GOTO as two words. Also make sure that GO
does not appear in any variable names such as
DRAGON.
GET: SYM does not implement this function but it
does reserve the same token as KIM. (See MICRO
24:15 if you want to implement GET on your SYM.)
USR: The multiple parameter versions of USR will
not work on the KIM. The single parameter version
will require a different set of POKE commands prior
to the USR but otherwise it works the same in both
systems.
& "ABeD": KIM does not support hexidecimal
notation.
COMPUTE!
February, 1981 Issue 9
ru
--------------------------~-------
..
~
I
-D~
I
.J
inc.
BOX 120
ALLAMUCHY, N.J. 07820
201-362-6574
HUDSON DIGITAL ELECTRONICS INC.
THE TASK* MASTERS
HOE supports the *TIM, AIM, SYM and KIM (TASK) with a growing line of computer programs and
peripheral co~ponents. All HOE component boards are state-of-the-art 4W' x 6%", with on board
regulation of all required voltages, fully compatible with the KIM-4 bus.
OMNIDISK 65/8 and 65/5
Single and dual drive 8" and 5Y4" disk systems.
Complete, ready to plug in, bootstrap and run.
Include HOE's proprietary operating system,
FOOS (File Oriented Disk System). From $795.00.
HOE DISK BASIC
A full range disk BASIC for KIM based systems.
Includes PRINT USING, IF ... THEN ... ELSE.
Sequential and random file access and much
more. $175.00
DM816·M8A
An 8K static RAM board tested for a minimum of
100 hours and warranted for a full 6 months.
$195.00
HOE ADVANCED INTERACTIVE
DISASSEMBLER (AID)
Two pass disassembler assigns labels and constructs source files for any object program.
Saves multiple files to disk. nM, AIM, SYM, KIM
versions. $95.00
DM816·UB1
A prototyping card with on-board 5V regulator
and address selection. You add the application.
$49.50
DM816·P8
A 4/8K EPROM card for 2708 or 2716 circuits.
On board regulation of all required voltages.
Supplied without EPROMS. $165.00
DM816·CC15
A 15 position motherboard mounted in a 19"
RETMA standard card cage, with power supply.
KIM, AIM and SYM versions. $545.00
DISK PROGRAM LIBRARY
Offers exchange of user contributed routines
and programs for HOE Disk Systems. Contact
Progressive Computer Software, Inc. for details.
HOE ASSEMBLER
Advanced, two pass assembler with standard
mnemonics. KIM, TIM, SYM and KIM cassette
versions. $75.00 ($80.00 cassette)
HOE TEXT OUTPUT PROCESSING SYSTEM
(TOPS)
A comprehensive text processor with over 30
commands to format and output letters, documents, manuscripts. KIM, TIM and KIM cassette
versions. $135.00 ($142.50 cassette)
HOE DYNAMIC DEBUGGING TOOL (DDT)
Built in assembler/disassembler with program
controlled single step an{j dynamic breakpoint
entry/deletion. TIM, AIM, gYM, KIM AND KIM
cassette versions. $65.00 ($68.50 cassette)
HUE COMPREHENSIVE MEMORY TEST
(CMT)
Eight separate diagnostic routines for both
static and dynamic memory. TIM, AIM, SYM,
KIM and KI M cassette versions. $65.00 ($68.50
cassette)
OIRDER FROM THESE FINE DEALERS:
Progressive Computer Software
405 Corbin Road
York, PA 17403
(717) 845-4954
Lux Associates
20 Sunland Drive
Chico, CA 95926
(916) 343-5033
Johnson computers
Box 523
Medina, Ohio 44256
(216) 725-4560
A-S Computers
115-B E. Stump Road
Mont90meryville, PA 18936
(215) 699-5826
Falk-Baker Associates
Perry Peripherals
382 Franklin Avenue
P.O. Box 924
Nutley, NJ 07110
Miller Place, NY 11764
(201) 661-2430
(516) 744-6462
Laboratory Microcomputer Consultants
P.O. Box 84
East Amherst, NY 14051
(716) 689-7344
141
142
Theory Of Operation
The key to the success of this scheme is in the fact
that the Microsoft BASIC interpreters automatically
recalculate the internal line pointers whenever a
BASIC program is loaded. Theoretically, this means
that a program that was originally saved at one address could be loaded into a different address if the
tape load routine is given the ID value of $FF and
the address where the program is to be loaded. The
problem is that in some versions of KIM BASIC the
ID value of $FF is used to save programs which
means that since the IDs match when loading, the
programs get loaded into their original address instead of the new specified address. There are two
ways to fix this problem. First, if you have access to
the KIM you can change location $2744 from $FF to
$01 before the program is saved. This is part of the
sequence LDA *$FF, STA $17F9.
The second method is the one the KIM BASIC
PROGRAM LOADER uses which will work with
any ID. It requires making a copy of the beginning
of the SYM Monitor Load routine on page one of
the SYM up to the point where the ID test is made.
The FOR/NEXT loop in the LOADER program
copies the code between address $8C78 and $8C95
and then an R TS instruction is attached to the end
($60 = decimal 96).
The jump to continue into the Monitor Load
routine is performed by an interesting technique
which Hans W. Gschwind of West Germany wrote
about in SYM-PHYSICS 4-20. It involves using the
multi-parameter version of the USR function by
pushing two return addresses on the stack so that
when the first subroutine finishes it returns to the address equal to the third parameter of the USR command plus one which is the continuation point in the
Monitor Load routine. The next R TS instruction encountered returns to the address of the second
parameter plus one which is the normal return point
for BASIC high-speed tape loads.
With this background in mind it is possible to
understand the following line by line explanation of
the KIM BASIC PROGRAM LOADER.
LINE 100: Calls the Monitor ACCESS routine to
allow passing of tape parameters to System Ram.
LINE 110: Passes tape start address of $201 and ID
of $FF to tape parameters.
LINES 120 to 140: Copies first part of Monitor
Tape Load routine to page one.
LINE 150: Ends page one copy with an R TS.
LINES 160 and 170: Prints message to be entered
after a good load. The command must be entered
manually since the KIM BASIC program will overwrite the LOADER program.
LINE 180: Jumps to address 300 (first parameter)
with Y index register equal to zero (fourth
parameter) indicating KIM tape format. The R TS at
address 330 jumps to address $8CAD (third
COMPUTE!
February, 1981 Issue 9
parameter plus one). The R TS at the end of the
Monitor Tape Load routine jumps to address $C6C6
(second parameter plus one) in the BASIC interpreter which modifies the line pointers to fit the new
location in the SYM.
Conclusion
Hopefully this scheme can be used to advantage by
anyone having access to both a SYM and a KIM. If
you find that it just doesn't work for you, try a different tape recorder. Mike and I spent many
frustrating days trying to get the SYM to KIM
transfer to work and it wasn't until I used a different
recorder with my SYM before we finally did have
success! Now we are able to transfer our BASIC programs with ease.
©
p
C
S
PROGRESSIVE COMPUTER SOFTWARE, INC.
405 Corbin Rd., York, Pa. 17403
(717)845·4954
Invites You To
STEP INTO THE WORLD
OF MACHINE LANGUAGE
PROGRAMMING
with
TEMA2
The most powerful machine language debugging
tool ever developed for the APPLE II. Debug
machine language as easily as BASIC.
• Flexible instruction set
• Command input syntax editor
• Totally invisible to the user program
• Complete. in-depth documentation
• Unique. PCS standard. self-paced
• Trainer program
• For 3.2 or 3.3 DOS
We specialize in systems and application hardware
for HOE and APPLE products,
--.::C~0~M~P~U~T=E!
__
F8_b_ru_o_r,v 19_81__I--=SS-=-U8=---.:..-9
AI M 65
143
BY ROCKWELL INTERNATIONAL
PROVEN R6500 MICROCOMPUTER SYSTEM DEVICES
Reliable. high performance NMOS technology ...
• R6502 Central Processing Unit (CPU), operating at 1
MHz. Has 65K address capability, 13 addressing modes
and true index capability. Simple but powerful 56
instructions.
• ReadlWrite Memory, using R2114 Static RAM devices.
Available in 1K byte and 4K byte versions.
• 8K Monitor Program Memory, using R2332 Static ROM
devices. Has sockets to accept additional 2332 ROM or
2532 PROM devices, to expand on-board Program
memory up to 20K bytes.
• R6532 RAM-Input/Output·Timer (RIOT) combination
device. Multipurpose circuit for AIM 65 Monitor functions.
• Two R6522 Versatile Interface Adapter (VIA) deVices,
which support AIM 65 and user functions. Each VIA has
two parallel and one serial 8-bit, bidirectional I/O ports,
two 2-bit peripheral handshake control lines and two
fully-programmable 16-bit interval timer/event counters.
AIM 65 is fully assembled, tested and warranted. With the
addition of a low cost, readily available power supply, it's
ready to start working for you.
AIM 65 features on-board thermal printer and
aJphMumeric display, and a terminal-style keyboard. It
has an addressing capability up to 65K bytes, and comes
with a user-dedicated 1K or 4K RAM. Two installed 4K
ROMIS hold a powerful Advanced Interface Monitor
program, and three spare sockets are included to expand
on-board ROM or PROM up to 20K bytes.
An Application Connector provides for attaching a TIY
and one or two audio cassette recorders, and gives external access to the user-dedicated general purpose I/O lines.
Also included as standard are a comprehensive AIM 65
User's Manual, a handy pocket reference card, an R6500
Hardware Manual, an R6500 Programming Manual and an
AIM 65 schematic.
AIM 65 is packaged on two compact modules. The
circuit module is 12 inches wide and 10 inches long, the
keyboard module is 12 inches wide and 4 inches long.
They are connected by a detachable cable.
THERMAL PRINTER
Most desired feature on low-cost microcomputer systems ...
• Wilde 2Q-column printout
• Versatile 5 x 7 dot matrix format
• Complete 64-character ASCII alphanumeric format
• Fast 120 lines per minute
• Quite thermal operation
• Proven reliability
FULl·SIZE ALPHANUMERIC KEYBOARD
Provides compatibility with system terminals ...
• Standard 54 key, terminal-style layout
• 26, alphabetic characters
• 10 numeric characters
• 22 special characters
• 9 control functions
• 3 user-defined functions
TRUE ALPHANUMERIC DISPLAY
Provides legible and lengthy display ...
• 20 characters wide
• 1&-segment characters
• High contrast monolithic characters
• Complete 64-character ASCII alphanumeric format
BUILT·IN EXPANSION CAPABILITY
• 44-Pin Application Connector for peripheral add-ons
• 44-Pin Expansion Connector has full system bus
• Both connectors are KIM-1 compatible
TTY AND AUDIO CASSETIE INTERFACES
Standard interface to low-cost peripherals ...
• 20 mao current loop TTY interface
• Interface for two audio cassette recorders
• Two audio cassette formats: ASCII KIM·1 compatible
and binary, blocked file assembler compatible
ROM RESIDENT ADVANCED INTERACTIVE MONITOR
Advanced features found only on larger systems ...
• Monitor-generated prompts
• Single keystroke commands
• Address independent data entry
• Debug aids
• Error messages
• Option and user interface linkage
ADVANCED INTERACTIVE MONITOR COMMANDS
• Major Function Entry
• Instruction Entry and Disassembly
• Display/Alter Registers and Memory
• Manipulate Breakpoints
• Control InstructionfTrace
• Control Peripheral Devices
• Call User-Defined Functions
• Comprehensive Text Editor
LOW COST PLUG·IN OPTIONS
• A65-010-4K Assembler-symbolic, two-pass
• A65-020-8K BASIC Interpreter
• 3K RAM Expansion Kit
$79.00
99.00
50.00
POWER SUPPLY SPECIFICATIONS
• + 5 VDC ± 5% regulated @ 2.0 amps (max)
• + 24 VDC ± 15% unregulated @ 2.5 amps (peak)
0.5 amps average
PRICE:
$389.00(1K RAM)
Plus $4.00 UPS (shipped in U.S. must give street address),
$10 parcel post to APO's, FPO's, Alaska, Hawaii. All international customers write for ordering information.
We manufacture a complete line of high quality expansion
boards. Use reader service card to be added to our mailing
list, or U.S. residents send $1.00 (International send $3.00
U.S.) for airmail delivery of our complete catalog.
2951 W. Fairmount Avenue
PhoenIX AZ. 8501 7
(602)265- 7564