Merge pull request #14 from groessler/something_to_pull

Use symbolic names for all CIO commands.
This commit is contained in:
Oliver Schmidt 2013-06-10 04:38:10 -07:00
commit 934a78731f
5 changed files with 39 additions and 34 deletions

View file

@ -44,9 +44,34 @@ CLOSE = $0C ;close
STATIS = $0D ;status STATIS = $0D ;status
SPECIL = $0E ;special SPECIL = $0E ;special
; Special Entry Command Equates ; DOS IOCB command codes
; Screen Commands RENAME = $20 ;rename disk file
DELETE = $21 ;delete disk file
LOCKFL = $23 ;lock file (set to read-only)
UNLOCK = $24 ;unlock file
POINT = $25 ;point sector
NOTE = $26 ;note sector
GETFL = $27 ;get file length
CHDIR_MYDOS = $29 ;change directory (MyDOS)
MKDIR = $2A ;make directory (MyDOS/SpartaDOS)
CHDIR_SPDOS = $2C ;change directory (SpartaDOS)
FORMAT = $FE ;format
GETCWD = $30 ;get current directory (MyDOS/SpartaDOS)
; Special Entry Command Equates
; DOS Commands
; Command line table, Index values for (DOSVEC),Y -- COMTAB
; Compatible with OS/A+, DOS XL and SpartaDOS
COMTAB = 0 ;DOS entry jump vector
ZCRNAME = 3 ;file name crunch routine jump vector
BUFOFF = 10 ;next parameter buffer offset
COMFNAM = 33 ;destination buffer for crunch routine
LBUF = 63 ;command line input buffer
; Screen IOCB Commands
DRAWLN = $11 ;draw line DRAWLN = $11 ;draw line
FILLIN = $12 ;draw line with right fill FILLIN = $12 ;draw line with right fill
@ -710,6 +735,9 @@ FPSCR1 = $05EC ;6-byte floating point temporary
;LBFEND = $05FF ;##old## END OF LBUFF ;LBFEND = $05FF ;##old## END OF LBUFF
DOS = $0700
;------------------------------------------------------------------------- ;-------------------------------------------------------------------------
; Cartridge Address Equates ; Cartridge Address Equates
;------------------------------------------------------------------------- ;-------------------------------------------------------------------------
@ -1022,29 +1050,6 @@ STOPLN = $BA ;2-byte stopped line number
ERRSAVE = $C3 ;1-byte error code ERRSAVE = $C3 ;1-byte error code
PTABW = $C9 ;1-byte tab width PTABW = $C9 ;1-byte tab width
;-------------------------------------------------------------------------
; DOS
;-------------------------------------------------------------------------
DOS = $0700
RENAME = $20 ;RENAME DISK FILE
DELETE = $21 ;DELETE DISK FILE
LOCKFL = $23 ;LOCK FILE TO READ ONLY
UNLOCK = $24 ;UNLOCK LOCKED FILE
POINT = $25 ;POINT SECTOR
NOTE = $26 ;NOTE SECTOR
FORMAT = $FE ;FORMAT
; Command line table, Index values for (DOSVEC),Y -- COMTAB
; Compatible with OS/A+, DOS XL and SpartaDOS
COMTAB = 0 ;DOS entry jump vector
ZCRNAME = 3 ;file name crunch routine jump vector
BUFOFF = 10 ;next parameter buffer offset
COMFNAM = 33 ;destination buffer for crunch routine
LBUF = 63 ;command line input buffer
;------------------------------------------------------------------------- ;-------------------------------------------------------------------------
; ATASCII CHARACTER DEFS ; ATASCII CHARACTER DEFS
;------------------------------------------------------------------------- ;-------------------------------------------------------------------------

View file

@ -11,7 +11,7 @@
jsr findfreeiocb jsr findfreeiocb
bne oserr bne oserr
lda #48 lda #GETCWD
sta ICCOM,x sta ICCOM,x
lda #<__cwd lda #<__cwd
sta ICBLL,x sta ICBLL,x

View file

@ -68,7 +68,7 @@ iocberr:jsr incsp6
; SEEK_CUR ; SEEK_CUR
cur: ldx tmp3 cur: ldx tmp3
lda #38 ; NOTE lda #NOTE
sta ICCOM,x sta ICCOM,x
jsr CIOV ; read it jsr CIOV ; read it
bmi xxerr bmi xxerr
@ -84,7 +84,7 @@ l01: lda ICAX3,x ; low byte of position
; SEEK_END ; SEEK_END
end: ldx tmp3 end: ldx tmp3
lda #39 ; get file size lda #GETFL
sta ICCOM,x sta ICCOM,x
jsr CIOV jsr CIOV
bpl l01 bpl l01
@ -126,7 +126,7 @@ ret: jsr incsp6
.if 0 .if 0
; return exactly the position DOS has ; return exactly the position DOS has
ldx tmp3 ldx tmp3
lda #38 ; NOTE lda #NOTE
sta ICCOM,x sta ICCOM,x
jsr CIOV ; read it jsr CIOV ; read it
bmi xxerr bmi xxerr
@ -168,7 +168,7 @@ seek: jsr ldax0sp ; get lower word of new offset
sta ICAX4,x sta ICAX4,x
lda ptr4 lda ptr4
sta ICAX5,x sta ICAX5,x
lda #37 ;POINT lda #POINT
sta ICCOM,x sta ICCOM,x
jsr CIOV jsr CIOV
bpl ret bpl ret
@ -201,7 +201,7 @@ chk_supp:
cmp #$40 cmp #$40
bcs supp1 ; SD-X (ver 4.xx) supports seeking on all disks bcs supp1 ; SD-X (ver 4.xx) supports seeking on all disks
ldx tmp3 ; iocb to use ldx tmp3 ; iocb to use
lda #39 ; get file size lda #GETFL
sta ICCOM,x sta ICCOM,x
jsr CIOV jsr CIOV
bmi notsupp ; error code ? should be 168 (invalid command) bmi notsupp ; error code ? should be 168 (invalid command)

View file

@ -58,9 +58,9 @@ ucok1:
lda __dos_type lda __dos_type
cmp #SPARTADOS cmp #SPARTADOS
beq :+ beq :+
lda #41 lda #CHDIR_MYDOS
.byte $2C ; BIT <abs> .byte $2C ; BIT <abs>
: lda #44 : lda #CHDIR_SPDOS
sta ICCOM,x sta ICCOM,x
lda #0 lda #0
sta ICAX1,x sta ICAX1,x

View file

@ -61,7 +61,7 @@ ucok1:
sta ICBAH,y sta ICBAH,y
tya tya
tax tax
lda #42 lda #MKDIR
sta ICCOM,x sta ICCOM,x
lda #8 lda #8
sta ICAX1,x sta ICAX1,x