EEPROM games...

For anything related to cart (SRAM, SF2 mapper, audio, CD mode 1, ...)

Moderator: BigEvilCorporation

8bitwizard
Very interested
Posts: 159
Joined: Sat Feb 24, 2007 11:35 pm
Location: San Antonio, TX

Post by 8bitwizard » Mon Jul 23, 2007 3:48 pm

Eke wrote:SDA_IN : 0x200001 (0)
SDA_OUT: 0x200001 (0)
SCL : 0x200000 (0)
This might be the Acclaim single-chip mapper.
As you can see, this confirms 8bitwizard's real observations, except that I didn't see any code in Pete Sampras Tennis that try to access EEPROM area.
Maybe that wasn't a picture of Pete Sampras after all? (it wasn't my photo, so I never saw the actual cartridge)

Eke
Very interested
Posts: 884
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Wed Jul 25, 2007 4:19 pm

8bitwizard wrote:Maybe that wasn't a picture of Pete Sampras after all? (it wasn't my photo, so I never saw the actual cartridge)
It was indeed Micromachines 2 on the picture :wink:

Something strange about this game is that it seems to need the external RAM being initialized with the string "PETETEST01234567" repeately written all over the memory, otherwise (by default, external RAM is initialized to 0x00) it will rewrite the memory with theses strings, then read the whole memory again and finally overwrite every byte with 0x00 if we return the previous written values (this does not happen if we return 0x00 to each byte read).The result will be that characters names are all messed up in the game menus.

I modified my sourcecode to initialize external RAM with these strings and as I expected, the game don't reset the memory to 0x00 anymore and now put correct values into external RAM (I can see now ASCII values, used by the game)

I also found why I can't get those Micro Machines games to backup/load data correctly. DIsassembling the code, it appeared that the bit position for SDA_OUT was not the same as the one used for SDA_IN so I was always returning 0.


Regarding other games, the only ones than still give me problem are the ones from NBA Jam serie. It seems that they also use a different bit position for SDA_OUT and SDA_IN but I didn't managed to get it through disassembly


hum ...and for romantic people, here's what can be found written in external RAM by NBA Jam, which I know was originally develloped by Steve Snake
00000008:53 6e 61 6b 65 20 31 39 39 33 Snake 1993
000000e5:24 6c 6f 76 65 73 20 47 69 6c 6c $loves Gill


:oops:

the "funny" thing is that I found this (very) old message in Eidolon's archive while digging for some genesis technical tips: http://eidolon.dnsalias.net/ta/199912/m ... /1077.html

eight years ago, Steve Snakes wrote:
Well, coding all day can get a little dull.... :)

I'm just glad that nobody has emulated the back-up chip used in NBA Jam / Jam TE...... ;)
:lol:

EDIT: it seems that Rev00 of NBA Jam TE has bugged eeprom support which prevents backup data to be saved correctly. With Rev 01 version, this is finally working :idea:

epguy8x
Newbie
Posts: 6
Joined: Wed Jun 20, 2012 12:04 am

Post by epguy8x » Sat Sep 21, 2013 1:00 am

Eke wrote:I finally get a generic code that seems to work with all games I tested (for most games, I've only traced read/write sequences that are executed at startup and checked that my code would handle them correctly)

From my testings, here's the current list of games using EEPROM as external ram and their caracteristics

-------------------------------------------------------
CAPCOM (12)
-------------------------------------------------------


Megaman - The Wily Wars (E)
Rockman Mega World (J) [alt]

----------------
T-12046
T-12053 (checksum = 0xEA80)
header OK ($200001-$200001)

TYPE: 7BITS WORD ADDRESS
SIZE_MASK: 0x7F (24C01)
PAGE_MASK: 0x03
SDA_IN : 0x200001 (0)
SDA_OUT: 0x200001 (0)
SCL : 0x200001 (1)

NOTE: the original version of Rockman Mega World (J) uses traditional SRAM, header gives $200000-$203FFF range
the alternate version uses a 128bytes serial EEPROM (X24C01)
the two versions share the same GAME NAME and PRODUCT ID

As you can see, this confirms 8bitwizard's real observations, except that I didn't see any code in Pete Sampras Tennis that try to access EEPROM area.
sorry to bring this old topic from the dead but I have unresolved issues with this game as Regen does NOT remember my saved progress after doing a "hard" reset or powering off the emulator before closing and reloading Regen and Megaman The Wily Wars. I'm using regen 0.972, the latest version. I think your code needs to be improved Eke, just like Steve Snake did in his latest version of Kega Fusion, which does remember all my saved progress in Megaman The Wily Wars / Rockman Megaworld after either a hard reset or powering off the game and closing/reloading Kega Fusion.

Eke
Very interested
Posts: 884
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Sun Sep 22, 2013 8:48 am

epguy8x wrote: I'm using regen 0.972, the latest version. I think your code needs to be improved Eke, just like Steve Snake did in his latest version of Kega Fusion
I think you are confusing things: I am not the coder of Regen and the informations above are just technical informations about eeproms, not code to emulate it... The code I was talking is the code of Genesis Plus GX, which is another emulator and it supports all these eeprom games just fine :wink:

Post Reply