[4.5.9] Flash Saving

Retrofaija

Member
It's hard to say what the problem is since there's so much that can crash when using bank switching. But assuming that you followed James's tutorial without any modification, make sure that my code block is at the bottom of the FlashSave.asm file. Also make sure that Mesen is updated to the latest version. Then it depends how you are using it in the input scripts. You could do a simple test like this:

Save input script:


Load input script:
I actually got it fixed, it was missing one RTS before the Flash Save addon (for the actual save routine I guess) - I might have copypasted wrong or something.

Also loading crashed after that, so I just commented out the first:

;ReturnBank ;Return from bank $1A

And that worked, dunno really why, but I figured something was off there.
 

crazygrouptrio

Active member
Trying to use this, and I've used it before successfully, but now I'm encountering a problem where the save bricks the cartridge and corrupts the sprite data. It flashes fine every time on emulator, and works fine 4 out of 5 times on cartridge even, but that 5th time it just crashes and corrupts the cart. Anyone else experience this? Or any insight on what I could check would help.

Just to clarify, it crashes during the SaveSubroutine. I have it set to an input (no bank switching is involved), but it does this in other instances as well. (Like I said, I've successfully used this before in another game, hence my confusion.) When it DOES work, it does save and load and correctly like it's supposed to, but it's occasionally destroying the cart so any help would be appreciated? I'm at a loss!
 
Last edited:

dale_coop

Moderator
Staff member
@crazygrouptrio Are you using a recent board from INL (like the ones you cna buy on the official nesmaker website)?
Those boards no longer support flash saving. INL changed the flash chips on their boards about 2 years ago. Now, with 64KB flash sectors (compared to the old ones with 4KB sectors), flash saving is completely unusable.

If you need boards with flash saving, I'd suggest the ones from BrokeStudio, the "verstical mirroring" ones (check the website, the price is really good and the shiiping costs very reasonnable. And you don't wait months before receiving your order ;))
 

crazygrouptrio

Active member
@crazygrouptrio Are you using a recent board from INL (like the ones you cna buy on the official nesmaker website)?
Those boards no longer support flash saving. INL changed the flash chips on their boards about 2 years ago. Now, with 64KB flash sectors (compared to the old ones with 4KB sectors), flash saving is completely unusable.

If you need boards with flash saving, I'd suggest the ones from BrokeStudio, the "verstical mirroring" ones (check the website, the price is really good and the shiiping costs very reasonnable. And you don't wait months before receiving your order ;))
No, I'm using an older INL board from the NESmaker Kickstarter. I used it testing Shera, which uses this same flash saving method, and it worked fine, but now in multiple instances I can't get it to work. It seems like a memory issue? Because like I said it works sometimes perfectly fine, but not every time. If it was the board, would it still work sometimes? Why would it work fine in one instance but not another? I've debugged and looked at differing code but I think it's just beyond me to pin down..
 

dale_coop

Moderator
Staff member
That's strange, yes.
Do you have other boards you could test?
(to verify the problem is the board or a bug in the code)
 
Top Bottom