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

https://github.com/ts-dev-debug-v2/vgba-emu

VGBA-EMU is a Nintendo Gameboy Advance Emulator Writen in PURE C
https://github.com/ts-dev-debug-v2/vgba-emu

accurate c emulator emulators fast gba gba-emulator pure-c wip

Last synced: about 1 month ago
JSON representation

VGBA-EMU is a Nintendo Gameboy Advance Emulator Writen in PURE C

Awesome Lists containing this project

README

          

VGBA-EMU Logo

# VGBA-EMU

### A Nintendo Game Boy Advance Emulator Written in Pure C

[![License](https://img.shields.io/github/license/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=7c3aed)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/blob/main/LICENSE)
[![Stars](https://img.shields.io/github/stars/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=f59e0b)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/stargazers)
[![Forks](https://img.shields.io/github/forks/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=10b981)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/network/members)
[![Watchers](https://img.shields.io/github/watchers/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=6366f1)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/watchers)
[![Issues](https://img.shields.io/github/issues/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=ef4444)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/issues)
[![Pull Requests](https://img.shields.io/github/issues-pr/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=8b5cf6)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/pulls)
[![Closed Issues](https://img.shields.io/github/issues-closed/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=22c55e)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/issues?q=is%3Aissue+is%3Aclosed)
[![Closed PRs](https://img.shields.io/github/issues-pr-closed/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=a855f7)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/pulls?q=is%3Apr+is%3Aclosed)
[![Repo Size](https://img.shields.io/github/repo-size/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=06b6d4)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu)
[![Code Size](https://img.shields.io/github/languages/code-size/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=14b8a6)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu)
[![Top Language](https://img.shields.io/github/languages/top/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=f97316)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu)
[![Language Count](https://img.shields.io/github/languages/count/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=ec4899)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu)
[![Last Commit](https://img.shields.io/github/last-commit/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=7c3aed)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/commits)
[![Commit Activity](https://img.shields.io/github/commit-activity/m/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=3b82f6)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/commits)
[![Contributors](https://img.shields.io/github/contributors/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=f43f5e)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/graphs/contributors)
[![Release](https://img.shields.io/github/v/release/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=22d3ee&include_prereleases)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/releases)
[![Release Date](https://img.shields.io/github/release-date/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=a3e635)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/releases)
[![Downloads](https://img.shields.io/github/downloads/TS-DEV-DEBUG-V2/vgba-emu/total?style=flat-square&color=facc15)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/releases)
[![Created At](https://img.shields.io/github/created-at/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=fb923c)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu)
[![Discussions](https://img.shields.io/github/discussions/TS-DEV-DEBUG-V2/vgba-emu?style=flat-square&color=c084fc)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/discussions)
[![Deploy](https://img.shields.io/github/deployments/TS-DEV-DEBUG-V2/vgba-emu/github-pages?style=flat-square&label=deploy&color=4ade80)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/deployments)
[![Sponsors](https://img.shields.io/github/sponsors/TS-DEV-DEBUG-V2?style=flat-square&color=db2777)](https://github.com/sponsors/TS-DEV-DEBUG-V2)
[![C](https://img.shields.io/badge/C-00599C?style=flat-square&logo=c&logoColor=white)](https://en.wikipedia.org/wiki/C_(programming_language))
[![WebGL](https://img.shields.io/badge/WebGL-990000?style=flat-square&logo=webgl&logoColor=white)](https://www.khronos.org/webgl/)
[![Emscripten](https://img.shields.io/badge/Emscripten-F5A623?style=flat-square&logo=emscripten&logoColor=white)](https://emscripten.org/)
[![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=flat-square&logo=html5&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/HTML)
[![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=flat-square&logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
[![CSS3](https://img.shields.io/badge/CSS3-1572B6?style=flat-square&logo=css3&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/CSS)
[![GBA](https://img.shields.io/badge/Game_Boy_Advance-4A0080?style=flat-square&logo=nintendo&logoColor=white)](https://en.wikipedia.org/wiki/Game_Boy_Advance)
[![Make](https://img.shields.io/badge/Make-427819?style=flat-square&logo=gnu&logoColor=white)](https://www.gnu.org/software/make/)
[![GCC](https://img.shields.io/badge/GCC-A42E2B?style=flat-square&logo=gnu&logoColor=white)](https://gcc.gnu.org/)
[![Linux](https://img.shields.io/badge/Linux-FCC624?style=flat-square&logo=linux&logoColor=black)](https://www.linux.org/)
[![macOS](https://img.shields.io/badge/macOS-000000?style=flat-square&logo=apple&logoColor=white)](https://www.apple.com/macos/)
[![Windows](https://img.shields.io/badge/Windows-0078D6?style=flat-square&logo=windows&logoColor=white)](https://www.microsoft.com/windows)
[![GitHub Pages](https://img.shields.io/badge/GitHub_Pages-222222?style=flat-square&logo=githubpages&logoColor=white)](https://pages.github.com/)
[![IndexedDB](https://img.shields.io/badge/IndexedDB-4285F4?style=flat-square&logo=googlechrome&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)
[![Web Audio](https://img.shields.io/badge/Web_Audio_API-FF6F61?style=flat-square&logo=mdnwebdocs&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)
[![Gamepad API](https://img.shields.io/badge/Gamepad_API-2D2D2D?style=flat-square&logo=playstation&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API)
[![Open Source](https://img.shields.io/badge/Open_Source-3DA639?style=flat-square&logo=opensourceinitiative&logoColor=white)](https://opensource.org/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/pulls)
[![Maintenance](https://img.shields.io/maintenance/yes/2026?style=flat-square&color=00c853)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu)
[![GitHub Profile](https://img.shields.io/badge/dev-TS--DEV--DEBUG--V2-7c3aed?style=flat-square&logo=github)](https://github.com/TS-DEV-DEBUG-V2)
[![Chrome](https://img.shields.io/badge/Chrome-supported-4285F4?style=flat-square&logo=googlechrome&logoColor=white)](https://www.google.com/chrome/)
[![Firefox](https://img.shields.io/badge/Firefox-supported-FF7139?style=flat-square&logo=firefoxbrowser&logoColor=white)](https://www.mozilla.org/firefox/)
[![Safari](https://img.shields.io/badge/Safari-supported-006CFF?style=flat-square&logo=safari&logoColor=white)](https://www.apple.com/safari/)
[![Edge](https://img.shields.io/badge/Edge-supported-0078D7?style=flat-square&logo=microsoftedge&logoColor=white)](https://www.microsoft.com/edge)
[![ARM](https://img.shields.io/badge/ARM7TDMI-emulated-00979D?style=flat-square&logo=arm&logoColor=white)](https://en.wikipedia.org/wiki/ARM7)
[![WebAssembly](https://img.shields.io/badge/WebAssembly-654FF0?style=flat-square&logo=webassembly&logoColor=white)](https://webassembly.org/)
[![WASM](https://img.shields.io/badge/WASM-ready-654FF0?style=flat-square&logo=webassembly&logoColor=white)](https://webassembly.org/)
[![Mobile Friendly](https://img.shields.io/badge/Mobile-friendly-10b981?style=flat-square&logo=pwa&logoColor=white)](https://github.com/TS-DEV-DEBUG-V2/vgba-emu)

---

**Play GBA games directly in your browser — no plugins, no installs, no compromise.**

[Play Now](https://ts-dev-debug-v2.github.io/vgba-emu/web/vgba-emu.html) · [Report Bug](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/issues) · [Request Feature](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/issues)

---

## About

VGBA-EMU is a high-performance Nintendo Game Boy Advance emulator written entirely in C and compiled to WebAssembly via Emscripten, and windows !

## Features

- **Pure C core** — no C++ dependencies, fully portable codebase
- **Browser-native** — compiled to WebAssembly, runs on any modern browser
- **Drag & drop ROMs** — drop a `.gba` file onto the screen to play instantly
- **Keyboard controls** — full GBA button mapping out of the box

## Controls

| GBA Button | Keyboard |
|:----------:|:--------:|
| A | X |
| B | Z |
| Start | Enter |
| Select | Backspace |
| L | N |
| R | M |
| D-Pad | Arrow Keys |

## Building from Source

```bash
git clone https://github.com/TS-DEV-DEBUG-V2/vgba-emu.git
cd vgba-emu
make
```

To build the WebAssembly target with Emscripten:

```bash
make web
```

## Usage

Open `web/vgba-emu.html` in a browser (via localhost server) , select a game from the menu or drag and drop your own `.gba` ROM file onto the canvas.

## Development

![dev](https://repobeats.axiom.co/api/embed/d700e3a8142897e2b102d400981b9896711fdbf6.svg "Repobeats analytics image")

## Contributing

Contributions are welcome. Fork the repo, create a feature branch, and open a pull request.

## License

See [`LICENSE`](https://github.com/TS-DEV-DEBUG-V2/vgba-emu/blob/main/LICENSE) for details.

---

VGBA-EMU © 2026 TS-DEV-DEBUG-V2 ALL RIGHTS RESERVED.