-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
45 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |