Story
Developing code for a single board computer usually means programming and swapping EPROMS or a resident monitor with download capability in the system. This project allows you to send code to RAM on any board (hex-intel format). All it requires is a Arduino Mega 2560 and a passive shield. Another passive board can be used to create a flatcable header next to the CPU socket.
It does this by asserting the Z80 BUSREQ* signal, which is common for DMA operations. The processor then tri-states all data, address and essential control signals (RD*, WR*, MREQ*, IORQ*) until BUSREQ* is cleared. All refresh cycles are stopped too, so when dynamic RAM is used, the interruptions should be short and/or intermittent. The firmware could be extended to emulate refresh signals too.
The main development platform, a MicroProfessor MPF-IB has a 40 header, featuring all Z80 CPU pins. The extra board creates this from any socketed Z80 CPU.
Details
The currently used shield is designed for the Arduino Mega 2560 and the Z80Exer sketch. A more compact shield is only in the planning phase. As is the support for refresh cycles. And the CPU-flatcable interface board.
The technology isn't limited to Z80 boards, but some DMA-like functionality must be present from the processor socket.
Intermediate update
(03/18/2022 at 10:15)
Still waiting for boards. Testing the Arduino Mega 2560 variant meanwhile, and it works really well. Code uploading seems reliable. As you can download too, the device is a more modern variant of the cassette tape recorder. Have to create a new python script to automate this, but the download option of a generic terminal program will work too.
A minor nuisance is that the command interpreter works with a line-feed as terminator, and terminals send a carriage return on Enter. Control-J works, but is way less convenient.
More Details
This project was reposted with the permission of the author. If you are interested in this project and want to know more, Please check the original article: Z80 CPU Bus Access | Hackaday.io
And if you want to explore more projects, please follow the author: fjkraan (Hackaday). He has many wonderful projects and is an excellent maker. Enjoy it! :)