Skip to content

Commit

Permalink
flesh out the readme
Browse files Browse the repository at this point in the history
  • Loading branch information
burhanr13 committed Oct 23, 2023
1 parent 53c8579 commit 6c7fd70
Showing 1 changed file with 45 additions and 1 deletion.
46 changes: 45 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
# agbemu

A mostly complete and somewhat accurate Game Boy Advance Emulator. Supports almost all of the graphics and audio subsystems. Passes many test roms including ARMWrestler, JSMolka's gba-tests, and a sizable portion of the mGBA test suite including all of the memory tests and almost all timing tests that do not require the prefetcher. It runs all games I have tested without any issue.
A complete and somewhat accurate Game Boy Advance Emulator. Supports all of the graphics and audio subsystems, passes many test roms including ARMWrestler, JSMolka's gba-tests, and a sizable portion of the mGBA test suite including all of the memory and DMA tests and almost all timing tests that do not require the prefetcher. It runs all games I have tested without any issue.

## Building

This project requires SDL2 as a dependency to build and run.
To build first `mkdir build` and then use `make` or `make debug` to build
a debug version or `make release` for the optimized release version.
I have tested on both Ubuntu and MacOS.

## Usage

You need a GBA bios binary to run the emulator. You can dump an official one or use an open source replacement. Name the file `bios.bin` and keep it in the same directory as the executable.

To run a game just run the executable with the path to the ROM as the only command line argument, or use no arguments to see other command line options.

The keyboard controls are as follows:

| GBA | Key |
| --- | --- |
| `A` | `Z` |
| `B` | `X` |
| `L` | `A` |
| `R` | `S` |
| `Dpad` | `Arrow keys` |
| `Start` | `Return` |
| `Select` | `RShift` |

You can also connect a controller prior to starting the emulator.

Hotkeys are as follows:

| Control | Key |
| ------- | --- |
| Pause/Unpause | `P` |
| Mute/Unmute | `M` |
| Reset | `R` |
| Toggle color filter | `F` |
| Toggle speedup | `Tab` |

## Credits

- [GBATEK](https://www.problemkaputt.de/gbatek.htm)
- [Tonc](https://www.coranac.com/tonc/text/toc.htm)
- [mGBA](https://github.com/mgba-emu/mgba)
- [EmuDev Discord Server](https://discord.gg/NUB95UKh)

0 comments on commit 6c7fd70

Please sign in to comment.