Prev: 7600 Up: Map Next: 766D
763D: Scroll the input window down
The reverse of 7600: moves the lower window's rows down by one character row, working from the bottom. Used when a backspace goes back past the start of a line of typing (75AD).
763D PUSH HL Save the registers this uses
763E PUSH DE
763F PUSH BC
7640 PUSH AF
7641 LD HL,$50C0 HL = the third character row of the input window...
7644 LD DE,$50E0 ...DE = the fourth, where it is moving to
7647 LD A,$05 Five pixel-line moves are needed to shift everything down one row
7649 PUSH HL Save the row addresses
764A PUSH DE
764B LD B,$08 Eight pixel lines per character row
764D PUSH HL Save this pixel line's addresses
764E PUSH DE
764F PUSH BC
7650 LD BC,$0020 32 bytes per pixel line
7653 LDIR Copy it down
7655 POP BC Restore the counters
7656 POP DE
7657 POP HL
7658 INC H Move down to the next pixel line
7659 INC D
765A DJNZ $764D One fewer pixel line to do
765C POP DE Restore the row addresses
765D POP HL
765E LD BC,$FFE0 Move both addresses BACK one character row instead (a negative step)
7661 ADD HL,BC
7662 EX DE,HL
7663 ADD HL,BC
7664 EX DE,HL
7665 DEC A One fewer character row to do
7666 JR NZ,$7649
7668 POP AF Restore the saved registers
7669 POP BC
766A POP DE
766B POP HL
766C RET
Prev: 7600 Up: Map Next: 766D