Pergame is a small module that loads other modules as if they were in /seplugins/game.txt
The difference here is that pergame.prx loads on a per-eboot basis. Thus one doesn't need
to toggle a specific module on or off if they only need it to make one game run in m33, and cheat programs that break some homebrew can be told only to load for isos/umds.
Games that require m33_620.prx/etc run successfully when using this loader instead of
/seplugins/game.txt.
Changelog:
0.2: UMDID detection now works via direct memory read.
relevant modules from 5.03 prometheus, altered to load entirely from MS, are now included.
default settings in pergame.txt will now cause prometheus to load for any iso beginning with
'prm' in the following folders: /iso, /iso/cat_game, /iso/cat_mini.
Installation/usage:
snag:
http://fnord.to/psp/pergame-0.2.zip
Throw the prx anywhere and add to ms0:/seplugins/game.txt. put pergame.txt In the same folder
and edit. Syntax is (per line):
module identifier
where 'module' = 'ms0:/path/to/a/plugin.prx'. No spaces.
and 'identifier' = ms0:/path/, gameid (ie jpjp-65535), or 'umd'. Spaces allowed. See pergame.txt
for examples.
Tested with:
CFW 5.00m33, m33_620.prx, stargate.prx, freecheat.
License:
GPL. Feel free to distribute, alter, or mutiliate - but you must distribute the source code
of any derivative works.
Caveats:
This is written for CFW 5.00m33 (primarily for selective use of m33_620). Determining
which iso is being launched is done by reading SystemController's memory. The ISOOFFSET
(0x0000B108) defined at the top of main.c is where one can adjust this. If you can
provide an offset for a particular firmware I'll include it in a future version -
which will have version detection.
This uses a StartModuleHandler, and I have yet to determine how to turn it off.
Todo:
DONE: Fix UMD-IDs and real UMDs.
Maybe? Automatic on-the-fly prometheus patching via temporary SceIO hooks.