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 }