$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 |