Prev: C388 Up: Map Next: C403
C3E4: Redraw The Screen When Input Is Waiting
Used by the routine at UpdateScreenDisplay.
Returns at once when the input flag is clear. Otherwise it redraws the screen before the next key is taken.
C3E4 LD A,($A008) Return if the input is zero.
C3E7 AND A
C3E8 RET Z
C3E9 PUSH HL Keep the text position and point at the top row, with eight pixel lines to redraw.
C3EA PUSH DE
C3EB PUSH BC
C3EC LD HL,$4000
C3EF LD B,$08
C3F1 PUSH BC Keep the count and the row, call SetPrinterMotorSpeed, then step H to the next pixel row.
C3F2 PUSH HL
C3F3 CALL SetPrinterMotorSpeed
C3F6 POP HL
C3F7 INC H
C3F8 POP BC
C3F9 DJNZ $C3F1 Count the next pixel row and repeat from C3F1.
C3FB LD A,$04 Take 04.
C3FD OUT ($FB),A Stop the ZX Printer motor (port FB).
C3FF POP BC Restore the saved count, the saved source and the saved pointer from the stack.
C400 POP DE
C401 POP HL
C402 RET Return.
Prev: C388 Up: Map Next: C403