;
-; Ullrich von Bassewitz, 17.11.2002
+; Ullrich von Bassewitz, 2002-11-17, 2009-02-22
;
; Handle disk command channels
;
.export closecmdchannel
.export readdiskerror
.export writediskcmd
+ .export writefndiskcmd
.import SETLFS, SETNAM, OPEN, CLOSE, BSOUT, BASIN
.import CHKIN, CKOUT, CLRCH
+ .import fncmd, fnlen, fnunit
.importzp tmp1, ptr1
.include "cbm.inc"
pla
rts
+;--------------------------------------------------------------------------
+; writefndiskcmd: Write the contents of fncmd to the command channel of the
+; drive in fnunit. Returns an error code in A, flags are set according to
+; the contents of A.
+
+writefndiskcmd:
+ lda #<fncmd
+ sta ptr1
+ lda #>fncmd
+ sta ptr1+1
+
+ ldx fnlen
+ inx ; Account for command char in fncmd
+ txa ; Length of name into A
+ ldx fnunit ; Unit
+
+; Run directly into writediskcmd
+
+; jmp writediskcmd
+
;--------------------------------------------------------------------------
; writediskcmd: Gets pointer to data in ptr1, length in A. Writes all data
; to the command channel of the given drive. Returns an error code in A,
rts
-
;--------------------------------------------------------------------------
; Data
;
-; Ullrich von Bassewitz, 16.11.2002
+; Ullrich von Bassewitz, 2002-11-16, 2009-02-22
;
; Scratch a file on disk
;
.export scratch
- .import opencmdchannel, closecmdchannel, writediskcmd
- .import fnunit, fnlen, fncmd
- .importzp ptr1
+ .import opencmdchannel, closecmdchannel, writefndiskcmd
+ .import fnunit, fncmd
.include "cbm.inc"
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
+ jsr writefndiskcmd
pha
ldx fnunit