662D: Routine at 662D
| 662D |
CALL $0052 |
| 6630 |
SET 3,(IY+$30) |
| 6634 |
BIT 5,(IY+$01) |
| 6638 |
JR Z,$662D |
| 663A |
RES 5,(IY+$01) |
| 663E |
LD A,R |
| 6640 |
AND $07 |
| 6642 |
INC A |
| 6643 |
LD ($676E),A |
| 6646 |
LD IX,$676E |
| 664A |
LD A,($676E) |
| 664D |
LD ($6655),A |
| 6650 |
LD A,R |
| 6652 |
ADD A,A |
| 6653 |
LD (IX+$00),A |
| 6656 |
PUSH BC |
| 6657 |
LD B,$05 |
| 6659 |
PUSH DE |
| 665A |
PUSH HL |
| 665B |
PUSH IX |
| 665D |
LD A,$1E |
| 665F |
CALL $6AC4 |
| 6662 |
POP IX |
| 6664 |
POP HL |
| 6665 |
POP DE |
| 6666 |
POP BC |
| 6667 |
LD A,($5C08) |
| 666A |
PUSH HL |
| 666B |
CP $C7 |
| 666D |
LD HL,$0000 |
| 6670 |
JR Z,$6680 |
| 6672 |
CP $C9 |
| 6674 |
LD HL,$0190 |
| 6677 |
JR Z,$6680 |
| 6679 |
CP $C8 |
| 667B |
LD HL,$00C8 |
| 667E |
JR NZ,$6683 |
| 6680 |
LD ($655A),HL |
| 6683 |
POP HL |
| 6684 |
CP $5E |
| 6686 |
JR Z,$662D |
| 6688 |
CP $5F |
| 668A |
JR Z,$662D |
| 668C |
CP $7F |
| 668E |
JR Z,$662D |
| 6690 |
CP $7E |
| 6692 |
JR Z,$662D |
| 6694 |
CP $0E |
| 6696 |
RET NZ |
| 6697 |
PUSH BC |
| 6698 |
PUSH DE |
| 6699 |
PUSH HL |
| 669A |
CALL $65ED |
| 669D |
LD HL,$66D6 |
| 66A0 |
LD A,(HL) |
| 66A1 |
OR A |
| 66A2 |
CALL NZ,$66D8 |
| 66A5 |
XOR $01 |
| 66A7 |
LD (HL),A |
| 66A8 |
XOR A |
| 66A9 |
CALL $66BD |
| 66AC |
CALL $6B43 |
| 66AF |
LD A,$03 |
| 66B1 |
CALL $66BA |
| 66B4 |
POP HL |
| 66B5 |
POP DE |
| 66B6 |
POP BC |
| 66B7 |
JP $662D |
| 66BA |
LD ($66D7),A |
| 66BD |
PUSH BC |
| 66BE |
LD BC,$7FFD |
| 66C1 |
OR $10 |
| 66C3 |
OUT (C),A |
| 66C5 |
POP BC |
| 66C6 |
RET |