![]() |
Routines |
| Prev: 46410 | Up: Map | Next: 46500 |
|
Used by the routines at ReadRoomGraphicsParameter and ReadSecondaryDisplayFlag.
Matches the second noun, using the second set of variables: 40976, 45433, 46409, 45440, RoomGraphicsParameter and 45432. The tests are the same shape as FindFirstNoun.
|
||||
| MatchSecondNoun | 46440 | LD A,(40976) | Jump to CheckFlagAndSetDisplayParameter if the display mode is 5. | |
| 46443 | CP 5 | |||
| 46445 | JR Z,CheckFlagAndSetDisplayParameter | |||
| 46447 | LD A,(45433) | Jump ahead to MatchSecondNoun_SaveFrame if bit 7 of display mode flag (45433) is clear. | ||
| 46450 | BIT 7,A | |||
| 46452 | JR Z,MatchSecondNoun_SaveFrame | |||
|
This entry point is used by the routine at CheckFlagAndSetDisplayParameter.
|
||||
| MatchSecondNoun_Next | 46454 | LD A,255 | Mark the entry as finished. | |
| 46456 | CP 255 | See whether this byte is the end marker. | ||
| 46458 | RET | Return. | ||
|
Read the pointer at 45440, then read the object attribute at ObjectAttributeValue.
|
||||
| MatchSecondNoun_SaveFrame | 46459 | PUSH IY | Keep the schedule entry and read the pointer at 45440. | |
| 46461 | LD IX,(45440) | |||
| 46465 | LD A,(40989) | Read the object attribute value, keep the selected bits of 255 and store it in the object attribute flag. | ||
| 46468 | AND 1 | |||
| 46470 | LD (41016),A | |||
| 46473 | LD A,(40976) | Read the display mode. | ||
| 46476 | CP 5 | |||
| 46478 | LD IY,54171 | Point at the routine at ProcessObjectEntryAlternate. | ||
| 46482 | JR C,MatchSecondNoun_CheckEnd | Jump ahead to MatchSecondNoun_CheckEnd if display mode (40976) is below 5. | ||
| 46484 | LD IY,54122 | Point at the routine at ProcessObjectEntry. | ||
| MatchSecondNoun_CheckEnd | 46488 | CALL TestEndMarker | Call TestEndMarker to test for the end marker. | |
| 46491 | CP 255 | See whether the entry is the end marker. | ||
| 46493 | LD (45440),IX | |||
| 46497 | POP IY | |||
| 46499 | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: 46410 | Up: Map | Next: 46500 |