]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/graphics.s
Added "popptr1" which is of common use to save some bytes.
[cc65] / libsrc / atari / graphics.s
index 60f2ff7898196beb53b3260b00aed3bbabc9b743..ab26ed0da90bb4f36dcbaee73fb6a00fe34e372e 100644 (file)
         .export __graphics
 
         .import findfreeiocb
-        .import __do_oserror,__oserror
+        .import __oserror
         .import fddecusage
         .import clriocb
         .import fdtoiocb
         .import newfd
+        .import scrdev
         .importzp tmp1,tmp2,tmp3
 
         .include        "atari.inc"
@@ -96,12 +97,12 @@ doopen: txa
         stx     __oserror
         rts
 
-cioerr: jsr     fddecusage      ; decrement usage counter of fd as open failed
-        jmp     __do_oserror
+cioerr: sty     tmp3            ; remember error code
+        lda     #CLOSE
+        sta     ICCOM,x
+        jsr     CIOV            ; close IOCB again since open failed
+        jsr     fddecusage      ; and decrement usage counter of fd
+        lda     tmp3            ; put error code into A
+        jmp     __mappederrno
 
 .endproc        ; __graphics
-
-
-        .rodata
-
-scrdev: .byte   "S:", 0