mirror of
https://github.com/mattrberry/crab.git
synced 2025-01-19 10:26:44 +01:00
Mirror of https://github.com/mattrberry/crab.git
042b76d910
- handle exception returns after alu - proper spsr banking - fill pipeline before interrupts - align r15 before each pipeline fill |
||
---|---|---|
README | ||
spec | ||
src | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
shard.yml |
crab
A very rough start to a Game Boy Advance emulator in Crystal Lang. The long-term goal is simply playability of popular titles. The name of the project come from the emudev discord, where "crab" was suggested for "Crystal Advanced Boy." Close enough.
Installation
At the moment, a shards install
is all that's required.
Usage
This is not in a functional state. As instructions are being implemented, you can print the trace by compiling with -Dtrace
or print logs by compiling with -Dlog
. Next, simply provide the executable with the path to your rom.
Features and Remaining Work
Features
- GLSL shaders for color reproduction
- Basic PPU mode 0, 3, 4, and 5 implementations
- Passing armwrestler
- Passing FuzzARM
- Passing roughly half of gba-suite
Remaining Work
Really, this list should include everything...
- Interrupts
- Timers
- Sound
- PPU things
- Affine
- Mosaic
- Window
- Objects
- Alpha blending
- Etc
- Etc
Contributing
- Fork it (https://github.com/mattrberry/crab/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Matthew Berry - creator and maintainer