![]() |
Data |
| Prev: AD7D | Up: Map | Next: B800 |
|
Variables read and written by the turn loop, the Inglish matcher and the message printer. A saved game starts at B6EB. The word at the start is read by TurnReadAndTokeniseTheCommand, Input_TakeTheNextWord, Inglish_KeepTheUnknownWord and Inglish_ReadTheNextGrammarByte.
|
||||
| B6DA | DEFW $0000 | Start of the unknown word. 6DAD reads it while quoting the unknown word. | ||
| B6DC | DEFW $0000 | Pointer into the token buffer. 6D8D stores 709C here, and the matcher saves and restores it. | ||
| B6DE | DEFB $00 | High byte of the class being matched being matched. Compared with C0 and A0. | ||
| B6DF | DEFB $00 | Low byte kept with the class being matched at B6DE. | ||
| B6E0 | DEFB $00,$00,$00,$00,$00,$00 | Six bytes copied out of the match by 7C86. | ||
| B6E6 | DEFB $00 | Scratch byte beside the match. | ||
| CurrentAction | B6E7 | DEFB $00 | Current action id. The verb routines store the verb here before it runs. | |
| CurrentObject | B6E8 | DEFB $00 | Current object id. The noun the command names. | |
| B6E9 | DEFB $00 | Second object id, used by give, attack and message code 09. | ||
| CurrentCharacter | B6EA | DEFB $00 | Character whose turn it is. 00 is the player. Stored in the saved game. | |
| B6EB | DEFB $00,$00,$00 | First three bytes of the saved game. 6C14 copies them to 5F00 and 6C52 copies them back. | ||
| B6EE | DEFW $0000 | Word address held for the printer. | ||
| B6F0 | DEFB $00 | Cleared at the start of TurnAdvanceTheOtherCharacters, before the other characters run. | ||
| B6F1 | DEFB $00 | Scratch byte beside B6F0. | ||
| B6F2 | DEFB $00 | Printer on. ZXPrinter returns at once when this is zero. PRINT at Command_PRINT sets it and NOPRINT at Command_PRINT_NOPRINT clears it. | ||
| B6F3 | DEFB $00 | A location id, copied from ActionLocationID by EventForest. AB25 compares it with the current location. | ||
| B6F4 | DEFB $00 | Slot flag. Turn_GateTheMessage_StoreTheSlotFlag stores 01 when the character slot was found. | ||
| B6F5 | DEFB $00 | Where the player starts. Action_None writes it. | ||
| B6F6 | DEFB $00 | Location the script at A6C2 compares with the player's location. | ||
| PercentageComplete | B6F7 | DEFW $0000 | Percentage complete. GameOver prints it when the game is over. | |
| B6F9 | DEFB $00 | Talk flag. Action_TalkTo treats zero as a character who still has something to say. | ||
| B6FA | DEFB $00 | Message gate. PrintMessage skips its setup when this is not zero. Set to 01 when a game starts. | ||
| B6FB | DEFB $00 | Message suppressed. Non-zero when ConditionSuppressTheMessage holds a message back and returns past its caller. PrintMessage writes 00 here when a message is printed. 7D10 keeps running the action while this is zero. | ||
| B6FC | DEFW $0000 | Weapon-name token. Action_Attack_StoreTheWeapon stores FIST or the named object's name, and message code 03 at Message_PrintTheSavedToken returns it. | ||
| B6FE | DEFB $00 | Tested by 7CD1 and by message code 09. | ||
| B6FF | DEFB $00 | Tested by message code 09 at Message_PrintTheSecondNoun_0. | ||
| B700 | DEFB $00 | When this is not zero, Print_Character watches for S and types an F as well. Cleared when a game starts. | ||
| WaitCountdown | B701 | DEFB $00 | 01=action countdown, 00=countdown finished. | |
| NightDay | B702 | DEFB $00 | 00=night, 01=day. | |
| B703 | DEFB $00 | Which noun the printer is naming. The message codes write 00 or 01. | ||
| B704 | DEFB $00 | Capitalise the next letter. A carriage return at 86CC sets it, a full stop at 8744 bumps it, and 873E clears it once a letter has been printed in upper case. 72C9 clears it after a printed carriage return. | ||
| B705 | DEFB $00 | Set by TurnReadAndTokeniseTheCommand_SetTheLineReadFlag before a line is read, and cleared by InglishClearTheRepeatFlag. | ||
| B706 | DEFB $FF | FF selects the replay path in TurnReadAndTokeniseTheCommand. The matcher also stores a class byte here. | ||
| B707 | DEFB $00 | Picture switch. 6C7C stores bit 3 of port 7F, read while N is held. Drawing draws nothing when this is zero. | ||
| B708 | DEFB $00,$00 | Pointer to the current object's record (CurrentObject). | ||
| B70A | DEFW $0000 | Pointer to the second object's record (B6E9). | ||
| Pointer_CurrentCharacter | B70C | DEFW Objects | Pointer to the character whose turn it is. A new game leaves it at Objects, the player. | |
| RandomSeed | B70E | DEFB $00 | Random seed, taken from the refresh register at 6CA7. | |
| B70F | DEFB $00 | Byte beside the random seed. | ||
| B710 | DEFB $00 | Kind filter read by ConditionSamePlaceAsThePlayer: 00 not a live animal, 01 a live animal, 02 anything. 7D2E stores the low two bits of the clause and 7E0C stores 02. | ||
| B711 | DEFB $00 | Byte beside B710. | ||
| RandomCounter | B712 | DEFW $0000 | Random counter. | |
| B714 | DEFW $0000 | Delay. ReadTheInputLine starts it at 0BB8 and Input_WaitForAKey_Store stores the next wait here. | ||
| B716 | DEFB $00 | How many words will be accepted. TurnReadAndTokeniseTheCommand writes 11 and 6D18 writes 09. | ||
| B717 | DEFW $0000 | Scratch word beside the limit on how many words are accepted. | ||
| B719 | DEFB $00 | Matcher phase. 82C4 sets 02, and InglishAcceptTheClause compares it with 02. | ||
| B71A | DEFB $00 | Cleared when a game starts. InglishPrepareTheClause takes another path when it is not zero. | ||
| B71B | DEFB $00 | Conjunction count. 6D42 raises it, and MessageOpenTheGateForAConjunction opens the message gate when it is set. | ||
| B71C | DEFB $00 | Scratch byte. 7C06 clears it before a phrase is resolved. | ||
| B71D | DEFB $00 | Scratch byte read at Inglish_ScoreTheSwappedClause_ReadTheScoreByte while a phrase is resolved. | ||
| B71E | DEFB $00 | Packed action scores. ClausePackTheActionScores writes this byte, and the matcher reads it. | ||
| B71F | DEFB $73,$00,$00,$00,$65,$73,$00,$00 | Verb endings read by 7519 in PrintToken. Four bytes each: "s", "es", "ies", a backspace and "ies", "d" and "ing". Copying one onto a stem turns "take" into "Thorin takes". | ||
| B727 | DEFB $69,$65,$73,$00,$08,$69,$65,$73 | |||
| B72F | DEFB $64,$00,$00,$00,$69,$6E,$67,$00 | |||
| B737 | DEFB $00 | How many character slots Inglish_FillTheClaimedSlots walks. | ||
| B738 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Buffer cleared for C8 bytes at the start of a game by 6C9F. | ||
| B740 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B748 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B750 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B758 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B760 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B768 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B770 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B778 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B780 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B788 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B790 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B798 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7A0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7A8 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7B0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7B8 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7C0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7C8 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7D0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7D8 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7E0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7E8 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7F0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| B7F8 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| Prev: AD7D | Up: Map | Next: B800 |