From 9a0f2ddf13297dbe9fc69409ca0661b41990351d Mon Sep 17 00:00:00 2001 From: Roman Boykov Date: Tue, 15 Sep 2026 22:12:53 +0300 Subject: [PATCH] MSX Basic now compile byte-to-byte --- MSX_v2/disptab.inc | 12 ++++++------ MSX_v2/errors.inc | 8 +++++--- MSX_v2/mb.asm | 11 ++++------- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/MSX_v2/disptab.inc b/MSX_v2/disptab.inc index 5ca7773..e53c345 100644 --- a/MSX_v2/disptab.inc +++ b/MSX_v2/disptab.inc @@ -211,7 +211,7 @@ BTAB: DB "SAV", 'E' + 0x80, _BSAVE DB "LOA", 'D' + 0x80, _BLOAD DB "EE", 'P' + 0x80, _BEEP - DB "IN", '$' + 0x80, _BIN_ + DB "IN", '$' + 0x80, _BIN_ - 0x80 DB 0 ; --------------------------------------------------- CTAB: @@ -248,7 +248,7 @@ DTAB: DB "SKO", '$' + 0x80, _DSKO_ DB "E", 'F' + 0x80, _DEF DB "SKI", '$' + 0x80, _DSKI_ - DB "SK", 'F' + 0x80, _DSKF_ + DB "SK", 'F' + 0x80, _DSKF_ - 0x80 DB "RA", 'W' + 0x80, _DRAW DB 0 ; --------------------------------------------------- @@ -318,7 +318,7 @@ LTAB: DB "O", 'G' + 0x80, _LOG - 0x80 DB "O", 'C' + 0x80, _LOC - 0x80 DB "E", 'N' + 0x80, _LEN - 0x80 - DB "EFT", '$' + 0x80, _LEFT_ + DB "EFT", '$' + 0x80, _LEFT_ - 0x80 DB "O", 'F' + 0x80, _LOF - 0x80 DB 0 ; --------------------------------------------------- @@ -387,7 +387,7 @@ STAB: DB "WA", 'P' + 0x80, _SWAP DB "E", 'T' + 0x80, _SET DB "AV", 'E' + 0x80, _SAVE - DB "PC", 'B' + 0x80, _SPC + DB "PC", '(' + 0x80, _SPC DB "TE", 'P' + 0x80, _STEP DB "G", 'N' + 0x80, _SGN - 0x80 DB "Q", 'R' + 0x80, _SQR - 0x80 @@ -397,14 +397,14 @@ STAB: DB "PACE", '$' + 0x80, _SPACE_ - 0x80 DB "OUN", 'D' + 0x80, _SOUND DB "TIC", 'K' + 0x80, _STICK - 0x80 - DB "TRI", 'G' + 0x80, _STRIG + DB "TRI", 'G' + 0x80, _STRIG - 0x80 DB 0 ; --------------------------------------------------- TTAB: DB "HE", 'N' + 0x80, _THEN DB "RO", 'N' + 0x80, _TRON DB "ROF", 'F' + 0x80, _TROFF - DB "AB", 'B' + 0x80, _TAB + DB "AB", '(' + 0x80, _TAB DB 'O' + 0x80, _TO DB "IM", 'E' + 0x80, _TIME DB "A", 'N' + 0x80, _TAN - 0x80 diff --git a/MSX_v2/errors.inc b/MSX_v2/errors.inc index 9260441..bcecbe7 100644 --- a/MSX_v2/errors.inc +++ b/MSX_v2/errors.inc @@ -78,9 +78,10 @@ ERRUE EQU 0x17 ; 23 Unprintable error ERRMO EQU 0x18 ; 24 Missing operand ERRLBO EQU 0x19 ; 25 Line buff over -NONDSK EQU 0x1C +NONDSK EQU ERRLBO + 1 ; DSKERR - disk BASIC errors ERRFO EQU 0x32 ; 26 Field overflow ERRIE EQU 0x33 ; 27 Internal error @@ -93,6 +94,7 @@ ERRDSF EQU 0x39 ; 33 Direct stmt in file ERRSIO EQU 0x3A ; 34 Sequential I/O only ERRFNO EQU 0x3B ; 35 File not open -LSTERR EQU 0x3C +; -------------------------------------------------- +LSTERR EQU ERRFNO + 1 KBFLEN EQU 0x13E ; 318 \ No newline at end of file diff --git a/MSX_v2/mb.asm b/MSX_v2/mb.asm index 0869584..6e78eac 100644 --- a/MSX_v2/mb.asm +++ b/MSX_v2/mb.asm @@ -252,7 +252,7 @@ MB_NOTRAP: JR NC, MB_UPERR CP DSKERR + 1 ; errorcode 50-59 ? JR NC, MB_NTDER2 - CP NONDSK - 1 ; errorcode 1-25 ? + CP NONDSK ; errorcode 1-25 ? JR C, MB_NTERR ; --------------------------------------------------- @@ -310,12 +310,7 @@ MB_READY: ; -------------------------------------------------- ; CP/M ini was here ; -------------------------------------------------- - NOP - NOP - NOP - NOP - NOP - NOP + .6 NOP ; -------------------------------------------------- ; Main LOOP @@ -433,10 +428,12 @@ MB_FAEL: PUSH BC JR MB_FINI +; -------------------------------------------------- MB_NFNEL: OR A ; line addition flag JR LAB_ram_41f4 +; -------------------------------------------------- MB_FONLN: POP AF PUSH AF