Typescript Gameboy Emulator https://vggonz.denibol.com/tsgbe/
  • TypeScript 85.1%
  • CSS 9.1%
  • HTML 5.8%
Find a file
Victor Garcia fb7c2522a8
All checks were successful
publish / deploy (push) Successful in 43s
add debug features
cpu registers and flags, ram and vram viewer and gameboy-doctor compatible logs
2026-06-15 21:37:07 +02:00
.forgejo/workflows fix workflow deploy step 2026-02-18 11:55:40 +01:00
src add debug features 2026-06-15 21:37:07 +02:00
.editorconfig initial commit 2021-02-11 13:16:17 +01:00
.gitignore update parcel from v1 to v2 2026-02-12 15:35:03 +01:00
index.html add debug features 2026-06-15 21:37:07 +02:00
index.ts add debug features 2026-06-15 21:37:07 +02:00
LICENSE Create LICENSE 2021-02-11 13:40:04 +01:00
package.json fix license in package.json 2026-02-18 12:18:05 +01:00
README.md add debug features 2026-06-15 21:37:07 +02:00
styles.css add debug features 2026-06-15 21:37:07 +02:00
tsconfig.json add multi-language support 2026-04-06 15:48:35 +02:00

TSGBE

Installing

Run npm install to install all dependencies

Development server

Run npm start for a dev server. Navigate to http://localhost:1234/. The app will automatically reload if you change any of the source files.

Build

Run npm run build to generate the distributable version. The compiled files will be located at the dist directory.

Demo

Live demo with latest build available at https://vggonz.denibol.com/tsgbe/

Features

  • Compatibility: Support for both classic GameBoy (DMG) and GameBoy Color (GBC)
  • Audio Support: APU implementation for sound and music playback
  • Input System: Support for virtual keys on mobile, custom key mapping on desktop, and gamepad support (DualShock, Xbox, generic controllers)
  • Save Manager: Save and restore game progress and emulation states in browser storage
  • Display Customization: Selectable color palettes (DMG, Pocket, Light) and optional LCD pixel grid overlay
  • Multilanguage UI: Automatic language detection with manual selector; currently supports English and Spanish
  • Web-Based: Runs entirely in the browser with no external dependencies required
  • Debug Panel (desktop only): Step-by-step execution controls (pause, step 1, step N), live CPU register and flag viewer, memory hex-dump browser, and VRAM/tileset viewer. Execution logs can be exported as plain-text traces compatible with Gameboy Doctor for automated correctness verification.

Compatibility

  • Passes the full Blargg cpu_instrs test ROM. Other Blargg test suites are yet to be confirmed.
  • Passes dmg-acid2 (DMG rendering accuracy test).
  • Passes cgb-acid2 (CGB rendering accuracy test).

Wishlist / TODO

  • Improve compatibility and fix emulation bugs
  • Optimization