$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