]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/oserror.s
remove unused import sreg
[cc65] / libsrc / atari / oserror.s
index b4d0a48accbf5e1674e67cae701c2519c49f8d5f..a4ba07c0f0f50baacd5ef8cae0e975e122fc1290 100644 (file)
 ; int __fastcall__ _osmaperrno (unsigned char oserror);
 ;
 
-       .include "../common/errno.inc"
-       .export __osmaperrno
+        .include "errno.inc"
+        .export __osmaperrno
 
-.proc  __osmaperrno
+.proc   __osmaperrno
 
-       cmp     #$80            ; error or success
-       bcs     errcode         ; error, jump
+        cmp     #$80            ; error or success
+        bcs     errcode         ; error, jump
 
-       lda     #0              ; no error, return 0
-       tax
-       rts
+        lda     #0              ; no error, return 0
+        tax
+        rts
 
-errcode:and    #$7f            ; create index from error number
-       tax
-       cpx     #MAX_OSERR_VAL  ; valid number?
-       bcs     inverr          ; no
+errcode:and     #$7f            ; create index from error number
+        tax
+        cpx     #MAX_OSERR_VAL  ; valid number?
+        bcs     inverr          ; no
 
-       lda     maptable,x
-       ldx     #0
-       rts
+        lda     maptable,x
+        ldx     #0
+        rts
 
-inverr:        lda     #<EUNKNOWN
-       ldx     #>EUNKNOWN
-       rts
+inverr: lda     #<EUNKNOWN
+        ldx     #>EUNKNOWN
+        rts
 
 .endproc
 
 .rodata
-       
+
 maptable:
-       .byte   EINTR   ;BRKABT = 128           ;($80) BREAK key abort
-       .byte   EBUSY   ;PRVOPN = 129           ;($81) IOCB already open error
-       .byte   ENODEV  ;NONDEV = 130           ;($82) nonexistent device error
-       .byte   EACCES  ;WRONLY = 131           ;($83) IOCB opened for write only error
-       .byte   ENOSYS  ;NVALID = 132           ;($84) invalid command error
-       .byte   EINVAL  ;NOTOPN = 133           ;($85) device/file not open error
-       .byte   EINVAL  ;BADIOC = 134           ;($86) invalid IOCB index error
-       .byte   EACCES  ;RDONLY = 135           ;($87) IOCB opened for read only error
-       .byte   EINVAL  ;EOFERR = 136           ;($88) end of file error (should never come,
-                                               ;      specially handled by read.s)
-       .byte   EIO     ;TRNRCD = 137           ;($89) truncated record error
-       .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 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) 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
+        .byte   EINTR   ;BRKABT = 128           ;($80) BREAK key abort
+        .byte   EBUSY   ;PRVOPN = 129           ;($81) IOCB already open error
+        .byte   ENODEV  ;NONDEV = 130           ;($82) nonexistent device error
+        .byte   EACCES  ;WRONLY = 131           ;($83) IOCB opened for write only error
+        .byte   ENOSYS  ;NVALID = 132           ;($84) invalid command error
+        .byte   EINVAL  ;NOTOPN = 133           ;($85) device/file not open error
+        .byte   EINVAL  ;BADIOC = 134           ;($86) invalid IOCB index error
+        .byte   EACCES  ;RDONLY = 135           ;($87) IOCB opened for read only error
+        .byte   EINVAL  ;EOFERR = 136           ;($88) end of file error (should never come,
+                                                ;      specially handled by read.s)
+        .byte   EIO     ;TRNRCD = 137           ;($89) truncated record error
+        .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 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) 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")
 ; 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 - [SpartaDOS X] bad parameter
-       .byte   EUNKNOWN        ; 157 - 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
-       .byte   ENOSPC          ; 162 - disk full
-       .byte   EIO             ; 163 - unrecoverable system data I/O error
-       .byte   ESPIPE          ; 164 - file number mismatch (inv. seek or disk data strucs damaged)
-       .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 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
+; MyDOS and XDOS codes from Stefan Haubenthal
+        .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 - [SpartaDOS X] bad parameter
+        .byte   EUNKNOWN        ; 157 - 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
+        .byte   ENOSPC          ; 162 - disk full
+        .byte   EIO             ; 163 - unrecoverable system data I/O error
+        .byte   ESPIPE          ; 164 - file number mismatch (inv. seek or disk data strucs damaged)
+        .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 for disk
+        .byte   ENOSPC          ; 169 - directory full
+        .byte   ENOENT          ; 170 - file not found
+        .byte   ESPIPE          ; 171 - point command invalid
+        .byte   EEXIST          ; 172 - [MYDOS] already exists in parent directory
+        .byte   EUNKNOWN        ; 173 - bad disk - format couldn't complete
+        .byte   EUNKNOWN        ; 174 - [MYDOS] directory not in parent directory
+        .byte   EUNKNOWN        ; 175 - [MYDOS] directory not empty
+        .byte   EUNKNOWN        ; 176 - [DOS 3] incompatible file system
+        .byte   EUNKNOWN        ; 177 - haven't found documentation
+        .byte   EUNKNOWN        ; 178 - haven't found documentation
+        .byte   EUNKNOWN        ; 179 - haven't found documentation
+        .byte   EUNKNOWN        ; 180 - not a binary file
+        .byte   EUNKNOWN        ; 181 - [MYDOS] invalid address range
+        .byte   EUNKNOWN        ; 182 - [XDOS] invalid parameter
+
+        .byte   EINVAL          ; 183 - dummy (used by cc65 rtl, see sysremove.s)
 
 MAX_OSERR_VAL = (* - maptable)