$DB02/56066: Close file Jump from $C9F7, $DAD8, $DAF0: DB02: A6 83 LDX $83 ; secondary address DB04: BD 2B 02 LDA $022B,X ; get channel number DB07: C9 FF CMP #$FF ; no channel associated? DB09: D0 01 BNE $DB0C DB0B: 60 RTS ; no, then none Jump from $DB09: DB0C: 29 0F AND #$0F ; isolate channel number DB0E: 85 82 STA $82 DB10: 20 25 D1 JSR $D125 ; check data type DB13: C9 07 CMP #$07 ; direct access? DB15: F0 0F BEQ $DB26 ; yes DB17: C9 04 CMP #$04 ; rel-file? DB19: F0 11 BEQ $DB2C ; yes DB1B: 20 07 D1 JSR $D107 ; channel for writing open DB1E: B0 09 BCS $DB29 ; no file for writing? DB20: 20 62 DB JSR $DB62 ; write last block DB23: 20 A5 DB JSR $DBA5 ; write entry in directory and block Jump from $DB15: DB26: 20 F4 EE JSR $EEF4 ; write BAM Jump from $DB1E: DB29: 4C 27 D2 JMP $D227 ; close channel Jump from $DB19: DB2C: 20 F1 DD JSR $DDF1 ; get buffer number, write block DB2F: 20 1E CF JSR $CF1E ; change buffer DB32: 20 CB E1 JSR $E1CB ; get last side-sector DB35: A6 D5 LDX $D5 ; side-sector number DB37: 86 73 STX $73 DB39: E6 73 INC $73 DB3B: A9 00 LDA #$00 DB3D: 85 70 STA $70 DB3F: 85 71 STA $71 DB41: A5 D6 LDA $D6 DB43: 38 SEC DB44: E9 0E SBC #$0E ; minus 14 for pointer DB46: 85 72 STA $72 DB48: 20 51 DF JSR $DF51 ; calculate block number of file DB4B: A6 82 LDX $82 ; channel number DB4D: A5 70 LDA $70 DB4F: 95 B5 STA $B5,X ; record number lo DB51: A5 71 LDA $71 DB53: 95 BB STA $BB,X ; record number hi DB55: A9 40 LDA #$40 DB57: 20 A6 DD JSR $DDA6 ; bit 6 set? DB5A: F0 03 BEQ $DB5F ; no DB5C: 20 A5 DB JSR $DBA5 ; enter in directory Jump from $DB5A: DB5F: 4C 27 D2 JMP $D227 ; close channel Previous Page / Next Page |