Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/akatsuki105/dawngb

GameBoy Color emulator written in Go.
https://github.com/akatsuki105/dawngb

ebiten emulation emulator game gameboy gb gbc go golang libretro nintendo retro retroarch wasm webassembly

Last synced: about 7 hours ago
JSON representation

GameBoy Color emulator written in Go.

Awesome Lists containing this project

README

        

# DawnGB

DawnGB is GameBoy Color emulator written in Go.

You can play on [web](https://dawngb.vercel.app/)!

## Screenshots

### Desktop

prism megaman
shantae pokered

### Browser(Web)

    

## Features

- GB(DMG) and GBC(CGB) support
- MBC1, MBC2, MBC3, MBC5, MBC30 support
- Sound(APU) support
- Libretro support(run `make libretro`)
- Multiplatform support
- Work on Browser([here](https://dawngb.vercel.app/))

## Usage

- Desktop: Run `go run ./src/ebi` and drag and drop a ROM file into the window.
- Browser: Visit [here](https://dawngb.vercel.app/).

Key mapping is as follows:

- `A`: X
- `B`: Z
- `Start`: Enter
- `Select`: Backspace
- `↑` `↓` `←` `→`: Arrow keys

## Internal

```sh
.
├── core # Emulator core
├── src # Frontend
└── util # Utility (should be renamed to "internal" in the future)
```

## Accuracy

Keep the code as simple as possible, so synchronization is done at each instruction, and line-rendering is done at once on HBlank.

So game like "Prehistorik Man", which modifies the PPU registers during mid-frame, may not draw correctly.