|  | Routines | 
| Prev: 60F3 | Up: Map | Next: 6152 | 
| 
 | ||||||||
| 6100 | LD L,$08 | Set Sam's main action timer (in byte 0x08 of his buffer) to 8 | ||||||
| 6102 | LD (HL),L | |||||||
| 6103 | LD L,$0D | Byte 0x0D of Sam's buffer holds 0 if Sam has only just met Lana, or 1 otherwise | ||||||
| 6105 | LD A,(HL) | |||||||
| 6106 | AND A | Has Sam only just met Lana in his office? | ||||||
| 6107 | JR NZ,$6112 | Jump if not | ||||||
| 6109 | INC (HL) | Increment byte 0x0D of Sam's buffer so that we don't come here again | ||||||
| 610A | LD A,$49 | Message 0x49: 'I STARED AT THE LOVELY LANA...' | ||||||
| 610C | LD ($7FD2),A | Store the message number at 7FD2 (so that we can check when it has been displayed) | ||||||
| 610F | JP $75CA | Queue the message urgently | ||||||
| 
While Lana is transfixing Sam, we count the policemen who have shown up at Sam's office so far and been immobilised.
 | ||||||||
| 6112 | LD BC,$0200 | B=2 (2 policemen), C=0 (will count the number of immobilised policemen) | ||||||
| 6115 | LD D,$DE | Character 0xDE is the first policeman | ||||||
| 6117 | LD E,$09 | Point DE at byte 0x09 of the policeman's buffer | ||||||
| 6119 | INC C | Assume that this policeman is already immobilised | ||||||
| 611A | LD A,(DE) | A=MSB of the policeman's current primary command routine | ||||||
| 611B | CP $E7 | Is it the MSB of E70B (RET)? | ||||||
| 611D | JR Z,$613A | Jump if so (this policeman is already immobilised) | ||||||
| 611F | DEC C | Decrement C because this policeman is not yet immobilised | ||||||
| 6120 | LD E,$02 | A=policeman's y-coordinate | ||||||
| 6122 | LD A,(DE) | |||||||
| 6123 | CP $13 | Is the policeman on the third floor of a building? | ||||||
| 6125 | JR NZ,$613A | Jump to consider the next policeman if not | ||||||
| 6127 | DEC E | E=0x01 | ||||||
| 6128 | LD A,(DE) | A=policeman's x-coordinate | ||||||
| 6129 | CP $EF | Consider the next policeman unless this one is in Sam's office | ||||||
| 612B | JR NC,$613A | |||||||
| 612D | CP $E0 | |||||||
| 612F | JR C,$613A | |||||||
| 6131 | LD A,$E7 | Place E70B (RET) into bytes 0x08 and 0x09 of the policeman's buffer, thus immobilising him | ||||||
| 6133 | LD E,$09 | |||||||
| 6135 | LD (DE),A | |||||||
| 6136 | LD A,$0B | |||||||
| 6138 | DEC E | |||||||
| 6139 | LD (DE),A | |||||||
| 613A | INC D | Point DE at the next policeman's buffer | ||||||
| 613B | DJNZ $6117 | Jump back until both policemen have been checked | ||||||
| 
Now C holds the number of policemen that have been immobilised in Sam's office.
 | ||||||||
| 613D | PUSH BC | Save the number of immobilised policemen briefly | ||||||
| 613E | CALL $78FC | Check whether message 0x49 ('I STARED AT THE LOVELY LANA...') is still in the message queue | ||||||
| 6141 | POP BC | Restore the number of immobilised policemen to C | ||||||
| 6142 | RET Z | Return unless the entire message has been displayed | ||||||
| 6143 | LD A,C | A=number of immobilised policemen | ||||||
| 6144 | AND A | Is it at least one? | ||||||
| 6145 | JR NZ,$6152 | Jump if so | ||||||
| 6147 | LD HL,$0000 | Set the number of bucks (stored at 7F9E) to 0 | ||||||
| 614A | LD ($7F9E),HL | |||||||
| 614D | LD A,$4B | Message 0x4B: 'SHE FIRED' | ||||||
| 614F | JP $7AD5 | Display the cutscene with this message, and then prepare to enter demo mode | ||||||
| Prev: 60F3 | Up: Map | Next: 6152 |