The code is fairly simple and easy to modify. Basically the Raspberry PI toggles the Clock then reads the Control Bus and then provides the 8088 what it is requesting. It will read the ALE pin and save the address then provide the proper Memory or IO Read/Write.
The speed, the processor is only running at about 0.3 MHz the best I could calculate. But on the flip side the drive read writes are very fast because the memory is virtual on raspberry pi.
Not all 8088/8086 Processors will work. The power is connected to the 3.3v pin on the PI. Most NEC V20/V30's will operate 3V - 7V so this is not problem.
There are currently no hardware interrupts. The interrupt pin was not connected due to the number of GPIO's available on the Raspberry PI. The Project does not trigger a hardware interrupt to insert key strokes or the timer. Because the memory is held in an array on the Raspberry PI I just update the memory directly. There are a few programs that I have tested that remap the keyboard interrupt to use it's own keyboard handlers. When this is the case the keyboard doesn't work.
The next version of the board will have hardware interrupts. Watch for around Sept 2020
I have written a c library that helps with interfacing the 8088 PCB. I have also begun to develop a GUI window that emulates CGA/VGA graphics
CPP Files 24 Jul 2020 run with command line ./pi86
-I tested this with a fresh install of Raspberry PI os and it ran just fine.
-To compile I had to install the SDL library.
-To compile the bios file install nasm
*** This is experimental use at your own risk.
This current build runs very stable. I have left it running for seveal hours and came back and it was still running just fine. I encourage you to download the source code to the projects and give them a try and make modification.