![]() |
Routines |
| Prev: F0D6 | Up: Map | Next: F140 |
|
Used by the routine at InputLine.
Reached from InputLine_Enter when Enter is pressed. Clears the input rows, adjusts the lower screen via ScrollAdjust, prints a
> prompt, echoes InputBuffer through PrintCharacter, then returns via ScrollAdjust. Token walks and vocabulary lookup are separate jump-table entries (AdvanceInputPointer, SearchVocabulary_Commands and neighbours).
|
||||
| SubmitInputLine | F0E6 | LD A,$20 | Clear both input rows to spaces with blank attributes. | |
| F0E8 | LD ($5BF9),A | |||
| F0EB | LD B,$40 | |||
| F0ED | SUB A | |||
| F0EE | LD ($5BF6),A | |||
| F0F1 | LD ($5BF5),A | |||
| F0F4 | LD ($5BF7),A | |||
| F0F7 | LD A,$16 | |||
| F0F9 | LD ($5BF8),A | |||
| SubmitInputLine_ClearLoop | F0FC | CALL PrintCharacter | Print spaces until the clear count is done. | |
| F0FF | DJNZ SubmitInputLine_ClearLoop | |||
| F101 | SUB A | Reset the column and call ScrollAdjust. | ||
| F102 | LD ($5BF7),A | |||
| F105 | CALL ScrollAdjust | |||
| F108 | LD A,($5C89) | Print a ">" prompt on the lower screen. | ||
| F10B | LD B,A | |||
| F10C | LD A,$18 | |||
| F10E | SUB B | |||
| F10F | LD ($5BF8),A | |||
| F112 | LD A,$07 | |||
| F114 | LD ($5BF5),A | |||
| F117 | LD A,$3E | |||
| F119 | LD ($5BF9),A | |||
| F11C | CALL PrintCharacter | |||
| F11F | LD A,$05 | Restore the echo attribute and point at InputBuffer. | ||
| F121 | LD ($5BF5),A | |||
| F124 | LD HL,$5BAE | |||
| SubmitInputLine_Echo | F127 | LD A,(HL) | Jump to SubmitInputLine_ScrollBack at end-of-line. | |
| F128 | CP $0D | |||
| F12A | JR Z,SubmitInputLine_ScrollBack | |||
| F12C | INC HL | Echo this character through PrintCharacter and continue. | ||
| F12D | LD ($5BF9),A | |||
| F130 | CALL PrintCharacter | |||
| F133 | JR SubmitInputLine_Echo | |||
| SubmitInputLine_ScrollBack | F135 | LD A,($5C89) | Scroll the lower screen back two rows via ScrollAdjust. | |
| F138 | SUB $02 | |||
| F13A | LD ($5C89),A | |||
| F13D | JP ScrollAdjust | |||
| Prev: F0D6 | Up: Map | Next: F140 |