Views: 6,847,298 Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 04-18-24 11:11 AM
Guest:

Main - Posts by stupidCat


stupidCat
Posted on 08-19-21 05:14 AM, in Glitch with Pokémon Platinum Underground Link | #4266
Hey y'all, first time posting here but I just wanted to share my solution to this. First of all,
Posted by Generic aka RSDuck
the game first writes to the W_PowerForce register and then waits for the effects which includes that W_RFStatus is set to 9. The problem is that once in a while a packet is received inbetween (from the simulated access point) which messes with the W_RFStatus register and the code gets stuck there.

Setting W_RFStatus back to 9 allows to unlock freezed savestates. And desmume hard codes it to always read 9 for the processor. What we don't know is if some setting made would prevent the DS from receiving data or if it's purely by chance that this doesn't happen (as often) on hw.

THANK YOU for this stellar explanation! It really broke down what the issue was and how to solve it. Others dismissed it as jargon, but if you hadn't gone into technical detail I never would have been able to solve this for myself. I really appreciate it!

So next, I understand that the reason this hasn't been touched is because it may have unforeseen consequences. My goal wasn't to offer a permanent solution here, but rather to simple be able to save my game and use the proper precautions going forwards on a proper build. I don't know if this will help anyone else, but I thought that I might as well post anyways.

Essentially, the solution here is to create a custom build of melonDS.exe that forces W_RFStatus to be 9. By doing so, you can load your savestate and save the game. Afterwards, you can ditch the custom build entirely and keep using official ones. Making the code edit to force W_RFStatus is easy enough, my main issue came from savestates.

It seems that savestates (or at least, my broken-state savestates) from 0.9 could not be loaded in 0.9.2, which at the time of writing is the most recent version. So I went back to the 0.9 tag and made my changes there. Branch is available here: https://github.com/Ratismal/melonDS/tree/wifi-frozen-savestate

Having to go back to a prior save and lose progress sucks. Even in my case, even though I just lost a measly 2 hours, I'd rather have spent more than 2 hours figuring out how to solve this issue than replay it. Everyone in this thread has probably moved on, but if your savestate was created on 0.9, you should be able to use my fix to recover it! I have a build in my fork. https://github.com/Ratismal/melonDS/releases/tag/0.9-Hotfix

Otherwise, it's a pretty simple matter to go back to the version your savestate was created on and make the changes needed to work, and make a custom build from it.


Main - Posts by stupidCat

Page rendered in 0.020 seconds. (2048KB of memory used)
MySQL - queries: 22, rows: 66/66, time: 0.012 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.