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.
The MFS-16 project consists of three main components:
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.
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.
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.