Skip to content

BrentSeidel/Sim-CPU

Repository files navigation

Sim-CPU

CPU Simulations written in Ada

This is spun off of the Pi-Mainframe repository. Moving simulation into a separate repository will allow simulators to be developed more independently as well as used in other applications.

[Alire] (https://alire.ada.dev/crates/bbs_simcpu.html)

[Alire] (https://alire.ada.dev/crates/simcpucli.html)

[Alire] (https://alire.ada.dev/crates/loadcpm.html)

Implementation

The root of the simulators is the abstract object "simulator" defined in the BBS.Sim_CPU package. It defined the external interface that all simulators must implement. It is expected to evolve as some actual CPU simulators get implemented.

Simulators

The following simulators are implemented.

Simple Example

This is not really a CPU simulator. Its main purpose is to blink the lights in the Pi-Mainframe in interesting patterns.

Intel 8080

More information

All 8080/8085 and Z-80 instructions have been implemented.

Motorola 68000

More information

All the 68000 CPU instructions have been implemented.

MOS Technologies 6502

More information

All of the instructions have been implemented and tested. I/O and interrupts also have been implemented and tested.

CLI

A command line interface is provided for development of both the simulators and software that runs on the simulator.

See the PDF documentation for more details on the CLI.

Lisp

For more information on the embedded tiny-Lisp interpreter.

See the PDF documentation for more details on the Lisp extensions.