Prev: C253 Up: Map Next: C2DF
C25E: Handle explosion debris movement and draw it
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