8088 Raspberry PI

8088 Project using a Raspberry PI:

The Raspberry PI connects to the 8088 PCB through the SPI bus. The RPI is the master device and 8088 is a slave device. The RPI has two processor controls it can Hold the 8088 bus and Reset the 8088. The Memory for 8088 is on the PCB the RPI has complete access to all the memory and IO ports.

The operation process is fairly simple. The RPI Holds the 8088, uploads the "ROM" into the ram, Releases the Hold and Reset the processor.

The major purpose and advantages to this project is that you don't need and ROM chip, all the 8088 memory is RAM. This eliminates the need for owning a expensive EEPROM burner. The best part is you don't have to constantly move a EEPROM chip back and forth from the burner to the PCB during software development. You can change code on the fly and just upload it.

I have written two spi8088 libraries one in C and the other Python that help with interfacing the 8088 PCB.

  • The C code i have developed into a basic computer with a BIOS that is capable of boot DOS from disks image on the RPI.

  • The Python code I have used to create a basic GUI up-loader and compiler for loading code directly to the 8088.

I encourage you to download the source code to the projects and give them a try and make modification.

Wiring the Raspberry PI to my 8088PCB

  • SCLK - GPIO 11 Pin 23 connects to SCK

  • CE0 - GPIO 8 Pin 24 connects to CS

  • MOSI - GPIO 10 Pin 19 connects to SI

  • MISO - GPIO 9 Pin 21 connects to SO

  • Any Ground Pin connects to GND

  • Pin 2 – 5+ if you are powering the 8088 PCB with the Raspberry PI


all_files_python.zip Python code for full sized board, 16 Apr 2020

To run go to the command terminal in the folder with the files and type python3 my8088.py

  • my8088.py Main python program

  • spi8088.py The library for the spi 8088 interface

*note 1 You need to install NASM on your raspberry pi for the python code to compile.

sudo apt-get install nasm

all_32k_python.zip Python code for 32k Mini board, 23 Apr 2020

To run go to the command terminal in the folder with the files and type python3 my8088_32k.py

  • my8088_32k.py Main python program

  • spi8088_32k.py The library for the spi 8088 32k interface

*Booting DOS only works on the full sized board

all_files_c.zip C code for booting DOS, 16 Apr 2020

Download both the my8088 and the bios.bin

Download a 1.44 boot disk.img from your favorite web site and name the image "floppy.img". I dont think I can distribute copies of dos 6.22

Put all three files "my8088", "bios.bin", and "floppy.img" in the same folder.

To run open your command terminal and navigate to the folder with all three files. Then and type ./my8088

Or double click on my8088 and select run in terminal.

  • my8088 Command Line Application

  • my8088.cpp Command Line Application source code

  • bios.bin The bios for the 8088, uploaded by the Command Line Application to the 8088

  • bios.asm bios source code

  • spi8088.cpp The library for the spi 8088 interface

  • spi8088.h

You should be able to download the zip file extract all and run the Aplication

*note 1 I tested this on a new install of Raspbian. Try this if the program wont run.

  • make sure you enable the SPI interface.

  • you might have to change the file and make it executable chmod u+x my8088