![]() |
Routines |
| Prev: B54A | Up: Map | Next: B5A4 |
|
Used by the routines at ReadRoomGraphicsParameter and ReadSecondaryDisplayFlag.
Matches the second noun, using the second set of variables: A010, B179, B549, B180, RoomGraphicsParameter and B178. The tests are the same shape as FindFirstNoun.
|
||||
| MatchSecondNoun | B568 | LD A,($A010) | Jump to CheckFlagAndSetDisplayParameter if the display mode is 05. | |
| B56B | CP $05 | |||
| B56D | JR Z,CheckFlagAndSetDisplayParameter | |||
| B56F | LD A,($B179) | Jump ahead to MatchSecondNoun_SaveFrame if bit 7 of display mode flag (B179) is clear. | ||
| B572 | BIT 7,A | |||
| B574 | JR Z,MatchSecondNoun_SaveFrame | |||
|
This entry point is used by the routine at CheckFlagAndSetDisplayParameter.
|
||||
| MatchSecondNoun_Next | B576 | LD A,$FF | Mark the entry as finished. | |
| B578 | CP $FF | See whether this byte is the end marker. | ||
| B57A | RET | Return. | ||
|
Read the pointer at B180, then read the object attribute at ObjectAttributeValue.
|
||||
| MatchSecondNoun_SaveFrame | B57B | PUSH IY | Keep the schedule entry and read the pointer at B180. | |
| B57D | LD IX,($B180) | |||
| B581 | LD A,($A01D) | Read the object attribute value, keep the selected bits of FF and store it in the object attribute flag. | ||
| B584 | AND $01 | |||
| B586 | LD ($A038),A | |||
| B589 | LD A,($A010) | Read the display mode. | ||
| B58C | CP $05 | |||
| B58E | LD IY,$D39B | Point at the routine at ProcessObjectEntryAlternate. | ||
| B592 | JR C,MatchSecondNoun_CheckEnd | Jump ahead to MatchSecondNoun_CheckEnd if display mode (A010) is below 05. | ||
| B594 | LD IY,$D36A | Point at the routine at ProcessObjectEntry. | ||
| MatchSecondNoun_CheckEnd | B598 | CALL TestEndMarker | Call TestEndMarker to test for the end marker. | |
| B59B | CP $FF | See whether the entry is the end marker. | ||
| B59D | LD ($B180),IX | |||
| B5A1 | POP IY | |||
| B5A3 | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: B54A | Up: Map | Next: B5A4 |