; ; Ullrich von Bassewitz, 17.05.2000 ; ; char* __fastcall__ strerror (int errcode); ; /* Map an error number to an error message */ ; .export _strerror .import __sys_errlist .include "errno.inc" _strerror: cpx #$00 ; High byte must be zero bne @L1 ; Jump if invalid error cmp #EMAX ; Valid error code (map EUNKNOWN to 0)? bcc @L2 ; Jump if ok @L1: lda #$00 ; "Unknown error" @L2: asl a ; * 2 tay ; Load the pointer to the error message and return lda __sys_errlist+1,y tax lda __sys_errlist,y rts