MathewWi / genplus-gx

Automatically exported from code.google.com/p/genplus-gx
Other
0 stars 1 forks source link

Battery backed memory support in Triple Play Gold #407

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I have been wondering about the emulation of a certain game for a while...

Triple Play Gold for the Genesis. It's an EA game that used an internal battery 
(I'm sure this isn't the only one to do so) to save created players, season 
progress etc. Every dump of it I have, on every emulator I've tried (including 
gens plus gx), does not recognize the memory. In other words, if you try to 
create a player it won't save and it won't let you play a "season" either. 

If you do the button combo to reset the games' internal memory (A+B+C at the 
title screen), it says the battery memory is unusable. 

My question is, Are these just bad dumps of the game or is there a way for the 
emulator to emulate the battery memory?

Original issue reported on code.google.com by markmart...@gmail.com on 17 Feb 2015 at 6:56

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
That game does not seem to use different sort of backup memory than other 
games, just slightly larger (32KB SRAM mapped to $200000-$2FFFFF).

What it does different though is that it uses a 4MB ROM which is therefore 
mapped to the whole cartridge area ($000000-$3FFFFF) but also overlaps with the 
SRAM area ($200000-$2FFFFF).

Large games that do this usually have some kind of mapper to switch between ROM 
and SRAM in the area where they overlap but this game doesn't, instead it 
simply puts unused data in the ROM area that corresponds to SRAM area.

It does not work properly in emulators probably because they prioritize ROM 
over SRAM in this area.

That's what Genesis Plus GX does at least, which is a mistake (I think it was 
not the case in older versions, SRAM had priority over ROM in such case and was 
enable by default on startup)

Original comment by ekeeke31@gmail.com on 17 Feb 2015 at 1:06

GoogleCodeExporter commented 9 years ago

Original comment by ekeeke31@gmail.com on 17 Feb 2015 at 1:06

GoogleCodeExporter commented 9 years ago
To be more correct, Triple Play Gold has two ROM chips, 1 x 2MB ROM mapped at 
$000000-$1FFFFF and 1 x 1MB ROM mapped at $300000-$3FFFFF while 32KB SRAM is 
mapped at $200000-$2FFFFF (mirrored every 64KB since this is 8-bit SRAM mapped 
to odd address only).

So basically, ROM and SRAM don't overlap but the guys who dumped the available 
ROMs had the SRAM data dumped in the middle, which emulators mistake for ROM 
data.

Original comment by ekeeke31@gmail.com on 17 Feb 2015 at 1:22

GoogleCodeExporter commented 9 years ago
I thank you for taking the time to look in to this. 

So with the ROMS dumped the way they are does that mean the SRAM will never 
work in the emulator, or is there a possibility of it working in the future?

Original comment by markmart...@gmail.com on 17 Feb 2015 at 8:35

GoogleCodeExporter commented 9 years ago
No, this is easily fixable

Original comment by ekeeke31@gmail.com on 18 Feb 2015 at 7:23

GoogleCodeExporter commented 9 years ago
Fixed in r939

Original comment by ekeeke31@gmail.com on 2 Mar 2015 at 8:46

GoogleCodeExporter commented 9 years ago
I just loaded up the game and it works perfectly!

Thank you for fixing this issue.

Original comment by markmart...@gmail.com on 2 Mar 2015 at 10:52