[Coco] Electronics Newbie question

Andrew keeper63 at cox.net
Fri Dec 16 22:10:53 EST 2011


Robert,

Depending on how long you've been "out of it", as far as everything 
goes, you may have a steepish learning curve (especially with proper 
interfacing with the CoCo's bus - from what I have seen, it is fairly 
straightforward, once you understand how address decoding and such is 
set up).

The biggest problem you'll face is the fact that there isn't (afaik) any 
"solderable" PCBs that will just "plug into" the cartridge slot; you'll 
have to first either build one, or find a design for one (I think a few 
exist out there?), and modify it to suit your needs (then have it made, 
or make it yourself, etc).

That can ultimately be a ton of work - just to get to a point of doing 
anything fairly basic...

But there may be another option: Use the serial port(s)

Either with a multi-pak interface and an RS232 cartridge, or via the 
bit-banger, you could probably set up a communications interface to a 
standalone Arduino board. What you would want to do:

1) Purchase an Arduino Uno (don't get fancy with a Mega, just go basic here)

2) Get the Arduino IDE set up on your computer/OS - make sure you can 
run the Blink sketch

3) Start learning how to program and work with the Arduino to read and 
write to the ports (blink LEDs, read switch states, etc) - the 
arduino.cc forums and the playground will help immensely; there is a TON 
of information out there on this

4) As you get comfortable with the Arduino, learn about how to build a 
"standalone" Arduino; that is, an Arduino built on a breadboard or PCB 
using minimal parts that can still be programmed by the PC, via a USB to 
TTL serial cable (you need simple parts like a pre-bootloaded ATMega328, 
a few capacitors, a 7805 regulator, a 16 MHz resonator, and a few other 
minor components)

5) At the same time, study the schematics of the original serial-port 
Arduino; learn how to interface using a MAX232 or equivalent 
(alternatively, there are methods using simple transistors as a 
buffer/voltage level changer that work well, too - a version of the 
Parallax Basic Stamp II used such a system - and I think there are a few 
standalone Arduinos that have been designed to use them, too)

Note: I don't recall, exactly, but I think - IIRC - the bit-banger port 
on the CoCo is already TTL serial (maybe somebody else here can 
enlighten us?); if so, then the next step will be relatively easy...

6) At a certain point, you'll have the knowledge and feel comfortable to 
build and test that standalone Arduino, and connect it to a serial port 
on the CoCo. You'll have to learn how to program the Arduino to send and 
receive serial strings, to use as commands from the controlling computer 
(whether a PC or the CoCo)

7) All that's needed then is to write that software so you can send a 
string like "[P10=HIGH]" (set Pin 10 HIGH) or "[READ P12]" (read the 
value on Pin 12), etc - all via the serial port. The code on the CoCo 
should be fairly simple to implement...

You can then do your interfacing via the Arduino, and have the CoCo 
command the Arduino to do simple things (or the Arduino can do more 
complex things, and execute those tasks based on commands from the CoCo, 
if you want).

I'm looking back on all of that and now I am wondering if that is indeed 
simpler than going thru the cartridge port (grin); I personally think it 
would be, ultimately - the cartridge port is a finicky beast, from what 
I am lead to believe, and it is very easy to blow the 6809 in the CoCo 
(no buffering on the lines - it's a direct bus to the CPU). But, if you 
want to go that route, read everything you can and heed all advice on 
interfacing, so your CoCo will live a long(er) life!

Good luck, hope this helps!

-- Andrew L. Ayers, Glendale, Arizona



More information about the Coco mailing list