No description
  • C++ 76.5%
  • Assembly 11%
  • Java 10.6%
  • Shell 1.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-02-20 16:51:38 +01:00
build updated things 2026-01-27 22:58:22 +01:00
src updated readme 2026-02-20 16:36:27 +01:00
tests added pseudocode examples to fib.s and type.s 2026-02-19 17:25:56 +01:00
.gitignore updated jump logic and added new type thing 2026-02-19 15:39:36 +01:00
.menuinstall.sh updated menumake with more flags 2026-02-19 12:47:44 +01:00
fmbyas-2_spec.md updated readme 2026-02-20 16:36:27 +01:00
install.sh fixed bad shebang 2026-02-20 16:51:38 +01:00
LICENSE Add BSD 3-Clause License file 2026-01-27 17:22:09 +01:00
Menumakefile updated menumake with more options 2026-02-19 14:44:17 +01:00
README.md updated readme 2026-02-20 16:36:27 +01:00

fmbyas-cpp

This is an implementation of the fmbyas-2 CPU architecture spec viewable in FMBYAS-2 SPEC in C++.

This repo contains both the FMASM assembler and FMEMU emulator.


Installation:

Currently there's only a Linux installer in the form of install.sh.

Dependencies:

  • Python3.12+
  • g++ (GCC)
  • (ncurses)

(Notes:)

(This was originally only meant as a tool I could develop and use myself. Therefore there's no standard windows or MacOS installation script currently.)

Usage:

  • To assemble a program with FMASM, run fmasm [file]. This supports both absolute and relative jumps where absolute jumps are default and relative jumps are enabled with the -r option or toggled with the TJF instruction. This generates an out.bin file.

  • To run the emulator, run fmemu in the same directory as the out.bin file. Make sure you compiled it with the correct flags in the config menu.

  • For details on how screen and keyboard support works, RTFM FMBYAS-2 SPEC