2002-11-16 23:45:15 +00:00
|
|
|
;
|
|
|
|
; Ullrich von Bassewitz, 16.11.2002
|
|
|
|
;
|
|
|
|
; Scratch a file on disk
|
|
|
|
;
|
|
|
|
|
|
|
|
.export scratch
|
2002-11-17 22:45:55 +00:00
|
|
|
.import opencmdchannel, closecmdchannel, writediskcmd
|
2002-11-16 23:45:15 +00:00
|
|
|
.import fnunit, fnlen, fncmd
|
2002-11-17 22:45:55 +00:00
|
|
|
.importzp ptr1
|
2002-11-16 23:45:15 +00:00
|
|
|
|
|
|
|
.include "cbm.inc"
|
|
|
|
|
|
|
|
;--------------------------------------------------------------------------
|
|
|
|
; scratch: Scratch a file on disk. Expects the name of the file to be already
|
|
|
|
; parsed. Returns an error code in A, which may either be the code read from
|
|
|
|
; the command channel, or another error when accessing the command channel
|
|
|
|
; failed.
|
|
|
|
|
|
|
|
.proc scratch
|
|
|
|
|
2002-11-17 22:45:55 +00:00
|
|
|
ldx fnunit
|
|
|
|
jsr opencmdchannel
|
|
|
|
bne done
|
2002-11-16 23:45:15 +00:00
|
|
|
|
|
|
|
lda #'s' ; Scratch command
|
|
|
|
sta fncmd
|
2002-11-17 22:45:55 +00:00
|
|
|
|
|
|
|
lda #<fncmd
|
|
|
|
sta ptr1
|
|
|
|
lda #>fncmd
|
|
|
|
sta ptr1+1
|
|
|
|
|
2002-11-16 23:45:15 +00:00
|
|
|
ldx fnlen
|
|
|
|
inx ; Account for "S"
|
|
|
|
txa ; Length of name into A
|
2002-11-17 22:45:55 +00:00
|
|
|
ldx fnunit ; Unit
|
|
|
|
jsr writediskcmd
|
2002-11-16 23:45:15 +00:00
|
|
|
|
|
|
|
pha
|
2002-11-17 22:45:55 +00:00
|
|
|
ldx fnunit
|
|
|
|
jsr closecmdchannel
|
2002-11-16 23:45:15 +00:00
|
|
|
pla
|
|
|
|
|
|
|
|
done: rts
|
|
|
|
|
|
|
|
.endproc
|
|
|
|
|
|
|
|
|