Custom 16-bit ISA and computer spec with a full emulator+frontend for retrocomputing projects
README.md

DIRT-16 #

DIRT-16 (Dynamic Instruction and Register Toolkit - 16 bit) is a 16-bit fantasy computer for recreational computing and retro-inspired game development. It uses the LOAM (Logic Operations And Mechanics) ISA, which has been designed for this project.

The backend, machine and frontend are rust crates: the backend implements the LOAM CPU (pure processor, memory goes through a Bus trait), the machine crate is the DIRT-16 computer itself (RAM, devices, the bus between CPU and chipset), and the frontend is the interactive shell (screen, input, cartridges). The programs in ./toolchain are (at least intended to eventually be) programs that run on the DIRT-16 itself.

The spec is designed to be emulated as opposed to run on hardware, though part of the design philosophy is that nothing should be out of the blue for a prospective FPGA implementation.


Project Goals #

  • 16-bit CPU, 24-bit address space
  • 32MHz CPU clock
  • Emulator that runs on binaries
  • Provides OS with file system and shell
  • Provides assembler and compiler for developing on the OS
  • Capable of graphics and sound (rudimentary 3d software rendering if possible)
  • Frontend that emulates screen and data cartridge interface

Todo List #