The board is fairly simple. The IDT7130 does all the work. The only decoding needed is to generate an I/O select on each side. This is done by the 74HCT138 and 74HCT11 allowing a choice of addresses of the format 1X1XX1NN, which is a bit quirky but happened to suit the bits I had. (X selectable by jumper NN select the bank of bytes)

Rather than memory map it the memory lives in 16bit I/O space with the low 2 low bits selecting one of four banks, and the upper byte acting as the low byte of the address to the memory. This isn't much slower than memory access in most cases and for bulk transfers inir and otir are full speed but end up reversing the bytes (B counts down so the 256 bytes are written backwards, but also read backwards so it cancels out)

The prototype tested M1 wrongly but a small wire bodge fixes that (and it turns out that M1 can be ignored in this case anyway).

Currently I am testing out the interface functionality piece by piece.

Longer term I'm hoping to move all the serial I/O, terminal editing and other annoying low speed CPU I/O to a second Z80 and support it under Fuzix as a smart I/O processor and also maybe as an offload second processor for running application code.

*** Do not build the version here, contact me if you want the fixes. At some point when I've got a new version tidied up I will update.