Hacking Injected GBA Virtual Console Game Crashes After Saving

PrimordialDusknoir

Member
OP
Newcomer
Joined
Dec 6, 2018
Messages
10
Trophies
0
Age
33
XP
135
Country
United States
So I injected Summon Night: Swordcraft Story into my 3ds' virtual console, and it runs perfectly fine except for when it comes to saving. Whenever I save, the screen goes black and regardless of how long I wait, the screen remains black, so I'm forced to go back to the home screen. When I go back into the game, it turns out that the game still saved, which is weird because it crashed when I saved. So every time I save I have to relaunch the game, which is really annoying. How can I resolve this? I already checked the rom's save type and it's EEPROM_V124

Help is much appreciated!
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,946
Country
United States
Try injecting it with NSUI. This is the rom I used.
Press (Start) → Suspend Game → Yes.
If the above saving is not done and you exit out of the game pressing (HOME) or (Power), data will be lost.

You can try playing this game in nightly mGBA build using save states.
 
Last edited by TurdPooCharger,

PrimordialDusknoir

Member
OP
Newcomer
Joined
Dec 6, 2018
Messages
10
Trophies
0
Age
33
XP
135
Country
United States
I did what you said and injected it via NSUI and used the same rom you did (same save type, etc), and I still have the same issue with saving. I did try out the same rom on mGBA and saving worked on the emulator, but I'm gonna continue playing the game on the 3ds virtual console because I like using the 3ds controls more than a keyboard, so I'll just have to restart the game whenever I save I guess. (This is the only game which this error happens for me btw)
 

Arecaidian Fox

fox-ott
Member
Joined
Sep 5, 2013
Messages
1,289
Trophies
2
Age
36
Location
Washington State
XP
3,023
Country
United States
@PrimordialDusknoir Hey, I've got the game returning to the title screen properly after a save. I dunno if you can do this all in NSUI, I couldn't find the options, so I did the work with a couple older tools (one of which you might be able to leave out). I'll lay out what I did below, but please read all of it first...

  1. Open the GBA ROM in GBATA.
  2. Select the SRAM Patcher tab and click Patch.
  3. Instead of NSUI, we will be using an older component of it, Ultimate GBA VC Injector for 3DS. Start the program and open the SRAM-patched game.
  4. The injector will probably complain about not being able to find the game in its database, that's okay. And as the red text off to the right indicates, we need to change the selection in the Save Type field. Change it to "SRAM, FRAM (128 Kbit)" and click the next step button.
  5. At this point, the guide posted on the Ultimate GBA VC Injector thread (under the tutorial spoiler) should be enough to help you through the rest of the process. The only thing to note is on the last step (#4). DO NOT use the Sleep or SRAM patches from this section since we've already patched our game in another program.
Some housekeeping here. Someone might point out that the game's default save type of EEPROM_V124 shouldn't require patching, and they're right, it shouldn't. But it does if you want to avoid this issue, it seems... Second, and as I alluded to earlier, you might not even need GBATA for this. Ultimate GBA VC Injector does have its own SRAM patching on the last step. I only used GBATA because I'm just familiar with it. As for testing this out, I only started a new game and saved right away to confirm saving and quitting work. There shouldn't be any problems, though. Hopefully this helps!
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,946
Country
United States
I did what you said and injected it via NSUI and used the same rom you did (same save type, etc), and I still have the same issue with saving. I did try out the same rom on mGBA and saving worked on the emulator, but I'm gonna continue playing the game on the 3ds virtual console because I like using the 3ds controls more than a keyboard, so I'll just have to restart the game whenever I save I guess. (This is the only game which this error happens for me btw)
There's a 3DS version of mGBA emulator (nightly builds recommended) but might require new 3DS hardware to play this at fast enough FPS.

Would you happen to know the (## KB) allocation/cluster size your SD card is formatted in? What is its stated capacity (GB)? Has it been ever checked with H2testw?
 
  • Like
Reactions: PrimordialDusknoir

PrimordialDusknoir

Member
OP
Newcomer
Joined
Dec 6, 2018
Messages
10
Trophies
0
Age
33
XP
135
Country
United States
@PrimordialDusknoir Hey, I've got the game returning to the title screen properly after a save. I dunno if you can do this all in NSUI, I couldn't find the options, so I did the work with a couple older tools (one of which you might be able to leave out). I'll lay out what I did below, but please read all of it first...

  1. Open the GBA ROM in GBATA.
  2. Select the SRAM Patcher tab and click Patch.
  3. Instead of NSUI, we will be using an older component of it, Ultimate GBA VC Injector for 3DS. Start the program and open the SRAM-patched game.
  4. The injector will probably complain about not being able to find the game in its database, that's okay. And as the red text off to the right indicates, we need to change the selection in the Save Type field. Change it to "SRAM, FRAM (128 Kbit)" and click the next step button.
  5. At this point, the guide posted on the Ultimate GBA VC Injector thread (under the tutorial spoiler) should be enough to help you through the rest of the process. The only thing to note is on the last step (#4). DO NOT use the Sleep or SRAM patches from this section since we've already patched our game in another program.
Some housekeeping here. Someone might point out that the game's default save type of EEPROM_V124 shouldn't require patching, and they're right, it shouldn't. But it does if you want to avoid this issue, it seems... Second, and as I alluded to earlier, you might not even need GBATA for this. Ultimate GBA VC Injector does have its own SRAM patching on the last step. I only used GBATA because I'm just familiar with it. As for testing this out, I only started a new game and saved right away to confirm saving and quitting work. There shouldn't be any problems, though. Hopefully this helps!

I followed everything you said, and I can now save without the game crashing! Thank you so much for your help, I'm elated that I can finally properly save.
 

Aurora Wright

Well-Known Member
Member
Joined
Aug 13, 2006
Messages
1,550
Trophies
3
XP
4,492
Country
Italy
This is due to NSUI screwing up the footer, it sets EEPROM 64k as save type (correctly) and then puts the wrong bytes at 0x10 in the footer (there are 16 bytes of unknown data related to save configuration, with an EEPROM variant of the data and a SRAM/Flash variant; NSUI wrongly puts the latter).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @OctoAori20, Cool. Same here.