     $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