Game Boy cartridges
Made a Game Boy game with Codex? Publish it on ARCADE.
Your .gb or .gbc file becomes an app on the Apps tab of every arcade. People open it in a browser, on a computer or a phone, and their saves follow them. There is no store to apply to and no account to register.
What your game gets
A Game Boy in the browser
The cartridge runs your ROM in a WebAssembly emulator. Phones get a touch D-pad, A, B, Start and Select. Computers use the keyboard or a gamepad.
Battery saves that follow the player
A game with a battery save keeps it in the player's wallet memory, the same on every device they sign in from.
A card of its own
Stars, comments and tips, a link that opens straight into the game, and a new version that keeps all of them.
Codex, ModRetro and Chromatic are named here only to say what works with what. ARCADE is not affiliated with OpenAI or ModRetro.
From ROM to the Apps tab
A cartridge is two inscriptions from the same account: the game file, and a small page with the app card in its JSON. The emulator is already on the chain, shared by every cartridge.
- Have a ROM you can publish. Any Game Boy or Game Boy Color file works: one the Codex plugin for Chromatic wrote from your description, a GB Studio ROM export, an RGBDS build, or anything else that makes a
.gbor.gbc. Publish only games you made or have the right to publish. - Check it in the cartridge maker. Open the cartridge maker and choose your file. It reads the header: the title, whether it is for the Game Boy Color, the cartridge type, whether it has a battery save, how many transactions it takes, and whether the header checksum and boot logo are right for real hardware. Nothing is sent anywhere.
- Get an account and test coins. Press Join on any arcade. Where the operator has the faucet on, a new account gets Pepecoin test coins. Start on the test chain: everything you inscribe stays on the chain for good.
- Inscribe the game file. In the arcade, go to Creator → NFTs → Inscribe one thing, choose the ROM, leave the JSON empty and press Inscribe it. Paste its id back into the maker.
- Fill in the card. Name, description, genre, version, players, a
familyid your versions share, and a cover picture's id if you inscribed one. - Inscribe the cartridge page with its card. Download the page from the maker and copy the card. Inscribe the page under Inscribe one thing with the card in JSON beside the file, from the same account as the game file.
- Find it on the Apps tab. When the block lands, about a minute later, open Apps and press Latest. Your game is there on every arcade, and
/play/<family>always opens its newest version.
A card looks like this. Only name is required:
{"app": {"name": "Star Catcher", "description": "Catch the falling stars. Beat your best.",
"version": "1.0", "players": "1", "genre": "arcade", "family": "star-catcher",
"cover": "<txid of the cover picture>"}}
Try the demo: Star Catcher
Star Catcher is an original Game Boy Color game written for this guide, with its best score kept in battery RAM. Its source builds with RGBDS. It is on the Pepecoin test chain as a cartridge: the game file and the cartridge page, made with the cartridge maker.
How the cartridge works
binjgb, inscribed once
The cartridge page loads binjgb (MIT licence, by binji): its script and its WebAssembly are two inscriptions every cartridge shares. Your inscriptions hold only your game.
Nothing leaves the page
Like every app, the cartridge runs in a sandbox that can load only other inscriptions and the arcade's own scripts. It can't phone home or reach a wallet unasked.
New version, same card
Inscribe a new cartridge with the same name and a new version. It replaces the old card and keeps its stars, comments and tips.
Publish any HTML5 game · An OpenAI-compatible API for your game · Every app guide
Questions
Can I publish a Game Boy game I made with Codex?
Yes, if it is yours to publish. ARCADE takes any Game Boy or Game Boy Color ROM, whatever made it. Codex, GB Studio and RGBDS all write the same kind of file.
Does it play on a phone?
Yes. The cartridge shows a touch D-pad and buttons, beside the screen when the phone is turned sideways. On a phone with the arcade installed, the game can sit on the home screen with its own icon.
Where are saves kept?
In the player's wallet memory, under the game file's id. They are checked every few seconds and when the page is hidden, and the player gets them back on any device they sign in from.
Is my ROM public once it is inscribed?
Yes. An inscription is public and permanent: anyone can play it and download the file. You can take the card off the Apps tab, but the inscription stays on the chain.
Will it run on real hardware too?
The arcade plays it in a browser. The cartridge maker checks the header checksum and boot logo, so you know whether the same file is ready for a real Game Boy or a Chromatic.
Can I update the game later?
Yes. Inscribe the new ROM, then a new cartridge with the same name and a new version. The new card replaces the old one, and the old version still runs from its own link.