This commit is contained in:
elisha464 2014-03-11 21:00:21 +02:00
commit 62f9d454eb
11 changed files with 58 additions and 36 deletions

View file

@ -2,7 +2,10 @@
#include "Emu/SysCalls/SysCalls.h"
#include "Emu/SysCalls/SC_FUNC.h"
// Requires GCC 4.10 apparently..
#ifdef _MSC_VER
#include <codecvt>
#endif
void cellL10n_init();
Module cellL10n(0x001e, cellL10n_init);
@ -26,7 +29,7 @@ int UTF16stoUTF8s(mem16_ptr_t utf16, mem64_t utf16_len, mem8_ptr_t utf8, mem64_t
std::u16string wstr =(char16_t*)Memory.VirtualToRealAddr(utf16);
wstr.resize(utf16_len.GetValue()); // TODO: Is this really the role of utf16_len in this function?
#ifdef _MSC_VER
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>,char16_t> convert;
std::string str = convert.to_bytes(wstr);
@ -36,6 +39,7 @@ int UTF16stoUTF8s(mem16_ptr_t utf16, mem64_t utf16_len, mem8_ptr_t utf8, mem64_t
utf8_len = str.size();
Memory.WriteString(utf8, str.c_str());
#endif
return ConversionOK;
}
@ -208,4 +212,4 @@ void cellL10n_init()
// cellL10n.AddFunc(0xf9b1896d, SJISstoUCS2s);
// cellL10n.AddFunc(0xfa4a675a, BIG5stoUCS2s);
// cellL10n.AddFunc(0xfdbf6ac5, UTF8stoUCS2s);
}
}

View file

@ -87,7 +87,8 @@ struct CellSpursTraceInfo
//u8 padding[];
};
__declspec(align(8)) struct CellTraceHeader
//__declspec(align(8))
struct CellTraceHeader
{
u8 tag;
u8 length;
@ -135,17 +136,20 @@ struct CellSpursTracePacket
} data;
};
__declspec(align(128)) struct CellSpurs
//__declspec(align(128))
struct CellSpurs
{
u8 skip[CELL_SPURS_SIZE];
};
__declspec(align(128)) struct CellSpurs2
//__declspec(align(128))
struct CellSpurs2
{
u8 skip[CELL_SPURS_SIZE2 - CELL_SPURS_SIZE];
};
__declspec(align(8)) struct CellSpursAttribute
//__declspec(align(8))
struct CellSpursAttribute
{
u8 skip[CELL_SPURS_ATTRIBUTE_SIZE];
};
@ -184,7 +188,8 @@ enum
};
__declspec(align(128)) struct CellSpursTaskset
//__declspec(align(128))
struct CellSpursTaskset
{
u8 skip[6400];
};
@ -217,7 +222,8 @@ struct CellSpursTasksetInfo
#define CELL_SPURS_TASKSET_SIZE CELL_SPURS_TASKSET_CLASS0_SIZE
*/
__declspec(align(128)) struct CellSpursTaskset2
//__declspec(align(128))
struct CellSpursTaskset2
{
be_t<u8> skip[10496];
};
@ -267,7 +273,8 @@ struct CellSpursTaskAttribute2
//be_t<u32> __reserved__[];
};
__declspec(align(128)) struct CellSpursTaskExitCode
//__declspec(align(128))
struct CellSpursTaskExitCode
{
unsigned char skip[128];
};