crab

A Game Boy Advance emulator in Crystal Lang

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

  1. Fork it (https://github.com/mattrberry/crab/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Owner
github statistic
  • 5
  • 0
  • 0
  • 0
  • about 17 hours ago
  • August 22, 2020
License

MIT License

Links
Synced at

Sat, 28 Nov 2020 08:18:51 GMT