$E5CA/58826: Input From Keyboard
Jump from $E600:
E5CA: 20 16 E7 JSR $E716 ; Output to Screen
Jump from $E5D4, $E5FC, $E638:
E5CD: A5 C6 LDA $C6 ; Number of Characters in Keyboard Buffer queue
E5CF: 85 CC STA $CC ; Flag: Cursor blink
E5D1: 8D 92 02 STA $0292 ; Flag: Auto scroll down
E5D4: F0 F7 BEQ $E5CD
E5D6: 78 SEI
E5D7: A5 CF LDA $CF ; Flag: Cursor Status
E5D9: F0 0C BEQ $E5E7
E5DB: A5 CE LDA $CE ; Character under Cursor while Cursor Inverted
E5DD: AE 87 02 LDX $0287 ; Background Color under Cursor
E5E0: A0 00 LDY #$00
E5E2: 84 CF STY $CF ; Flag: Cursor Status
E5E4: 20 13 EA JSR $EA13 ; Print To Screen
Jump from $E5D9:
E5E7: 20 B4 E5 JSR $E5B4 ; Get Character From Keyboard Buffer
E5EA: C9 83 CMP #$83
E5EC: D0 10 BNE $E5FE
E5EE: A2 09 LDX #$09
* SX64:
E5EE: A2 09 LDX #$0F
E5F0: 78 SEI
E5F1: 86 C6 STX $C6 ; Number of Characters in Keyboard Buffer queue
Jump from $E5FA:
E5F3: BD E6 EC LDA $ECE6,X ; Video Chip Setup Table
* SX64:
E5F3: BD D7 F0 LDA $F0D7,X ; Table of Kernal I/O Messages
E5F6: 9D 76 02 STA $0276,X ; Active File Secondary Addresses
E5F9: CA DEX
E5FA: D0 F7 BNE $E5F3
E5FC: F0 CF BEQ $E5CD
Jump from $E5EC:
E5FE: C9 0D CMP #$0D
E600: D0 C8 BNE $E5CA
E602: A4 D5 LDY $D5 ; Current logical Line length: 39 or 79
E604: 84 D0 STY $D0 ; Flag: Input from ...
Jump from $E60D:
E606: B1 D1 LDA ($D1),Y ; Pointer: Current Screen Line Address
E608: C9 20 CMP #$20
E60A: D0 03 BNE $E60F
E60C: 88 DEY
E60D: D0 F7 BNE $E606
Jump from $E60A:
E60F: C8 INY
E610: 84 C8 STY $C8 ; Pointer: End of Line for Input
E612: A0 00 LDY #$00
E614: 8C 92 02 STY $0292 ; Flag: Auto scroll down
E617: 84 D3 STY $D3 ; Cursor Column on current Line
E619: 84 D4 STY $D4 ; Flag: Editor in Quote Mode
E61B: A5 C9 LDA $C9 ; Cursor X/Y position at start of Input
E61D: 30 1B BMI $E63A ; Input From Screen or Keyboard
E61F: A6 D6 LDX $D6 ; Current Screen Line number of Cursor
E621: 20 91 E5 JSR $E591 ; Set Screen Pointers
* Old KERNAL:
E621: 20 ED E6 JSR $E6ED ; Retreat Cursor
E624: E4 C9 CPX $C9 ; Cursor X/Y position at start of Input
E626: D0 12 BNE $E63A ; Input From Screen or Keyboard
E628: A5 CA LDA $CA ; Cursor X/Y position at start of Input
E62A: 85 D3 STA $D3 ; Cursor Column on current Line
E62C: C5 C8 CMP $C8 ; Pointer: End of Line for Input
E62E: 90 0A BCC $E63A ; Input From Screen or Keyboard
E630: B0 2B BCS $E65D ; Input From Screen or Keyboard
Previous Page / Next Page