Skip to content

MarieEckert/mfd0816

Repository files navigation

                                    MFD0816

The MFD0816 is a 16-bit fantasy cpu roughly based on the intel 8088.
This repository contains the specification documents and the
reference implementation of the MFD0816 and tools surrounding it.

EMULATOR PROGRESS
────────────────────────────────────────────────────────────────────────────────

  Instruction wise the emulator is nearly completed, only missing a few
  instructions:
    ► iret
    ► int
  Besides these instructions, the unit tests need to be expanded. After the
  CPU is implemented and tested "enough", I plan on expanding the emulator
  with a "device-plugin" system (more on that when I actually get to it).

  Planned content for release "1.0.0-beta":
    ► [ ] 100% implementation of the instruction set
    ► [ ] Basic terminal I/O
    ► [ ] Finished interrupt support
    ► [X] Functional assembler

DOCUMENTS
────────────────────────────────────────────────────────────────────────────────

  ► DESIGN – The core specification of the MFD0816
  ► INSTRUCTIONS – The instruction set reference/specification
  ► MRI – The specification for the MRI file format, used for
          storing/distributing programs
  ► [TODO] MFDASM – The specification for the MFD0816 assembler language

VERSIONING
────────────────────────────────────────────────────────────────────────────────

  Within this project, there are three different version numbers:
    1. Project version
    2. mfdemu version
    3. mfdasm version

  Since this project is intended as a package of both the core emulator and the
  assembler needed to develop software for it, there are not only releases of
  these two components but also of the entire project as a package.

REPOSITORY STRUCTURE
────────────────────────────────────────────────────────────────────────────────

  /
  ├── asm            : Sources for MFDASM
  │   ├── 3rdparty   : External / Third Party Components used in MFDASM
  │   └── mfdasm     : Implementation
  ├── emu            : MFD0816 emulator implementation
  │   ├── 3rdparty   : External / Third Party Components used
  │   └── mfdasm     : Implementation
  ├── shared         : Sources shared between MFDASM and MFDEMU
  ├── DESIGN         : MFD0816 design/specficiation
  ├── INSTRUCTIONS   : MFD0816 instruction set reference
  ├── MFDASM         : MFD0816 assembler specification (paused)
  ├── MRI            : MFD Rom Image File Format specification
  └── README

LICENSES
────────────────────────────────────────────────────────────────────────────────

  This section is intended as a quick overview of licenses. A directory marked
  with one License may still contain files licensed under another license, make
  sure to look into the files to be sure.

  License: CC BY-SA 4.0
  Link...: <https://creativecommons.org/licenses/by-sa/4.0/>
  Files / Directories:
    ► /DESIGN
    ► /INSTRUCTIONS
    ► /MFDASM
    ► /MRI

  License: GNU GPL v3
  Link...: <https://www.gnu.org/licenses/>
  Files / Directories:
    ► /asm
    ► /emu
    ► /shared

About

Specifications, Assembler and Emulator for the MFD-0816 fantasy CPU.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages