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 00000000..340965a9 Binary files /dev/null and b/source/kernel/drivers/OCM/driver.dat differ