Prev: B322 Up: Map Next: B3BE
B374: Routine at B374
Used by the routines at B416 and B44A.
B374 LD L,(IX+$05) L=*IX+05.
B377 LD A,(IX+$06) A=*IX+06.
B37A AND %00000011 Keep only bits 0-1.
B37C OR %00111000 Set bits 3-5.
B37E LD H,A H=A.
B37F ADD HL,HL HL+=HL.
B380 LD E,(IX+$01) E=*IX+01.
B383 LD D,(IX+$02) D=*IX+02.
B386 LD C,(IX+$03) C=*IX+03.
B389 LD B,(IX+$04) B=*IX+04.
This entry point is used by the routines at B591 and BCB7.
Copier B38C PUSH BC Stash BC, DE, HL and HL on the stack.
B38D PUSH DE
B38E PUSH HL
B38F PUSH HL
B390 LD B,(HL) B=*HL.
B391 INC HL Increment HL by one.
B392 LD H,(HL) H=*HL.
B393 SET 7,H Set bit 7 of H.
B395 LD L,B L=B.
B396 LD B,$08 B=08.
B398 LD A,(HL) A=*HL.
B399 LD (DE),A Write A to *DE.
B39A INC HL Increment HL by one.
B39B INC D Increment D by one.
B39C DJNZ $B398 Decrease counter by one and loop back to B398 until counter is zero.
B39E DEC C Decrease C by one.
B39F JR Z,$B3B4 Jump to B3B4 if {} is zero.
B3A1 LD A,E E+=20.
B3A2 ADD A,$20
B3A4 LD E,A
B3A5 JR C,$B3AB Jump to B3AB if {} is lower.
B3A7 LD A,D D-=08.
B3A8 SUB $08
B3AA LD D,A
B3AB POP HL Restore HL from the stack.
B3AC LD A,C A=C.
B3AD LD BC,$0040 BC=0040.
B3B0 ADD HL,BC HL+=BC.
B3B1 LD C,A C=A.
B3B2 JR $B38F Jump to B38F.
B3B4 POP HL Restore HL, HL, DE and BC from the stack.
B3B5 POP HL
B3B6 POP DE
B3B7 POP BC
B3B8 INC E Increment E by one.
B3B9 INC L Increment L by two.
B3BA INC L
B3BB DJNZ Copier Decrease counter by one and loop back to Copier until counter is zero.
B3BD RET Return.
Prev: B322 Up: Map Next: B3BE