Prev: 38207 Up: Map Next: 38342
38242: Routine at 9562
Used by the routines at CopyBufferToScreen and 38207.
38242 PUSH HL Stash HL on the stack.
38243 LD D,(HL) D=*HL.
38244 INC HL Increment HL by one.
38245 LD E,(HL) E=*HL.
38246 EX DE,HL Exchange the DE and HL registers.
38247 BIT 2,(HL) Test bit 2 of *HL.
38249 JR Z,38309 Jump to 38309 if HL is zero.
38251 RES 2,(HL) Reset bit 2 of *HL.
38253 INC HL Increment HL by two.
38254 INC HL
38255 LD E,(HL) E=*HL.
38256 INC HL Increment HL by one.
38257 LD D,(HL) D=*HL.
38258 INC HL Increment HL by one.
38259 LD A,(HL) A=*HL.
38260 LD (39337),A Write A to *39337.
38263 INC HL Increment HL by one.
38264 PUSH HL Stash HL on the stack.
38265 LD HL,39356 HL=39356.
38268 EX DE,HL Exchange the DE and HL registers.
38269 LD BC,8 BC=0008.
38272 LDIR LDIR.
38274 POP IX Restore IX from the stack.
38276 LD A,(IX+0) A=*IX+0.
38279 CP 0 Compare A with 0.
38281 JR Z,38311 Jump to 38311 if A is zero.
38283 LD H,A H=A.
38284 LD L,(IX+1) L=*IX+1.
38287 INC HL Increment HL by two.
38288 INC HL
38289 LD E,(HL) E=*HL.
38290 INC HL Increment HL by one.
38291 LD D,(HL) D=*HL.
38292 INC HL Increment HL by two.
38293 INC HL
38294 PUSH HL Stash HL on the stack.
38295 LD B,8 B=8.
38297 LD HL,39356 HL=39356.
38300 LD A,(DE) A=*DE.
38301 OR (HL) Set the bits from *HL.
38302 LD (HL),A Write A to *HL.
38303 INC HL Increment HL by one.
38304 INC DE Increment DE by one.
38305 DJNZ 38300 Decrease counter by one and loop back to 38300 until counter is zero.
38307 JR 38274 Jump to 38274.
38309 POP HL Restore HL from the stack.
38310 RET Return.
38311 LD DE,39356 DE=39356.
38314 POP HL Restore HL from the stack.
38315 SRL H Shift H right.
38317 RR L Rotate L right.
38319 LD A,H A=H.
38320 AND %11011011 Keep only bits 0-1, 3-4, 6-7.
38322 OR %01000000 Set bit 6.
38324 LD H,A H=A.
38325 LD A,(39337) A=*39337.
38328 LD (HL),A Write A to *HL.
38329 SLA H Shift H left three positions (with carry).
38331 SLA H
38333 SLA H
38335 RES 7,H Reset bit 7 of H.
38337 EX DE,HL Exchange the DE and HL registers.
38338 CALL CopyUDGToScreen Call CopyUDGToScreen.
38341 RET Return.
Prev: 38207 Up: Map Next: 38342