Testing an 8-Bit Microprocessor on a Breadboard
One of the retro computer mailing lists I’m on recently had a side project go by about building a single board computer using a Hitachi HD63C09P 8-bit processor which is a descendant of the Motorola 6809. I followed along with interest and there were some small PCBs designed and when it got to the testing phase the project stalled because they couldn’t get the 63C09 to start up. For some reason the crystal wouldn’t start oscillating, or when using a full can oscillator the E & Q pins on the CPU wouldn’t oscillate. Lots of discussion from many very experienced electronics wizards about possible causes but no emails saying it was resolved.
Having no idea what how to fix it but seeing a problem that I wanted to know more about I looked to see if I might happen to have a 6809 or 63C09 processor sitting around. I didn’t, but looking online I saw that I could get five 63C09 processors from eBay for $2 each, so I went ahead and ordered them, expecting that by the time the microprocessors arrived the solution to getting the CPU running would be posted to the mailing list before I got around to breadboarding one.
The CPUs finally arrived and I started going through my archive of posts about it and hooked up a 63C09 on the breadboard according to the test rig schematics that had been posted. I had the same experience, the crystal wouldn’t start even though it was wired up correctly according to the data sheet and several other schematics that were used in different projects.
I yanked out the crystal and instead wired up 24MHz can oscillator and used a 7474 to divide the frequency down to 8MHz. With the output wired into the EXTAL input on the 63C09 the CPU started and the E & Q pins were oscillating. But the address pins were all stuck and not jumping around as I would have expected if the CPU was reading random instructions.
I wired up the data lines to force NOP onto the bus but still nothing. More reading and I found out that the CPU has to be reset after power up. After manually pulling the RESET line low and then high, sure enough the CPU started executing the NOPs and I could see the address lines cycling up through the 64k memory space! Remembering there had been discussion on the mailing list about different ways to handle automatically resetting the CPU at power up, I chose the simplest: a 2.2k pullup resistor on RESET and a 47µf capacitor from RESET to ground. That solved the reset problem and now on power up the CPU started execution immediately.
Got the 63c09 to run using a can oscillator and manually pulling reset low & then back high. pic.twitter.com/PGPBZXhRqE— Chris Osborn (@FozzTexx) September 28, 2015
With the CPU working from the can oscillator I decided to try getting it to run with a crystal. Again I kept reading everything I could find and saw that a few schematics were using larger capacitors on the crystal than what the 63C09 data sheet specified. I dug through my loose capacitors looking for something around 15pf but could only find some 5pf. I figured why not and put them and and the crystal started and the CPU came right up! Several of my followers on twitter said that the reason it worked with the 5pf and not the 22pf is because of stray capacitance by hooking things up through the breadboard.
Got the crystal to oscillate by replacing the 22pf caps with 5pf caps. Woohoo! pic.twitter.com/oQtcr0tmsc— Chris Osborn (@FozzTexx) September 28, 2015
With the CPU working correctly, the next thing I wanted to know was if it was possible to run a crystal by itself without a CPU. More hunting on the internet looking for simple schematics, and I ended up taking just the oscillator circuit off of a single board computer. The schematic called for using a 74HCT04 but I didn’t have any around so I tried a plain 7404 and a 74LS04 with no results. Digging around I found a small tube of 74HC04 chips and swapped one in and instantly the crystal started! Very cool!
Got a crystal to oscillate w/ some resistors, caps, and 74HC04. But doesn't work with 74LS04 or plain 7404. Why? pic.twitter.com/LLGpZ0F4NT— Chris Osborn (@FozzTexx) September 29, 2015
Seeing how easy it turned out to be I went ahead and ordered a couple more parts that would be needed to make the SBC and I’m anxious to see what the people on the mailing list design so I can hopefully make one of my own!