![]() |
Routines |
| Prev: DAB1 | Up: Map | Next: DB2E |
|
Used by the routines at D352 and Handler_Bombs.
|
||||
| DABF | LD A,($E75D) | A=*Tile_Horizontal_Position. | ||
| DAC2 | DEC A | Decrease A by one. | ||
| DAC3 | LD ($E75F),A | Write A to *Tile_Horizontal_Coordinate. | ||
| DAC6 | LD A,($E75E) | A=*Tile_Vertical_Position. | ||
| DAC9 | DEC A | Decrease A by one. | ||
| DACA | LD ($E760),A | Write A to *Tile_Vertical_Coordinate. | ||
| DACD | LD B,$04 | B=04. | ||
| DACF | HALT | Halt operation (suspend CPU until the next interrupt). | ||
| DAD0 | PUSH BC | Stash BC on the stack. | ||
| DAD1 | LD A,($E75F) | B=*Tile_Horizontal_Coordinate. | ||
| DAD4 | LD B,A | |||
| DAD5 | LD A,($E760) | C=*Tile_Vertical_Coordinate. | ||
| DAD8 | LD C,A | |||
| DAD9 | CALL Calculate_ScreenBlockAddress | Call Calculate_ScreenBlockAddress. | ||
| DADC | PUSH HL | Stash HL on the stack. | ||
| DADD | LD A,$00 | A=00. | ||
| DADF | LD B,$08 | B=08. | ||
| DAE1 | PUSH BC | Stash BC and HL on the stack. | ||
| DAE2 | PUSH HL | |||
| DAE3 | LD B,$04 | B=04. | ||
| DAE5 | LD (HL),A | Write A to *HL. | ||
| DAE6 | INC HL | Increment HL by one. | ||
| DAE7 | DJNZ $DAE5 | Decrease counter by one and loop back to DAE5 until counter is zero. | ||
| DAE9 | POP HL | Restore HL and BC from the stack. | ||
| DAEA | POP BC | |||
| DAEB | INC H | Increment H by one. | ||
| DAEC | DJNZ $DAE1 | Decrease counter by one and loop back to DAE1 until counter is zero. | ||
| DAEE | POP HL | Restore HL from the stack. | ||
| DAEF | CALL Calculate_AttributeAddress | Call Calculate_AttributeAddress. | ||
| DAF2 | LD A,$47 | A=47. | ||
| DAF4 | LD B,$04 | B=04. | ||
| DAF6 | LD (DE),A | Write A to *DE. | ||
| DAF7 | INC DE | Increment DE by one. | ||
| DAF8 | DJNZ $DAF6 | Decrease counter by one and loop back to DAF6 until counter is zero. | ||
| DAFA | POP BC | Restore BC from the stack. | ||
| DAFB | LD HL,$E75F | HL=Tile_Horizontal_Coordinate. | ||
| DAFE | INC (HL) | Increment *HL by one. | ||
| DAFF | DJNZ $DAD0 | Decrease counter by one and loop back to DAD0 until counter is zero. | ||
| DB01 | LD A,($D833) | Return if *D833 is equal to 00. | ||
| DB04 | CP $00 | |||
| DB06 | RET Z | |||
| DB07 | LD B,$03 | B=03. | ||
| DB09 | PUSH BC | Stash BC on the stack. | ||
| DB0A | LD A,$05 | A=05. | ||
| DB0C | LD C,$1E | C=1E. | ||
| DB0E | LD B,$28 | B=28. | ||
| DB10 | SLA B | Shift B left (with carry). | ||
| DB12 | DJNZ $DB12 | Decrease counter by one and loop back to DB12 until counter is zero. | ||
| DB14 | XOR %00010000 | Flip bit 4. | ||
| DB16 | OUT ($FE),A | Set border to the colour held by A. | ||
| DB18 | DEC C | Decrease C by one. | ||
| DB19 | JR NZ,$DB0E | Jump to DB0E if C is not zero. | ||
| DB1B | LD C,$14 | C=14. | ||
| DB1D | LD B,$3C | B=3C. | ||
| DB1F | SLA B | Shift B left (with carry). | ||
| DB21 | DJNZ $DB21 | Decrease counter by one and loop back to DB21 until counter is zero. | ||
| DB23 | XOR %00010000 | Flip bit 4. | ||
| DB25 | OUT ($FE),A | Set border to the colour held by A. | ||
| DB27 | DEC C | Decrease C by one. | ||
| DB28 | JR NZ,$DB1D | Jump to DB1D if C is not zero. | ||
| DB2A | POP BC | Restore BC from the stack. | ||
| DB2B | DJNZ $DB09 | Decrease counter by one and loop back to DB09 until counter is zero. | ||
| DB2D | RET | Return. | ||
| Prev: DAB1 | Up: Map | Next: DB2E |