118 lines
4.4 KiB
PHP
118 lines
4.4 KiB
PHP
; =============================================================================
|
|
; 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
|
|
; --------------------------------------------------
|