$E8EA/59626: Scroll Screen
Jump from $E6D3, $E885, $E975:
E8EA: A5 AC LDA $AC ; Pointer: Tape Buffer/Screen scrolling
E8EC: 48 PHA
E8ED: A5 AD LDA $AD ; Pointer: Tape Buffer/Screen scrolling
E8EF: 48 PHA
E8F0: A5 AE LDA $AE ; Tape End Address/End of Program
E8F2: 48 PHA
E8F3: A5 AF LDA $AF ; Tape End Address/End of Program
E8F5: 48 PHA
Jump from $E931:
E8F6: A2 FF LDX #$FF
E8F8: C6 D6 DEC $D6 ; Current Screen Line number of Cursor
E8FA: C6 C9 DEC $C9 ; Cursor X/Y position at start of Input
E8FC: CE A5 02 DEC $02A5 ; Temporary for Line Index
Jump from $E911:
E8FF: E8 INX
E900: 20 F0 E9 JSR $E9F0 ; Set Start of Line
E903: E0 18 CPX #$18
E905: B0 0C BCS $E913
E907: BD F1 EC LDA $ECF1,X ; Low Byte Screen Line Addresses
E90A: 85 AC STA $AC ; Pointer: Tape Buffer/Screen scrolling
E90C: B5 DA LDA $DA,X ; Screen Line Link Table
E90E: 20 C8 E9 JSR $E9C8 ; Move A Screen Line
E911: 30 EC BMI $E8FF
Jump from $E905:
E913: 20 FF E9 JSR $E9FF ; Clear Screen Line
E916: A2 00 LDX #$00
Jump from $E927:
E918: B5 D9 LDA $D9,X ; Screen Line Link Table
E91A: 29 7F AND #$7F
E91C: B4 DA LDY $DA,X ; Screen Line Link Table
E91E: 10 02 BPL $E922
E920: 09 80 ORA #$80
Jump from $E91E:
E922: 95 D9 STA $D9,X ; Screen Line Link Table
E924: E8 INX
E925: E0 18 CPX #$18
E927: D0 EF BNE $E918
E929: A5 F1 LDA $F1 ; Screen Line Link Table
E92B: 09 80 ORA #$80
E92D: 85 F1 STA $F1 ; Screen Line Link Table
E92F: A5 D9 LDA $D9 ; Screen Line Link Table
E931: 10 C3 BPL $E8F6
E933: E6 D6 INC $D6 ; Current Screen Line number of Cursor
E935: EE A5 02 INC $02A5 ; Temporary for Line Index
E938: A9 7F LDA #$7F
E93A: 8D 00 DC STA $DC00 ; CIA1: Data Port A (Keyboard, Joystick, Paddles)
E93D: AD 01 DC LDA $DC01 ; CIA1: Data Port B (Keyboard, Joystick, Paddles)
E940: C9 FB CMP #$FB
E942: 08 PHP
E943: A9 7F LDA #$7F
E945: 8D 00 DC STA $DC00 ; CIA1: Data Port A (Keyboard, Joystick, Paddles)
E948: 28 PLP
E949: D0 0B BNE $E956
E94B: A0 00 LDY #$00
Jump from $E94F, $E952:
E94D: EA NOP
E94E: CA DEX
E94F: D0 FC BNE $E94D
E951: 88 DEY
E952: D0 F9 BNE $E94D
E954: 84 C6 STY $C6 ; Number of Characters in Keyboard Buffer queue
Jump from $E949:
E956: A6 D6 LDX $D6 ; Current Screen Line number of Cursor
Jump from $E9C5:
E958: 68 PLA
E959: 85 AF STA $AF ; Tape End Address/End of Program
E95B: 68 PLA
E95C: 85 AE STA $AE ; Tape End Address/End of Program
E95E: 68 PLA
E95F: 85 AD STA $AD ; Pointer: Tape Buffer/Screen scrolling
E961: 68 PLA
E962: 85 AC STA $AC ; Pointer: Tape Buffer/Screen scrolling
E964: 60 RTS
Previous Page / Next Page