$D815/55317:   -Check '#' Channel

Jump from $D7F5:

D815: E0 23     CPX #$23        ; "#"
D817: D0 12     BNE $D82B
D819: 4C 84 CB  JMP $CB84       ; open direct access file

Jump from $D7CD:

D81C: A9 02     LDA #$02
D81E: 8D 96 02  STA $0296       ; file type program
D821: A9 00     LDA #$00
D823: 85 7F     STA $7F         ; drive 0
D825: 8D 8E 02  STA $028E
D828: 20 42 D0  JSR $D042       ; load BAM

Jump from $D817:

D82B: 20 E5 C1  JSR $C1E5       ; analyze line
D82E: D0 04     BNE $D834       ; colon found?
D830: A2 00     LDX #$00
D832: F0 0C     BEQ $D840

Jump from $D82E:

D834: 8A        TXA             ; comma found?
D835: F0 05     BEQ $D83C       ; no
D837: A9 30     LDA #$30
D839: 4C C8 C1  JMP $C1C8       ; 30, 'syntax error'

Jump from $D835:

D83C: 88        DEY
D83D: F0 01     BEQ $D840
D83F: 88        DEY

Jump from $D832, $D83D:

D840: 8C 7A 02  STY $027A       ; pointer to drive number
D843: A9 8D     LDA #$8D        ; shift CR
D845: 20 68 C2  JSR $C268       ; analyze line to end
D848: E8        INX
D849: 8E 78 02  STX $0278       ; comma counter
D84C: 20 12 C3  JSR $C312       ; get drive number
D84F: 20 CA C3  JSR $C3CA       ; check drive number
D852: 20 9D C4  JSR $C49D       ; find file entry in directory
D855: A2 00     LDX #$00        ; default values
D857: 8E 58 02  STX $0258       ; record length
D85A: 8E 97 02  STX $0297
D85D: 8E 4A 02  STX $024A       ; file type
D860: E8        INX
D861: EC 77 02  CPX $0277       ; comma before equal sign?
D864: B0 10     BCS $D876       ; no
D866: 20 09 DA  JSR $DA09       ; get file type and control mode
D869: E8        INX
D86A: EC 77 02  CPX $0277       ; additional comma?
D86D: B0 07     BCS $D876       ; no
D86F: C0 04     CPY #$04
D871: F0 3E     BEQ $D8B1
D873: 20 09 DA  JSR $DA09       ; get file type and control method

Jump from $D864, $D86D, $D8BD, $D8C4:

D876: AE 4C 02  LDX $024C
D879: 86 83     STX $83         ; secondary address
D87B: E0 02     CPX #$02        ; greater than 2?
D87D: B0 12     BCS $D891       ; yes
D87F: 8E 97 02  STX $0297       ; 0 or 1 (LOAD or SAVE)
D882: A9 40     LDA #$40
D884: 8D F9 02  STA $02F9
D887: AD 4A 02  LDA $024A       ; file type
D88A: D0 1B     BNE $D8A7       ; not deleted
D88C: A9 02     LDA #$02        ; PRG
D88E: 8D 4A 02  STA $024A       ; as file type

Jump from $D87D:

D891: AD 4A 02  LDA $024A
D894: D0 11     BNE $D8A7
D896: A5 E7     LDA $E7
D898: 29 07     AND #$07        ; get file type and command line
D89A: 8D 4A 02  STA $024A
D89D: AD 80 02  LDA $0280       ; track number
D8A0: D0 05     BNE $D8A7       ; not equal zero?
D8A2: A9 01     LDA #$01
D8A4: 8D 4A 02  STA $024A       ; file type sequential

Jump from $D88A, $D894, $D8A0:

D8A7: AD 97 02  LDA $0297       ; control method
D8AA: C9 01     CMP #$01        ; 'W'
D8AC: F0 18     BEQ $D8C6       ; yes
D8AE: 4C 40 D9  JMP $D940

Jump from $D871:

D8B1: BC 7A 02  LDY $027A,X     ; pointer behind second comma
D8B4: B9 00 02  LDA $0200,Y     ; get value
D8B7: 8D 58 02  STA $0258       ; record length
D8BA: AD 80 02  LDA $0280       ; track number
D8BD: D0 B7     BNE $D876
D8BF: A9 01     LDA #$01        ; 'W'
D8C1: 8D 97 02  STA $0297       ; as second method
D8C4: D0 B0     BNE $D876

Jump from $D8AC:

D8C6: A5 E7     LDA $E7         ; file type
D8C8: 29 80     AND #$80        ; isolate wildcard flag
D8CA: AA        TAX
D8CB: D0 14     BNE $D8E1       ; wildcard in name
D8CD: A9 20     LDA #$20
D8CF: 24 E7     BIT $E7         ; was file closed?
D8D1: F0 06     BEQ $D8D9       ; yes
D8D3: 20 B6 C8  JSR $C8B6       ; byte 0 in buffer and write block
D8D6: 4C E3 D9  JMP $D9E3

Jump from $D8D1:

D8D9: AD 80 02  LDA $0280       ; track number of the first block
D8DC: D0 03     BNE $D8E1       ; already existing
D8DE: 4C E3 D9  JMP $D9E3

Jump from $D8CB, $D8DC:

D8E1: AD 00 02  LDA $0200       ; first character from input buffer
D8E4: C9 40     CMP #$40        ; '@'?
D8E6: F0 0D     BEQ $D8F5       ; yes
D8E8: 8A        TXA
D8E9: D0 05     BNE $D8F0       ; wildcard set?
D8EB: A9 63     LDA #$63
D8ED: 4C C8 C1  JMP $C1C8       ; 63, 'file exists'

Jump from $D8E9:

D8F0: A9 33     LDA #$33
D8F2: 4C C8 C1  JMP $C1C8       ; 33, 'syntax error'

    Previous Page / Next Page