Deathchase | Routines |
Prev: 686B | Up: Map | Next: 68F0 |
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 |