X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Ftgi%2Ftgi_geterror.s;h=c2426158bf514f312254b800811273f93decd156;hb=501cc4c6c866ae86475103643c63d3fa984f82ae;hp=4b74f561ab84fed1b0cf9b7543cc09c469850479;hpb=f82ac8a91cdb71a17fd830745eb0ce2669afa6c8;p=cc65 diff --git a/libsrc/tgi/tgi_geterror.s b/libsrc/tgi/tgi_geterror.s index 4b74f561a..c2426158b 100644 --- a/libsrc/tgi/tgi_geterror.s +++ b/libsrc/tgi/tgi_geterror.s @@ -2,16 +2,24 @@ ; Ullrich von Bassewitz, 21.06.2002 ; ; unsigned char __fastcall__ tgi_geterror (void); -; /* Return the error code for the last operation. This will also clear the -; * error. +; /* Return the error code for the last operation. This will also clear the +; * error. ; */ .include "tgi-kernel.inc" +.proc _tgi_geterror -_tgi_geterror: - ldx #0 - lda _tgi_error - stx _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