Skip to content

magia is a toy GBA emulator written in golang.

License

Notifications You must be signed in to change notification settings

akatsuki105/magia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Magia

Go Report Card GitHub stars GitHub license

Magia is GBA emulator written in golang.

Warning: This emulator is WIP, so many ROMs don't work correctly now.

exe6gΒ firered

mother12Β dqm

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

References