| Dynamite Dan | Routines | 
| Prev: CEF0 | Up: Map | Next: CFC9 | 
|  | ||||
| CF77 | LD HL,$CED4 | Draw the rainbow lifts (CED4). | ||
| CF7A | CALL $CEF0 | |||
| CF7D | CALL $62A3 | Blow the safe up. | ||
| CF80 | LD A,($62A2) | Get the frame count. (62A2) | ||
| CF83 | CP $50 | Is it 50? | ||
| CF85 | JR NZ,$CFB5 | Jump forward if it is. | ||
| CF87 | LD A,($C872) | Get Dan's Y co-ordinate. (C872) | ||
| CF8A | CP $3E | Is it 3E? | ||
| CF8C | RET NZ | Return if is isn't. | ||
| CF8D | LD A,($C873) | Get Dan's X co-ordinate. (C873) | ||
| CF90 | CP $15 | Is it 15? | ||
| CF92 | RET NZ | Return if it isn't. | ||
| CF93 | LD A,($C875) | Get Dan's frame count. (C875) | ||
| CF96 | CP $05 | Is it 5? | ||
| CF98 | RET NZ | Return if it isn't. | ||
| CF99 | LD A,($C87E) | Get some flags. | ||
| CF9C | BIT 0,A | Is the safe still locked? | ||
| CF9E | RET NZ | Return if not. | ||
| 
Dan is next to the safe and it's locked. Can it be blown up?
 | ||||
| CF9F | LD A,($C878) | Get the number of dynamite sticks. (C878) | ||
| CFA2 | CP $08 | Has Dan got all 8? | ||
| CFA4 | RET NZ | Return if not. | ||
| 
Dan's got all 8 dynamite sticks, so blow the safe up!
 | ||||
| CFA5 | XOR A | Start at frame 0. (62A2) | ||
| CFA6 | LD ($62A2),A | |||
| CFA9 | LD HL,$C87E | Set that the safe has been blown up. | ||
| CFAC | SET 0,(HL) | |||
| CFAE | LD HL,$6E0E | Play the "blown the safe door" tune and return. | ||
| CFB1 | CALL $DB0B | |||
| CFB4 | RET | |||
| 
The safe is being blown up or has been blown up.
 | ||||
| CFB5 | CP $40 | Is the frame count 28? | ||
| CFB7 | RET NZ | Return if it is. | ||
| CFB8 | LD A,($C86C) | Otherwise check the number of lives. | ||
| CFBB | CP $1A | Are there more than 1A? | ||
| CFBD | JP NC,$0000 | If so, somebody's been hacking or there's a bug, so reset the system. | ||
| CFC0 | LD A,($C873) | Get Dan's X co-ordinate. | ||
| CFC3 | CP $17 | Is it greater than 17? | ||
| CFC5 | RET NC | Return if it is. | ||
| CFC6 | JP $CD8A | Otherwise Dan got caught in the blast range - oops - so lose a life. | ||
| Prev: CEF0 | Up: Map | Next: CFC9 |