Moved some code from scratch.s into a new subroutine named writefndiskcmd in
the diskcmd.s module. git-svn-id: svn://svn.cc65.org/cc65/trunk@3939 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
770d230178
commit
30237d3c36
2 changed files with 27 additions and 17 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
@ -25,17 +24,7 @@
|
|||
|
||||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue