Prev: B44A Up: Map Next: B4B8
B469: Routine at B469
Used by the routines at B416 and B44A.
B469 LD E,(IX+$08) E=*IX+08.
B46C LD D,(IX+$09) D=*IX+09.
B46F LD L,(IX+$0E) L=*IX+0E.
B472 LD H,(IX+$0F) H=*IX+0F.
B475 LD C,(IX+$0A) C=*IX+0A.
B478 DEC C Decrease C by one.
B479 LD B,(IX+$0B) B=*IX+0B.
B47C PUSH BC Stash BC, DE and HL on the stack.
B47D PUSH DE
B47E PUSH HL
B47F LD B,$08 B=08.
B481 LD A,(DE) A=*DE.
B482 AND (HL) Merge the bits from *HL.
B483 INC HL Increment HL by one.
B484 OR (HL) Set the bits from *HL.
B485 LD (DE),A Write A to *DE.
B486 INC HL Increment HL by one.
B487 INC D Increment D by one.
B488 DJNZ $B481 Decrease counter by one and loop back to B481 until counter is zero.
B48A DEC C Decrease C by one.
B48B JP M,$B4A2 Jump to B4A2 M.
B48E JR NZ,$B496 Jump to B496 if {} is not zero.
B490 SLA (IX+$17) Shift *IX+17 left (with carry).
B494 JR C,$B4A2 Jump to B4A2 if {} is lower.
B496 LD A,E A=E.
B497 ADD A,$20 A+=20.
B499 LD E,A E=A.
B49A JR C,$B47F Jump to B47F if {} is lower.
B49C LD A,D A=D.
B49D SUB $08 A-=08.
B49F LD D,A D=A.
B4A0 JR $B47F Jump to B47F.
B4A2 POP HL Restore HL from the stack.
B4A3 LD D,$00 D=00.
B4A5 LD E,(IX+$16) E=*IX+16.
B4A8 ADD HL,DE HL+=DE.
B4A9 POP DE Restore DE from the stack.
B4AA INC E Increment E by one.
B4AB POP BC Restore BC from the stack.
B4AC DJNZ $B47C Decrease counter by one and loop back to B47C until counter is zero.
B4AE LD B,(IX+$0B) B=*IX+0B.
B4B1 SRL (IX+$17) Shift *IX+17 right.
B4B5 DJNZ $B4B1 Decrease counter by one and loop back to B4B1 until counter is zero.
B4B7 RET Return.
Prev: B44A Up: Map Next: B4B8