My guess would be that most of those expansion busses were not much different from the raw processor bus from the MPU - perhaps with some buffering or some decoded control lines. One notable exception was the Tube as seen in Acorn's BBC machines, which was somewhat like a memory mapped peripheral: a ULA chip faced both the host and the slave machine busses, and offered interrupts so that neither side has to poll for activity. There were 8 internal FIFOs so that messages could be posted from one side to the other without needing to handle them byte-by-byte on both sides at the same time. That gave 4 channels in each direction, for distinct purposes such as stdin/stdout, OS calls, block transfers. The original Tube connector is a 40-pin umbilical but it can be run over 20-pin cable.
See
http://www.apdl.co.uk/riscworld/volume9 ... /index.htm and
http://www.sprow.co.uk/bbc/hardware/armcopro/004.pdfJonathan Harston has defined a byte-serial transport for the Tube protocol, and there's a perl version of the host code. The slave code generally fits in 2k of ROM and exists for 6502, z80, 6809, NS32016, ARM and PDP-11 at least. See
http://mdfs.net/Apps/Emulators/Tube/ and
http://mdfs.net/Software/Tube/Serial/ and
http://www.stardot.org.uk/forums/viewto ... 12&p=58863Cheers
Ed