This is a software simulation of the 8bit computer created by James Bates [Ref 1] for which he used basic logic integrated circuits and discrete components with an impressive build covering multiple component boards. The design of this computer is described in later chapters but basically it has a Harvard architecture with two banks of 256 bytes of memory, 4 general purpose
.
.
registers, a stack and a shared 8bit bus and is capable of running small programs.
The components of each module, that is the clock, controller, ALU etc. (full list in Ch 3) are grouped together on dedicated breadboard sets. The simulation, which is the subject of this document, is a near 1 to 1 model of the original with each of the modules and shared bus being represented by its own C++ object hosted on an ESP32 microcontroller and built using the Arduino development system.
The simulation provides a similar learning experience to the original in that the user can load small programs and trace their execution watching how each assembly level instruction is executed as a number of discrete micro instructions, transferring instructions and data between registers and the bus and thus help to develop an understanding of the basic architecture of simple computers. Of course the simulation lacks the striking visual appearance of the original but otherwise, at the software level, offers something functionally equivalent without the need to build a comprehensive hardware device.
No changes have been made to the architecture, the instruction set or the microcode so programs which were developed for the original 8bit computer should run on this simulation without modification and all documentation should still be relevant. The simulation has been designed in such a way that it could be the basis of a hybrid computer; that is a part physical build in the style of the original with the remaining parts being simulated.
.

.
.
The complete software, documentation, usage instructions is attached for anyone wishing to duplicate this project.
JB 8bit CPU Simulator_V1_00.pdf (1.0 MB)
8bit_emul.zip (100.9 KB)