1
0
Fork 0
forked from suyu/suyu

HLE: Fix recent DSP change for Visual Studio.

This commit is contained in:
bunnei 2016-05-07 00:54:31 -04:00
parent 8043a35cf9
commit 1a6cd7eb4b

View file

@ -33,13 +33,9 @@ namespace HLE {
// double-buffer. The frame counter is located as the very last u16 of each region and is incremented // double-buffer. The frame counter is located as the very last u16 of each region and is incremented
// each audio tick. // each audio tick.
struct SharedMemory;
constexpr VAddr region0_base = 0x1FF50000; constexpr VAddr region0_base = 0x1FF50000;
constexpr VAddr region1_base = 0x1FF70000; constexpr VAddr region1_base = 0x1FF70000;
extern std::array<SharedMemory, 2> g_regions;
/** /**
* The DSP is native 16-bit. The DSP also appears to be big-endian. When reading 32-bit numbers from * The DSP is native 16-bit. The DSP also appears to be big-endian. When reading 32-bit numbers from
* its memory regions, the higher and lower 16-bit halves are swapped compared to the little-endian * its memory regions, the higher and lower 16-bit halves are swapped compared to the little-endian
@ -507,6 +503,8 @@ struct SharedMemory {
}; };
ASSERT_DSP_STRUCT(SharedMemory, 0x8000); ASSERT_DSP_STRUCT(SharedMemory, 0x8000);
extern std::array<SharedMemory, 2> g_regions;
// Structures must have an offset that is a multiple of two. // Structures must have an offset that is a multiple of two.
static_assert(offsetof(SharedMemory, frame_counter) % 2 == 0, "Structures in DSP::HLE::SharedMemory must be 2-byte aligned"); static_assert(offsetof(SharedMemory, frame_counter) % 2 == 0, "Structures in DSP::HLE::SharedMemory must be 2-byte aligned");
static_assert(offsetof(SharedMemory, source_configurations) % 2 == 0, "Structures in DSP::HLE::SharedMemory must be 2-byte aligned"); static_assert(offsetof(SharedMemory, source_configurations) % 2 == 0, "Structures in DSP::HLE::SharedMemory must be 2-byte aligned");