An open API service indexing awesome lists of open source software.

https://github.com/hanaasagi/ngc-224

:video_game: A Gameboy emulator built in Rust.
https://github.com/hanaasagi/ngc-224

gameboy gameboy-emulator

Last synced: about 2 months ago
JSON representation

:video_game: A Gameboy emulator built in Rust.

Awesome Lists containing this project

README

          

# NGC-224

A Gameboy emulator built in Rust.

![](https://github.com/Hanaasagi/NGC-224/blob/master/.screenshot/pokemon.gif)

## Features

- [x] CPU and instructions
- [x] PPU(GPU)
- [x] Cartridge(MBC)
- [x] MBC1
- [x] MBC2
- [x] MBC3
- [x] ROM ONLY
- [x] Memory Management
- [x] Joypad Control
- [ ] Audio
- [ ] Serial
- [ ] CGB-MODE

## Building and Installation

#### Build from source

```Bash
$ git clone https://github.com/Hanaasagi/NGC-224.git
$ cd NGC-224
$ cargo run -- -p
```

#### Install from the release page

I only upload the macos platform binary to Github. Download from the [release page](https://github.com/Hanaasagi/NGC-224/releases/).

## KeyBoard Mapping

| Keyboard | Gameboy |
| -------- | ------- |
| M | Start |
| N | Select |
| w | Up |
| s | Down |
| a | Left |
| d | Right |
| j | A |
| k | B |

## Bug Report

If the program panic, please send the `coredump` file in current directory and tell me which rom you are playing. Additionally, the process receive a `USR1` signal for starting a stepping debug.

## Reference

Thanks for the article and open source project below.

- [Gameboy Development Wiki](https://gbdev.gg8.se/wiki)
- [GameBoy 仿真器 / accu.cc](http://accu.cc/content/gameboy/preface/)
- [Gameboy Emulation / codeslinger.co.uk](http://www.codeslinger.co.uk/pages/projects/gameboy/dma.html)
- [mvdnes/rboy](https://github.com/mvdnes/rboy)
- [mohanson/gameboy](https://github.com/mohanson/gameboy)
- [HFO4/gameboy.live](https://github.com/HFO4/gameboy.live)