diff --git a/lib/make/mb_openmsx.mk b/lib/make/mb_openmsx.mk index bd9c2d0..3bd145d 100644 --- a/lib/make/mb_openmsx.mk +++ b/lib/make/mb_openmsx.mk @@ -15,8 +15,9 @@ MB_OPENMSX_THROTTLE ?= off MB_OPENMSX_RENDERER ?= MB_OPENMSX_CTLCACHE ?= $(MB_CACHE)/omsxctl MB_OPENMSX_SAVE_ON_EXIT ?= off +MB_OPENMSX_SOUND_DRIVER ?= null -# TODO: create openMSX issue to control extensions from the command line. +# TODO: create openMSX issue to clean share: https://github.com/openMSX/openMSX/issues/1672 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) @@ -36,6 +37,7 @@ define _mb_openmsx_run SCALE_FACTOR=$(MB_OPENMSX_SCALE_FACTOR) \ SPEED=$(MB_OPENMSX_SPEED) \ SAVE_SETTINGS_ON_EXIT=$(MB_OPENMSX_SAVE_ON_EXIT) \ + SOUND_DRIVER=$(MB_OPENMSX_SOUND_DRIVER) \ RENDERER=$(MB_OPENMSX_RENDERER) \ THROTTLE=$(MB_OPENMSX_THROTTLE) \ $(PATH_OPENMSX)/openmsx \ diff --git a/lib/openmsx/boot_env.tcl b/lib/openmsx/boot_env.tcl index 70edb9b..ec3da45 100644 --- a/lib/openmsx/boot_env.tcl +++ b/lib/openmsx/boot_env.tcl @@ -32,6 +32,13 @@ if {[info exists ::env(SAVE_SETTINGS_ON_EXIT)] && ([string trim $::env(SAVE_SETT } } +if {[info exists ::env(SOUND_DRIVER)] && ([string trim $::env(SOUND_DRIVER)] != "")} { + if {[catch {set sound_driver [string trim $::env(SOUND_DRIVER)]} err_msg]} { + puts stderr "error: env.SOUND_DRIVER value $err_msg" + exit 1 + } +} + if {[info exists ::env(RENDERER)] && ([string trim $::env(RENDERER)] != "")} { if {[catch {set renderer [string trim $::env(RENDERER)]} err_msg]} { puts stderr "error: env.RENDERER value $err_msg"