; ============================================================================= ; Source codes for Microsoft Basic-80 v5.21 for CP/M ; ; Error messages and their codes ; ; Disassembled by Romych and Ghidra @2026.08.27 ; ============================================================================= ; --------------------------------------------------- ; Messages ; --------------------------------------------------- MB_ERROR_MSGS: DB "NEXT without FOR", 0 DB "Syntax error", 0 DB "RETURN without GOSUB", 0 DB "Out of DATA", 0 DB "Illegal function call", 0 ; --------------------------------------------------- MB_OVRMSG: DB "Overflow", 0 DB "Out of memory", 0 DB "Undefined line number", 0 DB "Subscript out of range", 0 DB "Duplicate Definition", 0 ; --------------------------------------------------- MB_DBZ_MSG: DB "Division by zero", 0 DB "Illegal direct", 0 DB "Type mismatch", 0 DB "Out of string space", 0 DB "String too long", 0 DB "String formula too complex", 0 DB "Can't continue", 0 DB "Undefined user function", 0 DB "No RESUME\0RESUME without error", 0 DB "Unprintable error", 0 DB "Missing operand", 0 DB "Line buffer overflow", 0 DB '?', 0 DB '?', 0 DB "FOR Without NEXT", 0 DB '?', 0 DB '?', 0 DB "WHILE without WEND", 0 DB "WEND without WHILE", 0 DB "FIELD overflow", 0 DB "Internal error", 0 DB "Bad file number", 0 DB "File not found", 0 DB "Bad file mode", 0 DB "File already open", 0 DB '?', 0 DB "Disk I/O error", 0 DB "File already exists", 0 DB '?', 0 DB '?', 0 DB "Disk full", 0 DB "Input past end", 0 DB "Bad record number", 0 DB "Bad file name", 0 DB '?', 0 DB "Direct statement in file", 0 DB "Too many files", 0 ; -------------------------------------------------- ; Error codes ; -------------------------------------------------- ERRNF EQU 0x01 ERRSN EQU 0x02 ; 2 ERRRG EQU 0x03 ; 3 ERROD EQU 0x04 ; 4 ERRFC EQU 0x05 ; 5 ERROV EQU 0x06 ; 6 ERROM EQU 0x07 ERRULN EQU 0x08 ; 8 ERRBS EQU 0x09 ; 9 ERRDD EQU 0x0a ; 10 ERRDV0 EQU 0x0b ; 11 ERRID EQU 0x0c ; 12 ERRTM EQU 0x0d ; 13 ERRSO EQU 0x0e ; Out of space ERRLS EQU 0x0f ; 15 ERRST EQU 0x10 ; String formula too complex ERRCN EQU 0x11 ; 17 ERRUF EQU 0x12 ; Undefined user function ERRNR EQU 0x13 ; 19 ERRRE EQU 0x14 ; 20 ERRUE EQU 0x15 ; Unprintable error ERRMO EQU 0x16 ; Missing operand ERRLBO EQU 0x17 ; 23 ; skipped 18 and 19 ERRFN EQU 0x1a ; 26 ; skipped 1b and 1c ERRWH EQU 0x1d ; 29 ERRWE EQU 0x1e ; 30 NONDSK EQU 0x1e ; Last non disk error ; disk errors starts from here DSKERR EQU 0x31 ; 49 ; ERRFOV EQU 0x32 ; 50 ERRIER EQU 0x33 ; 51 ERRBFN EQU 0x34 ; 52 ERRFNF EQU 0x35 ; 53 ERRBFM EQU 0x36 ; 54 ERRFAO EQU 0x37 ; 55 ERRIOE EQU 0x39 ; 57 ERRFAE EQU 0x3a ; 58 ERRDFL EQU 0x3d ; 61 ERRRPE EQU 0x3e ; 62 ERRFDR EQU 0x42 ; 66 ERRTMF EQU 0x43 ; 67 ; --------------------------------------------------