mirror of
https://github.com/cc65/cc65.git
synced 2024-08-17 19:29:12 +00:00
50 lines
1.1 KiB
ArmAsm
50 lines
1.1 KiB
ArmAsm
;
|
|
; Ullrich von Bassewitz, 16.11.2002
|
|
;
|
|
; Scratch a file on disk
|
|
;
|
|
|
|
.export scratch
|
|
.import opencmdchannel, closecmdchannel, writediskcmd
|
|
.import fnunit, fnlen, fncmd
|
|
.importzp ptr1
|
|
|
|
.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
|
|
|
|
ldx fnunit
|
|
jsr opencmdchannel
|
|
bne done
|
|
|
|
lda #'s' ; Scratch command
|
|
sta fncmd
|
|
|
|
lda #<fncmd
|
|
sta ptr1
|
|
lda #>fncmd
|
|
sta ptr1+1
|
|
|
|
ldx fnlen
|
|
inx ; Account for "S"
|
|
txa ; Length of name into A
|
|
ldx fnunit ; Unit
|
|
jsr writediskcmd
|
|
|
|
pha
|
|
ldx fnunit
|
|
jsr closecmdchannel
|
|
pla
|
|
|
|
done: rts
|
|
|
|
.endproc
|
|
|
|
|