What options are there for adding an RS-232 port to a Commodore PET?
The way I've always seen it done [1] was to have an IEEE-488 to RS232
interface. The ones I have were made by -- Oh, I forget, something like
'Small Systems Inc' (Philip, do you rememebr), I have the B200
(EPROM-based stat machines + UART) and B300 (8048-based). I am sure thre
were others, anyway, making an IEEE-488-RS232 interface is a good
exercise in understand the IEEE488 bus (if you want to do that :-)).
[1] Years ago I was given an HP plotter with an IEEE-488 interface. At
the time, the computer I did most of my work on was a CoCo. I remember
using a PET + 8050 disk drive + B200 RS232 interface to simply read bytes
coming on the RS232 line from the CoCo and send them to the plotter.
Overkill, but it worked.
That method has the advantage of needing minimal software -- the standard
BASIC I/O commands will work. But I can think of 2 other solutions that
might work, if you don't mind writing the software.
1) Bit-bang it on 2 lines of the user port. Easy for output, a lot harder
for input if you want to avoid dropping characters -- you have to keep on
polling that RxD line :-). Then buffer those lines to RS232 levels using
a MAX232 or similar.
2) Hang a seiral chip off the system bus, mapping it to some unused
address. Obvious choices for the seiral chip (as they'll interface to the
6502 bus easily) would be the 6850 (needs an external baud rate
generator) or the 6551 (internal baud rate generator). Again you'd have
to buffer the serial lines to RS232 levels. You'd have to write driver
code for the chip you use, but it's a lot easier than writing the
bit-banging program.
-tony