$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