retro1/software/retro1-tests/OSI/errormessage.patch

70 lines
2.0 KiB
Diff

diff --git a/asm/OSI/msbasic/error.s b/asm/OSI/msbasic/error.s
index aa184e2..1f21a53 100644
--- a/asm/OSI/msbasic/error.s
+++ b/asm/OSI/msbasic/error.s
@@ -1,23 +1,23 @@
init_error_table
.ifdef CONFIG_SMALL
-define_error ERR_NOFOR, "NF"
-define_error ERR_SYNTAX, "SN"
-define_error ERR_NOGOSUB, "RG"
-define_error ERR_NODATA, "OD"
-define_error ERR_ILLQTY, "FC"
-define_error ERR_OVERFLOW, "OV"
-define_error ERR_MEMFULL, "OM"
-define_error ERR_UNDEFSTAT, "US"
-define_error ERR_BADSUBS, "BS"
-define_error ERR_REDIMD, "DD"
-define_error ERR_ZERODIV, "/0"
-define_error ERR_ILLDIR, "ID"
-define_error ERR_BADTYPE, "TM"
-define_error ERR_STRLONG, "LS"
-define_error ERR_FRMCPX, "ST"
-define_error ERR_CANTCONT, "CN"
-define_error ERR_UNDEFFN, "UF"
+define_err ERR_NOFOR, "NF"
+define_err ERR_SYNTAX, "SN"
+define_err ERR_NOGOSUB, "RG"
+define_err ERR_NODATA, "OD"
+define_err ERR_ILLQTY, "FC"
+define_err ERR_OVERFLOW, "OV"
+define_err ERR_MEMFULL, "OM"
+define_err ERR_UNDEFSTAT, "US"
+define_err ERR_BADSUBS, "BS"
+define_err ERR_REDIMD, "DD"
+define_err ERR_ZERODIV, "/0"
+define_err ERR_ILLDIR, "ID"
+define_err ERR_BADTYPE, "TM"
+define_err ERR_STRLONG, "LS"
+define_err ERR_FRMCPX, "ST"
+define_err ERR_CANTCONT, "CN"
+define_err ERR_UNDEFFN, "UF"
.else
define_error ERR_NOFOR, "NEXT WITHOUT FOR"
define_error ERR_SYNTAX, "SYNTAX"
@@ -46,4 +46,4 @@ define_error ERR_BADDATA, "FILE DATA"
define_error ERR_FRMCPX, "FORMULA TOO COMPLEX"
define_error ERR_CANTCONT, "CAN'T CONTINUE"
define_error ERR_UNDEFFN, "UNDEF'D FUNCTION"
-.endif
\ No newline at end of file
+.endif
diff --git a/asm/OSI/msbasic/macros.s b/asm/OSI/msbasic/macros.s
index 33f1ca0..ab5d6a2 100644
--- a/asm/OSI/msbasic/macros.s
+++ b/asm/OSI/msbasic/macros.s
@@ -68,6 +68,12 @@ ERROR_MESSAGES:
htasc msg
.endmacro
+.macro define_err error, msg
+ .segment "ERROR"
+ error := <(*-ERROR_MESSAGES)
+ .byte msg
+.endmacro
+
;---------------------------------------------
; set the MSB of every byte of a string
.macro asc80 str