Skip to content

Add node-mgba to EMULATORS.md - #272

Open
waylaidwanderer wants to merge 1 commit into
gbdev:masterfrom
waylaidwanderer:add-node-mgba
Open

waylaidwanderer wants to merge 1 commit into
gbdev:masterfrom
waylaidwanderer:add-node-mgba

Conversation

@waylaidwanderer

@waylaidwanderer waylaidwanderer commented Oct 2, 2026 •

Copy link
Copy Markdown

Adds node-mgba to EMULATORS.md.

node-mgba provides headless, scriptable Node.js bindings to mGBA's libmgba core for Game Boy, GBC, and GBA. It runs without a display server or window, giving developers programmatic control to step frames, read and write memory, handle button input, and stream audio/video directly from TypeScript.

@ISSOtm

ISSOtm commented Oct 2, 2026

Copy link
Copy Markdown
Member

I'm not confident bindings are within the scope of the list. Further, the emulator is listed twice, which is incorrect.

Finally, was this PR and/or the project AI-assisted? If so, please follow our disclosure guidelines.

@ISSOtm ISSOtm added the addition Suggest a new awesome resource label Oct 2, 2026
@waylaidwanderer waylaidwanderer changed the title Add node-mgba to Emulators Add node-mgba to EMULATORS.md Oct 2, 2026
Assisted-by: Antigravity:gemini-3.8-flash
@waylaidwanderer

Copy link
Copy Markdown
Author

I'm not confident bindings are within the scope of the list. Further, the emulator is listed twice, which is incorrect.

Finally, was this PR and/or the project AI-assisted? If so, please follow our disclosure guidelines.

Hey, thanks for the feedback. I've amended the commit.

Given that projects like PyBoy, wasmBoy and node-gameboy are on the list of emulators, I think node-mgba still belongs. The name might be a bit misleading - it's much more than just bindings for mGBA. PyBoy was my major inspiration, and my project has some other features on top of that (you can easily build a browser client or desktop app with this at the core, or some sort of Twitch Plays Pokemon-like project completely headlessly) which I think earns it its own spot on the list.

node-mgba is something I use myself heavily in my own project, so it's dogfooded and battle-tested.

Thanks for your consideration!

@ISSOtm

ISSOtm commented Oct 2, 2026

Copy link
Copy Markdown
Member

All of the emulators you have cited are usable by an end user, whereas this would be the first one (AFAICT) in the list that's purely headless. This opens the can of worms of “how much counts as an emulator”? Does https://lib.rs/crates/gb-cpu-sim qualify?

I understand “it must have an interface” may be a silly requirement, but I'd like to draw some hard line to keep our scope manageable—this list is already way too big and unfocused as-is... I'm open to other criteria, though.

@waylaidwanderer

Copy link
Copy Markdown
Author

@ISSOtm If I told you node-mgba comes with a web GUI, would that help? I could update the documentation to make that much more prominent as well. It's not really focused on because I only really use it for testing stuff, but the web app lets you load and play a ROM just like any emulator (plus some other fun stuff like displaying game-specific info extracted from RAM and a sequence runner that steps through the game frame by frame with the sequence you input).

@avivace

avivace commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Sorry there seems to be a bit of confusion here.

  1. The gbdev AI Coding Assistants policy governs the contributions to gbdev projects i.e. the contents of the change requests. It isn't meant to regulate, or impose requirements on, any external resources your contribution links to. The required disclosure applies to direct contents of your PR. (Feel free to revert the changes to your commit if necessary)
  2. Separately, awesome-gbdev doesn't yet have a policy on listing resources that were developed with AI. Some of our other collections, like Homebrew Hub, already have one, and we plan to write one for awesome-gbdev too. Until then, I'd ask you to hold off, since that policy will decide whether (and how) a resource's AI use should be flagged in the list.
  3. Not having a GUI shouldn't block an emulator from being at least considered a tool. We have already similar projects like this (e.g. PyBoy) and the headless capability are certainly interesting enough.

@avivace avivace left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocked by #273

@waylaidwanderer

Copy link
Copy Markdown
Author

@avivace Thanks for the info. No worries at all, I'll wait for the resolution of that policy then.

@ISSOtm

ISSOtm commented Oct 3, 2026

Copy link
Copy Markdown
Member

In parallel to the policy discussion, a UI is something I'd prefer before we add this to the list, yes. Thank you.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

addition Suggest a new awesome resource

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants