ps2sdk
1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
|
Go to the source code of this file.
Functions | |
int | sbv_patch_enable_lmb (void) |
int | sbv_patch_disable_prefix_check (void) |
int | sbv_patch_user_mem_clear (void *start) |
int | sbv_patch_fileio (void) |
SBV patches.
Definition in file sbv_patches.h.
int sbv_patch_disable_prefix_check | ( | void | ) |
The MODLOAD module has a black/white (depends on version) list that determines what devices can have unprotected EE/IOP executables loaded from. Typically, only protected executables can be loaded from user-writable media like the memory card or HDD unit. This patch will disable the black/white list, allowing executables to be freely loaded from any device.
Definition at line 24 of file patch_disable_prefix_check.c.
References _slib_cur_exp_lib_list, ALIGNED, SifDmaTransfer_t::attr, SifDmaTransfer_t::dest, slib_exp_lib_t::exports, SifSetDma(), SifDmaTransfer_t::size, slib_get_exp_lib(), and SifDmaTransfer_t::src.
int sbv_patch_enable_lmb | ( | void | ) |
The rom0:LOADFILE RPC service is missing support for LoadModuleBuffer, making it impossible (by default) to IOP load modules from EE RAM. Newer LOADFILE modules do not have this limitation. Unlike the official patch, this version is not dependent on 0x01e00000-0x01e80000.
Definition at line 38 of file patch_enable_lmb.c.
References _slib_cur_exp_lib_list, ALIGNED, SifDmaTransfer_t::attr, smem_buf::bytes, data, SifDmaTransfer_t::dest, slib_exp_lib_t::exports, HI16, JAL, LO16, NULL, result, SifAllocIopHeap(), SifInitIopHeap(), SifRpcGetOtherData(), SifSetDma(), SifDmaTransfer_t::size, slib_get_exp_lib(), smem_write_word(), smod_get_mod_by_name(), SifDmaTransfer_t::src, SyncDCache(), smod_mod_info_t::text_size, smod_mod_info_t::text_start, and smem_buf::words.
Referenced by main().
int sbv_patch_fileio | ( | void | ) |
The rom0:FILEIO RPC service has several glitches, which either result in stability issues or faulty behaviour:
Definition at line 15 of file patch_fileio.c.
References ALIGNED, SifDmaTransfer_t::attr, SifDmaTransfer_t::dest, JAL, JMP, NULL, SifAllocIopHeap(), SifInitIopHeap(), SifSetDma(), SifDmaTransfer_t::size, smem_write_word(), smod_get_mod_by_name(), SifDmaTransfer_t::src, smod_mod_info_t::text_start, UNCACHED_SEG, and smod_mod_info_t::version.
int sbv_patch_user_mem_clear | ( | void * | start | ) |
@start address above which all user memory is cleared
LoadExecPS2() wipes all user-space memory above 0x82000. With this patch, you can define a different start address to prevent your data from being overwritten. In order to completely disable the memory clear, simply pass 0x02000000 to it.
Definition at line 9 of file patch_user_mem_clear.c.
References DI, ee_kmode_enter(), ee_kmode_exit(), and EI.