It was obvious from the very beginning of the whole OMEN story: I will build a computer with the famous 6809 CPU, or much better - with the HD6309 CPU.
I took the basic concept from the OMEN Bravo, prepare a PCBs and...
Here starts my pain
Okay, let's come clean: It was one fail after another!
PCB was perfect (as always, thanks to JLCPCB). I solder CPU socket, crystal, capacitors, and a power line. But there was no pulse wave on the E output.
A few minutes later I realized I have to sanitize the /WAIT signal. OK, done, but there was no signal on the E output.
I had sanitized all unused inputs. But there was no signal... Should I continue?
It was really strange, so I wired up a test bench on a breadboard. And there was no signal... again...
I decide to connect an external clock signal. But nothing on E.
Okay, maybe the CPU is dead. Fortunately, I have a lot of 63B09 so I can test another...
... and nothing happened. All 8 CPUs tested, no signal. There must be an error I cannot see, or all my 6309s is dead.
I have ordered another batch of 6309, from another seller, C grade this time: HD63C09P. Pay attention, some sellers offer the 63C09P, but it is a 09EP (with an external clock)!
Three weeks later the new 63C09 have arrived. I have tested them in my breadboard workbench - all of them works and generates the clock signal!
It was a great news, but the bad one was all my 63B09 are gone, bad, fake...
I took a tested CPU, place it in my PCB, power it up and there was no clock on the E pin. It is a little bit boring, isn't it?
The problem #2 was, of course, the old crystal. A new one made the CPU works.
Step 2: I have soldered the IO sockets, place them into their places and power up. Nothing.
Okay, it is a "KiloProblem" now! I took the logic analyzer and test. But it was strange: everything seems to be OK. But the data seems to be corrup... OH! MY! GOD! I have forgotten to switch the Write Enable for the EEPROM chip to the DISABLE state and the content of the chip was corrupted!
I took another attempt: CPU runs forever in a wait loop, waiting for an ACIA transmission ready state. So it was a great step. I place the ACIA chip back into its socket, run - and it returns still the 00h.
I was a little bit hopeless. So I took an ACIA from the Alpha I have tested, put it to the Kilo... nothing.
I have tested all signals, and I realized the /WR is still high. Why? Why?
And then I took the multimeter and I have seen the problem: Those cheap micro switches I have used for the Write Enable! They have three pins: left, common, right. And the right pin is connected to the metal body. The result is you have the two states: The first one with common and right connected, and the second one, with all three pins connected. So I had /WR connected to the Vcc
I was a little bit furious and have destroyed those damned switches by pliers.
And then... then the whole thing starts work!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.