Well, things never really go according to plan.
I had in mind to make this thread a step-by-step chronicle of building my first kit computer, an RC6502. I figured I would name the computer "Blue April," since... it's April, I was born in April, and I grew up in the '80s, when exciting computers with "Blue" in their names featured prominently in magazine ads that I gazed at.
The plan was to start with the simplest board (the backplane) and work my way up to the most complicated, meticulously testing as I went. Since I hadn't soldered anything since high-school (and that was stained-glass windows, not electronics), I figured I shouldn't get anywhere near anything more expensive than a resister with a soldering iron until after I had some practice.
All the PCBs I ordered came right away - *except* the backplane! It *still* never showed up (it fell into the black hole that is the USPS Atlanta Peachtree NW Distribution Center) and I ended up ordering a bunch of them from PCBWAY. Meanwhile I practiced soldering on the other boards, but with no backplane to power and connect them to each other I didn't really have a good way to test them.
Anyway, here are some photos of the project, my little workspace, and a couple shots of my home-made EPROM de-programmer, just for fun:
Attachment:
20220324_110210.jpg [ 3.28 MiB | Viewed 5348 times ]
Attachment:
20220324_114723.jpg [ 3.94 MiB | Viewed 5348 times ]
Attachment:
20220325_100852.jpg [ 3.75 MiB | Viewed 5348 times ]
Attachment:
20220327_180201.jpg [ 3.35 MiB | Viewed 5348 times ]
Attachment:
20220327_180839.jpg [ 3.63 MiB | Viewed 5348 times ]
Attachment:
20220331_132437.jpg [ 3.65 MiB | Viewed 5348 times ]
Attachment:
20220331_132637.jpg [ 3.33 MiB | Viewed 5348 times ]
As far as I can tell with my little multimeter, everything is working out OK. The voltage regulator on the backplane seems to be working, the clock module is producing a steady 8Hmz. However, I have encountered a puzzlement. Here is my testing setup:
Attachment:
20220403_202811.jpg [ 3.86 MiB | Viewed 5348 times ]
That's an Arduino running Ben Eater's 6502 bus monitor; on the left of the top (larger) breadboard is a single-step circuit; on the right is the reset button. The main event is the RC6502 SBC plugged into the RC6502 backplane. The SBC has RAM, ROM, and PIA disabled via jumpers; I didn't populate the clock (I'm using the single step circuit) and Arduino parts of the board. Even though there's an Arduino in this photo, I'm not really very interested in them, and I don't want to farm out all the most interesting parts of my computer (I.e., I/O) to a tiny but vastly more complex micro-controller. In the foreground is the RC6502 Project Board, which is not connected to anything; I'm just using its mini-breadboard to put out NOPS on the data bus.
Everything in that picture works as expected; the processor (a W65C02S6TPG-14 I ordered from Jameco) jumps to the end of its address space, jumps to $eaea, and starts reading and executing nops off of the data bus and counting through memory.
If I pull the SBC from the backplane and plug in this CPU module instead (using selfsame CPU):
Attachment:
20220403_202901.jpg [ 4.26 MiB | Viewed 5348 times ]
The address lines fill with gibberish. The CPU board is such a simple one that I can't understand what I might have done to it that made it not work.
The schematic for the CPU module is here:
https://github.com/tebl/RC6502-Apple-1- ... %20CPU.pdfAnd the schematic for the SBC is here:
https://github.com/tebl/RC6502-Apple-1- ... %20SBC.pdfThe only differences I spot concerning the CPU are that in the SBC pin 3 (PHIOut) is sent to the bus and pin 36 (BE) is pulled high through a resistor, whereas the CPU module leaves both of them unconnected. I can't see how PHIOut would have anything to do with what I'm seeing; the data-sheet from WDC is somewhat laconic about the BE pin.
Quote:
The Bus Enable input signal provides external control of the Address, Data and the RWB buffers. When Bus Enable is high, the Address, Data and RWB buffers are active. When BE is low, these buffers are set to the high impedance status. Bus Enable is an asynchronous signal.
Does "high impedance status" mean that the CPU is totally cut off from the address / data lines unless BE is pulled high?
I've done what testing I could think of with my multimeter, in terms of continuity testing all the pins on the connector against their corresponding pins on the CPU socket; the resistors are resisting. I'm stumped! I don't have an oscilloscope; short of getting one, is there any other troubleshooting I could try? Should I just try re-making the CPU module? My soldering has improved since then (it was one of the first ones I did), and I also refurbished my soldering iron with better temperature control (it was running WAAAAY too hot).
(Also, all of the photos I included seem to be sideways... I don't spot a way to rotate them inline, but if you click through to the larger version, my orientation descriptions make more sense!
)