![]() |
Routines |
| Prev: CC99 | Up: Map | Next: CD1B |
|
Used by the routines at Prep_Display_Phase and CAE7.
|
||||
| CC9B | LD A,($D45C) | Converts CashboxReference_Inactive into cash deposit box flag address (e.g. "01" becomes DoorDeposited_01 and so on). | ||
| CC9E | LD L,A | |||
| CC9F | LD H,$00 | |||
| CCA1 | LD DE,$CC8C | |||
| CCA4 | ADD HL,DE | |||
| CCA5 | LD IX,$D165 | A=Door_Cash_Action_01. | ||
| CCA9 | LD A,(IX+$08) | |||
| CCAC | OR (HL) | |||
| CCAD | LD (HL),A | |||
| CCAE | INC HL | |||
| CCAF | LD IX,$D173 | A=Door_Cash_Action_02. | ||
| CCB3 | LD A,(IX+$08) | |||
| CCB6 | OR (HL) | |||
| CCB7 | LD (HL),A | |||
| CCB8 | INC HL | |||
| CCB9 | LD IX,$D181 | A=Door_Cash_Action_03. | ||
| CCBD | LD A,(IX+$08) | |||
| CCC0 | OR (HL) | |||
| CCC1 | LD (HL),A | |||
| CCC2 | LD DE,$CC99 | DE=DoorDeposited_01_06. | ||
| CCC5 | LD HL,$CC8D | HL=DoorDeposited_01. | ||
| CCC8 | LD A,(DE) | Fetch the flag for DoorDeposited_01_06. | ||
| CCC9 | OR (HL) | Run a logical OR against the contents of HL. | ||
| CCCA | LD (HL),A | Writes this back into HL (setting the flag). | ||
| CCCB | INC HL | |||
| CCCC | INC DE | Move onto DoorDeposited_07_12. | ||
| CCCD | LD A,(DE) | Fetch the flag for DoorDeposited_07_12. | ||
| CCCE | OR (HL) | Run a logical OR against the contents of HL. | ||
| CCCF | LD (HL),A | Writes this back into HL (setting the flag). | ||
| CCD0 | CALL Draw_GameCashboxes | |||
| Cashboxescomplete | CCD3 | LD DE,$CC8D | Points to the cashbox flags (beginning at DoorDeposited_01). | |
| CCD6 | LD HL,$CA80 | Write 00 to Cashboxes_Completed_Flag. | ||
| CCD9 | LD (HL),$00 | |||
| CCDB | LD B,$0C | Testing against all 12 cashboxes. | ||
| Cashboxescomplete_Loop | CCDD | LD A,(DE) | Fetch the cashbox flag, return if its zero. | |
| CCDE | AND A | |||
| CCDF | RET Z | |||
| CCE0 | INC DE | Move onto the next cashbox (loop back to Cashboxescomplete_Loop) or continue once all 12 are checked. | ||
| CCE1 | DJNZ Cashboxescomplete_Loop | |||
| CCE3 | LD (HL),A | Write A (01) to Cashboxes_Completed_Flag. | ||
| CCE4 | RET | |||
| Draw_GameCashbox | CCE5 | ADD A,A | Determines whether to send EmptyBox_Image or DollarBox_Image to Copy_Routine. | |
| CCE6 | ADD A,L | |||
| CCE7 | LD L,A | |||
| CCE8 | LD DE,$FF78 | |||
| CCEB | LD A,(IX+$00) | |||
| CCEE | AND A | |||
| CCEF | JR Z,$CCF4 | |||
| CCF1 | LD DE,$FF98 | |||
| CCF4 | LD BC,$1002 | |||
| CCF7 | CALL Copy_Routine | |||
| CCFA | RET | Return. | ||
|
Draws all the cashboxes in two blocks of 6.
|
||||
| Draw_GameCashboxes | CCFB | LD IX,$CC8D | The statuses for the cashboxes begin at DoorDeposited_01. This routine processes them in two blocks of 6 (as they appear. The first block is displayed at $401F, after processing the subroutine returns and continues for the next six blocks, just altering the screen location to $4025. | |
| CCFF | LD HL,$401F | |||
| CD02 | LD A,$01 | |||
| CD04 | CALL Draw_GameCashboxes_Skip | |||
| CD07 | LD HL,$4025 | |||
| Draw_GameCashboxes_Skip | CD0A | LD B,$06 | ||
| Draw_GameCashboxes_Loop | CD0C | PUSH BC | ||
| CD0D | PUSH HL | |||
| CD0E | PUSH AF | |||
| CD0F | CALL Draw_GameCashbox | |||
| CD12 | POP AF | |||
| CD13 | POP HL | |||
| CD14 | POP BC | |||
| CD15 | INC IX | |||
| CD17 | INC A | |||
| CD18 | DJNZ Draw_GameCashboxes_Loop | |||
| CD1A | RET | Return. | ||
| Prev: CC99 | Up: Map | Next: CD1B |