Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/imagineeeinc/lychee
A small assembly emulator
https://github.com/imagineeeinc/lychee
Last synced: about 9 hours ago
JSON representation
A small assembly emulator
- Host: GitHub
- URL: https://github.com/imagineeeinc/lychee
- Owner: imagineeeinc
- License: mit
- Created: 2024-02-28T16:56:10.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-08-23T15:33:37.000Z (3 months ago)
- Last Synced: 2024-10-18T02:48:42.416Z (about 1 month ago)
- Language: Nim
- Homepage:
- Size: 640 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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`](docs) folder for all the docs. Or, go to the auto generated [gitbook (imagineee.gitbook.io/lychee)](https://imagineee.gitbook.io/lychee)
## Specification
Check out the [`docs/specs`](docs/spec) 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`](docs/assembler)
## Usage
To use the desktop app for emulation and debugging, read the [`docs/desktop`](docs/desktop).
### Compilation
#### Compiling the Emulator
Make sure the [Nim compiler and Nimble package manager](https://nim-lang.org/) is installed.Clone this repo and compile using nimble.
```bash
git clone https://github.com/imagineeeinc/lychee.git
cd lychee# Debug (Run)
nimble debug -- ./rom# Build release
nimble release
```
#### Compiling the assembler
```bash
# 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
```