From a297ad8c6f9fd5edc06404e172ade33bd1e1cbab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A9stor=20Soriano?= Date: Thu, 19 Aug 2021 16:42:18 +0200 Subject: [PATCH] v2.1.1 beta 1 (#92) * Fix: DE registers corrupted by extended BIOS handling code (#88) * Fix: GPART not returning correct IX and IY in NEXTOR.SYS (#89) * Add the OCM kernel ROM to the build process. (#91) * Update kernel version number to 2.1.1 beta 1 and NEXTOR.SYS version to 2.1.2 (#90) --- source/command/msxdos/sys.mac | 6 +++++- source/command/msxdos/ver.mac | 4 ++-- source/kernel/Makefile | 16 ++++++++++++++-- source/kernel/bank1/mapinit.mac | 6 ++++++ source/kernel/condasm.inc | 4 ++-- source/kernel/drivers/OCM/driver.dat | Bin 0 -> 12288 bytes 6 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 source/kernel/drivers/OCM/driver.dat diff --git a/source/command/msxdos/sys.mac b/source/command/msxdos/sys.mac index 4ef33d4d..eca152bc 100644 --- a/source/command/msxdos/sys.mac +++ b/source/command/msxdos/sys.mac @@ -1017,6 +1017,11 @@ zstr_slow: ;LD E,RELEASE##+(RELEASE##/256)*16 ret +@GPART: + ;Needs CALL (can't use JP) due to how FUNC_WITH_IXIY manages stack + call FUNC_WITH_IXIY + ret + FUNC_WITH_IXIY: EXX pop bc @@ -1263,7 +1268,6 @@ _KBSDE: LD DE,BUFF1 ; DE -> buffer containing FIB or string. @RALLOC: @DSPACE: @LOCK: -@GPART: @Z80MODE: ; diff --git a/source/command/msxdos/ver.mac b/source/command/msxdos/ver.mac index eae52866..d71b1d7f 100644 --- a/source/command/msxdos/ver.mac +++ b/source/command/msxdos/ver.mac @@ -9,8 +9,8 @@ ; ; VERSION EQU 2 -RELEASE EQU 1*256+1 ; Version 2.11. -CRYEAR EQU 2019 +RELEASE EQU 1*256+2 ; Version 2.12. +CRYEAR EQU 2021 ; GLOBAL VERSION, RELEASE, CRYEAR ; diff --git a/source/kernel/Makefile b/source/kernel/Makefile index 692ecf7d..fe733988 100644 --- a/source/kernel/Makefile +++ b/source/kernel/Makefile @@ -4,7 +4,7 @@ # See the "all" main rule for some handy aliases to generate specific ROMs # (e.g. you can run "make base" or "make ide"). -VERSION := 2.1.1-alpha2 +VERSION := 2.1.1-beta1 export X80_COMMAND_LINE=-t -nb export M80_COMMAND_LINE=-8 @@ -31,7 +31,7 @@ endef ### MAIN RULE ### ################### -all: base ide ide-emu ascii8 ascii16 mfrsd flashjacks +all: base ide ide-emu ascii8 ascii16 mfrsd flashjacks ocm TOOLS := M80 L80 LIB80 objcopy sdcc mknexrom dd @@ -216,6 +216,18 @@ drivers/Flashjacks/Nextor-$(VERSION).Flashjacks.ROM: \ $(call copy_to_bin,$@) +### OCM (1-chip MSX, SX|2, and compatibles) + +ocm: drivers/OCM/Nextor-$(VERSION).OCM.ROM + +drivers/OCM/Nextor-$(VERSION).OCM.ROM: \ + nextor_base.dat \ + drivers/StandaloneASCII8/CHGBNK.BIN + + mknexrom nextor_base.dat $@ /d:drivers/OCM/driver.dat /m:drivers/StandaloneASCII8/CHGBNK.BIN + $(call copy_to_bin,$@) + + ### Common rules 256.bytes: diff --git a/source/kernel/bank1/mapinit.mac b/source/kernel/bank1/mapinit.mac index e5280e7c..477d77e1 100644 --- a/source/kernel/bank1/mapinit.mac +++ b/source/kernel/bank1/mapinit.mac @@ -687,6 +687,12 @@ MAPBIO:: ; For other values of D, the EXTBIO hook on the driver bank is called with D'=1. ; This must return D'=1 if old hook must be called, D'=0 otherwise. + push de ;DE must always be preserved + call MAPBDO + pop de + ret + +MAPBDO: exx set 0,d exx diff --git a/source/kernel/condasm.inc b/source/kernel/condasm.inc index 64273e35..df33540e 100644 --- a/source/kernel/condasm.inc +++ b/source/kernel/condasm.inc @@ -8,9 +8,9 @@ HYBRID equ -1 ;DOS1/DOS2 hybrid system STURBO equ -1 ;support super turbo mode (for MSXturboR) BUILTIN equ -1 ;built-in system -ALPHA equ 2 ;Level of Alpha release (0: no alpha) +ALPHA equ 0 ;Level of Alpha release (0: no alpha) ALPHAL equ "" ;Letter after the Alpha release number, or empty -BETA equ 0 ;Level of Beta release (0: no beta) +BETA equ 1 ;Level of Beta release (0: no beta) RC equ 0 ;Level of RC (0: no RC) RR equ 0 ;Level of release (0: no release level) ; diff --git a/source/kernel/drivers/OCM/driver.dat b/source/kernel/drivers/OCM/driver.dat new file mode 100644 index 0000000000000000000000000000000000000000..340965a99c7654bdf74c5ef9df4ae36f600e13f6 GIT binary patch literal 12288 zcmeI2UrbY17{Jdhc(G`qwCY&Zdb``{Wf?{=X&X&1Efj=dDWeQA%Uo~i9k%MNQXSy5 zbAQw=Tg=?#-N(fjX0oMOmNc{tj?bKVi=(>%m_iI3sCpn0{%(%xa`Gqdhhx3 zedqh`Ilu4r>va8@TV^Nt@vp@=@SBk03kpK5CVh%AwUQa z0)zk|KnM^5ga9Ex2oM5<03kpK5CVh%AwUQa0)zk|KnM^5{{;aYWAaT1;UYv+gR?yK zg?!1ck$?6>&ofww+T}Zb`8R)J-lk#JyjNg4A37WUyswi@Xm4VkqVtLnwqlI!9BtF17?Bo>q zJq3PGLwmY3e+!hqrng5IT-W{<~*+;xq^{H=6ufUZYcLwmC-GtBu0dYxx^(%VtMUhvBSLH zD;$ZOIMQh@ZIIpxN@7?t>$%3D)ae#_s>;j;uKD!_Xg6}+u+$5kOOL{QK9S$Ws)F1$8uY=BkH<63wi=isyJoCGyQcTa;_%2mX-( zSnD}H?*}FyI@jR7-jC_RU8q?*FKYu10gb2aCLeQGum&Yl&Q{~9G=7dXhbn=LXIdx76-CG{rKvG z7ha2^*+*43w0~Ritd6lMn};x)P*9*0_NM7 ztjn2)RybiBv@(|BN%-=A~mit#GOz6&{E z4g7*`5Ijy8CJYIKA+sgBDmf644WbrS!!PO(G8kY4Kn>#40xO1e0nbYC6f=h8Nc-#4>z3-N7@mWSrk$U`CJM!d(l4ji*@sFW z!ugNamMKrUxgn&6TW?RQL-?7$LI%2ma9+?9!jU2p3`