An arcade whose cabinets are contracts. Every game here lives in the runtime
bytecode of its own contract on Robinhood Chain — real 4 KB Atari 2600
ROMs, with the 6502 that runs them a contract as well, alongside
cartridges written in JavaScript. No IPFS, no CDN, no game files anywhere:
press play and the bytes come off the chain.
The shelf is a contract too, and it is open. Anyone can put a game on it,
nobody can take one off, and the page you are reading asks the chain what is
there rather than a database.
Check it against the chain yourself, without this page and without an
explorer: node scripts/cartridge-attest.mjs --network robinhood
NEXT ON THE MARQUEE
104 more cabinets, already cleared
A public-domain library of arcade games, every one of them free to publish
and most under 4 KB, waiting on one more console contract. Openly
licensed Atari homebrew behind it. And a shelf that takes anyone's
cartridge, not just ours.
Two cabinets are lit tonight. Come back.
#0001
3,685
bytes of contract code
#0002
918
bytes, a 4 KB ROM
Console
5,666
bytes, 6502 + TIA
To play
free
reading a chain costs nothing
What is coming to the shelf
Two cabinets tonight, and a queue behind them. Here is the whole queue, with
what is already true marked as such — a roadmap that does not say which parts
are finished is a wish list.
working
The console runs cartridges it did not write
It used to handle only our own ROM. It now implements the undocumented 6502
opcodes that hand-written 2600 code leans on, so a foreign 4 KB image boots,
keeps a real 262-line frame, and answers the joystick.
in progress
Openly licensed Atari 2600 homebrew
Games whose authors put the source under a licence that allows it — MIT, GPL,
public domain. Each one is assembled from its source here, so the licence is
checkable and the build repeats.
in progress
The registry, on Robinhood Chain
The shelf as a contract rather than a list in this page: anyone lists a
cartridge, nobody can delist one, and every arcade reading that registry
sees the new cabinet at once.
next
A CHIP-8 console, and 104 games with it
A second emulator contract, and a library of programs released under
Creative Commons Zero — public domain, no permission needed, most of them
under 4 KB. One console contract, then a cabinet per game.
next
More games written here
The assembler, the console and the deploy path all work end to end. A new
cartridge is one transaction; what takes the time is making the game good.
What will not appear: the commercial 2600 catalogue. Those games are still owned
by someone, age is not a licence, and a contract cannot be edited or taken down
once it exists. Everything on this shelf is either ours or carries a licence that
permits it.
What is actually going on
A contract's code is a byte string the chain keeps forever and hands to
anyone who asks. Nothing requires it to be a program. Put a game there and the
chain keeps the game forever and hands it to anyone who asks.
Deploying one is a single transaction whose input is eleven bytes of init code
followed by the compressed game — no Solidity anywhere in that path. Playing one
is eth_getCode, a decompressor, and a sandboxed frame. Nothing is
written to the chain when someone plays, which is why it is free.