misc stuff

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5468 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Marko Pusljar 2010-05-23 08:41:58 +00:00
parent 1883b32f33
commit a0c44df6c0
6 changed files with 7 additions and 13 deletions

View File

@ -186,7 +186,7 @@ static int write_empty(FILE* file, u64 count)
return 0; 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_fat;
int sectors_per_disk; int sectors_per_disk;

View File

@ -17,4 +17,4 @@
#include "Common.h" #include "Common.h"
bool SDCardCreate(u32 disk_size /*in MB*/, char* filename); bool SDCardCreate(u64 disk_size /*in MB*/, char* filename);

View File

@ -19,22 +19,14 @@
#include "DSPIntExtOps.h" #include "DSPIntExtOps.h"
// Extended opcodes do not exist on their own. These opcodes can only be // 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. // opcode). Extended opcodes do not modify program counter $pc register.
// Most of the suffixes increment or decrement one or more addressing registers // Most of the suffixes increment or decrement one or more addressing registers
// (the first four, ARx). The increment/decrement is either 1, or the // (the first four, ARx). The increment/decrement is either 1, or the
// corresponding "index" register (the second four, IXx). The addressing // corresponding "index" register (the second four, IXx). The addressing
// registers will wrap in odd ways, dictated by the corresponding wrapping // registers will wrap in odd ways, dictated by the corresponding wrapping
// register, WP0-3. // register, WR0-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)
namespace DSPInterpreter namespace DSPInterpreter
{ {

View File

@ -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 // increment, decrement 100% ok (as far as i can tell), increase, decrease still probs
// NextPowerOf2()-1
inline u16 ToMask(u16 a) inline u16 ToMask(u16 a)
{ {
a = a | (a >> 8); a = a | (a >> 8);

View File

@ -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}, {"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 // 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!! //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}, {"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 = const DSPOPCTemplate cw =
{"CW", 0x0000, 0x0000, NULL, NULL, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false}; {"CW", 0x0000, 0x0000, NULL, NULL, 1, 1, {{P_VAL, 2, 0, 0, 0xffff}}, false, false};
// extended opcodes
const DSPOPCTemplate opcodes_ext[] = const DSPOPCTemplate opcodes_ext[] =
{ {

View File

@ -40,6 +40,7 @@ IVolume::ECountry CountrySwitch(u8 CountryCode)
// NTSC // NTSC
case 'E': case 'E':
case 'Z': // Prince Of Persia - The Forgotten Sands (WII)
return IVolume::COUNTRY_USA; return IVolume::COUNTRY_USA;
break; break;