Skip to content

cellGame: real parameter IDs, error values and ABI buffer bounds - #84

Open
canersaka wants to merge 1 commit into
sp00nznet:ps3recompfrom
canersaka:fix/cellgame-param-abi
Open

cellGame: real parameter IDs, error values and ABI buffer bounds#84
canersaka wants to merge 1 commit into
sp00nznet:ps3recompfrom
canersaka:fix/cellgame-param-abi

Conversation

@canersaka

Copy link
Copy Markdown
Contributor

cellGame's integer parameter table was not the firmware ABI. Several IDs were shifted or collapsed together, VERSION, PS3_SYSTEM_VER and APP_VER did not have their distinct values, localized title IDs were incomplete, and the path and directory-name limits were host-shaped rather than the fixed guest sizes. A title asking for a valid parameter could therefore receive the value for a different key, while callers allocating the documented buffers could be overrun by the larger local limits. The module error base was also 0x8002B600 even though cellGame uses the 0x8002CBxx range.

This replaces the table with the firmware IDs through 106, restores the localized-title ranges and separate version fields, uses the 128-byte path and 32-byte directory-name bounds, corrects the cellGame and game-data error bases, and reads the three version strings from their corresponding SFO keys. The change is limited to constants, bounds and the existing parameter switch; it does not add title-specific behavior.

Verified: ps3recomp_runtime builds clean. A standalone compile-time ABI check passes for the corrected constants and buffer sizes. The numeric IDs, 0x8002CBxx error range, 128-byte path and 32-byte directory name were checked against RPCS3's cellGame.h as an ABI oracle.

Replace the invented split integer/string ID ranges with the firmware's unified PARAM.SFO enum, return VERSION, PS3_SYSTEM_VER, and APP_VER from their own fields, and use the 32-byte dirName bound. Correct CELL_GAME_PATH_MAX and the cellGame error-code base/table against the public ABI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant