Prev: 43067 Up: Map Next: 43168
43069: Routine at A83D
Used by the routines at 61121, 61815, 62840, 62961, 63508 and 63673.
43069 DI Disable interrupts.
43070 EXX Switch to the shadow registers.
43071 PUSH AF Stash AF on the stack.
43072 LD (43067),SP Write SP to Temp_StackPointer_Storage.
43076 LD L,A Create an offset in HL.
43077 LD H,0
43079 ADD HL,HL HL*=32.
43080 ADD HL,HL
43081 ADD HL,HL
43082 ADD HL,HL
43083 ADD HL,HL
43084 LD SP,33656 SP=Graphics_Items+HL.
43087 ADD HL,SP
43088 LD SP,HL
43089 LD A,(43064) B=*43064.
43092 LD B,A
43093 AND %00000111 Keep only bits 0-2.
43095 INC A Increment A by one.
43096 LD (43131),A Write A to 43131.
43099 LD A,B A=B.
43100 AND %11111000 Keep only bits 3-7.
43102 RRCA
43103 RRCA
43104 RRCA
43105 LD (61359),A
43108 ADD A,2
43110 LD E,A
43111 LD A,(43065)
43114 SUB 64
43116 LD L,A Create an offset in HL.
43117 LD H,0
43119 ADD HL,HL HL*=32.
43120 ADD HL,HL
43121 ADD HL,HL
43122 ADD HL,HL
43123 ADD HL,HL
43124 LD D,107 D=107.
43126 ADD HL,DE HL+=DE.
43127 LD C,16 C=16.
43129 POP DE Restore DE from the stack.
This is modified from 43096.
43130 LD B,0 B=0.
43132 DEC B Decrease B by one.
43133 JR Z,43145 Jump to 43145 if B is zero.
43135 XOR A A=0.
43136 SRL E
43138 RR D
43140 RRA
43141 DJNZ 43136
43143 OR (HL)
43144 LD (HL),A
43145 DEC HL
43146 LD A,(HL)
43147 OR D
43148 LD (HL),A
43149 DEC HL
43150 LD A,(HL)
43151 OR E
43152 LD (HL),A
43153 LD DE,34
43156 ADD HL,DE
43157 DEC C
43158 JP NZ,43129
43161 LD SP,(43067) Restore SP from Temp_StackPointer_Storage.
43165 POP AF Restore AF from the stack.
43166 EXX Switch to the normal registers.
43167 RET Return.
Prev: 43067 Up: Map Next: 43168