Prev: 43069 Up: Map Next: 43297
43168: Routine at A8A0
Used by the routines at 60714, 61383, 61710, 61815, 62961 and 63673.
43168 EXX Switch to the shadow registers.
43169 PUSH AF Stash AF on the stack.
43170 LD (43067),SP Write SP to Temp_StackPointer_Storage.
43174 LD SP,33656 SP=Graphics_Items.
43177 LD L,A Create an offset in HL.
43178 LD H,0
43180 ADD HL,HL SP=(HL*32)+SP.
43181 ADD HL,HL
43182 ADD HL,HL
43183 ADD HL,HL
43184 ADD HL,HL
43185 ADD HL,SP
43186 LD SP,HL
43187 LD A,(43064) B=43064.
43190 LD B,A
43191 AND %00000111 Keep only bits 0-2.
43193 INC A Increment A by one.
43194 LD (43232),A Write A to
43197 LD (43260),A
43200 LD A,B
43201 AND %11111000 Keep only bits 3-7.
43203 RRCA
43204 RRCA
43205 RRCA
43206 LD (61359),A Write A to 61359.
43209 ADD A,2 E=A+2.
43211 LD E,A
43212 LD C,16 C=16.
43214 LD A,(43065) A=*43065.
43217 SUB 64
43219 LD L,A
43220 LD H,0
43222 ADD HL,HL
43223 ADD HL,HL
43224 ADD HL,HL
43225 ADD HL,HL
43226 ADD HL,HL
43227 LD D,107
43229 ADD HL,DE
43230 POP DE
43231 LD B,0
43233 DEC B
43234 JR Z,43248
43236 SCF
43237 LD A,255
43239 RR E
43241 RR D
43243 RRA
43244 DJNZ 43239
43246 AND (HL)
43247 LD (HL),A
43248 DEC HL
43249 LD A,(HL)
43250 AND D
43251 LD (HL),A
43252 DEC HL
43253 LD A,(HL)
43254 AND E
43255 LD (HL),A
43256 INC HL
43257 INC HL
43258 POP DE
43259 LD B,0
43261 DEC B
43262 JR Z,43274
43264 XOR A
43265 SRL E
43267 RR D
43269 RRA
43270 DJNZ 43265
43272 OR (HL)
43273 LD (HL),A
43274 DEC HL
43275 LD A,(HL)
43276 OR D
43277 LD (HL),A
43278 DEC HL
43279 LD A,(HL)
43280 OR E
43281 LD (HL),A
43282 LD DE,34 HL+=0034.
43285 ADD HL,DE
43286 DEC C Decrease C by one.
43287 JP NZ,43230 If C is not zero, jump to 43230.
43290 EXX Switch to the normal registers.
43291 LD SP,(43067) Restore SP from Temp_StackPointer_Storage.
43295 POP AF Restore AF from the stack.
43296 RET Return.
Prev: 43069 Up: Map Next: 43297