2021-01-28 05:59:42 +00:00
|
|
|
# Rekai's Gameboy Emulator
|
|
|
|
|
|
|
|
### Status
|
2021-09-24 15:34:48 +00:00
|
|
|
* From [Blargg Test ROMs](https://github.com/L-P/blargg-test-roms/)
|
|
|
|
* [x] cpu_instrs
|
2022-10-27 00:05:00 +00:00
|
|
|
* [x] instr_timing
|
2021-09-24 15:34:48 +00:00
|
|
|
* [x] mem_timing
|
|
|
|
* [x] mem_timing-2
|
2021-11-06 01:40:31 +00:00
|
|
|
* [ ] dmg_sound (partial)
|
2021-09-24 15:34:48 +00:00
|
|
|
* [x] [dmg-acid2](https://github.com/mattcurrie/dmg-acid2)
|
|
|
|
* From [mooneye-gb](https://github.com/Gekkio/mooneye-gb):
|
|
|
|
* Cartridges:
|
|
|
|
* [x] MBC1
|
|
|
|
* [ ] MBC1M
|
|
|
|
* [x] MBC2
|
|
|
|
* [x] MBC5
|
2021-09-24 19:15:55 +00:00
|
|
|
* Implements a cycle-accurate PPU FIFO
|
2021-11-06 01:40:31 +00:00
|
|
|
* Doesn't \*exactly\* work just yet
|
2021-04-08 05:02:37 +00:00
|
|
|
|
2021-09-24 15:34:48 +00:00
|
|
|
Supports: ROM-only, MBC1, MBC2, MBC3 and MBC5 games.
|
2021-04-08 05:02:37 +00:00
|
|
|
|
2021-09-24 15:34:48 +00:00
|
|
|
|
2022-10-27 00:05:00 +00:00
|
|
|
### Compiling
|
|
|
|
This project was last successfully built on [Rust 1.64.0](https://github.com/rust-lang/rust/tree/1.64.0)
|
|
|
|
|
|
|
|
1. `git clone https://github.com/paoda/gb`
|
|
|
|
2. `cd gb`
|
|
|
|
3. `cargo run --release`
|
2021-09-24 15:34:48 +00:00
|
|
|
|
|
|
|
### Controls
|
2022-10-27 00:05:00 +00:00
|
|
|
Controls are defined [here](https://github.com/paoda/gb/blob/85940c874460b9cb31bf9b8211bf7dda596d114a/src/joypad.rs#L114)
|
2021-09-24 15:34:48 +00:00
|
|
|
|
|
|
|
Key | Button
|
|
|
|
--- | ---
|
|
|
|
<kbd>X</kbd> | B
|
|
|
|
<kbd>Z</kbd> | A
|
|
|
|
<kbd>Enter</kbd> | START
|
|
|
|
<kbd>Shift</kbd> | SELECT
|
|
|
|
|
|
|
|
Then use the Arrow keys for the D-Pad
|
2021-09-24 19:15:55 +00:00
|
|
|
|
|
|
|
### Credits
|
|
|
|
The Boot ROM found in the `bin/` directory was made by [Optix](https://github.com/Hacktix) over [here](https://github.com/Hacktix/Bootix)
|