As an kid born in the 70's I was in my teens when I first got in contact with computers. The father of two good friends was really in to home computers and had a Sinclair Spectrum my friends and I got to play with. And one summer I got to borrow an Apple 2e to play with from him. From that moment on I was absolutely sold on computers!
The year after that, I got my own home computer, a Commodore C128, that I came to spend many hours behind, both playing and programming. I also studied the hardware and a couple of years later I made my first bootable cartridge for it and wrote some code to run on start. This experience, beginning with the Apple 2e, sent my life in a direction I still go.
And when my older son started to show interest in my C128 (I still own the first one and it still runs great) I was happy. I had someone to share my love for 8-bit machines. We started looking at Ben Eaters 6502 computer series and soon we discussed how we would build our own 6502 computer. And since the C64/C128 are based on a 6502 derivatives my son started reading my old "C128 Programmers Reference Guide", which would contain every possible information regarding the platform.
The BeginningSo when I for almost 2 years ago got a big bag of old microcomputer components from a colleague at work, and my son found an interesting processor that I had never heard about, we immediately started planning a build of our own. This, for us new, processor had several interesting features that would have made the C128 look slow back in the days. And it was the MC6809. After some more reading and pitching ideas of what "our" computer would do we also found a younger sibling to it, the HD6309, with expanded features that made the build even more compelling.
Said and done, we started designing a 6x09 based computer and we had compiled a long list of things we wanted to incorporate. And when I started to draw the schematics I quickly realized that even if I have had some experience of creating circuit boards previously, I had never done anything this complex. The final list of capabilities was boiled down to:
- A system based on a 6x09 microprocessor.
- A serial controller with an RS232 port and a USB port for terminal access.
- At least 8kB EEPROM for BIOS and hardware "drivers".
- 512kB static RAM, with memory banking.
- Fully programmable address and control logic, to be able to fix any addressing problems that may arise.
- Extended interrupt controller for 15 unique and prioritized interrupts.
- A PS/2 mouse/keyboard interface.
- Dual joystick port (for all your gaming needs) based on the 6522 VIA.
- Addon ports for a audio and video cards
- Expansion port for full access to all bus signals, to be able to implement anything from DMA to storage interfaces.
- And finally a CompactFlash card interface to be able to store
So, as I said said before, I had never done any thing this complexed and I was actually quite overwhelmed by the sheer amount of components to "glue" together. And to make matters worse, we decided it should fit on a Mini-ITX footprint! <FACEPALM> Well... This is when I got the idea to make it in stages. I had logically divided it into 3 stages of implementation:
- Stage 1: Processor, EEPROM, memory, serial controller and the most basic logic needed to get this to run.
- Stage 2: Stage 1 + Parallel port, IRQ handler and the full logic with memory banking support.
- Stage 3: Stage 2 + PS/2 controller and CompactFlash support.
This partitioning made it easier to implement and fault trace. And also cheaper to produce. I also decided that all components on the board should be thru hole soldered for easier building. I want anyone to be able to create a µLind computer for them self.
The DoingSo where are we now? Well, I will tell you what has been done so far:
Stage 1:
In June 2024 we made a board with the most basic implementation we could do and got it shipped and built it pretty fast. We found a lot of design mistakes that we updated in the drawings for stage 2:
- A pull-up on the DMA/BREQ pin on the CPU was missing.
- Power handling and regulation was inadequate, was relying on USB power.
- The serial controller we chose (Rockwell 6552, a dual MOS 6551) is too slow, is also replaced in stage 2.
- I forgot to trace spare pins of the GAL to the expansion header (the prototype boards needed to have an ENABLE signal hand soldered to the GAL)
- Bus transceivers needed to drive expansions.
Apart from these mistakes I could use the expansion header to make small prototype boards for additional Stage 2 features.
And with those prototypes tested we could move on to Stage 2. Following bugs where found in testing the prototypes:
- Missing pullup on nMRDY pin
- Lost terminal on reset, reset pin on USB interface connected to board reset.
- The computer would not work when parallelproto board was connected, enable signal connected to wrong CS pin on 6522.
- Computer stopped working when irq proto board connected, Read signal to irq register had inverted logic.
- Irq register was never cleared after a triggered irq, register only latched on read signal.
- Irq value put in register is wrong, irq bits routed in wrong order
- The footprint on the PS2 connector was mirrored.
So I set on to update the Stage 2 design with these findings.
Stage 2:
At this moment in time I got an mail from a representative for PCBWay that found my project interesting. And he said they would be willing to sponsor the creation of Stage 2. I was very enthusiastic over this and also possibly getting more exposure for the project.
So in November 2024 I sent the Stage 2 design for fabrication. And soon there after we build it and started the testing.
So during testing of Stage 2 I have found this:
- Missing pullups on bus signals outside the bus transceivers (causing noise)
- R/W signal to data bus transceiver was in wrong direction (fixed using GAL in prototype)
- Intensity for RGB led is wrong, shows almost only blue. (needs other resistor values for the R, G and B led.
- Footprint for power switch had to small pin holes
- Missing/wrong pins for power/gnd on serial controller. Bad footprint.
- IRQ signals still not in correct order
- BA and BS needs pull up to minimize noise.
And with these fixes and the stuff found in testing the prototype boards for CompactFlash and PS/2 we are ready to order the Stage 3. And thankfully PCBWay are still a supporter of the µLind project for Stage 3!






Comments