]> git.sur5r.net Git - cc65/commitdiff
added more error codes
authorcpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 7 Feb 2001 23:27:54 +0000 (23:27 +0000)
committercpg <cpg@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 7 Feb 2001 23:27:54 +0000 (23:27 +0000)
(from http://www.atari-central.com/programming/cio_errors.txt)

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

libsrc/atari/atari.inc
libsrc/atari/oserror.s

index 68c174250576e8f4e7441272074ddedc81f05900..b260fc0efedad4e80da0f0a7c82f6d7f1e46cd05 100644 (file)
@@ -118,6 +118,29 @@ BADMOD     = 145           ;($91) bad screen mode number error
 FNCNOT = 146           ;($92) function not implemented in handler
 SCRMEM = 147           ;($93) insufficient memory for screen mode
 
+DSKFMT = 148           ;($94) SpartaDOS: urecognized disk format
+INCVER = 149           ;($95) SpartaDOS: disk was made with incompat. version
+DIRNFD = 150           ;($96) SpartaDOS: directory not found
+FEXIST = 151           ;($97) SpartaDOS: file exists
+NOTBIN = 152           ;($98) SpartaDOS: file not binary
+LSYMND = 154           ;($9A) SDX: loader symbol not defined
+BADPRM = 156           ;($9C) SDX: bad parameter
+OUTOFM = 158           ;($9E) SDX: out of memory
+INVDEV = 160           ;($A0) invalid device number
+TMOF   = 161           ;($A1) too many open files
+DSKFLL = 162           ;($A2) disk full
+FATLIO = 163           ;($A3) fatal I/O error
+FNMSMT = 164           ;($A4) internal file number mismatch
+INVFNM = 165           ;($A5) invalid file name
+PDLERR = 166           ;($A6) point data length error
+EPERM  = 167           ;($A7) permission denied
+DINVCM = 168           ;($A8) command invalid for disk
+DIRFLL = 169           ;($A9) directory full
+FNTFND = 170           ;($AA) file not found
+PNTINV = 171           ;($AB) point invalid
+BADDSK = 173           ;($AD) bad disk
+INCFMT = 176           ;($B0) DOS 3: incompatible file system
+
 ; DCB Device Bus Equates
 
 DISKID = $31           ;##rev2## disk bus ID
index dcbe7dbb483f4fb1c5f8da06df6f69bbd6ed8c55..b4d0a48accbf5e1674e67cae701c2519c49f8d5f 100644 (file)
@@ -49,25 +49,30 @@ maptable:
        .byte   EIO     ;TIMOUT = 138           ;($8A) peripheral device timeout error
        .byte   EIO     ;DNACK  = 139           ;($8B) device does not acknowledge command
        .byte   EIO     ;FRMERR = 140           ;($8C) serial bus framing error
-       .byte   EINVAL  ;CRSROR = 141           ;($8D) cursor overrange error
+       .byte   EINVAL  ;CRSROR = 141           ;($8D) cursor out of range error
        .byte   EIO     ;OVRRUN = 142           ;($8E) serial bus data overrun error
        .byte   EIO     ;CHKERR = 143           ;($8F) serial bus checksum error
-       .byte   EIO     ;DERROR = 144           ;($90) device done (operation incomplete)
+       .byte   EIO     ;DERROR = 144           ;($90) general device failure
        .byte   EINVAL  ;BADMOD = 145           ;($91) bad screen mode number error
        .byte   ENOSYS  ;FNCNOT = 146           ;($92) function not implemented in handler
        .byte   ENOMEM  ;SCRMEM = 147           ;($93) insufficient memory for screen mode
 ; codes below taken from "Mein Atari Computer" (german version of "Your Atari Computer")
-       .byte   EUNKNOWN        ; 148 - haven't found documentation
-       .byte   EUNKNOWN        ; 149 - haven't found documentation
+; also SpartaDOS codes from http://www.atari-central.com/programming/cio_errors.txt
+       .byte   EUNKNOWN        ; 148 - [SpartaDOS] unrecognized disk format
+       .byte   EUNKNOWN        ; 149 - [SpartaDOS] disk created by incompatible version of SD
        .byte   EBUSY           ; 150 - serial port already open
+                               ;       [SpartaDOS] directory not found
        .byte   EACCES          ; 151 - concurrent mode I/O not enabled (serial)
+                               ;       [SpartaDOS] file exists
        .byte   EINVAL          ; 152 - invalid buffer address for concurrent mode
+                               ;       [SpartaDOS] not binary format
        .byte   EAGAIN          ; 153 - concurrent mode enabled (and another access tried)
        .byte   EACCES          ; 154 - concurrent mode I/O not active (serial)
+                               ;       [SpartaDOS X] loader symbol not defined
        .byte   EUNKNOWN        ; 155 - haven't found documentation
-       .byte   EUNKNOWN        ; 156 - haven't found documentation
+       .byte   EUNKNOWN        ; 156 - [SpartaDOS X] bad parameter
        .byte   EUNKNOWN        ; 157 - haven't found documentation
-       .byte   EUNKNOWN        ; 158 - haven't found documentation
+       .byte   EUNKNOWN        ; 158 - [SpartaDOS X] out of memory
        .byte   EUNKNOWN        ; 159 - haven't found documentation
        .byte   ENOENT          ; 160 - drive number error (DOS)
        .byte   EMFILE          ; 161 - too many open files
@@ -77,9 +82,14 @@ maptable:
        .byte   ENOENT          ; 165 - invalid file name (e.g. lowercase)
        .byte   ESPIPE          ; 166 - point data length error
        .byte   EACCES          ; 167 - file locked (read-only)
-       .byte   ENOSYS          ; 168 - command invalid
+       .byte   ENOSYS          ; 168 - command invalid for disk
        .byte   ENOSPC          ; 169 - directory full
        .byte   ENOENT          ; 170 - file not found
        .byte   ESPIPE          ; 171 - point command invalid
+       .byte   EUNKNOWN        ; 172 - haven't found documentation
+       .byte   EUNKNOWN        ; 173 - bad disk - format couldn't complete
+       .byte   EUNKNOWN        ; 174 - haven't found documentation
+       .byte   EUNKNOWN        ; 175 - haven't found documentation
+       .byte   EUNKNOWN        ; 176 - [DOS 3] incompatible file system
 
 MAX_OSERR_VAL = (* - maptable)