I have recently decided to rewrite completely the EEPROM emulation code used in Genesis Plus. The previous one was based on Notaz’s Picodrive sourcecode but was not compatible with some games (Rings of Power, College Slam, Micromachines’ serie, …) and, beside from preventing game backup to work properly, also make some games crashing.

Since not so many Genesis games use serial EEPROM as backup RAM, this feature is generally not supported by common emulators (so far I know, only Kega, Picodrive and Jenesis have some kind of eeprom support but none of them seem to have support for every existing EEPROM games), which make me think it could be interesting to code a complete support myself.

rings_of_power.gif

The emulation itself is not very difficult since EEPROM datasheets (24Cxx eeprom are generally used) are freely available and the communication protocol is quite easy to reproduce. The main difficulty was to determine which games indeed use serial EEPROM (instead of classic parallel SRAM) and also which type of EEPROM it is and which type of EEPROM mapper they are using.

689_3.png

After testing many games on the emulator, I finally get some results and a list of games using EEPROM and their characteristic. I compiled this in a document, which emulator authors may find useful or not. In this document, there is also a quick note about how EEPROM read/writes work, covering all 3 EPROM’s modes that are used in known Genesis cartridges. Interested people could also have a look at eeprom.c in the genesis plus SVN repositery.

gen_eeprom.pdf

PS: there is no binary update actually available, I still need some time to test the upcoming release as I implemented many other modifications

About these ads