PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
patch_enable_lmb.c File Reference
#include <tamtypes.h>
#include <kernel.h>
#include <iopheap.h>
#include <sifrpc.h>
#include <string.h>
#include "smem.h"
#include "smod.h"
#include "slib.h"
#include "common.h"
+ Include dependency graph for patch_enable_lmb.c:

Go to the source code of this file.

Macros

#define JAL(addr)   (0x0c000000 | (0x3ffffff & ((addr) >> 2)))
 
#define HI16(addr)   (0x3c110000 | (((addr) >> 16) & 0xffff)) /* lui $s1, HI(addr) */
 
#define LO16(addr)   (0x36310000 | ((addr) & 0xffff)) /* ori $s1, LO(addr) */
 

Functions

int sbv_patch_enable_lmb (void)
 

Variables

struct smem_buf smem_buf
 
slib_exp_lib_list_t _slib_cur_exp_lib_list
 

Detailed Description

SBV patch to enable LoadModuleBuffer() via RPC.

Definition in file patch_enable_lmb.c.

Macro Definition Documentation

◆ JAL

#define JAL (   addr)    (0x0c000000 | (0x3ffffff & ((addr) >> 2)))

Definition at line 34 of file patch_enable_lmb.c.

◆ HI16

#define HI16 (   addr)    (0x3c110000 | (((addr) >> 16) & 0xffff)) /* lui $s1, HI(addr) */

Definition at line 35 of file patch_enable_lmb.c.

◆ LO16

#define LO16 (   addr)    (0x36310000 | ((addr) & 0xffff)) /* ori $s1, LO(addr) */

Definition at line 36 of file patch_enable_lmb.c.

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

Variable Documentation

◆ _slib_cur_exp_lib_list

slib_exp_lib_list_t _slib_cur_exp_lib_list
extern

Definition at line 26 of file slib.c.