MB_OPENMSX_PATH_BIN ?= bin MB_OPENMSX_BOOT_TIMEOUT ?= 25 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 MB_OPENMSX_EXTRA_MEM ?= -ext ram4mb MB_OPENMSX_EXTRA_HDD ?= -ext ide-nextor MB_OPENMSX_HDD_SIZE ?= 4m MB_OPENMSX_JOYPORTA ?= MB_OPENMSX_JOYPORTB ?= MB_OPENMSX_SCALE_FACTOR ?= 3 MB_OPENMSX_THROTTLE ?= off MB_OPENMSX_RENDERER ?= off MB_OPENMSX_RENDERER_TYPE ?= SDL MB_OPENMSX_RECORDER ?= off MB_OPENMSX_CTLCACHE ?= $(MB_CACHE)/msxbuild/omsxctl define mb_openmsx_setup $(if $(wildcard $(MB_OPENMSX_CTLCACHE)),,$(call mb_mkdir,$(MB_OPENMSX_CTLCACHE))) $(call mb_msxhub_file,$(MB_OPENMSX_CTLCACHE),OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl) $(call mb_msxhub_file,$(MB_OPENMSX_CTLCACHE),OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.com) $(if $(wildcard $(1)-omsx),,$(call mb_mkdir,$(1)-omsx)) $(if $(wildcard $(1)-omsx/stdio.xml),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/stdio.xml,$(1)-omsx)) $(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_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/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/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)) $(call mb_msxrom_setup,$(1)) $(call mb_msxrom_extension_ide_nextor,$(1)) $(call mb_msxrom_machine_$(2),$(1)) 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_HDD_PATH="$(1)" \ BOOT_HDD_SIZE=$(MB_OPENMSX_HDD_SIZE) \ BOOT_HDD_IMAGE="$(1)-omsx/persistent/ide-nextor/untitled1/hd.dsk" \ JOYPORTA=$(MB_OPENMSX_JOYPORTA) \ JOYPORTB=$(MB_OPENMSX_JOYPORTB) \ SCALE_FACTOR=$(MB_OPENMSX_SCALE_FACTOR) \ SPEED=$(MB_OPENMSX_SPEED) \ RENDERER=$(MB_OPENMSX_RENDERER) \ RENDERER_TYPE=$(MB_OPENMSX_RENDERER_TYPE) \ THROTTLE=$(MB_OPENMSX_THROTTLE) \ RECORDER=$(if $(filter on,$(MB_OPENMSX_RECORDER)),msxbuild-) \ OPENMSX_HOME="$(1)-omsx" \ OPENMSX_USER_DATA="$(1)-omsx/share" \ $(PATH_OPENMSX)/openmsx \ -machine $(2) \ $(MB_OPENMSX_EXTRA_SLOT) \ $(MB_OPENMSX_EXTRA_HDD) \ $(MB_OPENMSX_EXTRA_MEM) \ $(MB_OPENMSX_EXTS) \ -control stdio < $(1)-omsx/stdio.xml @echo === openMSX Done for $(notdir $(1)) endef define mb_openmsx_dosctl $(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))) $(if $(wildcard $(1)/reboot.bat),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/emuctl/reboot.bat,$(1))) $(if $(wildcard $(1)/shutdown.bat),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/emuctl/shutdown.bat,$(1))) $(if $(wildcard $(1)/z80.bat),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/emuctl/z80.bat,$(1))) $(call _mb_openmsx_run,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE))) endef