diff --git a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp index 65d86ffd58..6b5addd742 100644 --- a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp +++ b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp @@ -290,8 +290,8 @@ void GLFragmentDecompilerThread::Task() //case 0x12: break; // KIL //case 0x13: break; // PK4 //case 0x14: break; // UP4 - case 0x15: AddCode("ddx(" + GetSRC(src0) + ")"); break; // DDX - case 0x16: AddCode("ddy(" + GetSRC(src0) + ")"); break; // DDY + case 0x15: AddCode("dFdx(" + GetSRC(src0) + ")"); break; // DDX + case 0x16: AddCode("dFdy(" + GetSRC(src0) + ")"); break; // DDY case 0x17: AddCode("texture(" + AddTex() + ", " + GetSRC(src0) + ".xy)"); break; //TEX //case 0x18: break; // TXP //case 0x19: break; // TXD diff --git a/rpcs3/Emu/SysCalls/SysCalls.cpp b/rpcs3/Emu/SysCalls/SysCalls.cpp index 595e1597b9..958b69a7f3 100644 --- a/rpcs3/Emu/SysCalls/SysCalls.cpp +++ b/rpcs3/Emu/SysCalls/SysCalls.cpp @@ -4,10 +4,10 @@ #include "SC_FUNC.h" namespace detail{ -template<> bool CheckId(u32 id, ID*& _id,const std::string &name) -{ - return Emu.GetIdManager().CheckID(id) && (_id = &Emu.GetIdManager().GetID(id))->m_name == name; -} + template<> bool CheckId(u32 id, ID*& _id,const std::string &name) + { + return Emu.GetIdManager().CheckID(id) && (_id = &Emu.GetIdManager().GetID(id))->m_name == name; + } } void default_syscall(); @@ -15,105 +15,211 @@ static func_caller *null_func = bind_func(default_syscall); static func_caller* sc_table[1024] = { - null_func, bind_func(sys_process_getpid), null_func, bind_func(sys_process_exit), null_func, //4 - null_func, null_func, null_func, null_func, null_func, //9 - null_func, null_func, bind_func(sys_process_get_number_of_object), bind_func(sys_process_get_id), null_func, //14 - null_func, null_func, null_func, bind_func(sys_process_getppid), null_func, //19 - null_func, null_func, bind_func(sys_process_exit), null_func, null_func, //24 - null_func, null_func, null_func, null_func, null_func, //29 - bind_func(sys_process_get_paramsfo), null_func, null_func, null_func, null_func, //34 - null_func, null_func, null_func, null_func, null_func, //39 - null_func, //40 (0x028) - bind_func(sys_ppu_thread_exit), //41 (0x029) - null_func, //42 (0x02A) - bind_func(sys_ppu_thread_yield), //43 (0x02B) - bind_func(sys_ppu_thread_join), //44 (0x02C) - bind_func(sys_ppu_thread_detach), //45 (0x02D) - bind_func(sys_ppu_thread_get_join_state), //46 (0x02E) - bind_func(sys_ppu_thread_set_priority), //47 (0x02F) - bind_func(sys_ppu_thread_get_priority), //48 (0x030) - bind_func(sys_ppu_thread_get_stack_information), //49 (0x031) - bind_func(sys_ppu_thread_stop), //50 (0x032) - bind_func(sys_ppu_thread_restart), //51 (0x033) - bind_func(sys_ppu_thread_create), //52 (0x034) - null_func, //53 (0x035) - null_func, //54 (0x036) - null_func, null_func, null_func, null_func, null_func, //59 - bind_func(sys_trace_create), //60 (0x03C) - bind_func(sys_trace_start), //61 (0x03D) - bind_func(sys_trace_stop), //62 (0x03E) - bind_func(sys_trace_update_top_index), //63 (0x03F) - bind_func(sys_trace_destroy), //64 (0x040) - bind_func(sys_trace_drain), //65 (0x041) - bind_func(sys_trace_attach_process), //66 (0x042) - bind_func(sys_trace_allocate_buffer), //67 (0x043) - bind_func(sys_trace_free_buffer), //68 (0x044) - bind_func(sys_trace_create2), //69 (0x045) - bind_func(sys_timer_create), //70 (0x046) - bind_func(sys_timer_destroy), //71 (0x047) - bind_func(sys_timer_get_information), //72 (0x048) - bind_func(sys_timer_start), //73 (0x049) - bind_func(sys_timer_stop), //74 (0x04A) - bind_func(sys_timer_connect_event_queue), //75 (0x04B) - bind_func(sys_timer_disconnect_event_queue), //76 (0x04C) - null_func, //77 (0x04D) - null_func, //78 (0x04E) - null_func, //79 (0x04F) - null_func, null_func, bind_func(sys_event_flag_create), bind_func(sys_event_flag_destroy), null_func, //84 - bind_func(sys_event_flag_wait), bind_func(sys_event_flag_trywait), bind_func(sys_event_flag_set), null_func, null_func, //89 - bind_func(sys_semaphore_create), //90 (0x05A) - bind_func(sys_semaphore_destroy), //91 (0x05B) - bind_func(sys_semaphore_wait), //92 (0x05C) - bind_func(sys_semaphore_trywait), //93 (0x05D) - bind_func(sys_semaphore_post), //94 (0x05E) - bind_func(sys_lwmutex_create), //95 (0x05F) - bind_func(sys_lwmutex_destroy), //96 (0x060) - bind_func(sys_lwmutex_lock), //97 (0x061) - bind_func(sys_lwmutex_trylock), //98 (0x062) - bind_func(sys_lwmutex_unlock), //99 (0x063) - bind_func(sys_mutex_create), //100 (0x064) - bind_func(sys_mutex_destroy), //101 (0x065) - bind_func(sys_mutex_lock), //102 (0x066) - bind_func(sys_mutex_trylock), //103 (0x067) - bind_func(sys_mutex_unlock), //104 (0x068) - bind_func(sys_cond_create), //105 (0x069) - bind_func(sys_cond_destroy), //106 (0x06A) - bind_func(sys_cond_wait), //107 (0x06B) - bind_func(sys_cond_signal), //108 (0x06C) - bind_func(sys_cond_signal_all), //109 (0x06D) - bind_func(sys_cond_signal_to), null_func, null_func, null_func, //113 (0x071) + null_func, + bind_func(sys_process_getpid), //1 (0x001) + null_func,//bind_func(sys_process_wait_for_child), //2 (0x002) ROOT + bind_func(sys_process_exit), //3 (0x003) + null_func,//bind_func(sys_process_get_status), //4 (0x004) DBG + null_func,//bind_func(sys_process_detach_child), //5 (0x005) DBG + + // Unused: 6-11 + null_func, null_func, null_func, null_func, null_func, null_func, + + bind_func(sys_process_get_number_of_object), //12 (0x00B) + bind_func(sys_process_get_id), //13 (0x00C) + null_func,//bind_func(sys_process_is_spu_lock_line_reservation_address), //14 (0x00D) + + // Unused: 15-17 + null_func, null_func, null_func, + + bind_func(sys_process_getppid), //18 (0x012) + null_func,//bind_func(sys_process_kill), //19 (0x013) + null_func, // + null_func,//bind_func(_sys_process_spawn), //21 (0x015) DBG + bind_func(sys_process_exit), //22 (0x016) + null_func,//bind_func(sys_process_wait_for_child2), //23 (0x017) DBG + null_func,//bind_func(), //24 (0x018) DBG + null_func,//bind_func(sys_process_get_sdk_version), //25 (0x019) + null_func,//bind_func(_sys_process_exit), //26 (0x01A) + null_func,//bind_func(), //27 (0x01B) DBG + null_func,//bind_func(_sys_process_get_number_of_object)//28 (0x01C) ROOT + null_func,//bind_func(sys_process_get_id), //29 (0x01D) ROOT + bind_func(sys_process_get_paramsfo), //30 (0x01E) + null_func,//bind_func(sys_process_get_ppu_guid), //31 (0x01F) + + // Unused: 32-40 + null_func, null_func, null_func, null_func, null_func, null_func, null_func, null_func, null_func, + + bind_func(sys_ppu_thread_exit), //41 (0x029) + null_func, // + bind_func(sys_ppu_thread_yield), //43 (0x02B) + bind_func(sys_ppu_thread_join), //44 (0x02C) + bind_func(sys_ppu_thread_detach), //45 (0x02D) + bind_func(sys_ppu_thread_get_join_state), //46 (0x02E) + bind_func(sys_ppu_thread_set_priority), //47 (0x02F) DBG + bind_func(sys_ppu_thread_get_priority), //48 (0x030) + bind_func(sys_ppu_thread_get_stack_information), //49 (0x031) + bind_func(sys_ppu_thread_stop), //50 (0x032) ROOT + bind_func(sys_ppu_thread_restart), //51 (0x033) ROOT + bind_func(sys_ppu_thread_create), //52 (0x034) DBG + null_func,//bind_func(sys_ppu_thread_start), //53 (0x035) + null_func,//bind_func(), //54 (0x036) ROOT + null_func,//bind_func(), //55 (0x037) ROOT + null_func,//bind_func(sys_ppu_thread_rename), //56 (0x038) + null_func,//bind_func(sys_ppu_thread_recover_page_fault)//57 (0x039) + null_func,//bind_func(sys_ppu_thread_get_page_fault_context),//58 (0x03A) + + // Unused: 59 + null_func, + + bind_func(sys_trace_create), //60 (0x03C) + bind_func(sys_trace_start), //61 (0x03D) + bind_func(sys_trace_stop), //62 (0x03E) + bind_func(sys_trace_update_top_index), //63 (0x03F) + bind_func(sys_trace_destroy), //64 (0x040) + bind_func(sys_trace_drain), //65 (0x041) + bind_func(sys_trace_attach_process), //66 (0x042) + bind_func(sys_trace_allocate_buffer), //67 (0x043) + bind_func(sys_trace_free_buffer), //68 (0x044) + bind_func(sys_trace_create2), //69 (0x045) + bind_func(sys_timer_create), //70 (0x046) + bind_func(sys_timer_destroy), //71 (0x047) + bind_func(sys_timer_get_information), //72 (0x048) + bind_func(sys_timer_start), //73 (0x049) + bind_func(sys_timer_stop), //74 (0x04A) + bind_func(sys_timer_connect_event_queue), //75 (0x04B) + bind_func(sys_timer_disconnect_event_queue), //76 (0x04C) + null_func,//bind_func(sys_trace_create2_in_cbepm), //77 (0x04D) + null_func,//bind_func() //78 (0x04E) + + // Unused: 79 + null_func, + + null_func,//bind_func(sys_interrupt_tag_create) //80 (0x050) + null_func,//bind_func(sys_interrupt_tag_destroy) //81 (0x051) + bind_func(sys_event_flag_create), //82 (0x052) + bind_func(sys_event_flag_destroy), //83 (0x053) + null_func,//bind_func(sys_interrupt_thread_establish) //84 (0x054) + bind_func(sys_event_flag_wait), //85 (0x055) + bind_func(sys_event_flag_trywait), //86 (0x056) + bind_func(sys_event_flag_set), //87 (0x057) + null_func,//bind_func(sys_interrupt_thread_eoi) //88 (0x058) + null_func,//bind_func(sys_interrupt_thread_disestablish)//89 (0x059) + bind_func(sys_semaphore_create), //90 (0x05A) + bind_func(sys_semaphore_destroy), //91 (0x05B) + bind_func(sys_semaphore_wait), //92 (0x05C) + bind_func(sys_semaphore_trywait), //93 (0x05D) + bind_func(sys_semaphore_post), //94 (0x05E) + bind_func(sys_lwmutex_create), //95 (0x05F) + bind_func(sys_lwmutex_destroy), //96 (0x060) + bind_func(sys_lwmutex_lock), //97 (0x061) + bind_func(sys_lwmutex_trylock), //98 (0x062) + bind_func(sys_lwmutex_unlock), //99 (0x063) + bind_func(sys_mutex_create), //100 (0x064) + bind_func(sys_mutex_destroy), //101 (0x065) + bind_func(sys_mutex_lock), //102 (0x066) + bind_func(sys_mutex_trylock), //103 (0x067) + bind_func(sys_mutex_unlock), //104 (0x068) + bind_func(sys_cond_create), //105 (0x069) + bind_func(sys_cond_destroy), //106 (0x06A) + bind_func(sys_cond_wait), //107 (0x06B) + bind_func(sys_cond_signal), //108 (0x06C) + bind_func(sys_cond_signal_all), //109 (0x06D) + bind_func(sys_cond_signal_to), //110 (0x06E) + null_func,//bind_func(sys_lwcond_create) //111 (0x06F) + null_func,//bind_func(sys_lwcond_destroy) //112 (0x070) + null_func,//bind_func(sys_lwcond_queue_wait) //113 (0x071) bind_func(sys_semaphore_get_value), //114 (0x072) - null_func, null_func, null_func, bind_func(sys_event_flag_clear), null_func, //119 (0x077) - bind_func(sys_rwlock_create), //120 (0x078) - bind_func(sys_rwlock_destroy), //121 (0x079) - bind_func(sys_rwlock_rlock), //122 (0x07A) - bind_func(sys_rwlock_tryrlock), //123 (0x07B) - bind_func(sys_rwlock_runlock), //124 (0x07C) - bind_func(sys_rwlock_wlock), //125 (0x07D) - bind_func(sys_rwlock_trywlock), //126 (0x07E) - bind_func(sys_rwlock_wunlock), //127 (0x07F) - bind_func(sys_event_queue_create), //128 (0x080) - bind_func(sys_event_queue_destroy), //129 (0x081) - bind_func(sys_event_queue_receive), bind_func(sys_event_queue_tryreceive), // 131 - bind_func(sys_event_flag_cancel), bind_func(sys_event_queue_drain), bind_func(sys_event_port_create), //134 - bind_func(sys_event_port_destroy), bind_func(sys_event_port_connect_local), //136 - bind_func(sys_event_port_disconnect), bind_func(sys_event_port_send), bind_func(sys_event_flag_get), //139 - null_func, bind_func(sys_timer_usleep), bind_func(sys_timer_sleep), null_func, bind_func(sys_time_get_timezone), //144 - bind_func(sys_time_get_current_time), bind_func(sys_time_get_system_time), bind_func(sys_time_get_timebase_frequency), null_func, null_func, //149 - null_func, null_func, null_func, null_func, null_func, //154 - null_func, bind_func(sys_spu_image_open), null_func, null_func, null_func, //159 - bind_func(sys_raw_spu_create), null_func, null_func, null_func, null_func, //164 - bind_func(sys_spu_thread_get_exit_status), bind_func(sys_spu_thread_set_argument), null_func, null_func, bind_func(sys_spu_initialize), //169 - bind_func(sys_spu_thread_group_create), bind_func(sys_spu_thread_group_destroy), bind_func(sys_spu_thread_initialize), //172 - bind_func(sys_spu_thread_group_start), bind_func(sys_spu_thread_group_suspend), //174 - bind_func(sys_spu_thread_group_resume), null_func, null_func, bind_func(sys_spu_thread_group_join), null_func, //179 - null_func, bind_func(sys_spu_thread_write_ls), bind_func(sys_spu_thread_read_ls), null_func, bind_func(sys_spu_thread_write_snr), //184 - bind_func(sys_spu_thread_group_connect_event), bind_func(sys_spu_thread_group_disconnect_event), //186 - bind_func(sys_spu_thread_set_spu_cfg), bind_func(sys_spu_thread_get_spu_cfg), null_func, //189 - bind_func(sys_spu_thread_write_spu_mb), bind_func(sys_spu_thread_connect_event), bind_func(sys_spu_thread_disconnect_event), //192 - bind_func(sys_spu_thread_bind_queue), bind_func(sys_spu_thread_unbind_queue), //194 - null_func, null_func, null_func, null_func, null_func, //199 - null_func, null_func, null_func, null_func, null_func, //204 + null_func,//bind_func() //115 (0x073) + null_func,//bind_func() //116 (0x074) + null_func,//bind_func() //117 (0x075) + bind_func(sys_event_flag_clear), //118 (0x076) + null_func,//bind_func() //119 (0x077) ROOT + bind_func(sys_rwlock_create), //120 (0x078) + bind_func(sys_rwlock_destroy), //121 (0x079) + bind_func(sys_rwlock_rlock), //122 (0x07A) + bind_func(sys_rwlock_tryrlock), //123 (0x07B) + bind_func(sys_rwlock_runlock), //124 (0x07C) + bind_func(sys_rwlock_wlock), //125 (0x07D) + bind_func(sys_rwlock_trywlock), //126 (0x07E) + bind_func(sys_rwlock_wunlock), //127 (0x07F) + bind_func(sys_event_queue_create), //128 (0x080) + bind_func(sys_event_queue_destroy), //129 (0x081) + bind_func(sys_event_queue_receive), //130 (0x082) + bind_func(sys_event_queue_tryreceive), //131 (0x083) + bind_func(sys_event_flag_cancel), //132 (0x084) + bind_func(sys_event_queue_drain), //133 (0x085) + bind_func(sys_event_port_create), //134 (0x086) + bind_func(sys_event_port_destroy), //135 (0x087) + bind_func(sys_event_port_connect_local), //136 (0x088) + bind_func(sys_event_port_disconnect), //137 (0x089) + bind_func(sys_event_port_send), //138 (0x08A) + bind_func(sys_event_flag_get), //139 (0x08B) + null_func,//bind_func(sys_event_port_connect_ipc) //140 (0x08C) + bind_func(sys_timer_usleep), //141 (0x08D) + bind_func(sys_timer_sleep), //142 (0x08E) + null_func,//bind_func(sys_time_set_timezone) //143 (0x08F) ROOT + bind_func(sys_time_get_timezone), //144 (0x090) + bind_func(sys_time_get_current_time), //145 (0x091) + bind_func(sys_time_get_system_time), //146 (0x092) ROOT + bind_func(sys_time_get_timebase_frequency), //147 (0x093) + null_func,//bind_func(sys_rwlock_trywlock) //148 (0x094) + + // Unused: 149 + null_func, + + null_func,//bind_func(sys_raw_spu_create_interrupt_tag) //150 (0x096) + null_func,//bind_func(sys_raw_spu_set_int_mask) //151 (0x097) + null_func,//bind_func(sys_raw_spu_get_int_mask) //152 (0x098) + null_func,//bind_func(sys_raw_spu_set_int_stat) //153 (0x099) + null_func,//bind_func(sys_raw_spu_get_int_stat) //154 (0x09A) + null_func,//bind_func(sys_spu_image_get_information?) //155 (0x09B) + bind_func(sys_spu_image_open), //156 (0x09C) + null_func,//bind_func(sys_spu_image_import) //157 (0x09D) + null_func,//bind_func(sys_spu_image_close) //158 (0x09E) + null_func,//bind_func(sys_raw_spu_load) //159 (0x09F) + bind_func(sys_raw_spu_create), //160 (0x0A0) + null_func,//bind_func(sys_raw_spu_destroy) //161 (0x0A1) + null_func, // + null_func,//bind_func(sys_raw_spu_read_puint_mb) //163 (0x0A3) + null_func, // + bind_func(sys_spu_thread_get_exit_status), //165 (0x0A5) + bind_func(sys_spu_thread_set_argument), //166 (0x0A6) + null_func,//bind_func(sys_spu_thread_group_start_on_exit)//167(0x0A7) + null_func, // + bind_func(sys_spu_initialize), //169 (0x0A9) + bind_func(sys_spu_thread_group_create), //170 (0x0AA) + bind_func(sys_spu_thread_group_destroy), //171 (0x0AB) + bind_func(sys_spu_thread_initialize), //172 (0x0AC) + bind_func(sys_spu_thread_group_start), //173 (0x0AD) + bind_func(sys_spu_thread_group_suspend), //174 (0x0AE) + bind_func(sys_spu_thread_group_resume), //175 (0x0AF) + null_func,//bind_func(sys_spu_thread_group_yield) //176 (0x0B0) + null_func,//bind_func(sys_spu_thread_group_terminate) //177 (0x0B1) + bind_func(sys_spu_thread_group_join), //178 (0x0B2) + null_func,//bind_func(sys_spu_thread_group_set_priority)//179 (0x0B3) + null_func,//bind_func(sys_spu_thread_group_get_priority)//180 (0x0B4) + bind_func(sys_spu_thread_write_ls), //181 (0x0B5) + bind_func(sys_spu_thread_read_ls), //182 (0x0B6) + null_func, // + bind_func(sys_spu_thread_write_snr), //184 (0x0B8) + bind_func(sys_spu_thread_group_connect_event), //185 (0x0B9) + bind_func(sys_spu_thread_group_disconnect_event), //186 (0x0BA) + bind_func(sys_spu_thread_set_spu_cfg), //187 (0x0BB) + bind_func(sys_spu_thread_get_spu_cfg), //188 (0x0BC) + null_func, // + bind_func(sys_spu_thread_write_spu_mb), //190 (0x0BE) + bind_func(sys_spu_thread_connect_event), //191 (0x0BF) + bind_func(sys_spu_thread_disconnect_event), //192 (0x0C0) + bind_func(sys_spu_thread_bind_queue), //193 (0x0C1) + bind_func(sys_spu_thread_unbind_queue), //194 (0x0C2) + null_func, // + null_func,//bind_func(sys_raw_spu_set_spu_cfg) //196 (0x0C4) + null_func,//bind_func(sys_raw_spu_get_spu_cfg) //197 (0x0C5) + null_func,//bind_func(sys_spu_thread_recover_page_fault)//198 (0x0C6) + null_func,//bind_func(sys_raw_spu_recover_page_fault) //199 (0x0C7) + + null_func, null_func, null_func, null_func, null_func, //204(0x104) null_func, null_func, null_func, null_func, null_func, //209 null_func, null_func, null_func, null_func, null_func, //214 null_func, null_func, null_func, null_func, null_func, //219 @@ -123,9 +229,19 @@ static func_caller* sc_table[1024] = null_func, null_func, null_func, null_func, null_func, //239 null_func, null_func, null_func, null_func, null_func, //244 null_func, null_func, null_func, null_func, null_func, //249 - null_func, bind_func(sys_spu_thread_group_connect_event_all_threads), bind_func(sys_spu_thread_group_disconnect_event_all_threads), null_func, null_func, //254 - null_func, null_func, null_func, null_func, null_func, //259 - null_func, null_func, null_func, null_func, null_func, //264 + null_func, //250 + + bind_func(sys_spu_thread_group_connect_event_all_threads),//251 (0x0FB) + bind_func(sys_spu_thread_group_disconnect_event_all_threads),//252 (0x0FC) + null_func,//bind_func() //253 (0x0FD) + null_func,//bind_func(sys_spu_thread_group_log) //254 (0x0FE) + + // Unused: 255-259 + null_func, null_func, null_func, null_func, null_func, + + null_func,//bind_func(sys_spu_image_open_by_fd) //260 (0x104) + + null_func, null_func, null_func, null_func, //264 null_func, null_func, null_func, null_func, null_func, //269 null_func, null_func, null_func, null_func, null_func, //274 null_func, null_func, null_func, null_func, null_func, //279 @@ -133,6 +249,7 @@ static func_caller* sc_table[1024] = null_func, null_func, null_func, null_func, null_func, //289 null_func, null_func, null_func, null_func, null_func, //294 null_func, null_func, null_func, null_func, null_func, //299 + bind_func(sys_vm_memory_map), //300 (0x12C) bind_func(sys_vm_unmap), //301 (0x12D) bind_func(sys_vm_append_memory), //302 (0x12E) @@ -146,32 +263,56 @@ static func_caller* sc_table[1024] = bind_func(sys_vm_sync), //310 (0x136) bind_func(sys_vm_test), //311 (0x137) bind_func(sys_vm_get_statistics), //312 (0x138) - null_func, null_func, //314 - null_func, null_func, null_func, null_func, null_func, //319 - null_func, null_func, null_func, null_func, //323 - bind_func(sys_memory_container_create), //324 - bind_func(sys_memory_container_destroy), //325 - bind_func(sys_mmapper_allocate_fixed_address), //326 - bind_func(sys_mmapper_enable_page_fault_notification), //327 - null_func, null_func, //329 - bind_func(sys_mmapper_allocate_address), //330 - bind_func(sys_mmapper_free_address), //331 - null_func, null_func, null_func, null_func, //335 - bind_func(sys_mmapper_change_address_access_right), //336 - bind_func(sys_mmapper_search_and_map), //337 - null_func, null_func, null_func, //340 - bind_func(sys_memory_container_create), //341 - bind_func(sys_memory_container_destroy), //342 - bind_func(sys_memory_container_get_size), //343 - null_func, null_func, null_func, null_func, //347 - bind_func(sys_memory_allocate), //348 - bind_func(sys_memory_free), //349 - bind_func(sys_memory_allocate_from_container), //350 - bind_func(sys_memory_get_page_attribute), //351 - bind_func(sys_memory_get_user_memory_size), //352 - null_func, null_func, //354 - null_func, null_func, null_func, null_func, null_func, //359 - null_func, null_func, null_func, null_func, null_func, //364 + null_func,//bind_func() //313 (0x139) + null_func,//bind_func() //314 (0x13A) + null_func,//bind_func() //315 (0x13B) + + // Unused: 316-323 + null_func, null_func, null_func, null_func, null_func, null_func, null_func, null_func, + + bind_func(sys_memory_container_create), //324 (0x144) + bind_func(sys_memory_container_destroy), //325 (0x145) + bind_func(sys_mmapper_allocate_fixed_address), //326 (0x146) + bind_func(sys_mmapper_enable_page_fault_notification), //327 (0x147) + null_func,//bind_func() //328 (0x148) + null_func,//bind_func(sys_mmapper_free_shared_memory) //329 (0x149) + bind_func(sys_mmapper_allocate_address), //330 (0x14A) + bind_func(sys_mmapper_free_address), //331 (0x14B) + null_func,//bind_func(sys_mmapper_allocate_shared_memory)//332(0x14C) + null_func,//bind_func(sys_mmapper_set_shared_memory_flag)//333(0x14D) + null_func,//bind_func(sys_mmapper_map_shared_memory) //334 (0x14E) + null_func,//bind_func(sys_mmapper_unmap_shared_memory) //335 (0x14F) + bind_func(sys_mmapper_change_address_access_right), //336 (0x150) + bind_func(sys_mmapper_search_and_map), //337 (0x151) + null_func,//bind_func(sys_mmapper_get_shared_memory_attribute) //338 (0x152) + null_func,//bind_func() //339 (0x153) + null_func,//bind_func() //340 (0x154) + bind_func(sys_memory_container_create), //341 (0x155) + bind_func(sys_memory_container_destroy), //342 (0x156) + bind_func(sys_memory_container_get_size), //343 (0x157) + null_func,//bind_func(sys_memory_budget_set) //344 (0x158) + null_func,//bind_func() //345 (0x159) + null_func,//bind_func() //346 (0x15A) + null_func, // + bind_func(sys_memory_allocate), //348 (0x15C) + bind_func(sys_memory_free), //349 (0x15D) + bind_func(sys_memory_allocate_from_container), //350 (0x15E) + bind_func(sys_memory_get_page_attribute), //351 (0x15F) + bind_func(sys_memory_get_user_memory_size), //352 (0x160) + null_func,//bind_func(sys_memory_get_user_memory_stat) //353 (0x161) + null_func,//bind_func() //354 (0x162) + null_func,//bind_func() //355 (0x163) + null_func,//bind_func(sys_memory_allocate_colored) //356 (0x164) + null_func,//bind_func() //357 (0x165) + null_func,//bind_func() //358 (0x166) + null_func,//bind_func() //359 (0x167) + null_func,//bind_func() //360 (0x168) + null_func,//bind_func(sys_memory_allocate_from_container_colored) //361 (0x169) + null_func,//bind_func(sys_mmapper_allocate_memory_from_container) //362 (0x16A) + null_func,//bind_func() //363 (0x16B) + null_func,//bind_func() //364 (0x16C) + + null_func, null_func, null_func, null_func, null_func, //369 null_func, null_func, null_func, null_func, null_func, //374 null_func, null_func, null_func, null_func, null_func, //379 @@ -232,21 +373,23 @@ static func_caller* sc_table[1024] = null_func, null_func, null_func, null_func, null_func, //654 null_func, null_func, null_func, null_func, null_func, //659 null_func, null_func, null_func, null_func, null_func, //664 - null_func, //665 (0x299) - bind_func(sys_rsx_device_open), //666 (0x29A) - bind_func(sys_rsx_device_close), //667 (0x29B) - bind_func(sys_rsx_memory_allocate), //668 (0x29C) - bind_func(sys_rsx_memory_free), //669 (0x29D) - bind_func(sys_rsx_context_allocate), //670 (0x29E) - bind_func(sys_rsx_context_free), //671 (0x29F) - bind_func(sys_rsx_context_iomap), //672 (0x2A0) - bind_func(sys_rsx_context_iounmap), //673 (0x2A1) - bind_func(sys_rsx_context_attribute), //674 (0x2A2) - bind_func(sys_rsx_device_map), //675 (0x2A3) - bind_func(sys_rsx_device_unmap), //676 (0x2A4) - bind_func(sys_rsx_attribute), //677 (0x2A5) - null_func, //678 (0x2A6) - null_func, //679 (0x2A7) + null_func, //665 + + bind_func(sys_rsx_device_open), //666 (0x29A) + bind_func(sys_rsx_device_close), //667 (0x29B) + bind_func(sys_rsx_memory_allocate), //668 (0x29C) + bind_func(sys_rsx_memory_free), //669 (0x29D) + bind_func(sys_rsx_context_allocate), //670 (0x29E) + bind_func(sys_rsx_context_free), //671 (0x29F) + bind_func(sys_rsx_context_iomap), //672 (0x2A0) + bind_func(sys_rsx_context_iounmap), //673 (0x2A1) + bind_func(sys_rsx_context_attribute), //674 (0x2A2) + bind_func(sys_rsx_device_map), //675 (0x2A3) + bind_func(sys_rsx_device_unmap), //676 (0x2A4) + bind_func(sys_rsx_attribute), //677 (0x2A5) + null_func, //678 (0x2A6) + null_func, //679 (0x2A7) ROOT + null_func, null_func, null_func, null_func, null_func, //684 null_func, null_func, null_func, null_func, null_func, //689 null_func, null_func, null_func, null_func, null_func, //694 @@ -271,28 +414,57 @@ static func_caller* sc_table[1024] = null_func, null_func, null_func, null_func, null_func, //789 null_func, null_func, null_func, null_func, null_func, //794 null_func, null_func, null_func, null_func, null_func, //799 - null_func, //800 (0x320) - bind_func(cellFsOpen), //801 (0x321) - bind_func(cellFsRead), //802 (0x322) - bind_func(cellFsWrite), //803 (0x323) - bind_func(cellFsClose), //804 (0x324) - bind_func(cellFsOpendir), //805 (0x325) - bind_func(cellFsReaddir), //806 (0x326) - bind_func(cellFsClosedir), //807 (0x327) - bind_func(cellFsStat), //808 (0x328) - bind_func(cellFsFstat), //809 (0x329) - null_func, //810 (0x32A) - bind_func(cellFsMkdir), //811 (0x32B) - bind_func(cellFsRename), //812 (0x32C) - bind_func(cellFsRmdir), //813 (0x32D) - bind_func(cellFsUnlink), //814 (0x32E) - null_func, null_func, null_func, bind_func(cellFsLseek), null_func, //819 - null_func, null_func, null_func, null_func, null_func, //824 - null_func, null_func, null_func, null_func, null_func, //829 - null_func, null_func, null_func, null_func, null_func, //834 - null_func, null_func, null_func, null_func, null_func, //839 - null_func, null_func, null_func, null_func, null_func, //844 - null_func, null_func, null_func, null_func, null_func, //849 + + null_func,//bind_func(sys_fs_test), //800 (0x320) + bind_func(cellFsOpen), //801 (0x321) + bind_func(cellFsRead), //802 (0x322) + bind_func(cellFsWrite), //803 (0x323) + bind_func(cellFsClose), //804 (0x324) + bind_func(cellFsOpendir), //805 (0x325) + bind_func(cellFsReaddir), //806 (0x326) + bind_func(cellFsClosedir), //807 (0x327) + bind_func(cellFsStat), //808 (0x328) + bind_func(cellFsFstat), //809 (0x329) + null_func,//bind_func(sys_fs_link), //810 (0x32A) + bind_func(cellFsMkdir), //811 (0x32B) + bind_func(cellFsRename), //812 (0x32C) + bind_func(cellFsRmdir), //813 (0x32D) + bind_func(cellFsUnlink), //814 (0x32E) + null_func,//bind_func(cellFsUtime), //815 (0x32F) + null_func,//bind_func(sys_fs_access), //816 (0x330) + null_func,//bind_func(sys_fs_fcntl), //817 (0x331) + bind_func(cellFsLseek), //818 (0x332) + null_func,//bind_func(sys_fs_fdatasync), //819 (0x333) + null_func,//bind_func(cellFsFsync), //820 (0x334) + bind_func(cellFsFGetBlockSize), //821 (0x335) + bind_func(cellFsGetBlockSize), //822 (0x336) + null_func,//bind_func(sys_fs_acl_read), //823 (0x337) + null_func,//bind_func(sys_fs_acl_write), //824 (0x338) + null_func,//bind_func(sys_fs_lsn_get_cda_size), //825 (0x339) + null_func,//bind_func(sys_fs_lsn_get_cda), //826 (0x33A) + null_func,//bind_func(sys_fs_lsn_lock), //827 (0x33B) + null_func,//bind_func(sys_fs_lsn_unlock), //828 (0x33C) + null_func,//bind_func(sys_fs_lsn_read), //829 (0x33D) + null_func,//bind_func(sys_fs_lsn_write), //830 (0x33E) + bind_func(cellFsTruncate), //831 (0x33F) + bind_func(cellFsFtruncate), //832 (0x340) + null_func,//bind_func(sys_fs_symbolic_link), //833 (0x341) + null_func,//bind_func(cellFsChmod), //834 (0x342) + null_func,//bind_func(sys_fs_chown), //835 (0x343) + null_func,//bind_func(sys_fs_newfs), //836 (0x344) + null_func,//bind_func(sys_fs_mount), //837 (0x345) + null_func,//bind_func(sys_fs_unmount), //838 (0x346) + null_func,//bind_func(sys_fs_sync), //839 (0x347) + null_func,//bind_func(sys_fs_disk_free), //840 (0x348) + null_func,//bind_func(sys_fs_get_mount_info_size), //841 (0x349) + null_func,//bind_func(sys_fs_get_mount_info), //842 (0x34A) + null_func,//bind_func(sys_fs_get_fs_info_size), //843 (0x34B) + null_func,//bind_func(sys_fs_get_fs_info), //844 (0x34C) + null_func,//bind_func(sys_fs_mapped_allocate), //845 (0x34D) + null_func,//bind_func(sys_fs_mapped_free), //846 (0x34E) + null_func,//bind_func(sys_fs_truncate2), //847 (0x34F) + + null_func, null_func, //849 null_func, null_func, null_func, null_func, null_func, //854 null_func, null_func, null_func, null_func, null_func, //859 null_func, null_func, null_func, null_func, null_func, //864 @@ -327,7 +499,7 @@ static func_caller* sc_table[1024] = null_func, null_func, null_func, null_func, null_func, //1009 null_func, null_func, null_func, null_func, null_func, //1014 null_func, null_func, null_func, null_func, null_func, //1019 - null_func, null_func, null_func, bind_func(cellGcmCallback), //1024 + null_func, null_func, null_func, bind_func(cellGcmCallback), //1024 }; void default_syscall()