Per Game NVRAM

General forum for 4DO
Mister Negative
Posts: 15
Joined: Thu May 31, 2012 4:37 am

Per Game NVRAM

Postby Mister Negative » Sun Jun 03, 2012 5:00 pm

I looked through the forums and didn't see this mentioned by anyone else so I hope I'm not bringing up an old topic...

The 3DO has a fairly small amount of NVRAM so it's not uncommon to run out quickly, especially with the games that need virtually all of the space. I've seen emulators for other systems overcome the need to manually manage storage space by creating an NVRAM file for each game (NVRAM_%GAMENAME%.ram).

I have a soft spot for accurate emulation so 95% of the time I prefer the current system of having one file for the whole system. But on my media center computer it would be nice not to worry about having a guest overwrite a save for another game because space ran out. In that environment any kind of management is a bit of a pain.

If this is possible it could either be a setting to create a file per game versus a main file, or it could possibly be triggered automatically when launching a game via command line arguments.

Sorry about the off the wall idea. This emulator is working so well it's hard not to think of new features!
Johnny
Site Admin
Posts: 119
Joined: Thu Oct 27, 2011 1:50 pm

Re: Per Game NVRAM

Postby Johnny » Sun Jun 03, 2012 6:26 pm

I run into the NVRAM size problem a lot. I'd considered this idea back when early Johnny was banging stones together and figuring out how to use the FreeDO core.

Similarly, I'd wondered about saving the NVRAM into the save states, which currently doesn't happen. Technically speaking, save states working separately have always worried me a bit, since the NVRAM can change from underneath the game unbeknownst to it. Some games could theoretically not expect this. It's never happened, though. Hooray!

Anyway, one hurdle with NVRAM-per game I knew about was games that rely on the NVRAM between discs. For example, Shockwave Operation Jumpgate needs to see NVRAM data from the original game. This could be fixed with some bookkeeping. The final thought that pushed me over the edge to stick to the single NVRAM option was the Game Guru which needs access to all the save files.

I never looked into increasing NVRAM size, either, which my be a viable option. I was worried there would be games out there that didn't properly handle the existing NVRAM expansion module or even an larger, artificial size. What makes this worse is that there are dozens of NVRAM managers, all of which may do things differently.

I'm all for making clean emulation improvements the interface default, too. So, I'd be interested in identifying a good way to improve things.
BryWI
Posts: 154
Joined: Thu Oct 27, 2011 11:35 pm

Re: Per Game NVRAM

Postby BryWI » Sun Jun 03, 2012 8:23 pm

I am not sure if increasing the NVRAM size would work. I remember hearing that even with the memory module addon, that games didn't use it. You had to manually move things over to the module from the internal NVRAM. I have never used one personally though so I am not sure of the truth to this. EDIT: And now that I think about it, isn't the addon the same size as the internal memory too?

I think a solution to this would be a toggle option for single nvram and per-game nvram. Of course there would have to be a warning about multi-disc games on such an option. I actually would rather keep it the way it is for nostalgia sakes.
Mister Negative
Posts: 15
Joined: Thu May 31, 2012 4:37 am

Re: Per Game NVRAM

Postby Mister Negative » Sun Jun 03, 2012 11:42 pm

I hadn't thought about multi-disc games. Like BryWI said there could be a warning when enabling the option that it wouldn’t work correctly with multi-disc games and that the default option really should be to leave things the way that they are now anyway.

This problem makes me think that a command line option would be the way to go. When using a front end the argument could be enabled on either a global basis or game-by-game. I use Rom Collection Browser for XBMC and I can already define a persistent argument that is used for each game of a system and I can individually set arguments for certain games if they're required. If I have a multi-disc game I can simply use the default NVRAM file.

I'm not much of a programmer but I don't think this would have to be overly complicated. Perhaps you could have a variable defined for the NVRAM file, and when no argument is passed then "NVRAM_SaveData.ram" is used. If "-nvram" is used then the file used is "NVRAM_%GameFileName%.ram", or optionally allow for a manual override, such as "-nvram ‘mygame.ram’", which would use the file "NVRAM_mygame.ram".

A diligent user could use the argument "-nvram" as the default argument, and "-nvram 'mygamename'" for each disc of a multi-disc game when configuring his or her front end application. The average user wouldn’t even have to know that the option existed. Game Guru could be utilized by launching 4DO with the applicable NVRAM parameter for those who choose to partake in per-game files.
collingwood
Posts: 1
Joined: Mon Mar 11, 2013 9:52 am

Re: Per Game NVRAM

Postby collingwood » Mon Mar 11, 2013 9:57 am

especially with the games that need virtually all of the space.................,
8-) 8-)
Johnny
Site Admin
Posts: 119
Joined: Thu Oct 27, 2011 1:50 pm

Re: Per Game NVRAM

Postby Johnny » Sat Mar 16, 2013 8:21 pm

I can agree that it wouldn't be too hard to implement, but I don't think it would be the preference for most users. Like BryWI, I suppose I prefer keeping it this way for the nostalgia if nothing else. 4DO keeps pretty true to the real hardware by default.

By the way, I never fully figured out how to initialize NVRAM correctly. In fact, I think the default NVRAM you see from 4DO has some saved games on it (possibly mine), and that this cuts into the amount of saved game space you actually have from the get-go. I didn't put a lot of effort into solving this, honestly. I tried once making a completely empty NVRAM but the games were always identifying it as corrupted. I never fully solved it. But, it seems to have worked pretty well anyway :).

I'd probably need some help identifying what games need each others' NVRAM, though.
BryWI
Posts: 154
Joined: Thu Oct 27, 2011 11:35 pm

Re: Per Game NVRAM

Postby BryWI » Sun Mar 17, 2013 11:27 pm

I heard that even with a real 3DO, that some games will format the NVRAM correctly when it is empty while others will just complain about bad NVRAM. I think NFS is one that complains. If you want to get a correct clear default NVRAM, just format the memory with the save manager in the FZ10 bios.
Johnny
Site Admin
Posts: 119
Joined: Thu Oct 27, 2011 1:50 pm

Re: Per Game NVRAM

Postby Johnny » Mon Mar 18, 2013 7:16 am

BryWI wrote:I heard that even with a real 3DO, that some games will format the NVRAM correctly when it is empty while others will just complain about bad NVRAM. I think NFS is one that complains. If you want to get a correct clear default NVRAM, just format the memory with the save manager in the FZ10 bios.


Great idea with the FZ10 bios. Talk about easy! It seems to be pretty robust when it comes to handling the NVRAM data too.

I remember running into the Need For Speed problem, so maybe that's the confusion I ran into.

Some reason there are always 152 blocks in use in the NVRAM when 4DO is used. I haven't checked on the actual 3DO hardware to see if that's always the case. If nothing else, I'd at least like to get that working like the real hardware.

Return to “General Forum”

Who is online

Users browsing this forum: No registered users and 17 guests