Prev: 52769 Up: Map Next: 53273
52920: Character Initialisations
Used by the routines at Character_Chooser and Customer_Frame_01.
Writes a "bandit opening the door" to the door flags/ cache.
Init_Bandit_Open 52920 LD DE,53650 Writes Prep_Bandit_Open to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
52923 LD L,(IX+0)
52926 LD H,(IX+1)
52929 LD (HL),E
52930 INC HL
52931 LD (HL),D
52932 LD HL,53366 Handles copying 0007 bytes of data from the address contained at (depending on which door is currently being actioned);
Address Door
Door_Source_01 Door 1
Door_Source_02 Door 2
Door_Source_03 Door 3
to 53366.
52935 LD E,(IX+2)
52938 LD D,(IX+3)
52941 LD BC,7
52944 LDIR
52946 LD A,1 Writes $01 to 53647 and return.
52948 LD (53647),A
52951 RET
Writes a "bandit closing the door" to the door flags/ cache.
Init_Bandit_Close 52952 LD DE,53687 Writes Prep_Bandit_Close to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
52955 LD L,(IX+0)
52958 LD H,(IX+1)
52961 LD (HL),E
52962 INC HL
52963 LD (HL),D
52964 LD HL,53373 Handles copying 0007 bytes of data from the address contained at (depending on which door is currently being actioned);
Address Door
Door_Source_01 Door 1
Door_Source_02 Door 2
Door_Source_03 Door 3
to 53373.
52967 LD E,(IX+2)
52970 LD D,(IX+3)
52973 LD BC,7
52976 LDIR
52978 LD A,1 Writes $01 to 53647.
52980 LD (53647),A
52983 LD (IX+7),1
52987 RET
Writes "Bowie" to the door flags/ cache.
Init_Bowie 52988 LD DE,53724 Writes Prep_Bowie to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
52991 LD L,(IX+0)
52994 LD H,(IX+1)
52997 LD (HL),E
52998 INC HL
52999 LD (HL),D
53000 CALL Random_Number
53003 AND 8
53005 LD HL,53380
53008 LD (HL),0
53010 JR Z,Init_Bowie_Set_Flag
53012 LD (HL),1
Init_Bowie_Set_Flag 53014 LD E,(IX+2)
53017 LD D,(IX+3)
53020 LD BC,9
53023 LDIR
53025 LD DE,55395
53028 LD (IX+4),E
53031 LD (IX+5),D
53034 RET
Writes a "customer opening the door" to the door flags/ cache.
Init_Customer_Open 53035 LD L,(IX+0) Writes Prep_Customer to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
53038 LD H,(IX+1)
53041 LD DE,53761
53044 LD (HL),E
53045 INC HL
53046 LD (HL),D
53047 CALL Random_Number
53050 AND 130
53052 LD HL,53409
53055 LD (HL),0
53057 JR NZ,Init_Customer_Open_Set_Flag
53059 LD (HL),1
Init_Customer_Open_Set_Flag 53061 LD HL,53404
53064 LD E,(IX+2)
53067 LD D,(IX+3)
53070 LD BC,15
53073 LD A,(53647)
53076 AND A
53077 LD A,0
53079 LD (53647),A
53082 RET NZ
53083 LDIR
53085 RET
Writes a "customer closing the door" to the door flags/ cache.
Init_Customer_Close 53086 LD L,(IX+0) Writes Prep_Customer to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
53089 LD H,(IX+1)
53092 LD DE,53761
53095 LD (HL),E
53096 INC HL
53097 LD (HL),D
53098 CALL Random_Number
53101 AND 65
53103 LD HL,53394
53106 LD (HL),0
53108 JR NZ,Init_Customer_Close_Set_Flag
53110 LD (HL),1
Init_Customer_Close_Set_Flag 53112 LD HL,53389
53115 LD E,(IX+2)
53118 LD D,(IX+3)
53121 LD BC,15
53124 LD A,(53647)
53127 AND A
53128 LD A,0
53130 LD (53647),A
53133 RET NZ
53134 LDIR
53136 RET
Writes a "customer being shot" to the door flags/ cache.
Init_Customer_Shot 53137 LD DE,53798 Writes Prep_Customer_Shot to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
53140 LD L,(IX+0)
53143 LD H,(IX+1)
53146 LD (HL),E
53147 INC HL
53148 LD (HL),D
53149 LD E,(IX+2) Loads e.g. Door_Source_01 (depending on which door is currently being actioned) into DE.
53152 LD D,(IX+3)
53155 LD HL,53419 HL=53419.
53158 INC DE Increase DE by $06.
53159 INC DE
53160 INC DE
53161 INC DE
53162 INC DE
53163 INC DE
53164 LD BC,3 Copies three sequential bytes of data from HL to DE.
53167 LDIR
53169 LD HL,53647 Writes $01 to 53647 and return.
53172 LD (HL),1
53174 RET
Writes "Julius opening the door" to the door flags/ cache.
Init_Julius_Open 53175 LD DE,53825 Writes Prep_Julius_Open to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
53178 LD L,(IX+0)
53181 LD H,(IX+1)
53184 LD (HL),E
53185 INC HL
53186 LD (HL),D
53187 LD HL,53422
53190 LD (HL),0
53192 CALL Random_Number
53195 AND 32
53197 JR NZ,Init_Julius_Open_Set_Flag
53199 LD (HL),1
Init_Julius_Open_Set_Flag 53201 LD E,(IX+2)
53204 LD D,(IX+3)
53207 LD BC,10
53210 LDIR
53212 RET
Writes "Julius closing the door" to the door flags/ cache.
Init_Julius_Close 53213 LD A,1 Writes $01 to 53432.
53215 LD (53432),A
53218 LD DE,53861 Writes Prep_Julius_Close to the address contained at (depending on which door is currently being actioned);
Address Door Target
Door_Flags_01 Door 1 Door_Routine_01
Door_Flags_02 Door 2 Door_Routine_02
Door_Flags_03 Door 3 Door_Routine_03
53221 LD L,(IX+0)
53224 LD H,(IX+1)
53227 LD (HL),E
53228 INC HL
53229 LD (HL),D
53230 LD HL,53432 Handles copying 0009 bytes of data from the address (plus 1) contained at (depending on which door is currently being actioned);
Address Door
Door_Source_01 Door 1
Door_Source_02 Door 2
Door_Source_03 Door 3
to 53432.
53233 LD E,(IX+2)
53236 LD D,(IX+3)
53239 INC DE
53240 LD BC,9
53243 LDIR
53245 LD A,1 A=1.
53247 LD (53647),A
53250 LD HL,53432 HL=53432.
53253 LD A,(HL)
53254 LD (IX+7),2
53258 LD (IX+6),5
53262 AND A
53263 RET Z
53264 XOR A
53265 LD (IX+7),A
53268 LD (IX+6),A
53271 LD (HL),A
53272 RET Return.
Prev: 52769 Up: Map Next: 53273