PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
sbv_patches.h File Reference
+ This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

SBV patches.

Definition in file sbv_patches.h.

Function Documentation

◆ sbv_patch_enable_lmb()

int sbv_patch_enable_lmb ( void  )
Returns
0: success, none-zero: error

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_get_exp_lib(), and smod_get_mod_by_name().

◆ sbv_patch_disable_prefix_check()

int sbv_patch_disable_prefix_check ( void  )
Returns
0: success, none-zero: error

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_get_exp_lib().

◆ sbv_patch_user_mem_clear()

int sbv_patch_user_mem_clear ( void *  start)

@start address above which all user memory is cleared

Returns
0: success, -1: error

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.

◆ sbv_patch_fileio()

int sbv_patch_fileio ( void  )
Returns
0: success, none-zero: error

The rom0:FILEIO RPC service has several glitches, which either result in stability issues or faulty behaviour:

  1. Interrupts are not disabled when sceSifSetDma is invoked for getstat() and dread(), which could allow simultaneous access into sceSifSetDma (a critical region).
  2. The RPC dispatcher code for remove() has a missing break, resulting in mkdir() being called after remove() returns.

Definition at line 15 of file patch_fileio.c.

References sbv_patch_fileio(), and smod_get_mod_by_name().

Referenced by sbv_patch_fileio().