commit
bd5275302f
59 changed files with 2997 additions and 190 deletions
|
@ -59,5 +59,6 @@ makeinstall_target() {
|
|||
--with-system \
|
||||
--with-thread \
|
||||
--with-nowide \
|
||||
--with-context \
|
||||
install
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
PKG_NAME="PPSSPPSDL"
|
||||
PKG_VERSION="604810607b0fec15dfe942947ede5c65abd92eaf"
|
||||
PKG_VERSION="aad5d7542e1f8e805121df4713317eda3ba9eb02"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -10,7 +10,7 @@ case ${DEVICE} in
|
|||
RG552|handheld)
|
||||
PKG_SITE="https://github.com/dolphin-emu/dolphin"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_VERSION="000c6c48137028284598043d6f116ac959f41042"
|
||||
PKG_VERSION="a1c4861ad8666b622f96266a20af6e8e787c9693"
|
||||
PKG_PATCH_DIRS+=" wayland"
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -0,0 +1,203 @@
|
|||
diff --git a/Source/Core/Common/Config/Config.cpp b/Source/Core/Common/Config/Config.cpp
|
||||
index 2211d0d5fb..29004787e4 100644
|
||||
--- a/Source/Core/Common/Config/Config.cpp
|
||||
+++ b/Source/Core/Common/Config/Config.cpp
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <algorithm>
|
||||
#include <list>
|
||||
#include <map>
|
||||
+#include <mutex>
|
||||
#include <shared_mutex>
|
||||
|
||||
#include "Common/Config/Config.h"
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp
|
||||
index dc775ef607..0802a06039 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp
|
||||
@@ -133,13 +133,13 @@ const OpArg& Arm64GPRCache::GetGuestGPROpArg(size_t preg) const
|
||||
Arm64GPRCache::GuestRegInfo Arm64GPRCache::GetGuestGPR(size_t preg)
|
||||
{
|
||||
ASSERT(preg < GUEST_GPR_COUNT);
|
||||
- return {32, PPCSTATE_OFF(gpr[preg]), m_guest_registers[GUEST_GPR_OFFSET + preg]};
|
||||
+ return {32, PPCSTATE_OFF_GPR(preg), m_guest_registers[GUEST_GPR_OFFSET + preg]};
|
||||
}
|
||||
|
||||
Arm64GPRCache::GuestRegInfo Arm64GPRCache::GetGuestCR(size_t preg)
|
||||
{
|
||||
ASSERT(preg < GUEST_CR_COUNT);
|
||||
- return {64, PPCSTATE_OFF(cr.fields[preg]), m_guest_registers[GUEST_CR_OFFSET + preg]};
|
||||
+ return {64, PPCSTATE_OFF_CR(preg), m_guest_registers[GUEST_CR_OFFSET + preg]};
|
||||
}
|
||||
|
||||
Arm64GPRCache::GuestRegInfo Arm64GPRCache::GetGuestByIndex(size_t index)
|
||||
@@ -450,8 +450,9 @@ ARM64Reg Arm64FPRCache::R(size_t preg, RegType type)
|
||||
{
|
||||
// Load the high 64bits from the file and insert them in to the high 64bits of the host
|
||||
// register
|
||||
- ARM64Reg tmp_reg = GetReg();
|
||||
- m_float_emit->LDR(64, INDEX_UNSIGNED, tmp_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps1)));
|
||||
+ const ARM64Reg tmp_reg = GetReg();
|
||||
+ m_float_emit->LDR(64, INDEX_UNSIGNED, tmp_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS1(preg)));
|
||||
m_float_emit->INS(64, host_reg, 1, tmp_reg, 0);
|
||||
UnlockRegister(tmp_reg);
|
||||
|
||||
@@ -505,7 +506,7 @@ ARM64Reg Arm64FPRCache::R(size_t preg, RegType type)
|
||||
}
|
||||
reg.SetDirty(false);
|
||||
m_float_emit->LDR(load_size, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
- u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
return host_reg;
|
||||
}
|
||||
default:
|
||||
@@ -553,7 +554,8 @@ ARM64Reg Arm64FPRCache::RW(size_t preg, RegType type)
|
||||
// We are doing a full 128bit store because it takes 2 cycles on a Cortex-A57 to do a 128bit
|
||||
// store.
|
||||
// It would take longer to do an insert to a temporary and a 64bit store than to just do this.
|
||||
- m_float_emit->STR(128, INDEX_UNSIGNED, flush_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
+ m_float_emit->STR(128, INDEX_UNSIGNED, flush_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
break;
|
||||
case REG_DUP_SINGLE:
|
||||
flush_reg = GetReg();
|
||||
@@ -561,7 +563,8 @@ ARM64Reg Arm64FPRCache::RW(size_t preg, RegType type)
|
||||
[[fallthrough]];
|
||||
case REG_DUP:
|
||||
// Store PSR1 (which is equal to PSR0) in memory.
|
||||
- m_float_emit->STR(64, INDEX_UNSIGNED, flush_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps1)));
|
||||
+ m_float_emit->STR(64, INDEX_UNSIGNED, flush_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS1(preg)));
|
||||
break;
|
||||
default:
|
||||
// All other types doesn't store anything in PSR1.
|
||||
@@ -688,7 +691,7 @@ void Arm64FPRCache::FlushRegister(size_t preg, bool maintain_state)
|
||||
if (dirty)
|
||||
{
|
||||
m_float_emit->STR(store_size, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
- u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
}
|
||||
|
||||
if (!maintain_state)
|
||||
@@ -701,12 +704,18 @@ void Arm64FPRCache::FlushRegister(size_t preg, bool maintain_state)
|
||||
{
|
||||
if (dirty)
|
||||
{
|
||||
- // If the paired registers were at the start of ppcState we could do an STP here.
|
||||
- // Too bad moving them would break savestate compatibility between x86_64 and AArch64
|
||||
- // m_float_emit->STP(64, INDEX_SIGNED, host_reg, host_reg, PPC_REG,
|
||||
- // PPCSTATE_OFF(ps[preg].ps0));
|
||||
- m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps0)));
|
||||
- m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG, u32(PPCSTATE_OFF(ps[preg].ps1)));
|
||||
+ if (PPCSTATE_OFF_PS0(preg) <= 504)
|
||||
+ {
|
||||
+ m_float_emit->STP(64, INDEX_SIGNED, host_reg, host_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS0(preg)));
|
||||
+ m_float_emit->STR(64, INDEX_UNSIGNED, host_reg, PPC_REG,
|
||||
+ static_cast<s32>(PPCSTATE_OFF_PS1(preg)));
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!maintain_state)
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h
|
||||
index 9860e4843e..c1b71f1212 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.h
|
||||
@@ -22,6 +22,18 @@ static const Arm64Gen::ARM64Reg DISPATCHER_PC =
|
||||
|
||||
#define PPCSTATE_OFF(elem) (offsetof(PowerPC::PowerPCState, elem))
|
||||
|
||||
+#define PPCSTATE_OFF_ARRAY(elem, i) \
|
||||
+ (offsetof(PowerPC::PowerPCState, elem[0]) + sizeof(PowerPC::PowerPCState::elem[0]) * (i))
|
||||
+
|
||||
+#define PPCSTATE_OFF_GPR(i) PPCSTATE_OFF_ARRAY(gpr, i)
|
||||
+#define PPCSTATE_OFF_CR(i) PPCSTATE_OFF_ARRAY(cr.fields, i)
|
||||
+#define PPCSTATE_OFF_SR(i) PPCSTATE_OFF_ARRAY(sr, i)
|
||||
+#define PPCSTATE_OFF_SPR(i) PPCSTATE_OFF_ARRAY(spr, i)
|
||||
+
|
||||
+static_assert(std::is_same_v<decltype(PowerPC::PowerPCState::ps[0]), PowerPC::PairedSingle&>);
|
||||
+#define PPCSTATE_OFF_PS0(i) (PPCSTATE_OFF_ARRAY(ps, i) + offsetof(PowerPC::PairedSingle, ps0))
|
||||
+#define PPCSTATE_OFF_PS1(i) (PPCSTATE_OFF_ARRAY(ps, i) + offsetof(PowerPC::PairedSingle, ps1))
|
||||
+
|
||||
// Some asserts to make sure we will be able to load everything
|
||||
static_assert(PPCSTATE_OFF(spr[1023]) <= 16380, "LDR(32bit) can't reach the last SPR");
|
||||
static_assert((PPCSTATE_OFF(ps[0].ps0) % 8) == 0,
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp
|
||||
index d5889fd62c..427afe8c15 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp
|
||||
@@ -111,7 +111,7 @@ void JitArm64::mfsr(UGeckoInstruction inst)
|
||||
JITDISABLE(bJITSystemRegistersOff);
|
||||
|
||||
gpr.BindToRegister(inst.RD, false);
|
||||
- LDR(INDEX_UNSIGNED, gpr.R(inst.RD), PPC_REG, PPCSTATE_OFF(sr[inst.SR]));
|
||||
+ LDR(INDEX_UNSIGNED, gpr.R(inst.RD), PPC_REG, PPCSTATE_OFF_SR(inst.SR));
|
||||
}
|
||||
|
||||
void JitArm64::mtsr(UGeckoInstruction inst)
|
||||
@@ -120,7 +120,7 @@ void JitArm64::mtsr(UGeckoInstruction inst)
|
||||
JITDISABLE(bJITSystemRegistersOff);
|
||||
|
||||
gpr.BindToRegister(inst.RS, true);
|
||||
- STR(INDEX_UNSIGNED, gpr.R(inst.RS), PPC_REG, PPCSTATE_OFF(sr[inst.SR]));
|
||||
+ STR(INDEX_UNSIGNED, gpr.R(inst.RS), PPC_REG, PPCSTATE_OFF_SR(inst.SR));
|
||||
}
|
||||
|
||||
void JitArm64::mfsrin(UGeckoInstruction inst)
|
||||
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp
|
||||
index f6a63ee2e6..91da6b2643 100644
|
||||
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp
|
||||
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp
|
||||
@@ -77,7 +77,7 @@ void JitArm64::psq_l(UGeckoInstruction inst)
|
||||
}
|
||||
else
|
||||
{
|
||||
- LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
+ //LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
UBFM(type_reg, scale_reg, 16, 18); // Type
|
||||
UBFM(scale_reg, scale_reg, 24, 29); // Scale
|
||||
|
||||
@@ -179,7 +179,7 @@ void JitArm64::psq_st(UGeckoInstruction inst)
|
||||
m_float_emit.FCVTN(32, D0, VS);
|
||||
}
|
||||
|
||||
- LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
+ //LDR(INDEX_UNSIGNED, scale_reg, PPC_REG, PPCSTATE_OFF(spr[SPR_GQR0 + inst.I]));
|
||||
UBFM(type_reg, scale_reg, 0, 2); // Type
|
||||
UBFM(scale_reg, scale_reg, 8, 13); // Scale
|
||||
|
||||
diff --git a/Source/Core/DiscIO/WIACompression.cpp b/Source/Core/DiscIO/WIACompression.cpp
|
||||
index 20d19c4877..10d6d67c22 100644
|
||||
--- a/Source/Core/DiscIO/WIACompression.cpp
|
||||
+++ b/Source/Core/DiscIO/WIACompression.cpp
|
||||
@@ -165,18 +165,18 @@ bool Bzip2Decompressor::Decompress(const DecompressionBuffer& in, DecompressionB
|
||||
m_started = true;
|
||||
}
|
||||
|
||||
- constexpr auto clamped_cast = [](size_t x) {
|
||||
- return static_cast<unsigned int>(
|
||||
- std::min<size_t>(std::numeric_limits<unsigned int>().max(), x));
|
||||
- };
|
||||
+ //constexpr auto clamped_cast = [](size_t x) {
|
||||
+ //return static_cast<unsigned int>(
|
||||
+ //std::min<size_t>(std::numeric_limits<unsigned int>().max(), x));
|
||||
+ //};
|
||||
|
||||
char* const in_ptr = reinterpret_cast<char*>(const_cast<u8*>(in.data.data() + *in_bytes_read));
|
||||
m_stream.next_in = in_ptr;
|
||||
- m_stream.avail_in = clamped_cast(in.bytes_written - *in_bytes_read);
|
||||
+ //m_stream.avail_in = clamped_cast(in.bytes_written - *in_bytes_read);
|
||||
|
||||
char* const out_ptr = reinterpret_cast<char*>(out->data.data() + out->bytes_written);
|
||||
m_stream.next_out = out_ptr;
|
||||
- m_stream.avail_out = clamped_cast(out->data.size() - out->bytes_written);
|
||||
+ //m_stream.avail_out = clamped_cast(out->data.size() - out->bytes_written);
|
||||
|
||||
const int result = BZ2_bzDecompress(&m_stream);
|
||||
|
|
@ -128,7 +128,7 @@ ln -sf /storage/roms/savestates/gamecube /storage/.config/dolphin-emu/StateSaves
|
|||
fi
|
||||
|
||||
#GC Controller Profile
|
||||
if [ "$CON" = "default" ]
|
||||
if [ "$CON" = "gcpad" ]
|
||||
then
|
||||
cp -r /usr/config/dolphin-emu/GCPadNew.ini /storage/.config/dolphin-emu/GCPadNew.ini
|
||||
fi
|
||||
|
|
|
@ -10,7 +10,7 @@ PKG_SHORTDESC="Fast PlayStation 1 emulator for x86-64/AArch32/AArch64 "
|
|||
|
||||
case ${DEVICE} in
|
||||
RG552|handheld)
|
||||
PKG_VERSION="9d23df3aba5f132fdc5ad46da47c90d77bbf4725"
|
||||
PKG_VERSION="3f5552d6acb429a3e953b40c1734fda2cdac72be"
|
||||
PKG_PATCH_DIRS+=" new"
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -18,20 +18,30 @@ if [ ! "${OPENGL}" = "no" ]; then
|
|||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# PKG_MAKE_OPTS_TARGET+="USE_GLES=0"
|
||||
# else
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_MAKE_OPTS_TARGET+="USE_GLES=1"
|
||||
# fi
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export V=1
|
||||
|
|
|
@ -136,7 +136,7 @@ Joy Mapping Increase Volume = ""
|
|||
# Joystick event string for decreasing the volume
|
||||
Joy Mapping Decrease Volume = ""
|
||||
# Joystick event string for fast-forward
|
||||
Joy Mapping Fast Forward = ""
|
||||
Joy Mapping Fast Forward = "J0B8/B7"
|
||||
# Joystick event string for advancing by one frame when paused
|
||||
Joy Mapping Frame Advance = ""
|
||||
# Joystick event string for pressing the game shark button
|
||||
|
|
|
@ -136,7 +136,7 @@ Joy Mapping Increase Volume = ""
|
|||
# Joystick event string for decreasing the volume
|
||||
Joy Mapping Decrease Volume = ""
|
||||
# Joystick event string for fast-forward
|
||||
Joy Mapping Fast Forward = ""
|
||||
Joy Mapping Fast Forward = "J0B8/B11"
|
||||
# Joystick event string for advancing by one frame when paused
|
||||
Joy Mapping Frame Advance = ""
|
||||
# Joystick event string for pressing the game shark button
|
||||
|
|
|
@ -136,7 +136,7 @@ Joy Mapping Increase Volume = ""
|
|||
# Joystick event string for decreasing the volume
|
||||
Joy Mapping Decrease Volume = ""
|
||||
# Joystick event string for fast-forward
|
||||
Joy Mapping Fast Forward = ""
|
||||
Joy Mapping Fast Forward = "J0B8/B11"
|
||||
# Joystick event string for advancing by one frame when paused
|
||||
Joy Mapping Frame Advance = ""
|
||||
# Joystick event string for pressing the game shark button
|
||||
|
|
|
@ -136,7 +136,7 @@ Joy Mapping Increase Volume = ""
|
|||
# Joystick event string for decreasing the volume
|
||||
Joy Mapping Decrease Volume = ""
|
||||
# Joystick event string for fast-forward
|
||||
Joy Mapping Fast Forward = ""
|
||||
Joy Mapping Fast Forward = "J0B8/B7"
|
||||
# Joystick event string for advancing by one frame when paused
|
||||
Joy Mapping Frame Advance = ""
|
||||
# Joystick event string for pressing the game shark button
|
||||
|
|
|
@ -136,7 +136,7 @@ Joy Mapping Increase Volume = ""
|
|||
# Joystick event string for decreasing the volume
|
||||
Joy Mapping Decrease Volume = ""
|
||||
# Joystick event string for fast-forward
|
||||
Joy Mapping Fast Forward = ""
|
||||
Joy Mapping Fast Forward = "J0B8/B7"
|
||||
# Joystick event string for advancing by one frame when paused
|
||||
Joy Mapping Frame Advance = ""
|
||||
# Joystick event string for pressing the game shark button
|
||||
|
@ -434,6 +434,8 @@ EnableNativeResTexrects = 1
|
|||
ThreadedVideo = 1
|
||||
# Screen aspect ratio (0=stretch, 1=force 4:3, 2=force 16:9, 3=adjust)
|
||||
AspectRatio = 1
|
||||
# Display On-screen FPS
|
||||
ShowFPS = 0
|
||||
|
||||
[Video-Glide64mk2]
|
||||
|
||||
|
@ -542,6 +544,8 @@ fb_render = -1
|
|||
autoframeskip = False
|
||||
# If autoframeskip is true, skip up to this many frames to maintain clock schedule; if autoframeskip is false, skip exactly this many frames
|
||||
maxframeskip = 0
|
||||
# Display On-screen FPS
|
||||
show_fps = 0
|
||||
|
||||
|
||||
[Video-Rice]
|
||||
|
|
|
@ -136,7 +136,7 @@ Joy Mapping Increase Volume = ""
|
|||
# Joystick event string for decreasing the volume
|
||||
Joy Mapping Decrease Volume = ""
|
||||
# Joystick event string for fast-forward
|
||||
Joy Mapping Fast Forward = ""
|
||||
Joy Mapping Fast Forward = "J0B8/B7"
|
||||
# Joystick event string for advancing by one frame when paused
|
||||
Joy Mapping Frame Advance = ""
|
||||
# Joystick event string for pressing the game shark button
|
||||
|
@ -384,7 +384,7 @@ AudioPlugin = "mupen64plus-audio-sdl.so"
|
|||
# Filename of input plugin
|
||||
InputPlugin = "mupen64plus-input-sdl.so"
|
||||
# Filename of RSP plugin
|
||||
RspPlugin = "mupen64plus-rsp-cxd4.so"
|
||||
RspPlugin = "mupen64plus-rsp-hle.so"
|
||||
|
||||
|
||||
[Video-General]
|
||||
|
@ -404,9 +404,11 @@ Rotate = 0
|
|||
|
||||
###### Hardware Compatibility ######
|
||||
# Leave enabled unless a mobile gpu doesn't support it.
|
||||
EnableFragmentDepthWrite = 1
|
||||
EnableFragmentDepthWrite = 0
|
||||
# Hardware per pixel lighting, supposedly good for GLES3.1 devices or higher.
|
||||
EnableHWLighting = 0
|
||||
EnableHWLighting = 1
|
||||
# Do not use shaders to emulate N64 blending modes. Works faster on slow GPU. Can cause glitches.
|
||||
EnableLegacyBlending = 0
|
||||
|
||||
###### Enhancements #######
|
||||
# Internal render resoluton rather than output. So 2 x 240p is 480p, etc.
|
||||
|
@ -419,7 +421,7 @@ FXAA = 0
|
|||
anisotropy = 0
|
||||
# Bilinear filtering mode (0=N64 3point, 1=standard)
|
||||
# @rishooty: best to use this at 1x native res, any higher turn it off.
|
||||
bilinearMode = 1
|
||||
bilinearMode = 0
|
||||
|
||||
###### Compatibility ######
|
||||
# Make texrect coordinates continuous to avoid black lines between them. (0=Off/default, 1=Auto, 2=Force)
|
||||
|
|
|
@ -6,38 +6,25 @@
|
|||
|
||||
. /etc/profile
|
||||
|
||||
echo 'starting mupen64plus stand alone emulator...'
|
||||
|
||||
#Emulation Station Features
|
||||
CORE="$1"
|
||||
ROM="${2##*/}"
|
||||
PLATFORM="n64"
|
||||
GAME=$(echo "${2}"| sed "s#^/.*/##")
|
||||
ASPECT=$(get_setting game_aspect_ratio n64 "${GAME}")
|
||||
IRES=$(get_setting internal_resolution n64 "${GAME}")
|
||||
RSP=$(get_setting rsp_plugin n64 "${GAME}")
|
||||
FPS=$(get_setting show_fps n64 "${GAME}")
|
||||
PAK=$(get_setting controller_pak n64 "${GAME}")
|
||||
CON=$(get_setting input_configuration n64 "${GAME}")
|
||||
SHARE="/usr/local/share/mupen64plus"
|
||||
INPUTCFGBASE="$SHARE/InputAutoCfg.ini"
|
||||
CONF="/storage/.config/system/configs/system.cfg"
|
||||
M64PCONF="/storage/.config/game/configs/mupen64plussa/mupen64plus.cfg"
|
||||
TMP="/tmp/mupen64plussa"
|
||||
GAMEDATA="/storage/.config/game/configs/mupen64plussa"
|
||||
|
||||
rm -rf $TMP
|
||||
mkdir -p $TMP
|
||||
|
||||
function get_setting() {
|
||||
#We look for the setting on the ROM first, if not found we search for platform and lastly we search globally
|
||||
PAT="s|^${PLATFORM}\[\"${ROM}\"\].*${1}=\(.*\)|\1|p"
|
||||
EES=$(sed -n "${PAT}" "${CONF}" | head -1)
|
||||
|
||||
if [ -z "${EES}" ]; then
|
||||
PAT="s|^${PLATFORM}[\.-]${1}=\(.*\)|\1|p"
|
||||
EES=$(sed -n "${PAT}" "${CONF}" | head -1)
|
||||
fi
|
||||
|
||||
if [ -z "${EES}" ]; then
|
||||
PAT="s|^global[\.-].*${1}=\(.*\)|\1|p"
|
||||
EES=$(sed -n "${PAT}" "${CONF}" | head -1)
|
||||
fi
|
||||
|
||||
[ -z "${EES}" ] && EES="false"
|
||||
}
|
||||
RESOLUTION=$(batocera-resolution "currentResolution")
|
||||
RESA=${RESOLUTION%x*}
|
||||
RESB=${RESOLUTION#*x}
|
||||
SCREENWIDTH=$((RESA>=RESB ? RESA : RESB))
|
||||
SCREENHEIGHT=$((RESA<RESB ? RESA : RESB))
|
||||
|
||||
if [[ ! -f "$GAMEDATA/custominput.ini" ]]; then
|
||||
mkdir -p $GAMEDATA
|
||||
|
@ -49,58 +36,62 @@ if [[ ! -f "$M64PCONF" ]]; then
|
|||
cp $SHARE/mupen64plus.cfg $M64PCONF
|
||||
fi
|
||||
|
||||
rm -rf $TMP
|
||||
mkdir -p $TMP
|
||||
|
||||
cp $M64PCONF $TMP
|
||||
|
||||
RESOLUTION=$(batocera-resolution "currentResolution")
|
||||
echo ${RESOLUTION}
|
||||
RESA=${RESOLUTION%x*}
|
||||
RESB=${RESOLUTION#*x}
|
||||
SCREENWIDTH=$((RESA>=RESB ? RESA : RESB))
|
||||
echo ${SCREENWIDTH}
|
||||
SCREENHEIGHT=$((RESA<RESB ? RESA : RESB))
|
||||
echo ${SCREENHEIGHT}
|
||||
|
||||
SET_PARAMS="--set Core[SharedDataPath]=$TMP --set Video-Rice[ResolutionWidth]=$SCREENWIDTH"
|
||||
|
||||
# Game Aspect Ratio
|
||||
# Get configuration from system.cfg
|
||||
get_setting "game_aspect_ratio"
|
||||
echo ${EES}
|
||||
if [ "${EES}" == "fullscreen" ]; then
|
||||
# TODO: Set aspect ratio to fullscreen
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$SCREENWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT --set Video-Glide64mk2[aspect]=2 --set Video-GLideN64[AspectRatio]=3"
|
||||
else
|
||||
# TODO: Set aspect ratio to 4:3
|
||||
if [ $1 = "m64p_rice" ]; then
|
||||
GAMEWIDTH=$(((SCREENHEIGHT * 4) / 3))
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$GAMEWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT"
|
||||
#Aspect Ratio
|
||||
if [ "${ASPECT}" = "fullscreen" ]; then
|
||||
# TODO: Set aspect ratio to fullscreen
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$SCREENWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT --set Video-Glide64mk2[aspect]=2 --set Video-GLideN64[AspectRatio]=3"
|
||||
else
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$SCREENWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT --set Video-Glide64mk2[aspect]=0 --set Video-GLideN64[AspectRatio]=1"
|
||||
# TODO: Set aspect ratio to 4:3
|
||||
if [ "{$CORE}" = "m64p_rice" ]; then
|
||||
GAMEWIDTH=$(((SCREENHEIGHT * 4) / 3))
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$GAMEWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT"
|
||||
else
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$SCREENWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT --set Video-Glide64mk2[aspect]=0 --set Video-GLideN64[AspectRatio]=1"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Game Aspect Ratio
|
||||
# Get configuration from system.cfg
|
||||
get_setting "input_configuration"
|
||||
echo ${EES}
|
||||
if [ "${EES}" == "zlswap" ]; then
|
||||
#cat $INPUTCFGBASE <(echo) $SHARE/zlswap.ini > $TMP/InputAutoCfg.ini
|
||||
cp $SHARE/zlswap.ini $TMP/InputAutoCfg.ini
|
||||
elif [ "${EES}" == "custom" ]; then
|
||||
cp $GAMEDATA/custominput.ini $TMP/InputAutoCfg.ini
|
||||
else
|
||||
# Default
|
||||
cp $SHARE/default.ini $TMP/InputAutoCfg.ini
|
||||
fi
|
||||
# Native Res Factor (Upscaling)
|
||||
if [ "{$CORE}" = "m64p_gliden64" ]; then
|
||||
sed -i "/UseNativeResolutionFactor/c\UseNativeResolutionFactor = $IRES" /tmp/mupen64plussa/mupen64plus.cfg
|
||||
fi
|
||||
|
||||
|
||||
# Input Config
|
||||
if [ "${CON}" = "zlswap" ]; then
|
||||
cp $SHARE/zlswap.ini $TMP/InputAutoCfg.ini
|
||||
elif [ "${CON}" = "custom" ]; then
|
||||
cp $GAMEDATA/custominput.ini $TMP/InputAutoCfg.ini
|
||||
else
|
||||
# Default
|
||||
cp $SHARE/default.ini $TMP/InputAutoCfg.ini
|
||||
fi
|
||||
|
||||
# Controller Pak
|
||||
sed -i "0,/plugin =/c\plugin = $PAK" /tmp/mupen64plussa/mupen64plus.cfg
|
||||
|
||||
# Show FPS
|
||||
# Get configuration from system.cfg
|
||||
get_setting "show_fps"
|
||||
echo ${EES}
|
||||
if [ "${EES}" == "auto" ] || [ "${EES}" == "disabled" ] || [ "${EES}" == "false" ] || [ "${EES}" == "none" ] || [ "${EES}" == "0" ]; then
|
||||
SET_PARAMS="$SET_PARAMS --set Video-Glide64mk2[show_fps]=0 --set Video-Rice[ShowFPS]=\"False\" --set Video-GLideN64[ShowFPS]=0"
|
||||
if [ "${FPS}" = "true" ]; then
|
||||
sed -i '/ShowFPS = (False|True)/c\ShowFPS = True' /tmp/mupen64plussa/mupen64plus.cfg
|
||||
sed -i '/ShowFPS = [0,1]/c\ShowFPS = 1' /tmp/mupen64plussa/mupen64plus.cfg
|
||||
sed -i '/show_fps/c\show_fps = 1' /tmp/mupen64plussa/mupen64plus.cfg
|
||||
else
|
||||
sed -i '/ShowFPS = (False|True)/c\ShowFPS = False' /tmp/mupen64plussa/mupen64plus.cfg
|
||||
sed -i '/ShowFPS = [0,1]/c\ShowFPS = 0' /tmp/mupen64plussa/mupen64plus.cfg
|
||||
sed -i '/show_fps/c\show_fps = 0' /tmp/mupen64plussa/mupen64plus.cfg
|
||||
fi
|
||||
|
||||
# RSP
|
||||
if [ "${RSP}" = "hle" ]; then
|
||||
SET_PARAMS="$SET_PARAMS --rsp mupen64plus-rsp-hle.so"
|
||||
else
|
||||
SET_PARAMS="$SET_PARAMS --set Video-Glide64mk2[show_fps]=1 --set Video-Rice[ShowFPS]=\"True\" --set Video-GLideN64[ShowFPS]=1"
|
||||
SET_PARAMS="$SET_PARAMS --rsp mupen64plus-rsp-cxd4.so"
|
||||
fi
|
||||
|
||||
echo ${SET_PARAMS}
|
||||
|
|
|
@ -28,12 +28,17 @@ make_target() {
|
|||
export VC=0
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
;;
|
||||
esac
|
||||
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export USE_GLES=1
|
||||
export V=1
|
||||
export OSD=0
|
||||
make -C projects/unix clean
|
||||
|
@ -57,6 +62,7 @@ makeinstall_target() {
|
|||
cp ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/local/share/mupen64plus/
|
||||
chmod 644 ${INSTALL}/usr/local/share/mupen64plus/mupen64plus.cfg
|
||||
fi
|
||||
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/m64p.sh ${INSTALL}/usr/bin
|
||||
chmod 755 ${INSTALL}/usr/bin/m64p.sh
|
||||
|
|
|
@ -18,20 +18,30 @@ if [ ! "${OPENGL}" = "no" ]; then
|
|||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# PKG_MAKE_OPTS_TARGET+="USE_GLES=0"
|
||||
# else
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_MAKE_OPTS_TARGET+="USE_GLES=1"
|
||||
# fi
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export V=1
|
||||
|
|
|
@ -15,20 +15,30 @@ fi
|
|||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
fi
|
||||
|
||||
if [ "${VULKAN_SUPPORT}" = "no" ]; then
|
||||
PKG_MAKE_OPTS_TARGET+="HLEVIDEO=1"
|
||||
else
|
||||
PKG_MAKE_OPTS_TARGET+="HLEVIDEO=0"
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
CPPFLAGS="-DUSE_SSE2NEON"
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export V=1
|
||||
|
|
|
@ -18,20 +18,30 @@ if [ ! "${OPENGL}" = "no" ]; then
|
|||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# PKG_MAKE_OPTS_TARGET+="USE_GLES=0"
|
||||
# else
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_MAKE_OPTS_TARGET+="USE_GLES=1"
|
||||
# fi
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export V=1
|
||||
|
|
|
@ -18,20 +18,30 @@ if [ ! "${OPENGL}" = "no" ]; then
|
|||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# PKG_MAKE_OPTS_TARGET+="USE_GLES=0"
|
||||
# else
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_MAKE_OPTS_TARGET+="USE_GLES=1"
|
||||
# fi
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export V=1
|
||||
|
|
|
@ -18,20 +18,30 @@ if [ ! "${OPENGL}" = "no" ]; then
|
|||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# PKG_MAKE_OPTS_TARGET+="USE_GLES=0"
|
||||
# else
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_MAKE_OPTS_TARGET+="USE_GLES=1"
|
||||
# fi
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export V=1
|
||||
|
|
|
@ -24,19 +24,25 @@ make_target() {
|
|||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
export USE_GLES=1
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
PKG_MAKE_OPTS_TARGET+="-DNOHQ=On -DCRC_ARMV8=On -DEGL=0n -DNEON_OPT=On"
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# PKG_MAKE_OPTS_TARGET+="-DNOHQ=On -DCRC_ARMV8=On -DNEON_OPT=On"
|
||||
# else
|
||||
export USE_GLES=1
|
||||
PKG_MAKE_OPTS_TARGET+="-DNOHQ=On -DCRC_ARMV8=On -DEGL=On -DNEON_OPT=On"
|
||||
# fi
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I${SYSROOT_PREFIX}/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export V=1
|
||||
export VC=0
|
||||
./src/getRevision.sh
|
||||
cmake ${PKG_MAKE_OPTS_TARGET} -DMUPENPLUSAPI=On -S src -B projects/cmake
|
||||
cmake ${PKG_MAKE_OPTS_TARGET} -DMUPENPLUSAPI=On -DGLIDEN64_BUILD_TYPE=Release -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_C_FLAGS="${CFLAGS}" -DCMAKE_CXX_FLAGS="${CXXFLAGS} -pthread" -S src -B projects/cmake
|
||||
make clean -C projects/cmake
|
||||
make -Wno-unused-variable -C projects/cmake
|
||||
}
|
||||
|
|
|
@ -18,20 +18,30 @@ if [ ! "${OPENGL}" = "no" ]; then
|
|||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# PKG_MAKE_OPTS_TARGET+="USE_GLES=0"
|
||||
# else
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_MAKE_OPTS_TARGET+="USE_GLES=1"
|
||||
# fi
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
case ${ARCH} in
|
||||
arm|aarch64)
|
||||
export HOST_CPU=aarch64
|
||||
# if [ "${DEVICE}" = "RG552" ]
|
||||
# then
|
||||
# export USE_GLES=0
|
||||
# else
|
||||
export USE_GLES=1
|
||||
# fi
|
||||
BINUTILS="$(get_build_dir binutils)/.aarch64-libreelec-linux-gnueabi"
|
||||
;;
|
||||
esac
|
||||
export APIDIR=$(get_build_dir mupen64plussa-core)/.install_pkg/usr/local/include/mupen64plus
|
||||
export SDL_CFLAGS="-I$SYSROOT_PREFIX/usr/include/SDL2 -D_REENTRANT"
|
||||
export SDL_CFLAGS="-I$SYSROOT_PREFIX/usr/include/SDL2 -pthread"
|
||||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="$TARGET_PREFIX"
|
||||
export V=1
|
||||
|
|
148
packages/games/emulators/primehack/config/RG552/Dolphin.ini
Normal file
148
packages/games/emulators/primehack/config/RG552/Dolphin.ini
Normal file
|
@ -0,0 +1,148 @@
|
|||
[General]
|
||||
LastFilename =
|
||||
ShowLag = False
|
||||
ShowFrameCount = False
|
||||
ISOPaths = 1
|
||||
RecursiveISOPaths = False
|
||||
NANDRootPath =
|
||||
WirelessMac =
|
||||
[Interface]
|
||||
ConfirmStop = True
|
||||
UsePanicHandlers = True
|
||||
OnScreenDisplayMessages = True
|
||||
HideCursor = False
|
||||
AutoHideCursor = False
|
||||
MainWindowPosX = 403
|
||||
MainWindowPosY = 148
|
||||
MainWindowWidth = 800
|
||||
MainWindowHeight = 600
|
||||
Language = 0
|
||||
ShowToolbar = True
|
||||
ShowStatusbar = True
|
||||
ShowLogWindow = False
|
||||
ShowLogConfigWindow = False
|
||||
ExtendedFPSInfo = False
|
||||
ThemeName40 = Clean Blue
|
||||
PauseOnFocusLost = False
|
||||
[Display]
|
||||
FullscreenResolution = Auto
|
||||
Fullscreen = True
|
||||
RenderToMain = False
|
||||
RenderWindowXPos = -1
|
||||
RenderWindowYPos = -1
|
||||
RenderWindowWidth = 640
|
||||
RenderWindowHeight = 480
|
||||
RenderWindowAutoSize = False
|
||||
KeepWindowOnTop = False
|
||||
ProgressiveScan = False
|
||||
PAL60 = True
|
||||
DisableScreenSaver = True
|
||||
ForceNTSCJ = False
|
||||
[GameList]
|
||||
ListDrives = False
|
||||
ListWad = True
|
||||
ListElfDol = True
|
||||
ListWii = True
|
||||
ListGC = True
|
||||
ListJap = True
|
||||
ListPal = True
|
||||
ListUsa = True
|
||||
ListAustralia = True
|
||||
ListFrance = True
|
||||
ListGermany = True
|
||||
ListItaly = True
|
||||
ListKorea = True
|
||||
ListNetherlands = True
|
||||
ListRussia = True
|
||||
ListSpain = True
|
||||
ListTaiwan = True
|
||||
ListWorld = True
|
||||
ListUnknown = True
|
||||
ListSort = 3
|
||||
ListSortSecondary = 0
|
||||
ColorCompressed = True
|
||||
ColumnPlatform = True
|
||||
ColumnBanner = True
|
||||
ColumnNotes = True
|
||||
ColumnFileName = False
|
||||
ColumnID = False
|
||||
ColumnRegion = True
|
||||
ColumnSize = True
|
||||
ColumnState = True
|
||||
[Core]
|
||||
HLE_BS2 = False
|
||||
TimingVariance = 40
|
||||
CPUCore = 4
|
||||
Fastmem = True
|
||||
CPUThread = True
|
||||
DSPHLE = True
|
||||
SkipIdle = True
|
||||
SyncOnSkipIdle = True
|
||||
SyncGPU = False
|
||||
SyncGpuMaxDistance = 200000
|
||||
SyncGpuMinDistance = -200000
|
||||
SyncGpuOverclock = 1.00000000
|
||||
FPRF = False
|
||||
AccurateNaNs = False
|
||||
DefaultISO =
|
||||
DVDRoot =
|
||||
Apploader =
|
||||
EnableCheats = True
|
||||
SelectedLanguage = 0
|
||||
OverrideGCLang = False
|
||||
DPL2Decoder = False
|
||||
Latency = 2
|
||||
MemcardAPath =
|
||||
MemcardBPath =
|
||||
AgpCartAPath =
|
||||
AgpCartBPath =
|
||||
SlotA = 1
|
||||
SlotB = 255
|
||||
SerialPort1 = 255
|
||||
BBA_MAC =
|
||||
SIDevice0 = 6
|
||||
AdapterRumble0 = True
|
||||
SimulateKonga0 = False
|
||||
SIDevice1 = 6
|
||||
AdapterRumble1 = True
|
||||
SimulateKonga1 = False
|
||||
SIDevice2 = 0
|
||||
AdapterRumble2 = True
|
||||
SimulateKonga2 = False
|
||||
SIDevice3 = 0
|
||||
AdapterRumble3 = True
|
||||
SimulateKonga3 = False
|
||||
WiiSDCard = False
|
||||
WiiKeyboard = False
|
||||
WiimoteContinuousScanning = False
|
||||
WiimoteEnableSpeaker = False
|
||||
RunCompareServer = False
|
||||
RunCompareClient = False
|
||||
EmulationSpeed = 1.00000000
|
||||
FrameSkip = 0x00000003
|
||||
Overclock = 4.00000000
|
||||
OverclockEnable = False
|
||||
GFXBackend =
|
||||
GPUDeterminismMode = auto
|
||||
PerfMapDir =
|
||||
[Movie]
|
||||
PauseMovie = False
|
||||
Author =
|
||||
DumpFrames = False
|
||||
DumpFramesSilent = False
|
||||
ShowInputDisplay = False
|
||||
[DSP]
|
||||
EnableJIT = True
|
||||
DumpAudio = False
|
||||
DumpUCode = False
|
||||
Backend = ALSA
|
||||
Volume = 100
|
||||
CaptureLog = False
|
||||
[Input]
|
||||
BackgroundInput = False
|
||||
[FifoPlayer]
|
||||
LoopReplay = True
|
||||
[Analytics]
|
||||
ID = 5082f0c30a7e422b1220107f69d6c108
|
||||
Enabled = False
|
||||
PermissionAsked = True
|
29
packages/games/emulators/primehack/config/RG552/GCPadNew.ini
Normal file
29
packages/games/emulators/primehack/config/RG552/GCPadNew.ini
Normal file
|
@ -0,0 +1,29 @@
|
|||
[GCPad1]
|
||||
Device = evdev/0/retrogame_joypad
|
||||
Buttons/A = Button 1
|
||||
Buttons/B = Button 0
|
||||
Buttons/Start = Button 8
|
||||
Buttons/X = Button 2
|
||||
Buttons/Y = Button 3
|
||||
Buttons/Z = Button 7
|
||||
Buttons/Hotkey = Button 9
|
||||
C-Stick/Dead Zone = 25.000000000000000
|
||||
C-Stick/Down = Axis 3+
|
||||
C-Stick/Left = Axis 2-
|
||||
C-Stick/Modifier = Control_L
|
||||
C-Stick/Modifier/Range = 50.000000000000000
|
||||
C-Stick/Right = Axis 2+
|
||||
C-Stick/Up = Axis 3-
|
||||
D-Pad/Down = Button 14
|
||||
D-Pad/Left = Button 15
|
||||
D-Pad/Right = Button 16
|
||||
D-Pad/Up = Button 13
|
||||
Main Stick/Dead Zone = 25.000000000000000
|
||||
Main Stick/Down = Axis 1+
|
||||
Main Stick/Left = Axis 0-
|
||||
Main Stick/Modifier = Shift_L
|
||||
Main Stick/Modifier/Range = 50.000000000000000
|
||||
Main Stick/Right = Axis 0+
|
||||
Main Stick/Up = Axis 1-
|
||||
Triggers/L = Button 4
|
||||
Triggers/R = Button 5
|
55
packages/games/emulators/primehack/config/RG552/GFX.ini
Normal file
55
packages/games/emulators/primehack/config/RG552/GFX.ini
Normal file
|
@ -0,0 +1,55 @@
|
|||
[Hardware]
|
||||
VSync = False
|
||||
Adapter = 0
|
||||
[Settings]
|
||||
AspectRatio = 2
|
||||
Crop = False
|
||||
wideScreenHack = False
|
||||
UseXFB = False
|
||||
UseRealXFB = False
|
||||
SafeTextureCacheColorSamples = 128
|
||||
ShowFPS = False
|
||||
LogRenderTimeToFile = False
|
||||
OverlayStats = False
|
||||
OverlayProjStats = False
|
||||
DumpTextures = False
|
||||
HiresTextures = False
|
||||
ConvertHiresTextures = False
|
||||
CacheHiresTextures = False
|
||||
DumpEFBTarget = False
|
||||
FreeLook = False
|
||||
UseFFV1 = False
|
||||
EnablePixelLighting = False
|
||||
FastDepthCalc = True
|
||||
MSAA = 1
|
||||
SSAA = False
|
||||
EFBScale = 2
|
||||
TexFmtOverlayEnable = False
|
||||
TexFmtOverlayCenter = False
|
||||
Wireframe = False
|
||||
DisableFog = False
|
||||
EnableShaderDebugging = False
|
||||
BorderlessFullscreen = False
|
||||
SWZComploc = True
|
||||
SWZFreeze = True
|
||||
SWDumpObjects = False
|
||||
SWDumpTevStages = False
|
||||
SWDumpTevTexFetches = False
|
||||
SWDrawStart = 0
|
||||
SWDrawEnd = 100000
|
||||
[Enhancements]
|
||||
ForceFiltering = False
|
||||
MaxAnisotropy = 0
|
||||
PostProcessingShader =
|
||||
[Stereoscopy]
|
||||
StereoMode = 0
|
||||
StereoDepth = 20
|
||||
StereoConvergencePercentage = 100
|
||||
StereoSwapEyes = False
|
||||
[Hacks]
|
||||
EFBAccessEnable = False
|
||||
BBoxEnable = False
|
||||
ForceProgressive = True
|
||||
EFBToTextureEnable = True
|
||||
EFBScaledCopy = False
|
||||
EFBEmulateFormatChanges = False
|
|
@ -0,0 +1,27 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/retrogame_joypad
|
||||
Extension = Classic
|
||||
Source = 1
|
||||
Classic/Buttons/A = Button 1
|
||||
Classic/Buttons/B = Button 0
|
||||
Classic/Buttons/X = Button 2
|
||||
Classic/Buttons/Y = Button 3
|
||||
Classic/Buttons/ZL = Button 6
|
||||
Classic/Buttons/ZR = Button 7
|
||||
Classic/Buttons/- = Button 8
|
||||
Classic/Buttons/+ = Button 9
|
||||
Classic/Left Stick/Up = Axis 1-
|
||||
Classic/Left Stick/Down = Axis 1+
|
||||
Classic/Left Stick/Left = Axis 0-
|
||||
Classic/Left Stick/Right = Axis 0+
|
||||
Classic/Right Stick/Up = Axis 3-
|
||||
Classic/Right Stick/Down = Axis 3+
|
||||
Classic/Right Stick/Left = Axis 2-
|
||||
Classic/Right Stick/Right = Axis 2+
|
||||
Classic/Triggers/L = Button 4
|
||||
Classic/Triggers/R = Button 5
|
||||
Classic/D-Pad/Up = Button 13
|
||||
Classic/D-Pad/Down = Button 14
|
||||
Classic/D-Pad/Left = Button 15
|
||||
Classic/D-Pad/Right = Button 16
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/retrogame_joypad
|
||||
Extension = Nunchuk
|
||||
Buttons/A = Button 0
|
||||
Buttons/B = Button 1
|
||||
Buttons/1 = Button 3
|
||||
Buttons/2 = Button 2
|
||||
Buttons/- = Button 8
|
||||
Buttons/+ = Button 9
|
||||
D-Pad/Up = Button 13
|
||||
D-Pad/Down = Button 14
|
||||
D-Pad/Left = Button 15
|
||||
D-Pad/Right = Button 16
|
||||
Shake/X = Button 6
|
||||
Shake/Y = Button 6
|
||||
Shake/Z = Button 6
|
||||
Nunchuk/Buttons/C = Button 5
|
||||
Nunchuk/Buttons/Z = Button 4
|
||||
Nunchuk/Stick/Up = Axis 1-
|
||||
Nunchuk/Stick/Down = Axis 1+
|
||||
Nunchuk/Stick/Left = Axis 0-
|
||||
Nunchuk/Stick/Right = Axis 0+
|
||||
Nunchuk/Shake/X = Button 7
|
||||
Nunchuk/Shake/Y = Button 7
|
||||
Nunchuk/Shake/Z = Button 7
|
|
@ -0,0 +1,15 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/retrogame_joypad
|
||||
Buttons/A = Button 0
|
||||
Buttons/B = Button 1
|
||||
Buttons/1 = Button 3
|
||||
Buttons/2 = Button 2
|
||||
Buttons/- = Button 8
|
||||
Buttons/+ = Button 9
|
||||
D-Pad/Up = Button 13
|
||||
D-Pad/Down = Button 14
|
||||
D-Pad/Left = Button 15
|
||||
D-Pad/Right = Button 16
|
||||
Shake/X = Button 4
|
||||
Shake/Y = Button 4
|
||||
Shake/Z = Button 4
|
148
packages/games/emulators/primehack/config/handheld/Dolphin.ini
Normal file
148
packages/games/emulators/primehack/config/handheld/Dolphin.ini
Normal file
|
@ -0,0 +1,148 @@
|
|||
[General]
|
||||
LastFilename =
|
||||
ShowLag = False
|
||||
ShowFrameCount = False
|
||||
ISOPaths = 1
|
||||
RecursiveISOPaths = False
|
||||
NANDRootPath =
|
||||
WirelessMac =
|
||||
[Interface]
|
||||
ConfirmStop = True
|
||||
UsePanicHandlers = True
|
||||
OnScreenDisplayMessages = True
|
||||
HideCursor = False
|
||||
AutoHideCursor = False
|
||||
MainWindowPosX = 403
|
||||
MainWindowPosY = 148
|
||||
MainWindowWidth = 800
|
||||
MainWindowHeight = 600
|
||||
Language = 0
|
||||
ShowToolbar = True
|
||||
ShowStatusbar = True
|
||||
ShowLogWindow = False
|
||||
ShowLogConfigWindow = False
|
||||
ExtendedFPSInfo = False
|
||||
ThemeName40 = Clean Blue
|
||||
PauseOnFocusLost = False
|
||||
[Display]
|
||||
FullscreenResolution = Auto
|
||||
Fullscreen = True
|
||||
RenderToMain = False
|
||||
RenderWindowXPos = -1
|
||||
RenderWindowYPos = -1
|
||||
RenderWindowWidth = 640
|
||||
RenderWindowHeight = 480
|
||||
RenderWindowAutoSize = False
|
||||
KeepWindowOnTop = False
|
||||
ProgressiveScan = False
|
||||
PAL60 = True
|
||||
DisableScreenSaver = True
|
||||
ForceNTSCJ = False
|
||||
[GameList]
|
||||
ListDrives = False
|
||||
ListWad = True
|
||||
ListElfDol = True
|
||||
ListWii = True
|
||||
ListGC = True
|
||||
ListJap = True
|
||||
ListPal = True
|
||||
ListUsa = True
|
||||
ListAustralia = True
|
||||
ListFrance = True
|
||||
ListGermany = True
|
||||
ListItaly = True
|
||||
ListKorea = True
|
||||
ListNetherlands = True
|
||||
ListRussia = True
|
||||
ListSpain = True
|
||||
ListTaiwan = True
|
||||
ListWorld = True
|
||||
ListUnknown = True
|
||||
ListSort = 3
|
||||
ListSortSecondary = 0
|
||||
ColorCompressed = True
|
||||
ColumnPlatform = True
|
||||
ColumnBanner = True
|
||||
ColumnNotes = True
|
||||
ColumnFileName = False
|
||||
ColumnID = False
|
||||
ColumnRegion = True
|
||||
ColumnSize = True
|
||||
ColumnState = True
|
||||
[Core]
|
||||
HLE_BS2 = False
|
||||
TimingVariance = 40
|
||||
CPUCore = 4
|
||||
Fastmem = True
|
||||
CPUThread = True
|
||||
DSPHLE = True
|
||||
SkipIdle = True
|
||||
SyncOnSkipIdle = True
|
||||
SyncGPU = False
|
||||
SyncGpuMaxDistance = 200000
|
||||
SyncGpuMinDistance = -200000
|
||||
SyncGpuOverclock = 1.00000000
|
||||
FPRF = False
|
||||
AccurateNaNs = False
|
||||
DefaultISO =
|
||||
DVDRoot =
|
||||
Apploader =
|
||||
EnableCheats = True
|
||||
SelectedLanguage = 0
|
||||
OverrideGCLang = False
|
||||
DPL2Decoder = False
|
||||
Latency = 2
|
||||
MemcardAPath =
|
||||
MemcardBPath =
|
||||
AgpCartAPath =
|
||||
AgpCartBPath =
|
||||
SlotA = 1
|
||||
SlotB = 255
|
||||
SerialPort1 = 255
|
||||
BBA_MAC =
|
||||
SIDevice0 = 6
|
||||
AdapterRumble0 = True
|
||||
SimulateKonga0 = False
|
||||
SIDevice1 = 6
|
||||
AdapterRumble1 = True
|
||||
SimulateKonga1 = False
|
||||
SIDevice2 = 0
|
||||
AdapterRumble2 = True
|
||||
SimulateKonga2 = False
|
||||
SIDevice3 = 0
|
||||
AdapterRumble3 = True
|
||||
SimulateKonga3 = False
|
||||
WiiSDCard = False
|
||||
WiiKeyboard = False
|
||||
WiimoteContinuousScanning = False
|
||||
WiimoteEnableSpeaker = False
|
||||
RunCompareServer = False
|
||||
RunCompareClient = False
|
||||
EmulationSpeed = 1.00000000
|
||||
FrameSkip = 0x00000003
|
||||
Overclock = 4.00000000
|
||||
OverclockEnable = False
|
||||
GFXBackend = Vulkan
|
||||
GPUDeterminismMode = auto
|
||||
PerfMapDir =
|
||||
[Movie]
|
||||
PauseMovie = False
|
||||
Author =
|
||||
DumpFrames = False
|
||||
DumpFramesSilent = False
|
||||
ShowInputDisplay = False
|
||||
[DSP]
|
||||
EnableJIT = True
|
||||
DumpAudio = False
|
||||
DumpUCode = False
|
||||
Backend = ALSA
|
||||
Volume = 100
|
||||
CaptureLog = False
|
||||
[Input]
|
||||
BackgroundInput = False
|
||||
[FifoPlayer]
|
||||
LoopReplay = True
|
||||
[Analytics]
|
||||
ID = 5082f0c30a7e422b1220107f69d6c108
|
||||
Enabled = False
|
||||
PermissionAsked = True
|
|
@ -0,0 +1,29 @@
|
|||
[GCPad1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Buttons/A = Button 1
|
||||
Buttons/B = Button 0
|
||||
Buttons/Start = Button 6
|
||||
Buttons/X = Button 3
|
||||
Buttons/Y = Button 2
|
||||
Buttons/Z = Button 5
|
||||
Buttons/Hotkey = Button 7
|
||||
C-Stick/Dead Zone = 25.000000000000000
|
||||
C-Stick/Down = Axis 4+
|
||||
C-Stick/Left = Axis 3-
|
||||
C-Stick/Modifier = Control_L
|
||||
C-Stick/Modifier/Range = 50.000000000000000
|
||||
C-Stick/Right = Axis 3+
|
||||
C-Stick/Up = Axis 4-
|
||||
D-Pad/Down = Axis 7+
|
||||
D-Pad/Left = Axis 6-
|
||||
D-Pad/Right = Axis 6+
|
||||
D-Pad/Up = Axis 7-
|
||||
Main Stick/Dead Zone = 25.000000000000000
|
||||
Main Stick/Down = Axis 1+
|
||||
Main Stick/Left = Axis 0-
|
||||
Main Stick/Modifier = Shift_L
|
||||
Main Stick/Modifier/Range = 50.000000000000000
|
||||
Main Stick/Right = Axis 0+
|
||||
Main Stick/Up = Axis 1-
|
||||
Triggers/L = Axis 2+
|
||||
Triggers/R = Axis 5+
|
55
packages/games/emulators/primehack/config/handheld/GFX.ini
Normal file
55
packages/games/emulators/primehack/config/handheld/GFX.ini
Normal file
|
@ -0,0 +1,55 @@
|
|||
[Hardware]
|
||||
VSync = False
|
||||
Adapter = 0
|
||||
[Settings]
|
||||
AspectRatio = 0
|
||||
Crop = False
|
||||
wideScreenHack = False
|
||||
UseXFB = False
|
||||
UseRealXFB = False
|
||||
SafeTextureCacheColorSamples = 128
|
||||
ShowFPS = False
|
||||
LogRenderTimeToFile = False
|
||||
OverlayStats = False
|
||||
OverlayProjStats = False
|
||||
DumpTextures = False
|
||||
HiresTextures = False
|
||||
ConvertHiresTextures = False
|
||||
CacheHiresTextures = False
|
||||
DumpEFBTarget = False
|
||||
FreeLook = False
|
||||
UseFFV1 = False
|
||||
EnablePixelLighting = False
|
||||
FastDepthCalc = True
|
||||
MSAA = 1
|
||||
SSAA = False
|
||||
EFBScale = 2
|
||||
TexFmtOverlayEnable = False
|
||||
TexFmtOverlayCenter = False
|
||||
Wireframe = False
|
||||
DisableFog = False
|
||||
EnableShaderDebugging = False
|
||||
BorderlessFullscreen = False
|
||||
SWZComploc = True
|
||||
SWZFreeze = True
|
||||
SWDumpObjects = False
|
||||
SWDumpTevStages = False
|
||||
SWDumpTevTexFetches = False
|
||||
SWDrawStart = 0
|
||||
SWDrawEnd = 100000
|
||||
[Enhancements]
|
||||
ForceFiltering = False
|
||||
MaxAnisotropy = 0
|
||||
PostProcessingShader =
|
||||
[Stereoscopy]
|
||||
StereoMode = 0
|
||||
StereoDepth = 20
|
||||
StereoConvergencePercentage = 100
|
||||
StereoSwapEyes = False
|
||||
[Hacks]
|
||||
EFBAccessEnable = False
|
||||
BBoxEnable = False
|
||||
ForceProgressive = True
|
||||
EFBToTextureEnable = True
|
||||
EFBScaledCopy = False
|
||||
EFBEmulateFormatChanges = False
|
|
@ -0,0 +1,27 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Extension = Classic
|
||||
Source = 1
|
||||
Classic/Buttons/A = Button 1
|
||||
Classic/Buttons/B = Button 0
|
||||
Classic/Buttons/X = Button 3
|
||||
Classic/Buttons/Y = Button 2
|
||||
Classic/Buttons/ZL = Axis 2+
|
||||
Classic/Buttons/ZR = Axis 5+
|
||||
Classic/Buttons/- = Button 6
|
||||
Classic/Buttons/+ = Button 7
|
||||
Classic/Buttons/Home = Button 8
|
||||
Classic/Left Stick/Up = Axis 1-
|
||||
Classic/Left Stick/Down = Axis 1+
|
||||
Classic/Left Stick/Left = Axis 0-
|
||||
Classic/Left Stick/Right = Axis 0+
|
||||
Classic/Right Stick/Up = Axis 4-
|
||||
Classic/Right Stick/Down = Axis 4+
|
||||
Classic/Right Stick/Left = Axis 3-
|
||||
Classic/Right Stick/Right = Axis 3+
|
||||
Classic/Triggers/L = Button 4
|
||||
Classic/Triggers/R = Button 5
|
||||
Classic/D-Pad/Up = Axis 7-
|
||||
Classic/D-Pad/Down = Axis 7+
|
||||
Classic/D-Pad/Left = Axis 6-
|
||||
Classic/D-Pad/Right = Axis 6+
|
|
@ -0,0 +1,26 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Extension = Nunchuk
|
||||
Buttons/A = Button 0
|
||||
Buttons/B = Button 1
|
||||
Buttons/1 = Button 2
|
||||
Buttons/2 = Button 3
|
||||
Buttons/- = Button 6
|
||||
Buttons/+ = Button 7
|
||||
D-Pad/Up = Axis 7-
|
||||
D-Pad/Down = Axis 7+
|
||||
D-Pad/Left = Axis 6-
|
||||
D-Pad/Right = Axis 6+
|
||||
Buttons/Home = Button 8
|
||||
Shake/X = Button 4
|
||||
Shake/Y = Button 4
|
||||
Shake/Z = Button 4
|
||||
Nunchuk/Buttons/C = Button 5
|
||||
Nunchuk/Buttons/Z = Axis 5+
|
||||
Nunchuk/Stick/Up = Axis 1-
|
||||
Nunchuk/Stick/Down = Axis 1+
|
||||
Nunchuk/Stick/Left = Axis 0-
|
||||
Nunchuk/Stick/Right = Axis 0+
|
||||
Nunchuk/Shake/X = Axis 2+
|
||||
Nunchuk/Shake/Y = Axis 2+
|
||||
Nunchuk/Shake/Z = Axis 2+
|
|
@ -0,0 +1,16 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Buttons/A = Button 0
|
||||
Buttons/B = Button 1
|
||||
Buttons/1 = Button 2
|
||||
Buttons/2 = Button 3
|
||||
Buttons/- = Button 6
|
||||
Buttons/+ = Button 7
|
||||
Buttons/Home = Button 8
|
||||
Shake/X = Button 4
|
||||
Shake/Y = Button 4
|
||||
Shake/Z = Button 4
|
||||
D-Pad/Up = Axis 7-
|
||||
D-Pad/Down = Axis 7+
|
||||
D-Pad/Left = Axis 6-
|
||||
D-Pad/Right = Axis 6+
|
|
@ -0,0 +1,27 @@
|
|||
[Wiimote1]
|
||||
Device = evdev/0/Microsoft X-Box 360 pad
|
||||
Extension = Classic
|
||||
Source = 1
|
||||
Classic/Buttons/A = Button 1
|
||||
Classic/Buttons/B = Button 0
|
||||
Classic/Buttons/X = Button 3
|
||||
Classic/Buttons/Y = Button 2
|
||||
Classic/Buttons/ZL = Axis 2+
|
||||
Classic/Buttons/ZR = Axis 5+
|
||||
Classic/Buttons/- = Button 6
|
||||
Classic/Buttons/+ = Button 7
|
||||
Classic/Buttons/Home = Button 8
|
||||
Classic/Left Stick/Up = Axis 1-
|
||||
Classic/Left Stick/Down = Axis 1+
|
||||
Classic/Left Stick/Left = Axis 0-
|
||||
Classic/Left Stick/Right = Axis 0+
|
||||
Classic/Right Stick/Up = Axis 4-
|
||||
Classic/Right Stick/Down = Axis 4+
|
||||
Classic/Right Stick/Left = Axis 3-
|
||||
Classic/Right Stick/Right = Axis 3+
|
||||
Classic/Triggers/L = Button 4
|
||||
Classic/Triggers/R = Button 5
|
||||
Classic/D-Pad/Up = Axis 7-
|
||||
Classic/D-Pad/Down = Axis 7+
|
||||
Classic/D-Pad/Left = Axis 6-
|
||||
Classic/D-Pad/Right = Axis 6+
|
62
packages/games/emulators/primehack/package.mk
Executable file
62
packages/games/emulators/primehack/package.mk
Executable file
|
@ -0,0 +1,62 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="primehack"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_DEPENDS_TARGET="toolchain libevdev libdrm ffmpeg zlib libpng lzo libusb zstd ecm"
|
||||
PKG_SITE="https://github.com/shiiion/dolphin"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_VERSION="55330bfebbcde86c169715c25f2b693cbbe55a75"
|
||||
PKG_LONGDESC="PrimeHack – A Dolphin Emulator fork for Metroid Prime Trilogy."
|
||||
PKG_PATCH_DIRS+=" wayland"
|
||||
|
||||
if [ ! "${OPENGL}" = "no" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_X11=OFF \
|
||||
-DENABLE_EGL=ON"
|
||||
fi
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_X11=OFF \
|
||||
-DENABLE_EGL=ON"
|
||||
fi
|
||||
|
||||
if [ "${DISPLAYSERVER}" = "wl" ]; then
|
||||
PKG_DEPENDS_TARGET+=" wayland ${WINDOWMANAGER} xorg-server xrandr libXi"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_WAYLAND=ON \
|
||||
-DENABLE_X11=OFF"
|
||||
fi
|
||||
|
||||
if [ "${VULKAN_SUPPORT}" = "yes" ]
|
||||
then
|
||||
PKG_DEPENDS_TARGET+=" vulkan-loader vulkan-headers"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_VULKAN=ON"
|
||||
fi
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_HEADLESS=ON \
|
||||
-DENABLE_EVDEV=ON \
|
||||
-DUSE_DISCORD_PRESENCE=OFF \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DUSE_MGBA=OFF \
|
||||
-DLINUX_LOCAL_DEV=ON \
|
||||
-DENABLE_TESTS=OFF \
|
||||
-DENABLE_LLVM=OFF \
|
||||
-DENABLE_ANALYTICS=OFF \
|
||||
-DENABLE_LTO=ON \
|
||||
-DENABLE_QT=OFF \
|
||||
-DENCODE_FRAMEDUMPS=OFF \
|
||||
-DENABLE_CLI_TOOL=OFF"
|
||||
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp -rf ${PKG_BUILD}/.${TARGET_NAME}/Binaries/primehack* ${INSTALL}/usr/bin
|
||||
cp -rf ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin
|
||||
|
||||
chmod +x ${INSTALL}/usr/bin/start_primehack.sh
|
||||
|
||||
mkdir -p ${INSTALL}/usr/config/primehack
|
||||
cp -rf ${PKG_BUILD}/Data/Sys/* ${INSTALL}/usr/config/primehack
|
||||
cp -rf ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/primehack
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,111 @@
|
|||
diff --git a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
|
||||
index 6df37b4..64ade4a 100644
|
||||
--- a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
|
||||
+++ b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
|
||||
@@ -392,6 +392,65 @@ void Init()
|
||||
StartHotplugThread();
|
||||
}
|
||||
|
||||
+struct joypad_udev_entry
|
||||
+{
|
||||
+ const char *devnode;
|
||||
+ struct udev_device *dev;
|
||||
+};
|
||||
+
|
||||
+int isNumber(const char *s) {
|
||||
+ int n;
|
||||
+
|
||||
+ if(strlen(s) == 0) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ for(n=0; n<strlen(s); n++) {
|
||||
+ if(!(s[n] == '0' || s[n] == '1' || s[n] == '2' || s[n] == '3' || s[n] == '4' ||
|
||||
+ s[n] == '5' || s[n] == '6' || s[n] == '7' || s[n] == '8' || s[n] == '9'))
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+// compare /dev/input/eventX and /dev/input/eventY where X and Y are numbers
|
||||
+int strcmp_events(const char* x, const char* y) {
|
||||
+
|
||||
+ // find a common string
|
||||
+ int n, common, is_number;
|
||||
+ int a, b;
|
||||
+
|
||||
+ n=0;
|
||||
+ while(x[n] == y[n] && x[n] != '\0' && y[n] != '\0') {
|
||||
+ n++;
|
||||
+ }
|
||||
+ common = n;
|
||||
+
|
||||
+ // check if remaining string is a number
|
||||
+ is_number = 1;
|
||||
+ if(isNumber(x+common) == 0) is_number = 0;
|
||||
+ if(isNumber(y+common) == 0) is_number = 0;
|
||||
+
|
||||
+ if(is_number == 1) {
|
||||
+ a = atoi(x+common);
|
||||
+ b = atoi(y+common);
|
||||
+
|
||||
+ if(a == b) return 0;
|
||||
+ if(a < b) return -1;
|
||||
+ return 1;
|
||||
+ } else {
|
||||
+ return strcmp(x, y);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/* Used for sorting devnodes to appear in the correct order */
|
||||
+static int sort_devnodes(const void *a, const void *b)
|
||||
+{
|
||||
+ const struct joypad_udev_entry *aa = (const struct joypad_udev_entry *) a;
|
||||
+ const struct joypad_udev_entry *bb = (const struct joypad_udev_entry *) b;
|
||||
+ return strcmp_events(aa->devnode, bb->devnode);
|
||||
+}
|
||||
+
|
||||
// Only call this when ControllerInterface::m_devices_population_mutex is locked
|
||||
void PopulateDevices()
|
||||
{
|
||||
@@ -404,6 +463,10 @@ void PopulateDevices()
|
||||
// We use udev to iterate over all /dev/input/event* devices.
|
||||
// Note: the Linux kernel is currently limited to just 32 event devices. If
|
||||
// this ever changes, hopefully udev will take care of this.
|
||||
+ unsigned sorted_count = 0;
|
||||
+ struct joypad_udev_entry sorted[64];
|
||||
+ const char* devnode;
|
||||
+ int i;
|
||||
|
||||
udev* const udev = udev_new();
|
||||
ASSERT_MSG(CONTROLLERINTERFACE, udev != nullptr, "Couldn't initialize libudev.");
|
||||
@@ -422,11 +485,25 @@ void PopulateDevices()
|
||||
|
||||
udev_device* dev = udev_device_new_from_syspath(udev, path);
|
||||
|
||||
- if (const char* devnode = udev_device_get_devnode(dev))
|
||||
- AddDeviceNode(devnode);
|
||||
-
|
||||
- udev_device_unref(dev);
|
||||
+ devnode = udev_device_get_devnode(dev);
|
||||
+ if (devnode != NULL && sorted_count < 64) {
|
||||
+ sorted[sorted_count].devnode = devnode;
|
||||
+ sorted[sorted_count].dev = dev;
|
||||
+ sorted_count++;
|
||||
+ } else {
|
||||
+ udev_device_unref(dev);
|
||||
+ }
|
||||
}
|
||||
+
|
||||
+ /* Sort the udev entries by devnode name so that they are
|
||||
+ * created in the proper order */
|
||||
+ qsort(sorted, sorted_count, sizeof(struct joypad_udev_entry), sort_devnodes);
|
||||
+
|
||||
+ for (i = 0; i < sorted_count; i++) {
|
||||
+ AddDeviceNode(sorted[i].devnode);
|
||||
+ udev_device_unref(sorted[i].dev);
|
||||
+ }
|
||||
+
|
||||
udev_enumerate_unref(enumerate);
|
||||
udev_unref(udev);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index eb0f83f..9d41166 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -128,7 +128,7 @@ endif()
|
||||
include(CCache)
|
||||
|
||||
# for revision info
|
||||
-find_package(Git)
|
||||
+#find_package(Git)
|
||||
if(GIT_FOUND)
|
||||
# make sure version information gets re-run when the current Git HEAD changes
|
||||
execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --git-path HEAD
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5124dfbc81..7936cca11d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -134,7 +134,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
# Set up paths
|
||||
set(bindir ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir")
|
||||
-set(datadir ${CMAKE_INSTALL_PREFIX}/share/dolphin-emu CACHE PATH "datadir")
|
||||
+set(datadir ${CMAKE_INSTALL_PREFIX}/share/primehack CACHE PATH "datadir")
|
||||
set(mandir ${CMAKE_INSTALL_PREFIX}/share/man CACHE PATH "mandir")
|
||||
add_definitions(-DDATA_DIR="${datadir}/")
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
--- a/Source/Core/VideoBackends/OGL/OGLRender.cpp 2020-12-31 00:27:53.998709857 +0100
|
||||
+++ b/Source/Core/VideoBackends/OGL/OGLRender.cpp 2020-12-31 00:28:40.414557344 +0100
|
||||
@@ -736,10 +736,6 @@
|
||||
g_Config.VerifyValidity();
|
||||
UpdateActiveConfig();
|
||||
|
||||
- OSD::AddMessage(fmt::format("Video Info: {}, {}, {}", g_ogl_config.gl_vendor,
|
||||
- g_ogl_config.gl_renderer, g_ogl_config.gl_version),
|
||||
- 5000);
|
||||
-
|
||||
if (!g_ogl_config.bSupportsGLBufferStorage && !g_ogl_config.bSupportsGLPinnedMemory)
|
||||
{
|
||||
OSD::AddMessage(fmt::format("Your OpenGL driver does not support {}_buffer_storage.",
|
|
@ -0,0 +1,39 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5124dfbc81..7936cca11d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -134,7 +134,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
# Set up paths
|
||||
set(bindir ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir")
|
||||
-set(datadir ${CMAKE_INSTALL_PREFIX}/share/dolphin-emu CACHE PATH "datadir")
|
||||
+set(datadir ${CMAKE_INSTALL_PREFIX}/share/primehack CACHE PATH "datadir")
|
||||
set(mandir ${CMAKE_INSTALL_PREFIX}/share/man CACHE PATH "mandir")
|
||||
add_definitions(-DDATA_DIR="${datadir}/")
|
||||
|
||||
diff --git a/Source/Core/Common/CommonPaths.h b/Source/Core/Common/CommonPaths.h
|
||||
index cb8aacddf8..b6d4637cc4 100644
|
||||
--- a/Source/Core/Common/CommonPaths.h
|
||||
+++ b/Source/Core/Common/CommonPaths.h
|
||||
@@ -24,7 +24,7 @@
|
||||
#define NOMEDIA_FILE ".nomedia"
|
||||
#else
|
||||
#define USERDATA_DIR "user"
|
||||
-#define DOLPHIN_DATA_DIR "dolphin-emu"
|
||||
+#define DOLPHIN_DATA_DIR "primehack"
|
||||
#endif
|
||||
|
||||
// Dirs in both User and Sys
|
||||
diff --git a/Source/Core/DolphinNoGUI/CMakeLists.txt b/Source/Core/DolphinNoGUI/CMakeLists.txt
|
||||
index f21955d809..e4a6ab61a2 100644
|
||||
--- a/Source/Core/DolphinNoGUI/CMakeLists.txt
|
||||
+++ b/Source/Core/DolphinNoGUI/CMakeLists.txt
|
||||
@@ -17,7 +17,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp)
|
||||
endif()
|
||||
|
||||
-set_target_properties(dolphin-nogui PROPERTIES OUTPUT_NAME dolphin-emu-nogui)
|
||||
+set_target_properties(dolphin-nogui PROPERTIES OUTPUT_NAME primehack-nogui)
|
||||
|
||||
target_link_libraries(dolphin-nogui
|
||||
PRIVATE
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/Source/Core/DolphinNoGUI/CMakeLists.txt b/Source/Core/DolphinNoGUI/CMakeLists.txt
|
||||
index f21955d809..e4a6ab61a2 100644
|
||||
--- a/Source/Core/DolphinNoGUI/CMakeLists.txt
|
||||
+++ b/Source/Core/DolphinNoGUI/CMakeLists.txt
|
||||
@@ -17,7 +17,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp)
|
||||
endif()
|
||||
|
||||
-set_target_properties(dolphin-nogui PROPERTIES OUTPUT_NAME dolphin-emu-nogui)
|
||||
+set_target_properties(dolphin-nogui PROPERTIES OUTPUT_NAME primehack-nogui)
|
||||
|
||||
target_link_libraries(dolphin-nogui
|
||||
PRIVATE
|
156
packages/games/emulators/primehack/scripts/start_primehack.sh
Executable file
156
packages/games/emulators/primehack/scripts/start_primehack.sh
Executable file
|
@ -0,0 +1,156 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
|
||||
#Check if primehack exists in .config
|
||||
if [ ! -d "/storage/.config/primehack" ]; then
|
||||
mkdir -p "/storage/.config/primehack"
|
||||
cp -r "/usr/config/prime" "/storage/.config/"
|
||||
fi
|
||||
|
||||
#Check if Wii custom controller profile exists in .config/dolphin-emu
|
||||
if [ ! -f "/storage/.config/primehack/Custom_WiimoteNew.ini" ]; then
|
||||
cp -r "/usr/config/primehack/WiiControllerProfiles/remote.ini" "/storage/.config/primehack/Custom_WiimoteNew.ini"
|
||||
fi
|
||||
|
||||
#Gamecube controller profile needed for hotkeys to work
|
||||
cp -r "/usr/config/primehack/GCPadNew.ini" "/storage/.config/primehack/GCPadNew.ini"
|
||||
|
||||
#Link Save States to /roms/savestates/wii
|
||||
if [ ! -d "/storage/roms/savestates/wii/" ]; then
|
||||
mkdir -p "/storage/roms/savestates/wii/"
|
||||
fi
|
||||
|
||||
rm -rf /storage/.config/primehack/StateSaves
|
||||
ln -sf /storage/roms/savestates/wii /storage/.config/primehack/StateSaves
|
||||
|
||||
#Emulation Station options
|
||||
GAME=$(echo "${1}"| sed "s#^/.*/##")
|
||||
AA=$(get_setting anti_aliasing wii "${GAME}")
|
||||
ASPECT=$(get_setting aspect_ratio wii "${GAME}")
|
||||
RENDERER=$(get_setting graphics_backend wii "${GAME}")
|
||||
IRES=$(get_setting internal_resolution wii "${GAME}")
|
||||
FPS=$(get_setting show_fps wii "${GAME}")
|
||||
CON=$(get_setting wii_controller_profile wii "${GAME}")
|
||||
|
||||
#Anti-Aliasing
|
||||
if [ "$AA" = "0" ]
|
||||
then
|
||||
sed -i '/MSAA/c\MSAA = 0' /storage/.config/primehack/GFX.ini
|
||||
sed -i '/SSAA/c\SSAA = False' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$AA" = "2m" ]
|
||||
then
|
||||
sed -i '/MSAA/c\MSAA = 2' /storage/.config/primehack/GFX.ini
|
||||
sed -i '/SSAA/c\SSAA = False' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$AA" = "2s" ]
|
||||
then
|
||||
sed -i '/MSAA/c\MSAA = 2' /storage/.config/primehack/GFX.ini
|
||||
sed -i '/SSAA/c\SSAA = True' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$AA" = "4m" ]
|
||||
then
|
||||
sed -i '/MSAA/c\MSAA = 4' /storage/.config/primehack/GFX.ini
|
||||
sed -i '/SSAA/c\SSAA = False' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$AA" = "4s" ]
|
||||
then
|
||||
sed -i '/MSAA/c\MSAA = 4' /storage/.config/primehack/GFX.ini
|
||||
sed -i '/SSAA/c\SSAA = True' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$AA" = "8m" ]
|
||||
then
|
||||
sed -i '/MSAA/c\MSAA = 8' /storage/.config/primehack/GFX.ini
|
||||
sed -i '/SSAA/c\SSAA = False' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$AA" = "8s" ]
|
||||
then
|
||||
sed -i '/MSAA/c\MSAA = 8' /storage/.config/primehack/GFX.ini
|
||||
sed -i '/SSAA/c\SSAA = True' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
|
||||
#Aspect Ratio
|
||||
if [ "$ASPECT" = "0" ]
|
||||
then
|
||||
sed -i '/AspectRatio/c\AspectRatio = 0' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$ASPECT" = "1" ]
|
||||
then
|
||||
sed -i '/AspectRatio/c\AspectRatio = 1' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$ASPECT" = "2" ]
|
||||
then
|
||||
sed -i '/AspectRatio/c\AspectRatio = 2' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$ASPECT" = "3" ]
|
||||
then
|
||||
sed -i '/AspectRatio/c\AspectRatio = 3' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
|
||||
#Video Backend
|
||||
if [ "$RENDERER" = "opengl" ]
|
||||
then
|
||||
sed -i '/GFXBackend/c\GFXBackend = OGL' /storage/.config/primehack/Dolphin.ini
|
||||
fi
|
||||
|
||||
if [ "$RENDERER" = "vulkan" ]
|
||||
then
|
||||
sed -i '/GFXBackend/c\GFXBackend = Vulkan' /storage/.config/primehack/Dolphin.ini
|
||||
fi
|
||||
if [ "$RENDERER" = "software" ]
|
||||
then
|
||||
sed -i '/GFXBackend/c\GFXBackend = Software Renderer' /storage/.config/primehack/Dolphin.ini
|
||||
fi
|
||||
|
||||
#Internal Resolution
|
||||
if [ "$IRES" = "1" ]
|
||||
then
|
||||
sed -i '/InternalResolution/c\InternalResolution = 1' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$IRES" = "2" ]
|
||||
then
|
||||
sed -i '/InternalResolution/c\InternalResolution = 2' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$IRES" = "3" ]
|
||||
then
|
||||
sed -i '/InternalResolution/c\InternalResolution = 3' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
|
||||
#Show FPS
|
||||
if [ "$FPS" = "true" ]
|
||||
then
|
||||
sed -i '/ShowFPS/c\ShowFPS = True' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
if [ "$FPS" = "false" ]
|
||||
then
|
||||
sed -i '/ShowFPS/c\ShowFPS = False' /storage/.config/primehack/GFX.ini
|
||||
fi
|
||||
|
||||
#Wii Controller Profile
|
||||
if [ "$CON" = "remote" ]
|
||||
then
|
||||
cp -r /usr/config/primehack/WiiControllerProfiles/remote.ini /storage/.config/primehack/WiimoteNew.ini
|
||||
fi
|
||||
if [ "$CON" = "nunchuck" ]
|
||||
then
|
||||
cp -r /usr/config/primehack/WiiControllerProfiles/nunchuck.ini /storage/.config/primehack/WiimoteNew.ini
|
||||
fi
|
||||
if [ "$CON" = "classic" ]
|
||||
then
|
||||
cp -r /usr/config/primehack/WiiControllerProfiles/classic.ini /storage/.config/primehack/WiimoteNew.ini
|
||||
fi
|
||||
if [ "$CON" = "custom" ]
|
||||
then
|
||||
cp -r /storage/.config/primehack/Custom_WiimoteNew.ini /storage/.config/primehack/WiimoteNew.ini
|
||||
fi
|
||||
|
||||
#Link .config/dolphin-emu to .local
|
||||
rm -rf /storage/.local/share/primehack
|
||||
ln -sf /storage/.config/primehack /storage/.local/share/primehack
|
||||
|
||||
#Run Dolphin emulator
|
||||
/usr/bin/primehack-nogui -p wayland -a HLE -e "${1}"
|
|
@ -1,3 +1,65 @@
|
|||
mupen64plus-alt-map = "False"
|
||||
mupen64plus-aspect = "4:3"
|
||||
mupen64plus-astick-deadzone = "15"
|
||||
mupen64plus-astick-sensitivity = "100"
|
||||
mupen64plus-BackgroundMode = "Stripped"
|
||||
mupen64plus-BilinearMode = "standard"
|
||||
mupen64plus-CorrectTexrectCoords = "Auto"
|
||||
mupen64plus-CountPerOp = "0"
|
||||
mupen64plus-CountPerOpDenomPot = "0"
|
||||
mupen64plus-cpucore = "dynamic_recompiler"
|
||||
mupen64plus-d-cbutton = "C3"
|
||||
mupen64plus-DitheringPattern = "True"
|
||||
mupen64plus-DitheringQuantization = "True"
|
||||
mupen64plus-EnableCopyAuxToRDRAM = "True"
|
||||
mupen64plus-EnableCopyColorToRDRAM = "Async"
|
||||
mupen64plus-EnableCopyDepthToRDRAM = "Software"
|
||||
mupen64plus-EnableEnhancedHighResStorage = "False"
|
||||
mupen64plus-EnableEnhancedTextureStorage = "False"
|
||||
mupen64plus-EnableFBEmulation = "True"
|
||||
mupen64plus-EnableFragmentDepthWrite = "False"
|
||||
mupen64plus-EnableHiResAltCRC = "False"
|
||||
mupen64plus-EnableHWLighting = "True"
|
||||
mupen64plus-EnableInaccurateTextureCoordinates = "False"
|
||||
mupen64plus-EnableLegacyBlending = "False"
|
||||
mupen64plus-EnableLODEmulation = "True"
|
||||
mupen64plus-EnableNativeResFactor = "1"
|
||||
mupen64plus-EnableNativeResTexrects = "Optimized"
|
||||
mupen64plus-EnableOverscan = "Enabled"
|
||||
mupen64plus-EnableTexCoordBounds = "False"
|
||||
mupen64plus-EnableTextureCache = "True"
|
||||
mupen64plus-ForceDisableExtraMem = "False"
|
||||
mupen64plus-FrameDuping = "True"
|
||||
mupen64plus-Framerate = "Original"
|
||||
mupen64plus-FXAA = "0"
|
||||
mupen64plus-GLideN64IniBehaviour = "late"
|
||||
mupen64plus-HybridFilter = "True"
|
||||
mupen64plus-IgnoreTLBExceptions = "False"
|
||||
mupen64plus-l-cbutton = "C2"
|
||||
mupen64plus-MaxHiResTxVramLimit = "0"
|
||||
mupen64plus-MaxTxCacheSize = "8000"
|
||||
mupen64plus-MultiSampling = "0"
|
||||
mupen64plus-OverscanBottom = "0"
|
||||
mupen64plus-OverscanLeft = "0"
|
||||
mupen64plus-OverscanRight = "0"
|
||||
mupen64plus-OverscanTop = "0"
|
||||
mupen64plus-pak1 = "memory"
|
||||
mupen64plus-pak2 = "none"
|
||||
mupen64plus-pak3 = "none"
|
||||
mupen64plus-pak4 = "none"
|
||||
mupen64plus-r-cbutton = "C1"
|
||||
mupen64plus-rdp-plugin = "gliden64"
|
||||
mupen64plus-RDRAMImageDitheringMode = "BlueNoise"
|
||||
mupen64plus-rsp-plugin = "hle"
|
||||
mupen64plus-ThreadedRenderer = "True"
|
||||
mupen64plus-txCacheCompression = "True"
|
||||
mupen64plus-txEnhancementMode = "None"
|
||||
mupen64plus-txFilterIgnoreBG = "True"
|
||||
mupen64plus-txFilterMode = "None"
|
||||
mupen64plus-txHiresEnable = "False"
|
||||
mupen64plus-txHiresFullAlphaChannel = "False"
|
||||
mupen64plus-u-cbutton = "C4"
|
||||
mupen64plus-virefresh = "Auto"
|
||||
pcsx_rearmed_analog_axis_modifier = "circle"
|
||||
pcsx_rearmed_async_cd = "sync"
|
||||
pcsx_rearmed_bios = "auto"
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="yuzusa"
|
||||
PKG_VERSION="48b4eca28a397adbaa68d1042262172fcdee6be8"
|
||||
PKG_VERSION="a4696285af946588dc33b19e49a3baa0f8b2b60d"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/yuzu-emu/yuzu"
|
||||
PKG_URL="$PKG_SITE.git"
|
||||
PKG_DEPENDS_TARGET="toolchain libfmt boost ffmpeg zstd zlib libzip lz4 opus libusb"
|
||||
PKG_DEPENDS_TARGET="toolchain libfmt boost ffmpeg zstd zlib libzip lz4 opus libusb nlohmann-json"
|
||||
PKG_SHORTDESC="Nintendo Switch emulator"
|
||||
PKG_TOOLCHAIN="cmake"
|
||||
GET_HANDLER_SUPPORT="git"
|
||||
|
@ -37,7 +37,6 @@ PKG_CMAKE_OPTS_TARGET+=" -DENABLE_QT=OFF \
|
|||
-DENABLE_SDL2=ON \
|
||||
-DARCHITECTURE_x86_64=ON \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DYUZU_USE_BUNDLED_LIBUSB=OFF \
|
||||
-DENABLE_WEB_SERVICE=OFF \
|
||||
-DUSE_DISCORD_PRESENCE=OFF"
|
||||
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c6fc5dd9e..78098416b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -195,7 +195,7 @@ if (YUZU_TESTS)
|
||||
find_package(Catch2 2.13.7 REQUIRED CONFIG)
|
||||
endif()
|
||||
|
||||
-find_package(Boost 1.73.0 COMPONENTS context)
|
||||
+find_package(Boost 1.80.0 COMPONENTS context REQUIRED)
|
||||
if (Boost_FOUND)
|
||||
set(Boost_LIBRARIES Boost::boost)
|
||||
# Conditionally add Boost::context only if the found Boost package provides it
|
||||
@@ -205,7 +205,7 @@ if (Boost_FOUND)
|
||||
list(APPEND Boost_LIBRARIES Boost::context)
|
||||
endif()
|
||||
else()
|
||||
- message(FATAL_ERROR "Boost 1.73.0 or newer not found")
|
||||
+ message(FATAL_ERROR "Boost 1.80.0 or newer not found")
|
||||
endif()
|
||||
|
||||
# boost:asio has functions that require AcceptEx et al
|
||||
@@ -386,11 +386,9 @@ endif()
|
||||
|
||||
# Ensure libusb is properly configured (based on dolphin libusb include)
|
||||
if(NOT APPLE AND NOT YUZU_USE_BUNDLED_LIBUSB)
|
||||
- find_package(PkgConfig)
|
||||
+ add_definitions(-D__LIBUSB__)
|
||||
if (PKG_CONFIG_FOUND AND NOT CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD")
|
||||
- pkg_check_modules(LIBUSB QUIET libusb-1.0>=1.0.24)
|
||||
- else()
|
||||
- find_package(LibUSB)
|
||||
+ find_package(LibUSB)
|
||||
endif()
|
||||
|
||||
if (LIBUSB_FOUND)
|
||||
@@ -398,8 +396,7 @@ if(NOT APPLE AND NOT YUZU_USE_BUNDLED_LIBUSB)
|
||||
target_include_directories(usb INTERFACE "${LIBUSB_INCLUDE_DIRS}")
|
||||
target_link_libraries(usb INTERFACE "${LIBUSB_LIBRARIES}")
|
||||
else()
|
||||
- message(WARNING "libusb not found, falling back to externals")
|
||||
- set(YUZU_USE_BUNDLED_LIBUSB ON)
|
||||
+ message(WARNING "libusb not found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
diff --git a/src/input_common/drivers/gc_adapter.cpp b/src/input_common/drivers/gc_adapter.cpp
|
||||
index 826fa2109..bc6d90f1d 100644
|
||||
--- a/src/input_common/drivers/gc_adapter.cpp
|
||||
+++ b/src/input_common/drivers/gc_adapter.cpp
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <fmt/format.h>
|
||||
-#include <libusb.h>
|
||||
+#include <libusb-1.0/libusb.h>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
#include "common/param_package.h"
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/src/input_common/drivers/sdl_driver.cpp b/src/input_common/drivers/sdl_driver.cpp
|
||||
index 45ce588f0..402b4956c 100644
|
||||
--- a/src/input_common/drivers/sdl_driver.cpp
|
||||
+++ b/src/input_common/drivers/sdl_driver.cpp
|
||||
@@ -211,8 +211,8 @@ public:
|
||||
std::string GetControllerName() const {
|
||||
if (sdl_controller) {
|
||||
switch (SDL_GameControllerGetType(sdl_controller.get())) {
|
||||
- case SDL_CONTROLLER_TYPE_XBOX360:
|
||||
- return "Xbox 360 Controller";
|
||||
+ // case SDL_CONTROLLER_TYPE_XBOX360:
|
||||
+ // return "Xbox 360 Controller";
|
||||
case SDL_CONTROLLER_TYPE_XBOXONE:
|
||||
return "Xbox One Controller";
|
||||
case SDL_CONTROLLER_TYPE_PS3:
|
|
@ -2,13 +2,11 @@
|
|||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="citra"
|
||||
PKG_VERSION="70bf7d8a63b0b501e8f5cff89a86a3e2d4083aa0"
|
||||
PKG_REV="1"
|
||||
PKG_VERSION="f0b09a5c0cb3767d43f5f8ca12a783012298fd44"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/libretro/citra"
|
||||
PKG_URL="$PKG_SITE.git"
|
||||
PKG_DEPENDS_TARGET="toolchain boost"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="libretro"
|
||||
PKG_SHORTDESC="Citra - Nintendo 3DS emulator for libretro"
|
||||
PKG_TOOLCHAIN="make"
|
||||
|
|
|
@ -7,7 +7,7 @@ PKG_VERSION="24c373245ebdab946f11627520edea76e1f23b8e"
|
|||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/stenzek/duckstation"
|
||||
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_URL="$PKG_SITE.git"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 nasm:host pulseaudio openssl libidn2 nghttp2 zlib curl libevdev"
|
||||
PKG_SECTION="libretro"
|
||||
PKG_SHORTDESC="DuckStation - PlayStation 1, aka. PSX Emulator"
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
diff --git a/src/core/cpu_core.h b/src/core/cpu_core.h
|
||||
index c9199153..5d82b5c0 100644
|
||||
--- a/src/core/cpu_core.h
|
||||
+++ b/src/core/cpu_core.h
|
||||
@@ -84,6 +84,8 @@ struct State
|
||||
std::array<u8, DCACHE_SIZE> dcache = {};
|
||||
std::array<u32, ICACHE_LINES> icache_tags = {};
|
||||
std::array<u8, ICACHE_SIZE> icache_data = {};
|
||||
+
|
||||
+ static constexpr u32 GTERegisterOffset(u32 index) { return offsetof(State, gte_regs.r32) + (sizeof(u32) * index); }
|
||||
};
|
||||
|
||||
extern State g_state;
|
||||
diff --git a/src/core/cpu_recompiler_code_generator.cpp b/src/core/cpu_recompiler_code_generator.cpp
|
||||
index 68492b03..e550844e 100644
|
||||
--- a/src/core/cpu_recompiler_code_generator.cpp
|
||||
+++ b/src/core/cpu_recompiler_code_generator.cpp
|
||||
@@ -2377,7 +2377,7 @@ Value CodeGenerator::DoGTERegisterRead(u32 index)
|
||||
|
||||
default:
|
||||
{
|
||||
- EmitLoadCPUStructField(value.host_reg, RegSize_32, offsetof(State, gte_regs.r32[index]));
|
||||
+ EmitLoadCPUStructField(value.host_reg, RegSize_32, State::GTERegisterOffset(index));
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2406,7 +2406,7 @@ void CodeGenerator::DoGTERegisterWrite(u32 index, const Value& value)
|
||||
{
|
||||
// sign-extend z component of vector registers
|
||||
Value temp = ConvertValueSize(value.ViewAsSize(RegSize_16), RegSize_32, true);
|
||||
- EmitStoreCPUStructField(offsetof(State, gte_regs.r32[index]), temp);
|
||||
+ EmitStoreCPUStructField(State::GTERegisterOffset(index), temp);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@@ -2419,7 +2419,7 @@ void CodeGenerator::DoGTERegisterWrite(u32 index, const Value& value)
|
||||
{
|
||||
// zero-extend unsigned values
|
||||
Value temp = ConvertValueSize(value.ViewAsSize(RegSize_16), RegSize_32, false);
|
||||
- EmitStoreCPUStructField(offsetof(State, gte_regs.r32[index]), temp);
|
||||
+ EmitStoreCPUStructField(State::GTERegisterOffset(index), temp);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@@ -2461,7 +2461,7 @@ void CodeGenerator::DoGTERegisterWrite(u32 index, const Value& value)
|
||||
default:
|
||||
{
|
||||
// written as-is, 2x16 or 1x32 bits
|
||||
- EmitStoreCPUStructField(offsetof(State, gte_regs.r32[index]), value);
|
||||
+ EmitStoreCPUStructField(State::GTERegisterOffset(index), value);
|
||||
return;
|
||||
}
|
||||
}
|
|
@ -3,8 +3,8 @@
|
|||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mesa"
|
||||
PKG_VERSION="22.3.0"
|
||||
PKG_SHA256="644bf936584548c2b88762111ad58b4aa3e4688874200e5a4eb74e53ce301746"
|
||||
PKG_VERSION="22.3.1"
|
||||
PKG_SHA256="3c9cd611c0859d307aba0659833386abdca4c86162d3c275ba5be62d16cf31eb"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.mesa3d.org/"
|
||||
PKG_URL="https://mesa.freedesktop.org/archive/mesa-${PKG_VERSION}.tar.xz"
|
||||
|
|
|
@ -142,7 +142,13 @@ msx.rgascale=0
|
|||
n64.integerscale=1
|
||||
n64.cpugovernor=performance
|
||||
n64.ratio=4/3
|
||||
n64.game_aspect_ratio=4:3
|
||||
n64.rgascale=0
|
||||
n64.internal_resolution=1
|
||||
n64.rsp_plugin=hle
|
||||
n64.input_configuration=zlswap
|
||||
n64.controller_pak=2
|
||||
n64.show_fps=0
|
||||
naomi.integerscale=1
|
||||
naomi.cpugovernor=performance
|
||||
naomi.ratio=4/3
|
||||
|
|
|
@ -288,6 +288,8 @@ then
|
|||
jslisten set "-9 dolphin-emu-nogui"
|
||||
if [ "$EMU" = "dolphinsa-gc" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_dolphin_gc.sh "${ROMNAME}"'
|
||||
elif [ "$EMU" = "primehack" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_primehack.sh "${ROMNAME}"'
|
||||
fi
|
||||
|
||||
;;
|
||||
|
@ -295,6 +297,8 @@ then
|
|||
jslisten set "-9 dolphin-emu-nogui"
|
||||
if [ "$EMU" = "dolphinsa-wii" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_dolphin_wii.sh "${ROMNAME}"'
|
||||
elif [ "$EMU" = "primehack" ]; then
|
||||
RUNTHIS='${TBASH} /usr/bin/start_primehack.sh "${ROMNAME}"'
|
||||
fi
|
||||
;;
|
||||
"switch")
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="nlohmann-json"
|
||||
PKG_VERSION="3.6.1"
|
||||
PKG_SHA256="80c45b090e40bf3d7a7f2a6e9f36206d3ff710acfa8d8cc1f8c763bb3075e22e"
|
||||
PKG_VERSION="3.11.2"
|
||||
PKG_SHA256="d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://nlohmann.github.io/json/"
|
||||
PKG_URL="https://github.com/nlohmann/json/archive/v$PKG_VERSION.tar.gz"
|
||||
|
|
|
@ -6,11 +6,29 @@
|
|||
<choice name="4/3" value="4:3" />
|
||||
<choice name="fullscreen" value="fullscreen" />
|
||||
</feature>
|
||||
<feature name="internal resolution">
|
||||
<choice name="native (240p)" value="1"/>
|
||||
<choice name="2x (480p)" value="2"/>
|
||||
<choice name="3x (720p)" value="3"/>
|
||||
<choice name="4x (1080p)" value="4"/>
|
||||
</feature>
|
||||
<feature name="rsp plugin">
|
||||
<choice name="fast" value="hle" />
|
||||
<choice name="accurate" value="mle" />
|
||||
</feature>
|
||||
<feature name="input configuration">
|
||||
<choice name="default" value="default" />
|
||||
<choice name="z & l swap" value="zlswap" />
|
||||
<choice name="custom" value="custom" />
|
||||
</feature>
|
||||
<feature name="controller pak">
|
||||
<choice name="None" value="1" />
|
||||
<choice name="Memory" value="2" />
|
||||
<choice name="Rumble" value="5" />
|
||||
</feature>
|
||||
<feature name="show fps">
|
||||
<choice name="yes" value="true"/>
|
||||
<choice name="no" value="false"/>
|
||||
</feature>
|
||||
</features>
|
||||
</emulator>
|
||||
<emulator name="yabasanshiroSA">
|
||||
|
@ -33,7 +51,7 @@
|
|||
<choice name="8x SSAA" value="8s"/>
|
||||
</feature>
|
||||
<feature name="aspect ratio">
|
||||
<choice name="default" value="0"/>
|
||||
<choice name="auto" value="0"/>
|
||||
<choice name="16/9" value="1"/>
|
||||
<choice name="4/3" value="2"/>
|
||||
<choice name="stretch" value="3"/>
|
||||
|
@ -53,7 +71,7 @@
|
|||
<choice name="no" value="false"/>
|
||||
</feature>
|
||||
<feature name="gamecube controller profile">
|
||||
<choice name="default" value="default"/>
|
||||
<choice name="gc gamepad" value="gcpad"/>
|
||||
<choice name="custom" value="custom"/>
|
||||
</feature>
|
||||
</features>
|
||||
|
@ -70,7 +88,46 @@
|
|||
<choice name="8x SSAA" value="8s"/>
|
||||
</feature>
|
||||
<feature name="aspect ratio">
|
||||
<choice name="default" value="0"/>
|
||||
<choice name="auto" value="0"/>
|
||||
<choice name="16/9" value="1"/>
|
||||
<choice name="4/3" value="2"/>
|
||||
<choice name="stretch" value="3"/>
|
||||
</feature>
|
||||
<feature name="graphics backend">
|
||||
<choice name="opengl" value="opengl"/>
|
||||
<choice name="vulkan" value="vulkan"/>
|
||||
<choice name="software" value="software"/>
|
||||
</feature>
|
||||
<feature name="internal resolution">
|
||||
<choice name="native (480p)" value="1"/>
|
||||
<choice name="2x (720P)" value="2"/>
|
||||
<choice name="3x (1080P)" value="3"/>
|
||||
</feature>
|
||||
<feature name="show fps">
|
||||
<choice name="yes" value="true"/>
|
||||
<choice name="no" value="false"/>
|
||||
</feature>
|
||||
<feature name="wii controller profile">
|
||||
<choice name="Wiimote" value="remote"/>
|
||||
<choice name="Wiimote w/ Nunchuck" value="nunchuck"/>
|
||||
<choice name="Classic Controller" value="classic"/>
|
||||
<choice name="custom" value="custom"/>
|
||||
</feature>
|
||||
</features>
|
||||
</emulator>
|
||||
<emulator name="primehack">
|
||||
<features>
|
||||
<feature name="anti aliasing">
|
||||
<choice name="off" value="0"/>
|
||||
<choice name="2x MSAA" value="2m"/>
|
||||
<choice name="2x SSAA" value="2s"/>
|
||||
<choice name="4x MSAA" value="4m"/>
|
||||
<choice name="4x SSAA" value="4s"/>
|
||||
<choice name="8x MSAA" value="8m"/>
|
||||
<choice name="8x SSAA" value="8s"/>
|
||||
</feature>
|
||||
<feature name="aspect ratio">
|
||||
<choice name="auto" value="0"/>
|
||||
<choice name="16/9" value="1"/>
|
||||
<choice name="4/3" value="2"/>
|
||||
<choice name="stretch" value="3"/>
|
||||
|
|
|
@ -1454,6 +1454,7 @@
|
|||
<core default="true">pcsx_rearmed32</core>
|
||||
<core>pcsx_rearmed</core>
|
||||
<core>swanstation</core>
|
||||
<core>duckstation</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="Duckstation">
|
||||
|
|
|
@ -806,6 +806,11 @@
|
|||
<core default="true">dolphinsa-gc</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="primehack">
|
||||
<cores>
|
||||
<core>primehack</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="retroarch">
|
||||
<cores>
|
||||
<core>dolphin</core>
|
||||
|
@ -830,6 +835,11 @@
|
|||
<core default="true">dolphinsa-wii</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="primehack">
|
||||
<cores>
|
||||
<core>primehack</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="retroarch">
|
||||
<cores>
|
||||
<core>dolphin</core>
|
||||
|
@ -1484,6 +1494,7 @@
|
|||
<emulator name="retroarch">
|
||||
<cores>
|
||||
<core default="true">swanstation</core>
|
||||
<core>duckstation</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="Duckstation">
|
||||
|
|
|
@ -11,7 +11,7 @@ PKG_EMUS="hatarisa openbor hypseus-singe moonlight hypseus-singe pico-8 flycasts
|
|||
scummvmsa PPSSPPSDL yabasanshiroSA vicesa mupen64plussa-audio-sdl \
|
||||
mupen64plussa-input-sdl mupen64plussa-ui-console mupen64plussa-video-rice \
|
||||
mupen64plussa-core mupen64plussa-rsp-hle mupen64plussa-rsp-cxd4 mupen64plussa-video-glide64mk2 \
|
||||
mupen64plussa-video-gliden64 lzdoom gzdoom ecwolf amiberry raze drastic"
|
||||
mupen64plussa-video-gliden64 lzdoom gzdoom ecwolf amiberry raze"
|
||||
|
||||
PKG_RETROARCH="retroarch retroarch-overlays retroarch-joypads retroarch-assets libretro-database core-info"
|
||||
|
||||
|
@ -28,22 +28,22 @@ LIBRETRO_CORES="2048 81 a5200 atari800 beetle-gba beetle-lynx beetle-ngp beetle-
|
|||
sameduck scummvm smsplus-gx snes9x snes9x2002 snes9x2005_plus snes9x2010 stella \
|
||||
stella-2014 swanstation TIC-80 tgbdual tyrquake xrick uae4arm uzem vba-next vbam \
|
||||
vecx vice yabasanshiro xmil mesen virtualjaguar ecwolf_libretro vitaquake2 \
|
||||
bsnes-mercury-performance"
|
||||
bsnes-mercury-performance duckstation"
|
||||
|
||||
PKG_DEPENDS_TARGET="${PKG_EMUS} ${PKG_RETROARCH} ${LIBRETRO_CORES}"
|
||||
|
||||
### Emulators or cores for specific devices
|
||||
case "${DEVICE}" in
|
||||
RG351P|RG351V|RG351MP|RGB20S)
|
||||
PKG_DEPENDS_TARGET+=" common-shaders glsl-shaders"
|
||||
PKG_DEPENDS_TARGET+=" common-shaders glsl-shaders drastic"
|
||||
;;
|
||||
RG552)
|
||||
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin slang-shaders beetle-saturn"
|
||||
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin slang-shaders beetle-saturn drastic"
|
||||
;;
|
||||
RG503|RG353P)
|
||||
PKG_DEPENDS_TARGET+=" duckstationsa common-shaders glsl-shaders"
|
||||
PKG_DEPENDS_TARGET+=" duckstationsa common-shaders glsl-shaders drastic dolphinsa"
|
||||
;;
|
||||
handheld)
|
||||
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin pcsx2sa pcsx2 desmume bsnes citra slang-shaders minivmac minivmacsa play beetle-saturn"
|
||||
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin pcsx2sa pcsx2 desmume bsnes citra slang-shaders minivmac minivmacsa play beetle-saturn yuzusa primehack"
|
||||
;;
|
||||
esac
|
||||
|
|
Loading…
Reference in a new issue