Close

Testing v3.0

A project log for ZTO-80 Computer System

A powerful Z80 computer built around a highly expandable central bus design

jacob-hahnJacob Hahn 08/30/2020 at 03:570 Comments

Hi everyone,

Over the past couple of weeks, I've been working hard to test all of the features of the SBC v3.0.

When I first plugged in the board to test it after soldering, I was sad to find that it did not work immediately, which I had hoped it would. This was because of two issues. First, I hadn't updated the software to support the new SIO addresses, which were changed since v2.0 to be more standard. That was an easy problem to fix. The second reason was due to an issue with my schematic. I had incorrectly wired the I/O decoding circuitry enable pins, so it was never activating the SIO. I fixed this by cutting some traces and adding jumper wires.

After that, the board booted, so I could test the rest of the features. The first obvious feature issue was that the footprint for the DB9 serial port was incorrect. Apparently, KiCad's library was using a footprint that was outdated and not used in any existing DB9 connectors. Up to that point I was using the TTL serial port to control the board and hadn't inserted the MAX202 chip. However, when I did, the TTL serial port stopped working. This was because of an internal pulldown resistor in the MAX202, and it was impossible to bypass. Due to all the issues plaguing the full serial port, and due to the fact that removing it would take a chip and 5 capacitors with it, I decided to remove it from the design.

The next issue was the PIO. This was only a minor issue and didn't truly affect the design. I had forgotten that the ULN2803A was inverting, and so it would make more sense to break out VCC on the Channel B header than it would to break out GND. I changed this on the schematic, but on the setup I have I used the VCC pin on the expansion header to provide power to my LEDs I used to test.

Finally, I tested the CTC. To do this, I wrote a little piece of code that would print "TIMER DONE" whenever the timer finished. I chained two CTC units to get an output about every second. This code worked flawlessly, and so I know the CTC works fine.

Now, I'm all set to get an order of the final v3.1 prototypes. If all goes well, I will then be able to order the final production batch and begin to sell them. I'll update you then.

Discussions