magia
magia copied to clipboard
magia is a toy GBA emulator written in golang.
Magia
Magia is GBA emulator written in golang.
Warning: This emulator is WIP, so many ROMs don't work correctly now.


Run
Please download latest binary from Release.
$ magia XXXX.gba
Build
# go1.16.x
$ make build
$ ./build/darwin-amd64/magia XXXX.gba
Key
| keyboard | game pad |
|---|---|
| ← | ← button |
| ↑ | ↑ button |
| ↓ | ↓ button |
| → | → button |
| X | A button |
| Z | B button |
| S | R button |
| A | L button |
| Enter | Start button |
| Backspace | Select button |
ToDo
- [ ] Window
- [ ] GUI
- [ ] Serial communication
- [ ] GameBoy Compatibility
- [ ] Debug feature
- [ ] Fix some bugs
Game Compatibility List
| Game Title | Compatibility |
|---|---|
| バトルネットワーク ロックマンエグゼ2 | ✅ |
| バトルネットワーク ロックマンエグゼ3 BLACK | ✅ |
| ロックマンエグゼ4 トーナメント ブルームーン | ✅ |
| ロックマンエグゼ6 電脳獣グレイガ・電脳獣ファルザー | ✅ |
| ドラゴンクエストモンスターズ キャラバンハート | ✅ |
| MOTHER1+2 | ✅ |
| ポケットモンスター ファイアレッド | ✅ |
Accuracy
| Test | Result |
|---|---|
| Memory tests | 1102/1552 |
| I/O read tests | 21/123 |
| Timing tests | --/1660 |
| Timer count-up tests | 326/936 |
| Timer IRQ tests | 0/90 |
| Shifter tests | 140/140 |
| Carry tests | 93/93 |
| Multiply long tests | 52/72 |
| BIOS math tests | 625/625 |
| DMA tests | 964/1256 |
| Misc. edge case tests | 5/10 |