This weekend Spanish PlayStation 3 developer IngPereira has enabled DynarecPS3 support for PS3 CFW 4.21 CEX and DEX Firmware with details below.
Download: DynarecPS3 Support for PS3 CFW 4.21 CEX / DEX (First Commit) / PS3SX Beta PoC / htab_dumper.self by IngPereira / MultiMAN v04.20.03 (Dynarec Enabled) / https://github.com/IngPereira/DynarecPS3
To quote: DynarecPS3 - This tool make possible running JIT code on GameOS PS3 by loading patches to lv2, using peek / poke lv2 calls based in some codes from libkammy stuff on 3.41, right now just work on CFW 4.21 DEX or CEX, it need to be ported to others CFW. It can be ported too to work on MFW (implementation on lv2_kernel.self, see bugs)
If anyone need help with porting to MFW (LV2_KERNEL) like cfw ps3ita or Rebug so have dynarec support patched without any pkg or lv2 patcher, just try to send me a pm or email. So now is possible already to run dynamic recompiler on GameOS LV2, like i say by now just support 4.21 CFW CEX / DEX.
POC: USING PSX DYNAREC EMULATOR - You can now try to use dynarec from PS3SX for example.
Finally, from the FAQ:
- First run dynarec enabler to patch dynamic recompiler code support, it will beep and log on hdd0.
- To use dynarec from ps3sx you have to leave "interpreter mode"=OFF so it will try to use dynamic recompiler maded by anonymous, if you don't launch first dynarec enabler then you will have a Black screen when trying to run any iso from ps3sx menu, so you need to run dynarec enabler before doing anything that need jit code support like this POC.
- If you have run dynarec enabler before then you will see depending of the game (because this dynarec from ps3sx is too old and outdated, games works more faster but is not so compatible) that ps3sx will launch the game instead of black screen because GameOS is now patched.
- Now we can make our own dynarecs for emulators that may use it, like n64 one or dosbox.
- To see bugs, info see git.
Homebrew tool loading patches on to LV2 allowing dynamic recompiler code support on PS3 GameOS.
The tool make possible running JIT code on GameOS PS3 by loading patches to lv2, using peek / poke lv2 calls based in some codes from libkammy stuff on 3.41, right now just work on cfw 4.21 DEX or CEX, it need to be ported to others CFW.
It can be ported too to work on MFW (implementation on lv2_kernel.self, see bugs) If anyone need help with porting to MFW (LV2_KERNEL) like cfw ps3ita or Rebug so have dynarec support patched without any pkg or lv2 patcher, just try to send me a pm or email.
Just run the tool, it will beep and leave a log in /dev_hdd0/APP.log.
Actually the tool make a .log (/dev_hdd0/APP.log) with some info if there are errors with the patches, i made this right now because this can help a lot in the porting process as right now just work on 4.21 dex and the patches when are wrong can actually make appear a black screen so again this can speed up the porting.
This SOFTWARE is not licensed, approved or endorsed by "Sony Computer Entertainment, Inc." (SCEI), SNEI, SEN or any other party.
- Cannot install pkgs, error 0x80029F0A , because this is recommended right now to use this only when is needed (Before running any emulator for example) and if you have previusly installed what do you need later.
- Building requires PS3 SDK right now, included are some batch stuff to help in the compile stuff by using MSYS properly installed.
- Right now it can support any cfw just need rights offsets to work good, by now just use lv1 poke to patch lv2 protection and later it use hv call lv1_write_htab_entry (so it install hvsc redirect to call hvcalls) to apply execution permissions on high area of lv2 0x700000 so we can put executable piece of code right there and apply the right patches that make possible running dynamic recompilers code on PS3 GameOS LV2.
- It can work too again by patching lv2_kernel just need to relocate the htab payload address and apply permissions by modifying lv2_kernel.self segments page or in a more easy way by relocating branches of htab_payload to fit it in other space with good execution access known on lv2.
htab_dumper.self (linked above)
This is a .self you can run it with multiman file manager executing it by pressing X on the .self, and it will dump your htab with that and your lv2 dump i think i can fix the error.. it dumps htab gameos to /dev_hdd0/PS3_HTAB.bin.
About PS3SX this is the .ini on the .pkg so it will look for usb000 - Ps3sxConf.ini:
Notes from STLcardsWS: PS3SX package gives a signing error on CEX 4.21.2 Rebug. I assume it is a DEX signed PKG? Also the Dynarec Enabled package just black screened and froze the PS3.
; Ps3sx GX config files PS3
version=1.1 ; Release Version
rompath = /dev_usb000/psx ; Rom path Spaces around '=' are stripped
savpath = /dev_usb000/mc ; Memory path
srampath = /dev_usb000/sram ; Sram path
biospath = /dev_usb000/bios ; bios path for the PSX Bios
More PlayStation 3 News...