In my previous project I mention the struggle I had to not get my 6551 working with my Ben Eater style 6502 machine. Once I had everything else working, and got a little better at using my oscilliscope, I figured it out.
Since it was no error of mine, I figure I'd share since others must be having the same trouble.
The IssuesWhile the Western Design Center and Rockwell versions of the 6551 appear on the surface to be the same chip, they most certainly are not. There are two important differences that I eventually figured out:
- Rockwell included the 1M resistor and the 2 capacitors for the oscillator circuit in the chip so the only external component is the crystal. Adding an extra two capacitors and a resistor will mess up the frequency.
- The Rockwell chip requires that /DSR, /DCD and /CTS be tied to ground if not used. Perhaps the WDC version has built-in pulldowns but Ben Eater does not have these pins tied to ground in his schematic.
Of course, if I'd bought the RS232 kit from Ben, like I originally did for the 6502, then I wouldn't have this problem so strictly speaking, his schematic is perfectly correct. For his kit. But I had already purchased the R6551AP before Ben posted his RS232 videos .. oh well.
The SolutionWell, I've already described it:
- tie 3 pins to ground
- exclude the two capacitors and the resistor
I've attached my full schematic for this module as a PDF. The code in Ben's video works just fine with the Rockwell chip after you make these hardware changes. I also included a complete but minimalist version of the code required to get this interface to work as an attachment to this project.
If you are struggling to get a terminal working on Windows, take a look at my instructions for configuring PuTTY in my previous project.
If you get stuck, like I did, please feel free to reach out to me via the comments below.
Milestone Reached!With the ACIA interface successfully working, I've finally completed the perfboard part of my project! One motherboard and four daughterboards. This seems like a good time to post a little gallery of the entire system.
I've written firmware with useful APIs for LCD, Keyboard, Serial and Timer which I'm happy to share if anyone is interested. It took a while to get it stable and reliable: easy when you just do one, harder when you include all the functionality in a single system.
Comments
Please log in or sign up to comment.