Prev: 686B Up: Map Next: 68F0
6886: The photon bolt has hit something, find out what
Used by the routine at 6802. HL Screen address of the photon bolt IX Pointer to offset table at 64F4 where the photon bolt was fired
6886 LD A,($5DD6) Get the range flag
6889 CP $03 Are the bikes in range
688B JR NZ,$689B Skip bike checking if not in range
688D LD H,(IX+$02) Get the attribute
6890 LD A,(HL)
6891 AND $07 Extract just the INK colour
6893 CP $06 Is it yellow?
6895 JR Z,$68A2 Move forward - hit enemy bike 1
6897 CP $01 Is it blue?
6899 JR Z,$68B9 Move forward - hit enemy bike 2
689B CP $07 Is it white?
689D JR Z,$68DD Move forward - hit the bonus enemy
689F JP $686B Hit a tree, do nothing
Enemy bike 1 has been hit
68A2 LD A,($5DC8) Get flags for bikes in play
68A5 RES 0,A Remove bike 1
68A7 LD ($5DC8),A Set it
68AA LD A,($5DC6) Get bike position
68AD LD ($5DE1),A Set the position of the blown up bike to it
68B0 XOR A
68B1 LD ($5DC6),A Bike out of play
68B4 LD ($5DC4),A Bike not moving
68B7 JR $68CE
Enemy bike 2 has been hit
68B9 LD A,($5DC8) Get flags for bikes in play
68BC RES 1,A Remove bike 2
68BE LD ($5DC8),A Set it
68C1 LD A,($5DC7) Get bike position
68C4 LD ($5DE1),A Set the position of the blown up bike to it
68C7 XOR A
68C8 LD ($5DC7),A Bike out of play
68CB LD ($5DC5),A Bike not moving
Mark either bike as "blown up"
68CE LD A,$07
68D0 LD ($5DE0),A 7 frames before bike explodes
68D3 LD ($5DE4),HL Location of explosion
68D6 LD A,$01
68D8 LD ($5DDE),A Set that the photon bolt hit an enemy
68DB JR $68EA
Bonus enemy has been hit
68DD LD HL,$5DCB Set the enemy is being blown up
68E0 SET 7,(HL)
68E2 LD A,$07 Reset time to redraw enemy
68E4 LD ($5DCC),A
68E7 CALL $6989 Print the score
68EA CALL $6989 Print the score (again?)
68ED JP $686B
Prev: 686B Up: Map Next: 68F0