]> git.sur5r.net Git - cc65/commitdiff
Moved some code from scratch.s into a new subroutine named writefndiskcmd in
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 22 Feb 2009 14:02:52 +0000 (14:02 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 22 Feb 2009 14:02:52 +0000 (14:02 +0000)
the diskcmd.s module.

git-svn-id: svn://svn.cc65.org/cc65/trunk@3939 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/cbm/diskcmd.s
libsrc/cbm/scratch.s

index c6f04e9fe9acde1861368943e1cc9522a8fd2894..16914d837f578219c2f0ba62a9890ee9e98479f3 100644 (file)
@@ -1,5 +1,5 @@
 ;
-; Ullrich von Bassewitz, 17.11.2002
+; Ullrich von Bassewitz, 2002-11-17, 2009-02-22
 ;
 ; Handle disk command channels
 ;
@@ -9,9 +9,11 @@
         .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"
@@ -164,6 +166,26 @@ readdiskerror:
         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,
@@ -205,7 +227,6 @@ writediskcmd:
         rts
 
 
-
 ;--------------------------------------------------------------------------
 ; Data
 
index 6fd617308efaa0986bab789531fa094766e04b71..e1665e5a67899f3f2ffe314b5c1678cfb73269e3 100644 (file)
@@ -1,13 +1,12 @@
 ;
-; 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