$E56C/58732:   Set Screen Pointers

Jump from $E510, $E70E, $E847, $E88E:

E56C: A6 D6     LDX $D6       ; Current Screen Line number of Cursor
E56E: A5 D3     LDA $D3       ; Cursor Column on current Line

Jump from $E57A:

E570: B4 D9     LDY $D9,X     ; Screen Line Link Table
E572: 30 08     BMI $E57C
E574: 18        CLC
E575: 69 28     ADC #$28
E577: 85 D3     STA $D3       ; Cursor Column on current Line
E579: CA        DEX
E57A: 10 F4     BPL $E570

Jump from $E572:

E57C: 20 F0 E9  JSR $E9F0     ; Set Start of Line
E57F: A9 27     LDA #$27
E581: E8        INX

Jump from $E58A:

E582: B4 D9     LDY $D9,X     ; Screen Line Link Table
E584: 30 06     BMI $E58C
E586: 18        CLC
E587: 69 28     ADC #$28
E589: E8        INX
E58A: 10 F6     BPL $E582

Jump from $E584:

E58C: 85 D5     STA $D5       ; Current logical Line length: 39 or 79
E58E: 4C 24 EA  JMP $EA24     ; Syncronise Color Pointer

Jump from $E621:

E591: E4 C9     CPX $C9       ; Cursor X/Y position at start of Input
E593: F0 03     BEQ $E598
E595: 4C ED E6  JMP $E6ED     ; Retreat Cursor

Jump from $E593:

E598: 60        RTS
E599: EA        NOP

* Old KERNAL:
E57C: B5 D9     LDA $D9,X     ; Screen Line Link Table
E57E: 29 03     AND #$03
E580: 0D 88 02  ORA $0288     ; High Byte of Screen Memory Address
E583: 85 D2     STA $D2       ; Pointer: Current Screen Line Address
E585: BD F0 EC  LDA $ECF0,X   ; Low Byte Screen Line Addresses
E588: 85 D1     STA $D1       ; Pointer: Current Screen Line Address
E58A: A9 27     LDA #$27
E58C: E8        INX

Jump from $E595:

E58D: B4 D9     LDY $D9,X     ; Screen Line Link Table
E58F: 30 06     BMI $E597
E591: 18        CLC
E592: 69 28     ADC #$28
E594: E8        INX
E595: 10 F6     BPL $E58D

Jump from $E58F:

E597: 85 D5     STA $D5       ; Current logical Line length: 39 or 79
E599: 60        RTS

    Previous Page / Next Page