![]() |
Routines |
Prev: C253 | Up: Map | Next: C2DF |
Used by the routine at C059.
|
||||
C25E | LD A,R | Border color to black? | ||
C260 | SLA A | |||
C262 | AND $F8 | |||
C264 | OUT ($FE),A | |||
C266 | LD A,(IX+$03) | Set A to the explosion counter | ||
C269 | SLA A | Save at A22C the position of the offset for the current explosion counter | ||
C26B | LD ($A22C),A | |||
C26E | LD E,A | Point HL to the corresponent address into offset of debris position | ||
C26F | LD D,$00 | |||
C271 | ADD HL,DE | |||
C272 | LD A,(IX+$00) | Computes the x-byte-position in room of the debris | ||
C275 | SRL A | |||
C277 | SRL A | |||
C279 | SRL A | |||
C27B | ADD A,(HL) | |||
C27C | SUB $07 | |||
C27E | CP $01 | Position is out of bounds of the screen-left border? | ||
C280 | JP C,$C2C7 | Jump forward is so | ||
C283 | CP $1E | Position is out of bounds of the screen-right border? | ||
C285 | JP NC,$C2C7 | Jump forward if so | ||
C288 | LD ($A248),A | Set A248 the x-byte-position of the debris | ||
C28B | INC HL | Computes the y-pixel-position in room of the debris | ||
C28C | LD A,(HL) | |||
C28D | ADD A,(IX+$01) | |||
C290 | SUB $30 | |||
C292 | CP $08 | Position is out of bounds of the screen-top border? | ||
C294 | JP C,$C2D3 | Jump forward is so | ||
C297 | CP $A0 | Position is out of bounds of the screen-bottom border? | ||
C299 | JP NC,$C2D3 | Jump forward is so | ||
C29C | LD ($A249),A | Set A249 the y-pixel-position of the debris | ||
C29F | LD L,A | Compute into HL the address of the debris into the room graphic data | ||
C2A0 | LD H,$00 | |||
C2A2 | ADD HL,HL | |||
C2A3 | ADD HL,HL | |||
C2A4 | ADD HL,HL | |||
C2A5 | ADD HL,HL | |||
C2A6 | ADD HL,HL | |||
C2A7 | LD A,($A248) | |||
C2AA | LD E,A | |||
C2AB | LD D,$00 | |||
C2AD | ADD HL,DE | |||
C2AE | LD DE,$EAFF | |||
C2B1 | ADD HL,DE | |||
C2B2 | PUSH HL | Save HL | ||
C2B3 | LD A,($A22C) | Compute into DE the address for the graphic data of the debris | ||
C2B6 | SLA A | |||
C2B8 | SLA A | |||
C2BA | LD E,A | |||
C2BB | LD D,$00 | |||
C2BD | LD HL,$AAB7 | |||
C2C0 | ADD HL,DE | |||
C2C1 | EX DE,HL | |||
C2C2 | POP HL | Restore HL | ||
C2C3 | CALL $A69C | Draw the debris | ||
C2C6 | RET | |||
C2C7 | XOR A | Set A=0 | ||
C2C8 | LD ($A248),A | Set x-byte-position of the debris to 0 | ||
C2CB | LD A,$20 | Set y-pixel-position of the debris to $20 | ||
C2CD | LD ($A249),A | |||
C2D0 | JP $C288 | Jump back | ||
C2D3 | LD A,$20 | Set y-pixel-position of the debris to $20 | ||
C2D5 | LD ($A249),A | |||
C2D8 | XOR A | Set A=0 | ||
C2D9 | LD ($A248),A | Set x-byte-position of the debris to 0 | ||
C2DC | JP $C29C | Jump back |
Prev: C253 | Up: Map | Next: C2DF |