![]() |
Routines |
Prev: 63D4 | Up: Map | Next: 654B |
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 |