winteriscoming
Champion
According to the post here, the tools for backing up and restoring SRAM are at our fingertips:
Looking at the triforcetools.py, I see both of these functions, so it seems like all we'd need to do is implement a script that takes an input in the form of a filename, an input for read or write, and system type(assuming it's different for NAOMI, Triforce or Chihiro). Then the script would run either the Read or Poke command and loop through the data 4 bytes at a time until finished.
From various sources, I gather the following SRAM sizes, but no idea if these are correct:
NAOMI: 64KB (source)
NAOMI2: 32KB (source)
Chihiro: 1Mbit (source)
Triforce: 12MB (source) or 2MB (source) - not sure which of these is the one accessible through the netboot protocol and stores the saved data
Let's figure this out. MetalliC has generously shared the address range for NAOMI games. I'm curious to know if the same applies to Chihiro and Triforce. I'm also curious to know, lacking specific addresses, if we could get away with dumping the entire SRAM contents. I think we'd know the size per the motherboard in use.its all has been figured out far ago. games store all its work data in 32KB SRAM (battery backuped) on NAOMI motherboard. high scores, settings, unlockables, play stats etc - all is there.
so, perhaps it worth to solve problem in general insted of hacking all the games ?
I mean make tool for backup SRAM contents before uploading new game, and restoring it back later ?
existent triforcetools.py have functions for this - HOST_Read4 HOST_Poke4
so someone have to implement routines which will read/write SRAM area (0xA0200000 - 0xA0207FFF) using that functions
Looking at the triforcetools.py, I see both of these functions, so it seems like all we'd need to do is implement a script that takes an input in the form of a filename, an input for read or write, and system type(assuming it's different for NAOMI, Triforce or Chihiro). Then the script would run either the Read or Poke command and loop through the data 4 bytes at a time until finished.
From various sources, I gather the following SRAM sizes, but no idea if these are correct:
NAOMI: 64KB (source)
NAOMI2: 32KB (source)
Chihiro: 1Mbit (source)
Triforce: 12MB (source) or 2MB (source) - not sure which of these is the one accessible through the netboot protocol and stores the saved data
Last edited: