1986 · Activision

About this page

This minisite awaits a maintainer’s check. A model this site has not proven yet worked on it (claude-sonnet-5-5), so a maintainer will measure its listing on one it has (how the check works).

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.

This game is in 23 parts. The map is of The resident engine, which stays in memory; the band marked as varying holds whichever of the 22 parts loaded over it is there. The Source tab has the listing of each part that has one.

Status

Tierbronze
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 2 wrong, so between 1 and 11 % of the listing’s comments are likely wrong. How listings are checked
Build analysedTwo-sided English disk edition; stored credit at $743D-$747D includes V 1.0 V; supplied G64 preservation images
Copyagent-draft
Toolshost: macOS arm64, emulator: release v3.13.2, v3.13.2-macos-arm64-gui.dmg (VICE MCP), disassembler: regenerator2000 0.9.20, publication: Python 3.9; symbols_export.py; listing.py
Modelgpt-6.1-sol
Kit version0.0.210

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
Researchgpt-6.1-solLooked the game up online (its manual, reviews or wiki pages) before reading its code.
Annotationgpt-6.1-solWrote the listing’s comments.
Bronze: opening snapshot, nine comments, initial hardware and string sweeps. No independent sample or audit.
Annotationgpt-6.1-solWrote the listing’s comments.
Expanded Bronze trace: graphical play reached; room resources captured; dialogue dictionary decoded, with script-generated record comments. No independent sample or audit.
Annotationgpt-6.1-solWrote the listing’s comments.
Word-wheel input, prefix matching, command dispatch, and drawing: ten additional routine descriptions. G/Z/O and Delete checked in VICE; committed tests run the original routines. No independent comment sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Opening movement/reply dispatch and mixed GO HOME table: nine descriptions. Page behavior compared with all 14 original handler decisions; reply strings compared with the original text parser. No independent comment sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Ticket inventory entry, eastward gate, outside handler, and mixed east table: six descriptions. Recovered command-handler code through known dispatch entries. Eastward selection checked for 3,584 location/ticket-byte cases; complete purchase tested with one through nine owned dollars. No independent listing sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Popcorn dollar-payment branch: one description, checked with one through nine owned dollars and every purchase flag (2,304 cases). Three reply streams checked with the original parser. No independent listing sample.
Annotationgpt-6.1-solWrote the listing’s comments.
54 opening text records ($9816-$A3D6): generated descriptions from decoded streams, all 54 compared with the original parser. Tests also check record bounds, listing-comment text and the setup-written dictionary operand. Three continuation/operand descriptions bound the editable reply. No independent sample or audit.
Annotationgpt-6.1-solWrote the listing’s comments.
Opening-only ledger: 48,261/48,261 described bytes, including provenance-only descriptions of 2,365 opaque retained bytes with purpose unknown. Fresh hand-over matches all TX payload bytes; startup/play changes assigned. Recovered API, IRQ and computed-dispatch targets; all 127 opening streams, 58 headered messages and 255 sound events checked against original routines. Exhaustive random/scale cases, painter, clearing, screen shifts, pointer boundaries, colour and IRQ cases checked. No independent sample or audit; 21 graphical parts remain unanalysed.
Annotationgpt-6.1-solWrote the listing’s comments.
Popcorn change: correct the mistaken no-direct-reference comments at $968C/$968D, trace TAKE/complaint/nickel-return consumers, and add a checked interactive example. Two ordinary-input VICE sequences; 7,995 original-code counter transitions, twelve live scalar transitions, and nine isolated later popcorn offers. No independent comment sample or audit.
Port checkgpt-6.1-solChecked a page’s port or widget against the game and corrected 2 comments it showed wrong.
Popcorn-change widget verification corrected the two no-direct-reference descriptions at opening $968C/$968D; ordinary input and original-code comparisons are recorded in the preceding annotation row.
Annotationgpt-6.1-solWrote the listing’s comments.
Partial natural gate image: 771/43,949 bytes described. Original-code classifier, threshold, delay and deferred dispatch tests plus ordinary joystick trials and a live scene-request watch. Shared resident ownership unresolved; provisional independent image scopes. No independent comment sample or audit.
Annotationgpt-6.1-solWrote the listing’s comments.
Gate/shared introduction sequence: seven original-parser speech checks and 15,360 isolated dispatcher cases, including name insertion and scene-dependent skip. Gate ledger 2,059/43,949 bytes; ordinary speech presentation, input meanings and pose identities remain open. No independent comment sample or audit.
Annotationgpt-6.1-solWrote the listing’s comments.
Gate fire producer traced from CIA1 sampler to interruption latch; ordinary port-one press/hold/release/re-press with positive checkpoint. 8,192 original-code latch cases. Full live early-speech skipping remains open; no independent comment sample.
Sample 1gpt-6.1-sol2 of 60 comments wrong, so between 1 and 11 % of the listing is likely wrong. Both were then corrected.
Independent checker: fixed random draw from 1,303 line comments, 59 opening and one gate. Corrected opening $2984 ordering and $BCCF bounded-name copy after original-code confirmation. No full audit; one gate comment does not measure gate accuracy separately.
Annotationgpt-6.1-solWrote the listing’s comments.
First corridor partial natural image: 1,013/48,021 bytes described. Ordinary wall/retreat/horizontal trials and a reachable opening request for scene 3/entry 35. Original-code checks cover 65,536 coordinate cases, 256 route cases, 65,536 PRNG cases and captured boundary flags. Provisional independent image scope; shared ownership unresolved. Added after the independent sample; no corridor sample or audit.
Annotationgpt-6.1-solWrote the listing’s comments.
Completed the ordinary first-opening route into the Brick Hallway. Natural loader replay at $543A/$54CB confirmed entries [35,255,26], mode zero and player X=2272/depth 6. One placement comment added to corridor; 1,113/48,021 described bytes. Original routine versus page calculation for all 256 entries, including FF skip. No independent sample of this addition.
Annotationgpt-6.1-solWrote the listing’s comments.
Privacy edit: anonymized the entered player name in publication snapshot copies, page example and one gate message comment. Only cached name bytes change in published gate/corridor data; opening record bytes and all code remain unchanged. Original captures stay private. Gate parser/scheduler and opening resource-scope checks pass.
Annotationgpt-6.1-solWrote the listing’s comments.
Partial natural Brick Hallway image, name anonymized: 822/48,587 described bytes. Traced OPEN DOOR classifier/type check, map mutation and zero refresh request. Ordinary right/up approach opened column 36; handler and mutation positive hits, cell7→6 and counter3→4. Page compared with 65,536 original handler decisions and both observed full classifier/mutation cases. Shared ownership and traversal remain open; no independent sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Brick Hallway door traversal: ordinary up input from the opened door selected request0/entry12 and arrived at X800/depth6 in retained scene3. Exit and movement positive checkpoints; all 256 source bytes compared with original exit, retained-room branch and entry placement. Part has 972/48,587 described bytes. Entry44 and source-byte gameplay meaning remain unverified; no independent sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Column12/type11 panel: ordinary ASK and OPEN DOOR replies plus a bounded up trial with positive controls. Traced the ASK prerequisite stack-discard path; 65,536 original caller/prerequisite cases and both real command paths at the observed position. Part has 1,049/48,587 described bytes; shared scope total 27.8%. Other actions/return paths remain unverified; no independent sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Partial Alph and Ralph controlled-room image: 854/48,705 described bytes. Ordinary CALL ALPH and three ASK ALPH commands beside the left door recorded live replies and counter0/1/2/2. Page checked with 45 original conversation decisions and three original reply parses; presence intercepted in the isolated test. Entry from the Brick Hallway, Ralph and later puzzle branches remain open. No independent sample. Five overlapping provisional scopes total53,393/237,523 (22.5%); added scope enlarges the denominator.
Annotationgpt-6.1-solWrote the listing’s comments.
Ralph opening and shared speaker switch within controlled scene4. Ordinary right-side CALL/ASK gave index0/1/2/2; switching after Alph reply1 preserved1 across CALL RALPH, then gave reply2. Positive handlers and command fields. Page compared with90 original ASK cases through both accepted prerequisites and768 CALL RALPH cases, query intercepted. Part858/48,705; five overlapping provisional scopes53,397/237,523 (22.5%). Later puzzle and ordinary room entry open; no independent sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Opened-door threshold: initial map15 doors (3 open/12 closed), initializer count3, checked OPEN increment and ordinary repeat retaining count4. Controlled scene4 count14/15 ASK ALPH comparison gave refusal/thanks with acknowledgement-write hits0/1. Page compared with1536 original ASK count/index cases, original thanks parse, map census and initializer. Part923/48,705; five overlapping provisional scopes53,462/237,523 (22.5%). Full ordinary door route, persistence and later acknowledged dialogue open; no independent sample.
Annotationgpt-6.1-solWrote the listing’s comments.
Brick Hallway CLOSE,CLOSE,OPEN,OPEN ordinary sequence: cell6/7/7/6/6 and count4/3/3/4/4, handler hits throughout and mutation only on successful close/reopen. Page checked with65,536 original CLOSE decisions, original message parses and20 full classifier/mutation calls across five counters, using its existing checked OPEN function. Scene3 1,123/48,587 described bytes; overlapping scopes53,536/237,523 (22.5%). Other commands, complete persistence and new-comment independent checking remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Post-thanks phase1: three ordinary ASK ALPH commands in controlled count15 room retained index2/flagFF and gave Figure it out for yourself. Checked65,536 original phase-one decisions,1536 full ASK prerequisite paths and two parser texts. Split an overextended data span:150 higher-phase bytes remain undescribed; scene4 ledger887/48,705, overlapping total53,500/237,523 (22.5%). Flag producer, zero-state reachability, later phases and door outcomes open; new comments unsampled.
Annotationgpt-6.1-solWrote the listing’s comments.
Guard left-door phase1 cycle: ordinary approach and OPEN/ASK/CLOSE/ASK inside controlled count15 room changed local flagFF/0/FF and selected unsure/figure-it-out while Brick Hallway count stayed15. Page checked with262,144 original left-door flag/depth cases, actual classifier/proximity/mutation and full four-command sequence. Scene4 1,023/48,705; overlapping scopes53,636/237,523 (22.6%). Door destinations, later phases, full ordinary entry and persistence open; comments unsampled.
Annotationgpt-6.1-solWrote the listing’s comments.
Opened left-door entry from controlled count15/selector1 state: ordinary up gives reaction, phase1 to2, scene5/entry1 load and Wall of Hands arrival X84/depth6. Checked65,536 entry choices,256 phase advances,nine-call successful countdown and original reaction parse. Scene4 1,138/48,705; overlapping scopes53,751/237,523 (22.6%). Alternate outcomes, full ordinary entry, later phases and scene5 mechanics open; comments unsampled.
Annotationgpt-6.1-solWrote the listing’s comments.
Controlled selector1 right-door route: ordinary input reaches the falling/lied messages and loss panel. Added226 described bytes, bounded at text terminators; scene4 1,364/48,705, provisional scopes53,977/237,523 (22.7%). Original tests cover256 initializations,255 alternate countdowns and three text expansions. Other selector setups, restart and ordinary guard-room arrival remain open; new comments unsampled.
Annotationgpt-6.1-solWrote the listing’s comments.
Guard setup prefix: live controlled entry seed63287 and explicit0/7 seed comparisons, two random-bit stores and240-frame retention. Compared65,536 original prefix executions and256 guard bytes. Added36 described bytes; scene4 1,400/48,705, provisional scopes54,013/237,523 (22.7%). Ordinary revisit resets, second-bit purpose, full selector0 traversals and new-comment sampling open.
Annotationgpt-6.1-solWrote the listing’s comments.
Later guard ASK: both controlled phase4/index3 second-bit outcomes checked in VICE;32 original-code cases and five original text expansions. Added63 described bytes; scene4 1,463/48,705, provisional overlapping scopes54,076/237,523 (22.8%). Ordinary phase4 arrival, other reader paths and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Guard congratulations: five controlled live Alph cases, later ASK prerequisite, both role replies and insult-flag priority. Original-code byte sweeps retain both accepted speaker prerequisites; live Ralph and complete phase4 arrival remain open. Added114 described bytes; scene4 1,577/48,705, overlapping scopes54,190/237,523 (22.8%). New comments unsampled.
Annotationgpt-6.1-solWrote the listing’s comments.
Phase4 guard departure: controlled unselected and Alph-selected lying/truth snapshots replayed through ordinary OPEN/entry, stopping before phase advance. Original-code reaction gates, speech selection and256 setup phases checked. Retained40/44 thresholds distinguished from setup54/64. Added261 described bytes; scene4 1,838/48,705, overlapping scopes54,451/237,523 (22.9%). Ordinary phase4 arrival, remembered-Ralph live departure and new-comment sampling open.
Annotationgpt-6.1-solWrote the listing’s comments.
Completed three controlled phase4 guard left-door loads: all request5/entry1 and arrive at Wall of Hands X84/depth6, retaining phase4. Original retained scene-request prefix checked with loader effects intercepted; actual loads supply arrival evidence. Added45 described bytes; scene4 1,883/48,705, overlapping scopes54,496/237,523 (22.9%). Ordinary phase4 guard-room arrival, other complete traversals and new-comment sampling open.
Annotationgpt-6.1-solWrote the listing’s comments.
Started scene5 on verified local arrival. No-input automatic question and five single-dispatch ASK WALL replies captured; original handler/gate/automatic prefix and six text streams checked. 281/49,751 bytes described; six overlapping scopes54,777/287,274 (19.1%), with16 parts untouched. MANICURE, movement, exits, resident ownership, retained untracked data and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
First MANICURE WALL: three live missing/usable/damaged-shears controls, real inventory-reader and command-gate comparisons, counter0→1 and varied output-mode checks. Added225 described bytes; scene5 506/50,014, six overlapping scopes55,002/287,537 (19.1%). New tail bounds track263 undescribed retained bytes. Ordinary item acquisition/damage, later manicure stages and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Seven accepted MANICURE WALL commands captured in one session after explicit item supply; original gate/inventory/damage/counter/reply paths and seven texts checked. Added227 described bytes: scene5 733/50,014, six overlapping scopes55,229/287,537 (19.2%). Eighth-count path, ordinary item acquisition, later progression and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Eighth MANICURE WALL: continued local sequence through One hour later,12→11 hours and room refresh; explicit zero-hour control reached expiry. Original handler/hour arithmetic, event lookup and text checked. Added50 described bytes: scene5 783/50,014; six overlapping scopes55,279/287,537 (19.2%). Later counts, ordinary acquisition and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Ninth MANICURE WALL continued the controlled local sequence: repeated first reply, movement12, exit0 request6/7, actual Stone Corridor arrival X480/depth6. Original command, movement prefix and exit-selector comparisons added. Added109 described bytes and2 tracked undescribed tail bytes: scene5 892/50,016; six overlapping scopes55,388/287,539 (19.3%). Ordinary item acquisition, other routes, destination gameplay and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Started scene6 on actual ninth-manicure arrival. Ordinary OPEN DOOR refusal at480, approach147, cell1→7 opening and repeated-open response checked. Own listing264/48,410; seven overlapping image scopes55,652/335,949 (16.6%),15 other parts unanalysed. Comparison uses matching later loader return; first initialization instruction, seven retained uncounted stretches, traversal, persistence and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Stone Corridor first door: ordinary CLOSE7→1 and repeated-close reply checked; separate ordinary up crossing requests refresh0/entry30 via stored selector96 and reaches X1952/depth6 in scene6. Original close/classifier/mutation/record path, column2 exit selector and text compared. Added197 described bytes: scene6 461/48,410; seven overlapping scopes55,849/335,949 (16.6%). Other doors, return traversal, initialization, persistence and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Scene6 archway: ordinary up input from column30 requests refresh0/entry26 and reaches X1696/depth6 beside a ladder; 300-frame no-input control stays at arch. First opened cell7 retained across same-scene refresh. Original column30 exit and matching nonnegative placement prefix compared with reused page placement function. Added104 described bytes: scene6 565/48,410; seven overlapping scopes55,953/335,949 (16.7%). Return route, ladder interaction, save/disk-load persistence, ownership and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Scene6 ladder: ordinary offset33 approach starts a climb; offsets41/37 stop at depth24. Releasing up at the accepted gate still reaches completion. Actual slot13/bank0 request5/1 loads the Wall of Hands X84/depth6, opening question and counter0. Original alignment, dispatch, animation completion and exit checked. Added165 described bytes: scene6 730/48,410; seven overlapping scopes56,118/335,949 (16.7%). Adjacent guarded door, return to first door, save/restart persistence and new-comment sampling remain open.
Annotationgpt-6.1-solWrote the listing’s comments.
Scene6 guarded door: reached column24 after the checked first-door and arch route. Companion at X1568/depth24 blocks OPEN DOOR with He's in the way!, retaining scene6 and cell1. Original branch compared for1,792 companion-position cases and reply expanded by the original parser. Added33 described bytes: scene6 763/48,410; seven overlapping scopes56,151/335,949 (16.7%). Companion-clear route, resulting traversal and new-comment sampling remain open.
Annotationclaude-sonnet-5-5Wrote the listing’s comments. 100 % of the program is described, in 9,360 comments.
22 October 2026: the shared engine was made its own part (parts/resident). Labels and comments were moved from the existing maps by script, with the opening's wording kept where scenes differed (parts/resident/merge-notes.md); no comment was written. Snapshots were rebuilt from the supplied disks and compared byte for byte (parts/resident/facts.md). No independent sample or audit.

likely wrong the sample’s range corrected right, or likely right not yet measured

Contributors

Other places to love this game

Sources

The numbered notes on the reading pages point here. Memory-address links open the matching part’s listing. Emulator captures establish the recorded state; examples that start from a prepared room state say so in their “Sources and checks” notes.

  1. Labyrinth: The Computer Game — Player’s Guide, disk edition, read 17 October 2026. Printed pages 3–13 cover the game’s premise, controls, and saving. Pages 7–9 describe the word wheels and command input. The documented features and their verification status are listed below.
  2. Labyrinth — C64-Wiki, read 17 October 2026. Secondary reference for the text opening, character choices, and independently sourced reference pictures. Its claims are distinguished from the observations made with the supplied disks.
  3. Labyrinth — cassette Player’s Guide, read 17 October 2026. Used for the documented encounters. Its saving restriction applies to that edition; it does not establish the disk edition’s behavior.
  4. The two supplied Activision disk images, run in VICE between 17 and 20 October 2026. Captures and command observations support the text opening, gate entry, corridor and Brick Hallway routes. Alph and Ralph examples begin in a controlled room; the door-count comparison changes the counter explicitly. The checked continuation reaches The Wall of Hands from that setup. The methods and limits appear in each example’s “Sources and checks” notes and in the analysed-state description below.

What the game does, and where we found it

Sources

Read on 17 October 2026:

Checklist

FeatureStatusEvidence / question
Choose among three game slots with F1, F3, or F5livereference/title.png shows the empty-slot menu.
Enter a player nameliveA player name was accepted; its captured value is anonymized in the published listing.
Choose gender and favorite colorliveM and BLUE were accepted; reference/opening-anonymous.png; the setup screenshots were removed for privacy.
Text opening before the graphical adventurelivereference/opening-anonymous.png; the cinema sequence leads to reference/maze-intro.png. Graphical gate movement and the first brick corridor were reached in the continuation.
A theater ticket gates the eastward route past the countertraced and simulator-checked$90F4 checks ticket inventory; $9327 plus $087F charge five dollars. All location/ticket-byte decisions and owned-dollar purchase cases are checked by test_ticket.js. Arrival processing remains separate.
Reach Jareth through the maze before thirteen hours expireopenDisk guide pp. 2–3; clock rate and failure behavior untraced.
Move the character with joystick port 1liveFrom the saved gate state, 100 right-input frames moved the figure; up input walked through the doorway into the brick corridor. reference/gate-after-right.png and reference/corridor-play.png.
Compose commands from verb and object wheelsliveGO HOME, TAKE CAMCORDER, and the cinema commands changed the displayed state.
Space changes the active wheelliveUsed between verbs and objects throughout the opening route.
Horizontal cursor keys change wheels; vertical cursor keys scrollopenDisk guide pp. 7–9; cursor input was not tested.
Typing selects matching wordsliveEntered words in the active wheels during the opening route.
Delete clears the prefixlive and tracedG, Z, O, then Delete produced prefixes G, G, GO, empty. The selected word remained go after Delete. $61F7; test_wheel.js.
Return executes commandsliveRepeatedly exercised in the text adventure.
Fire executes commands after the movie startsopenDisk guide p. 8; graphical play was reached, but command execution by fire has not been isolated in a control test.
An invalid prefix flashes the border redtraced; rejection liveZ after G was discarded in VICE. $612C writes red to the border on rejection; the simulator checks that write. The flash duration is unmeasured.
Scene entry automatically saves to the active slotopenDisk guide p. 9; verify writes on a working disk copy.
SAVE GAME and LOAD GAME use the three slotsopenDisk guide pp. 10–12.
Save/load menus stop the clockopenDisk guide p. 9.
Shift plus left arrow restartsopenDisk guide p. 13.
Goblins, oubliettes, the bog, Hoggle, Fireys, Ludo, and DidymusopenCassette guide’s introduction documents these encounters; room images captured with forced scene requests; encounter behavior remains unverified.

Reference pictures

wiki-title.png, wiki-gate.png, and wiki-hoggle.png are independent C64-Wiki reference screenshots, from the image links on the cited page. They are game imagery, not evidence of states reached in this emulator session. Original game imagery © its owners. Emulator captures use state names and are identified separately in the orientation.

Popcorn purchase: traced and simulator checked at $93E1. The first dollar payment costs two dollars and adds one box; a nonzero purchase flag refuses repeat payment. Two complaint phases recover the missing quarter; quarter collection, dropped-nickel pickup and return were verified through ordinary commands. test_change.js compares the page example with the original handlers and live scalar observations.

Opening dialogue: all 127 stored streams at $7910-$833F and $968E-$A9E7 decoded and simulator checked, including setup, descriptions, transactions and hints. The original handler entries and pointer tables are described. Artificial state combinations in the tests do not establish ordinary reachability; the counter’s collect-first and complain-first paths are live checked. Later movie-transition timing remains open. Resident messages, sound-event formats, renderer, loader and IRQ services have opening-snapshot annotations; later loaded puzzles remain open.

Nickel disposition: the first accepted return writes $0575=$FF; keeping the dropped nickel leaves one. Isolated original-code tests show that an accepted later popcorn offer loses the whole box for one and retains it for $FF. The complete later encounter timing remains open.

Checked gate approach

Observed with ordinary joystick input: aligned up from the natural gate starts the scripted corridor entry; left and right approaches stop at depth 24. The classifier, depth threshold, sound/delay sequence and deferred scene request are traced and tested in parts/scene-01/facts.md and test_gate.js. Remaining graphical movement and puzzles are open.

The gate resource’s seven stored introduction messages and phase/countdown selection are traced and checked against original-code execution. The player-name insertion is tested. Ordinary presentation of the complete speech and its early-phase fire skip remain open.

Joystick-port-one fire is live as the producer of the introduction interruption latch: press/hold/release/re-press checked. Its phase-below-seven skip is traced and tested in isolation; full speech replay remains open.

First-corridor route evidence

Brick Hallway arrival behavior

Column-12 panel

Alph and Ralph controlled-room check

CALL ALPH beside the left door made Alph visible; three ASK ALPH commands gave the opening warning, the Brick Hallway door request, and the refusal to continue. Positive call/ask checkpoints accompany the live captures in reference/alph-0-call.png through alph-3-ask.png. The room was selected in memory, using the female avatar; ordinary entry, later progress and door outcomes remain open. Ralph's corresponding opening exchange and the shared index across a speaker switch are checked in the continuation below. parts/scene-04/facts.md gives the bounded original-code comparison.

Shared Alph and Ralph opening exchange

Ordinary CALL RALPH and three ASK RALPH commands beside the right door displayed the same three opening replies. Calling Ralph after Alph's first answer kept the shared index1; the next ASK RALPH gave the second reply and advanced it to2. Both trials started inside the forced scene-four reference. Positive handler hits, captured command IDs and the four images ralph-0-call.png, ralph-1-ask.png, shared-0-call.png, and shared-1-ask.png support these observations. The later puzzle remains open.

Opened-door response threshold

The captured Brick Hallway strip has15 door cells, three initially open, and the new-game counter starts at3. The checked first opening raises it to4; repeating OPEN DOOR at that opened door leaves4 unchanged. In a controlled scene-four comparison restoring the same refusal state, count14 retained Alph's refusal and count15 gave thanks for opening the doors. Positive ASK/acknowledgement-store checkpoints and an original-code comparison accompany the captures. The counter was set directly for this response comparison; the complete ordinary fifteen-door journey remains open.

Closing and reopening a Brick Hallway door

Ordinary CLOSE,CLOSE,OPEN,OPEN at the naturally opened column36 door changed counts4→3→3→4→4 and cells6→7→7→6→6. Successful actions had map-mutation hits; repeated commands had positive handler hits and already-closed/opened replies without another mutation. The page's cycle and CLOSE decision are checked against the original code. This establishes the checked door sequence, while other commands and complete persistence remain open.

Post-thanks conversation

Confirmed in a controlled room: after the count15 thanks, three ordinary ASK ALPH commands gave “Figure it out for yourself.” Phase1, index2 and the nonzero local flag were retained. Original-code comparisons check every phase-one index/flag pair and the two new texts. The ordinary left-door cycle below reaches the zero flag. The complete ordinary door route and later phases remain open. Evidence: parts/scene-04/facts.md, test_guard_after.js, and the two guard-after-thanks reference captures.

The guard door changes the answer

Confirmed within the controlled thanks room: walking up to depth24, opening the left door, asking Alph, closing it and asking again gives the unsure response then “Figure it out for yourself.” The local flag changes while the Brick Hallway count remains15. Original-code tests check the bounded left-door decision for all flag/depth bytes and the actual page sequence. The checked selector1 left-door continuation reaches The Wall of Hands, as recorded below. Other outcomes and higher phases remain open. Evidence: parts/scene-04/facts.md, test_guard_door.js, and five guard-door captures.

Left doorway continuation

Confirmed inside the controlled guard-room setup: ordinary up input through the opened left door with selector1 gives the entry reaction, advances guard phase1→2 and loads The Wall of Hands at entry1. Arrival at X84/depth6 is captured. The entry choice, phase advance, successful countdown and reaction text are compared with original code. Other door/selector outcomes, ordinary entry to the guards and Wall of Hands mechanics remain open. Evidence: parts/scene-04/facts.md, test_guard_entry.js, and the three guard-entry reference captures.

Right doorway in the controlled guard setup

Live-confirmed: ordinary movement and OPEN DOOR at the right doorway from the count15/phase1/selector1 setup reaches the falling message, “Ok, we lied. It wasn't endless,” and the loss panel. Original entry/countdown routines and all three text records are checked by test_guard_right.js. This complements the left-door Wall of Hands route within that setup. Other selector setups, the ordinary arrival from the Brick Hallway and post-loss restart remain open.

Guard doorway selector

Traced and live-checked in the controlled scene4 entry: a guarded setup prefix stores one bit from a random result at$8F06, then a second bit at$8F07. The guard changes$FF→0 and the bits stay fixed over240 idle frames while random state advances. Explicit seed0/seed7 comparisons give selectors0/1. Original-code tests sweep65,536 states and256 guard bytes. The second bit changes the later answer described below. Reset on ordinary return visits and complete selector0 door traversals remain open.

Later guard answer

Traced: the later ASK branch has three fixed replies followed by a capped castle/death answer, selected by equality of the two stored random bits. Live controlled phase4/index3 ASK ALPH trials with doorway selector1 show death for second0 and castle for second1. The marked speaker flag and answer pointers are checked against original code for32 valid combinations, with five original text expansions. The congratulations command is checked below. The controlled phase4 departure reaction is checked below; ordinary phase4 arrival remains open. Evidence: parts/scene-04/facts.md, test_guard_late.js and guard-later reference captures.

Congratulating a guard

Live-checked with Alph in controlled room trials: phase4 requires his fourth later ASK before congratulations selects the lying/truth reply and remembers speaker0. Before asking, he says he hasn't done anything yet. INSULT then CONGRATULATE gives fickle and clears the insult flag. Earlier phase1 gives Don't mention it. Original-code comparisons cover both accepted speaker prerequisites and byte boundaries; live Ralph congratulations, ordinary phase4 arrival and the ordinary phase4 departure route remain open. Evidence: parts/scene-04/facts.md, test_guard_congratulate.js and guard-congratulate reference captures.

Reaction after congratulating Alph

Live-checked: ordinary left-door movement inside the controlled phase4 snapshots gives the generic reaction when no guard is selected. After congratulating Alph, the other speaker gives the lying/truth accusation according to the second bit. All three queue at depth42 and complete before phase advancement. These snapshots retain40/44 thresholds from earlier setup; the original setup prefix writes54/64 when entry phase is at least2. The reaction gates, output selection and setup prefix are compared with original code. Ordinary phase4 arrival, remembered-Ralph live departure and other complete destinations remain open. The three controlled left-door loads are checked below. Evidence: parts/scene-04/facts.md, test_guard_reaction.js and guard-reaction captures.

Later left-door destination

Live-confirmed from the three controlled phase4 reaction snapshots: unselected, Alph-lying and Alph-truth departures all request scene5/entry1 and arrive at the Wall of Hands at X84/depth6. Phase4 is retained by the capped increment. The resident request hand-off is compared with original code; the three real completed loads establish the destination. Ordinary phase4 arrival in the guard room, other full traversals and Wall of Hands mechanics remain open. Evidence: parts/scene-04/facts.md, test_guard_load.js and guard-later-arrival.png.

Wall of Hands: interaction checklist

At the checked scene5/entry1 arrival, the live word wheels offer ASK and MANICURE, and the WALL object. ASK WALL and its automatic first question are checked below. The first MANICURE WALL comparison is checked below. Its stages after the ninth command, the command gate’s producer, other hand movement, exits and destinations remain open; the ninth-command Stone Corridor route is checked below. The steady snapshot remains scene5/X84/depth6 after120 idle frames; this follows the controlled phase4 guard departure. The arrival image and the available words establish the starting state, not the complete room's mechanics.

The hands’ conversation

Live-confirmed: the room automatically asks the first of five questions, then five isolated ASK WALL commands cycle through the remaining replies and back to the opening. The original ASK handler, rejection gate, automatic prefix and all reply text are compared with the page. The part has its own snapshot/listing. MANICURE WALL stages after the ninth command, the gate’s producer, other movement and exits remain open; the ninth-command route is checked below. Evidence: parts/scene-05/facts.md, test_wall_ask.js and wall-ask captures.

First MANICURE WALL

Live-checked missing shears at the unchanged arrival, explicitly added usable shears, and explicitly added shears with a negative damage flag. Replies are no tools, A manicure? How nice of you!, and Your shears were damaged. Only the accepted first command advances the counter0→1; both item-present trials retain item0. Original-code comparisons retain the real gate and inventory reader. Ordinary shears acquisition/damage and counter stages after the ninth command remain open. Evidence: parts/scene-05/facts.md, test_wall_manicure.js and wall-manicure captures.

Seven MANICURE WALL replies

Live-confirmed in one controlled item-present session: seven ordinary commands advance counts0–7 and select the seven documented replies, ending with the green-liquid question. All retain the supplied shears unit. The original-code comparison covers initial counts0–6, gate/item/damage refusals, all byte values in the bounded selection prefix, and seven original text parses. The eighth-count path and ninth-command local departure are checked below; other room progression remains open. Evidence: parts/scene-05/facts.md, test_wall_manicure_sequence.js and wall-manicure-2..7 captures.

Eighth MANICURE WALL: one hour later

Live-confirmed from the saved seventh-command sequence: the eighth command advances count7→8 and displays One hour later... . Hours12 become11 while minutes51 and the supplied shears unit remain unchanged at the decrement. The room is visible again after the event with counter8. A separate explicit zero-hour control just before the decrement reaches the time-expired panel. Ordinary acquisition and restart persistence remain open. The ninth-command departure is checked below. Evidence: parts/scene-05/facts.md, test_wall_eighth.js and the hour/return/expired captures.

Ninth manicure: release into the Stone Corridor

Live-confirmed from the saved eighth-command return: the ninth ordinary command repeats the first reply, advances count8→9 and sets movement state12. No further input is needed for the captured descent and scene6/entry7 request. The actual loader reaches X480/depth6 in the Stone Corridor. The command retains the supplied shears unit. This is a local route with controlled item supply and the earlier controlled guard-room setup; ordinary acquisition, other hand interactions, and Stone Corridor gameplay beyond the checked first door remain open. Evidence: parts/scene-05/facts.md, test_wall_release.js and the ninth-command/Stone Corridor arrival captures.

Stone Corridor: arrival checklist

Live arrival from the ninth-manicure route is scene6/entry7, X480/depth6. The screenshot shows a closed door to the left and an archway to the right. The captured resident word wheels offer OPEN, CLOSE, ASK, and DOOR among their general entries; availability alone does not establish a useful local action. Confirmed: arrival and nearby OPEN DOOR, followed by its already-open response. The first-door crossing is checked below. Open: other door/archway traversals, NPC encounters, items, and other routes. The shears and prior controlled setup remain part of this local route’s provenance.

Stone Corridor: first door

Confirmed: OPEN DOOR at X480/depth6 gives Nothing happens. Ordinary movement stops at X147/depth6, column2, where OPEN changes cell1→7 and the door visibly opens. Repeating OPEN gives It’s already opened. The original query and mutation run in the comparison. The first door’s CLOSE and local crossing are checked below. The separate column24 check and persistence remain open. Evidence: parts/scene-06/facts.md, test_stone_door.js and stone-door captures.

Stone Corridor: close and cross the first door

Live-confirmed from the opened X147/depth6 state: CLOSE changes cell7→1 and visibly shuts the door. Repeating CLOSE gives It's already closed. A separate continuation restores the opened state and uses up input, reaching X159/depth40 before requesting refresh0/entry30. The completed arrival is X1952/depth6 in scene6, beside an arch and bars. This route retains the earlier controlled setup and stored selector96. Other doors, return traversal, entry initialization and save/reload persistence remain open. Evidence: parts/scene-06/facts.md, test_stone_close.js and stone-door-closed/already-closed/crossed captures.

Stone Corridor: through the archway

Live-confirmed: up input at the reached column30 archway leads through depth70 to refresh0/entry26 and arrival X1696/depth6 in scene6, with a ladder visible on the left. A300-frame no-input control stays at the arch. The first opened cell remains7 across this in-room refresh. The original exit and nonnegative placement prefix agree with the page’s recorded route and reused placement calculation. A return to the first door and save/disk-load persistence remain open. The ladder is checked below. Evidence: parts/scene-06/facts.md, test_stone_arch.js and stone-arch-threshold/arrival captures.

Stone Corridor: climb the ladder

Live-confirmed: ordinary movement aligns at X1633 in column25, then up input starts a ladder climb at depth24. Releasing input at the accepted branch still completes it. The actual exit requests5/1 and loads the Wall of Hands at X84/depth6, where the opening question reappears and the manicure counter is0. Off-centre X1641 and1637 trials remain at depth24 after600 up frames. The original alignment gate accepts offsets28–35 inclusive within this ladder column; its state dispatcher, climb completion and actual exit are checked. Ordinary acquisition, a complete return to the first door, and save/restart persistence remain open. Evidence: parts/scene-06/facts.md, parts/scene-05/facts.md, test_stone_ladder.js and ladder captures.

Each part of the game has its own symbol map and listing, parts/<id>/symbols.json and parts/<id>/listing.json; the ids are the ones in its Source pages’ addresses. Write-ups, facts and symbol maps are CC BY-SA 4.0. The game itself is not hosted here.