$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