$AC35/44085: General Purpose Read Routine AC35: 20 24 E1 JSR $E124 ; Get One Character AC38: 8D 00 02 STA $0200 ; BASIC Input Buffer (Input Line from Screen) AC3B: A2 FF LDX #$FF AC3D: A0 01 LDY #$01 AC3F: D0 0C BNE $AC4D Jump from $AC33: AC41: 30 75 BMI $ACB8 AC43: A5 13 LDA $13 ; File number of current Input Device AC45: D0 03 BNE $AC4A AC47: 20 45 AB JSR $AB45 ; Output Format Character Jump from $AC45: AC4A: 20 F9 AB JSR $ABF9 ; Do Input Prompt Jump from $AC3F: AC4D: 86 7A STX $7A ; Pointer: Current Byte of BASIC Text AC4F: 84 7B STY $7B ; Pointer: Current Byte of BASIC Text Jump from $ACDC, $AC2F: AC51: 20 73 00 JSR $0073 ; CHRGET: Get next Byte of BASIC Text AC54: 24 0D BIT $0D ; Data type Flag AC56: 10 31 BPL $AC89 AC58: 24 11 BIT $11 ; Input Flag AC5A: 50 09 BVC $AC65 AC5C: E8 INX AC5D: 86 7A STX $7A ; Pointer: Current Byte of BASIC Text AC5F: A9 00 LDA #$00 AC61: 85 07 STA $07 ; Temporary Integer during OR/AND AC63: F0 0C BEQ $AC71 Jump from $AC5A: AC65: 85 07 STA $07 ; Temporary Integer during OR/AND AC67: C9 22 CMP #$22 AC69: F0 07 BEQ $AC72 AC6B: A9 3A LDA #$3A AC6D: 85 07 STA $07 ; Temporary Integer during OR/AND AC6F: A9 2C LDA #$2C Jump from $AC63: AC71: 18 CLC Jump from $AC69: AC72: 85 08 STA $08 ; Flag: Scan for Quote at end of String AC74: A5 7A LDA $7A ; Pointer: Current Byte of BASIC Text AC76: A4 7B LDY $7B ; Pointer: Current Byte of BASIC Text AC78: 69 00 ADC #$00 AC7A: 90 01 BCC $AC7D AC7C: C8 INY Jump from $AC7A: AC7D: 20 8D B4 JSR $B48D ; Set Up String AC80: 20 E2 B7 JSR $B7E2 ; Convert ASCII String to Flpt AC83: 20 DA A9 JSR $A9DA ; Assign String AC86: 4C 91 AC JMP $AC91 Jump from $AC56: AC89: 20 F3 BC JSR $BCF3 ; Convert ASCII String to a Number in FAC AC8C: A5 0E LDA $0E ; Data type Flag AC8E: 20 C2 A9 JSR $A9C2 ; Perform [let] Jump from $AC86: AC91: 20 79 00 JSR $0079 ; CHRGOT: Get same Byte again AC94: F0 07 BEQ $AC9D AC96: C9 2C CMP #$2C AC98: F0 03 BEQ $AC9D AC9A: 4C 4D AB JMP $AB4D ; Handle Bad Data Jump from $AC94, $AC98: AC9D: A5 7A LDA $7A ; Pointer: Current Byte of BASIC Text AC9F: A4 7B LDY $7B ; Pointer: Current Byte of BASIC Text ACA1: 85 43 STA $43 ; Pointer: Temporary storage during INPUT ACA3: 84 44 STY $44 ; Pointer: Temporary storage during INPUT ACA5: A5 4B LDA $4B ; Temporary storage for TXTPTR ACA7: A4 4C LDY $4C ; Temporary storage for TXTPTR ACA9: 85 7A STA $7A ; Pointer: Current Byte of BASIC Text ACAB: 84 7B STY $7B ; Pointer: Current Byte of BASIC Text ACAD: 20 79 00 JSR $0079 ; CHRGOT: Get same Byte again ACB0: F0 2D BEQ $ACDF ACB2: 20 FD AE JSR $AEFD ; Test ',' ACB5: 4C 15 AC JMP $AC15 ; Perform [read] Jump from $AC41, $ACDA: ACB8: 20 06 A9 JSR $A906 ; Search for Next Statement / Line ACBB: C8 INY ACBC: AA TAX ACBD: D0 12 BNE $ACD1 ACBF: A2 0D LDX #$0D ACC1: C8 INY ACC2: B1 7A LDA ($7A),Y ; Pointer: Current Byte of BASIC Text ACC4: F0 6C BEQ $AD32 ; Perform [next] ACC6: C8 INY ACC7: B1 7A LDA ($7A),Y ; Pointer: Current Byte of BASIC Text ACC9: 85 3F STA $3F ; Current DATA Line number ACCB: C8 INY ACCC: B1 7A LDA ($7A),Y ; Pointer: Current Byte of BASIC Text ACCE: C8 INY ACCF: 85 40 STA $40 ; Current DATA Line number Jump from $ACBD: ACD1: 20 FB A8 JSR $A8FB ; Perform [data] ACD4: 20 79 00 JSR $0079 ; CHRGOT: Get same Byte again ACD7: AA TAX ACD8: E0 83 CPX #$83 ACDA: D0 DC BNE $ACB8 ACDC: 4C 51 AC JMP $AC51 Jump from $ACB0: ACDF: A5 43 LDA $43 ; Pointer: Temporary storage during INPUT ACE1: A4 44 LDY $44 ; Pointer: Temporary storage during INPUT ACE3: A6 11 LDX $11 ; Input Flag ACE5: 10 03 BPL $ACEA ACE7: 4C 27 A8 JMP $A827 ; Perform [restore] Jump from $ACE5: ACEA: A0 00 LDY #$00 ACEC: B1 43 LDA ($43),Y ; Pointer: Temporary storage during INPUT ACEE: F0 0B BEQ $ACFB ACF0: A5 13 LDA $13 ; File number of current Input Device ACF2: D0 07 BNE $ACFB ACF4: A9 FC LDA #$FC ACF6: A0 AC LDY #$AC ACF8: 4C 1E AB JMP $AB1E ; Output String Jump from $ACEE, $ACF2: ACFB: 60 RTS Previous Page / Next Page |