Added flight recorder and more boot messages.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -8s

This commit is contained in:
Willem Cazander 2024-06-29 15:47:52 +02:00
parent 97088650d4
commit c1a52773ac
16 changed files with 176 additions and 94 deletions

View file

@ -16,20 +16,25 @@ endef
define mb_autoexec_append_rem
$(call mb_autoexec_append_cmd,$(1),rem $(2))
endef
define mb_autoexec_append_gui_mode
$(call mb_autoexec_append_echo,$(1),Enabling boot GUI mode.)
$(call mb_autoexec_append_cmd,$(1),omsxctl after time 1 boot_gui_mode)
define mb_autoexec_append_show_gui
$(call mb_autoexec_append_cmd,$(1),omsxctl boot_mode_show_gui)
endef
define mb_autoexec_append_stop_fail
$(call mb_autoexec_append_echo,$(1),Disabling automatic failure.)
$(call mb_autoexec_append_cmd,$(1),omsxctl fail_after 0)
endef
define mb_autoexec_append_exit
$(call mb_autoexec_append_cmd,$(1),omsxctl exit 0)
$(if $(filter on,$(MB_FLIGHT_SCREEN)),$(call mb_autoexec_append_save_screenshot,$(1)))
$(call mb_autoexec_append_cmd,$(1),omsxctl boot_exec_exit)
endef
define mb_autoexec_append_joyporta_mouse
$(call mb_autoexec_append_cmd,$(1),omsxctl plug joyporta mouse)
endef
define mb_autoexec_append_save_screenshot
$(call mb_autoexec_append_cmd,$(1),omsxctl save_flight_screenshot $(2))
endef
define mb_autoexec_append_save_video
$(call mb_autoexec_append_cmd,$(1),omsxctl save_flight_video $(2))
endef
define mb_autoexec_append_safe_test
$(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_TEST_TIMEOUT)) seconds failed_test $(if $(4),$(4),$(MB_AUTOEXEC_TEST_EXITCODE)))
$(call mb_autoexec_append_echo,$(1),Running test: $(2))
@ -43,40 +48,41 @@ endef
define mb_autoexec_write_default
@echo === Writing autoexec.bat for $(notdir $(1))
@echo -n "" > $(1)/autoexec.bat
$(call mb_autoexec_append_cmd,$(1),omsxctl setcolor 4 000)
$(call mb_autoexec_append_cmd,$(1),omsxctl setcolor 15 777)
$(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_echo,$(1),==== MSXBUILD ====)
$(if $(filter 40,$(2)),$(call mb_autoexec_append_echo,$(1),Boot mode 40),$(call mb_autoexec_append_echo,$(1),Boot mode 80))
$(if $(filter on,$(MB_FLIGHT_VIDEO)),$(call mb_autoexec_append_save_video,$(1)))
$(call mb_autoexec_append_cmd,$(1),omsxctl boot_exec_color_dark)
$(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_STARTUP_TIMEOUT) seconds failed_exec $(MB_AUTOEXEC_STARTUP_EXITCODE))
$(if $(filter on,$(MB_AUTOEXEC_VERSION)),$(call mb_autoexec_append_cmd,$(1),ver))
$(if $(filter on,$(MB_AUTOEXEC_VERSION)),$(call mb_autoexec_append_cmd,$(1),omsxctl machine_info config_name))
$(if $(filter on,$(MB_AUTOEXEC_VERSION)),$(call mb_autoexec_append_cmd,$(1),omsxctl openmsx_info version))
$(if $(wildcard $(1)/utils),$(call mb_autoexec_append_cmd,$(1),PATH + A:\))
$(if $(wildcard $(1)/utils),$(call mb_autoexec_append_cmd,$(1),PATH + A:\UTILS))
$(if $(wildcard $(1)/utils),$(call mb_autoexec_append_cmd,$(1),PATH))
$(call mb_autoexec_append_echo,$(1),Run msxbuild: $(notdir $(1)))
$(if $(filter on,$(MB_AUTOEXEC_VERSION)),$(call mb_autoexec_append_cmd,$(1),omsxctl boot_exec_config_info))
$(call mb_autoexec_append_echo,$(1),Run folder $(1))
$(call mb_autoexec_append_echo,$(1),Run target $@)
endef
define _mb_autoexec_open_gui
define _mb_autoexec_show_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_show_gui,$(1))
$(if $(filter mouse,$(4)),$(call mb_autoexec_append_joyporta_mouse,$(1)))
$(call mb_autoexec_append_echo,$(1),Type shutdown to stop emulation.)
$(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_gui40
$(call _mb_autoexec_open_gui,$(1),40,$(2))
define mb_autoexec_show_gui40
$(call _mb_autoexec_show_gui,$(1),40,$(2))
endef
define mb_autoexec_open_gui40_mouse
$(call _mb_autoexec_open_gui,$(1),40,$(2),mouse)
define mb_autoexec_show_gui40_mouse
$(call _mb_autoexec_show_gui,$(1),40,$(2),mouse)
endef
define mb_autoexec_open_gui80
$(call _mb_autoexec_open_gui,$(1),80,$(2))
define mb_autoexec_show_gui80
$(call _mb_autoexec_show_gui,$(1),80,$(2))
endef
define mb_autoexec_open_gui80_mouse
$(call _mb_autoexec_open_gui,$(1),80,$(2),mouse)
define mb_autoexec_show_gui80_mouse
$(call _mb_autoexec_show_gui,$(1),80,$(2),mouse)
endef
define mb_autoexec_safe_cmd

View file

@ -1,5 +1,4 @@
MB_OPENMSX_PATH_BIN ?= bin
MB_OPENMSX_BOOT_TIMEOUT ?= 25
MB_OPENMSX_BOOT_OS ?= nextor
MB_OPENMSX_MACHINE ?= Philips_NMS_8250
@ -13,7 +12,6 @@ MB_OPENMSX_SCALE_FACTOR ?= 3
MB_OPENMSX_THROTTLE ?= off
MB_OPENMSX_HEADLESS ?= on
MB_OPENMSX_RENDERER ?= SDL
MB_OPENMSX_RECORDER ?= off
MB_OPENMSX_CTLCACHE ?= $(MB_CACHE)/msxbuild/omsxctl
define mb_openmsx_setup
@ -25,9 +23,11 @@ define mb_openmsx_setup
$(if $(wildcard $(1)-omsx/share),,$(call mb_mkdir,$(1)-omsx/share))
$(if $(wildcard $(1)-omsx/share/settings.xml),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/settings.xml,$(1)-omsx/share))
$(if $(wildcard $(1)-omsx/share/scripts),,$(call mb_mkdir,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/scripts/boot_env.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/scripts/boot_env.tcl,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/scripts/boot_exec.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/scripts/boot_exec.tcl,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/scripts/boot_hdd.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/scripts/boot_hdd.tcl,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/scripts/boot_mode.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/scripts/boot_mode.tcl,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/scripts/fail_after.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/scripts/fail_after.tcl,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/scripts/save_flight.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/scripts/save_flight.tcl,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/scripts/omsxctl.tcl),,$(call mb_copy,$(MB_OPENMSX_CTLCACHE)/omsxctl.tcl,$(1)-omsx/share/scripts))
$(if $(wildcard $(1)-omsx/share/extensions),,$(call mb_mkdir,$(1)-omsx/share/extensions))
$(if $(wildcard $(1)-omsx/share/extensions/ide-nextor.xml),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/extensions/ide-nextor.xml,$(1)-omsx/share/extensions))
@ -38,8 +38,7 @@ endef
define _mb_openmsx_run
@echo === openMSX Start for $(notdir $(1))
FAIL_AFTER_BOOT=$(MB_OPENMSX_BOOT_TIMEOUT) \
FAIL_AFTER_PATH=$(MB_OPENMSX_PATH_BIN) \
BOOT_WATCHDOG=$(MB_OPENMSX_BOOT_TIMEOUT) \
BOOT_HDD_PATH="$(1)" \
BOOT_HDD_SIZE=$(MB_OPENMSX_HDD_SIZE) \
BOOT_HDD_IMAGE="$(1)-omsx/persistent/ide-nextor/untitled1/hd.dsk" \
@ -48,7 +47,9 @@ define _mb_openmsx_run
HEADLESS=$(MB_OPENMSX_HEADLESS) \
RENDERER=$(MB_OPENMSX_RENDERER) \
THROTTLE=$(MB_OPENMSX_THROTTLE) \
RECORDER=$(if $(filter on,$(MB_OPENMSX_RECORDER)),msxbuild-) \
SAVE_FLIGHT_PREFIX=$(MB_FLIGHT_PREFIX) \
SAVE_FLIGHT_SEPERATOR=$(MB_FLIGHT_SEPERATOR) \
SAVE_FLIGHT_RECORD_FLAG=$(MB_FLIGHT_RECORD_FLAG) \
OPENMSX_HOME="$(1)-omsx" \
$(PATH_OPENMSX)/openmsx \
-machine $(2) \

View file

@ -5,8 +5,15 @@
# Setup default tools paths
PATH_SDCC ?= /usr/bin
PATH_OPENMSX ?= /usr/bin
# Fill other defaults
PATH_MSXBUILD ?= $(dir $(lastword $(MAKEFILE_LIST)))../..
PATH_MSXBUILD_REAL := $(if $(realpath $(PATH_MSXBUILD)),$(realpath $(PATH_MSXBUILD)),$(PATH_MSXBUILD))
MB_FLIGHT_SCREEN ?= off
MB_FLIGHT_VIDEO ?= off
MB_FLIGHT_PREFIX ?= msxbuild
MB_FLIGHT_SEPERATOR ?= -
MB_FLIGHT_RECORD_FLAG ?= -doublesize
# OS cmds
ifeq ($(OS),Windows_NT)