mfs16

(Rust, MFS-16 Assembly)

GitHub Link

The MFS-16 is a virtual computer, designed from scratch, with an original CPU instruction set and assembly language. The project aims to be an accurate virtual representation of a theoretical computing system that could be implemented as real hardware.

Comprehensive MFS-16 documentation can be found here.

A colourful MFS-16 logo bouncing around the screen.
The MFS-16 logo bouncing around the screen.

The MFS-16 project consists of three main components:

1. mfs16core

The core is responsible for all the basic system functionality. The CPU itself has registers, an x86-inspired instruction set, and interrupt logic. The MMU is responsible for all functionality related to the system memory, and also serves as a middleman for communication with I/O devices and VRAM access. Functionality for the keyboard, GPU, and hard drives is also located here.

2. mfs16desktop

The desktop program is a frontend for the core which allows emulation of the MFS-16 system directly on your PC! It uses SDL2 to display a screen and has a built-in debugger, keyboard input, and user configuration.

3. mfs16assembler

This standalone program, accessible as a CLI utility, is responsible for lexing, parsing, and assembling the original MFS-16 Assembly dialect into binaries executable by the MFS-16 itself! This allows one to write their own programs for the MFS-16.

Some MFS-16 text.
Typing some text using the 'Scribe' typing program.