Data |
Prev: 24534 | Up: Map | Next: 24819 |
Initialised by the routine at 30017, and processed on every pass through the main loop by the routine at 29952. Each of the 14 entries in this table corresponds to a significant event in the game that requires changes to be made (such as making a key available, or Daisy having a new message for Sam). The bits in the first byte of each entry have the following meanings:
The first entry makes Sam's oil man disguise work with the gangsters at no. 19, and makes the policemen roam the entire city (instead of just the sidewalk near Sam's office) while on the beat. It is triggered at the start of a new game.
|
||||||||||||||
24544 | DEFB 0 | |||||||||||||
24545 | DEFB 13 | 13 bytes until the next entry | ||||||||||||
24546 | DEFB 1 | 1 condition follows | ||||||||||||
24547 | DEFW 32750 | 32750 holds the game mode indicator | ||||||||||||
24549 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24550 | DEFB 1 | Game mode | ||||||||||||
24551 | DEFB 2 | 2 POKEs follow (to do if the game mode is 1) | ||||||||||||
24552 | DEFW 64844 | 64844 holds the disguise ID in the region definition table at 64836 | ||||||||||||
24554 | DEFB 7 | Disguise ID (oil man) | ||||||||||||
24555 | DEFW 29540 | Set the operand of the 'OR' instruction at 29539 to 0 (to make the policemen roam the entire city) | ||||||||||||
24557 | DEFB 0 | |||||||||||||
The next entry makes Sam's oil man disguise known to the gangsters at no. 19. It is triggered when Sam passes the point on the rope above the roof of no. 19 where someone below says 'CRUISE WAS DRESSED AS THE OIL MAN. DONT LET ANYONE PAST'.
|
||||||||||||||
24558 | DEFB 0 | |||||||||||||
24559 | DEFB 10 | 10 bytes until the next entry | ||||||||||||
24560 | DEFB 1 | 1 condition follows | ||||||||||||
24561 | DEFW 32064 | The object table entry at 32064 is for where someone below says 'CRUISE WAS DRESSED AS THE OIL MAN...' | ||||||||||||
24563 | DEFB 32 | JR NZ (for the instruction at 29986) | ||||||||||||
24564 | DEFB 32 | |||||||||||||
24565 | DEFB 1 | 1 POKE follows | ||||||||||||
24566 | DEFW 64844 | 64844 holds the disguise ID in the region definition table at 64836 | ||||||||||||
24568 | DEFB 255 | Disguise ID (matches none of Sam's) | ||||||||||||
24569 | DEFB 0 | |||||||||||||
24570 | DEFB 16 | 16 bytes until the next entry | ||||||||||||
24571 | DEFB 1 | 1 condition follows | ||||||||||||
24572 | DEFW 32668 | 32668 holds the LSB of the score | ||||||||||||
24574 | DEFB 48 | JR NC (for the instruction at 29986) | ||||||||||||
24575 | DEFB 50 | Score LSB for comparison | ||||||||||||
24576 | DEFB 3 | 3 POKEs follow (to do when the score LSB is >= 50) | ||||||||||||
24577 | DEFW 27509 | Initialise phone message 58: 'DAISY SAID 'LANA RANG - HER NEW NUMBERS 7162. THE POLICE WERE HERE'' | ||||||||||||
24579 | DEFB 92 | |||||||||||||
24580 | DEFW 27512 | Initialise phone message 59: 'LANA ANSWERED 'OOH SAM! THEY KILLED MY FIANCE AND STOLE THE BUDGIE'' | ||||||||||||
24582 | DEFB 36 | |||||||||||||
24583 | DEFW 27515 | Initialise phone message 60: 'LANA ANSWERED 'OOH SAM! THAT CROOK THE FAT MAN'S JUST MOVED INTO NO 15'' | ||||||||||||
24585 | DEFB 36 | |||||||||||||
The next entry makes the required changes when Sam enters no. 15 using the key in game mode 1.
|
||||||||||||||
24586 | DEFB 0 | |||||||||||||
24587 | DEFB 39 | 39 bytes until the next entry | ||||||||||||
24588 | DEFB 3 | 3 conditions follow | ||||||||||||
24589 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24591 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24592 | DEFB 249 | |||||||||||||
24593 | DEFW 58882 | This address holds Sam's y-coordinate | ||||||||||||
24595 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24596 | DEFB 29 | |||||||||||||
24597 | DEFW 32746 | 32746 holds the key inventory | ||||||||||||
24599 | DEFB 48 | JR NC (for the instruction at 29986) | ||||||||||||
24600 | DEFB 64 | Bit 6 set: Sam has the key to no. 15 | ||||||||||||
24601 | DEFB 8 | 8 POKEs follow | ||||||||||||
24602 | DEFW 27473 | Initialise phone message 63: 'DAISY SAID 'SAM - A GANGSTER'S WATCHING FOR YOU OUTSIDE THE POLICE STATION'' | ||||||||||||
24604 | DEFB 94 | |||||||||||||
24605 | DEFW 27476 | Initialise phone message 64: 'A VOICE SAID 'OK FATS THE HOOK'S AT NO 74 AND ALS GUARDING IT'' | ||||||||||||
24607 | DEFB 94 | |||||||||||||
24608 | DEFW 27518 | Initialise phone message 76: 'DAISY SAID 'LANA RANG - THAT FAT MAN HAS TWO KEYS NOT JUST ONE '' | ||||||||||||
24610 | DEFB 92 | |||||||||||||
24611 | DEFW 27521 | Initialise phone message 65: 'LANA ANSWERED 'OOH SAM! BUD SAID HE'D MEET ME ALONE IN THE HOTELS RIGHT HAND GREEN ROOM. I'M SCARED - WILL YOU GO INSTEAD?'' | ||||||||||||
24613 | DEFB 36 | |||||||||||||
24614 | DEFW 32056 | Disable the object table entry at 32056 (for where someone growls 'NO KEY EH!' in no. 15) | ||||||||||||
24616 | DEFB 33 | |||||||||||||
24617 | DEFW 29964 | Change the operand of the JP instruction at 29963 to 24914 (to display the cutscene before entering game mode 2) | ||||||||||||
24619 | DEFB 82 | |||||||||||||
24620 | DEFW 29965 | |||||||||||||
24622 | DEFB 97 | |||||||||||||
24623 | DEFW 24666 | Activate the entry at 24666 (below) | ||||||||||||
24625 | DEFB 128 | |||||||||||||
24626 | DEFB 0 | |||||||||||||
24627 | DEFB 17 | 17 bytes until the next entry | ||||||||||||
24628 | DEFB 2 | 2 conditions follow | ||||||||||||
24629 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24631 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24632 | DEFB 64 | x-coordinate for comparison | ||||||||||||
24633 | DEFW 58882 | This address holds Sam's y-coordinate | ||||||||||||
24635 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24636 | DEFB 7 | y-coordinate for comparison | ||||||||||||
24637 | DEFB 2 | 2 POKEs follow | ||||||||||||
24638 | DEFW 29964 | Change the operand of the JP instruction at 29963 to 31236 | ||||||||||||
24640 | DEFB 4 | |||||||||||||
24641 | DEFW 29965 | |||||||||||||
24643 | DEFB 122 | |||||||||||||
The next entry restarts Al's command list when Sam calls 6124, thus giving Sam a chance to get past him and collect the hook.
|
||||||||||||||
24644 | DEFB 64 | Bit 6 set: always active | ||||||||||||
24645 | DEFB 21 | 21 bytes until the next entry | ||||||||||||
24646 | DEFB 3 | 3 conditions follow | ||||||||||||
24647 | DEFW 32666 | 32666 holds the ID of the telephone Sam is calling | ||||||||||||
24649 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24650 | DEFB 102 | Telephone ID: 6124 (no. 74, second floor) | ||||||||||||
24651 | DEFW 32766 | 32766 holds X, the x-coordinate of the leftmost column of the play area on screen | ||||||||||||
24653 | DEFB 56 | JR C (for the instruction at 29986) | ||||||||||||
24654 | DEFB 56 | x-coordinate for comparison | ||||||||||||
24655 | DEFW 56598 | This is byte 22 of character 221's buffer (used by Al at no. 74 when X<56) | ||||||||||||
24657 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24658 | DEFB 12 | Command list offset for comparison (points at the fourth command in the command list at 64816) | ||||||||||||
24659 | DEFB 2 | 2 POKEs follow | ||||||||||||
24660 | DEFW 56598 | This is byte 22 of character 221's buffer (used by Al at no. 74) | ||||||||||||
24662 | DEFB 0 | Set this to 0 to restart Al's command list | ||||||||||||
24663 | DEFW 56585 | This is byte 9 of character 221's buffer (used by Al at no. 74) | ||||||||||||
24665 | DEFB 0 | Remove the primary command routine address (31338) from bytes 8 and 9 of Al's buffer (so that the first command in the command list takes over immediately) | ||||||||||||
24666 | DEFB 129 | |||||||||||||
24667 | DEFB 28 | 28 bytes until the next entry | ||||||||||||
24668 | DEFB 4 | 4 conditions follow | ||||||||||||
24669 | DEFW 32713 | 32713 holds the ID of Sam's current disguise | ||||||||||||
24671 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24672 | DEFB 4 | Disguise ID (woman) | ||||||||||||
24673 | DEFW 58882 | This address holds Sam's y-coordinate | ||||||||||||
24675 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24676 | DEFB 13 | y-coordinate for comparison | ||||||||||||
24677 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24679 | DEFB 48 | JR NC (for the instruction at 29986) | ||||||||||||
24680 | DEFB 94 | x-coordinate for comparison | ||||||||||||
24681 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24683 | DEFB 56 | JR C (for the instruction at 29986) | ||||||||||||
24684 | DEFB 101 | x-coordinate for comparison | ||||||||||||
24685 | DEFB 3 | 3 POKEs follow | ||||||||||||
24686 | DEFW 27479 | Line up phone message 66: 'A VOICE SAID 'OK LANA THE KEY TO 74'S IN THE ROOM PAST THE CATWALK BUT THERE'S A GUARD'' | ||||||||||||
24688 | DEFB 44 | |||||||||||||
24689 | DEFW 32036 | Make the key to no. 74 available | ||||||||||||
24691 | DEFB 144 | |||||||||||||
24692 | DEFW 24695 | Activate the next entry at 24695 (below) | ||||||||||||
24694 | DEFB 128 | |||||||||||||
The next entry (activated by the one above at 24666) lines up phone message 68 ('DAISY SAID 'ALS NUMBER'S 6124''), and displays the cutscene before entering game mode 3. It is triggered when Sam reaches the location with coordinates (10,8) (on the stairs leading up to the roof of the apartment building next to no. 74).
|
||||||||||||||
24695 | DEFB 129 | |||||||||||||
24696 | DEFB 20 | 20 bytes until the next entry | ||||||||||||
24697 | DEFB 2 | 2 conditions follow | ||||||||||||
24698 | DEFW 58882 | This address holds Sam's y-coordinate | ||||||||||||
24700 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24701 | DEFB 8 | y-coordinate for comparison | ||||||||||||
24702 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24704 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24705 | DEFB 10 | x-coordinate for comparison | ||||||||||||
24706 | DEFB 3 | 3 POKEs follow | ||||||||||||
24707 | DEFW 27524 | Line up phone message 68: 'DAISY SAID 'ALS NUMBER'S 6124'' | ||||||||||||
24709 | DEFB 92 | |||||||||||||
24710 | DEFW 29964 | Change the operand of the JP instruction at 29963 to 24914 (to display the cutscene before entering game mode 3) | ||||||||||||
24712 | DEFB 82 | |||||||||||||
24713 | DEFW 29965 | |||||||||||||
24715 | DEFB 97 | |||||||||||||
The next entry makes the key to no. 27 available when Sam knocks the Fat Man over.
|
||||||||||||||
24716 | DEFB 0 | |||||||||||||
24717 | DEFB 10 | 10 bytes until the next entry | ||||||||||||
24718 | DEFB 1 | 1 condition follows | ||||||||||||
24719 | DEFW 57602 | This address holds character 225's y-coordinate (character 225 is the Fat Man in game mode 2) | ||||||||||||
24721 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24722 | DEFB 37 | y-coordinate for comparison (lying on the road) | ||||||||||||
24723 | DEFB 1 | 1 POKE follows | ||||||||||||
24724 | DEFW 32044 | Make the key to no. 27 available | ||||||||||||
24726 | DEFB 144 | |||||||||||||
The next entry makes the required changes when Sam enters the room above his office while in possession of all four keys.
|
||||||||||||||
24727 | DEFB 0 | |||||||||||||
24728 | DEFB 24 | 24 bytes until the next entry | ||||||||||||
24729 | DEFB 3 | 3 conditions follow | ||||||||||||
24730 | DEFW 58882 | This address holds Sam's y-coordinate | ||||||||||||
24732 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24733 | DEFB 13 | y-coordinate for comparison | ||||||||||||
24734 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24736 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24737 | DEFB 232 | x-coordinate for comparison | ||||||||||||
24738 | DEFW 32746 | 32746 holds the key inventory | ||||||||||||
24740 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24741 | DEFB 120 | Bits 3-6 set: Sam has all four keys | ||||||||||||
24742 | DEFB 3 | 3 POKEs follow | ||||||||||||
24743 | DEFW 32032 | Make the budgie available | ||||||||||||
24745 | DEFB 192 | |||||||||||||
24746 | DEFW 32747 | Clear all flags at 32747 so that Sam won't be chased by the police | ||||||||||||
24748 | DEFB 0 | |||||||||||||
24749 | DEFW 29540 | Set the operand of the 'OR' instruction at 29539 to 192 (to make the policemen stay close to Sam's office while on the beat) | ||||||||||||
24751 | DEFB 192 | |||||||||||||
The next entry lines up phone message 72 ('LANA ANSWERED 'OOH SAM! YOUVE GOT THE BIRD. SEE YOU IN YOUR OFFICE'') when Sam gets the budgie.
|
||||||||||||||
24752 | DEFB 0 | |||||||||||||
24753 | DEFB 10 | 10 bytes until the next entry | ||||||||||||
24754 | DEFB 1 | 1 condition follows | ||||||||||||
24755 | DEFW 32745 | 32745 holds the object inventory | ||||||||||||
24757 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24758 | DEFB 128 | Bit 7 set: Sam has the budgie | ||||||||||||
24759 | DEFB 1 | 1 POKE follows | ||||||||||||
24760 | DEFW 27527 | Line up phone message 72: 'LANA ANSWERED 'OOH SAM! YOUVE GOT THE BIRD. SEE YOU IN YOUR OFFICE'' | ||||||||||||
24762 | DEFB 36 | |||||||||||||
The next entry disables phone message 72 ('LANA ANSWERED 'OOH SAM! YOUVE GOT THE BIRD. SEE YOU IN YOUR OFFICE'') if Sam doesn't have the budgie (either because he hasn't found it yet, or it's been taken from him).
|
||||||||||||||
24763 | DEFB 64 | Bit 6 set: always active | ||||||||||||
24764 | DEFB 10 | 10 bytes until the next entry | ||||||||||||
24765 | DEFB 1 | 1 condition follows | ||||||||||||
24766 | DEFW 32745 | 32745 holds the object inventory | ||||||||||||
24768 | DEFB 32 | JR NZ (for the instruction at 29986) | ||||||||||||
24769 | DEFB 128 | Bit 7 set: Sam has the budgie (and only the budgie; this is a bug) | ||||||||||||
24770 | DEFB 1 | 1 POKE follows | ||||||||||||
24771 | DEFW 27527 | Disable phone message 72: 'LANA ANSWERED 'OOH SAM! YOUVE GOT THE BIRD. SEE YOU IN YOUR OFFICE'' | ||||||||||||
24773 | DEFB 0 | |||||||||||||
The next entry sends Lana on her way to Sam's office when Sam phones her while in possession of the budgie.
|
||||||||||||||
24774 | DEFB 0 | |||||||||||||
24775 | DEFB 17 | 17 bytes until the next entry | ||||||||||||
24776 | DEFB 2 | 2 conditions follow | ||||||||||||
24777 | DEFW 32745 | 32745 holds the object inventory | ||||||||||||
24779 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24780 | DEFB 128 | Bit 7 set: Sam has the budgie (and only the budgie; this is a bug) | ||||||||||||
24781 | DEFW 27527 | This is the entry for phone message 72 for Sam | ||||||||||||
24783 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24784 | DEFB 0 | 0 means the phone message has been received by Sam | ||||||||||||
24785 | DEFB 2 | 2 POKES follow | ||||||||||||
24786 | DEFW 24792 | Activate the entry at 24792 (below) | ||||||||||||
24788 | DEFB 128 | |||||||||||||
24789 | DEFW 57609 | Set byte 9 of character 225's buffer to 0 (character 225 is Lana in game mode 3), triggering a move to the next instruction: go to Sam's office (see 64940) | ||||||||||||
24791 | DEFB 0 | |||||||||||||
The next entry (activated by the one above at 24774) immobilises Sam until the end of the game when Lana meets him in his office.
|
||||||||||||||
24792 | DEFB 129 | |||||||||||||
24793 | DEFB 25 | 25 bytes until the next entry | ||||||||||||
24794 | DEFB 4 | 4 conditions follow | ||||||||||||
24795 | DEFW 57622 | This is byte 22 of character 225's buffer (character 225 is Lana in game mode 3) | ||||||||||||
24797 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24798 | DEFB 8 | This command list offset points past the end of the command list | ||||||||||||
24799 | DEFW 58882 | This address holds Sam's y-coordinate | ||||||||||||
24801 | DEFB 40 | JR Z (for the instruction at 29986) | ||||||||||||
24802 | DEFB 19 | y-coordinate for comparison | ||||||||||||
24803 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24805 | DEFB 48 | JR NC (for the instruction at 29986) | ||||||||||||
24806 | DEFB 222 | x-coordinate for comparison | ||||||||||||
24807 | DEFW 58881 | This address holds Sam's x-coordinate | ||||||||||||
24809 | DEFB 56 | JR C (for the instruction at 29986) | ||||||||||||
24810 | DEFB 231 | x-coordinate for comparison | ||||||||||||
24811 | DEFB 2 | 2 POKEs follow | ||||||||||||
24812 | DEFW 32764 | Set bit 1 of Sam's status flags at 32764 | ||||||||||||
24814 | DEFB 2 | |||||||||||||
24815 | DEFW 58893 | Set byte 13 of Sam's buffer to 0 (to indicate that Sam has just met Lana; see 24832) | ||||||||||||
24817 | DEFB 0 | |||||||||||||
And finally the end marker.
|
||||||||||||||
24818 | DEFB 255 |
Prev: 24534 | Up: Map | Next: 24819 |