Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use MEMSIZE SFO param to detect 64MB homebrew #8296

Merged
merged 8 commits into from
Dec 24, 2015

Conversation

unknownbrackets
Copy link
Collaborator

Now, use 32MB for normal games even in PSP-2000 mode, which is how real firmware behaves.

Warning: this may impact cheats with default settings. But it only moves closer to accurate with real firmware.

Fixes #2183.

-[Unknown]

Now, use 32MB for normal games even in PSP-2000 mode, which is how real
firmware behaves.
@VIRGINKLM
Copy link
Contributor

I'm pretty sure in Ad-Hoc mode Final Fantasy Type-0 uses the whole 64MB range, it was the reason it doesn't work on PSP-1000.

@unknownbrackets
Copy link
Collaborator Author

A simple JpcspTrace would likely prove that it starts up with 32MB like any game, and probably uses the other 32MB for UMD cache like any other game.

It may simply be that for performant network play, it needs this UMD cache to exist (otherwise there would be huge UMD delays when it tries to load certain things, which might desync the network play.)

That being said, there may be ways to request memory from other partitions or access the other memory somehow. That being said, even the aliased partitions are normally < 32MB on the PSP-2000.

-[Unknown]

@LunaMoo
Copy link
Collaborator

LunaMoo commented Dec 24, 2015

Cheats aside - would be nice to leave an option(ini only would be ok) to restore previous functionality as it's usefull for some other things, like certain mods or jp->en translations that couldn't be done on real hardware without plugins if at all.
Can't give any existing/popular example, but found that feature pretty usefull in the past myself when importing english translation to japanese game from pc port to psp game where the english script just couldn't fit in 32mb.

@unknownbrackets
Copy link
Collaborator Author

If you want it to work on a real PSP's CFW, you'd need to include the MEMSIZE flag anyway. I don't see a reason to motivate translators to require users to fumble around in options, rather than specify it the correct way anyway.

Perhaps we could even provide PPSSPP-specific SFO params to request a specific amount of memory, if it's common. But I don't think it's useful as a user option - it's not a user option even in CFW.

-[Unknown]

@LunaMoo
Copy link
Collaborator

LunaMoo commented Dec 24, 2015

How to add that flag to a commercial game then? Just add "MEMSIZE" to the end of PARAM.SFO or something alike?
Editing param.sfo just for 64mb would be fine for my needs just don't know how it should be done. I don't really think it's that common as most people care about psp support when starting to do anything for psp games, I just don't as I mess around with a lot of things that will never see a sunlight;p.

@unknownbrackets
Copy link
Collaborator Author

The PSPSDK generally does this by defining PSP_LARGE_MEMORY=1, which results in mksfo -d MEMSIZE=1 or something.

But yes, an SFO is just a key/value table, so MEMSIZE just needs to be added to it, and it must have the value exactly 1 (CFW also shares this requirement.) This was only supported for PBPs (I'm not sure how/if it works for ISOs on CFW...)

I've just added that, though.

-[Unknown]

@LunaMoo
Copy link
Collaborator

LunaMoo commented Dec 24, 2015

Thanks for the extra support:), in the meantime downloaded leecherman's param.sfo editor which has a template for it so doesn't even have to type it in.:] Edit: just to confirm after testing ~ works perfectly with commercial games iso's <3.

Improves consistency, caching, etc.
@unknownbrackets
Copy link
Collaborator Author

Also added a fix for #5030, it's kinda relatedish to some of these changes.

-[Unknown]

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.

Killzone Liberation crash on intro (PSP-2000 allows too much memory)
4 participants