mirror of
https://github.com/Rosalie241/RMG.git
synced 2026-07-11 01:24:01 +02:00
3rdParty: update mupen64plus-rsp-parallel
This commit is contained in:
+2
-2
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user