![]() |
Routines |
| Prev: BC46 | Up: Map | Next: BC9C |
|
Used by the routines at StoreSetMarkPointer and ReadActionFlags.
Walks the character pairs at 994D+18 and counts the entries that still have an action pending.
|
||||
| ProcessGameStatusEntriesWithCounter | BC74 | LD IX,$9965 | Use the character pairs (994D+18). | |
| BC78 | LD B,$00 | |||
| ProcessGameStatusEntriesWithCounter_Loop | BC7A | LD A,(IX+$00) | Jump to ProcessGameStatusEntriesWithCounter_ReturnCount if the record's flag byte is FF. | |
| BC7D | CP $FF | |||
| BC7F | JR Z,ProcessGameStatusEntriesWithCounter_ReturnCount | |||
| BC81 | BIT 0,(IX+$03) | Jump to ProcessGameStatusEntriesWithCounter_Next if the action-pending flag is clear. | ||
| BC85 | JR Z,ProcessGameStatusEntriesWithCounter_Next | |||
| BC87 | CALL CheckBitAndProcess | Go to ProcessGameStatusEntriesWithCounter_Next if the attribute needs no extra bit handling. | ||
| BC8A | JR Z,ProcessGameStatusEntriesWithCounter_Next | |||
| BC8C | LD ($BA1E),IX | Remember this record at BA13+0B and count one more. | ||
| BC90 | INC B | |||
| ProcessGameStatusEntriesWithCounter_Next | BC91 | CALL AdvancePointerAndCheckBit | Jump back to ProcessGameStatusEntriesWithCounter_Loop to read the record flag, see whether it is the end marker and jump to ProcessGameStatusEntriesWithCounter_ReturnCount. | |
| BC94 | JR ProcessGameStatusEntriesWithCounter_Loop | |||
|
Returns the count and the record saved for this pass.
|
||||
| ProcessGameStatusEntriesWithCounter_ReturnCount | BC96 | LD A,B | Take the count in A and the record at BA13+0B. | |
| BC97 | LD IX,($BA1E) | |||
| BC9B | RET | Return. | ||
| Prev: BC46 | Up: Map | Next: BC9C |