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
PSX memcard to Pocketstation hack #2208
Conversation
I suggest to also add a short summary what the PR does in the commit description. |
Oh, that's a good find! Edit: And what do you know: http://saga.wikia.com/wiki/SaGa_Frontier_2_Pocketstation |
Yeah I've realized there has to be some sort of flag or trigger somewhere to tell the game "calm down it's just a memcard" but that's an ongoing effort as i keep tearing apart PCSXR and what PSX docs are available. Hopefully this hack won't be around for too long but in the meantime, it may help. |
If you need any more docs, let me know! I can give you the URLs if necessary. |
Okay, I understand your one step at a time approach. So, how about just using the SIO part of this PR and not doing the GUI change? |
08cea41
to
410f553
Compare
Fixes memcard access in Final Fantasy VIII, and likely in other PSX games supporting the Pocketstation peripheral.
410f553
to
b47b427
Compare
@gregory38 Is this okay with you? |
@ramapcsx2 BTW, me and Pandubz changed the original thread that was used for memory card testing into an unofficial compatibility list with our results so far: https://forums.pcsx2.net/Thread-New-feature-Needs-testing-PSX-Mode-Unofficial-Compatibility-List It's not looking too bad right now ;) |
Yep, looking good! |
Context
PSX titles made to be compatible with the Pocketstation peripheral, namely Final Fantasy VIII, send a different hex to SIO, 0x58, that was previously ignored. As a result, these games could not see PSX cards.
Changes
This hack
when enabledmakes SIO execute the same payload for 0x58 as for normal PSX calls.A checkbox is added to the main memcards screen to enable/disable. Defaults to enabled.The effect
The entire system sees PSX cards as Pocketstation devices. Though not "correct", this has no negative consequences, as Pocketstations are supposed to behave as memory cards. Additionally, games that use this Pocketstation value (and do not have other issues elsewhere in SIO) can now read and write the cards. It is confirmed that this works for Final Fantasy VIII (but only if there is not a PS2 card in slot 1, the starvation issue mentioned below) and I suspect this may help others as well, such as Saga Frontier 2, which was reported to completely stop working after the PSX SIO interrupts were introduced.
A warning about memcard safety
In an attempt to also fix an issue where a PS2 card in slot 1 would starve out a PSX card in slot 2, I somehow managed to make it unformat any PS2 cards in the entire memcard directory. I rolled back these changes and have not been able to reproduce the issue, but it feels wrong to not mention it for safety.