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"