Prev: 59830 Up: Map Next: 60045
60000: Jump Table
Vector table of JP instructions. BASIC USR n lands on address n and bounces into the named routine:
Action dispatch (BASIC). After SubmitInputLine returns from Enter, line 130 GO SUB 1000. Line 1010 calls USR JumpTable_SearchVerbs (SearchVocabulary_Verbs); on a hit, line 1020 advances the token, reads an optional noun via USR JumpTable_SearchNouns, then GO TO n*100+1000 for verb index n. Separately, line 310 calls USR JumpTable_SearchCommands (SearchVocabulary_Commands) for Table_Commands: indices 1-6 move; 7+ go to line 400.
Core command handlers (BASIC, via SearchVocabulary_Commands). LOOK at line 441 goes to 350 to redraw the room; lines 450-499 ("I see") are a shared subroutine reached from there and elsewhere.
Idx Word Summary
1-6 NORTH..DOWN Exit; redraw
7 INVENTORY List carried
8 LOOK Redraw room
9 HELP Can't help
10 SAVE Tape SAVE
11 LOAD Tape LOAD
12 QUIT Quit
13 SCORE Completion %
14 WAIT "I wait."
Core verb handlers (BASIC, via SearchVocabulary_Verbs then n*100+1000). Noun index from SearchVocabulary_Nouns is BASIC x where used. ENTER (GO TO 1800) and GO (GO TO 1900) share one handler at line 1910, since there are no lines from 1800 to 1909.
Idx Word Summary
1 GET Take item
2 TAKE Same as GET
3 DROP Drop item
4 EXAMINE Examine; may reveal
5 SEARCH Find concealed items
8/9 ENTER/GO Shared at 1910
25 LOOK Look at noun/dir
Remaining verbs in Table_Verbs (indices 6-46 except the core rows above). Line 1020 still uses GO TO n*100+1000; when that line is missing, BASIC continues at the next existing line.
Combat and speech. ATTACK and KILL share one fight routine: with a carried weapon they injure or slay a creature in the room. SAY talks to creatures (and can trigger give/take replies). HIT smashes a magical ward or, with the staff, turns a foe to dust; BREAK is the same fight path. SHOOT fires the bow.
Movement and the boat. CLIMB covers the rope, a tree and the boat mast. SWIM crosses the river; SWING on a hanging rope joins that same crossing. PULL and MOVE share one routine for hauling the boat into the sea, tugging the tied rope, or opening a sliding panel. PUSH works the lever. LEAVE, ROW and BAIL handle getting out of nested places and travelling or emptying the boat (ROW needs the oars; BAIL needs a helmet).
Inventory and wearables. THROW drops a carried object into the scenery (river, tree, far bank). WEAR and REMOVE put on or take off clothing and gems. GIVE hands an object to a creature. EAT consumes food and can restore hits. PUT stashes things in containers, the furnace crucible, the black sack or a chest. INSERT seats the pin that locks the sword arm.
Doors, chests and light. UNLOCK, OPEN, CLOSE and LOCK all resolve the target door or chest through the shared helper at line 2650, then change its open/locked state (keys must fit). LIGHT and EXTINGUISH manage the torch. TURN works the furnace or the dial.
Magic and discovery. READ shows book and scroll texts. CAST spends a scroll plus its ingredient (fire protection, cure disease, heal). RUB the lamp for the Jinni. DIG may unearth a buried find; DIP melts metal in the furnace; LISTEN can reveal the death- beetle hint. TIE and UNTIE fasten or free the rope on a stalagmite (UNTIE also frees Timandra). USE only asks for a more specific verb.
Landing notes where the nominal n*100+1000 line is missing or shared:
Idx Word Lands
6/7 ATTACK/KILL 1701 (no 1600-1700)
10 SAY 2001
11 CLIMB 2105
12 TIE 2205
13 THROW 2310
14 WEAR 2410
15 REMOVE 2510
16 UNLOCK 2610
17 OPEN 2715
18 CLOSE 2810
19 READ 2905
20 LOCK 3010
21 SWIM 3110
22 GIVE 3205
23/24 PULL/MOVE 3410 (no 3300-3409)
26 PUSH 3605
27 EAT 3700
28 LIGHT 3820
29 EXTINGUISH 3920
30 TURN 4010
31 HIT 4105
32 PUT 4205
33 DIG 4305
34 DIP 4405
35 RUB 4510
36 LISTEN 4605
37 SHOOT 4705
38 CAST 4810
39 LEAVE 4910
40 ROW 5005
41 INSERT 5110
42 UNTIE 5210
43 BREAK 5300→4100 (HIT)
44 SWING 5410→3130 (SWIM)
45 BAIL 5500
46 USE 5600
JumpTable 60000 JP SearchVocabulary_Prepositions Jump to SearchVocabulary_Prepositions.
JumpTable_SearchVerbs 60003 JP SearchVocabulary_Verbs Jump to SearchVocabulary_Verbs.
JumpTable_InputLine 60006 JP InputLine Jump to InputLine.
JumpTable_SearchNouns 60009 JP SearchVocabulary_Nouns Jump to SearchVocabulary_Nouns.
JumpTable_AdvanceInputPointer 60012 JP AdvanceInputPointer Jump to AdvanceInputPointer.
JumpTable_SearchCommands 60015 JP SearchVocabulary_Commands Jump to SearchVocabulary_Commands.
JumpTable_TokenHelper 60018 JP MatchTokenInBasicList Jump to MatchTokenInBasicList.
JumpTable_BasicHelper 60021 JP BasicHelper Jump to BasicHelper.
JumpTable_SeedPrimaryBuffer 60024 JP SeedPrimaryWorkBuffer Jump to SeedPrimaryWorkBuffer.
JumpTable_StepWorkBuffer 60027 JP StepWorkBuffer Jump to StepWorkBuffer.
JumpTable_SeedSecondaryBuffer 60030 JP SeedSecondaryWorkBuffer Jump to SeedSecondaryWorkBuffer.
JumpTable_ScanInputSpaces 60033 JP ScanInputSpaces Jump to ScanInputSpaces.
JumpTable_CopyWorkBuffer 60036 JP CopyWorkBuffer Jump to CopyWorkBuffer.
JumpTable_LocationGraphicSetup 60039 JP LocationGraphicSetup Jump to LocationGraphicSetup.
JumpTable_ScrollAdjust 60042 JP ScrollAdjust Jump to ScrollAdjust.
Prev: 59830 Up: Map Next: 60045