Prev: 63D4 Up: Map Next: 654B
6483: Routine at 6483
Used by the routine at 63D4.
6483 LD DE,($5B87) DE=*5B87.
6487 LD BC,$3C00 BC=3C00 (CHARSET-0100).
648A LD H,$00 H=00.
648C LD L,A L=A.
This entry point is used by the routine at 6B41.
648D ADD HL,HL HL+=HL.
648E ADD HL,HL HL+=HL.
This entry point is used by the routine at 6B41.
648F ADD HL,HL HL+=HL.
6490 ADD HL,BC HL+=BC.
6491 PUSH DE Stash DE and HL on the stack.
6492 PUSH HL
6493 LD DE,$6B23 DE=6B23.
6496 LD BC,$0800 BC=0800.
6499 LD A,(HL) A=*HL.
649A LD (DE),A Write A to *DE.
649B INC HL Increment HL by one.
649C INC DE Increment DE by one.
649D BIT 1,A Test bit 1 of A.
649F JR Z,$64A3 Jump to 64A3 if DE is equal to 00.
64A1 LD C,$FF C=FF.
64A3 DJNZ $6499 Decrease counter by one and loop back to 6499 until counter is zero.
64A5 LD DE,$6B23 DE=6B23.
64A8 LD B,$08 B=08.
64AA LD A,(DE) A=*DE.
64AB RLA RLA.
64AC JR NC,$64B0 Jump to 64B0 if DE is greater than or equal to 08.
64AE OR %10000000 Set bits 7.
64B0 BIT 0,C Test bit 0 of C.
64B2 JR Z,$64BE Jump to 64BE if DE is equal to 08.
64B4 LD H,A H=A.
64B5 AND %00001111 Keep only bits 0-3.
64B7 LD L,A L=A.
64B8 LD A,H A=H.
64B9 AND %11110000 Keep only bits 4-7.
64BB RL L Rotate L left.
64BD OR L Set the bits from L.
64BE AND %11111100 Keep only bits 2-7.
64C0 LD (DE),A Write A to *DE.
64C1 INC DE Increment DE by one.
64C2 DJNZ $64AA Decrease counter by one and loop back to 64AA until counter is zero.
64C4 POP HL Restore HL and DE from the stack.
This entry point is used by the routine at 6B41.
64C5 POP DE }
64C6 LD HL,$6B23 HL=6B23.
64C9 EX DE,HL Exchange the DE and HL registers.
64CA PUSH HL Stash HL on the stack.
64CB LD A,($5B8A) A=*5B8A.
64CE AND %00000011 Keep only bits 0-1.
64D0 DEC A Decrease A by one.
64D1 JR Z,$64E8 Jump to 64E8 if A is equal to L.
64D3 DEC A Decrease A by one.
64D4 JR Z,$6500 Jump to 6500 if A is equal to L.
64D6 DEC A Decrease A by one.
64D7 JR Z,$6525 Jump to 6525 if A is equal to L.
64D9 LD B,$08 B=08.
64DB LD A,(DE) A=*DE.
64DC LD (HL),A Write A to *HL.
64DD INC DE Increment DE by one.
64DE INC H Increment H by one.
64DF DJNZ $64DB Decrease counter by one and loop back to 64DB until counter is zero.
64E1 POP HL Restore HL from the stack.
64E2 INC HL Increment HL by one.
64E3 LD ($5B87),HL Write HL to *5B87.
64E6 JR $6538 Jump to 6538.
64E8 LD B,$08 B=08.
64EA LD A,(DE) A=*DE.
64EB DEC HL Decrease HL by one.
64EC SRL (HL) Shift *HL right.
64EE SRL (HL) Shift *HL right.
64F0 SLA A Shift A left (with carry).
64F2 RL (HL) Rotate *HL left.
64F4 SLA A Shift A left (with carry).
64F6 RL (HL) Rotate *HL left.
64F8 INC HL Increment HL by one.
64F9 LD (HL),A Write A to *HL.
64FA INC H Increment H by one.
64FB INC DE Increment DE by one.
64FC DJNZ $64EA Decrease counter by one and loop back to 64EA until counter is zero.
64FE JR $64E1 Jump to 64E1.
6500 LD B,$08 B=08.
6502 LD A,(DE) A=*DE.
6503 DEC HL Decrease HL by one.
6504 SRL (HL) Shift *HL right.
6506 SRL (HL) Shift *HL right.
6508 SRL (HL) Shift *HL right.
650A SRL (HL) Shift *HL right.
650C SLA A Shift A left (with carry).
650E RL (HL) Rotate *HL left.
6510 SLA A Shift A left (with carry).
6512 RL (HL) Rotate *HL left.
6514 SLA A Shift A left (with carry).
6516 RL (HL) Rotate *HL left.
6518 SLA A Shift A left (with carry).
651A RL (HL) Rotate *HL left.
651C INC HL Increment HL by one.
651D LD (HL),A Write A to *HL.
651E INC H Increment H by one.
651F INC DE Increment DE by one.
6520 DJNZ $6502 Decrease counter by one and loop back to 6502 until counter is zero.
This entry point is used by the routine at 6B41.
6522 POP HL Restore HL from the stack.
6523 JR $6538 Jump to 6538.
6525 LD B,$08 B=08.
6527 LD A,$C0 A=C0.
6529 AND (HL) Merge the bits from *HL.
This entry point is used by the routine at 6B41.
652A LD (HL),A Write A to *HL.
652B LD A,(DE) A=*DE.
652C SRL A Shift A right.
652E SRL A Shift A right.
6530 OR (HL) Set the bits from *HL.
6531 LD (HL),A Write A to *HL.
6532 INC H Increment H by one.
6533 INC DE Increment DE by one.
6534 DJNZ $6527 Decrease counter by one and loop back to 6527 until counter is zero.
6536 JR $64E1 Jump to 64E1.
6538 POP AF Restore AF from the stack.
6539 PUSH AF Stash AF on the stack.
653A LD A,($5B8A) A=*5B8A.
653D CP $29 Compare A with 29.
653F JP Z,$6440 Jump to 6440 if A is equal to 29.
6542 INC A Increment A by one.
6543 LD ($5B8A),A Write A to *5B8A.
This entry point is used by the routine at 63D4.
6546 POP AF Restore AF, DE, BC and HL from the stack.
6547 POP DE
6548 POP BC
6549 POP HL
654A RET Return.
Prev: 63D4 Up: Map Next: 654B