diff --git a/.forgejo/workflows/run-test-asserts.yaml b/.forgejo/workflows/run-test-asserts.yaml
index 5b2458e..a3d4fcd 100644
--- a/.forgejo/workflows/run-test-asserts.yaml
+++ b/.forgejo/workflows/run-test-asserts.yaml
@@ -1,6 +1,10 @@
name: Run test asserts
run-name: Test assert-all by ${{github.actor}}
-on: [push,pull_request]
+on:
+ push:
+ branches:
+ - master
+ pull_request:
jobs:
Test-Asserts:
runs-on: self-hosted
diff --git a/README.md b/README.md
index 002f442..5605ac1 100644
--- a/README.md
+++ b/README.md
@@ -32,10 +32,14 @@ The files in this repro try to handle these steps for you.
* make
* openmsx
* sdcc
-* hex2bin
+* hex2bin-2.5 (see [https://hex2bin.sourceforge.net/](https://hex2bin.sourceforge.net/))
* wget
* unix2dos
+For debian use;
+
+ apt-get install make openmsx wget dos2unix sdcc
+
## Usage
Include the `lib/make/msxbuild.mk` file from your Makefile.
diff --git a/lib/emuctl/mouse.bat b/lib/emuctl/mouse.bat
deleted file mode 100644
index 189bcd1..0000000
--- a/lib/emuctl/mouse.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-rem Add mouse to openMSX
-omsxctl plug joyporta mouse
-omsxctl plug
\ No newline at end of file
diff --git a/lib/emuctl/z80.bat b/lib/emuctl/z80.bat
index 3edc069..273d2a8 100644
--- a/lib/emuctl/z80.bat
+++ b/lib/emuctl/z80.bat
@@ -1,2 +1,19 @@
-rem Goto normal z80 speed
-omsxctl set speed 100
\ No newline at end of file
+rem Select z80 speed
+IFF 3 == %1
+ echo 'Select 3.51 Mhz'
+ omsxctl set speed 100 > NUL
+ exit 0
+ENDIFF
+IFF 7 == %1
+ echo 'Select 7 Mhz'
+ omsxctl set speed 200 > NUL
+ exit 0
+ENDIFF
+IFF 11 == %1
+ echo 'Select 11 Mhz'
+ omsxctl set speed 333 > NUL
+ exit 0
+ENDIFF
+echo 'Select openMSX Z80 emulation speed'
+echo 'Usage: z80 <3/7/11>'
+exit 1
diff --git a/lib/make/mb_autoexec.mk b/lib/make/mb_autoexec.mk
index 52494ba..29bf0c2 100644
--- a/lib/make/mb_autoexec.mk
+++ b/lib/make/mb_autoexec.mk
@@ -36,7 +36,7 @@ endef
define mb_autoexec_write_default
echo -n "" > $(1)/autoexec.bat
$(if $(filter true,$(MB_AUTOEXEC_BYSELF)),$(call mb_autoexec_append_rem,$(1),$(MB_AUTOEXEC_BYSELF_MSG)))
- $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_STARTUP_TIMEOUT) seconds fail_after_init $(MB_AUTOEXEC_STARTUP_EXITCODE))
+ $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_STARTUP_TIMEOUT) seconds failed_autoexec $(MB_AUTOEXEC_STARTUP_EXITCODE))
$(if $(filter 40,$(MB_AUTOEXEC_TEXTMODE)),$(call mb_autoexec_append_cmd,$(1),mode 40))
$(if $(filter 40,$(MB_AUTOEXEC_TEXTMODE)),$(call mb_autoexec_append_echo,$(1),Enabled mode 40.))
$(if $(filter 80,$(MB_AUTOEXEC_TEXTMODE)),$(call mb_autoexec_append_cmd,$(1),mode 80))
@@ -60,7 +60,7 @@ endef
define mb_autoexec_cmd
@echo === Generating autoexec.bat for command
$(call mb_autoexec_write_default,$(1))
- $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_CMD_TIMEOUT) seconds fail_after_cmd $(MB_AUTOEXEC_CMD_EXITCODE))
+ $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_CMD_TIMEOUT) seconds failed_cmd $(MB_AUTOEXEC_CMD_EXITCODE))
$(call mb_autoexec_append_echo,$(1),Running command '$(2)')
$(call mb_autoexec_append_cmd,$(1),$(2))
$(call mb_autoexec_append_exit,$(1))
@@ -68,7 +68,7 @@ endef
define mb_autoexec_cmd_test
@echo === Generating autoexec.bat for command test
$(call mb_autoexec_write_default,$(1))
- $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_TEST_TIMEOUT) seconds fail_after_test $(MB_AUTOEXEC_TEST_EXITCODE))
+ $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_TEST_TIMEOUT) seconds failed_test $(MB_AUTOEXEC_TEST_EXITCODE))
$(call mb_autoexec_append_echo,$(1),Running test '$(2)')
$(call mb_autoexec_append_cmd,$(1),$(2))
$(call mb_autoexec_append_exit,$(1))
diff --git a/lib/make/mb_openmsx.mk b/lib/make/mb_openmsx.mk
index 2c8496b..c214f95 100644
--- a/lib/make/mb_openmsx.mk
+++ b/lib/make/mb_openmsx.mk
@@ -15,12 +15,6 @@ MB_OPENMSX_ARGS = \
-script $(PATH_MSXBUILD_REAL)/lib/openmsx/fail_after.tcl \
-script $(PATH_MSXBUILD_REAL)/lib/openmsx/omsxctl.tcl
-# TODO: add run flag to disable xml output like "-control stdio-boot-only"
-ifeq ($(OS),Windows_NT)
- MB_OPENMSX_CMD = $(PATH_OPENMSX)/openmsx $(MB_OPENMSX_ARGS) -control stdio < $(PATH_MSXBUILD_REAL)/lib/openmsx/boot_stdio.xml
-else
- MB_OPENMSX_CMD = $(PATH_OPENMSX)/openmsx $(MB_OPENMSX_ARGS) -control stdio < $(PATH_MSXBUILD_REAL)/lib/openmsx/boot_stdio.xml | sed -n -e 's/.*>\(.*\)<.*/\1/p' | tail -n+3
-endif
define _mb_openmsx_run
@echo === Running openMSX
$(call mb_msxhub_file,$(PATH_MSXBUILD_REAL)/lib/openmsx,OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl)
@@ -32,7 +26,9 @@ define _mb_openmsx_run
JOYPORTB=$(MB_OPENMSX_JOYPORTB) \
SCALE_FACTOR=$(MB_OPENMSX_SCALE_FACTOR) \
SPEED=$(MB_OPENMSX_SPEED) \
- $(MB_OPENMSX_CMD)
+ SAVE_SETTINGS_ON_EXIT=off \
+ THROTTLE=off \
+ $(PATH_OPENMSX)/openmsx $(MB_OPENMSX_ARGS) -control stdio < $(PATH_MSXBUILD_REAL)/lib/openmsx/boot_stdio.xml
endef
define mb_openmsx_dosctl
diff --git a/lib/make/mb_packages.mk b/lib/make/mb_packages.mk
index 69bc8c0..8518285 100644
--- a/lib/make/mb_packages.mk
+++ b/lib/make/mb_packages.mk
@@ -1,6 +1,5 @@
# MSXHUB fetch package files functions
define mb_package_emuctl
- $(call mb_copy,$(PATH_MSXBUILD)/lib/emuctl/mouse.bat,$(1))
$(call mb_copy,$(PATH_MSXBUILD)/lib/emuctl/shutdown.bat,$(1))
$(call mb_copy,$(PATH_MSXBUILD)/lib/emuctl/z80.bat,$(1))
endef
diff --git a/lib/openmsx/boot_env.tcl b/lib/openmsx/boot_env.tcl
index e44a32d..70edb9b 100644
--- a/lib/openmsx/boot_env.tcl
+++ b/lib/openmsx/boot_env.tcl
@@ -3,7 +3,7 @@
# Typically used in automation tools which run openMSX without human interaction.
# Supported environment variables by this script;
#
-# SAVE_SETTINGS_ON_EXIT=false
+# SAVE_SETTINGS_ON_EXIT=off
# Disables automatic settings saving.
#
# RENDERER=SDL
diff --git a/lib/openmsx/boot_stdio.xml b/lib/openmsx/boot_stdio.xml
index 04e88f5..6cfb7ca 100644
--- a/lib/openmsx/boot_stdio.xml
+++ b/lib/openmsx/boot_stdio.xml
@@ -4,6 +4,4 @@ When booting 'openmsx -control stdio < boot_stdio.xml'
It starts then in power off mode and without renderer for fast booting.
-->
set power on
- set throttle off
- set save_settings_on_exit off
diff --git a/lib/openmsx/fail_after.tcl b/lib/openmsx/fail_after.tcl
index e2e1563..8e590d9 100644
--- a/lib/openmsx/fail_after.tcl
+++ b/lib/openmsx/fail_after.tcl
@@ -73,5 +73,5 @@ if {[info exists ::env(FAIL_AFTER_PATH)] && ([string trim $::env(FAIL_AFTER_PATH
# Enables boot watch dog timer when FAIL_AFTER_BOOT env has a value. (124 see `man timeout`)
if {[info exists ::env(FAIL_AFTER_BOOT)] && ([string trim $::env(FAIL_AFTER_BOOT)] != "")} {
- fail_after [string trim $::env(FAIL_AFTER_BOOT)] realtime fail_after_boot 124
+ fail_after [string trim $::env(FAIL_AFTER_BOOT)] realtime failed_boot 124
}