← All games

Adventure

Atari · Atari 2600 · 1980

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.

The start of Adventure: the gold castle with its portcullis closed, the gold key on the left and the player's square below the gate.
Press Play, then Game Reset to start game 1
←↑↓→ move · Space drop · Enter Reset · G Select

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, the yellow dragonGrundle, the green dragonRhindle, the red dragon

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.

The sword

Sword

Run a dragon through with it and the dragon is slain, until the next Game Reset.

The gold keyThe white keyThe black key

Keys

Gold, white and black, one for each castle's portcullis: one picture in three colors.

The bat

Bat

Flies from room to room, carrying off objects and trading the one it holds for another.

The magnet

Magnet

Draws objects in its room towards itself.

The chalice

Chalice

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

A room of the blue labyrinth.
The blue labyrinth.
The black castle.
The black castle.

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.

0differences from the cartridge in 100,000 compared frames: registers, cycles, RAM, chip writes and pixels
1,236instructions translated, each with its cycle count
31rooms, each drawn by the cartridge's own kernel
4,096bytes in the whole cartridge, code and graphics
Read in the ROM. A few things the code shows:
  • 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.
The port keeps all of it, because that is the game.
The hidden room, with the programmer's name running down the middle.
Room 30, drawn by the translated cartridge.
Developer pages