1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 18:53:28 +01:00

Misc and minor improvements of syscalls used by VSH (#13067)

This commit is contained in:
brian218 2022-12-13 14:33:17 +08:00 committed by GitHub
parent e2c1547d95
commit 65ae85061f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 12 deletions

View File

@ -425,7 +425,7 @@ const std::array<std::pair<ppu_intrp_func_t, std::string_view>, 1024> g_ppu_sysc
BIND_SYSC(_sys_game_watchdog_clear), //374 (0x176) BIND_SYSC(_sys_game_watchdog_clear), //374 (0x176)
NULL_FUNC(sys_game_set_system_sw_version), //375 (0x177) ROOT NULL_FUNC(sys_game_set_system_sw_version), //375 (0x177) ROOT
BIND_SYSC(_sys_game_get_system_sw_version), //376 (0x178) ROOT BIND_SYSC(_sys_game_get_system_sw_version), //376 (0x178) ROOT
NULL_FUNC(sys_sm_set_shop_mode), //377 (0x179) ROOT BIND_SYSC(sys_sm_set_shop_mode), //377 (0x179) ROOT
BIND_SYSC(sys_sm_get_ext_event2), //378 (0x17A) ROOT BIND_SYSC(sys_sm_get_ext_event2), //378 (0x17A) ROOT
BIND_SYSC(sys_sm_shutdown), //379 (0x17B) ROOT BIND_SYSC(sys_sm_shutdown), //379 (0x17B) ROOT
BIND_SYSC(sys_sm_get_params), //380 (0x17C) DBG BIND_SYSC(sys_sm_get_params), //380 (0x17C) DBG

View File

@ -84,6 +84,13 @@ error_code sys_sm_shutdown(ppu_thread& ppu, u16 op, vm::ptr<void> param, u64 siz
return CELL_OK; return CELL_OK;
} }
error_code sys_sm_set_shop_mode(s32 mode)
{
sys_sm.todo("sys_sm_set_shop_mode(mode=0x%x)", mode);
return CELL_OK;
}
error_code sys_sm_control_led(u8 led, u8 action) error_code sys_sm_control_led(u8 led, u8 action)
{ {
sys_sm.todo("sys_sm_control_led(led=0x%x, action=0x%x)", led, action); sys_sm.todo("sys_sm_control_led(led=0x%x, action=0x%x)", led, action);

View File

@ -8,6 +8,7 @@
error_code sys_sm_get_ext_event2(vm::ptr<u64> a1, vm::ptr<u64> a2, vm::ptr<u64> a3, u64 a4); error_code sys_sm_get_ext_event2(vm::ptr<u64> a1, vm::ptr<u64> a2, vm::ptr<u64> a3, u64 a4);
error_code sys_sm_shutdown(ppu_thread& ppu, u16 op, vm::ptr<void> param, u64 size); error_code sys_sm_shutdown(ppu_thread& ppu, u16 op, vm::ptr<void> param, u64 size);
error_code sys_sm_get_params(vm::ptr<u8> a, vm::ptr<u8> b, vm::ptr<u32> c, vm::ptr<u64> d); error_code sys_sm_get_params(vm::ptr<u8> a, vm::ptr<u8> b, vm::ptr<u32> c, vm::ptr<u64> d);
error_code sys_sm_set_shop_mode(s32 mode);
error_code sys_sm_control_led(u8 led, u8 action); error_code sys_sm_control_led(u8 led, u8 action);
error_code sys_sm_ring_buzzer(u64 packet, u64 a1, u64 a2); error_code sys_sm_ring_buzzer(u64 packet, u64 a1, u64 a2);
constexpr auto sys_sm_ring_buzzer2 = sys_sm_ring_buzzer; constexpr auto sys_sm_ring_buzzer2 = sys_sm_ring_buzzer;

View File

@ -124,19 +124,16 @@ error_code sys_ss_access_control_engine(u64 pkg_id, u64 a2, u64 a3)
return CELL_OK; return CELL_OK;
} }
s32 sys_ss_get_console_id(vm::ptr<u8> buf) error_code sys_ss_get_console_id(vm::ptr<u8> buf)
{ {
sys_ss.todo("sys_ss_get_console_id(buf=*0x%x)", buf); sys_ss.notice("sys_ss_get_console_id(buf=*0x%x)", buf);
// TODO: Return some actual IDPS? return sys_ss_appliance_info_manager(0x19003, buf);
*buf = 0;
return CELL_OK;
} }
s32 sys_ss_get_open_psid(vm::ptr<CellSsOpenPSID> psid) error_code sys_ss_get_open_psid(vm::ptr<CellSsOpenPSID> psid)
{ {
sys_ss.warning("sys_ss_get_open_psid(psid=*0x%x)", psid); sys_ss.notice("sys_ss_get_open_psid(psid=*0x%x)", psid);
psid->high = g_cfg.sys.console_psid_high; psid->high = g_cfg.sys.console_psid_high;
psid->low = g_cfg.sys.console_psid_low; psid->low = g_cfg.sys.console_psid_low;
@ -146,7 +143,7 @@ s32 sys_ss_get_open_psid(vm::ptr<CellSsOpenPSID> psid)
error_code sys_ss_appliance_info_manager(u32 code, vm::ptr<u8> buffer) error_code sys_ss_appliance_info_manager(u32 code, vm::ptr<u8> buffer)
{ {
sys_ss.warning("sys_ss_appliance_info_manager(code=0x%x, buffer=*0x%x)", code, buffer); sys_ss.notice("sys_ss_appliance_info_manager(code=0x%x, buffer=*0x%x)", code, buffer);
if (!buffer) if (!buffer)
{ {

View File

@ -20,8 +20,8 @@ struct CellSsOpenPSID
error_code sys_ss_random_number_generator(u64 pkg_id, vm::ptr<void> buf, u64 size); error_code sys_ss_random_number_generator(u64 pkg_id, vm::ptr<void> buf, u64 size);
error_code sys_ss_access_control_engine(u64 pkg_id, u64 a2, u64 a3); error_code sys_ss_access_control_engine(u64 pkg_id, u64 a2, u64 a3);
s32 sys_ss_get_console_id(vm::ptr<u8> buf); error_code sys_ss_get_console_id(vm::ptr<u8> buf);
s32 sys_ss_get_open_psid(vm::ptr<CellSsOpenPSID> psid); error_code sys_ss_get_open_psid(vm::ptr<CellSsOpenPSID> psid);
error_code sys_ss_appliance_info_manager(u32 code, vm::ptr<u8> buffer); error_code sys_ss_appliance_info_manager(u32 code, vm::ptr<u8> buffer);
error_code sys_ss_get_cache_of_product_mode(vm::ptr<u8> ptr); error_code sys_ss_get_cache_of_product_mode(vm::ptr<u8> ptr);
error_code sys_ss_secure_rtc(u64 cmd, u64 a2, u64 a3, u64 a4); error_code sys_ss_secure_rtc(u64 cmd, u64 a2, u64 a3, u64 a4);