1984 · Melbourne House

About this page

This minisite was contributed by air. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/classic-adventure with me to Gold.

Footprint

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.

Status

Tierplatinum
Coverage100 % of the bytes the game uses have a description
Comments checkedNot 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 analysedSingle-file disk transfer of the tape release: CLASSIC ADV. on a disk named DIGITAL DUNGEON 98, with a relocating wrapper
Copyagent-draft
Toolsemulator: 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
Modelclaude-opus-5-5[1m]
Kit version0.0.115

How the listing was checked

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.

StepByWhat it foundOf the listing
Researchclaude-opus-5-5[1m]Looked the game up online (its manual, reviews or wiki pages) before reading its code.
Annotationclaude-opus-5-5[1m]Wrote the listing’s comments. 100 % of the program is described, in 1,937 comments.
Sample 1claude-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 1claude-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 tabclaude-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

Contributors

Other places to love this game

What the game does, and where we found it

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:

Features

FeatureStatusWhere
Commands of one or two words, typed and ended with RETURN ("Direct me with commands of 1 or 2 words")liveline input read_line $1194, parser parse $11D1-$12B4
Only the first four letters of a word count ("TAKE SILV" for "TAKE SILVER")livethe 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)livevocabulary entries N, E, NE, SW, U, D
INSTRUCTIONS, INFO and HELP print the help textsliverules at $564D, $5653 and $5659 (messages 1, 142 and 51)
INVENT lists what you carryliveaction 0 at $17F0
SCORE gives the score and the turnsliveaction 15 at $19E4
QUIT asks "Are you sure?", then gives the score and offers another gameliveaction 11 at $1980
SAVE writes the game to a blank tape; RESTORE reads it backconfirmedactions 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 buildinglive$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)differsthe 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"liveat 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")livetravel entries for XYZY in rooms 3 and 11
The rod scares the bird (HELP)liverule 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)confirmedeach 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 darkliveON 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)tracedKILL 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"livethe dwarf in the east/west canyon throws an axe (status rule 22)
The tape loads in under three minutes with the Pavloda loaderopenthis 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

Beyond the documentation

Open questions

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.