Prev: BC74 Up: Map Next: BCC9
BC9C: Process Game Status Entries Alternate
Used by the routines at StoreSetMarkPointer and ReadActionFlags.
Walks those character pairs and skips an entry whose action is still pending.
ProcessGameStatusEntriesAlternate BC9C LD IX,$9965 Use the character pairs (994D+18).
BCA0 LD B,$00
ProcessGameStatusEntriesAlternate_Loop BCA2 LD A,(IX+$00) Jump to ProcessGameStatusEntriesAlternate_SavedRecord if the record's flag byte is FF.
BCA5 CP $FF
BCA7 JR Z,ProcessGameStatusEntriesAlternate_SavedRecord
BCA9 BIT 0,(IX+$03) Jump to ProcessGameStatusEntriesAlternate_Next if the action-pending flag is clear.
BCAD JR Z,ProcessGameStatusEntriesAlternate_Next
BCAF CALL CheckBitAndProcess Go to ProcessGameStatusEntriesAlternate_Next if bit 2 is set and the entry check succeeds.
BCB2 JR NZ,ProcessGameStatusEntriesAlternate_Next
BCB4 LD A,B Jump ahead to ProcessGameStatusEntriesAlternate_Next if the count is not zero.
BCB5 INC B
BCB6 AND A
BCB7 JR NZ,ProcessGameStatusEntriesAlternate_Next
BCB9 LD ($BA1E),IX Store this record at BA13+0B.
ProcessGameStatusEntriesAlternate_Next BCBD PUSH BC Call ProcessEntryWithCounter to run entry with counter.
BCBE CALL ProcessEntryWithCounter
BCC1 POP BC
BCC2 JR ProcessGameStatusEntriesAlternate_Loop Jump back to ProcessGameStatusEntriesAlternate_Loop for the next entry.
Read the working value before returning.
ProcessGameStatusEntriesAlternate_SavedRecord BCC4 LD IX,($BA1E) Point IX at the record saved at BA13+0B.
BCC8 RET Return.
Prev: BC74 Up: Map Next: BCC9