]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/rs232.s
no TGI_ERR_NO_MEM or TGI_ERR_NO_IOCB anymore: replaced by TGI_ERR_NO_RES
[cc65] / libsrc / atari / rs232.s
index 67fa58a8487f48abb904ba36db404eeb3a4a447e..843827fb6f54dc856df9164d84ee17d8a20e0bb8 100644 (file)
@@ -15,7 +15,7 @@
 ;
 
        .import         findfreeiocb
-       .import         __seterrno, __do_oserror, __oserror
+       .import         __do_oserror
        .import         fddecusage
        .import         fdtoiocb
        .import         __inviocb
@@ -28,8 +28,8 @@
        .export         _rs232_put, _rs232_pause, _rs232_unpause, _rs232_status
 
        .include        "atari.inc"
-       .include        "../common/errno.inc"
-        .include        "../common/rs232.inc"
+       .include        "errno.inc"
+        .include        "rs232.inc"
 
        .rodata
 
@@ -60,16 +60,8 @@ rshand:      .word   $ffff
 .proc  _rs232_init
 
        jsr     findfreeiocb
-       beq     iocbok          ; we found one
-
-       lda     #<EMFILE        ; "too many open files"
-       ldx     #>EMFILE
-seterr:        jsr     __seterrno
-       lda     #$FF
-       tax
-       rts                     ; return -1
-
-iocbok:        txa
+       bne     init_err
+       txa
        tay                     ; move iocb # into Y
        lda     #3
        sta     tmp3            ; name length + 1
@@ -102,18 +94,21 @@ doopen:    tax
        sta     ICBLL,x         ; zap buf len
        sta     ICBLH,x
        jsr     CIOV
-       bmi     cioerr
+       bmi     cioerr1
 
        lda     tmp2            ; get fd
        sta     rshand
        ldx     #0
        stx     rshand+1
        txa
-       stx     __oserror
        rts
 
-cioerr:        jsr     fddecusage      ; decrement usage counter of fd as open failed
-       jmp     __do_oserror
+cioerr1:jsr    fddecusage      ; decrement usage counter of fd as open failed
+
+init_err:
+       ldx     #0
+       lda     #RS_ERR_INIT_FAILED
+       rts
 
 .endproc       ; _rs232_init