diff --git a/Source/Core/Common/Src/SDCardUtil.cpp b/Source/Core/Common/Src/SDCardUtil.cpp index 689fc1ffd2..985e02d8ca 100644 --- a/Source/Core/Common/Src/SDCardUtil.cpp +++ b/Source/Core/Common/Src/SDCardUtil.cpp @@ -186,7 +186,7 @@ static int write_empty(FILE* file, u64 count) return 0; } -bool SDCardCreate(u32 disk_size /*in MB*/, char* filename) +bool SDCardCreate(u64 disk_size /*in MB*/, char* filename) { int sectors_per_fat; int sectors_per_disk; diff --git a/Source/Core/Common/Src/SDCardUtil.h b/Source/Core/Common/Src/SDCardUtil.h index 2fa8fe87f7..6d0077f825 100644 --- a/Source/Core/Common/Src/SDCardUtil.h +++ b/Source/Core/Common/Src/SDCardUtil.h @@ -17,4 +17,4 @@ #include "Common.h" -bool SDCardCreate(u32 disk_size /*in MB*/, char* filename); +bool SDCardCreate(u64 disk_size /*in MB*/, char* filename); diff --git a/Source/Core/DSPCore/Src/DSPIntExtOps.cpp b/Source/Core/DSPCore/Src/DSPIntExtOps.cpp index 690dccf0a3..0928d57af7 100644 --- a/Source/Core/DSPCore/Src/DSPIntExtOps.cpp +++ b/Source/Core/DSPCore/Src/DSPIntExtOps.cpp @@ -19,22 +19,14 @@ #include "DSPIntExtOps.h" // Extended opcodes do not exist on their own. These opcodes can only be -// attached to opcodes that allow extending (8 lower bits of opcode not used by +// attached to opcodes that allow extending (8 (or 7) lower bits of opcode not used by // opcode). Extended opcodes do not modify program counter $pc register. // Most of the suffixes increment or decrement one or more addressing registers // (the first four, ARx). The increment/decrement is either 1, or the // corresponding "index" register (the second four, IXx). The addressing // registers will wrap in odd ways, dictated by the corresponding wrapping -// register, WP0-3. - -// The following should be applied as a decrement (and is applied by -// dsp_decrement_addr_reg): -// ar[i] = (ar[i] & wp[i]) == 0 ? ar[i] | wp[i] : ar[i] - 1; -// I have not found the corresponding algorithms for increments yet. -// It's gotta be fairly simple though. See R3123, R3125 in Google Code. -// (May have something to do with (ar[i] ^ wp[i]) == 0) - +// register, WR0-3. namespace DSPInterpreter { diff --git a/Source/Core/DSPCore/Src/DSPIntUtil.h b/Source/Core/DSPCore/Src/DSPIntUtil.h index c48b049403..4c19b5955a 100644 --- a/Source/Core/DSPCore/Src/DSPIntUtil.h +++ b/Source/Core/DSPCore/Src/DSPIntUtil.h @@ -57,6 +57,7 @@ inline bool dsp_SR_is_flag_set(int flag) // // increment, decrement 100% ok (as far as i can tell), increase, decrease still probs +// NextPowerOf2()-1 inline u16 ToMask(u16 a) { a = a | (a >> 8); diff --git a/Source/Core/DSPCore/Src/DSPTables.cpp b/Source/Core/DSPCore/Src/DSPTables.cpp index 97b8aabd5d..486ac7e6d0 100644 --- a/Source/Core/DSPCore/Src/DSPTables.cpp +++ b/Source/Core/DSPCore/Src/DSPTables.cpp @@ -205,7 +205,6 @@ const DSPOPCTemplate opcodes[] = {"SRS", 0x2800, 0xf800, DSPInterpreter::srs, NULL, 1, 2, {{P_MEM, 1, 0, 0, 0x00ff}, {P_REG18, 1, 0, 8, 0x0700}}, false, false}, // opcodes that can be extended -// extended opcodes, note size of opcode will be set to 0 //3 - main opcode defined by 9 bits, extension defined by last 7 bits!! {"XORR", 0x3000, 0xfc80, DSPInterpreter::xorr, NULL, 1 , 2, {{P_ACCM, 1, 0, 8, 0x0100},{P_REG1A, 1, 0, 9, 0x0200}}, true, false}, @@ -303,6 +302,7 @@ const DSPOPCTemplate opcodes[] = const DSPOPCTemplate cw = {"CW", 0x0000, 0x0000, NULL, NULL, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false}; +// extended opcodes const DSPOPCTemplate opcodes_ext[] = { diff --git a/Source/Core/DiscIO/Src/VolumeCommon.cpp b/Source/Core/DiscIO/Src/VolumeCommon.cpp index 4e054d894b..dd486eb145 100644 --- a/Source/Core/DiscIO/Src/VolumeCommon.cpp +++ b/Source/Core/DiscIO/Src/VolumeCommon.cpp @@ -40,6 +40,7 @@ IVolume::ECountry CountrySwitch(u8 CountryCode) // NTSC case 'E': + case 'Z': // Prince Of Persia - The Forgotten Sands (WII) return IVolume::COUNTRY_USA; break;