![]() |
Routines |
| Prev: E2EE | Up: Map | Next: E38F |
|
Used by the routine at RecordResultRoomDisplay.
Looks up the character being processed and compares its text pointer with the display pointer.
|
||||
| ReadCharacterTextPointers | E34F | LD A,($A036) | Go to ReadCharacterTextPointers_HandBack if no object carries this id. | |
| E352 | CALL ScanObjects | |||
| E355 | JR Z,ReadCharacterTextPointers_HandBack | |||
| E357 | CALL ReadTextPointerLowByte | Call ReadTextPointerLowByte to read the text pointer, then ReadSourceDisplayPointer to read the display pointer. | ||
| E35A | CALL ReadSourceDisplayPointer | |||
| E35D | AND A | Jump ahead to ReadCharacterTextPointers_HandBack if HL is below DE. | ||
| E35E | SBC HL,DE | |||
| E360 | JR C,ReadCharacterTextPointers_HandBack | |||
| E362 | OR %00000001 | Reset the zero flag. | ||
| E364 | RET | Return. | ||
|
Hands the following step back to the caller and reports that the test failed.
|
||||
| ReadCharacterTextPointers_HandBack | E365 | LD HL,$E36A | Hand back the address of the following step. | |
| E368 | XOR A | Clear A. | ||
| E369 | RET | Return. | ||
| E36A | LD HL,$683F | Jump back to PrintTextAndHandleControlCharacters to print this message. | ||
| E36D | JP PrintTextAndHandleControlCharacters | |||
| E370 | DEFB $66,$1D,$45,$E3 | Display record read by ProcessDisplayRecord: flags 66 value 1D handler E345. | ||
| E374 | CALL ReadCharacterTextPointers | Call ReadCharacterTextPointers to read the character being processed. | ||
| E377 | CALL StoreShiftedTextPointer | Call StoreShiftedTextPointer to bring the next bit through. | ||
| E37A | LD A,($A035) | Go to ReadCharacterTextPointers_Succeed if no object carries this id. | ||
| E37D | CALL ScanObjects | |||
| E380 | JR Z,ReadCharacterTextPointers_Succeed | |||
| E382 | CALL ReadTextPointerLowByte | Call ReadTextPointerLowByte to read the text pointer, then ReadSourceDisplayPointer to read the display pointer. | ||
| E385 | CALL ReadSourceDisplayPointer | |||
| E388 | ADD HL,DE | Move the pointer on by the length, then call StoreShiftedTextPointer to store the shifted text pointer. | ||
| E389 | CALL StoreShiftedTextPointer | |||
| ReadCharacterTextPointers_Succeed | E38C | OR %00000001 | Reset the zero flag. | |
| E38E | RET | Return. | ||
| Prev: E2EE | Up: Map | Next: E38F |