Lending A Voice
I have Serial! Picked up a MC6850 ACIA from a local electronics surplus shop. The 6850 is much simpler than the Zilog SCC, with just a couple registers to set up. Writing a test program was much easier.
The 6850 doesn’t have a baud rate generator, just an option to divide the Tx/Rx clock by 16 or 64. This means that the clock fed to the ACIA should be one of these multiples of a common bit rate.
One common crystal frequency for serial work is 1.8432MHz because it can be evenly divided into the common bit rates (or perhaps the other way around). This is the crystal I had tried to use with the SCC, and without any additional circuitry, it would have given the ACIA a bit rate of 115200. That’s a little fast for a slow computer with no hardware flow control (since the TTL-USB adapter I’m using doesn’t have it).
What I ended up using was the 6.144MHz main system clock. Now, 6.144MHz divided by 16 or 64 doesn’t give a common bit rate, but 614.4KHz does. So I used a 74′192 decade counter to first divide the system clock by 10. This gives a option of using 38400 (÷16) or 9600 (÷64).
Ultimately, I like this design. It finally forced me to set a system clock, and it gives me a couple good options for serial bit rate. And with the 6MHz system clock, it has no problem keeping up with incoming serial data at 9600 in an inefficient polling loop, or even at 38400 with a tighter loop.
Now that I have the essentials working - ROM, RAM, and serial - it’s time for a monitor program. With a good monitor in place, I won’t have to keep pulling the ROM to re-flash it. Program debugging is much faster when it can be done by simply uploading programs to RAM.








