A bare bones 8 bit computer emulator.
Lychee is a simple and bare bones emulator for a fictional computer with an instruction set heavily based on the GameBoy's CPU. Lychee is built to be restraining with no graphics, only supporting text mode graphics, and a ascii based keyboard.
Still a work in progress, as the instruction set and docs is being added
Check out the docs
folder for all the docs. Or, go to the auto generated gitbook (imagineee.gitbook.io/lychee)
Check out the docs/specs
folder for more on opcodes and specification.
Roms are either written in raw hex, using a hex editor (example roms in /examples/roms
). Or use the official assembler found in the /assembler
directory. Assembly examples are found in /examples/asm
.
And more info on the assembler at docs/assembler
To use the desktop app for emulation and debugging, read the docs/desktop
.
Make sure the Nim compiler and Nimble package manager is installed.
Clone this repo and compile using nimble.
git clone https://github.com/imagineeeinc/lychee.git
cd lychee
# Debug (Run)
nimble debug -- ./rom
# Build release
nimble release
# cd into the assembler
cd assembler
nimble build
# Try the example project
./lasm examples/loopchars.asm ../rom
# For windows
./lasm.exe examples/loopchars.asm ../rom
# Then run it in lychee
cd ..
nimble debug -- ./rom