← All games

Burger Time

Data East · Arcade · 1982

Peter Pepper, four giant burgers and a kitchen full of angry food. The arcade board's own programs, the game and its sound, translated into JavaScript one instruction at a time with every cycle counted, so every chase, drop and jingle plays as it did in the cabinet.

Burger Time's character introduction: the first stage with its blue floors and ladders, buns, lettuce and patties waiting on the floors, Mr. Hot Dog, Mr. Pickle and Mr. Egg named in red, and Peter Pepper at the top right.
Press Play: it inserts a coin and starts a one player game
←→ walk · ↑↓ climb · Space pepper · 5 coin · 12 start

How to play

Walk across every burger part to drop it a floor; parts that land on the one below knock it down too. Get all of them onto the plates at the bottom to clear the stage. The food chases you the whole time. A shake of pepper stuns them, and you start with only five.

At the controls

  • Walk←→ or AD
  • Climb↑↓ or WS
  • PepperSpace / Z / X
  • Coin · Start5 · 1 2
  • Coin and 1P startEnter
  • Pause · MuteP · M

On a gamepad

  • The joystickstick or D-pad
  • PepperA · B · X · Y
  • Coin and startStart
  • PauseBack

The cabinet's stick is 4-way: hold two directions and the last one pressed wins. Sound starts after your first click or key press, which is the browser's rule, not the cabinet's.

Points and extras

Every burger part you drop is 50 points. Ice cream, coffee and fries show up mid-stage for 500, 1000 and 1500, and each one gives you a pepper as well.

A bonus chef every 20,000 points, three to start with, as the factory DIP switches set them.

The scoring screen: burger parts are worth 50 points; ice cream 500, coffee 1000 and fries 1500 each add one pepper; a bonus chef for every 20000 points.
The game's own scoring screen from attract mode.
The attract mode demo: burgers stacked on the plates, with 2000 and 1000 point scores where parts landed on enemies.
The demo: parts that land with enemies on or under them score extra, here 2000 and 1000.
The fourth stage: eight burgers, two to a column, between narrow floors.
Stage 4 stacks eight burgers, 32 parts to drop.
The initials entry screen: the alphabet, SPA RUB END, and the best five players table.
Make the best five and you sign the board.

Who's who

Peter Pepper

Peter Pepper

The chef. Walks the floors, climbs the ladders and carries the pepper.

Mr. Hot Dog

Mr. Hot Dog

The first of the three the attract mode introduces, by name and trademark.

Mr. Pickle

Mr. Pickle

Chases on the same floors and ladders.

Mr. Egg

Mr. Egg

The third. A shake of pepper stops any of them for a moment.

Ice cream 500, coffee 1000, fries 1500

Bonus food

Shows up during a stage: 500, 1000 or 1500 points and one more pepper.

Built from the ROM

This is not an emulator, and not a remake. A translator read the board's two 6502 programs, the game and the sound, and wrote out each instruction as a line of JavaScript with its cycle count. The translated programs run on models of the main board (video, sprites, palette) and the sound board (two AY-3-8910 chips and the analog mixer). The real ROMs run on a 6502 interpreter beside them to prove the two match, and that interpreter is checked against MAME.

0differences from the ROMs in 500,000 compared frames: registers, cycles, RAM, video and sound writes
6,064instructions translated (5,195 game, 869 sound), each with its cycle count
303of the game's instructions are fetched unscrambled by its CPU-7
15,970sound chip writes in a test session, the same as MAME's, in the same order
Read in the ROM. The board holds a few surprises:
  • The main CPU is Data East's CPU-7, a 6502 that unscrambles an opcode's bits when the previous instruction wrote to memory and the opcode sits at an address matching xxxx xxx1 xxxx x1xx. The same address can hold two different instructions, so the translator keeps both.
  • The program writes 298 times to three bytes it never reads ($F5–$F7). Those writes can only change how the next opcode is decoded.
  • There is no vertical blank interrupt: the game polls a bit wired into a DIP switch port. The main CPU's only interrupt is the coin slot.
  • The coin routine checks the credit limit with CMP $D064,Y, using whatever Y the interrupted code left, so it can read the program's own code as data. The port keeps those bytes too.
  • Six stage layouts repeat: stage 7 is stage 1 again. They need 16, 16, 18, 32, 16 and 18 parts on the plates.
  • Channel A of the second sound chip goes through its own band-pass filter around 190 Hz; the other five channels are mixed straight.
The port keeps all of it, because that is the game.
Developer pages