From 1c014299eb5b4de380c467d2442c1d9e48b9c43f Mon Sep 17 00:00:00 2001 From: Megamouse Date: Tue, 26 Oct 2021 23:26:57 +0200 Subject: [PATCH] HLE: fix some types --- rpcs3/Emu/Cell/Modules/cellAtrac.cpp | 8 +++--- rpcs3/Emu/Cell/Modules/cellAtrac.h | 9 ++---- rpcs3/Emu/Cell/Modules/cellAtracMulti.cpp | 8 +++--- rpcs3/Emu/Cell/Modules/cellAtracMulti.h | 9 ++---- rpcs3/Emu/Cell/Modules/cellFiber.h | 2 +- rpcs3/Emu/Cell/Modules/cellGifDec.h | 2 +- rpcs3/Emu/Cell/Modules/cellPamf.cpp | 2 +- rpcs3/Emu/Cell/Modules/sceNp.cpp | 6 ++-- rpcs3/Emu/Cell/Modules/sceNpTus.h | 34 +++++++++++------------ rpcs3/Emu/Cell/Modules/sys_crashdump.h | 4 +-- 10 files changed, 39 insertions(+), 45 deletions(-) diff --git a/rpcs3/Emu/Cell/Modules/cellAtrac.cpp b/rpcs3/Emu/Cell/Modules/cellAtrac.cpp index 0434016ed9..e094fa0421 100644 --- a/rpcs3/Emu/Cell/Modules/cellAtrac.cpp +++ b/rpcs3/Emu/Cell/Modules/cellAtrac.cpp @@ -51,7 +51,7 @@ error_code cellAtracCreateDecoder(vm::ptr pHandle, vm::ptr { cellAtrac.warning("cellAtracCreateDecoder(pHandle=*0x%x, pucWorkMem=*0x%x, uiPpuThreadPriority=%d, uiSpuThreadPriority=%d)", pHandle, pucWorkMem, uiPpuThreadPriority, uiSpuThreadPriority); - pHandle->pucWorkMem = pucWorkMem; + std::memcpy(pHandle->ucWorkMem, pucWorkMem.get_ptr(), CELL_ATRAC_HANDLE_SIZE); return CELL_OK; } @@ -59,7 +59,7 @@ error_code cellAtracCreateDecoderExt(vm::ptr pHandle, vm::ptrpucWorkMem = pucWorkMem; + std::memcpy(pHandle->ucWorkMem, pucWorkMem.get_ptr(), CELL_ATRAC_HANDLE_SIZE); return CELL_OK; } @@ -84,7 +84,7 @@ error_code cellAtracGetStreamDataInfo(vm::ptr pHandle, vm::pptr { cellAtrac.warning("cellAtracGetStreamDataInfo(pHandle=*0x%x, ppucWritePointer=**0x%x, puiWritableByte=*0x%x, puiReadPosition=*0x%x)", pHandle, ppucWritePointer, puiWritableByte, puiReadPosition); - *ppucWritePointer = pHandle->pucWorkMem; + ppucWritePointer->set(pHandle.addr()); *puiWritableByte = 0x1000; *puiReadPosition = 0; return CELL_OK; @@ -206,7 +206,7 @@ error_code cellAtracGetBufferInfoForResetting(vm::ptr pHandle, { cellAtrac.warning("cellAtracGetBufferInfoForResetting(pHandle=*0x%x, uiSample=0x%x, pBufferInfo=*0x%x)", pHandle, uiSample, pBufferInfo); - pBufferInfo->pucWriteAddr = pHandle->pucWorkMem; + pBufferInfo->pucWriteAddr.set(pHandle.addr()); pBufferInfo->uiWritableByte = 0x1000; pBufferInfo->uiMinWriteByte = 0; pBufferInfo->uiReadPosition = 0; diff --git a/rpcs3/Emu/Cell/Modules/cellAtrac.h b/rpcs3/Emu/Cell/Modules/cellAtrac.h index 9159a189d3..6c9cb68248 100644 --- a/rpcs3/Emu/Cell/Modules/cellAtrac.h +++ b/rpcs3/Emu/Cell/Modules/cellAtrac.h @@ -43,15 +43,12 @@ enum struct alignas(8) CellAtracHandle { - vm::ptr pucWorkMem; - // ... + u8 ucWorkMem[CELL_ATRAC_HANDLE_SIZE]; }; -CHECK_MAX_SIZE(CellAtracHandle, 512); - struct CellAtracBufferInfo { - vm::ptr pucWriteAddr; + vm::bptr pucWriteAddr; be_t uiWritableByte; be_t uiMinWriteByte; be_t uiReadPosition; @@ -59,6 +56,6 @@ struct CellAtracBufferInfo struct CellAtracExtRes { - vm::ptr pSpurs; + vm::bptr pSpurs; u8 priority[8]; }; diff --git a/rpcs3/Emu/Cell/Modules/cellAtracMulti.cpp b/rpcs3/Emu/Cell/Modules/cellAtracMulti.cpp index aea5e28072..d003ad211e 100644 --- a/rpcs3/Emu/Cell/Modules/cellAtracMulti.cpp +++ b/rpcs3/Emu/Cell/Modules/cellAtracMulti.cpp @@ -53,7 +53,7 @@ error_code cellAtracMultiCreateDecoder(vm::ptr pHandle, vm { cellAtracMulti.warning("cellAtracMultiCreateDecoder(pHandle=*0x%x, pucWorkMem=*0x%x, uiPpuThreadPriority=%d, uiSpuThreadPriority=%d)", pHandle, pucWorkMem, uiPpuThreadPriority, uiSpuThreadPriority); - pHandle->pucWorkMem = pucWorkMem; + std::memcpy(pHandle->ucWorkMem, pucWorkMem.get_ptr(), CELL_ATRACMULTI_HANDLE_SIZE); return CELL_OK; } @@ -61,7 +61,7 @@ error_code cellAtracMultiCreateDecoderExt(vm::ptr pHandle, { cellAtracMulti.warning("cellAtracMultiCreateDecoderExt(pHandle=*0x%x, pucWorkMem=*0x%x, uiPpuThreadPriority=%d, pExtRes=*0x%x)", pHandle, pucWorkMem, uiPpuThreadPriority, pExtRes); - pHandle->pucWorkMem = pucWorkMem; + std::memcpy(pHandle->ucWorkMem, pucWorkMem.get_ptr(), CELL_ATRACMULTI_HANDLE_SIZE); return CELL_OK; } @@ -86,7 +86,7 @@ error_code cellAtracMultiGetStreamDataInfo(vm::ptr pHandle { cellAtracMulti.warning("cellAtracMultiGetStreamDataInfo(pHandle=*0x%x, ppucWritePointer=**0x%x, puiWritableByte=*0x%x, puiReadPosition=*0x%x)", pHandle, ppucWritePointer, puiWritableByte, puiReadPosition); - *ppucWritePointer = pHandle->pucWorkMem; + ppucWritePointer->set(pHandle.addr()); *puiWritableByte = 0x1000; *puiReadPosition = 0; return CELL_OK; @@ -215,7 +215,7 @@ error_code cellAtracMultiGetBufferInfoForResetting(vm::ptr { cellAtracMulti.warning("cellAtracMultiGetBufferInfoForResetting(pHandle=*0x%x, uiSample=0x%x, pBufferInfo=*0x%x)", pHandle, uiSample, pBufferInfo); - pBufferInfo->pucWriteAddr = pHandle->pucWorkMem; + pBufferInfo->pucWriteAddr.set(pHandle.addr()); pBufferInfo->uiWritableByte = 0x1000; pBufferInfo->uiMinWriteByte = 0; pBufferInfo->uiReadPosition = 0; diff --git a/rpcs3/Emu/Cell/Modules/cellAtracMulti.h b/rpcs3/Emu/Cell/Modules/cellAtracMulti.h index 39724b350c..bbeded81c0 100644 --- a/rpcs3/Emu/Cell/Modules/cellAtracMulti.h +++ b/rpcs3/Emu/Cell/Modules/cellAtracMulti.h @@ -44,15 +44,12 @@ enum struct alignas(8) CellAtracMultiHandle { - vm::ptr pucWorkMem; - // ... + u8 ucWorkMem[CELL_ATRACMULTI_HANDLE_SIZE]; }; -CHECK_MAX_SIZE(CellAtracMultiHandle, 512); - struct CellAtracMultiBufferInfo { - vm::ptr pucWriteAddr; + vm::bptr pucWriteAddr; be_t uiWritableByte; be_t uiMinWriteByte; be_t uiReadPosition; @@ -60,6 +57,6 @@ struct CellAtracMultiBufferInfo struct CellAtracMultiExtRes { - vm::ptr pSpurs; + vm::bptr pSpurs; u8 priority[8]; }; diff --git a/rpcs3/Emu/Cell/Modules/cellFiber.h b/rpcs3/Emu/Cell/Modules/cellFiber.h index 425fbd39d1..60294f9359 100644 --- a/rpcs3/Emu/Cell/Modules/cellFiber.h +++ b/rpcs3/Emu/Cell/Modules/cellFiber.h @@ -59,7 +59,7 @@ struct alignas(8) CellFiberPpuAttribute { u8 privateHeader[16]; char name[32]; - vm::ptr onExitCallback; + vm::bptr onExitCallback; be_t __reserved0__; be_t onExitCallbackArg; be_t __reserved1__; diff --git a/rpcs3/Emu/Cell/Modules/cellGifDec.h b/rpcs3/Emu/Cell/Modules/cellGifDec.h index e5574dbf48..b760254a78 100644 --- a/rpcs3/Emu/Cell/Modules/cellGifDec.h +++ b/rpcs3/Emu/Cell/Modules/cellGifDec.h @@ -136,7 +136,7 @@ struct CellGifDecOutParam struct CellGifDecExtension { u8 label; - vm::ptr data; + vm::bptr data; }; struct CellGifDecDataOutInfo diff --git a/rpcs3/Emu/Cell/Modules/cellPamf.cpp b/rpcs3/Emu/Cell/Modules/cellPamf.cpp index 32705c1f64..af4ad6a114 100644 --- a/rpcs3/Emu/Cell/Modules/cellPamf.cpp +++ b/rpcs3/Emu/Cell/Modules/cellPamf.cpp @@ -237,7 +237,7 @@ error_code cellPamfGetStreamOffsetAndSize(vm::ptr pAddr, u64 fileSiz return CELL_OK; } -error_code cellPamfVerify(vm::ptr pAddr, u64 fileSize) +error_code cellPamfVerify(vm::cptr pAddr, u64 fileSize) { cellPamf.todo("cellPamfVerify(pAddr=*0x%x, fileSize=0x%llx)", pAddr, fileSize); diff --git a/rpcs3/Emu/Cell/Modules/sceNp.cpp b/rpcs3/Emu/Cell/Modules/sceNp.cpp index 35b5005621..10857a397b 100644 --- a/rpcs3/Emu/Cell/Modules/sceNp.cpp +++ b/rpcs3/Emu/Cell/Modules/sceNp.cpp @@ -729,7 +729,7 @@ error_code sceNpBasicUnregisterHandler() return CELL_OK; } -error_code sceNpBasicSetPresence(vm::cptr data, u64 size) +error_code sceNpBasicSetPresence(vm::cptr data, u32 size) { sceNp.todo("sceNpBasicSetPresence(data=*0x%x, size=%d)", data, size); @@ -817,7 +817,7 @@ error_code sceNpBasicSetPresenceDetails2(vm::cptr pr return CELL_OK; } -error_code sceNpBasicSendMessage(vm::cptr to, vm::cptr data, u64 size) +error_code sceNpBasicSendMessage(vm::cptr to, vm::cptr data, u32 size) { sceNp.todo("sceNpBasicSendMessage(to=*0x%x, data=*0x%x, size=%d)", to, data, size); @@ -970,7 +970,7 @@ error_code sceNpBasicSendMessageGui(vm::cptr msg, sys_ return CELL_OK; } -error_code sceNpBasicSendMessageAttachment(vm::cptr to, vm::cptr subject, vm::cptr body, vm::cptr data, u64 size, sys_memory_container_t containerId) +error_code sceNpBasicSendMessageAttachment(vm::cptr to, vm::cptr subject, vm::cptr body, vm::cptr data, u32 size, sys_memory_container_t containerId) { sceNp.todo("sceNpBasicSendMessageAttachment(to=*0x%x, subject=%s, body=%s, data=%s, size=%d, containerId=%d)", to, subject, body, data, size, containerId); diff --git a/rpcs3/Emu/Cell/Modules/sceNpTus.h b/rpcs3/Emu/Cell/Modules/sceNpTus.h index d31964b5e3..3a6f3370e5 100644 --- a/rpcs3/Emu/Cell/Modules/sceNpTus.h +++ b/rpcs3/Emu/Cell/Modules/sceNpTus.h @@ -68,46 +68,46 @@ struct SceNpTusDataStatus struct SceNpTusAddAndGetVariableOptParam { - u64 size; // TODO: correct type? - vm::ptr isLastChangedDate; - vm::ptr isLastChangedAuthorId; + be_t size; + vm::bptr isLastChangedDate; + vm::bptr isLastChangedAuthorId; }; struct SceNpTusTryAndSetVariableOptParam { - u64 size; // TODO: correct type? - vm::ptr isLastChangedDate; - vm::ptr isLastChangedAuthorId; - vm::ptr compareValue; + be_t size; + vm::bptr isLastChangedDate; + vm::bptr isLastChangedAuthorId; + vm::bptr compareValue; }; struct SceNpTusSetDataOptParam { - u64 size; // TODO: correct type? - vm::ptr isLastChangedDate; - vm::ptr isLastChangedAuthorId; + be_t size; + vm::bptr isLastChangedDate; + vm::bptr isLastChangedAuthorId; }; struct SceNpTssDataStatus { CellRtcTick lastModified; - s32 statusCodeType; - u64 contentLength; + be_t statusCodeType; + be_t contentLength; }; struct SceNpTssIfModifiedSinceParam { - s32 ifType; + be_t ifType; u8 padding[4]; CellRtcTick lastModified; }; struct SceNpTssGetDataOptParam { - u64 size; // TODO: correct type? - vm::ptr offset; - vm::ptr lastByte; - vm::ptr ifParam; + be_t size; + vm::bptr offset; + vm::bptr lastByte; + vm::bptr ifParam; }; // fxm objects diff --git a/rpcs3/Emu/Cell/Modules/sys_crashdump.h b/rpcs3/Emu/Cell/Modules/sys_crashdump.h index 02c37ac600..c15ed38141 100644 --- a/rpcs3/Emu/Cell/Modules/sys_crashdump.h +++ b/rpcs3/Emu/Cell/Modules/sys_crashdump.h @@ -10,6 +10,6 @@ enum struct sys_crash_dump_log_area_info_t { char label[SYS_CRASH_DUMP_MAX_LABEL_SIZE]; // 15 + 1 (0 terminated) - vm::ptr addr; - be_t size; + vm::bptr addr; + be_t size; };