1982 · Commodore
Every byte of the C64's 64 KB, one pixel each, 512 to a row. Lit pixels are what this game is: its code, graphics, level data, sound, text, tables and variables, exactly where they sit in memory. Dim areas are screen and working memory; dark is unused.
| Tier | platinum |
|---|---|
| Coverage | 100 % of the bytes the game uses have a description |
| Comments checked | Not measured since its audit. The last sample of 60 comments had 9 wrong, so between 8 and 26 % of the listing’s comments are likely wrong; every comment was then audited, and no sample has measured the listing since. How listings are checked |
| Build analysed | 8 KB Ultimax cartridge (CRT name "Clowns", hardware type 0, EXROM 1, GAME 0, ROM at $E000-$FFFF); ROM SHA-1 ffebfc19263dc50d3a808135dbe88567617af6b8 |
| Copy | agent-draft |
| Tools | emulator: own build of github.com/barryw/vice-mcp, release v3.13.2, commit 1e83aab134 (VICE x64sc, PAL), disassembler: regenerator2000 0.9.20, host: Windows 11 Pro with WSL2, Ubuntu 26.04.1 LTS, x86_64 (Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz), python: 3.14.4, node: v24.21.0, browser: Microsoft Edge (Windows), headless, for the page check |
| Model | claude-opus-5-5 |
| Kit version | 0.0.154 |
Every step that measured the Source tab’s comments or made them more accurate, in the order it happened, with the models that did it. Accuracy of the Source explains each step and what the row above makes of them.
| Step | By | What it found | Of the listing |
|---|---|---|---|
| Research | claude-opus-5-5 | Looked the game up online (its manual, reviews or wiki pages) before reading its code. | |
| Annotation | claude-opus-5-5 | Wrote the listing’s comments. 100 % of the program is described, in 236 comments. | |
| Sample 1 | claude-opus-5-5 | 9 of 60 comments wrong, so between 8 and 26 % of the listing is likely wrong. All 9 were then corrected. the comments that shared their beliefs corrected with them | |
| Audit 1 | claude-opus-5-5 | Checked all 236 comments and corrected 5. every comment read again against the code by the agent that wrote it |
likely wrong the sample’s range corrected right, or likely right not yet measured
Read this before annotating code. What the game is documented to do, with verification status against the binary. Statuses: open (documented, not found yet), traced (in the code, could not be exercised; say what was tried), confirmed (in the code, consistent with the emulator), live (observed directly), differs (the code does something else). "Absent" is not a status.
Sources:
reference/title.png, reference/player1-start.png).Release year: the title screen says ©1982 (Bally/Midway and Commodore); the manual's copyright is 1983; the wiki gives 1982.
| Feature | Status | Where |
|---|---|---|
| Played with paddles in control port 1 (manual: "Plug paddle into Port 1"; wiki: the cartridge works only with paddles) | live | read_paddle_seesaw ($F189) reads $D419,Y, player 1 the first paddle and player 2 the second; the joystick moved nothing in play |
| The see-saw follows the paddle's turn (wiki) | live | the value the game computes at $F18D-$F196 set to 0, 100 and 200 put the see-saw's sprites at x = 41, 146 and 271; smoothed by smooth_paddle |
| F1 starts a one-player game, F3 a two-player game (manual, wiki) | live | read_keys ($F4A6), player_menu; the paddles' buttons do the same (button A on the title, button B for two players) |
| Two players take turns (wiki) | live | fly passes the turn after each fall while player 2 has jumps; when player 1 runs out first the turns go on and player 1's counter wraps to 255 (facts.md, "Two-player turns") |
| Two clowns: one bounces the other up off the see-saw (manual) | confirmed | launch ($E6C2): the clown landing on the raised end throws the one standing on the other; the see-saw's sprites show the standing clown |
| A clown starts from one of the two platforms on each side (wiki) | confirmed | new_jump picks one of four platforms (left or right, upper or lower) at random; platform_run |
| The falling clown must land on the free (raised) end of the see-saw, or it falls (wiki) | confirmed | move_clown: the 24 pixels at the raised end, from y 176; past y 184 the clown is down |
A fall costs a jump; the top line shows JUMPS. The wiki says the game ends after 3 falls | differs | five jumps each (new_game, live: JUMPS 5); the game ends when both players have none |
| Three rows of balloons: blue on top, green, yellow at the bottom (screens) | live | scroll_balloons; top and bottom rows move right, the middle row left |
| Yellow balloon 20 points, green 50, dark blue 100 (manual, wiki) | confirmed | balloon_row_points ($FE5D), 2/5/10 in tens |
| Each bounce 10 points (manual, wiki) | confirmed | launch adds 1 (tens) |
| Clearing all yellow: 200 bonus; all green: 500; all dark blue: 1000 and one bonus jumper (manual, wiki) | live | pop_balloons, row_bonus: "BONUS 1000", "BONUS 0500"; the bonus jumper makes the next fall free and the next jump says "BONUS PLAY" |
| High score shown on the title screen (screens) | live | title_screen, and after each fall in a game (fall_animation) |
| Player 1 and player 2 scores in the top line (screens) | live | show_status_number; one jump count, the current player's |
| Sounds: bounce and balloon pop; short tunes when a row is cleared, when a game starts and on a fall; no background music (wiki) | confirmed | sound_bounce, sound_pop, sound_fall, play_tune tunes 0-2; silent in the attract mode |
| The clown "bounces his partner to the top of the center ring" (manual) | differs | no ring: every character (0-119) and sprite shape in the ROM is accounted for (font, balloon_glyphs, seesaw_sprites, clown_shapes) and none draws one; the playfield is walls, a ceiling, four platforms and the balloons (playfield_layout) |
| An attract mode: the clowns play on their own on the title screen (screens) | live | attract_loop: the program steers the see-saw towards the clown; reference/title.png |
Found in the code, not in the manual.
wait_tick).pop_balloons) and starts every jump slow again.facts.md, "Build").facts.md, "Two-player turns").$E000-$EFFF.POKE 3566,255 and POKE 23789,255 are for other versions (this cartridge has no RAM there); its $0221 = $FF is player 1's jump counter here (cheats.md).The symbol map for this game is symbols.json; the listing behind the Source tab is listing.json. Write-ups, facts and symbol maps are CC BY-SA 4.0. The game itself is not hosted here.