From bcda357a1e0f8ae9649665013ce6f0e0b3cf7bd5 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 2 Dec 2016 12:59:45 +0100 Subject: [PATCH] Super Boss Gaiden run scenario for the SNES https://superbossgaiden.superfamicom.org/ Fix #52 --- run/superbossgaiden.run | 194 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 run/superbossgaiden.run diff --git a/run/superbossgaiden.run b/run/superbossgaiden.run new file mode 100644 index 0000000..57bbdcf --- /dev/null +++ b/run/superbossgaiden.run @@ -0,0 +1,194 @@ +# setting environment variable FORCE_QEMU permits running netperf in qemu +set force_qemu [info exists ::env(FORCE_QEMU)] + +if {[expr [have_include "power_on/qemu"] && !$force_qemu]} { + puts "\Game emulation on Qemu is not recommended.\n" + exit +} + +# +# Check used commands +# +set wget [check_installed wget] +set unzip [check_installed unzip] + +set build_components { + core init + app/retro_frontend + drivers/framebuffer + drivers/input + drivers/timer + libretro/snes9x + server/fb_upscale + server/input_remap +} + +source ${genode_dir}/repos/base/run/platform_drv.inc +# override default platform driver policy +proc platform_drv_policy {} { + return { + + + } +} + +append_platform_drv_build_components + +build $build_components + +create_boot_directory + +# +# Generate config +# + +append config { + + + + + + + + + + + + + + + } + +append_if [have_spec sdl] config { + + + + + + + + + + } + +append_platform_drv_config + +append_if [have_spec vesa] config { + + + + + + } + +append_if [have_spec pl11x] config { + + + + } + +append_if [have_spec ps2] config { + + + + + } + +append config { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + +install_config $config + +# +# Download and extract a test ROM +# +if {![file exist bin/superbossgaiden.zip]} { + set zip_url "https://superbossgaiden.superfamicom.org/Super%20Boss%20Gaiden%20(J).zip" + catch { exec $wget $zip_url -O bin/superbossgaiden.zip } +} +if {![file exist "bin/superbossgaiden.sfc"]} { + catch { + exec $unzip -o bin/superbossgaiden.zip -d bin + exec mv "bin/ROM-Version/Super Boss Gaiden (J) (V1.0).sfc" "bin/superbossgaiden.sfc" + } +} + +# generic modules +set boot_modules { + core init ld.lib.so + fb_upscale + input_remap + libc.lib.so + libm.lib.so + retro_frontend + stdcxx.lib.so + snes9x_libretro.lib.so + superbossgaiden.sfc + timer +} + +# platform-specific modules +lappend_if [have_spec linux] boot_modules fb_sdl +lappend_if [have_spec vesa] boot_modules fb_drv +lappend_if [have_spec ps2] boot_modules ps2_drv +lappend_if [have_spec pl11x] boot_modules fb_drv + +append_platform_drv_boot_modules + +build_boot_image $boot_modules + +append qemu_args " -m 256 -soundhw es1370 " + +run_genode_until forever