As simple as possible single-board computer with the 6809 / 6309 CPU.
JPEG Image - 2.21 MB - 11/04/2018 at 13:02
sch - 827.66 kB - 11/03/2018 at 12:35
brd - 291.07 kB - 11/03/2018 at 12:35
Portable Network Graphics (PNG) - 191.58 kB - 11/03/2018 at 12:34
Issue 3 has one and only reason...
I have a lot of 6809EP / 6309EP CPUs. Unfortunately, some sellers has a 6809EP, but marked as a 6809P. The biggest difference between E and nonE version is that nonE version has a built-in oscillator and pins E and Q are outputs. The E version has no oscillator and E / Q pins are inputs. You have to generate these quadrature clock signals outside.
There are a lot of computers with the 6809EP CPUs. Their authors often uses an external oscillator and a quadrature divider, based on dual J-K FFs, typically 74LS72:
But the 74LS72 is a little difficult to obtain. So I have designed a similar device, but based on dual RS FF, i.e. 74HC(T)74:
I have used two invertors (1/3 of the 74HC04) as a crystal oscillator and design a dual purpose PCB, code name "Issue 3". The added ICs made a little bigger PCB, so I decided to place the PIA 6821 on the board too. So you can see these new additions on the right side.
The last minor update is that PCB has four mounting holes at the corners. I believe this PCB will be available soon at my shop on Tindie.
... and it's pretty cool.
I don't know why, but Alpha has much more ICs and it fits on 10cm x 8 cm board (for those not understand the metric system - it is about 6.725 gallons on 12 °F.) Okay, I have a nasty sense of humor, it's 4 x 3.15 inches.
Kilo has three ICs less and it's routed okay. I tried to add parallel port, not 8255, just PIA or VIA, and I have failed. But nevermind.
Kilo is intended as a "backplane computer system", so I have knew I will add all those ports later. So here is my first "card" - the OMEN PIA.
It's just a PIA MC 68B21 (you can use the 6521 alternative, I hope). The "B" version can work up to 2 MHz.
I have added a power supply connector and 5V regulator. Both are non mandatory.
The OMEN PIA will work with the Bravo too, and with the Alpha... oh, no! The Alpha has another polarity of the RESET signal! Shame on me, folks!
So I have added a place for the tiny 74AC1G04, single invertor, you can use when connecting PIA to the Alpha. Or you can simply connect the /RESET of PIA to the Vcc.
The main goal of the OMEN PIA is to have a way to easy implement a SPI / I2C interface - PIA has a way you can set each port pin as an input or output independently.
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!