Prev: CB35 Up: Map Next: CB91
CB63: Move a line of a message upwards
Used by the routine at CB15.
CB63 PUSH AF Store all registers.
CB64 PUSH BC
CB65 PUSH DE
CB66 PUSH HL
CB67 PUSH IX
CB69 LD IX,$EB5E Point IX at the bottom of the screen (using the offset from EA60).
CB6D LD B,$7F Number of characters to scroll.
CB6F NOP
CB70 HALT Wait for interrupts, to stop flicker.
CB71 PUSH BC Preserve BC.
CB72 LD H,(IX+$01) Copy from the first line.
CB75 LD L,(IX+$00)
CB78 LD D,(IX+$03) Copy to the second line.
CB7B LD E,(IX+$02)
CB7E LD BC,$0020 Copy one line.
CB81 LDIR Do the copy.
CB83 POP BC Restore IX.
CB84 DEC IX Move up a line.
CB86 DEC IX
CB88 DJNZ $CB71 Loop back until all lines are scrolled.
CB8A POP IX Restore all registers and return.
CB8C POP HL
CB8D POP DE
CB8E POP BC
CB8F POP AF
CB90 RET
Prev: CB35 Up: Map Next: CB91