GB Studio builds Game Boy ROMs and bundles them with the binjgb emulator for web export, producing a self-contained build/web/ folder you can ship to Wavedash.
Export the game
- Open your
.gbsprojfile in GB Studio. - Game → Export As → Export Web
- GB Studio writes the export to
build/web/inside your project, containingindex.html,binjgb.js,binjgb.wasm, the compiledrom, and supporting JS/CSS.
Point upload_dir at ./build/web.
SDK integration
GB Studio's .gb ROMs can't call JavaScript directly — the SDK has to live in the web shell that hosts the emulator. GB Studio has a Custom HTML Head field in project settings that gets embedded into every web export, which is exactly what we want.
-
In GB Studio, open Project Settings → Custom HTML Head (or edit
project/settings.gbsresand setcustomHead). -
Paste:
Calling
Wavedash.init()is required. Your game stays hidden behind the Wavedash loading screen until you do. Call it once your game is ready to play.<script> try { const Wavedash = window.Wavedash; Wavedash.updateLoadProgressZeroToOne(1.0); Wavedash.init({ debug: true }); } catch (e) { console.warn("[wavedash] init failed:", e); } </script> -
Re-export. GB Studio will now inline the script inside
<head>ofbuild/web/index.html, and it'll stick across future exports.
GB Studio caches the project in memory. If you edit settings.gbsres directly on disk while GB Studio is open, close and reopen the project before exporting so it picks up the change.
wavedash.toml
game_id = "YOUR_GAME_ID_HERE"
upload_dir = "./build/web"
entrypoint = "index.html"
Controls
GB Studio's web export maps Game Boy buttons to the keyboard by default:
| Game Boy button | Keyboard |
|---|---|
| A | Z / Alt / J |
| B | X / Control / K |
| Start | Enter |
| Select | Shift |
| D-pad | Arrow keys or WASD |
You can override these in Project Settings → Custom Controls.