Dwedit's Board

Enjoy the board

You are not logged in.

Announcement

User passwords may have been corrupted, if you can't log in, use the "Forgot Password" feature. If you still can't log in, contact me and I can try to manually reset your password.

#1 2023-05-22 10:17:35 am

TaviTurnip
ROM hacker and artist
Registered: 2023-05-22
Posts: 2

Final Fantasy II not saving properly in PocketNES

Hey all. Just wanna start by saying "thanks" to Dwedit for maintaining this forum and giving us a place to talk about stuff like this. It's a bit refreshing after this future of only hiding resources behind Discords that we live in now.

So basically, I can't get FFII to behave at all on my EZ Omega. Tried multiple ROMs, different translation patches, the raw Japanese version, all of it. What happens is that the game will always save 2-3 times, right at the start of the game/around the first towns, and then afterward it will virtually never save properly ever. Waiting for several minutes, or using save states or reloading the states, also don't work. It acts like it works, but if closing the emulator, the EZ menu will always claim there was a write failure or something. If just powering down the console directly, there's no visible error of course, but booting up the game will just load up whatever save I started on at the start of the session. I remember last year I had a save file actually make it quite far before this started happening, like several hours in, but it feels like there's like a 1% chance of save success after the first couple tries.

I'm posting about this mainly because I can't seem to find any threads about FFII at all, on this forum or other resources like Reddit, but my friends with different flash carts also have the same issue, and we haven't found any fixes for it. I've played lots of other RPGs or games with save data and they all persisted just fine; this issue is unique only to this game as far as I can tell.

Any idea what's up? :s

Offline

#2 2023-05-22 11:33:20 am

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: Final Fantasy II not saving properly in PocketNES

All GBA commercial games that used SRAM had a limit of 32K.

PocketNES was first created way back in the day when Flash Cartridges had 256KB of SRAM, and you could use 64K of SRAM at a time without performing any bank switch commands.  So PocketNES used 64K, because that's what was there.

But later flash cartridges were different, they used CF or SD cards, and read and wrote files on the cards.  Some of the flash cartridges would provide only 32K of SRAM, others would provide 64K, and even others would provide 256K.  You even see cases where there is 64K of SRAM present, but the flash cartridge's menu system only backs up the first 32K, because that was the limit that commercial GBA games used.

PocketNES can only really see if the cartridge has 64K of SRAM present, and if it does, it tries to use that size.  It has no idea what the shell or system menu decides to do afterwards.  It might be only copying the first 32K and ignoring the rest, and PocketNES would never know.

I'd need to make a build that forces a max size of 32K.  That would leave 24K of storage for any savestates or SRAM saves, as 8K is reserved for allowing instant power off.  Games like Zelda 1 might be able to have 2 save states then you run out of storage.

I never had an EZ flash cartridge, so I have no idea how to use their software to force it to give a full 64K size save.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#3 2023-05-22 4:02:53 pm

TaviTurnip
ROM hacker and artist
Registered: 2023-05-22
Posts: 2

Re: Final Fantasy II not saving properly in PocketNES

I see 🤔 This is interesting, thank you.

Is there anything I can do or any information I can give that can help out? I'm not really a programmer, but since I (and a couple friends) have the flash cart I can at least provide some data, I hope. I can say that all ESV files and the backup saves are 64k, but the flash cart menu doesn't provide any way to modify or control this and only has extra boot options for GBA specifically, not NES and not GB(C). Checking a HEX editor through some ESV files, it looks like the one for FFII definitely has information for about 20% of the file, and then very sporadic amounts near the end. The rest is just empty (00). I'd have to boot up some other RPGs or save-heavy games and play a bit to compare, if that's important.

EDIT: Apparently through the magic of being meticulous, I actually have started getting the SRAM to stick... through the process of using each of the game's four save slots at once, savestating (and taking one overworld step) between each save, getting into one battle, then repeating this process once, then powering down. I've tried doing half of this procedure, and other stuff like spamming save on just one slot, and nothing, but making the game use every save in sequence and doing the other stuff seems to make it behave. I thought maybe it was struggling to overwrite the part of the save block that already had something in it, which is why I started testing using alternative in-game slots, but then this started working and I was surprised. Yeah never mind, this only lasted about 10-12 saves...

Last edited by TaviTurnip (2023-05-24 2:10:07 am)

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman