mirror of https://github.com/RPCS3/rpcs3.git
Merge pull request #907 from tambry/cellSailAndFixes
cellSail updates and many various fixes
This commit is contained in:
commit
dd067847dd
|
@ -11,6 +11,7 @@ int cellSailMemAllocatorInitialize(vm::ptr<CellSailMemAllocator> pSelf, vm::ptr<
|
||||||
cellSail->Warning("cellSailMemAllocatorInitialize(pSelf_addr=0x%x, pCallbacks_addr=0x%x)", pSelf.addr(), pCallbacks.addr());
|
cellSail->Warning("cellSailMemAllocatorInitialize(pSelf_addr=0x%x, pCallbacks_addr=0x%x)", pSelf.addr(), pCallbacks.addr());
|
||||||
|
|
||||||
pSelf->callbacks = pCallbacks;
|
pSelf->callbacks = pCallbacks;
|
||||||
|
// TODO: Create a cellSail thread
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
@ -629,15 +630,18 @@ int cellSailPlayerCreateDescriptor(vm::ptr<CellSailPlayer> pSelf, s32 streamType
|
||||||
//CellSailDescriptor *pDesc = new CellSailDescriptor();
|
//CellSailDescriptor *pDesc = new CellSailDescriptor();
|
||||||
//u32 descriptorAddress = pSelf->allocator->callbacks->pAlloc(pSelf->allocator->pArg, sizeof(CellSailDescriptor), sizeof(CellSailDescriptor));
|
//u32 descriptorAddress = pSelf->allocator->callbacks->pAlloc(pSelf->allocator->pArg, sizeof(CellSailDescriptor), sizeof(CellSailDescriptor));
|
||||||
u32 descriptorAddress = Memory.Alloc(sizeof(CellSailDescriptor), sizeof(CellSailDescriptor));
|
u32 descriptorAddress = Memory.Alloc(sizeof(CellSailDescriptor), sizeof(CellSailDescriptor));
|
||||||
cellSail->Error("Address: 0x%x", descriptorAddress);
|
//CellSailMemAllocatorFuncAlloc test = pSelf->allocator->callbacks->pAlloc.call(Emu.GetCPU());
|
||||||
|
//u32 descriptorAddress2 = test(pSelf->allocator->pArg, sizeof(CellSailDescriptor), sizeof(CellSailDescriptor));
|
||||||
|
//cellSail->Error("Address: 0x%x", pSelf->allocator->callbacks.addr());
|
||||||
|
//cellSail->Error("Address 2: 0x%x", descriptorAddress2);
|
||||||
//vm::ptr<CellSailDescriptor> descriptor = vm::ptr<CellSailDescriptor>::make(Memory.RealToVirtualAddr(&descriptorAddress));
|
//vm::ptr<CellSailDescriptor> descriptor = vm::ptr<CellSailDescriptor>::make(Memory.RealToVirtualAddr(&descriptorAddress));
|
||||||
vm::ptr<CellSailDescriptor> descriptor = vm::ptr<CellSailDescriptor>::make(descriptorAddress);
|
ppDesc = vm::ptr<CellSailDescriptor>::make(descriptorAddress);
|
||||||
//descriptor->streamType = streamType;
|
//cellSail->Error("Address 2: 0x%x", ppDesc.addr());
|
||||||
//descriptor->registered = false;
|
ppDesc->streamType = streamType;
|
||||||
|
ppDesc->registered = false;
|
||||||
|
|
||||||
pSelf->descriptors = 0;
|
//pSelf->descriptors = 0;
|
||||||
pSelf->repeatMode = 0;
|
pSelf->repeatMode = 0;
|
||||||
//ppDesc = descriptor;
|
|
||||||
|
|
||||||
//cellSail->Todo("pSelf_addr=0x%x, pDesc_addr=0x%x", pSelf.addr(), descriptor.addr());
|
//cellSail->Todo("pSelf_addr=0x%x, pDesc_addr=0x%x", pSelf.addr(), descriptor.addr());
|
||||||
//cellSailPlayerAddDescriptor(pSelf, ppDesc);
|
//cellSailPlayerAddDescriptor(pSelf, ppDesc);
|
||||||
|
|
|
@ -679,8 +679,8 @@ typedef void(*CellSailPlayerFuncNotified)(u32 pArg, vm::ptr<CellSailEvent> event
|
||||||
|
|
||||||
struct CellSailMemAllocatorFuncs
|
struct CellSailMemAllocatorFuncs
|
||||||
{
|
{
|
||||||
CellSailMemAllocatorFuncAlloc pAlloc;
|
vm::ptr<CellSailMemAllocatorFuncAlloc> pAlloc;
|
||||||
CellSailMemAllocatorFuncFree pFree;
|
vm::ptr<CellSailMemAllocatorFuncFree> pFree;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CellSailMemAllocator
|
struct CellSailMemAllocator
|
||||||
|
@ -691,8 +691,8 @@ struct CellSailMemAllocator
|
||||||
|
|
||||||
struct CellSailFuture
|
struct CellSailFuture
|
||||||
{
|
{
|
||||||
u32 mutex_id;
|
be_t<u32> mutex_id;
|
||||||
u32 cond_id;
|
be_t<u32> cond_id;
|
||||||
volatile be_t<u32> flags;
|
volatile be_t<u32> flags;
|
||||||
be_t<s32> result;
|
be_t<s32> result;
|
||||||
be_t<u64> userParam;
|
be_t<u64> userParam;
|
||||||
|
|
|
@ -110,6 +110,7 @@ void sys_game_process_exitspawn(vm::ptr<const char> path, u32 argv_addr, u32 env
|
||||||
else if (_path.substr(1, 8) == "dev_hdd1")
|
else if (_path.substr(1, 8) == "dev_hdd1")
|
||||||
device = 1;
|
device = 1;
|
||||||
|
|
||||||
|
if (device != 0)
|
||||||
Emu.BootGame(_path.c_str(), true, device);
|
Emu.BootGame(_path.c_str(), true, device);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -283,7 +283,6 @@
|
||||||
<ClInclude Include="..\Utilities\StrFmt.h" />
|
<ClInclude Include="..\Utilities\StrFmt.h" />
|
||||||
<ClInclude Include="..\Utilities\Thread.h" />
|
<ClInclude Include="..\Utilities\Thread.h" />
|
||||||
<ClInclude Include="..\Utilities\Timer.h" />
|
<ClInclude Include="..\Utilities\Timer.h" />
|
||||||
<ClInclude Include="cellMic.h" />
|
|
||||||
<ClInclude Include="Crypto\aes.h" />
|
<ClInclude Include="Crypto\aes.h" />
|
||||||
<ClInclude Include="Crypto\ec.h" />
|
<ClInclude Include="Crypto\ec.h" />
|
||||||
<ClInclude Include="Crypto\key_vault.h" />
|
<ClInclude Include="Crypto\key_vault.h" />
|
||||||
|
@ -420,8 +419,9 @@
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellGifDec.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellGifDec.h" />
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellJpgDec.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellJpgDec.h" />
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellL10n.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellL10n.h" />
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellNetCtl.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellMic.h" />
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellMsgDialog.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellMsgDialog.h" />
|
||||||
|
<ClInclude Include="Emu\SysCalls\Modules\cellNetCtl.h" />
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellPad.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellPad.h" />
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellPamf.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellPamf.h" />
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellPng.h" />
|
<ClInclude Include="Emu\SysCalls\Modules\cellPng.h" />
|
||||||
|
|
|
@ -742,6 +742,9 @@
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellL10n.h">
|
<ClInclude Include="Emu\SysCalls\Modules\cellL10n.h">
|
||||||
<Filter>Emu\SysCalls\Modules</Filter>
|
<Filter>Emu\SysCalls\Modules</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Emu\SysCalls\Modules\cellMic.h">
|
||||||
|
<Filter>Emu\SysCalls\Modules</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="Emu\SysCalls\Modules\cellMouse.h">
|
<ClInclude Include="Emu\SysCalls\Modules\cellMouse.h">
|
||||||
<Filter>Emu\SysCalls\Modules</Filter>
|
<Filter>Emu\SysCalls\Modules</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
@ -1252,9 +1255,6 @@
|
||||||
<ClInclude Include="Crypto\ec.h">
|
<ClInclude Include="Crypto\ec.h">
|
||||||
<Filter>Crypto</Filter>
|
<Filter>Crypto</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="cellMic.h">
|
|
||||||
<Filter>Emu\SysCalls\Modules</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Emu\Cell\PPULLVMRecompiler.h">
|
<ClInclude Include="Emu\Cell\PPULLVMRecompiler.h">
|
||||||
<Filter>Emu\CPU\Cell</Filter>
|
<Filter>Emu\CPU\Cell</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
Loading…
Reference in New Issue