Retro Z80: The Decoder Board

I have finished the board layout for the decoder board. The CPU Board I finished previous has an extra connector on the side (besides the two bus header connectors) that contains the signals needed to drive the Memory Management Unit. These are the top 4 chips including the SMD RAM part. The signals for these lines are provided by the decoder board that is built around an Altera MAX II (240) part. This is an (old-ish) CPLD that are available on ebay for less than a $1 each (in quantity of 10). The Max II has 80 general purpose IO pins. All CPU Bus signals are fed into the CPLD and it outputs the needed signals for the MMU and I still have more IO to spare for future extensions and enhancements.

Below the decoder board layout (KiCad).


As you can see I have incorporated a fairly large section of prototyping area (left). Because not all the details are known at this time I attempted to make the design as flexible as possible. I feared that if I waited until everything was worked out in detail, I would take a long time and I would lose the momentum and enthusiasm. Also I like to test my designs in practice and learn from that experience. So it’s an iterative approach.

The board has a lot of SMD diodes and resistors (and decoupling caps) on both sides of the board. This resulted in having a fairly efficient layout and having extra spare room when I was finished. I considered putting on a couple of GAL16V8’s on there (more programmable logic) or even my entire System Controller (Cypress PSoC 5). But I settled for the prototyping area as it was suggested by Ron, a fellow retro designer from the US and indeed the most flexible solution. There are two small prototyping areas on the right – that were just spots I had no use for…

The Decoder Board sports a couple of connectors on the right. The 40 pin contains the extra control signals that can be programmed into the Max II. The first half of that connector is reserved for the CPU Board MMU signals. The second half is still unassigned. In addition to that I have also routed 8 extra lines to the IO Bus Header (bottom) and two remaining lines to the (top) Memory Bus Header.

I have ordered 10 of these boards with Elecrow again – this time a green solder mask- and it will be some time before they arrive. This allows me to focus again on the software side of things and write support routines for the MMU and figure out some way to get it working in the z88dk C compiler.

PS: I have save a partial board layout (and schema) to perhaps make a general purpose board for the Max II with 5 Volt tolerance. I think If I made an Arduino compatible board (shield) I could be on to something.

Published in: on May 1, 2016 at 8:56 am  Leave a Comment