Talk:PSP Emulation

From PS4 Developer wiki
Revision as of 06:58, 26 July 2022 by Kozarovv (talk | contribs)
Jump to navigation Jump to search

Notes

  • No keys available in emu, so everything is loaded decrypted from ISO
  • BOOT.BIN is the loaded executable from ISO
  • 3 psp remasters (1 is below 4.55, 2 others above 4.55 but below 5.05)
  • size of patapon is 574MB, size of locoroco 2 is 3.3GB


Patches

local gpr		= require( "ax-gpr-alias" ) -- you can access Allegrex GPR by alias (gpr.a0 / gpr["a0"])
local pad		= require( "pad" ) -- pad state
local emuObj		= getEmuObject() -- emulator
local axObj		= getAXObject() -- allegrex

-- Fixup additional songs path
local addOnPathHook = function()
	local pathPtr = axObj.GetGpr(gpr.a2)
	axObj.WriteMemStrZ(pathPtr, "ao0:/MUSIC/") -- reroute to add-on directory
end

axObj.AddHook(0x88c022c, 0x24c66de0, addOnPathHook)
...

reroutes sceIoOpen "ms0:/PSP/SAVEDATA/UCUS98702MUSIC/" to "ao0:/MUSIC/"

axObj.AddHook(0x8800000 (base) + offset in psp boot.bin, original bytes little endian, hook_function)

CLI settings available in Echodrome emu

Not all, just interesting ones.
Settings without variable are just on/off /true/false/ 0/1.

  • --forcenobilinear Possibly required for Persona 3, and few more
  • --antialias
    • msaa4x
    • ssaa4x
  • --texcachemode for issues with texture cache (modes lower than full possibly read some textures directly without cache).
    • drawboundsloco
    • patchworkheroes
    • locoroco2
    • rondo (Castlevania: The Dracula X Chronicles?)
    • full
  • --smoothlevel (unknown max level)
  • --anisolevel (unknown max level)
  • --present set when frame is presented. Sync issues, flickering screen, tearing, input lag, etc.
    • vblankstart
    • setframebuf
    • drawsync
  • --vramcopyback for games that download data from GPU to Allegrex
  • --gputhread possibly move GPU emulation to another thread, speedhack but can decrease compatibility.
  • --xobuttonmode self explaining
    • oenter
    • ocancel

Additionally emulator check for title IDs:

  • NPUG80325 GOW Chains of Olympus
  • NPEG00023 GOW Chains of Olympus
  • NPHG00027 GOW Chains of Olympus
  • NPUG80508 GOW Ghost of Sparta
  • UCUS98617 Gangs of London
  • UCES00113 Gangs of London

And do something when ID match, for now is unknown what exactly.