Prev: 53273 Up: Map Next: 53366
53303: Routine at D037
Todo_Door_Reset 53303 LD A,1 Writes $01 to the address contained at (depending on which door is currently being actioned);
Address Door
Door_Char_Buffer_01 Door 1
Door_Char_Buffer_02 Door 2
Door_Char_Buffer_03 Door 3
This is the first byte of character state data.
53305 LD L,(IX+10)
53308 LD H,(IX+11)
53311 LD (HL),A
53312 LD DE,53933 Writes Prep_Bandit_Draw_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
This is copying the actual source data into the cache where it can be manipulated by the game events.
53315 LD L,(IX+0)
53318 LD H,(IX+1)
53321 LD (HL),E
53322 INC HL
53323 LD (HL),D
53324 LD L,(IX+10) Copies 0011 bytes of data from (depending on which door is currently being actioned);
Source Destination Door
Door_Char_Buffer_01 Door_Source_01 Door 1
Door_Char_Buffer_02 Door_Source_02 Door 2
Door_Char_Buffer_03 Door_Source_03 Door 3
53327 LD H,(IX+11)
53330 LD E,(IX+2)
53333 LD D,(IX+3)
53336 LD BC,11
53339 LDIR
53341 LD A,1 Initialise 53647 (writes $01 to it).
53343 LD (53647),A
53346 LD L,(IX+10) Loads A with the flag from the address contained at (depending on which door is currently being actioned);
Address Door
Door_Char_Buffer_01 Door 1
Door_Char_Buffer_02 Door 2
Door_Char_Buffer_03 Door 3
As per Todo_Door_Reset, this should be $01.
53349 LD H,(IX+11)
53352 LD A,(HL)
53353 LD (IX+7),2
53357 AND A
53358 RET Z
53359 LD (IX+7),0
53363 LD (HL),0
53365 RET Return.
Prev: 53273 Up: Map Next: 53366