Years ago, I found a MC6809P CPU on a junk pile. The 6809 was one of the last great 8bit CPUs, and fell into a bit of a gap in the market, being more powerful but more expensive than other 8bit CPUs like the 6502 or Z80, but less powerful and only a little cheaper than 16bit CPUs like the 8086 or 68000. I recently uncovered it again and wondered if it worked.Â
A simple way to run a basic test on a microprocessor is to hardwire the data pins to the NOP (No OPeration) instruction and see if the address lines continually count upwards as the CPU keeps doing nothing for a clock cycle then advances to the next one. It doesn't test everything, but it tests the fetch-and-execute cycle which underlies everything else.
For the 6809, NOP is $12, binary 00010010. The 6809P also has an in-built quadrature clock generator which needs a crystal across two pins to oscillate.
So, most of the control inputs are active low (shown as black in the table below), and are tied high to prevent them from stopping the processor. Memory Ready (MRDY) is tied high so the CPU will immediately read the data lines. The clock inputs have a 4MHz crystal across them with 15pF capacitors to ground. And finally, the high address line, A15, is connected to a LED and resistor to see if it's toggling.
And... it works! A CPU from the early 80's that spent up to 20 years in someone's junk box, then another 20 years in mine. The LED is flashing at 15.25Hz, which is correct for a 4MHz crystal divided down to a 1MHz internal clock, then divided by 65536 (2^16) as the NOP instruction causes the address bus to count up on each clock cycle.