3rdParty: update mupen64plus-rsp-parallel

This commit is contained in:
Rosalie Wanders
2025-02-02 07:59:28 +01:00
parent 85159348a1
commit c4929d9ac7
4 changed files with 16 additions and 16 deletions
+2 -2
View File
@@ -6,7 +6,7 @@
[subrepo]
remote = git@github.com:/Rosalie241/parallel-rsp.git
branch = RMG
commit = caafb9e1197368e097e2f8e08e9f9ebec312f5eb
parent = 6eab08cce5202bae87a7b9ba33dd9a95e2ee0bac
commit = c4648a228743ca3248d54d0d61c886cfeeeac8ac
parent = 85159348a12f71e5d19f46b1027b75c36e38bf21
method = merge
cmdver = 0.4.6
+1 -1
View File
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 99)
project(parallel-rsp LANGUAGES CXX C)
+1 -1
View File
@@ -14,7 +14,7 @@ namespace RSP
{
namespace JIT
{
#if TARGET_OS_TV // tvOS is 64bit but does not allow an infinite amount of VA space
#ifdef IOS // iOS/tvOS is 64bit but does not allow an infinite amount of VA space
static constexpr bool huge_va = false;
#else
static constexpr bool huge_va = std::numeric_limits<size_t>::max() > 0x100000000ull;
+12 -12
View File
@@ -148,7 +148,7 @@ extern "C"
auto *reg = rsp->cp2.regs[rt].e;
for (unsigned i = 0; i < 8; i++)
reg[i] = READ_MEM_U8(rsp->dmem, (addr + (i + index & 0xf)) & 0xfff) << 8;
reg[i] = READ_MEM_U8(rsp->dmem, (addr + ((i + index) & 0xf)) & 0xfff) << 8;
}
void RSP_SPV(RSP::CPUState *rsp, unsigned rt, unsigned e, int offset, unsigned base)
@@ -175,7 +175,7 @@ extern "C"
auto *reg = rsp->cp2.regs[rt].e;
for (unsigned i = 0; i < 8; i++)
reg[i] = READ_MEM_U8(rsp->dmem, (addr + (i + index & 0xf)) & 0xfff) << 7;
reg[i] = READ_MEM_U8(rsp->dmem, (addr + ((i + index) & 0xf)) & 0xfff) << 7;
}
void RSP_SUV(RSP::CPUState *rsp, unsigned rt, unsigned e, int offset, unsigned base)
@@ -201,7 +201,7 @@ extern "C"
auto *reg = rsp->cp2.regs[rt].e;
for (unsigned i = 0; i < 8; i++)
reg[i] = (uint16_t)READ_MEM_U8(rsp->dmem, (addr + (index + i * 2 & 0xf)) & 0xfff) << 7;
reg[i] = (uint16_t)READ_MEM_U8(rsp->dmem, (addr + ((index + i * 2) & 0xf)) & 0xfff) << 7;
}
void RSP_SHV(RSP::CPUState *rsp, unsigned rt, unsigned e, int offset, unsigned base)
@@ -215,8 +215,8 @@ extern "C"
for (unsigned i = 0; i < 8; i++)
{
const unsigned b = e + (i << 1);
const uint8_t byte = byteFromHalfWords(reg, b & 0xf) << 1 | byteFromHalfWords(reg, b + 1 & 0xf) >> 7;
WRITE_MEM_U8(rsp->dmem, addr + (index + i * 2 & 0xf), byte);
const uint8_t byte = byteFromHalfWords(reg, b & 0xf) << 1 | byteFromHalfWords(reg, (b + 1) & 0xf) >> 7;
WRITE_MEM_U8(rsp->dmem, addr + ((index + i * 2) & 0xf), byte);
}
}
@@ -232,8 +232,8 @@ extern "C"
for (unsigned i = 0; i < 4; i++)
{
temp[i] = (uint16_t)READ_MEM_U8(rsp->dmem, (addr + (index + i * 4 & 0xf)) & 0xfff) << 7;
temp[i+4] = (uint16_t)READ_MEM_U8(rsp->dmem, (addr + (index + i * 4 + 8 & 0xf)) & 0xfff) << 7;
temp[i] = (uint16_t)READ_MEM_U8(rsp->dmem, (addr + ((index + i * 4) & 0xf)) & 0xfff) << 7;
temp[i+4] = (uint16_t)READ_MEM_U8(rsp->dmem, (addr + ((index + i * 4 + 8) & 0xf)) & 0xfff) << 7;
}
for (unsigned i = e; i < end; i++)
@@ -243,8 +243,8 @@ extern "C"
#define RSP_SFV_CASE(a,b,c,d) \
WRITE_MEM_U8(rsp->dmem, addr + base, int16_t(reg[a]) >> 7); \
WRITE_MEM_U8(rsp->dmem, addr + 4 + base, int16_t(reg[b]) >> 7); \
WRITE_MEM_U8(rsp->dmem, addr + (8 + base & 0xf), int16_t(reg[c]) >> 7); \
WRITE_MEM_U8(rsp->dmem, addr + (12 + base & 0xf), int16_t(reg[d]) >> 7);
WRITE_MEM_U8(rsp->dmem, addr + ((8 + base) & 0xf), int16_t(reg[c]) >> 7); \
WRITE_MEM_U8(rsp->dmem, addr + ((12 + base) & 0xf), int16_t(reg[d]) >> 7);
void RSP_SFV(RSP::CPUState *rsp, unsigned rt, unsigned e, int offset, unsigned base)
{
@@ -281,8 +281,8 @@ extern "C"
default:
WRITE_MEM_U8(rsp->dmem, addr + base, 0);
WRITE_MEM_U8(rsp->dmem, addr + 4 + base, 0);
WRITE_MEM_U8(rsp->dmem, addr + (8 + base & 0xf), 0);
WRITE_MEM_U8(rsp->dmem, addr + (12 + base & 0xf), 0);
WRITE_MEM_U8(rsp->dmem, addr + ((8 + base) & 0xf), 0);
WRITE_MEM_U8(rsp->dmem, addr + ((12 + base) & 0xf), 0);
break;
}
}
@@ -351,7 +351,7 @@ extern "C"
addr &= ~0xf;
for (unsigned i = e; i < end; i++)
WRITE_MEM_U8(rsp->dmem, addr++, byteFromHalfWords(rsp->cp2.regs[rt].e, i + base & 0xf));
WRITE_MEM_U8(rsp->dmem, addr++, byteFromHalfWords(rsp->cp2.regs[rt].e, (i + base) & 0xf));
}
void RSP_LTV(RSP::CPUState *rsp, unsigned rt, unsigned e, int offset, unsigned base)