diff --git a/Core/Dialog/PSPDialog.cpp b/Core/Dialog/PSPDialog.cpp index 812b5c493e..b643a53b6e 100644 --- a/Core/Dialog/PSPDialog.cpp +++ b/Core/Dialog/PSPDialog.cpp @@ -36,6 +36,21 @@ constexpr float FONT_SCALE = 0.55f; +const char *UtilityDialogTypeToString(UtilityDialogType type) { + switch (type) { + case UtilityDialogType::NONE: return "NONE"; + case UtilityDialogType::SAVEDATA: return "SAVEDATA"; + case UtilityDialogType::MSG: return "MSG"; + case UtilityDialogType::OSK: return "OSK"; + case UtilityDialogType::NET: return "NET"; + case UtilityDialogType::SCREENSHOT: return "SCREENSHOT"; + case UtilityDialogType::GAMESHARING: return "GAMESHARING"; + case UtilityDialogType::GAMEDATAINSTALL: return "GAMEDATAINSTALL"; + case UtilityDialogType::NPSIGNIN: return "NPSIGNIN"; + default: return "(unknown)"; + } +} + void PSPDialog::InitCommon() { UpdateCommon(); diff --git a/Core/Dialog/PSPDialog.h b/Core/Dialog/PSPDialog.h index d8330cdfa2..a165b37e31 100644 --- a/Core/Dialog/PSPDialog.h +++ b/Core/Dialog/PSPDialog.h @@ -29,12 +29,6 @@ class PointerWrap; #define SCE_UTILITY_DIALOG_RESULT_CANCEL 1 #define SCE_UTILITY_DIALOG_RESULT_ABORT 2 -const int SCE_ERROR_UTILITY_INVALID_STATUS = 0x80110001; -const int SCE_ERROR_UTILITY_INVALID_PARAM_SIZE = 0x80110004; -const int SCE_ERROR_UTILITY_WRONG_TYPE = 0x80110005; -const int ERROR_UTILITY_INVALID_ADHOC_CHANNEL = 0x80110104; -const int ERROR_UTILITY_INVALID_SYSTEM_PARAM_ID = 0x80110103; - struct pspUtilityDialogCommon { u32_le size; /** Size of the structure */ @@ -140,3 +134,5 @@ private: UtilityDialogType dialogType_ = UtilityDialogType::NONE; bool volatileLocked_ = false; }; + +const char *UtilityDialogTypeToString(UtilityDialogType type); diff --git a/Core/Dialog/PSPGamedataInstallDialog.cpp b/Core/Dialog/PSPGamedataInstallDialog.cpp index 884c5519ee..55371b512e 100644 --- a/Core/Dialog/PSPGamedataInstallDialog.cpp +++ b/Core/Dialog/PSPGamedataInstallDialog.cpp @@ -40,10 +40,6 @@ const static u32 GAMEDATA_READS_PER_UPDATE = 20; const u32 PSP_UTILITY_GAMEDATA_MODE_SHOW_PROGRESS = 1; -const u32 ERROR_UTILITY_GAMEDATA_MEMSTRICK_REMOVED = 0x80111901; -const u32 ERROR_UTILITY_GAMEDATA_MEMSTRICK_WRITE_PROTECTED = 0x80111903; -const u32 ERROR_UTILITY_GAMEDATA_INVALID_MODE = 0x80111908; - static const std::string SFO_FILENAME = "PARAM.SFO"; namespace @@ -113,7 +109,7 @@ int PSPGamedataInstallDialog::Update(int animSpeed) { return SCE_ERROR_UTILITY_INVALID_STATUS; if (param->mode >= 2) { - param->common.result = ERROR_UTILITY_GAMEDATA_INVALID_MODE; + param->common.result = SCE_ERROR_UTILITY_GAMEDATA_INVALID_MODE; param.NotifyWrite("DialogResult"); ChangeStatus(SCE_UTILITY_STATUS_FINISHED, 0); WARN_LOG_REPORT(Log::sceUtility, "sceUtilityGamedataInstallUpdate: invalid mode %d", param->mode); diff --git a/Core/Dialog/PSPGamedataInstallDialog.h b/Core/Dialog/PSPGamedataInstallDialog.h index 859d9a3d72..3b562f9201 100644 --- a/Core/Dialog/PSPGamedataInstallDialog.h +++ b/Core/Dialog/PSPGamedataInstallDialog.h @@ -19,6 +19,7 @@ #include "Core/Dialog/PSPDialog.h" #include "Core/Dialog/SavedataParam.h" +#include "Core/HLE/ErrorCodes.h" struct SceUtilityGamedataInstallParam { pspUtilityDialogCommon common; diff --git a/Core/Dialog/PSPMsgDialog.cpp b/Core/Dialog/PSPMsgDialog.cpp index 2e7a8efe4c..1dfcd7cb5a 100755 --- a/Core/Dialog/PSPMsgDialog.cpp +++ b/Core/Dialog/PSPMsgDialog.cpp @@ -16,12 +16,14 @@ // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. #include + #include "Common/Serialize/Serializer.h" #include "Common/Serialize/SerializeFuncs.h" #include "Common/StringUtils.h" #include "Core/Dialog/PSPMsgDialog.h" #include "Core/Dialog/PSPSaveDialog.h" #include "Core/Util/PPGeDraw.h" +#include "Core/HLE/ErrorCodes.h" #include "Core/HLE/sceCtrl.h" #include "Core/MemMapHelpers.h" #include "Core/Reporting.h" @@ -74,7 +76,7 @@ int PSPMsgDialog::Init(unsigned int paramAddr) { if(messageDialog.type == 0 && !(messageDialog.errorNum & 0x80000000)) { flag |= DS_ERROR; - messageDialog.result = SCE_UTILITY_MSGDIALOG_ERROR_ERRORCODEINVALID; + messageDialog.result = SCE_ERROR_UTILITY_MSGDIALOG_ERRORCODEINVALID; } else if(size == SCE_UTILITY_MSGDIALOG_SIZE_V2 && messageDialog.type == 1) { @@ -84,7 +86,7 @@ int PSPMsgDialog::Init(unsigned int paramAddr) { if (((messageDialog.options | validOp) ^ validOp) != 0) { flag |= DS_ERROR; - messageDialog.result = SCE_UTILITY_MSGDIALOG_ERROR_BADOPTION; + messageDialog.result = SCE_ERROR_UTILITY_MSGDIALOG_BADOPTION; } } else if(size == SCE_UTILITY_MSGDIALOG_SIZE_V3) @@ -93,12 +95,12 @@ int PSPMsgDialog::Init(unsigned int paramAddr) { !(messageDialog.options & SCE_UTILITY_MSGDIALOG_OPTION_YESNO)) { flag |= DS_ERROR; - messageDialog.result = SCE_UTILITY_MSGDIALOG_ERROR_BADOPTION; + messageDialog.result = SCE_ERROR_UTILITY_MSGDIALOG_BADOPTION; } if (messageDialog.options & ~SCE_UTILITY_MSGDIALOG_OPTION_SUPPORTED) { flag |= DS_ERROR; - messageDialog.result = SCE_UTILITY_MSGDIALOG_ERROR_BADOPTION; + messageDialog.result = SCE_ERROR_UTILITY_MSGDIALOG_BADOPTION; } } diff --git a/Core/Dialog/PSPMsgDialog.h b/Core/Dialog/PSPMsgDialog.h index c21131724f..214416158d 100644 --- a/Core/Dialog/PSPMsgDialog.h +++ b/Core/Dialog/PSPMsgDialog.h @@ -36,9 +36,6 @@ #define SCE_UTILITY_MSGDIALOG_OPTION_SUPPORTED 0x000001B3 // OR of all options coded to display warning -#define SCE_UTILITY_MSGDIALOG_ERROR_BADOPTION 0x80110501 -#define SCE_UTILITY_MSGDIALOG_ERROR_ERRORCODEINVALID 0x80110502 - struct pspMessageDialog { pspUtilityDialogCommon common; diff --git a/Core/Dialog/PSPOskDialog.cpp b/Core/Dialog/PSPOskDialog.cpp index 53e1b51d71..40c63dc371 100755 --- a/Core/Dialog/PSPOskDialog.cpp +++ b/Core/Dialog/PSPOskDialog.cpp @@ -20,6 +20,7 @@ #include #include #include + #include "Common/Data/Text/I18n.h" #include "Common/Math/math_util.h" #include "Common/Data/Encoding/Utf8.h" @@ -30,6 +31,7 @@ #include "Core/Dialog/PSPOskDialog.h" #include "Core/Util/PPGeDraw.h" #include "Core/HLE/sceCtrl.h" +#include "Core/HLE/ErrorCodes.h" #include "Core/HLE/sceUtility.h" #include "Core/HW/Display.h" #include "Core/Config.h" diff --git a/Core/Dialog/PSPSaveDialog.cpp b/Core/Dialog/PSPSaveDialog.cpp index 1546cbdc27..63d23c0a0f 100755 --- a/Core/Dialog/PSPSaveDialog.cpp +++ b/Core/Dialog/PSPSaveDialog.cpp @@ -31,6 +31,7 @@ #include "Core/Util/PPGeDraw.h" #include "Core/HLE/sceCtrl.h" #include "Core/HLE/sceUtility.h" +#include "Core/HLE/ErrorCodes.h" #include "Core/HW/MemoryStick.h" #include "Core/MemMapHelpers.h" #include "Core/Config.h" diff --git a/Core/Dialog/PSPSaveDialog.h b/Core/Dialog/PSPSaveDialog.h index 02266ac4d2..2670fd85ee 100644 --- a/Core/Dialog/PSPSaveDialog.h +++ b/Core/Dialog/PSPSaveDialog.h @@ -23,52 +23,6 @@ #include "Core/Dialog/PSPDialog.h" #include "Core/Dialog/SavedataParam.h" -#define SCE_UTILITY_SAVEDATA_ERROR_TYPE (0x80110300) - -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_NO_MS (0x80110301) -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_EJECT_MS (0x80110302) -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_ACCESS_ERROR (0x80110305) -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_DATA_BROKEN (0x80110306) -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_NO_DATA (0x80110307) -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_PARAM (0x80110308) -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_FILE_NOT_FOUND (0x80110309) -#define SCE_UTILITY_SAVEDATA_ERROR_LOAD_INTERNAL (0x8011030b) - -#define SCE_UTILITY_SAVEDATA_ERROR_RW_NO_MEMSTICK (0x80110321) -#define SCE_UTILITY_SAVEDATA_ERROR_RW_MEMSTICK_FULL (0x80110323) -#define SCE_UTILITY_SAVEDATA_ERROR_RW_DATA_BROKEN (0x80110326) -#define SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA (0x80110327) -#define SCE_UTILITY_SAVEDATA_ERROR_RW_BAD_PARAMS (0x80110328) -#define SCE_UTILITY_SAVEDATA_ERROR_RW_FILE_NOT_FOUND (0x80110329) -#define SCE_UTILITY_SAVEDATA_ERROR_RW_BAD_STATUS (0x8011032c) - -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_NO_MS (0x80110381) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_EJECT_MS (0x80110382) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_NOSPACE (0x80110383) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_PROTECTED (0x80110384) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_ACCESS_ERROR (0x80110385) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_PARAM (0x80110388) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_NO_UMD (0x80110389) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_WRONG_UMD (0x8011038a) -#define SCE_UTILITY_SAVEDATA_ERROR_SAVE_INTERNAL (0x8011038b) - -#define SCE_UTILITY_SAVEDATA_ERROR_DELETE_NO_MS (0x80110341) -#define SCE_UTILITY_SAVEDATA_ERROR_DELETE_EJECT_MS (0x80110342) -#define SCE_UTILITY_SAVEDATA_ERROR_DELETE_MS_PROTECTED (0x80110344) -#define SCE_UTILITY_SAVEDATA_ERROR_DELETE_ACCESS_ERROR (0x80110345) -#define SCE_UTILITY_SAVEDATA_ERROR_DELETE_NO_DATA (0x80110347) -#define SCE_UTILITY_SAVEDATA_ERROR_DELETE_PARAM (0x80110348) -#define SCE_UTILITY_SAVEDATA_ERROR_DELETE_INTERNAL (0x8011034b) - -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_MS (0x801103C1) -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_EJECT_MS (0x801103C2) -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_ACCESS_ERROR (0x801103C5) -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_DATA (0x801103C7) -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_PARAM (0x801103C8) -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_UMD (0x801103C9) -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_WRONG_UMD (0x801103Ca) -#define SCE_UTILITY_SAVEDATA_ERROR_SIZES_INTERNAL (0x801103Cb) - class PSPSaveDialog : public PSPDialog { public: PSPSaveDialog(UtilityDialogType type); diff --git a/Core/Dialog/SavedataParam.cpp b/Core/Dialog/SavedataParam.cpp index 4245e7714e..2d4b77baea 100644 --- a/Core/Dialog/SavedataParam.cpp +++ b/Core/Dialog/SavedataParam.cpp @@ -1623,7 +1623,7 @@ int SavedataParam::SetPspParam(SceUtilitySavedataParam *param) if (!found) { // NOTE: May be changed above, can't merge with the expression if (listEmptyFile) { ClearFileInfo(saveDataList[realCount], thisSaveName); - INFO_LOG(Log::sceUtility, "Listing missing save data: %s = %s", thisSaveName.c_str(), fileDataDir.c_str()); + DEBUG_LOG(Log::sceUtility, "Listing missing save data: %s = %s", thisSaveName.c_str(), fileDataDir.c_str()); realCount++; } else { INFO_LOG(Log::sceUtility, "Save data not found: %s = %s", thisSaveName.c_str(), fileDataDir.c_str()); @@ -1651,7 +1651,7 @@ int SavedataParam::SetPspParam(SceUtilitySavedataParam *param) } else { if (listEmptyFile) { ClearFileInfo(saveDataList[0], GetSaveName(param)); - INFO_LOG(Log::sceUtility, "Listing missing save data: %s = %s", GetSaveName(param).c_str(), fileDataDir.c_str()); + DEBUG_LOG(Log::sceUtility, "Listing missing save data: %s = %s", GetSaveName(param).c_str(), fileDataDir.c_str()); } else { INFO_LOG(Log::sceUtility, "Save data not found: %s = %s", GetSaveName(param).c_str(), fileDataDir.c_str()); } diff --git a/Core/HLE/ErrorCodes.h b/Core/HLE/ErrorCodes.h new file mode 100644 index 0000000000..f39bcc4eee --- /dev/null +++ b/Core/HLE/ErrorCodes.h @@ -0,0 +1,383 @@ +#pragma once + +#include "Common/CommonTypes.h" + +enum : u32 { + SCE_KERNEL_ERROR_OK = 0, + SCE_KERNEL_ERROR_ALREADY = 0x80000020, + SCE_KERNEL_ERROR_BUSY = 0x80000021, + SCE_KERNEL_ERROR_OUT_OF_MEMORY = 0x80000022, + SCE_KERNEL_ERROR_PRIV_REQUIRED = 0x80000023, + SCE_KERNEL_ERROR_INVALID_ID = 0x80000100, + SCE_KERNEL_ERROR_INVALID_NAME = 0x80000101, + SCE_KERNEL_ERROR_INVALID_INDEX = 0x80000102, + SCE_KERNEL_ERROR_INVALID_POINTER = 0x80000103, + SCE_KERNEL_ERROR_INVALID_SIZE = 0x80000104, + SCE_KERNEL_ERROR_INVALID_FLAG = 0x80000105, + SCE_KERNEL_ERROR_INVALID_COMMAND = 0x80000106, + SCE_KERNEL_ERROR_INVALID_MODE = 0x80000107, + SCE_KERNEL_ERROR_INVALID_FORMAT = 0x80000108, + SCE_KERNEL_ERROR_INVALID_VALUE = 0x800001FE, + SCE_KERNEL_ERROR_INVALID_ARGUMENT = 0x800001FF, + SCE_KERNEL_ERROR_BAD_FILE = 0x80000209, + SCE_KERNEL_ERROR_ACCESS_ERROR = 0x8000020D, + + SCE_KERNEL_ERROR_ERRNO_FILE_NOT_FOUND = 0x80010002, + SCE_KERNEL_ERROR_ERRNO_IO_ERROR = 0x80010005, + SCE_KERNEL_ERROR_ERRNO_ARG_LIST_TOO_LONG = 0x80010007, + SCE_KERNEL_ERROR_ERRNO_INVALID_FILE_DESCRIPTOR = 0x80010009, + SCE_KERNEL_ERROR_ERRNO_RESOURCE_UNAVAILABLE = 0x8001000B, + SCE_KERNEL_ERROR_ERRNO_NO_MEMORY = 0x8001000C, + SCE_KERNEL_ERROR_ERRNO_NO_PERM = 0x8001000D, + SCE_KERNEL_ERROR_ERRNO_FILE_INVALID_ADDR = 0x8001000E, + SCE_KERNEL_ERROR_ERRNO_DEVICE_BUSY = 0x80010010, + SCE_KERNEL_ERROR_ERRNO_FILE_ALREADY_EXISTS = 0x80010011, + SCE_KERNEL_ERROR_ERRNO_CROSS_DEV_LINK = 0x80010012, + SCE_KERNEL_ERROR_ERRNO_DEVICE_NOT_FOUND = 0x80010013, + SCE_KERNEL_ERROR_ERRNO_NOT_A_DIRECTORY = 0x80010014, + SCE_KERNEL_ERROR_ERRNO_IS_DIRECTORY = 0x80010015, + SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT = 0x80010016, + SCE_KERNEL_ERROR_ERRNO_TOO_MANY_OPEN_SYSTEM_FILES = 0x80010018, + SCE_KERNEL_ERROR_ERRNO_FILE_IS_TOO_BIG = 0x8001001B, + SCE_KERNEL_ERROR_ERRNO_DEVICE_NO_FREE_SPACE = 0x8001001C, + SCE_KERNEL_ERROR_ERRNO_READ_ONLY = 0x8001001E, + SCE_KERNEL_ERROR_ERRNO_CLOSED = 0x80010020, + SCE_KERNEL_ERROR_ERRNO_FILE_PATH_TOO_LONG = 0x80010024, + SCE_KERNEL_ERROR_ERRNO_FILE_PROTOCOL = 0x80010047, + SCE_KERNEL_ERROR_ERRNO_DIRECTORY_IS_NOT_EMPTY = 0x8001005A, + SCE_KERNEL_ERROR_ERRNO_TOO_MANY_SYMBOLIC_LINKS = 0x8001005C, + SCE_KERNEL_ERROR_ERRNO_FILE_ADDR_IN_USE = 0x80010062, + SCE_KERNEL_ERROR_ERRNO_CONNECTION_ABORTED = 0x80010067, + SCE_KERNEL_ERROR_ERRNO_CONNECTION_RESET = 0x80010068, + SCE_KERNEL_ERROR_ERRNO_NO_FREE_BUF_SPACE = 0x80010069, + SCE_KERNEL_ERROR_ERRNO_FILE_TIMEOUT = 0x8001006E, + SCE_KERNEL_ERROR_ERRNO_IN_PROGRESS = 0x80010077, + SCE_KERNEL_ERROR_ERRNO_ALREADY = 0x80010078, + SCE_KERNEL_ERROR_ERRNO_NO_MEDIA = 0x8001007B, + SCE_KERNEL_ERROR_ERRNO_INVALID_MEDIUM = 0x8001007C, + SCE_KERNEL_ERROR_ERRNO_ADDRESS_NOT_AVAILABLE = 0x8001007D, + SCE_KERNEL_ERROR_ERRNO_IS_ALREADY_CONNECTED = 0x8001007F, + SCE_KERNEL_ERROR_ERRNO_NOT_CONNECTED = 0x80010080, + SCE_KERNEL_ERROR_ERRNO_FILE_QUOTA_EXCEEDED = 0x80010084, + SCE_KERNEL_ERROR_ERRNO_FUNCTION_NOT_SUPPORTED = 0x8001B000, + SCE_KERNEL_ERROR_ERRNO_ADDR_OUT_OF_MAIN_MEM = 0x8001B001, + SCE_KERNEL_ERROR_ERRNO_INVALID_UNIT_NUM = 0x8001B002, + SCE_KERNEL_ERROR_ERRNO_INVALID_FILE_SIZE = 0x8001B003, + SCE_KERNEL_ERROR_ERRNO_INVALID_FLAG = 0x8001B004, + + SCE_KERNEL_ERROR_ERROR = 0x80020001, + SCE_KERNEL_ERROR_NOTIMP = 0x80020002, + SCE_KERNEL_ERROR_ILLEGAL_EXPCODE = 0x80020032, + SCE_KERNEL_ERROR_EXPHANDLER_NOUSE = 0x80020033, + SCE_KERNEL_ERROR_EXPHANDLER_USED = 0x80020034, + SCE_KERNEL_ERROR_SYCALLTABLE_NOUSED = 0x80020035, + SCE_KERNEL_ERROR_SYCALLTABLE_USED = 0x80020036, + SCE_KERNEL_ERROR_ILLEGAL_SYSCALLTABLE = 0x80020037, + SCE_KERNEL_ERROR_ILLEGAL_PRIMARY_SYSCALL_NUMBER = 0x80020038, + SCE_KERNEL_ERROR_PRIMARY_SYSCALL_NUMBER_INUSE = 0x80020039, + SCE_KERNEL_ERROR_ILLEGAL_CONTEXT = 0x80020064, + SCE_KERNEL_ERROR_ILLEGAL_INTRCODE = 0x80020065, + SCE_KERNEL_ERROR_CPUDI = 0x80020066, + SCE_KERNEL_ERROR_FOUND_HANDLER = 0x80020067, + SCE_KERNEL_ERROR_NOTFOUND_HANDLER = 0x80020068, + SCE_KERNEL_ERROR_ILLEGAL_INTRLEVEL = 0x80020069, + SCE_KERNEL_ERROR_ILLEGAL_ADDRESS = 0x8002006a, + SCE_KERNEL_ERROR_ILLEGAL_INTRPARAM = 0x8002006b, + SCE_KERNEL_ERROR_ILLEGAL_STACK_ADDRESS = 0x8002006c, + SCE_KERNEL_ERROR_ALREADY_STACK_SET = 0x8002006d, + SCE_KERNEL_ERROR_NO_TIMER = 0x80020096, + SCE_KERNEL_ERROR_ILLEGAL_TIMERID = 0x80020097, + SCE_KERNEL_ERROR_ILLEGAL_SOURCE = 0x80020098, + SCE_KERNEL_ERROR_ILLEGAL_PRESCALE = 0x80020099, + SCE_KERNEL_ERROR_TIMER_BUSY = 0x8002009a, + SCE_KERNEL_ERROR_TIMER_NOT_SETUP = 0x8002009b, + SCE_KERNEL_ERROR_TIMER_NOT_INUSE = 0x8002009c, + SCE_KERNEL_ERROR_UNIT_USED = 0x800200a0, + SCE_KERNEL_ERROR_UNIT_NOUSE = 0x800200a1, + SCE_KERNEL_ERROR_NO_ROMDIR = 0x800200a2, + SCE_KERNEL_ERROR_IDTYPE_EXIST = 0x800200c8, + SCE_KERNEL_ERROR_IDTYPE_NOT_EXIST = 0x800200c9, + SCE_KERNEL_ERROR_IDTYPE_NOT_EMPTY = 0x800200ca, + SCE_KERNEL_ERROR_UNKNOWN_UID = 0x800200cb, + SCE_KERNEL_ERROR_UNMATCH_UID_TYPE = 0x800200cc, + SCE_KERNEL_ERROR_ID_NOT_EXIST = 0x800200cd, + SCE_KERNEL_ERROR_NOT_FOUND_UIDFUNC = 0x800200ce, + SCE_KERNEL_ERROR_UID_ALREADY_HOLDER = 0x800200cf, + SCE_KERNEL_ERROR_UID_NOT_HOLDER = 0x800200d0, + SCE_KERNEL_ERROR_ILLEGAL_PERM = 0x800200d1, + SCE_KERNEL_ERROR_ILLEGAL_ARGUMENT = 0x800200d2, + SCE_KERNEL_ERROR_ILLEGAL_ADDR = 0x800200d3, + SCE_KERNEL_ERROR_OUT_OF_RANGE = 0x800200d4, + SCE_KERNEL_ERROR_MEM_RANGE_OVERLAP = 0x800200d5, + SCE_KERNEL_ERROR_ILLEGAL_PARTITION = 0x800200d6, + SCE_KERNEL_ERROR_PARTITION_INUSE = 0x800200d7, + SCE_KERNEL_ERROR_ILLEGAL_MEMBLOCKTYPE = 0x800200d8, + SCE_KERNEL_ERROR_MEMBLOCK_ALLOC_FAILED = 0x800200d9, + SCE_KERNEL_ERROR_MEMBLOCK_RESIZE_LOCKED = 0x800200da, + SCE_KERNEL_ERROR_MEMBLOCK_RESIZE_FAILED = 0x800200db, + SCE_KERNEL_ERROR_HEAPBLOCK_ALLOC_FAILED = 0x800200dc, + SCE_KERNEL_ERROR_HEAP_ALLOC_FAILED = 0x800200dd, + SCE_KERNEL_ERROR_ILLEGAL_CHUNK_ID = 0x800200de, + SCE_KERNEL_ERROR_NOCHUNK = 0x800200df, + SCE_KERNEL_ERROR_NO_FREECHUNK = 0x800200e0, + SCE_KERNEL_ERROR_MEMBLOCK_FRAGMENTED = 0x800200e1, + SCE_KERNEL_ERROR_MEMBLOCK_CANNOT_JOINT = 0x800200e2, + SCE_KERNEL_ERROR_MEMBLOCK_CANNOT_SEPARATE = 0x800200e3, + SCE_KERNEL_ERROR_ILLEGAL_ALIGNMENT_SIZE = 0x800200e4, + SCE_KERNEL_ERROR_ILLEGAL_DEVKIT_VER = 0x800200e5, + SCE_KERNEL_ERROR_LINKERR = 0x8002012c, + SCE_KERNEL_ERROR_ILLEGAL_OBJECT = 0x8002012d, + SCE_KERNEL_ERROR_UNKNOWN_MODULE = 0x8002012e, + SCE_KERNEL_ERROR_NOFILE = 0x8002012f, + SCE_KERNEL_ERROR_FILEERR = 0x80020130, + SCE_KERNEL_ERROR_MEMINUSE = 0x80020131, + SCE_KERNEL_ERROR_PARTITION_MISMATCH = 0x80020132, + SCE_KERNEL_ERROR_ALREADY_STARTED = 0x80020133, + SCE_KERNEL_ERROR_NOT_STARTED = 0x80020134, + SCE_KERNEL_ERROR_ALREADY_STOPPED = 0x80020135, + SCE_KERNEL_ERROR_CAN_NOT_STOP = 0x80020136, + SCE_KERNEL_ERROR_NOT_STOPPED = 0x80020137, + SCE_KERNEL_ERROR_NOT_REMOVABLE = 0x80020138, + SCE_KERNEL_ERROR_EXCLUSIVE_LOAD = 0x80020139, + SCE_KERNEL_ERROR_LIBRARY_NOT_YET_LINKED = 0x8002013a, + SCE_KERNEL_ERROR_LIBRARY_FOUND = 0x8002013b, + SCE_KERNEL_ERROR_LIBRARY_NOTFOUND = 0x8002013c, + SCE_KERNEL_ERROR_ILLEGAL_LIBRARY = 0x8002013d, + SCE_KERNEL_ERROR_LIBRARY_INUSE = 0x8002013e, + SCE_KERNEL_ERROR_ALREADY_STOPPING = 0x8002013f, + SCE_KERNEL_ERROR_ILLEGAL_OFFSET = 0x80020140, + SCE_KERNEL_ERROR_ILLEGAL_POSITION = 0x80020141, + SCE_KERNEL_ERROR_ILLEGAL_ACCESS = 0x80020142, + SCE_KERNEL_ERROR_MODULE_MGR_BUSY = 0x80020143, + SCE_KERNEL_ERROR_ILLEGAL_FLAG = 0x80020144, + SCE_KERNEL_ERROR_CANNOT_GET_MODULELIST = 0x80020145, + SCE_KERNEL_ERROR_PROHIBIT_LOADMODULE_DEVICE = 0x80020146, + SCE_KERNEL_ERROR_PROHIBIT_LOADEXEC_DEVICE = 0x80020147, + SCE_KERNEL_ERROR_UNSUPPORTED_PRX_TYPE = 0x80020148, + SCE_KERNEL_ERROR_ILLEGAL_PERM_CALL = 0x80020149, + SCE_KERNEL_ERROR_CANNOT_GET_MODULE_INFORMATION = 0x8002014a, + SCE_KERNEL_ERROR_ILLEGAL_LOADEXEC_BUFFER = 0x8002014b, + SCE_KERNEL_ERROR_ILLEGAL_LOADEXEC_FILENAME = 0x8002014c, + SCE_KERNEL_ERROR_NO_EXIT_CALLBACK = 0x8002014d, + SCE_KERNEL_ERROR_MEDIA_CHANGED = 0x8002014e, + SCE_KERNEL_ERROR_CANNOT_USE_BETA_VER_MODULE = 0x8002014f, + + SCE_KERNEL_ERROR_NO_MEMORY = 0x80020190, + SCE_KERNEL_ERROR_ILLEGAL_ATTR = 0x80020191, + SCE_KERNEL_ERROR_ILLEGAL_ENTRY = 0x80020192, + SCE_KERNEL_ERROR_ILLEGAL_PRIORITY = 0x80020193, + SCE_KERNEL_ERROR_ILLEGAL_STACK_SIZE = 0x80020194, + SCE_KERNEL_ERROR_ILLEGAL_MODE = 0x80020195, + SCE_KERNEL_ERROR_ILLEGAL_MASK = 0x80020196, + SCE_KERNEL_ERROR_ILLEGAL_THID = 0x80020197, + SCE_KERNEL_ERROR_UNKNOWN_THID = 0x80020198, + SCE_KERNEL_ERROR_UNKNOWN_SEMID = 0x80020199, + SCE_KERNEL_ERROR_UNKNOWN_EVFID = 0x8002019a, + SCE_KERNEL_ERROR_UNKNOWN_MBXID = 0x8002019b, + SCE_KERNEL_ERROR_UNKNOWN_VPLID = 0x8002019c, + SCE_KERNEL_ERROR_UNKNOWN_FPLID = 0x8002019d, + SCE_KERNEL_ERROR_UNKNOWN_MPPID = 0x8002019e, + SCE_KERNEL_ERROR_UNKNOWN_ALMID = 0x8002019f, + SCE_KERNEL_ERROR_UNKNOWN_TEID = 0x800201a0, + SCE_KERNEL_ERROR_UNKNOWN_CBID = 0x800201a1, + SCE_KERNEL_ERROR_DORMANT = 0x800201a2, + SCE_KERNEL_ERROR_SUSPEND = 0x800201a3, + SCE_KERNEL_ERROR_NOT_DORMANT = 0x800201a4, + SCE_KERNEL_ERROR_NOT_SUSPEND = 0x800201a5, + SCE_KERNEL_ERROR_NOT_WAIT = 0x800201a6, + SCE_KERNEL_ERROR_CAN_NOT_WAIT = 0x800201a7, + SCE_KERNEL_ERROR_WAIT_TIMEOUT = 0x800201a8, + SCE_KERNEL_ERROR_WAIT_CANCEL = 0x800201a9, + SCE_KERNEL_ERROR_RELEASE_WAIT = 0x800201aa, + SCE_KERNEL_ERROR_NOTIFY_CALLBACK = 0x800201ab, + SCE_KERNEL_ERROR_THREAD_TERMINATED = 0x800201ac, + SCE_KERNEL_ERROR_SEMA_ZERO = 0x800201ad, + SCE_KERNEL_ERROR_SEMA_OVF = 0x800201ae, + SCE_KERNEL_ERROR_EVF_COND = 0x800201af, + SCE_KERNEL_ERROR_EVF_MULTI = 0x800201b0, + SCE_KERNEL_ERROR_EVF_ILPAT = 0x800201b1, + SCE_KERNEL_ERROR_MBOX_NOMSG = 0x800201b2, + SCE_KERNEL_ERROR_MPP_FULL = 0x800201b3, + SCE_KERNEL_ERROR_MPP_EMPTY = 0x800201b4, + SCE_KERNEL_ERROR_WAIT_DELETE = 0x800201b5, + SCE_KERNEL_ERROR_ILLEGAL_MEMBLOCK = 0x800201b6, + SCE_KERNEL_ERROR_ILLEGAL_MEMSIZE = 0x800201b7, + SCE_KERNEL_ERROR_ILLEGAL_SPADADDR = 0x800201b8, + SCE_KERNEL_ERROR_SPAD_INUSE = 0x800201b9, + SCE_KERNEL_ERROR_SPAD_NOT_INUSE = 0x800201ba, + SCE_KERNEL_ERROR_ILLEGAL_TYPE = 0x800201bb, + SCE_KERNEL_ERROR_ILLEGAL_SIZE = 0x800201bc, + SCE_KERNEL_ERROR_ILLEGAL_COUNT = 0x800201bd, + SCE_KERNEL_ERROR_UNKNOWN_VTID = 0x800201be, + SCE_KERNEL_ERROR_ILLEGAL_VTID = 0x800201bf, + SCE_KERNEL_ERROR_ILLEGAL_KTLSID = 0x800201c0, + SCE_KERNEL_ERROR_KTLS_FULL = 0x800201c1, + SCE_KERNEL_ERROR_KTLS_BUSY = 0x800201c2, + SCE_KERNEL_ERROR_MUTEX_NOT_FOUND = 0x800201c3, + SCE_KERNEL_ERROR_MUTEX_LOCKED = 0x800201c4, + SCE_KERNEL_ERROR_MUTEX_UNLOCKED = 0x800201c5, + SCE_KERNEL_ERROR_MUTEX_LOCK_OVERFLOW = 0x800201c6, + SCE_KERNEL_ERROR_MUTEX_UNLOCK_UNDERFLOW = 0x800201c7, + SCE_KERNEL_ERROR_MUTEX_RECURSIVE_NOT_ALLOWED = 0x800201c8, + + SCE_KERNEL_ERROR_MESSAGEBOX_DUPLICATE_MESSAGE = 0x800201c9, + + SCE_KERNEL_ERROR_LWMUTEX_NOT_FOUND = 0x800201ca, + SCE_KERNEL_ERROR_LWMUTEX_LOCKED = 0x800201cb, + SCE_KERNEL_ERROR_LWMUTEX_UNLOCKED = 0x800201cc, + SCE_KERNEL_ERROR_LWMUTEX_LOCK_OVERFLOW = 0x800201cd, + SCE_KERNEL_ERROR_LWMUTEX_UNLOCK_UNDERFLOW = 0x800201ce, + SCE_KERNEL_ERROR_LWMUTEX_RECURSIVE_NOT_ALLOWED = 0x800201cf, + + SCE_KERNEL_ERROR_UNKNOWN_TLSPL_ID = 0x800201d0, + SCE_KERNEL_ERROR_TOO_MANY_TLSPL = 0x800201d1, + SCE_KERNEL_ERROR_TLSPL_IN_USE = 0x800201d2, + + SCE_KERNEL_ERROR_PM_INVALID_PRIORITY = 0x80020258, + SCE_KERNEL_ERROR_PM_INVALID_DEVNAME = 0x80020259, + SCE_KERNEL_ERROR_PM_UNKNOWN_DEVNAME = 0x8002025a, + SCE_KERNEL_ERROR_PM_PMINFO_REGISTERED = 0x8002025b, + SCE_KERNEL_ERROR_PM_PMINFO_UNREGISTERED = 0x8002025c, + SCE_KERNEL_ERROR_PM_INVALID_MAJOR_STATE = 0x8002025d, + SCE_KERNEL_ERROR_PM_INVALID_REQUEST = 0x8002025e, + SCE_KERNEL_ERROR_PM_UNKNOWN_REQUEST = 0x8002025f, + SCE_KERNEL_ERROR_PM_INVALID_UNIT = 0x80020260, + SCE_KERNEL_ERROR_PM_CANNOT_CANCEL = 0x80020261, + SCE_KERNEL_ERROR_PM_INVALID_PMINFO = 0x80020262, + SCE_KERNEL_ERROR_PM_INVALID_ARGUMENT = 0x80020263, + SCE_KERNEL_ERROR_PM_ALREADY_TARGET_PWRSTATE = 0x80020264, + SCE_KERNEL_ERROR_PM_CHANGE_PWRSTATE_FAILED = 0x80020265, + SCE_KERNEL_ERROR_PM_CANNOT_CHANGE_DEVPWR_STATE = 0x80020266, + SCE_KERNEL_ERROR_PM_NO_SUPPORT_DEVPWR_STATE = 0x80020267, + + SCE_KERNEL_ERROR_DMAC_REQUEST_FAILED = 0x800202bc, + SCE_KERNEL_ERROR_DMAC_REQUEST_DENIED = 0x800202bd, + SCE_KERNEL_ERROR_DMAC_OP_QUEUED = 0x800202be, + SCE_KERNEL_ERROR_DMAC_OP_NOT_QUEUED = 0x800202bf, + SCE_KERNEL_ERROR_DMAC_OP_RUNNING = 0x800202c0, + SCE_KERNEL_ERROR_DMAC_OP_NOT_ASSIGNED = 0x800202c1, + SCE_KERNEL_ERROR_DMAC_OP_TIMEOUT = 0x800202c2, + SCE_KERNEL_ERROR_DMAC_OP_FREED = 0x800202c3, + SCE_KERNEL_ERROR_DMAC_OP_USED = 0x800202c4, + SCE_KERNEL_ERROR_DMAC_OP_EMPTY = 0x800202c5, + SCE_KERNEL_ERROR_DMAC_OP_ABORTED = 0x800202c6, + SCE_KERNEL_ERROR_DMAC_OP_ERROR = 0x800202c7, + SCE_KERNEL_ERROR_DMAC_CHANNEL_RESERVED = 0x800202c8, + SCE_KERNEL_ERROR_DMAC_CHANNEL_EXCLUDED = 0x800202c9, + SCE_KERNEL_ERROR_DMAC_PRIVILEGE_ADDRESS = 0x800202ca, + SCE_KERNEL_ERROR_DMAC_NO_ENOUGHSPACE = 0x800202cb, + SCE_KERNEL_ERROR_DMAC_CHANNEL_NOT_ASSIGNED = 0x800202cc, + SCE_KERNEL_ERROR_DMAC_CHILD_OPERATION = 0x800202cd, + SCE_KERNEL_ERROR_DMAC_TOO_MUCH_SIZE = 0x800202ce, + SCE_KERNEL_ERROR_DMAC_INVALID_ARGUMENT = 0x800202cf, + + SCE_KERNEL_ERROR_MFILE = 0x80020320, + SCE_KERNEL_ERROR_NODEV = 0x80020321, + SCE_KERNEL_ERROR_XDEV = 0x80020322, + SCE_KERNEL_ERROR_BADF = 0x80020323, + SCE_KERNEL_ERROR_INVAL = 0x80020324, + SCE_KERNEL_ERROR_UNSUP = 0x80020325, + SCE_KERNEL_ERROR_ALIAS_USED = 0x80020326, + SCE_KERNEL_ERROR_CANNOT_MOUNT = 0x80020327, + SCE_KERNEL_ERROR_DRIVER_DELETED = 0x80020328, + SCE_KERNEL_ERROR_ASYNC_BUSY = 0x80020329, + SCE_KERNEL_ERROR_NOASYNC = 0x8002032a, + SCE_KERNEL_ERROR_REGDEV = 0x8002032b, + SCE_KERNEL_ERROR_NOCWD = 0x8002032c, + SCE_KERNEL_ERROR_NAMETOOLONG = 0x8002032d, + SCE_KERNEL_ERROR_NXIO = 0x800203e8, + SCE_KERNEL_ERROR_IO = 0x800203e9, + SCE_KERNEL_ERROR_NOMEM = 0x800203ea, + SCE_KERNEL_ERROR_STDIO_NOT_OPENED = 0x800203eb, + + SCE_KERNEL_ERROR_CACHE_ALIGNMENT = 0x8002044c, + SCE_KERNEL_ERROR_ERRORMAX = 0x8002044d, + + SCE_KERNEL_ERROR_POWER_VMEM_IN_USE = 0x802b0200, + + SCE_ERROR_NETPARAM_BAD_NETCONF = 0x80110601, + SCE_ERROR_NETPARAM_BAD_PARAM = 0x80110604, + SCE_ERROR_MODULE_BAD_ID = 0x80111101, + SCE_ERROR_MODULE_ALREADY_LOADED = 0x80111102, + SCE_ERROR_MODULE_NOT_LOADED = 0x80111103, + SCE_ERROR_AV_MODULE_BAD_ID = 0x80110F01, + + SCE_ERROR_UTILITY_INVALID_STATUS = 0x80110001, + SCE_ERROR_UTILITY_INVALID_PARAM_SIZE = 0x80110004, + SCE_ERROR_UTILITY_WRONG_TYPE = 0x80110005, + SCE_ERROR_UTILITY_STRING_TOO_LONG = 0x80110102, + SCE_ERROR_UTILITY_INVALID_SYSTEM_PARAM_ID = 0x80110103, + SCE_ERROR_UTILITY_INVALID_ADHOC_CHANNEL = 0x80110104, + + SCE_ERROR_UTILITY_MSGDIALOG_BADOPTION = 0x80110501, + SCE_ERROR_UTILITY_MSGDIALOG_ERRORCODEINVALID = 0x80110502, + + SCE_UTILITY_SAVEDATA_ERROR_TYPE = 0x80110300, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_NO_MS = 0x80110301, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_EJECT_MS = 0x80110302, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_ACCESS_ERROR = 0x80110305, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_DATA_BROKEN = 0x80110306, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_NO_DATA = 0x80110307, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_PARAM = 0x80110308, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_FILE_NOT_FOUND = 0x80110309, + SCE_UTILITY_SAVEDATA_ERROR_LOAD_INTERNAL = 0x8011030b, + SCE_UTILITY_SAVEDATA_ERROR_RW_NO_MEMSTICK = 0x80110321, + SCE_UTILITY_SAVEDATA_ERROR_RW_MEMSTICK_FULL = 0x80110323, + SCE_UTILITY_SAVEDATA_ERROR_RW_DATA_BROKEN = 0x80110326, + SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA = 0x80110327, + SCE_UTILITY_SAVEDATA_ERROR_RW_BAD_PARAMS = 0x80110328, + SCE_UTILITY_SAVEDATA_ERROR_RW_FILE_NOT_FOUND = 0x80110329, + SCE_UTILITY_SAVEDATA_ERROR_RW_BAD_STATUS = 0x8011032c, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_NO_MS = 0x80110381, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_EJECT_MS = 0x80110382, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_NOSPACE = 0x80110383, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_PROTECTED = 0x80110384, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_ACCESS_ERROR = 0x80110385, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_PARAM = 0x80110388, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_NO_UMD = 0x80110389, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_WRONG_UMD = 0x8011038a, + SCE_UTILITY_SAVEDATA_ERROR_SAVE_INTERNAL = 0x8011038b, + SCE_UTILITY_SAVEDATA_ERROR_DELETE_NO_MS = 0x80110341, + SCE_UTILITY_SAVEDATA_ERROR_DELETE_EJECT_MS = 0x80110342, + SCE_UTILITY_SAVEDATA_ERROR_DELETE_MS_PROTECTED = 0x80110344, + SCE_UTILITY_SAVEDATA_ERROR_DELETE_ACCESS_ERROR = 0x80110345, + SCE_UTILITY_SAVEDATA_ERROR_DELETE_NO_DATA = 0x80110347, + SCE_UTILITY_SAVEDATA_ERROR_DELETE_PARAM = 0x80110348, + SCE_UTILITY_SAVEDATA_ERROR_DELETE_INTERNAL = 0x8011034b, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_MS = 0x801103C1, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_EJECT_MS = 0x801103C2, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_ACCESS_ERROR = 0x801103C5, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_DATA = 0x801103C7, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_PARAM = 0x801103C8, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_UMD = 0x801103C9, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_WRONG_UMD = 0x801103Ca, + SCE_UTILITY_SAVEDATA_ERROR_SIZES_INTERNAL = 0x801103Cb, + + SCE_ERROR_UTILITY_GAMEDATA_MEMSTICK_REMOVED = 0x80111901, + SCE_ERROR_UTILITY_GAMEDATA_MEMSTICK_WRITE_PROTECTED = 0x80111903, + SCE_ERROR_UTILITY_GAMEDATA_INVALID_MODE = 0x80111908, + + SCE_ERROR_AUDIO_CHANNEL_NOT_INIT = 0x80260001, + SCE_ERROR_AUDIO_CHANNEL_BUSY = 0x80260002, + SCE_ERROR_AUDIO_INVALID_CHANNEL = 0x80260003, + SCE_ERROR_AUDIO_PRIV_REQUIRED = 0x80260004, + SCE_ERROR_AUDIO_NO_CHANNELS_AVAILABLE = 0x80260005, + SCE_ERROR_AUDIO_OUTPUT_SAMPLE_DATA_SIZE_NOT_ALIGNED = 0x80260006, + SCE_ERROR_AUDIO_INVALID_FORMAT = 0x80260007, + SCE_ERROR_AUDIO_CHANNEL_NOT_RESERVED = 0x80260008, + SCE_ERROR_AUDIO_NOT_OUTPUT = 0x80260009, + SCE_ERROR_AUDIO_INVALID_FREQUENCY = 0x8026000A, + SCE_ERROR_AUDIO_INVALID_VOLUME = 0x8026000B, + SCE_ERROR_AUDIO_CHANNEL_ALREADY_RESERVED = 0x80268002, + + SCE_ERROR_USBMIC_INVALID_MAX_SAMPLES = 0x80243806, + SCE_ERROR_USBMIC_INVALID_SAMPLERATE = 0x8024380A, + SCE_ERROR_USB_WAIT_TIMEOUT = 0x80243008, + + SCE_ERROR_UMD_NOT_READY = 0x80210001, + + SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS = 0x80220081, + SCE_ERROR_MEMSTICK_DEVCTL_TOO_MANY_CALLBACKS = 0x80220082, + + SCE_ERROR_PGD_INVALID_HEADER = 0x80510204, +}; diff --git a/Core/HLE/sceAudio.h b/Core/HLE/sceAudio.h index def23ebb02..4f3af5176c 100644 --- a/Core/HLE/sceAudio.h +++ b/Core/HLE/sceAudio.h @@ -27,20 +27,6 @@ class PointerWrap; enum PspAudioFormats { PSP_AUDIO_FORMAT_STEREO = 0, PSP_AUDIO_FORMAT_MONO = 0x10 }; enum PspAudioFrequencies { PSP_AUDIO_FREQ_44K = 44100, PSP_AUDIO_FREQ_48K = 48000 }; -#define SCE_ERROR_AUDIO_CHANNEL_NOT_INIT 0x80260001 -#define SCE_ERROR_AUDIO_CHANNEL_BUSY 0x80260002 -#define SCE_ERROR_AUDIO_INVALID_CHANNEL 0x80260003 -#define SCE_ERROR_AUDIO_PRIV_REQUIRED 0x80260004 -#define SCE_ERROR_AUDIO_NO_CHANNELS_AVAILABLE 0x80260005 -#define SCE_ERROR_AUDIO_OUTPUT_SAMPLE_DATA_SIZE_NOT_ALIGNED 0x80260006 -#define SCE_ERROR_AUDIO_INVALID_FORMAT 0x80260007 -#define SCE_ERROR_AUDIO_CHANNEL_NOT_RESERVED 0x80260008 -#define SCE_ERROR_AUDIO_NOT_OUTPUT 0x80260009 -#define SCE_ERROR_AUDIO_INVALID_FREQUENCY 0x8026000A -#define SCE_ERROR_AUDIO_INVALID_VOLUME 0x8026000B -#define SCE_ERROR_AUDIO_CHANNEL_ALREADY_RESERVED 0x80268002 - - const u32 PSP_AUDIO_CHANNEL_MAX = 8; const int PSP_AUDIO_CHANNEL_SRC = 8; diff --git a/Core/HLE/sceIo.cpp b/Core/HLE/sceIo.cpp index e2d8d79084..391651c407 100644 --- a/Core/HLE/sceIo.cpp +++ b/Core/HLE/sceIo.cpp @@ -77,11 +77,6 @@ extern "C" { #include "Core/HLE/Plugins.h" #include "Input/KeyCodes.h" -static const int ERROR_ERRNO_IO_ERROR = 0x80010005; -static const int ERROR_MEMSTICK_DEVCTL_BAD_PARAMS = 0x80220081; -static const int ERROR_MEMSTICK_DEVCTL_TOO_MANY_CALLBACKS = 0x80220082; -static const int ERROR_PGD_INVALID_HEADER = 0x80510204; - // TODO: Should actually report the real free space like we do in the savedata code. static constexpr int FAKE_FREE_SPACE = (1024 + 512) * 1024 * 1024; @@ -1657,7 +1652,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o Memory::Write_U32(0x10, outPtr + 4); // Always return game disc (if present) return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F20002: @@ -1666,7 +1661,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o Memory::Write_U32(0x10, outPtr); // Assume first sector return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F20003: @@ -1675,7 +1670,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o Memory::Write_U32((u32) (info.size) - 1, outPtr); return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F100A3: @@ -1683,7 +1678,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o if (Memory::IsValidAddress(argAddr) && argLen >= 4) { return hleDelayResult(hleLogDebug(Log::sceIo, 0), "dev seek", 100); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F100A4: @@ -1691,7 +1686,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o if (Memory::IsValidAddress(argAddr) && argLen >= 4) { return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F300A5: @@ -1700,7 +1695,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o Memory::Write_U32(1, outPtr); // Status (unitary index of the requested read, greater or equal to 1) return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F300A7: @@ -1710,7 +1705,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o // Place the calling thread in wait state return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F300A8: @@ -1721,7 +1716,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o // 0x20 - UMD data cache thread is running return hleLogDebug(Log::sceIo, 0); // Return finished } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x01F300A9: @@ -1731,7 +1726,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o // Wake up the thread waiting for the UMD data cache handling. return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; // TODO: What do these do? Seem to require a u32 in, no output. @@ -1758,7 +1753,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o } return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x02015804: @@ -1786,7 +1781,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o return hleLogError(Log::sceIo, SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT); } } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x02015805: @@ -1809,7 +1804,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o return hleLogError(Log::sceIo, SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT); } } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x02025806: @@ -1820,7 +1815,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o Memory::Write_U32(MemoryStick_State(), outPtr); return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x02425818: @@ -1849,7 +1844,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; case 0x02425824: @@ -1983,7 +1978,7 @@ static u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 o } return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); + return hleLogError(Log::sceIo, SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS); } break; } @@ -2575,7 +2570,7 @@ int __IoIoctl(u32 id, u32 cmd, u32 indataPtr, u32 inlen, u32 outdataPtr, u32 out if (memcmp(pgd_header, pgd_magic, 4) == 0) { // File is PGD file, but key mismatch ERROR_LOG(Log::sceIo, "%s is PGD file, but there's likely a key mismatch. Returning error.", f->fullpath.c_str()); - return ERROR_PGD_INVALID_HEADER; + return SCE_ERROR_PGD_INVALID_HEADER; } else { // File is not encrypted. WARN_LOG(Log::sceIo, "%s is not an encrypted PGD file as was expected. Proceeding anyway.", f->fullpath.c_str()); @@ -2645,7 +2640,7 @@ int __IoIoctl(u32 id, u32 cmd, u32 indataPtr, u32 inlen, u32 outdataPtr, u32 out s64 newPos = __IoLseekDest(f, seekInfo->offset, seekInfo->whence, seek); if (newPos < 0 || newPos > f->FileInfo().size) { // Not allowed to seek past the end of the file with this API. - return ERROR_ERRNO_IO_ERROR; + return SCE_KERNEL_ERROR_ERRNO_IO_ERROR; } pspFileSystem.SeekFile(f->handle, (s32)seekInfo->offset, seek); } else { diff --git a/Core/HLE/sceKernel.cpp b/Core/HLE/sceKernel.cpp index bf994235ae..1df61d0551 100644 --- a/Core/HLE/sceKernel.cpp +++ b/Core/HLE/sceKernel.cpp @@ -1048,6 +1048,7 @@ const char *KernelErrorToString(u32 err) { case 0x80000209: return "BAD_FILE"; case 0x8000020D: return "ACCESS_ERROR"; case 0x80010002: return "ERRNO_FILE_NOT_FOUND"; + case 0x80010005: return "ERRNO_IO_ERROR"; case 0x80010007: return "ERRNO_ARG_LIST_TOO_LONG"; case 0x80010009: return "ERRNO_INVALID_FILE_DESCRIPTOR"; case 0x8001000B: return "ERRNO_RESOURCE_UNAVAILABLE"; @@ -1248,6 +1249,9 @@ const char *KernelErrorToString(u32 err) { case 0x800201cd: return "LWMUTEX_LOCK_OVERFLOW"; case 0x800201ce: return "LWMUTEX_UNLOCK_UNDERFLOW"; case 0x800201cf: return "LWMUTEX_RECURSIVE_NOT_ALLOWED"; + case SCE_KERNEL_ERROR_UNKNOWN_TLSPL_ID: return "UNKNOWN_TLSPL_ID"; + case SCE_KERNEL_ERROR_TOO_MANY_TLSPL: return "TOO_MANY_TLSPL"; + case SCE_KERNEL_ERROR_TLSPL_IN_USE: return "TLSPL_IN_USE"; case 0x80020258: return "PM_INVALID_PRIORITY"; case 0x80020259: return "PM_INVALID_DEVNAME"; case 0x8002025a: return "PM_UNKNOWN_DEVNAME"; @@ -1304,7 +1308,96 @@ const char *KernelErrorToString(u32 err) { case 0x800203eb: return "STDIO_NOT_OPENED"; case 0x8002044c: return "CACHE_ALIGNMENT"; case 0x8002044d: return "ERRORMAX"; - case 0x802b0200: return "POWER_VMEM_IN_USE"; - default: return nullptr; + + // TODO: Change the above to use the enum. + + case SCE_KERNEL_ERROR_POWER_VMEM_IN_USE: return "POWER_VMEM_IN_USE"; + + case SCE_ERROR_NETPARAM_BAD_NETCONF: return "NETPARAM_BAD_NETCONF"; + case SCE_ERROR_NETPARAM_BAD_PARAM: return "NETPARAM_BAD_PARAM"; + case SCE_ERROR_MODULE_BAD_ID: return "MODULE_BAD_ID"; + case SCE_ERROR_MODULE_ALREADY_LOADED: return "MODULE_ALREADY_LOADED"; + case SCE_ERROR_MODULE_NOT_LOADED: return "MODULE_NOT_LOADED"; + case SCE_ERROR_AV_MODULE_BAD_ID: return "AV_MODULE_BAD_ID"; + + case SCE_ERROR_UTILITY_INVALID_STATUS: return "UTILITY_INVALID_STATUS"; + case SCE_ERROR_UTILITY_INVALID_PARAM_SIZE: return "UTILITY_INVALID_PARAM_SIZE"; + case SCE_ERROR_UTILITY_WRONG_TYPE: return "UTILITY_WRONG_TYPE"; + case SCE_ERROR_UTILITY_INVALID_ADHOC_CHANNEL: return "UTILITY_INVALID_ADHOC_CHANNEL"; + case SCE_ERROR_UTILITY_INVALID_SYSTEM_PARAM_ID: return "UTILITY_INVALID_SYSTEM_PARAM_ID"; + + case SCE_ERROR_UTILITY_MSGDIALOG_BADOPTION: return "UTILITY_MSGDIALOG_BADOPTION"; + case SCE_ERROR_UTILITY_MSGDIALOG_ERRORCODEINVALID: return "UTILITY_MSGDIALOG_ERRORCODEINVALID"; + + case SCE_UTILITY_SAVEDATA_ERROR_TYPE: return "SAVEDATA_TYPE"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_NO_MS: return "SAVEDATA_LOAD_NO_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_EJECT_MS: return "SAVEDATA_LOAD_EJECT_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_ACCESS_ERROR: return "SAVEDATA_LOAD_ACCESS_ERROR"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_DATA_BROKEN: return "SAVEDATA_LOAD_DATA_BROKEN"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_NO_DATA: return "SAVEDATA_LOAD_NO_DATA"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_PARAM: return "SAVEDATA_LOAD_PARAM"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_FILE_NOT_FOUND: return "SAVEDATA_LOAD_FILE_NOT_FOUND"; + case SCE_UTILITY_SAVEDATA_ERROR_LOAD_INTERNAL: return "SAVEDATA_LOAD_INTERNAL"; + case SCE_UTILITY_SAVEDATA_ERROR_RW_NO_MEMSTICK: return "SAVEDATA_RW_NO_MEMSTICK"; + case SCE_UTILITY_SAVEDATA_ERROR_RW_MEMSTICK_FULL: return "SAVEDATA_RW_MEMSTICK_FULL"; + case SCE_UTILITY_SAVEDATA_ERROR_RW_DATA_BROKEN: return "SAVEDATA_RW_DATA_BROKEN"; + case SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA: return "SAVEDATA_RW_NO_DATA"; + case SCE_UTILITY_SAVEDATA_ERROR_RW_BAD_PARAMS: return "SAVEDATA_RW_BAD_PARAMS"; + case SCE_UTILITY_SAVEDATA_ERROR_RW_FILE_NOT_FOUND: return "SAVEDATA_RW_FILE_NOT_FOUND"; + case SCE_UTILITY_SAVEDATA_ERROR_RW_BAD_STATUS: return "SAVEDATA_RW_BAD_STATUS"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_NO_MS: return "SAVEDATA_SAVE_NO_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_EJECT_MS: return "SAVEDATA_SAVE_EJECT_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_NOSPACE: return "SAVEDATA_SAVE_MS_NOSPACE"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_PROTECTED: return "SAVEDATA_SAVE_MS_PROTECTED"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_ACCESS_ERROR: return "SAVEDATA_SAVE_ACCESS_ERROR"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_PARAM: return "SAVEDATA_SAVE_PARAM"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_NO_UMD: return "SAVEDATA_SAVE_NO_UMD"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_WRONG_UMD: return "SAVEDATA_SAVE_WRONG_UMD"; + case SCE_UTILITY_SAVEDATA_ERROR_SAVE_INTERNAL: return "SAVEDATA_SAVE_INTERNAL"; + case SCE_UTILITY_SAVEDATA_ERROR_DELETE_NO_MS: return "SAVEDATA_DELETE_NO_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_DELETE_EJECT_MS: return "SAVEDATA_DELETE_EJECT_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_DELETE_MS_PROTECTED: return "SAVEDATA_DELETE_MS_PROTECTED"; + case SCE_UTILITY_SAVEDATA_ERROR_DELETE_ACCESS_ERROR: return "SAVEDATA_DELETE_ACCESS_ERROR"; + case SCE_UTILITY_SAVEDATA_ERROR_DELETE_NO_DATA: return "SAVEDATA_DELETE_NO_DATA"; + case SCE_UTILITY_SAVEDATA_ERROR_DELETE_PARAM: return "SAVEDATA_DELETE_PARAM"; + case SCE_UTILITY_SAVEDATA_ERROR_DELETE_INTERNAL: return "SAVEDATA_DELETE_INTERNAL"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_MS: return "SAVEDATA_SIZES_NO_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_EJECT_MS: return "SAVEDATA_SIZES_EJECT_MS"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_ACCESS_ERROR: return "SAVEDATA_SIZES_ACCESS_ERROR"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_DATA: return "SAVEDATA_SIZES_NO_DATA"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_PARAM: return "SAVEDATA_SIZES_PARAM"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_UMD: return "SAVEDATA_SIZES_NO_UMD"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_WRONG_UMD: return "SAVEDATA_SIZES_WRONG_UMD"; + case SCE_UTILITY_SAVEDATA_ERROR_SIZES_INTERNAL: return "SAVEDATA_SIZES_INTERNAL"; + + case SCE_ERROR_UTILITY_GAMEDATA_MEMSTICK_REMOVED: return "UTILITY_GAMEDATA_MEMSTICK_REMOVED"; + case SCE_ERROR_UTILITY_GAMEDATA_MEMSTICK_WRITE_PROTECTED: return "UTILITY_GAMEDATA_MEMSTICK_WRITE_PROTECTED"; + case SCE_ERROR_UTILITY_GAMEDATA_INVALID_MODE: return "UTILITY_GAMEDATA_INVALID_MODE"; + + case SCE_ERROR_AUDIO_CHANNEL_NOT_INIT: return "AUDIO_CHANNEL_NOT_INIT"; + case SCE_ERROR_AUDIO_CHANNEL_BUSY: return "AUDIO_CHANNEL_BUSY"; + case SCE_ERROR_AUDIO_INVALID_CHANNEL: return "AUDIO_INVALID_CHANNEL"; + case SCE_ERROR_AUDIO_PRIV_REQUIRED: return "AUDIO_PRIV_REQUIRED"; + case SCE_ERROR_AUDIO_NO_CHANNELS_AVAILABLE: return "AUDIO_NO_CHANNELS_AVAILABLE"; + case SCE_ERROR_AUDIO_OUTPUT_SAMPLE_DATA_SIZE_NOT_ALIGNED: return "AUDIO_OUTPUT_SAMPLE_DATA_SIZE_NOT_ALIGNED"; + case SCE_ERROR_AUDIO_INVALID_FORMAT: return "AUDIO_INVALID_FORMAT"; + case SCE_ERROR_AUDIO_CHANNEL_NOT_RESERVED: return "AUDIO_CHANNEL_NOT_RESERVED"; + case SCE_ERROR_AUDIO_NOT_OUTPUT: return "AUDIO_NOT_OUTPUT"; + case SCE_ERROR_AUDIO_INVALID_FREQUENCY: return "AUDIO_INVALID_FREQUENCY"; + case SCE_ERROR_AUDIO_INVALID_VOLUME: return "AUDIO_INVALID_VOLUME"; + case SCE_ERROR_AUDIO_CHANNEL_ALREADY_RESERVED: return "AUDIO_CHANNEL_ALREADY_RESERVED"; + + case SCE_ERROR_USBMIC_INVALID_MAX_SAMPLES: return "USBMIC_INVALID_MAX_SAMPLES"; + case SCE_ERROR_USBMIC_INVALID_SAMPLERATE: return "USBMIC_INVALID_SAMPLERATE"; + case SCE_ERROR_USB_WAIT_TIMEOUT: return "USB_WAIT_TIMEOUT"; + case SCE_ERROR_UMD_NOT_READY: return "UMD_NOT_READY"; + + case SCE_ERROR_MEMSTICK_DEVCTL_BAD_PARAMS: return "MEMSTICK_DEVCTL_BAD_PARAMS"; + case SCE_ERROR_MEMSTICK_DEVCTL_TOO_MANY_CALLBACKS: return "MEMSTICK_DEVCTL_TOO_MANY_CALLBACKS"; + + case SCE_ERROR_PGD_INVALID_HEADER: return "PGD_INVALID_HEADER"; + + default: + return nullptr; } } diff --git a/Core/HLE/sceKernel.h b/Core/HLE/sceKernel.h index d29a554be6..d9d323bc04 100644 --- a/Core/HLE/sceKernel.h +++ b/Core/HLE/sceKernel.h @@ -24,300 +24,12 @@ #include "Common/Log.h" #include "Common/Swap.h" +#include "Core/HLE/ErrorCodes.h" + class PointerWrap; -enum : u32 { - SCE_KERNEL_ERROR_OK = 0, - SCE_KERNEL_ERROR_ALREADY = 0x80000020, - SCE_KERNEL_ERROR_BUSY = 0x80000021, - SCE_KERNEL_ERROR_OUT_OF_MEMORY = 0x80000022, - SCE_KERNEL_ERROR_PRIV_REQUIRED = 0x80000023, - SCE_KERNEL_ERROR_INVALID_ID = 0x80000100, - SCE_KERNEL_ERROR_INVALID_NAME = 0x80000101, - SCE_KERNEL_ERROR_INVALID_INDEX = 0x80000102, - SCE_KERNEL_ERROR_INVALID_POINTER = 0x80000103, - SCE_KERNEL_ERROR_INVALID_SIZE = 0x80000104, - SCE_KERNEL_ERROR_INVALID_FLAG = 0x80000105, - SCE_KERNEL_ERROR_INVALID_COMMAND = 0x80000106, - SCE_KERNEL_ERROR_INVALID_MODE = 0x80000107, - SCE_KERNEL_ERROR_INVALID_FORMAT = 0x80000108, - SCE_KERNEL_ERROR_INVALID_VALUE = 0x800001FE, - SCE_KERNEL_ERROR_INVALID_ARGUMENT = 0x800001FF, - SCE_KERNEL_ERROR_BAD_FILE = 0x80000209, - SCE_KERNEL_ERROR_ACCESS_ERROR = 0x8000020D, - - SCE_KERNEL_ERROR_ERRNO_FILE_NOT_FOUND = 0x80010002, - SCE_KERNEL_ERROR_ERRNO_ARG_LIST_TOO_LONG = 0x80010007, - SCE_KERNEL_ERROR_ERRNO_INVALID_FILE_DESCRIPTOR = 0x80010009, - SCE_KERNEL_ERROR_ERRNO_RESOURCE_UNAVAILABLE = 0x8001000B, - SCE_KERNEL_ERROR_ERRNO_NO_MEMORY = 0x8001000C, - SCE_KERNEL_ERROR_ERRNO_NO_PERM = 0x8001000D, - SCE_KERNEL_ERROR_ERRNO_FILE_INVALID_ADDR = 0x8001000E, - SCE_KERNEL_ERROR_ERRNO_DEVICE_BUSY = 0x80010010, - SCE_KERNEL_ERROR_ERRNO_FILE_ALREADY_EXISTS = 0x80010011, - SCE_KERNEL_ERROR_ERRNO_CROSS_DEV_LINK = 0x80010012, - SCE_KERNEL_ERROR_ERRNO_DEVICE_NOT_FOUND = 0x80010013, - SCE_KERNEL_ERROR_ERRNO_NOT_A_DIRECTORY = 0x80010014, - SCE_KERNEL_ERROR_ERRNO_IS_DIRECTORY = 0x80010015, - SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT = 0x80010016, - SCE_KERNEL_ERROR_ERRNO_TOO_MANY_OPEN_SYSTEM_FILES = 0x80010018, - SCE_KERNEL_ERROR_ERRNO_FILE_IS_TOO_BIG = 0x8001001B, - SCE_KERNEL_ERROR_ERRNO_DEVICE_NO_FREE_SPACE = 0x8001001C, - SCE_KERNEL_ERROR_ERRNO_READ_ONLY = 0x8001001E, - SCE_KERNEL_ERROR_ERRNO_CLOSED = 0x80010020, - SCE_KERNEL_ERROR_ERRNO_FILE_PATH_TOO_LONG = 0x80010024, - SCE_KERNEL_ERROR_ERRNO_FILE_PROTOCOL = 0x80010047, - SCE_KERNEL_ERROR_ERRNO_DIRECTORY_IS_NOT_EMPTY = 0x8001005A, - SCE_KERNEL_ERROR_ERRNO_TOO_MANY_SYMBOLIC_LINKS = 0x8001005C, - SCE_KERNEL_ERROR_ERRNO_FILE_ADDR_IN_USE = 0x80010062, - SCE_KERNEL_ERROR_ERRNO_CONNECTION_ABORTED = 0x80010067, - SCE_KERNEL_ERROR_ERRNO_CONNECTION_RESET = 0x80010068, - SCE_KERNEL_ERROR_ERRNO_NO_FREE_BUF_SPACE = 0x80010069, - SCE_KERNEL_ERROR_ERRNO_FILE_TIMEOUT = 0x8001006E, - SCE_KERNEL_ERROR_ERRNO_IN_PROGRESS = 0x80010077, - SCE_KERNEL_ERROR_ERRNO_ALREADY = 0x80010078, - SCE_KERNEL_ERROR_ERRNO_NO_MEDIA = 0x8001007B, - SCE_KERNEL_ERROR_ERRNO_INVALID_MEDIUM = 0x8001007C, - SCE_KERNEL_ERROR_ERRNO_ADDRESS_NOT_AVAILABLE = 0x8001007D, - SCE_KERNEL_ERROR_ERRNO_IS_ALREADY_CONNECTED = 0x8001007F, - SCE_KERNEL_ERROR_ERRNO_NOT_CONNECTED = 0x80010080, - SCE_KERNEL_ERROR_ERRNO_FILE_QUOTA_EXCEEDED = 0x80010084, - SCE_KERNEL_ERROR_ERRNO_FUNCTION_NOT_SUPPORTED = 0x8001B000, - SCE_KERNEL_ERROR_ERRNO_ADDR_OUT_OF_MAIN_MEM = 0x8001B001, - SCE_KERNEL_ERROR_ERRNO_INVALID_UNIT_NUM = 0x8001B002, - SCE_KERNEL_ERROR_ERRNO_INVALID_FILE_SIZE = 0x8001B003, - SCE_KERNEL_ERROR_ERRNO_INVALID_FLAG = 0x8001B004, - - SCE_KERNEL_ERROR_ERROR = 0x80020001, - SCE_KERNEL_ERROR_NOTIMP = 0x80020002, - SCE_KERNEL_ERROR_ILLEGAL_EXPCODE = 0x80020032, - SCE_KERNEL_ERROR_EXPHANDLER_NOUSE = 0x80020033, - SCE_KERNEL_ERROR_EXPHANDLER_USED = 0x80020034, - SCE_KERNEL_ERROR_SYCALLTABLE_NOUSED = 0x80020035, - SCE_KERNEL_ERROR_SYCALLTABLE_USED = 0x80020036, - SCE_KERNEL_ERROR_ILLEGAL_SYSCALLTABLE = 0x80020037, - SCE_KERNEL_ERROR_ILLEGAL_PRIMARY_SYSCALL_NUMBER = 0x80020038, - SCE_KERNEL_ERROR_PRIMARY_SYSCALL_NUMBER_INUSE = 0x80020039, - SCE_KERNEL_ERROR_ILLEGAL_CONTEXT = 0x80020064, - SCE_KERNEL_ERROR_ILLEGAL_INTRCODE = 0x80020065, - SCE_KERNEL_ERROR_CPUDI = 0x80020066, - SCE_KERNEL_ERROR_FOUND_HANDLER = 0x80020067, - SCE_KERNEL_ERROR_NOTFOUND_HANDLER = 0x80020068, - SCE_KERNEL_ERROR_ILLEGAL_INTRLEVEL = 0x80020069, - SCE_KERNEL_ERROR_ILLEGAL_ADDRESS = 0x8002006a, - SCE_KERNEL_ERROR_ILLEGAL_INTRPARAM = 0x8002006b, - SCE_KERNEL_ERROR_ILLEGAL_STACK_ADDRESS = 0x8002006c, - SCE_KERNEL_ERROR_ALREADY_STACK_SET = 0x8002006d, - SCE_KERNEL_ERROR_NO_TIMER = 0x80020096, - SCE_KERNEL_ERROR_ILLEGAL_TIMERID = 0x80020097, - SCE_KERNEL_ERROR_ILLEGAL_SOURCE = 0x80020098, - SCE_KERNEL_ERROR_ILLEGAL_PRESCALE = 0x80020099, - SCE_KERNEL_ERROR_TIMER_BUSY = 0x8002009a, - SCE_KERNEL_ERROR_TIMER_NOT_SETUP = 0x8002009b, - SCE_KERNEL_ERROR_TIMER_NOT_INUSE = 0x8002009c, - SCE_KERNEL_ERROR_UNIT_USED = 0x800200a0, - SCE_KERNEL_ERROR_UNIT_NOUSE = 0x800200a1, - SCE_KERNEL_ERROR_NO_ROMDIR = 0x800200a2, - SCE_KERNEL_ERROR_IDTYPE_EXIST = 0x800200c8, - SCE_KERNEL_ERROR_IDTYPE_NOT_EXIST = 0x800200c9, - SCE_KERNEL_ERROR_IDTYPE_NOT_EMPTY = 0x800200ca, - SCE_KERNEL_ERROR_UNKNOWN_UID = 0x800200cb, - SCE_KERNEL_ERROR_UNMATCH_UID_TYPE = 0x800200cc, - SCE_KERNEL_ERROR_ID_NOT_EXIST = 0x800200cd, - SCE_KERNEL_ERROR_NOT_FOUND_UIDFUNC = 0x800200ce, - SCE_KERNEL_ERROR_UID_ALREADY_HOLDER = 0x800200cf, - SCE_KERNEL_ERROR_UID_NOT_HOLDER = 0x800200d0, - SCE_KERNEL_ERROR_ILLEGAL_PERM = 0x800200d1, - SCE_KERNEL_ERROR_ILLEGAL_ARGUMENT = 0x800200d2, - SCE_KERNEL_ERROR_ILLEGAL_ADDR = 0x800200d3, - SCE_KERNEL_ERROR_OUT_OF_RANGE = 0x800200d4, - SCE_KERNEL_ERROR_MEM_RANGE_OVERLAP = 0x800200d5, - SCE_KERNEL_ERROR_ILLEGAL_PARTITION = 0x800200d6, - SCE_KERNEL_ERROR_PARTITION_INUSE = 0x800200d7, - SCE_KERNEL_ERROR_ILLEGAL_MEMBLOCKTYPE = 0x800200d8, - SCE_KERNEL_ERROR_MEMBLOCK_ALLOC_FAILED = 0x800200d9, - SCE_KERNEL_ERROR_MEMBLOCK_RESIZE_LOCKED = 0x800200da, - SCE_KERNEL_ERROR_MEMBLOCK_RESIZE_FAILED = 0x800200db, - SCE_KERNEL_ERROR_HEAPBLOCK_ALLOC_FAILED = 0x800200dc, - SCE_KERNEL_ERROR_HEAP_ALLOC_FAILED = 0x800200dd, - SCE_KERNEL_ERROR_ILLEGAL_CHUNK_ID = 0x800200de, - SCE_KERNEL_ERROR_NOCHUNK = 0x800200df, - SCE_KERNEL_ERROR_NO_FREECHUNK = 0x800200e0, - SCE_KERNEL_ERROR_MEMBLOCK_FRAGMENTED = 0x800200e1, - SCE_KERNEL_ERROR_MEMBLOCK_CANNOT_JOINT = 0x800200e2, - SCE_KERNEL_ERROR_MEMBLOCK_CANNOT_SEPARATE = 0x800200e3, - SCE_KERNEL_ERROR_ILLEGAL_ALIGNMENT_SIZE = 0x800200e4, - SCE_KERNEL_ERROR_ILLEGAL_DEVKIT_VER = 0x800200e5, - SCE_KERNEL_ERROR_LINKERR = 0x8002012c, - SCE_KERNEL_ERROR_ILLEGAL_OBJECT = 0x8002012d, - SCE_KERNEL_ERROR_UNKNOWN_MODULE = 0x8002012e, - SCE_KERNEL_ERROR_NOFILE = 0x8002012f, - SCE_KERNEL_ERROR_FILEERR = 0x80020130, - SCE_KERNEL_ERROR_MEMINUSE = 0x80020131, - SCE_KERNEL_ERROR_PARTITION_MISMATCH = 0x80020132, - SCE_KERNEL_ERROR_ALREADY_STARTED = 0x80020133, - SCE_KERNEL_ERROR_NOT_STARTED = 0x80020134, - SCE_KERNEL_ERROR_ALREADY_STOPPED = 0x80020135, - SCE_KERNEL_ERROR_CAN_NOT_STOP = 0x80020136, - SCE_KERNEL_ERROR_NOT_STOPPED = 0x80020137, - SCE_KERNEL_ERROR_NOT_REMOVABLE = 0x80020138, - SCE_KERNEL_ERROR_EXCLUSIVE_LOAD = 0x80020139, - SCE_KERNEL_ERROR_LIBRARY_NOT_YET_LINKED = 0x8002013a, - SCE_KERNEL_ERROR_LIBRARY_FOUND = 0x8002013b, - SCE_KERNEL_ERROR_LIBRARY_NOTFOUND = 0x8002013c, - SCE_KERNEL_ERROR_ILLEGAL_LIBRARY = 0x8002013d, - SCE_KERNEL_ERROR_LIBRARY_INUSE = 0x8002013e, - SCE_KERNEL_ERROR_ALREADY_STOPPING = 0x8002013f, - SCE_KERNEL_ERROR_ILLEGAL_OFFSET = 0x80020140, - SCE_KERNEL_ERROR_ILLEGAL_POSITION = 0x80020141, - SCE_KERNEL_ERROR_ILLEGAL_ACCESS = 0x80020142, - SCE_KERNEL_ERROR_MODULE_MGR_BUSY = 0x80020143, - SCE_KERNEL_ERROR_ILLEGAL_FLAG = 0x80020144, - SCE_KERNEL_ERROR_CANNOT_GET_MODULELIST = 0x80020145, - SCE_KERNEL_ERROR_PROHIBIT_LOADMODULE_DEVICE = 0x80020146, - SCE_KERNEL_ERROR_PROHIBIT_LOADEXEC_DEVICE = 0x80020147, - SCE_KERNEL_ERROR_UNSUPPORTED_PRX_TYPE = 0x80020148, - SCE_KERNEL_ERROR_ILLEGAL_PERM_CALL = 0x80020149, - SCE_KERNEL_ERROR_CANNOT_GET_MODULE_INFORMATION = 0x8002014a, - SCE_KERNEL_ERROR_ILLEGAL_LOADEXEC_BUFFER = 0x8002014b, - SCE_KERNEL_ERROR_ILLEGAL_LOADEXEC_FILENAME = 0x8002014c, - SCE_KERNEL_ERROR_NO_EXIT_CALLBACK = 0x8002014d, - SCE_KERNEL_ERROR_MEDIA_CHANGED = 0x8002014e, - SCE_KERNEL_ERROR_CANNOT_USE_BETA_VER_MODULE = 0x8002014f, - - SCE_KERNEL_ERROR_NO_MEMORY = 0x80020190, - SCE_KERNEL_ERROR_ILLEGAL_ATTR = 0x80020191, - SCE_KERNEL_ERROR_ILLEGAL_ENTRY = 0x80020192, - SCE_KERNEL_ERROR_ILLEGAL_PRIORITY = 0x80020193, - SCE_KERNEL_ERROR_ILLEGAL_STACK_SIZE = 0x80020194, - SCE_KERNEL_ERROR_ILLEGAL_MODE = 0x80020195, - SCE_KERNEL_ERROR_ILLEGAL_MASK = 0x80020196, - SCE_KERNEL_ERROR_ILLEGAL_THID = 0x80020197, - SCE_KERNEL_ERROR_UNKNOWN_THID = 0x80020198, - SCE_KERNEL_ERROR_UNKNOWN_SEMID = 0x80020199, - SCE_KERNEL_ERROR_UNKNOWN_EVFID = 0x8002019a, - SCE_KERNEL_ERROR_UNKNOWN_MBXID = 0x8002019b, - SCE_KERNEL_ERROR_UNKNOWN_VPLID = 0x8002019c, - SCE_KERNEL_ERROR_UNKNOWN_FPLID = 0x8002019d, - SCE_KERNEL_ERROR_UNKNOWN_MPPID = 0x8002019e, - SCE_KERNEL_ERROR_UNKNOWN_ALMID = 0x8002019f, - SCE_KERNEL_ERROR_UNKNOWN_TEID = 0x800201a0, - SCE_KERNEL_ERROR_UNKNOWN_CBID = 0x800201a1, - SCE_KERNEL_ERROR_DORMANT = 0x800201a2, - SCE_KERNEL_ERROR_SUSPEND = 0x800201a3, - SCE_KERNEL_ERROR_NOT_DORMANT = 0x800201a4, - SCE_KERNEL_ERROR_NOT_SUSPEND = 0x800201a5, - SCE_KERNEL_ERROR_NOT_WAIT = 0x800201a6, - SCE_KERNEL_ERROR_CAN_NOT_WAIT = 0x800201a7, - SCE_KERNEL_ERROR_WAIT_TIMEOUT = 0x800201a8, - SCE_KERNEL_ERROR_WAIT_CANCEL = 0x800201a9, - SCE_KERNEL_ERROR_RELEASE_WAIT = 0x800201aa, - SCE_KERNEL_ERROR_NOTIFY_CALLBACK = 0x800201ab, - SCE_KERNEL_ERROR_THREAD_TERMINATED = 0x800201ac, - SCE_KERNEL_ERROR_SEMA_ZERO = 0x800201ad, - SCE_KERNEL_ERROR_SEMA_OVF = 0x800201ae, - SCE_KERNEL_ERROR_EVF_COND = 0x800201af, - SCE_KERNEL_ERROR_EVF_MULTI = 0x800201b0, - SCE_KERNEL_ERROR_EVF_ILPAT = 0x800201b1, - SCE_KERNEL_ERROR_MBOX_NOMSG = 0x800201b2, - SCE_KERNEL_ERROR_MPP_FULL = 0x800201b3, - SCE_KERNEL_ERROR_MPP_EMPTY = 0x800201b4, - SCE_KERNEL_ERROR_WAIT_DELETE = 0x800201b5, - SCE_KERNEL_ERROR_ILLEGAL_MEMBLOCK = 0x800201b6, - SCE_KERNEL_ERROR_ILLEGAL_MEMSIZE = 0x800201b7, - SCE_KERNEL_ERROR_ILLEGAL_SPADADDR = 0x800201b8, - SCE_KERNEL_ERROR_SPAD_INUSE = 0x800201b9, - SCE_KERNEL_ERROR_SPAD_NOT_INUSE = 0x800201ba, - SCE_KERNEL_ERROR_ILLEGAL_TYPE = 0x800201bb, - SCE_KERNEL_ERROR_ILLEGAL_SIZE = 0x800201bc, - SCE_KERNEL_ERROR_ILLEGAL_COUNT = 0x800201bd, - SCE_KERNEL_ERROR_UNKNOWN_VTID = 0x800201be, - SCE_KERNEL_ERROR_ILLEGAL_VTID = 0x800201bf, - SCE_KERNEL_ERROR_ILLEGAL_KTLSID = 0x800201c0, - SCE_KERNEL_ERROR_KTLS_FULL = 0x800201c1, - SCE_KERNEL_ERROR_KTLS_BUSY = 0x800201c2, - SCE_KERNEL_ERROR_MUTEX_NOT_FOUND = 0x800201c3, - SCE_KERNEL_ERROR_MUTEX_LOCKED = 0x800201c4, - SCE_KERNEL_ERROR_MUTEX_UNLOCKED = 0x800201c5, - SCE_KERNEL_ERROR_MUTEX_LOCK_OVERFLOW = 0x800201c6, - SCE_KERNEL_ERROR_MUTEX_UNLOCK_UNDERFLOW = 0x800201c7, - SCE_KERNEL_ERROR_MUTEX_RECURSIVE_NOT_ALLOWED = 0x800201c8, - - SCE_KERNEL_ERROR_MESSAGEBOX_DUPLICATE_MESSAGE = 0x800201c9, - - SCE_KERNEL_ERROR_LWMUTEX_NOT_FOUND = 0x800201ca, - SCE_KERNEL_ERROR_LWMUTEX_LOCKED = 0x800201cb, - SCE_KERNEL_ERROR_LWMUTEX_UNLOCKED = 0x800201cc, - SCE_KERNEL_ERROR_LWMUTEX_LOCK_OVERFLOW = 0x800201cd, - SCE_KERNEL_ERROR_LWMUTEX_UNLOCK_UNDERFLOW = 0x800201ce, - SCE_KERNEL_ERROR_LWMUTEX_RECURSIVE_NOT_ALLOWED = 0x800201cf, - - SCE_KERNEL_ERROR_PM_INVALID_PRIORITY = 0x80020258, - SCE_KERNEL_ERROR_PM_INVALID_DEVNAME = 0x80020259, - SCE_KERNEL_ERROR_PM_UNKNOWN_DEVNAME = 0x8002025a, - SCE_KERNEL_ERROR_PM_PMINFO_REGISTERED = 0x8002025b, - SCE_KERNEL_ERROR_PM_PMINFO_UNREGISTERED = 0x8002025c, - SCE_KERNEL_ERROR_PM_INVALID_MAJOR_STATE = 0x8002025d, - SCE_KERNEL_ERROR_PM_INVALID_REQUEST = 0x8002025e, - SCE_KERNEL_ERROR_PM_UNKNOWN_REQUEST = 0x8002025f, - SCE_KERNEL_ERROR_PM_INVALID_UNIT = 0x80020260, - SCE_KERNEL_ERROR_PM_CANNOT_CANCEL = 0x80020261, - SCE_KERNEL_ERROR_PM_INVALID_PMINFO = 0x80020262, - SCE_KERNEL_ERROR_PM_INVALID_ARGUMENT = 0x80020263, - SCE_KERNEL_ERROR_PM_ALREADY_TARGET_PWRSTATE = 0x80020264, - SCE_KERNEL_ERROR_PM_CHANGE_PWRSTATE_FAILED = 0x80020265, - SCE_KERNEL_ERROR_PM_CANNOT_CHANGE_DEVPWR_STATE = 0x80020266, - SCE_KERNEL_ERROR_PM_NO_SUPPORT_DEVPWR_STATE = 0x80020267, - - SCE_KERNEL_ERROR_DMAC_REQUEST_FAILED = 0x800202bc, - SCE_KERNEL_ERROR_DMAC_REQUEST_DENIED = 0x800202bd, - SCE_KERNEL_ERROR_DMAC_OP_QUEUED = 0x800202be, - SCE_KERNEL_ERROR_DMAC_OP_NOT_QUEUED = 0x800202bf, - SCE_KERNEL_ERROR_DMAC_OP_RUNNING = 0x800202c0, - SCE_KERNEL_ERROR_DMAC_OP_NOT_ASSIGNED = 0x800202c1, - SCE_KERNEL_ERROR_DMAC_OP_TIMEOUT = 0x800202c2, - SCE_KERNEL_ERROR_DMAC_OP_FREED = 0x800202c3, - SCE_KERNEL_ERROR_DMAC_OP_USED = 0x800202c4, - SCE_KERNEL_ERROR_DMAC_OP_EMPTY = 0x800202c5, - SCE_KERNEL_ERROR_DMAC_OP_ABORTED = 0x800202c6, - SCE_KERNEL_ERROR_DMAC_OP_ERROR = 0x800202c7, - SCE_KERNEL_ERROR_DMAC_CHANNEL_RESERVED = 0x800202c8, - SCE_KERNEL_ERROR_DMAC_CHANNEL_EXCLUDED = 0x800202c9, - SCE_KERNEL_ERROR_DMAC_PRIVILEGE_ADDRESS = 0x800202ca, - SCE_KERNEL_ERROR_DMAC_NO_ENOUGHSPACE = 0x800202cb, - SCE_KERNEL_ERROR_DMAC_CHANNEL_NOT_ASSIGNED = 0x800202cc, - SCE_KERNEL_ERROR_DMAC_CHILD_OPERATION = 0x800202cd, - SCE_KERNEL_ERROR_DMAC_TOO_MUCH_SIZE = 0x800202ce, - SCE_KERNEL_ERROR_DMAC_INVALID_ARGUMENT = 0x800202cf, - - SCE_KERNEL_ERROR_MFILE = 0x80020320, - SCE_KERNEL_ERROR_NODEV = 0x80020321, - SCE_KERNEL_ERROR_XDEV = 0x80020322, - SCE_KERNEL_ERROR_BADF = 0x80020323, - SCE_KERNEL_ERROR_INVAL = 0x80020324, - SCE_KERNEL_ERROR_UNSUP = 0x80020325, - SCE_KERNEL_ERROR_ALIAS_USED = 0x80020326, - SCE_KERNEL_ERROR_CANNOT_MOUNT = 0x80020327, - SCE_KERNEL_ERROR_DRIVER_DELETED = 0x80020328, - SCE_KERNEL_ERROR_ASYNC_BUSY = 0x80020329, - SCE_KERNEL_ERROR_NOASYNC = 0x8002032a, - SCE_KERNEL_ERROR_REGDEV = 0x8002032b, - SCE_KERNEL_ERROR_NOCWD = 0x8002032c, - SCE_KERNEL_ERROR_NAMETOOLONG = 0x8002032d, - SCE_KERNEL_ERROR_NXIO = 0x800203e8, - SCE_KERNEL_ERROR_IO = 0x800203e9, - SCE_KERNEL_ERROR_NOMEM = 0x800203ea, - SCE_KERNEL_ERROR_STDIO_NOT_OPENED = 0x800203eb, - - SCE_KERNEL_ERROR_CACHE_ALIGNMENT = 0x8002044c, - SCE_KERNEL_ERROR_ERRORMAX = 0x8002044d, - - SCE_KERNEL_ERROR_POWER_VMEM_IN_USE = 0x802b0200, -}; - // If you add to this, make sure to check KernelObjectPool::CreateByIDType(). -enum TMIDPurpose -{ +enum TMIDPurpose { SCE_KERNEL_TMID_Thread = 1, SCE_KERNEL_TMID_Semaphore = 2, SCE_KERNEL_TMID_EventFlag = 3, @@ -409,8 +121,7 @@ int sceKernelIcacheInvalidateRange(u32 addr, int size); class KernelObjectPool; -class KernelObject -{ +class KernelObject { friend class KernelObjectPool; u32 uid; public: diff --git a/Core/HLE/sceKernelMemory.cpp b/Core/HLE/sceKernelMemory.cpp index 9f3b3bbb08..08c316cb4c 100644 --- a/Core/HLE/sceKernelMemory.cpp +++ b/Core/HLE/sceKernelMemory.cpp @@ -1842,13 +1842,6 @@ static u32 SysMemUserForUser_945E45DA() { return 0; } -enum -{ - PSP_ERROR_UNKNOWN_TLSPL_ID = 0x800201D0, - PSP_ERROR_TOO_MANY_TLSPL = 0x800201D1, - PSP_ERROR_TLSPL_IN_USE = 0x800201D2, -}; - enum { // TODO: Complete untested guesses. @@ -1875,7 +1868,7 @@ struct TLSPL : public KernelObject const char *GetName() override { return ntls.name; } const char *GetTypeName() override { return GetStaticTypeName(); } static const char *GetStaticTypeName() { return "TLS"; } - static u32 GetMissingErrorCode() { return PSP_ERROR_UNKNOWN_TLSPL_ID; } + static u32 GetMissingErrorCode() { return SCE_KERNEL_ERROR_UNKNOWN_TLSPL_ID; } static int GetStaticIDType() { return SCE_KERNEL_TMID_Tlspl; } int GetIDType() const override { return SCE_KERNEL_TMID_Tlspl; } @@ -2052,7 +2045,7 @@ SceUID sceKernelCreateTlspl(const char *name, u32 partition, u32 attr, u32 block } if (index == -1) - return hleLogWarning(Log::sceKernel, PSP_ERROR_TOO_MANY_TLSPL, "ran out of indexes for TLS pools"); + return hleLogWarning(Log::sceKernel, SCE_KERNEL_ERROR_TOO_MANY_TLSPL, "ran out of indexes for TLS pools"); // Unless otherwise specified, we align to 4 bytes (a mips word.) u32 alignment = 4; @@ -2115,7 +2108,7 @@ int sceKernelDeleteTlspl(SceUID uid) } if (inUse) { - error = PSP_ERROR_TLSPL_IN_USE; + error = SCE_KERNEL_ERROR_TLSPL_IN_USE; WARN_LOG(Log::sceKernel, "%08x=sceKernelDeleteTlspl(%08x): in use", error, uid); return error; } diff --git a/Core/HLE/sceUmd.cpp b/Core/HLE/sceUmd.cpp index c9b2a1cc9b..844eb54657 100644 --- a/Core/HLE/sceUmd.cpp +++ b/Core/HLE/sceUmd.cpp @@ -272,18 +272,18 @@ static u32 sceUmdGetDiscInfo(u32 infoAddr) { if (Memory::IsValidAddress(infoAddr)) { auto info = PSPPointer::Create(infoAddr); if (info->size != 8) - return hleLogError(Log::sceIo, PSP_ERROR_UMD_INVALID_PARAM); + return hleLogError(Log::sceIo, SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT); info->type = PSP_UMD_TYPE_GAME; return hleLogDebug(Log::sceIo, 0); } else { - return hleLogError(Log::sceIo, PSP_ERROR_UMD_INVALID_PARAM); + return hleLogError(Log::sceIo, SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT); } } static int sceUmdActivate(u32 mode, const char *name) { if (mode < 1 || mode > 2) - return hleLogWarning(Log::sceIo, PSP_ERROR_UMD_INVALID_PARAM); + return hleLogWarning(Log::sceIo, SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT); __KernelUmdActivate(); @@ -297,7 +297,7 @@ static int sceUmdDeactivate(u32 mode, const char *name) { // Why 18? No idea. if (mode > 18) - return hleLogError(Log::sceIo, PSP_ERROR_UMD_INVALID_PARAM); + return hleLogError(Log::sceIo, SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT); __KernelUmdDeactivate(); @@ -312,9 +312,9 @@ static u32 sceUmdRegisterUMDCallBack(u32 cbId) { int retVal = 0; - // TODO: If the callback is invalid, return PSP_ERROR_UMD_INVALID_PARAM. + // TODO: If the callback is invalid, return SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT. if (!kernelObjects.IsValid(cbId)) { - retVal = PSP_ERROR_UMD_INVALID_PARAM; + retVal = SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT; } else { // There's only ever one. driveCBId = cbId; @@ -325,7 +325,7 @@ static u32 sceUmdRegisterUMDCallBack(u32 cbId) static int sceUmdUnRegisterUMDCallBack(int cbId) { if (cbId != driveCBId) { - return hleLogError(Log::sceIo, PSP_ERROR_UMD_INVALID_PARAM); + return hleLogError(Log::sceIo, SCE_KERNEL_ERROR_ERRNO_INVALID_ARGUMENT); } else { int retVal; if (sceKernelGetCompiledSdkVersion() > 0x3000000) { diff --git a/Core/HLE/sceUmd.h b/Core/HLE/sceUmd.h index e33bdaae96..d4654903a9 100644 --- a/Core/HLE/sceUmd.h +++ b/Core/HLE/sceUmd.h @@ -29,11 +29,6 @@ enum pspUmdState { PSP_UMD_READABLE = 0x20, }; -enum pspUmdError { - PSP_ERROR_UMD_NOT_READY = 0x80210001, - PSP_ERROR_UMD_INVALID_PARAM = 0x80010016, -}; - enum pspUmdType { PSP_UMD_TYPE_GAME = 0x10, PSP_UMD_TYPE_VIDEO = 0x20, diff --git a/Core/HLE/sceUsb.cpp b/Core/HLE/sceUsb.cpp index b4d0455662..076c203090 100644 --- a/Core/HLE/sceUsb.cpp +++ b/Core/HLE/sceUsb.cpp @@ -26,8 +26,6 @@ #include "Core/MIPS/MIPS.h" #include "Core/Reporting.h" -static constexpr uint32_t ERROR_USB_WAIT_TIMEOUT = 0x80243008; - // TODO: Map by driver name static bool usbStarted = false; // TODO: Check actual status @@ -82,7 +80,7 @@ static void UsbWaitExecTimeout(u64 userdata, int cycleslate) { *timeout = 0; HLEKernel::RemoveWaitingThread(waitingThreads, threadID); - __KernelResumeThreadFromWait(threadID, ERROR_USB_WAIT_TIMEOUT); + __KernelResumeThreadFromWait(threadID, SCE_ERROR_USB_WAIT_TIMEOUT); __KernelReSchedule("wait timed out"); } diff --git a/Core/HLE/sceUsbMic.cpp b/Core/HLE/sceUsbMic.cpp index b1aa02fd92..ec5e9c5a16 100644 --- a/Core/HLE/sceUsbMic.cpp +++ b/Core/HLE/sceUsbMic.cpp @@ -24,6 +24,7 @@ #include "Common/System/System.h" #include "Common/System/Request.h" #include "Core/HLE/HLE.h" +#include "Core/HLE/ErrorCodes.h" #include "Core/HLE/FunctionWrappers.h" #include "Core/HLE/sceKernelThread.h" #include "Core/HLE/sceUsbMic.h" @@ -39,11 +40,6 @@ #include "Windows/CaptureDevice.h" #endif -enum { - SCE_USBMIC_ERROR_INVALID_MAX_SAMPLES = 0x80243806, - SCE_USBMIC_ERROR_INVALID_SAMPLERATE = 0x8024380A, -}; - int eventMicBlockingResume = -1; static QueueBuf *audioBuf = nullptr; @@ -258,11 +254,11 @@ static int sceUsbMicInputBlocking(u32 maxSamples, u32 sampleRate, u32 bufAddr) { INFO_LOG(Log::HLE, "sceUsbMicInputBlocking: maxSamples: %d, samplerate: %d, bufAddr: %08x", maxSamples, sampleRate, bufAddr); if (maxSamples <= 0 || (maxSamples & 0x3F) != 0) { - return SCE_USBMIC_ERROR_INVALID_MAX_SAMPLES; + return SCE_ERROR_USBMIC_INVALID_MAX_SAMPLES; } if (sampleRate != 44100 && sampleRate != 22050 && sampleRate != 11025) { - return SCE_USBMIC_ERROR_INVALID_SAMPLERATE; + return SCE_ERROR_USBMIC_INVALID_SAMPLERATE; } return __MicInput(maxSamples, sampleRate, bufAddr, USBMIC); @@ -281,11 +277,11 @@ static int sceUsbMicInput(u32 maxSamples, u32 sampleRate, u32 bufAddr) { WARN_LOG(Log::HLE, "UNTEST sceUsbMicInput: maxSamples: %d, samplerate: %d, bufAddr: %08x", maxSamples, sampleRate, bufAddr); if (maxSamples <= 0 || (maxSamples & 0x3F) != 0) { - return SCE_USBMIC_ERROR_INVALID_MAX_SAMPLES; + return SCE_ERROR_USBMIC_INVALID_MAX_SAMPLES; } if (sampleRate != 44100 && sampleRate != 22050 && sampleRate != 11025) { - return SCE_USBMIC_ERROR_INVALID_SAMPLERATE; + return SCE_ERROR_USBMIC_INVALID_SAMPLERATE; } return __MicInput(maxSamples, sampleRate, bufAddr, USBMIC, false); diff --git a/Core/HLE/sceUtility.cpp b/Core/HLE/sceUtility.cpp index 7a7e8e4f22..83395fe696 100644 --- a/Core/HLE/sceUtility.cpp +++ b/Core/HLE/sceUtility.cpp @@ -67,13 +67,6 @@ #define PSP_USB_MODULE_CAM 4 // Requires PSP_USB_MODULE_ACC loading first #define PSP_USB_MODULE_GPS 5 // Requires PSP_USB_MODULE_ACC loading first -const int SCE_ERROR_NETPARAM_BAD_NETCONF = 0x80110601; -const int SCE_ERROR_NETPARAM_BAD_PARAM = 0x80110604; -const int SCE_ERROR_MODULE_BAD_ID = 0x80111101; -const int SCE_ERROR_MODULE_ALREADY_LOADED = 0x80111102; -const int SCE_ERROR_MODULE_NOT_LOADED = 0x80111103; -const int SCE_ERROR_AV_MODULE_BAD_ID = 0x80110F01; - static const int noDeps[] = {0}; static const int httpModuleDeps[] = {0x0102, 0x0103, 0x0104, 0}; static const int sslModuleDeps[] = {0x0102, 0}; @@ -481,7 +474,7 @@ static int sceUtilitySavedataUpdate(int animSpeed) { static u32 sceUtilityLoadAvModule(u32 module) { if (module > 7) { ERROR_LOG_REPORT(Log::sceUtility, "sceUtilityLoadAvModule(%i): invalid module id", module); - return SCE_ERROR_AV_MODULE_BAD_ID; + return hleLogError(Log::sceUtility, SCE_ERROR_AV_MODULE_BAD_ID); } if (module == 0) @@ -720,8 +713,7 @@ static int sceUtilityCheckNetParam(int id) available = false; } int ret = available ? 0 : SCE_ERROR_NETPARAM_BAD_NETCONF; - DEBUG_LOG(Log::sceUtility, "%08x=sceUtilityCheckNetParam(%d)", ret, id); - return ret; + return hleLogDebugOrError(Log::sceUtility, ret); } /** @@ -1063,11 +1055,10 @@ static u32 sceUtilitySetSystemParamString(u32 id, u32 strPtr) return 0; } -static u32 sceUtilityGetSystemParamString(u32 id, u32 destAddr, int destSize) -{ +static u32 sceUtilityGetSystemParamString(u32 id, u32 destAddr, int destSize) { if (!Memory::IsValidRange(destAddr, destSize)) { // TODO: What error code? - return -1; + return hleLogError(Log::sceUtility, -1); } DEBUG_LOG(Log::sceUtility, "sceUtilityGetSystemParamString(%i, %08x, %i)", id, destAddr, destSize); char *buf = (char *)Memory::GetPointerWriteUnchecked(destAddr); @@ -1075,39 +1066,36 @@ static u32 sceUtilityGetSystemParamString(u32 id, u32 destAddr, int destSize) case PSP_SYSTEMPARAM_ID_STRING_NICKNAME: // If there's not enough space for the string and null terminator, fail. if (destSize <= (int)g_Config.sNickName.length()) - return PSP_SYSTEMPARAM_RETVAL_STRING_TOO_LONG; + return SCE_ERROR_UTILITY_STRING_TOO_LONG; // TODO: should we zero-pad the output as strncpy does? And what are the semantics for the terminating null if destSize == length? strncpy(buf, g_Config.sNickName.c_str(), destSize); break; default: - return PSP_SYSTEMPARAM_RETVAL_FAIL; + return hleLogError(Log::sceUtility, SCE_ERROR_UTILITY_INVALID_SYSTEM_PARAM_ID); } - return 0; + return hleLogDebug(Log::sceUtility, 0); } -static u32 sceUtilitySetSystemParamInt(u32 id, u32 value) -{ +static u32 sceUtilitySetSystemParamInt(u32 id, u32 value) { switch (id) { case PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL: if (value != 0 && value != 1 && value != 6 && value != 11) { - return ERROR_UTILITY_INVALID_ADHOC_CHANNEL; + return hleLogError(Log::sceUtility, SCE_ERROR_UTILITY_INVALID_ADHOC_CHANNEL); } - //Settings.getInstance().writeInt(SYSTEMPARAM_SETTINGS_OPTION_ADHOC_CHANNEL, value); + // Save the setting? We don't really care about this one. break; case PSP_SYSTEMPARAM_ID_INT_WLAN_POWERSAVE: - // Settings.getInstance().writeInt(SYSTEMPARAM_SETTINGS_OPTION_WLAN_POWER_SAVE, value); break; default: // PSP can only set above int parameters - return ERROR_UTILITY_INVALID_SYSTEM_PARAM_ID; + return hleLogError(Log::sceUtility, SCE_ERROR_UTILITY_INVALID_SYSTEM_PARAM_ID); } - return 0; + return hleLogDebug(Log::sceUtility, 0); } -static u32 sceUtilityGetSystemParamInt(u32 id, u32 destaddr) -{ +static u32 sceUtilityGetSystemParamInt(u32 id, u32 destaddr) { u32 param = 0; switch (id) { case PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL: @@ -1155,12 +1143,11 @@ static u32 sceUtilityGetSystemParamInt(u32 id, u32 destaddr) param = g_Config.iLockParentalLevel; break; default: - return PSP_SYSTEMPARAM_RETVAL_FAIL; + return hleLogError(Log::sceUtility, SCE_ERROR_UTILITY_INVALID_SYSTEM_PARAM_ID); } - INFO_LOG(Log::sceUtility, "sceUtilityGetSystemParamInt(%i, %08x <- %08x)", id, destaddr, param); Memory::Write_U32(param, destaddr); - return 0; + return hleLogInfo(Log::sceUtility, 0, "param: %08x", param); } static u32 sceUtilityLoadNetModule(u32 module) @@ -1228,7 +1215,7 @@ static int sceUtilityStoreCheckoutShutdownStart() static int sceUtilityStoreCheckoutInitStart(u32 paramsPtr) { - ERROR_LOG_REPORT(Log::sceUtility,"UNIMPL sceUtilityStoreCheckoutInitStart(%d)", paramsPtr); + ERROR_LOG(Log::sceUtility,"UNIMPL sceUtilityStoreCheckoutInitStart(%d)", paramsPtr); return 0; } @@ -1268,23 +1255,19 @@ static int sceUtilityGameSharingInitStart(u32 paramsPtr) { static int sceUtilityGameSharingUpdate(int animSpeed) { if (currentDialogType != UtilityDialogType::GAMESHARING) { - WARN_LOG(Log::sceUtility, "sceUtilityGameSharingUpdate(%i): wrong dialog type", animSpeed); - return SCE_ERROR_UTILITY_WRONG_TYPE; + return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - ERROR_LOG(Log::sceUtility, "UNIMPL sceUtilityGameSharingUpdate(%i)", animSpeed); - return 0; + return hleLogError(Log::sceUtility, 0, "UNIMPL sceUtilityGameSharingUpdate(%i)", animSpeed); } static int sceUtilityGameSharingGetStatus() { if (currentDialogType != UtilityDialogType::GAMESHARING) { - DEBUG_LOG(Log::sceUtility, "sceUtilityGameSharingGetStatus(): wrong dialog type"); - return SCE_ERROR_UTILITY_WRONG_TYPE; + return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - ERROR_LOG(Log::sceUtility, "UNIMPL sceUtilityGameSharingGetStatus()"); CleanupDialogThreads(); - return 0; + return hleLogError(Log::sceUtility, 0, "UNIMPL"); } static u32 sceUtilityLoadUsbModule(u32 module) diff --git a/Core/HLE/sceUtility.h b/Core/HLE/sceUtility.h index a654d50926..bd726025cb 100644 --- a/Core/HLE/sceUtility.h +++ b/Core/HLE/sceUtility.h @@ -50,8 +50,6 @@ class PointerWrap; // Return values for the SystemParam functions #define PSP_SYSTEMPARAM_RETVAL_OK 0 -#define PSP_SYSTEMPARAM_RETVAL_STRING_TOO_LONG 0x80110102 -#define PSP_SYSTEMPARAM_RETVAL_FAIL 0x80110103 // Valid values for PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL #define PSP_SYSTEMPARAM_ADHOC_CHANNEL_AUTOMATIC 0