     $D075/53365:   Calculate blocks free

    Jump from $EEF1:

    D075: 20 3A EF  JSR $EF3A       ; buffer address to $6D/$6E
    D078: A0 04     LDY #$04        ; begin at position 4
    D07A: A9 00     LDA #$00
    D07C: AA        TAX

    Jump from $D08D:

    D07D: 18        CLC
    D07E: 71 6D     ADC ($6D),Y     ; add number of free blocks per track
    D080: 90 01     BCC $D083
    D082: E8        INX             ; X as hi-byte

    Jump from $D080, $D089:

    D083: C8        INY
    D084: C8        INY             ; plus 4
    D085: C8        INY
    D086: C8        INY
    D087: C0 48     CPY #$48        ; track 18?
    D089: F0 F8     BEQ $D083       ; then skip
    D08B: C0 90     CPY #$90        ; last track number?
    D08D: D0 EE     BNE $D07D       ; no
    D08F: 48        PHA             ; lo-byte
    D090: 8A        TXA             ; hi-byte
    D091: A6 7F     LDX $7F         ; drive number
    D093: 9D FC 02  STA $02FC,X     ; hi-byte to $2FC
    D096: 68        PLA             ; lo-byte
    D097: 9D FA 02  STA $02FA,X     ; to $2FA
    D09A: 60        RTS

        Previous Page / Next Page