Using modern ARMs as peripherals for retro 8 bit systems

Continuing the discussion from The UniBone Linux computer for UNIBUS where @elb links to a project using the Beaglebone with its PRU I/O helpers to interface with the 1MHz Unibus, and which in turn links back to @RichardP’s thread about using an ESP32 to emulate a realtime clock on the Amiga’s bus…

… I was reminded of a number of projects seen on Stardot which might be of interest. There are at least two challenges: interfacing modern ARM to a 5V system, and responding quickly enough to interface with a 1MHz or even 2MHz bus which has no stall capability:

Not entirely unrelated, in Atom Video to HDMI Adapter @hoglet uses a 5V-tolerant CPLD to perform high speed data interfacing and voltage conversion for a Pi. A bit like the Beaglebone’s PRUs perhaps.

Also not unrelated, revaldinho has privately reported using a Teensy 3.5 to emulate a ROM expansion on an Amstrad CPC system - that’s more or less a 4MHz Z80 bus, but with the possibility of wait states. The Teensy pinout is not helpful - shifting and masking is necessary to bring the bits of a bus together. The 3.5 is 5V tolerant and - I think - a bit more capable than the 3.1.