Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 1.66 KB

README.md

File metadata and controls

52 lines (42 loc) · 1.66 KB

Lychee

A bare bones 8 bit computer emulator.

About

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

Docs

Check out the docs folder for all the docs. Or, go to the auto generated gitbook (imagineee.gitbook.io/lychee)

Specification

Check out the docs/specs folder for more on opcodes and specification.

ROMS

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

Usage

To use the desktop app for emulation and debugging, read the docs/desktop.

Compilation

Compiling the Emulator

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

Compiling the assembler

# 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