1984 · Melbourne House
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 audited. No audit has checked every comment, and the last sample of 60 comments had 3 wrong, so between 2 and 14 % of the listing’s comments are likely wrong. How listings are checked |
| Build analysed | Single-file disk transfer of the tape release: CLASSIC ADV. on a disk named DIGITAL DUNGEON 98, with a relocating wrapper |
| Copy | agent-draft |
| Tools | emulator: release v3.13.2, v3.13.2-linux-x86_64-gui.zip, disassembler: regenerator2000 0.9.20 (cargo install from crates.io), host: Linux x86_64, Ubuntu 24.04.5, no display (cloud container), simulator: kit/cpu/cpu6502.js, for the lockstep test of the interpreter's port (test_play.js), publication: Python 3.13; symbols_export.py and listing.py, node: 22.22.0, browser: Chromium 141.0.7390.37 (Playwright 1.56.1's), for the page checks, subagents: one checker agent on the Agent tool's general-purpose type for 60-verify's sample of 60 comments; all other work by one agent |
| Model | claude-opus-5-5[1m] |
| Kit version | 0.0.115 |
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[1m] | Looked the game up online (its manual, reviews or wiki pages) before reading its code. | |
| Annotation | claude-opus-5-5[1m] | Wrote the listing’s comments. 100 % of the program is described, in 1,937 comments. | |
| Sample 1 | claude-opus-5-5[1m] | 3 of 60 comments wrong, so between 2 and 14 % of the listing is likely wrong. All 3 were then corrected. 40 hand-written and 20 decoder comments; three hand comments marked right with a caveat | |
| Audit 1 | claude-opus-5-5[1m] | Checked 452 of 2,015 comments and corrected 323. partial: the action-list template tested against all 452 lists and 323 comments rewritten by the decoder | |
| Play tab | claude-opus-5-5[1m] | Ported the whole game to JavaScript for the Play tab; how many comments it corrected was not recorded. the interpreter, run beside the game's code: 505 sessions, 137,621 lines identical |
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:
INSTRUCTIONS, INFO and HELP, read in the emulator on 8 October 2026 (reference/).Classic_Adventure_1984_Melbourne_House, read 8 October 2026, for the directory of the circulated disk transfer.| Feature | Status | Where |
|---|---|---|
| Commands of one or two words, typed and ended with RETURN ("Direct me with commands of 1 or 2 words") | live | line input read_line $1194, parser parse $11D1-$12B4 |
| Only the first four letters of a word count ("TAKE SILV" for "TAKE SILVER") | live | the vocabulary at $47DF holds four letters a word; TAKE JEWELLERY and TAKE JEWE both work |
Directions abbreviate to one letter, and the diagonals to two (N, NE) | live | vocabulary entries N, E, NE, SW, U, D |
INSTRUCTIONS, INFO and HELP print the help texts | live | rules at $564D, $5653 and $5659 (messages 1, 142 and 51) |
INVENT lists what you carry | live | action 0 at $17F0 |
SCORE gives the score and the turns | live | action 15 at $19E4 |
QUIT asks "Are you sure?", then gives the score and offers another game | live | action 11 at $1980 |
SAVE writes the game to a blank tape; RESTORE reads it back | confirmed | actions 18 and 19 at $1A5D and $1AA3 call the KERNAL's SAVE and LOAD on device 1; the tape prompts appear live and RUN/STOP returns to the game, but no tape was attached, so the data written was not checked |
| Treasures count only when left in the building | live | $19FB-$1A25 adds 10 for each treasure whose location is room 3; three treasures dropped there scored 30 |
"You lose points for getting killed" (INFO) | differs | the score is counted afresh from the treasures in the building at every SCORE; the death routine at $1B35 never touches it. Died once, then scored 30 for three treasures |
| "If you think you have found all the treasure, just keep exploring" | live | at a SCORE with exactly 15 objects in the building, flag 12 is set ($1A27); entering the hall of mists then closes the cave (status rules 11 and 12) |
| Magic words (the debris room's note "Magic word XYZY") | live | travel entries for XYZY in rooms 3 and 11 |
The rod scares the bird (HELP) | live | rule at $56C5: "as you approach it becomes disturbed and you cannot catch it" |
Cave passages twist: going north and then south need not bring you back (inlay, HELP) | confirmed | each room has its own one-way exit list at $4C49/$4D63; the forest rooms 5 and 6 and the two mazes are built that way |
| A lamp to light, darkness, and pits in the dark | live | ON lights the lamp; with it off, every description of a dark room prints "It is now pitch dark" and uses one of four for the whole life, and the fourth ends in the pit (describe_room $1503, status rule 21) |
| Slay dragons, bribe trolls (inlay blurb) | traced | KILL DRAGON rules at $59D1-$59DD, THROW <treasure> at the troll at $5A3D-$5AEB; the run never reached the chasm |
| "Shady and often unfriendly characters lurking in the dark" | live | the dwarf in the east/west canyon throws an axe (status rule 22) |
| The tape loads in under three minutes with the Pavloda loader | open | this image is a disk transfer: the one file is loaded by the KERNAL and carries only a relocating wrapper (orientation.md). The tape and its loader were not seen |
SCORE finds exactly 15 objects of any kind in the building ($1A27). With 18 there it stayed clear; with 15 it was set, and the next visit to the hall of mists moved the player to the repository (live).BLAST at the north-east end floods the room with lava (message 134); at the south-west end it kills you if the rod with the rusty mark (object 10) is there or carried (message 135), and wins only if it is not (message 133). The cave's closing puts that rod at the south-west end. DROP ROD, when you are not holding the other rod, runs get on object 10 instead of drop (rule at $5833), so the rod can be picked up but never put down: "You have it already" (live). The winning text appeared only after poking the player into room 116 in a new game.get refuses an eighth with "You can't carry any more" ($185F, live). The count is kept in flag 2.$1B35-$1BA7; one death live).LOOK in the dark uses one (live: two dark LOOKs, the lamp on and off, two more, and the fall).ON with no lamp prints "You have no source of light." and then "Okay" (live).N from the forest and other repeated exits are chance exits: the jiffy clock's low byte against a threshold out of 128 (condition 2, $16BE). The snake can be slipped past to the south-west with a chance of 35 in 128.Another game (y or n)? answered N resets the machine through the KERNAL's reset vector ($195A, live).DOWNSTREAM in room 38 and the travel entries that use word 5 can never run, because no entry in the vocabulary carries word 5 (traced: the 226 entries at $47DF were listed). THROW AXE at a dwarf needs flag 11, which no rule sets.GET CHAIN while the bear is still chained prints "Your feet are now wet." (rule at $57FD prints message 70; message 169, "The bear is still chained to the wall.", is the one GET BEAR uses).GET BEAR rule that should refuse while the chain holds it ($567D) tests object 78, a flute no rule places, instead of object 76, the chain on the wall, so once fed the bear follows you chain and all (live, with the fed bear poked).FEE FIE never brings the troll back. It returns the golden eggs to the giant room. The rule after it ($5B51), which would also put the troll back on the bridge, is never reached: the rule before it ($5B4B) asks only whether the eggs exist, and a treasure always does, even one thrown to the troll (live).KILL CLAM and OVER at the fissure with no bridge print empty messages, a blank line (rules at $59B9 and $52E1, messages 15 and 87, live).1, so 200 would read as 100 ($1A1C, live with objects poked into the building); 150 is the most a game can reach.$1067, inside print_record, and turns its STA $61 into STX $61; after that the texts come out as blank lines (get_command $13C8, live with the digits poked to 9999).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.