![]() |
Routines |
| Prev: B4A3 | Up: Map | Next: B4FD |
|
Used by the routines at InitialiseDisplayBuffer and ReadDisplaySetupFlag.
Finds the first noun. A value of 05 at DisplayMode takes the noun already prepared in the flag bytes. Otherwise, when bit 7 of DisplayModeFlag is clear, it scans objects from ObjectTablePointer with the handler at ProcessObjectEntryAlternate or ProcessObjectEntry.
|
||||
| FindFirstNoun | B4C1 | LD A,($A00F) | Jump to CheckFlagAndSetDisplay if the display mode is 05. | |
| B4C4 | CP $05 | |||
| B4C6 | JR Z,CheckFlagAndSetDisplay | |||
| B4C8 | LD A,($B173) | Read the display mode flag. | ||
| B4CB | BIT 7,A | Go to FindFirstNoun_ProcessObjects if bit 7 of the display mode flag is clear. | ||
| B4CD | JR Z,FindFirstNoun_ProcessObjects | |||
|
This entry point is used by the routine at CheckFlagAndSetDisplay.
|
||||
| FindFirstNoun_NoAction | B4CF | LD A,$FF | Set the zero flag. | |
| B4D1 | CP $FF | |||
| B4D3 | RET | Return. | ||
| FindFirstNoun_ProcessObjects | B4D4 | PUSH IY | Keep the schedule entry and read the object table pointer. | |
| B4D6 | LD IX,($B17E) | |||
| B4DA | LD A,($A01D) | Read the object attribute value. | ||
| B4DD | AND %00000001 | Keep only bit 0. | ||
| B4DF | LD ($A038),A | Store it in the object attribute flag. | ||
| B4E2 | LD A,($A00F) | Compare *DisplayMode with 05. | ||
| B4E5 | CP $05 | |||
| B4E7 | LD IY,$D39B | Go to FindFirstNoun_ProcessLoop, keeping the picture record at ProcessObjectEntryAlternate, if the display mode is below 05. | ||
| B4EB | JR C,FindFirstNoun_ProcessLoop | |||
| B4ED | LD IY,$D36A | Point at the routine at ProcessObjectEntry. | ||
| FindFirstNoun_ProcessLoop | B4F1 | CALL CheckFlagAndSetDisplay_ProcessPointer | Call CheckFlagAndSetDisplay_ProcessPointer to follow the display pointer. | |
| B4F4 | CP $FF | See whether the entry is the end marker. | ||
| B4F6 | LD ($B17E),IX | Store the object pointer at ObjectTablePointer. | ||
| B4FA | POP IY | Restore the saved schedule entry from the stack. | ||
| B4FC | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: B4A3 | Up: Map | Next: B4FD |