From ad867c709189947fac0bcb0d0f52e39190568c72 Mon Sep 17 00:00:00 2001
From: KeyserSoze1 <6797509+KeyserSoze1@users.noreply.github.com>
Date: Fri, 5 Apr 2024 15:06:21 -0400
Subject: [PATCH 1/4] Cleaned up supermodel standalone build configuration.
---
.../standalone/supermodel-sa/package.mk | 21 ++-------
.../patches/02-cross-compile-build-fix.patch | 47 +++++++++++++++++++
2 files changed, 51 insertions(+), 17 deletions(-)
create mode 100644 packages/emulators/standalone/supermodel-sa/patches/02-cross-compile-build-fix.patch
diff --git a/packages/emulators/standalone/supermodel-sa/package.mk b/packages/emulators/standalone/supermodel-sa/package.mk
index 0c7d56ce4..c0c7f0ac4 100644
--- a/packages/emulators/standalone/supermodel-sa/package.mk
+++ b/packages/emulators/standalone/supermodel-sa/package.mk
@@ -24,26 +24,13 @@ esac
PKG_MAKE_OPTS="NET_BOARD=1"
-pre_configure_target() {
+pre_patch() {
cp ${PKG_BUILD}/Makefiles/Makefile.UNIX ${PKG_BUILD}/Makefile
+}
+post_patch() {
# Add proper include directory
- sed -e "s+-DGLEW_STATIC+-I${SYSROOT_PREFIX}/usr/include -DGLEW_STATIC+g" -i ${PKG_BUILD}/Makefiles/Rules.inc
-
- # Fix to allow cross-compiling
- sed 's+ARCH = -march=native+ARCH = -DSDL_DISABLE_IMMINTRIN_H+g' -i ${PKG_BUILD}/Makefiles/Rules.inc
-
- # This file needs to be compiled for the Host system to run. Hard coding gcc for now.
- sed 's+$(SILENT)$(CC) $< $(CFLAGS)+$(SILENT)gcc $< $(CFLAGS) -march=native+g' -i ${PKG_BUILD}/Makefiles/Rules.inc
- sed 's+$(SILENT)$(LD) $(MUSASHI_LDFLAGS)+$(SILENT)gcc $(MUSASHI_LDFLAGS)+g' -i ${PKG_BUILD}/Makefiles/Rules.inc
-
- # More fixes for cross compilation.
- sed 's+CC = gcc+ +g' -i ${PKG_BUILD}/Makefile
- sed 's/CXX = g++/ /g' -i ${PKG_BUILD}/Makefile
- sed 's+LD = gcc+ +g' -i ${PKG_BUILD}/Makefile
-
- # Use the compiler to link vs ld as the original Makefile intended and cross compiler fixes above changed.
- sed 's+$(SILENT)$(LD) $(OBJ_FILES) $(LDFLAGS)+$(SILENT)$(CC) $(OBJ_FILES) $(LDFLAGS)+g' -i ${PKG_BUILD}/Makefiles/Rules.inc
+ sed -e "s+MUSASHI_CFLAGS =+MUSASHI_CFLAGS = -I${SYSROOT_PREFIX}/usr/include+g" -i ${PKG_BUILD}/Makefiles/Rules.inc
}
makeinstall_target() {
diff --git a/packages/emulators/standalone/supermodel-sa/patches/02-cross-compile-build-fix.patch b/packages/emulators/standalone/supermodel-sa/patches/02-cross-compile-build-fix.patch
new file mode 100644
index 000000000..dca4824d0
--- /dev/null
+++ b/packages/emulators/standalone/supermodel-sa/patches/02-cross-compile-build-fix.patch
@@ -0,0 +1,47 @@
+--- a/Makefile 2023-04-02 07:03:17.000000000 -0400
++++ b/Makefile 2024-04-05 13:57:55.702281044 -0400
+@@ -47,9 +47,9 @@
+ #
+ # Toolchain
+ #
+-CC = gcc
+-CXX = g++
+-LD = gcc
++
++
++
+
+ #
+ # SDL
+--- a/Makefiles/Rules.inc 2024-04-05 13:49:40.615575984 -0400
++++ b/Makefiles/Rules.inc 2024-04-05 13:13:09.405606344 -0400
+@@ -68,7 +68,7 @@
+ #
+ # Compiler options
+ #
+-ARCH = -march=native
++ARCH = -DSDL_DISABLE_IMMINTRIN_H
+ OPT = -O3
+ WARN = -Wall
+ CSTD = -std=iso9899:2011
+@@ -242,7 +242,7 @@
+ $(BIN_DIR)/$(OUTFILE): $(BIN_DIR) $(OBJ_DIR) $(OBJ_FILES)
+ $(info --------------------------------------------------------------------------------)
+ $(info Linking Supermodel : $(BIN_DIR)/$(OUTFILE))
+- $(SILENT)$(LD) $(OBJ_FILES) $(LDFLAGS)
++ $(SILENT)$(CC) $(OBJ_FILES) $(LDFLAGS)
+ $(info --------------------------------------------------------------------------------)
+
+ $(BIN_DIR):
+@@ -305,9 +305,9 @@
+ $(MUSASHI_OUTFILE): Src/CPU/68K/Musashi/m68kmake.c Src/CPU/68K/Musashi/m68k_in.c
+ $(info --------------------------------------------------------------------------------)
+ $(info Compiling : $< -> $(OBJ_DIR)/m68kmake.o)
+- $(SILENT)$(CC) $< $(CFLAGS) -o $(OBJ_DIR)/m68kmake.o
++ $(SILENT)gcc $< $(CFLAGS) -march=native -o $(OBJ_DIR)/m68kmake.o
+ $(info Linking : $(MUSASHI_OUTFILE))
+- $(SILENT)$(LD) $(MUSASHI_LDFLAGS)
++ $(SILENT)gcc $(MUSASHI_LDFLAGS)
+
+ $(OBJ_DIR)/m68kops.h $(OBJ_DIR)/m68kops.c $(OBJ_DIR)/m68kopac.c $(OBJ_DIR)/m68kopdm.c $(OBJ_DIR)/m68kopnz.c: $(MUSASHI_OUTFILE) Src/CPU/68K/Musashi/m68k_in.c Src/CPU/68K/Musashi/m68k.h Src/CPU/68K/Musashi/m68kconf.h
+ $(info Generating 68K emulator: $@)
From ad95281741e801e3d059405a4ae1870d9c924aab Mon Sep 17 00:00:00 2001
From: KeyserSoze1 <6797509+KeyserSoze1@users.noreply.github.com>
Date: Sat, 6 Apr 2024 11:45:50 -0400
Subject: [PATCH 2/4] Added RK3588 (ACE) controls for supermodel emulator.
---
.../config/RK3588/Supermodel.ini | 436 ++++++++++++++++++
.../standalone/supermodel-sa/package.mk | 2 +-
2 files changed, 437 insertions(+), 1 deletion(-)
create mode 100644 packages/emulators/standalone/supermodel-sa/config/RK3588/Supermodel.ini
diff --git a/packages/emulators/standalone/supermodel-sa/config/RK3588/Supermodel.ini b/packages/emulators/standalone/supermodel-sa/config/RK3588/Supermodel.ini
new file mode 100644
index 000000000..1e59a7879
--- /dev/null
+++ b/packages/emulators/standalone/supermodel-sa/config/RK3588/Supermodel.ini
@@ -0,0 +1,436 @@
+;;
+;; Supermodel Configuration File
+;; Default settings.
+;;
+
+
+;
+; Quick Overview
+; --------------
+;
+; All settings are case sensitive. Numbers must be integers. Check your
+; spelling carefully because invalid settings are silently ignored. To verify
+; that your settings are being parsed correctly, check the contents of
+; Supermodel.log.
+;
+; Global options apply to all games. To create configuration profiles for
+; individual games, place settings under sections with the same name as the
+; corresponding MAME ROM set, like so:
+;
+; ; Scud Race
+; [ scud ]
+;
+; SoundVolume = 50
+; MusicVolume = 200
+; ; ... etc. ...
+;
+; For a list of all valid settings, please consult README.txt. Only default
+; inputs are assigned here.
+;
+
+
+[ Global ]
+
+; Graphics
+New3DEngine = false
+QuadRendering = false
+WideScreen = false
+Stretch = false
+WideBackground = false
+XResolution = 1920
+YResolution = 1080
+Fullscreen = 1
+ForceFeedback = 1
+Throttle = 1
+
+; Refresh rate (milliHertz accuracy). Actual Model 3 refresh rate is 57.524 Hz
+; but this can cause judder so we use 60 Hz by default.
+RefreshRate = 60.000
+
+; Legacy SCSP DSP implementation for games that do not play well with the newer
+; one (e.g., Fighting Vipers 2)
+LegacySoundDSP = false
+
+; Network board
+Network = false
+SimulateNet = true
+PortIn = 1970
+PortOut = 1971
+AddressOut = "127.0.0.1"
+
+InputJoy1XDeadZone = 5
+InputJoy1YDeadZone = 5
+
+; Common
+InputUIExit = "KEY_ESCAPE,JOY1_BUTTON10+JOY1_BUTTON9"
+InputUIPause = "JOY1_BUTTON10+JOY1_BUTTON8"
+InputUISelectCrosshairs = "JOY1_BUTTON10+JOY1_BUTTON2"
+InputUISaveState = "KEY_9,JOY1_BUTTON10+JOY1_BUTTON7"
+InputUILoadState = "KEY_0,JOY1_BUTTON10+JOY1_BUTTON6"
+InputStart1 = "KEY_1,JOY1_BUTTON9"
+InputStart2 = "KEY_2,JOY2_BUTTON10"
+InputCoin1 = "KEY_3,KEY_ALT,JOY1_BUTTON8"
+InputCoin2 = "KEY_4,JOY2_BUTTON9"
+InputServiceA = "KEY_5,JOY1_BUTTON10+JOY1_BUTTON5"
+InputServiceB = "KEY_7,JOY1_BUTTON10+JOY1_BUTTON1"
+InputTestA = "KEY_6,JOY1_BUTTON10+JOY1_BUTTON4"
+InputTestB = "KEY_8,JOY1_BUTTON10+JOY1_BUTTON2"
+
+; 4-way digital joysticks
+InputJoyUp = "KEY_UP,JOY1_UP"
+InputJoyDown = "KEY_DOWN,JOY1_DOWN"
+InputJoyLeft = "KEY_LEFT,JOY1_LEFT"
+InputJoyRight = "KEY_RIGHT,JOY1_RIGHT"
+InputJoyUp2 = "JOY2_UP"
+InputJoyDown2 = "JOY2_DOWN"
+InputJoyLeft2 = "JOY2_LEFT"
+InputJoyRight2 = "JOY2_RIGHT"
+
+; Fighting game buttons
+InputPunch = "KEY_A,JOY1_BUTTON1"
+InputKick = "KEY_S,JOY1_BUTTON2"
+InputGuard = "KEY_D,JOY1_BUTTON4"
+InputEscape = "KEY_F,JOY1_BUTTON5"
+InputPunch2 = "JOY2_BUTTON1"
+InputKick2 = "JOY2_BUTTON2"
+InputGuard2 = "JOY2_BUTTON3"
+InputEscape2 = "JOY2_BUTTON4"
+
+; Spikeout buttons
+InputShift = "KEY_A,JOY1_BUTTON1"
+InputBeat = "KEY_S,JOY1_BUTTON2"
+InputCharge = "KEY_D,JOY1_BUTTON4"
+InputJump = "KEY_F,JOY1_BUTTON5"
+
+; Virtua Striker buttons
+InputShortPass = "KEY_A,JOY1_BUTTON1"
+InputLongPass = "KEY_S,JOY1_BUTTON2"
+InputShoot = "KEY_D,JOY1_BUTTON4"
+InputShortPass2 = "JOY2_BUTTON1"
+InputLongPass2 = "JOY2_BUTTON2"
+InputShoot2 = "JOY2_BUTTON3"
+
+; Steering wheel
+InputSteeringLeft = "KEY_LEFT" ; digital, turn wheel left
+InputSteeringRight = "KEY_RIGHT" ; digital, turn wheel right
+InputSteering = "JOY1_YAXIS" ; analog, full steering range
+
+; Pedals
+InputAccelerator = "KEY_UP,JOY1_RZAXIS_NEG"
+InputBrake = "KEY_DOWN,JOY1_ZAXIS_NEG"
+
+; Up/down shifter manual transmission (all racers)
+InputGearShiftUp = "KEY_Y,JOY1_BUTTON6" ; sequential shift up
+InputGearShiftDown = "KEY_H,JOY1_BUTTON7" ; sequential shift down
+
+; 4-Speed manual transmission (Daytona 2, Sega Rally 2, Scud Race)
+InputGearShift1 = "KEY_Q,JOY1_RYAXIS_NEG"
+InputGearShift2 = "KEY_W,JOY1_RYAXIS_POS"
+InputGearShift3 = "KEY_E,JOY1_RXAXIS_NEG"
+InputGearShift4 = "KEY_R,JOY1_RXAXIS_POS"
+InputGearShiftN = "KEY_T"
+
+; VR4 view change buttons (Daytona 2, Le Mans 24, Scud Race)
+InputVR1 = "KEY_A,JOY1_BUTTON1"
+InputVR2 = "KEY_S,JOY1_BUTTON2"
+InputVR3 = "KEY_D,JOY1_BUTTON4"
+InputVR4 = "KEY_F,JOY1_BUTTON5"
+
+; Single view change button (Dirt Devils, ECA, Harley-Davidson, Sega Rally 2)
+InputViewChange = "KEY_A,JOY1_BUTTON1"
+
+; Handbrake (Dirt Devils, Sega Rally 2)
+InputHandBrake = "KEY_S,JOY1_BUTTON2"
+
+; Harley-Davidson controls
+InputRearBrake = "KEY_S,JOY1_BUTTON2"
+InputMusicSelect = "KEY_D,JOY1_BUTTON4"
+
+; Virtual On macros
+InputTwinJoyTurnLeft = "KEY_Q,JOY1_RXAXIS_NEG"
+InputTwinJoyTurnRight = "KEY_W,JOY1_RXAXIS_POS"
+InputTwinJoyForward = "KEY_UP,JOY1_XAXIS_POS"
+InputTwinJoyReverse = "KEY_DOWN,JOY1_XAXIS_NEG"
+InputTwinJoyStrafeLeft = "KEY_LEFT,JOY1_YAXIS_NEG"
+InputTwinJoyStrafeRight = "KEY_RIGHT,JOY1_YAXIS_POS"
+InputTwinJoyJump = "KEY_E,JOY1_BUTTON1"
+InputTwinJoyCrouch = "KEY_R,JOY1_BUTTON2"
+
+; Virtual On individual joystick mapping
+InputTwinJoyLeft1 = "NONE"
+InputTwinJoyLeft2 = "NONE"
+InputTwinJoyRight1 = "NONE"
+InputTwinJoyRight2 = "NONE"
+InputTwinJoyUp1 = "NONE"
+InputTwinJoyUp2 = "NONE"
+InputTwinJoyDown1 = "NONE"
+InputTwinJoyDown2 = "NONE"
+
+; Virtual On buttons
+InputTwinJoyShot1 = "KEY_A,JOY1_ZAXIS_NEG"
+InputTwinJoyShot2 = "KEY_S,JOY1_RZAXIS_NEG"
+InputTwinJoyTurbo1 = "KEY_Z,JOY1_BUTTON6"
+InputTwinJoyTurbo2 = "KEY_X,JOY1_BUTTON7"
+
+; Analog joystick (Star Wars Trilogy)
+InputAnalogJoyLeft = "KEY_LEFT" ; digital, move left
+InputAnalogJoyRight = "KEY_RIGHT" ; digital, move right
+InputAnalogJoyUp = "KEY_UP" ; digital, move up
+InputAnalogJoyDown = "KEY_DOWN" ; digital, move down
+InputAnalogJoyX = "JOY1_YAXIS,MOUSE1_XAXIS_INV" ; analog, full X axis
+InputAnalogJoyY = "JOY1_XAXIS_INV,MOUSE1_YAXIS_INV" ; analog, full Y axis
+InputAnalogJoyTrigger = "KEY_A,JOY1_BUTTON1,MOUSE1_LEFT_BUTTON"
+InputAnalogJoyEvent = "KEY_S,JOY1_BUTTON2,MOUSE1_RIGHT_BUTTON"
+InputAnalogJoyTrigger2 = "KEY_D,JOY1_BUTTON5"
+InputAnalogJoyEvent2 = "JOY1_BUTTON4"
+
+; Light guns (Lost World)
+InputGunLeft = "KEY_LEFT" ; digital, move gun left
+InputGunRight = "KEY_RIGHT" ; digital, move gun right
+InputGunUp = "KEY_UP" ; digital, move gun up
+InputGunDown = "KEY_DOWN" ; digital, move gun down
+InputGunX = "JOY1_YAXIS" ; analog, full X axis
+InputGunY = "JOY1_XAXIS_INV" ; analog, full Y axis
+InputTrigger = "KEY_A,JOY1_BUTTON1,MOUSE1_LEFT_BUTTON"
+InputOffscreen = "KEY_S,JOY1_BUTTON2,MOUSE1_RIGHT_BUTTON" ; point off-screen
+InputAutoTrigger = 1 ; automatic reload when off-screen
+InputGunLeft2 = "NONE"
+InputGunRight2 = "NONE"
+InputGunUp2 = "NONE"
+InputGunDown2 = "NONE"
+InputGunX2 = "JOY2_XAXIS,MOUSE2_XAXIS"
+InputGunY2 = "JOY2_YAXIS,MOUSE2_YAXIS"
+InputTrigger2 = "JOY2_BUTTON1,MOUSE2_LEFT_BUTTON"
+InputOffscreen2 = "JOY2_BUTTON2,MOUSE2_RIGHT_BUTTON"
+InputAutoTrigger2 = 1
+
+; Analog guns (Ocean Hunter, LA Machineguns)
+InputAnalogGunLeft = "KEY_LEFT" ; digital, move gun left
+InputAnalogGunRight = "KEY_RIGHT" ; digital, move gun right
+InputAnalogGunUp = "KEY_UP" ; digital, move gun up
+InputAnalogGunDown = "KEY_DOWN" ; digital, move gun down
+InputAnalogGunX = "JOY1_YAXIS" ; analog, full X axis
+InputAnalogGunY = "JOY1_XAXIS_INV" ; analog, full Y axis
+InputAnalogTriggerLeft = "KEY_A,JOY1_BUTTON1,MOUSE1_LEFT_BUTTON"
+InputAnalogTriggerRight = "KEY_S,JOY1_BUTTON2,MOUSE1_RIGHT_BUTTON"
+InputAnalogGunLeft2 = "NONE"
+InputAnalogGunRight2 = "NONE"
+InputAnalogGunUp2 = "NONE"
+InputAnalogGunDown2 = "NONE"
+InputAnalogGunX2 = "MOUSE2_XAXIS"
+InputAnalogGunY2 = "MOUSE2_YAXIS"
+InputAnalogTriggerLeft2 = "MOUSE2_LEFT_BUTTON"
+InputAnalogTriggerRight2 = "MOUSE2_RIGHT_BUTTON"
+
+; Ski Champ controls
+InputSkiLeft = "KEY_LEFT"
+InputSkiRight = "KEY_RIGHT"
+InputSkiUp = "KEY_UP"
+InputSkiDown = "KEY_DOWN"
+InputSkiX = "JOY1_YAXIS"
+InputSkiY = "JOY1_XAXIS_INV"
+InputSkiPollLeft = "KEY_A,JOY1_ZAXIS_NEG"
+InputSkiPollRight = "KEY_S,JOY1_RZAXIS_NEG"
+InputSkiSelect1 = "KEY_Q,JOY1_BUTTON1"
+InputSkiSelect2 = "KEY_W,JOY1_BUTTON2"
+InputSkiSelect3 = "KEY_E,JOY1_BUTTON4"
+
+; Magical Truck Adventure controls
+InputMagicalLeverUp1 = "KEY_UP"
+InputMagicalLeverDown1 = "KEY_DOWN"
+InputMagicalLeverUp2 = "NONE"
+InputMagicalLeverDown2 = "NONE"
+InputMagicalLever1 = "JOY1_XAXIS"
+InputMagicalLever2 = "JOY2_YAXIS"
+InputMagicalPedal1 = "KEY_A,JOY1_BUTTON1"
+InputMagicalPedal2 = "KEY_S,JOY2_BUTTON1"
+
+; Sega Bass Fishing / Get Bass controls
+InputFishingRodLeft = "KEY_LEFT"
+InputFishingRodRight = "KEY_RIGHT"
+InputFishingRodUp = "KEY_UP"
+InputFishingRodDown = "KEY_DOWN"
+InputFishingStickLeft = "KEY_A"
+InputFishingStickRight = "KEY_D"
+InputFishingStickUp = "KEY_W"
+InputFishingStickDown = "KEY_S"
+InputFishingRodX = "JOY1_YAXIS"
+InputFishingRodY = "JOY1_XAXIS_INV"
+InputFishingStickX = "JOY1_RXAXIS"
+InputFishingStickY = "JOY1_RYAXIS"
+InputFishingReel = "KEY_SPACE,JOY1_ZAXIS_NEG"
+InputFishingCast = "KEY_Z,JOY1_BUTTON1"
+InputFishingSelect = "KEY_X,JOY1_BUTTON2"
+InputFishingTension = "KEY_T,JOY1_RZAXIS_NEG"
+
+ ;Our non input settings...
+
+; Game specific settings
+;daytona 2 power edition
+ [ dayto2pe ]
+PowerPCFrequency = 90
+EmulateDSB = 1
+;daytona 2: battle to the edge
+ [ daytona2 ]
+PowerPCFrequency = 90
+EmulateDSB = 1
+ ;Dirt Devils (Export, Revision A)
+ [ dirtdvls ]
+PowerPCFrequency = 60
+;Dirt Devils (Australia, Revision A)
+ [ dirtdvlsa ]
+PowerPCFrequency = 60
+;Dirt Devils (German)
+ [ dirtdvlsg ]
+PowerPCFrequency = 60
+;Dirt Devils (Japan, Revision A)
+ [ dirtdvlsj ]
+PowerPCFrequency = 60
+;Emergency Call Ambulance (Export) - NOT WORKING PI
+ [ eca ]
+;Emergency Call Ambulance (Japan) - NOIT WORKING PI
+ [ ecaj ]
+;Emergency Call Ambulance (US location test?) - NOT WORKING PI
+ [ ecap ]
+;Emergency Call Ambulance (USA) - NOT WORKING PI
+ [ ecau ]
+;Fighting Vipers 2 (Japan, Revision A)
+ [ fvipers2 ]
+PowerPCFrequency = 55
+;Fighting Vipers 2 (?)
+ [ fvipers2o ]
+PowerPCFrequency = 48
+;Get Bass (?)
+ [ getbass ]
+PowerPCFrequency = 30
+;Harley-Davidson and L.A. Riders (Revision B) - pi too slow
+ [ harley ]
+PowerPCFrequency = 166
+;Harley-Davidson and L.A. Riders (Revision A) - pi too slow
+ [ harleya ]
+PowerPCFrequency = 166
+;L.A. Machineguns: Rage of the Machines (Japan)
+ [ lamachin ]
+PowerPCFrequency = 40
+;Le Mans 24 (Revision B)
+ [ lemans24 ]
+ ;The Lost World (Japan, Revision A)
+ [ lostwsga ];The Lost World (Original Revision)
+PowerPCFrequency = 33
+ [ lostwsgo ]
+PowerPCFrequency = 33
+;Magical Truck Adventure (Japan)
+ [ magtruck ]
+PowerPCFrequency = 40
+;The Ocean Hunter - Default works fine on pi
+ [ oceanhun ]
+MusicVolume = 200
+SoundVolume = 200
+ [ oceanhuna ]
+MusicVolume = 200
+SoundVolume = 200
+;Scud Race (Australia, Twin)
+ [ scud ]
+PowerPCFrequency = 35
+MusicVolume = 200
+EmulateDSB = 1
+;Scud Race (Export, Twin)
+ [ scuda ]
+PowerPCFrequency = 35
+MusicVolume = 200
+EmulateDSB = 1
+;Scud Race (Japan, Deluxe)
+ [ scudj ]
+PowerPCFrequency = 35
+MusicVolume = 200
+EmulateDSB = 1
+;Scud Race Plus (Revision A)
+ [ scudplus ]
+PowerPCFrequency = 35
+MusicVolume = 200
+EmulateDSB = 1
+;Scud Race Plus (?)
+ [ scudplusa ]
+PowerPCFrequency = 35
+MusicVolume = 200
+EmulateDSB = 1
+;Ski Champ (Japan)
+ [ skichamp ]
+;PowerPCFrequency = 43
+PowerPCFrequency = 60
+;Spikeout Final Edition (?) - too slow on pi
+ [ spikeofe ]
+PowerPCFrequency = 100
+EmulateDSB = 1
+;Spikeout (Revision C)
+ [ spikeout ]
+;PowerPCFrequency = 35
+PowerPCFrequency = 55
+EmulateDSB = 1
+;Sega Rally 2 (?)
+ [ srally2 ]
+EmulateDSB = 1
+PowerPCFrequency = 60
+;Sega Rally 2 (Prototype)
+ [ srally2p ]
+PowerPCFrequency = 48
+EmulateDSB = 1
+;Sega Rally 2 (Prototype Version A)
+ [ srally2pa ]
+PowerPCFrequency = 48
+EmulateDSB = 1
+;Sega Rally 2 (Deluxe)
+ [ srally2x ]
+;Playable on pi but more slower down than srally2
+PowerPCFrequency = 100
+EmulateDSB = 1
+;Star Wars Trilogy Arcade - Default works fine on pi
+ [ swtrilgy ]
+;Star Wars Trilogy Arcade (?)
+ [ swtrilgya ]
+;Star Wars Trilogy Arcade (?)
+ [ swtrilgyp ]
+;Virtua Fighter 3 (Revision D)
+ [ vf3 ]
+PowerPCFrequency = 40
+;PowerPCFrequency = 100
+;Virtua Fighter 3 (Revision A)
+ [ vf3a ]
+PowerPCFrequency = 40
+;Virtua Fighter 3 (Revision C)
+ [ vf3c ]
+PowerPCFrequency = 40
+;Virtua Fighter 3 Team Battle (?)
+ [ vf3tb ]
+PowerPCFrequency = 40
+;Virtual On 2: Oratorio Tangram (Revision B)
+ [ von2 ]
+PowerPCFrequency = 30
+;Virtual On 2: Oratorio Tangram (Ver 5.4g)
+ [ von254g ]
+PowerPCFrequency = 30
+;Virtual On 2: Oratorio Tangram (Revision A)
+ [ von2a ]
+PowerPCFrequency = 30
+;Virtual On 2: Oratorio Tangram (?)
+ [ von2o ]
+PowerPCFrequency = 35
+;Virtua Striker 2 (Step 2.0) - no special settings
+ [ vs2 ]
+;Virtua Striker 2 (Step 1.5) - no special settings
+ [ vs215 ]
+;Virtua Striker 2 (Step 1.5, older) - no special settings
+ [ vs215o ]
+;Virtua Striker 2 '98 (Step 2.0) - no special settings
+ [ vs298 ]
+;Virtua Striker 2 '98 (Step 1.5) - no special settings
+ [ vs29815 ]
+;Virtua Striker 2 '99 (?)
+ [ vs299 ]
+;Virtua Striker 2 '99 (Step 1.5)
+ [ vs29915 ]
+;Virtua Striker 2 '99 (Revision A)
+ [ vs299a ]
+;Virtua Striker 2 '99 (Revision B)
+ [ vs299b ]
+;Virtua Striker 2 '99.1 (Revision B)
diff --git a/packages/emulators/standalone/supermodel-sa/package.mk b/packages/emulators/standalone/supermodel-sa/package.mk
index c0c7f0ac4..b8d9d4ed4 100644
--- a/packages/emulators/standalone/supermodel-sa/package.mk
+++ b/packages/emulators/standalone/supermodel-sa/package.mk
@@ -41,5 +41,5 @@ makeinstall_target() {
mkdir -p ${INSTALL}/usr/config/supermodel
mkdir -p ${INSTALL}/usr/config/supermodel/Config
cp ${PKG_BUILD}/Config/Games.xml ${INSTALL}/usr/config/supermodel/Config
- cp ${PKG_BUILD}/Config/Supermodel.ini ${INSTALL}/usr/config/supermodel/Config
+ cp -r ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/supermodel/Config
}
From aa076d394a194e4460e8b5741a5b57b742081b7c Mon Sep 17 00:00:00 2001
From: KeyserSoze1 <6797509+KeyserSoze1@users.noreply.github.com>
Date: Sat, 6 Apr 2024 16:06:02 -0400
Subject: [PATCH 3/4] Added supermodel features for rendering engine, vsync and
resolution.
---
.../supermodel-sa/scripts/start_supermodel.sh | 41 ++++++++++++++++++-
.../config/common/es_features.cfg | 26 +++++++++---
2 files changed, 60 insertions(+), 7 deletions(-)
diff --git a/packages/emulators/standalone/supermodel-sa/scripts/start_supermodel.sh b/packages/emulators/standalone/supermodel-sa/scripts/start_supermodel.sh
index b9c4ab948..3a96cce7b 100755
--- a/packages/emulators/standalone/supermodel-sa/scripts/start_supermodel.sh
+++ b/packages/emulators/standalone/supermodel-sa/scripts/start_supermodel.sh
@@ -41,6 +41,43 @@ else
unset EMUPERF
fi
+#Emulation Station Features
+GAME=$(echo "${1}"| sed "s#^/.*/##")
+VSYNC=$(get_setting vsync segamodel3 "${GAME}")
+RESOLUTION=$(get_setting resolution segamodel3 "${GAME}")
+ENGINE=$(get_setting rendering_engine segamodel3 "${GAME}")
+
+OPTIONS=
+
+#VSYNC
+if [ "$VSYNC" = "true" ]
+then
+ OPTIONS+=" -vsync"
+elif [ "$VSYNC" = "false" ]
+then
+ OPTIONS+=" -no-vsync"
+fi
+
+#ENGINE
+if [ "$ENGINE" = "1" ]
+then
+ OPTIONS+=" -new3d"
+elif [ "$ENGINE" = "0" ]
+then
+ OPTIONS+=" -legacy3d"
+fi
+
+#RESOLUTION
+if [ "$RESOLUTION" = "1" ]
+then
+ OPTIONS+=" -res=496,384"
+elif [ "$RESOLUTION" = "2" ]
+then
+ OPTIONS+=" -res=992,768"
+else
+ OPTIONS+=" -fullscreen"
+fi
+
cd ${CONFIG_DIR}
-echo "Command: supermodel "${1}" -fullscreen" >/var/log/exec.log 2>&1
-${EMUPERF} supermodel "${1}" -fullscreen >>/var/log/exec.log 2>&1 ||:
\ No newline at end of file
+echo "Command: supermodel "${1}" ${OPTIONS}" >/var/log/exec.log 2>&1
+${EMUPERF} supermodel "${1}" ${OPTIONS} >>/var/log/exec.log 2>&1 ||:
\ No newline at end of file
diff --git a/packages/ui/emulationstation/config/common/es_features.cfg b/packages/ui/emulationstation/config/common/es_features.cfg
index fb3f931de..a8df47133 100644
--- a/packages/ui/emulationstation/config/common/es_features.cfg
+++ b/packages/ui/emulationstation/config/common/es_features.cfg
@@ -764,11 +764,6 @@
-
-
-
-
-
@@ -981,4 +976,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 301d47ba18a40e3c3be2f9840f6f2bede4dc93b9 Mon Sep 17 00:00:00 2001
From: KeyserSoze1 <6797509+KeyserSoze1@users.noreply.github.com>
Date: Sat, 6 Apr 2024 16:06:46 -0400
Subject: [PATCH 4/4] Bumped theme for supermodel additions.
---
packages/ui/themes/es-theme-art-book-next/package.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/ui/themes/es-theme-art-book-next/package.mk b/packages/ui/themes/es-theme-art-book-next/package.mk
index 5762e8fd9..ae264f005 100644
--- a/packages/ui/themes/es-theme-art-book-next/package.mk
+++ b/packages/ui/themes/es-theme-art-book-next/package.mk
@@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="es-theme-art-book-next"
-PKG_VERSION="3c1df8c56cbe1ca476531da14c01af77aa9092a4"
+PKG_VERSION="9709a73be65faab5cb18d38de5fc0298aec7fcd6"
PKG_ARCH="any"
PKG_LICENSE="CUSTOM"
PKG_SITE="https://github.com/anthonycaccese/art-book-next-jelos"