Adventure
Warren Robinett's quest for the enchanted chalice. The cartridge's own program, translated into JavaScript one instruction at a time with every cycle counted, so the dragons, the bat and the castles behave exactly as they did on the console.
How to play
The enchanted chalice is hidden somewhere in the kingdom. Find it and carry it into the gold castle to win. Walk into an object to pick it up; you carry it until you drop it. Keys open their castles, the sword slays dragons, and three dragons and a bat stand in your way.
At the controls
- Move←↑↓→ or WASD
- Drop what you carrySpace / Z
- Game ResetEnter
- Game SelectG
- Pause · MuteP · M
Gamepads work too: any face button drops, Start is Game Reset, Back pauses.
Three games
Press Game Select to show the game number, again to change it, then Game Reset to play. Game 3 puts some of the objects in random rooms every time.
Eaten by a dragon? Game Reset puts you back at the gold castle, and brings every dragon back too, even one you slew.
The switches
Left difficulty sets how long a roaring dragon waits before it bites: in game 1 about 2.2 seconds on B and 1 second on A, in games 2 and 3 about 0.6 and 0.3 seconds.
Right difficulty on B lets the dragons ignore the sword; on A they do not. Color / B&W switches the picture as on the console.
The kingdom



Yorgle, Grundle and Rhindle
The yellow, green and red dragons share the same pictures in three colors. Touch one and it roars; still touching it when the roar ends, and you are eaten.
Sword
Run a dragon through with it and the dragon is slain, until the next Game Reset.
Keys
Gold, white and black, one for each castle's portcullis: one picture in three colors.
Bat
Flies from room to room, carrying off objects and trading the one it holds for another.

Magnet
Draws objects in its room towards itself.

Chalice
The prize. Carry it into the gold castle and the game is yours.


Built from the ROM
This is not an emulator, and not a remake. A translator read the cartridge's 6502 code, using the disassembly for labels and comments, and wrote out each instruction as a line of JavaScript with its cycle count. The translated game runs on a model of the 2600's TIA and RIOT chips, and a 6502 core runs the real ROM beside it to prove the two match.
- The game runs in passes of three frames. You move every frame, but the bat, the portcullises and the yellow and green dragons move once a pass, and the red dragon and the magnet once a pass in another frame.
- Winning is a single test: whether the chalice's room is the gold castle.
- You pick things up by touch, and the touch is the TIA's own collision latch between your square (the ball) and the object.
- Game Select only changes the game number while you are looking at it; the first press just takes you there.
- There is a hidden room, number 30, with the programmer's name in it, and the code that sends you there checks where the grey dot is.

Developer pages
- Game only: the player on a page of its own
- Verifying against the ROM: the translator, the 6502 oracle and the comparison scripts