diff --git a/.forgejo/workflows/run-test-asserts.yaml b/.forgejo/workflows/run-test-asserts.yaml index a0b1819..6059373 100644 --- a/.forgejo/workflows/run-test-asserts.yaml +++ b/.forgejo/workflows/run-test-asserts.yaml @@ -11,4 +11,4 @@ jobs: - name: Check out uses: actions/checkout@v3 - name: Run asserts - run: make assert-all + run: make -s -j4 assert-all diff --git a/.forgejo/workflows/run-test-parallel.yaml b/.forgejo/workflows/run-test-parallel.yaml deleted file mode 100644 index 0753e8c..0000000 --- a/.forgejo/workflows/run-test-parallel.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: Run tests parallel -on: - pull_request: - types: [opened, reopened, synchronize] - branches: - - test_ci_parallel_build - workflow_dispatch: -jobs: - Test-Asserts-Parallel: - runs-on: self-hosted - steps: - - name: Check out - uses: actions/checkout@v3 - - name: Run asserts parallel - run: make -j2 assert-all diff --git a/README.md b/README.md index 6d25da3..79d523b 100644 --- a/README.md +++ b/README.md @@ -98,17 +98,31 @@ Current set is WIP. * mb_package_turbo * mb_package_binldr * mb_package_gfxage +* mb_msxrom_file +* mb_msxrom_setup +* mb_msxrom_extension_ide_nextor +* mb_msxrom_extension_rs232 +* mb_msxrom_extension_fmpac +* mb_msxrom_extension_moonsound +* mb_msxrom_extension_basickun +* mb_msxrom_machine_Canon_V-20 +* mb_msxrom_machine_Philips_NMS_8250 +* mb_msxrom_machine_Boosted_MSX2_EN * mb_autoexec_append_cmd * mb_autoexec_append_echo * mb_autoexec_append_rem * mb_autoexec_append_gui_mode * mb_autoexec_append_stop_fail * mb_autoexec_append_exit +* mb_autoexec_append_safe_test +* mb_autoexec_append_safe_cmd * mb_autoexec_write_default -* mb_autoexec_open_gui -* mb_autoexec_open_gui_cmd -* mb_autoexec_cmd -* mb_autoexec_cmd_test +* mb_autoexec_open_gui40 +* mb_autoexec_open_gui40_cmd +* mb_autoexec_open_gui80 +* mb_autoexec_open_gui80_cmd +* mb_autoexec_safe_cmd +* mb_autoexec_safe_test * mb_clean * mb_mkdir * mb_delete diff --git a/lib/make/mb_autoexec.mk b/lib/make/mb_autoexec.mk index eb5e4ac..f76bc46 100644 --- a/lib/make/mb_autoexec.mk +++ b/lib/make/mb_autoexec.mk @@ -20,9 +20,9 @@ define mb_autoexec_append_rem endef define mb_autoexec_append_gui_mode $(call mb_autoexec_append_echo,$(1),Enabling SDL renderer.) - $(call mb_autoexec_append_cmd,$(1),omsxctl set renderer SDL > NUL) + $(call mb_autoexec_append_cmd,$(1),omsxctl set renderer SDL) $(call mb_autoexec_append_echo,$(1),Enabling CPU throttling.) - $(call mb_autoexec_append_cmd,$(1),omsxctl set throttle on > NUL) + $(call mb_autoexec_append_cmd,$(1),omsxctl set throttle on) endef define mb_autoexec_append_stop_fail $(call mb_autoexec_append_echo,$(1),Disabling automatic failure.) @@ -42,37 +42,45 @@ define mb_autoexec_append_safe_cmd $(call mb_autoexec_append_cmd,$(1),$(2)) endef define mb_autoexec_write_default - echo -n "" > $(1)/autoexec.bat - $(if $(filter 40,$(2)),$(call mb_autoexec_append_cmd,$(1),mode $(2)),$(call mb_autoexec_append_cmd,$(1),mode 80)) - $(if $(filter 40,$(2)),$(call mb_autoexec_append_echo,$(1),Enabled mode $(2).),$(call mb_autoexec_append_echo,$(1),Enabled mode 80.)) + @echo === Writing autoexec.bat for $(notdir $(1)) + @echo -n "" > $(1)/autoexec.bat + $(if $(filter 40,$(2)),$(call mb_autoexec_append_cmd,$(1),mode 40),$(call mb_autoexec_append_cmd,$(1),mode 80)) + $(if $(filter 40,$(2)),$(call mb_autoexec_append_echo,$(1),Enabled mode 40.),$(call mb_autoexec_append_echo,$(1),Enabled mode 80.)) $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_STARTUP_TIMEOUT) seconds failed_exec $(MB_AUTOEXEC_STARTUP_EXITCODE)) - $(call mb_autoexec_append_cmd,$(1),omsxctl setcolor 4 000 > NUL) - $(call mb_autoexec_append_cmd,$(1),omsxctl setcolor 15 777 > NUL) + $(call mb_autoexec_append_cmd,$(1),omsxctl setcolor 4 000) + $(call mb_autoexec_append_cmd,$(1),omsxctl setcolor 15 777) $(if $(filter true,$(MB_AUTOEXEC_VERSION)),$(call mb_autoexec_append_cmd,$(1),ver)) $(if $(filter true,$(MB_AUTOEXEC_BYSELF)),$(call mb_autoexec_append_echo,$(1),$(MB_AUTOEXEC_BYSELF_MSG) $(notdir $(1)))) endef -define mb_autoexec_open_gui - @echo === Generating autoexec.bat for command with gui - $(call mb_autoexec_write_default,$(1)) +define _mb_autoexec_open_gui + $(call mb_autoexec_write_default,$(1),$(2)) $(call mb_autoexec_append_stop_fail,$(1)) $(call mb_autoexec_append_gui_mode,$(1)) $(call mb_autoexec_append_echo,$(1),Type shutdown to stop emulation.) + $(if $(3),$(call mb_autoexec_append_echo,$(1),Running command '$(3)')) + $(if $(3),$(call mb_autoexec_append_cmd,$(1),$(3))) endef -define mb_autoexec_open_gui_cmd - $(call mb_autoexec_open_gui,$(1)) - $(call mb_autoexec_append_echo,$(1),Running command '$(2)') - $(call mb_autoexec_append_cmd,$(1),$(2)) +define mb_autoexec_open_gui40 + $(call _mb_autoexec_open_gui,$(1),40) endef -define mb_autoexec_cmd - @echo === Generating autoexec.bat for command - $(call mb_autoexec_write_default,$(1)) +define mb_autoexec_open_gui40_cmd + $(call _mb_autoexec_open_gui,$(1),40,$(2)) +endef +define mb_autoexec_open_gui80 + $(call _mb_autoexec_open_gui,$(1),80) +endef +define mb_autoexec_open_gui80_cmd + $(call _mb_autoexec_open_gui,$(1),80,$(2)) +endef + +define mb_autoexec_safe_cmd + $(call mb_autoexec_write_default,$(1),$(3)) $(call mb_autoexec_append_safe_cmd,$(1),$(2)) $(call mb_autoexec_append_exit,$(1)) endef -define mb_autoexec_cmd_test - @echo === Generating autoexec.bat for command test - $(call mb_autoexec_write_default,$(1)) +define mb_autoexec_safe_test + $(call mb_autoexec_write_default,$(1),$(3)) $(call mb_autoexec_append_safe_test,$(1),$(2)) $(call mb_autoexec_append_exit,$(1)) endef diff --git a/lib/make/mb_msxrom.mk b/lib/make/mb_msxrom.mk index 1a91a7c..92e0de9 100644 --- a/lib/make/mb_msxrom.mk +++ b/lib/make/mb_msxrom.mk @@ -1,4 +1,5 @@ +# TODO: Convert pi MSX number data, the named pie slices to hyperdrive storage for distribution over red sea MB_MSXROM_API ?= https://msxrom.distributedrebirth.love/calc-pi/v19.1 MB_MSXROM_CACHE ?= $(MB_CACHE)/msxbuild/msxrom diff --git a/lib/make/mb_openmsx.mk b/lib/make/mb_openmsx.mk index e2419a2..b89ca8f 100644 --- a/lib/make/mb_openmsx.mk +++ b/lib/make/mb_openmsx.mk @@ -1,7 +1,7 @@ MB_OPENMSX_PATH_BIN ?= bin MB_OPENMSX_BOOT_TIMEOUT ?= 25 -MB_OPENMSX_MACHINE_DEF ?= Philips_NMS_8250 +MB_OPENMSX_MACHINE ?= Philips_NMS_8250 MB_OPENMSX_SPEED ?= $(if $(findstring turboR,$(MB_OPENMSX_MACHINE)),100,333) MB_OPENMSX_EXTS ?= MB_OPENMSX_EXTRA_SLOT ?= -ext slotexpander @@ -34,7 +34,7 @@ define mb_openmsx_setup endef define _mb_openmsx_run - @echo === Running openMSX + @echo === openMSX Start for $(notdir $(1)) FAIL_AFTER_BOOT=$(MB_OPENMSX_BOOT_TIMEOUT) \ FAIL_AFTER_PATH=$(MB_OPENMSX_PATH_BIN) \ BOOT_HDD_PATH="$(1)" \ @@ -54,10 +54,11 @@ define _mb_openmsx_run $(MB_OPENMSX_EXTRA_MEM) \ $(MB_OPENMSX_EXTS) \ -control stdio < $(1)-omsx/stdio.xml + @echo === openMSX Done for $(notdir $(1)) endef define mb_openmsx_dosctl - $(call mb_openmsx_setup,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE_DEF))) + $(if $(wildcard $(1)-omsx),,$(call mb_openmsx_setup,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE)))) $(if $(wildcard $(1)/omsxctl.com),,$(call mb_copy,$(MB_OPENMSX_CTLCACHE)/omsxctl.com,$(1))) - $(call _mb_openmsx_run,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE_DEF))) + $(call _mb_openmsx_run,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE))) endef diff --git a/test/ahello-m80/0module.mk b/test/ahello-m80/0module.mk index 0193501..6651eec 100644 --- a/test/ahello-m80/0module.mk +++ b/test/ahello-m80/0module.mk @@ -12,25 +12,25 @@ $(TEST_AHELLO_M80)/%.mac: test/ahello-m80/%.mac | $(TEST_AHELLO_M80) $(call mb_unix2dos,$<,$@) $(TEST_AHELLO_M80)/ahello.rel: $(TEST_AHELLO_M80)/ahello.mac - $(call mb_autoexec_cmd,$(TEST_AHELLO_M80),m80 =ahello/Z) + $(call mb_autoexec_safe_cmd,$(TEST_AHELLO_M80),m80 =ahello/Z) $(call mb_openmsx_dosctl,$(TEST_AHELLO_M80)) $(TEST_AHELLO_M80)/ahello.hex: $(TEST_AHELLO_M80)/ahello.rel - $(call mb_autoexec_cmd,$(TEST_AHELLO_M80),l80 ahello$(MB_COMMA)ahello/N/X/Y/E) + $(call mb_autoexec_safe_cmd,$(TEST_AHELLO_M80),l80 ahello$(MB_COMMA)ahello/N/X/Y/E) $(call mb_openmsx_dosctl,$(TEST_AHELLO_M80)) $(TEST_AHELLO_M80)/ahello.com: $(TEST_AHELLO_M80)/ahello.hex - $(call mb_autoexec_cmd,$(TEST_AHELLO_M80),hextocom ahello) + $(call mb_autoexec_safe_cmd,$(TEST_AHELLO_M80),hextocom ahello) $(call mb_openmsx_dosctl,$(TEST_AHELLO_M80)) .PHONY: test-ahello-m80-run test-ahello-m80-run: $(TEST_AHELLO_M80)/ahello.com - $(call mb_autoexec_open_gui,$(TEST_AHELLO_M80)) + $(call mb_autoexec_open_gui80,$(TEST_AHELLO_M80)) $(call mb_openmsx_dosctl,$(TEST_AHELLO_M80)) .PHONY: test-ahello-m80-assert test-ahello-m80-assert: $(TEST_AHELLO_M80)/ahello.com $(call mb_delete,$(TEST_AHELLO_M80)/ahello.out) - $(call mb_autoexec_cmd_test,$(TEST_AHELLO_M80),ahello > ahello.out) + $(call mb_autoexec_safe_test,$(TEST_AHELLO_M80),ahello > ahello.out) $(call mb_openmsx_dosctl,$(TEST_AHELLO_M80)) grep "M80: Hello world..." $(TEST_AHELLO_M80)/ahello.out diff --git a/test/ahello-sdcc/0module.mk b/test/ahello-sdcc/0module.mk index 8bec363..d89da41 100644 --- a/test/ahello-sdcc/0module.mk +++ b/test/ahello-sdcc/0module.mk @@ -18,12 +18,12 @@ $(TEST_AHELLO_SDCC)/ahello.com: $(TEST_AHELLO_SDCC)/ahello.hex .PHONY: test-ahello-sdcc-run test-ahello-sdcc-run: $(TEST_AHELLO_SDCC)/ahello.com - $(call mb_autoexec_open_gui,$(TEST_AHELLO_SDCC)) + $(call mb_autoexec_open_gui80,$(TEST_AHELLO_SDCC)) $(call mb_openmsx_dosctl,$(TEST_AHELLO_SDCC)) .PHONY: test-ahello-sdcc-assert test-ahello-sdcc-assert: $(TEST_AHELLO_SDCC)/ahello.com $(call mb_delete,$(TEST_AHELLO_SDCC)/ahello.out) - $(call mb_autoexec_cmd_test,$(TEST_AHELLO_SDCC),ahello > ahello.out) + $(call mb_autoexec_safe_test,$(TEST_AHELLO_SDCC),ahello > ahello.out) $(call mb_openmsx_dosctl,$(TEST_AHELLO_SDCC)) grep "SDCC: Hello world..." $(TEST_AHELLO_SDCC)/ahello.out diff --git a/test/dist-qa-dos1/0module.mk b/test/dist-qa-dos1/0module.mk index fe4a6ed..55bdfe7 100644 --- a/test/dist-qa-dos1/0module.mk +++ b/test/dist-qa-dos1/0module.mk @@ -13,7 +13,7 @@ $(TEST_DIST_QA_DOS1)/%: bin/test/dist/% | $(TEST_DIST_QA_DOS1) $(TEST_DIST_DEPS) .PHONY: test-dist-qa-dos1-run test-dist-qa-dos1-run: | $(TEST_DIST_QA_DOS1_DEPS) - $(call mb_autoexec_open_gui,$(TEST_DIST_QA_DOS1)) + $(call mb_autoexec_open_gui80,$(TEST_DIST_QA_DOS1)) $(call mb_openmsx_dosctl,$(TEST_DIST_QA_DOS1)) .PHONY: test-dist-qa-dos1-assert diff --git a/test/dist-qa-dos2/0module.mk b/test/dist-qa-dos2/0module.mk index e1d5e6b..cabe8da 100644 --- a/test/dist-qa-dos2/0module.mk +++ b/test/dist-qa-dos2/0module.mk @@ -13,7 +13,7 @@ $(TEST_DIST_QA_DOS2)/%: bin/test/dist/% | $(TEST_DIST_QA_DOS2) $(TEST_DIST_DEPS) .PHONY: test-dist-qa-dos2-run test-dist-qa-dos2-run: | $(TEST_DIST_QA_DOS2_DEPS) - $(call mb_autoexec_open_gui,$(TEST_DIST_QA_DOS2)) + $(call mb_autoexec_open_gui80,$(TEST_DIST_QA_DOS2)) $(call mb_openmsx_dosctl,$(TEST_DIST_QA_DOS2)) .PHONY: test-dist-qa-dos2-assert diff --git a/test/dist-qa-msx1/0module.mk b/test/dist-qa-msx1/0module.mk index ca3df43..2156c70 100644 --- a/test/dist-qa-msx1/0module.mk +++ b/test/dist-qa-msx1/0module.mk @@ -14,9 +14,7 @@ $(TEST_DIST_QA_MSX1)/%: bin/test/dist/% | $(TEST_DIST_QA_MSX1) $(TEST_DIST_DEPS) .PHONY: test-dist-qa-msx1-run test-dist-qa-msx1-run: | $(TEST_DIST_QA_MSX1_DEPS) - $(call mb_autoexec_write_default,$(TEST_DIST_QA_MSX1),40) - $(call mb_autoexec_append_stop_fail,$(TEST_DIST_QA_MSX1)) - $(call mb_autoexec_append_gui_mode,$(TEST_DIST_QA_MSX1)) + $(call mb_autoexec_open_gui40,$(TEST_DIST_QA_MSX1)) $(call mb_openmsx_dosctl,$(TEST_DIST_QA_MSX1),$(TEST_DIST_QA_MSX1_MACHINE)) .PHONY: test-dist-qa-msx1-assert