$E03C/57404:   Write block and read next block

Jump from $DFF3, $E0A7, $E135:

E03C: 20 D3 D1  JSR $D1D3       ; get drive number
E03F: 20 95 DE  JSR $DE95       ; get track and sector number
E042: 20 9E DF  JSR $DF9E       ; get bufer number
E045: 50 16     BVC $E05D       ; no rel-file?
E047: 20 5E DE  JSR $DE5E       ; write block
E04A: 20 1E CF  JSR $CF1E       ; change buffer
E04D: A9 02     LDA #$02
E04F: 20 C8 D4  JSR $D4C8       ; buffer pointer to 2
E052: 20 AB DD  JSR $DDAB       ; command code for writing?
E055: D0 24     BNE $E07B       ; no
E057: 20 57 DE  JSR $DE57       ; read block
E05A: 4C 99 D5  JMP $D599       ; and verify

Jump from $E045:

E05D: 20 1E CF  JSR $CF1E       ; change buffer
E060: 20 AB DD  JSR $DDAB       ; command code for writing?
E063: D0 06     BNE $E06B       ; no
E065: 20 57 DE  JSR $DE57       ; read block
E068: 20 99 D5  JSR $D599       ; and verify

Jump from $E063:

E06B: 20 95 DE  JSR $DE95       ; get track and sector number
E06E: A5 80     LDA $80         ; track
E070: F0 09     BEQ $E07B       ; no following track
E072: 20 1E CF  JSR $CF1E       ; change buffer
E075: 20 57 DE  JSR $DE57       ; read block
E078: 20 1E CF  JSR $CF1E       ; change buffer

Jump from $E055, $E070:

E07B: 60        RTS

    Previous Page / Next Page