Prev: 60241 Up: Map Next: 60700
60608: Input Line Redraw
Used by the routine at InputLine.
Repaint the buffered characters at row 22 via PrintCharacter, pad with two spaces, then fall into InputLine_DrawCursor to draw the cursor.
InputLine_Redraw 60608 LD HL,23470 Point at the buffer and reset print state for row 22.
60611 SUB A
60612 LD (23542),A
60615 LD (23543),A
60618 LD A,5
60620 LD (23541),A
60623 LD A,22
60625 LD (23544),A
60628 LD A,(23547) Jump to InputLine_Redraw_Pad if the line is empty.
60631 AND A
60632 JR Z,InputLine_Redraw_Pad
60634 LD B,A
InputLine_Redraw_Loop 60635 LD A,(HL) Print each buffered character through PrintCharacter.
60636 LD (23545),A
60639 CALL PrintCharacter
60642 INC HL
60643 DJNZ InputLine_Redraw_Loop
InputLine_Redraw_Pad 60645 LD A,32 Pad with two spaces, then fall into the cursor draw.
60647 LD (23545),A
60650 CALL PrintCharacter
60653 CALL PrintCharacter
This entry point is used by the routine at InputLine.
InputLine_DrawCursor 60656 LD A,40 Use attribute 40 for the blinking cursor.
60658 LD (23541),A
This entry point is used by the routine at InputLine_ClearCursor.
InputLine_DrawCursor_Body 60661 LD A,1 Set XOR mode and load a space glyph.
60663 LD (23542),A
60666 LD A,32
60668 LD (23545),A
60671 LD A,22 Plot it on row 22 at the cursor column.
60673 LD (23544),A
60676 LD A,(23546)
60679 LD (23543),A
60682 CP 32
60684 JR C,InputLine_DrawCursor_Print
60686 SUB 32 Wrap onto row 23 when the column is past 32.
60688 LD (23543),A
60691 LD A,23
60693 LD (23544),A
InputLine_DrawCursor_Print 60696 CALL PrintCharacter Call PrintCharacter.
60699 RET Return.
Prev: 60241 Up: Map Next: 60700