THE SBC GAZETTE
A Terminal For "KAOS" (Kim, Aim, OSI, Sym)
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 parallel-connected 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 (June 1977) and in Popular Electronics (July 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.U., 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 320 × 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 software 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 (5800 G Andover Ave., Montreal, Quebec H4T 1H4, Canada, telephone (514) 735-1182) has several models from $225-$500; The Computerist (34 Chelmsford St., Chelmsford, MA 01824 (617) 256-3649) has one for $245.
You want hard copy? A popular hard-copy output device is a teletype, known to several generations of ham radio operators as a TTY. KIM, AIM, and SYM have built-in monitor routines for TTY's and other serial devices. (I get tired of writing KIM, AIM, or SYM. We need a symbol to refer to all three systems. Try KAS. Or we could add OSI, another popular 6502 system, and call it KAOS, pronounced "Chaos.")
A used TTY sells for $500 up, and will furnish readable, dependable, noisy, all-caps, 110-baud output. A TTY may also have a paper tape reader and punch for mass storage, but don't bother with it. The KAOS cassette tape storage is quieter, more reliable, and faster. The graphics capabilities of a TTY are very limited.
Other printers are available with parallel or serial I/O, grpahics capabilities, upper and lower case, and better print quality. Of course, they usually cost more. Among them are Centronics terminals, the Texas Instruments Silent 700, Decwriters, Diablo, Qume, etc.
The great advantage of a serial terminal is that it works directly with the KAOS ROM's; no RAM 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, VA 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.
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 I/O; 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 I/O port. You add:
- your own monitor, modified TV, or RF modulator with an oridnary TV'
- power supply;
- parallel ASCII keyboard;
- 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 I/O; 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 long-distance 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 ma current loop (TTY "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 ma. If it is used with their keyboard, you supply + 8VDC (or + 5VDC) at 500 ma and 6.3VAC at about 50 ma (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 I/O 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 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 S11, and a DPDT switch at S12. One pole of toggle switch S12 should be in series with R12, 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 S11 to position B, close S12, and use pins 2 and 3 for I/O. For 20 ma current loop, set switch S11 in position A, switch S12 open, and use pins 24 and 25 for I/O. Jumpers S8, S9, and S10 are installed as shown.
I/O MODIFICATION FIGURE 1
Other lines in J1 will have to be connected to your terminal, but different computers and terminals may require different lines. KIM has a 20 ma current loop I/O, but the input to the terminal needs to be inverted. Set Switch S11 to Position B, and open Switch S12. Wire KIM A-1 to Netronics J1-1, KIM A-T to Netronics J1-24. Jumper KIM A-S (S acts as a current source) to A-U and wire A-U to Netronics J1-25. (You can use Netronics Pin J-1 jumpered to J1-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 J1-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.
POWER SUPPLY FIGURE 2
T1 Transformer 6.3 VAC @ 1.2 A Radio Shack #273-050 $3.49
T2 Transformer 6.3 VAC @300ma Radio Shack #273-1384 2.49
D1 Diode bridge, 1A, 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 IC 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 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 careful kit-builder, in a few evenings of work, can put together a very attractive and efficient terminal at a very reasonable price.