![]() |
Routines |
| Prev: 48198 | Up: Map | Next: 48284 |
|
Used by the routines at StoreSetMarkPointer and ReadActionFlags.
Walks the character pairs at 39245+24 and counts the entries that still have an action pending.
|
||||
| ProcessGameStatusEntriesWithCounter | 48244 | LD IX,39269 | Use the character pairs (39245+24). | |
| 48248 | LD B,0 | |||
| ProcessGameStatusEntriesWithCounter_Loop | 48250 | LD A,(IX+0) | Jump to ProcessGameStatusEntriesWithCounter_ReturnCount if the record's flag byte is 255. | |
| 48253 | CP 255 | |||
| 48255 | JR Z,ProcessGameStatusEntriesWithCounter_ReturnCount | |||
| 48257 | BIT 0,(IX+3) | Jump to ProcessGameStatusEntriesWithCounter_Next if the action-pending flag is clear. | ||
| 48261 | JR Z,ProcessGameStatusEntriesWithCounter_Next | |||
| 48263 | CALL CheckBitAndProcess | Go to ProcessGameStatusEntriesWithCounter_Next if the attribute needs no extra bit handling. | ||
| 48266 | JR Z,ProcessGameStatusEntriesWithCounter_Next | |||
| 48268 | LD (47646),IX | Remember this record at 47635+11 and count one more. | ||
| 48272 | INC B | |||
| ProcessGameStatusEntriesWithCounter_Next | 48273 | CALL AdvancePointerAndCheckBit | Jump back to ProcessGameStatusEntriesWithCounter_Loop to read the record flag, see whether it is the end marker and jump to ProcessGameStatusEntriesWithCounter_ReturnCount. | |
| 48276 | JR ProcessGameStatusEntriesWithCounter_Loop | |||
|
Returns the count and the record saved for this pass.
|
||||
| ProcessGameStatusEntriesWithCounter_ReturnCount | 48278 | LD A,B | Take the count in A and the record at 47635+11. | |
| 48279 | LD IX,(47646) | |||
| 48283 | RET | Return. | ||
| Prev: 48198 | Up: Map | Next: 48284 |