$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