X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Ftgi%2Ftgi_geterror.s;h=c2426158bf514f312254b800811273f93decd156;hb=501cc4c6c866ae86475103643c63d3fa984f82ae;hp=b5595709494ee8786bb224923f48003d15f8be86;hpb=e50b24d46a48e6ae0eb33ea7609fbb8c0b64f812;p=cc65 diff --git a/libsrc/tgi/tgi_geterror.s b/libsrc/tgi/tgi_geterror.s index b55957094..c2426158b 100644 --- a/libsrc/tgi/tgi_geterror.s +++ b/libsrc/tgi/tgi_geterror.s @@ -2,12 +2,24 @@ ; Ullrich von Bassewitz, 21.06.2002 ; ; unsigned char __fastcall__ tgi_geterror (void); -; /* Return the error code for the last operation. */ +; /* Return the error code for the last operation. This will also clear the +; * error. +; */ .include "tgi-kernel.inc" +.proc _tgi_geterror -_tgi_geterror: - lda _tgi_error - rts + lda _tgi_drv ; Check if we have a driver + ora _tgi_drv+1 + beq @L1 + jsr tgi_geterror ; First call driver +@L1: ldx #$00 ; Clear high byte + ldy _tgi_error ; Test high level error code + beq @L2 ; Branch if no high level error code + tya ; Use high level code if we have one + stx _tgi_error ; Clear high level error code +@L2: rts + +.endproc