Prev: 24534 Up: Map Next: 24819
24544: Event table
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:
Bit(s) Meaning if set
7 Entry should be inactive initially
6 Entry should never be deactivated
1-5 Unused
0 Entry is inactive
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)
The next entry lines up phone messages 58, 59 and 60 for Sam. It is triggered as soon as Sam's score hits 50 (about 4m10s after the game has started).
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
The next entry changes the operand of the JP instruction at 29963 to 31236 to send the police after Sam when he finds the dead body on the top floor of the hotel.
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)
The next entry (activated by the one above at 24586) lines 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'') and makes the key to no. 74 available when Sam enters the hotel's right-hand green room while disguised as a woman.
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