From d7c3d1ce125be4595599e383588a4c763538f66f Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sat, 22 Apr 2017 16:01:24 +0300 Subject: [PATCH] sys_fs: 0xc0000006 stub --- rpcs3/Emu/Cell/lv2/sys_fs.cpp | 8 ++++++++ rpcs3/Emu/Cell/lv2/sys_fs.h | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/rpcs3/Emu/Cell/lv2/sys_fs.cpp b/rpcs3/Emu/Cell/lv2/sys_fs.cpp index 8ad24496cc..7a6d270f04 100644 --- a/rpcs3/Emu/Cell/lv2/sys_fs.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_fs.cpp @@ -675,6 +675,14 @@ error_code sys_fs_fcntl(u32 fd, u32 op, vm::ptr _arg, u32 _size) return CELL_EMFILE; } + case 0xc0000006: // Unknown + { + const auto arg = vm::static_ptr_cast(_arg); + + sys_fs.warning("0xc0000006: 0x%x, 0x%x, 0x%x, %s, 0x%x, 0x%x, 0x%x", arg->size, arg->_x4, arg->_x8, arg->name, arg->_x14, arg->_x18, arg->_x1c); + return CELL_OK; + } + case 0xe0000012: // cellFsGetDirectoryEntries { const auto arg = vm::static_ptr_cast(_arg); diff --git a/rpcs3/Emu/Cell/lv2/sys_fs.h b/rpcs3/Emu/Cell/lv2/sys_fs.h index 6897a7b60e..61a1ed9261 100644 --- a/rpcs3/Emu/Cell/lv2/sys_fs.h +++ b/rpcs3/Emu/Cell/lv2/sys_fs.h @@ -266,6 +266,21 @@ struct lv2_file_op_dir : lv2_file_op CHECK_SIZE(lv2_file_op_dir, 0x1c); +// sys_fs_fnctl: unknown (called before cellFsOpen, for example) +struct lv2_file_c0000006 : lv2_file_op +{ + be_t size; // 0x20 + be_t _x4; // 0x10 + be_t _x8; // 0x18 + be_t _xc; // 0x9 + vm::ps3::bcptr name; + be_t _x14; // 0 + be_t _x18; // 0x80010003 + be_t _x1c; // 0 +}; + +CHECK_SIZE(lv2_file_c0000006, 0x20); + // Syscalls error_code sys_fs_test(u32 arg1, u32 arg2, vm::ps3::ptr arg3, u32 arg4, vm::ps3::ptr arg5, u32 arg6);