Files
PS2Recomp/ps2xRuntime/Readme.md
T
2025-04-12 03:49:35 -03:00

40 lines
1.3 KiB
Markdown

# Runtime Library
The runtime library provides the execution environment for recompiled code, including:
* Memory management (32MB main RAM, scratchpad, etc.)
* Register context (128-bit GPRs, VU0 registers, etc.)
* Function table for dynamic linking
* Basic PS2 system call stubs
## Adding Custom Function Implementations
You can add custom implementations for PS2 system calls or game functions by:
1. Creating function implementations that match the signature:
```cpp
void function_name(uint8_t* rdram, R5900Context* ctx);
```
2. Registering them with the runtime:
```cpp
runtime.registerFunction(address, function_name);
```
## Advanced Features
Memory Translation
The runtime handles PS2's memory addressing, including:
* KSEG0/KSEG1 direct mapping
* TLB lookups for user memory
* Special memory areas (scratchpad, I/O registers)
## Vector Unit Support
PS2-specific 128-bit MMI instructions and VU0 macro mode instructions are supported via SSE/AVX intrinsics.
## Instruction Patching
You can patch specific instructions in the recompiled code to fix game issues or implement custom behavior.
## Limitations
* Graphics and sound output require external implementations
* Some PS2-specific hardware features may not be fully supported
* Performance may vary based on the complexity of the game