![]() |
Routines |
| Prev: 46243 | Up: Map | Next: 46333 |
|
Used by the routines at InitialiseDisplayBuffer and ReadDisplaySetupFlag.
Finds the first noun. A value of 5 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 | 46273 | LD A,(40975) | Jump to CheckFlagAndSetDisplay if the display mode is 5. | |
| 46276 | CP 5 | |||
| 46278 | JR Z,CheckFlagAndSetDisplay | |||
| 46280 | LD A,(45427) | Read the display mode flag. | ||
| 46283 | BIT 7,A | Go to FindFirstNoun_ProcessObjects if bit 7 of the display mode flag is clear. | ||
| 46285 | JR Z,FindFirstNoun_ProcessObjects | |||
|
This entry point is used by the routine at CheckFlagAndSetDisplay.
|
||||
| FindFirstNoun_NoAction | 46287 | LD A,255 | Set the zero flag. | |
| 46289 | CP 255 | |||
| 46291 | RET | Return. | ||
| FindFirstNoun_ProcessObjects | 46292 | PUSH IY | Keep the schedule entry and read the object table pointer. | |
| 46294 | LD IX,(45438) | |||
| 46298 | LD A,(40989) | Read the object attribute value. | ||
| 46301 | AND %00000001 | Keep only bit 0. | ||
| 46303 | LD (41016),A | Store it in the object attribute flag. | ||
| 46306 | LD A,(40975) | Compare *DisplayMode with 5. | ||
| 46309 | CP 5 | |||
| 46311 | LD IY,54171 | Go to FindFirstNoun_ProcessLoop, keeping the picture record at ProcessObjectEntryAlternate, if the display mode is below 5. | ||
| 46315 | JR C,FindFirstNoun_ProcessLoop | |||
| 46317 | LD IY,54122 | Point at the routine at ProcessObjectEntry. | ||
| FindFirstNoun_ProcessLoop | 46321 | CALL CheckFlagAndSetDisplay_ProcessPointer | Call CheckFlagAndSetDisplay_ProcessPointer to follow the display pointer. | |
| 46324 | CP 255 | See whether the entry is the end marker. | ||
| 46326 | LD (45438),IX | Store the object pointer at ObjectTablePointer. | ||
| 46330 | POP IY | Restore the saved schedule entry from the stack. | ||
| 46332 | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: 46243 | Up: Map | Next: 46333 |