查看完整版本: [-- 【注意】关于世嘉土星用SS_SAVE.BIN同步文件的详细说明 --]

【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】 -> 【 ISO 游戏交流区 | ISO Game Communion 】 -> 【注意】关于世嘉土星用SS_SAVE.BIN同步文件的详细说明 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

YZB 2023-10-05 16:09

此同步文件将会在后续的SAROO卡带更新固件中使用,其作用是同步主机内部的游戏存档到SD卡内的SS_SAVE.BIN文件中,并且在将来发布的2p手柄串口用sdloader中的引导游戏程序也同样会支持该文件,另外SONIC3D大大制作的土星卡带也支持这个文件。
(注意,这个同步文件不是记忆卡文件,记忆卡文件的详细说明将会另外开贴说明)



以下是该文件的详细说明。

文件根据dos8+3命名规则命名为SS_SAVE.BIN,文件总大小为257MB。

世嘉土星的内部存储虽然只有32KB,但是因为地址仅为单数有效,为了兼容yabause 以及SSF存档, 故内部存储偶数地址用ff填充,所以内部存储为64KB。

(mednafen,存档因为去掉了偶数部分的ff填充地址,所以为32kb,如果想通用在此模拟器上,把64KB用来填充FF的偶数地址去掉,只留32KB就可以使用了)

所有游戏以此(64KB)为单位,根据游戏编号打包存储在SS_SAVE.BIN文件中,每个游戏按游戏出厂的编号占用一个单位(64kb)


SS_SAVE.BIN文件头64KB字节为游戏编号信息文件头,每个游戏占用16个字节,预留了4096个游戏编号的储存空间,我想这足够应付官方 非官方以及修改版游戏了吧

此16字节的定义如下:

前8个字节为游戏编号, 如果程序匹配到和当前光驱内的游戏编号一致,那么就判定为同一个游戏


接下来的4个字节为游戏发售年份     此4字节仅是为了对齐以及方便查看,并无其他作用 最后4字节为此游戏编号存档的具体位置      注意这个地址的值是高位在前的

[attachment=114108]





说完了此文件的基本结构,再来说一下同步的流程以及逻辑

每次开机进入游戏前,同步程序会去和主机存储同步,会有以下2种结果

1      如果在主机内部存储未找到标有SAROO字样的存档文件,那么先将主机内部的存储写入到SS_SAVE.BIN文件的0x100000位置,如果玩家对原来主机内部的存档有需求,可以在这个位置上找到并妆Ρπ处理。 (注意,每次游戏前都未找到的话,SS_SAVE.BIN文件的0x100000位置都将会覆盖当前数据)


接下来从SS_SAVE.BIN文件头部匹配当前光驱内是否有相同id编号的游戏

-----------如果没有,则根据当前光驱内的游戏编号,生成一个占用1格存储空间并命名为SAROO的存档文件并写入到主机内部存储, 注意这个文件至关重要,不要修改,不要删除


------------如果有,  则从SS_SAVE.BIN文件内部把该游戏存档(64KB)复制到主机内部存储





2      如果在主机内部存储找到标有SAROO字样的存档文件,根据SAROO存档的信息将该存档文件(64KB)写入到SS_SAVE.BIN文件中。


接下来从SS_SAVE.BIN文件头部匹配当前光驱内是否有相同id编号的游戏


-----------如果没有,则根据当前光驱内的游戏编号,生成一个占用1格存储空间并命名为SAROO的存档文件并写入到主机内部存储, 注意这个文件至关重要,不要修改,不要删除


------------如果有,  则从SS_SAVE.BIN文件内部把该游戏存档(64KB)复制到主机内部存储


[attachment=114107]




PS:注意,SS_SAVE.BIN文件只是做同步用,最新的游戏存档一直在主机的内部存储。如果玩家想把最后一次游戏存档同步到SD卡内SS_SAVE.BIN文件中的话,快速的方法就是再次运行任意游戏一次(直到游戏画面出现即可),这样最新的存档就同步到SD卡内SS_SAVE.BIN文件中了


根据以上信息,玩家可妆Ρπ把各个游戏编号的存档用16进制编辑器提取出来,覆盖模拟器中同文件大小的存档文件即可使用


特别要注意的是不要随意更改或者删除SAROO存档的信息


有问题可以跟帖

ken_open168 2023-10-05 17:45
谢谢版主分享

bxy1394 2023-10-05 19:11
感谢版主分享,先收藏慢慢看

gcy 2023-10-06 16:07
感谢yzb无私分享好东西

木村浩一 2023-10-10 16:30
回复后可下载?

jiajia0830 2023-10-18 14:57
功能越来越好,学习

zengzidane 2023-11-05 21:12
不知道我理解得对不对,当运行一个SAROO游戏时,主机内存同时只能有一个游戏的存档;如果换游戏,保存上一个游戏的进度,并且主机内存也里会同步更新成新游戏进度

YZB 2023-11-07 10:28
是的,不过最后tpu没有用这套方案,他重新写了一套.

zengzidane 2023-11-11 00:19
引用
引用第7楼YZB于2023-11-07 10:28发表的 回 6楼(zengzidane) 的帖子 :
是的,不过最后tpu没有用这套方案,他重新写了一套.


有点像是把内置记忆卡作为内存使用了....不知道TPU的想法,姑且大胆猜想一下:把SAROO内部一部分空间虚拟成硬件记忆卡,欺骗系统去识别并使用这个“假记忆卡”,和之前的比,这就是个“虚拟内存”。“假记忆卡”的好处,是可以和SDloader进行互动...

YZB 2023-11-11 14:29
目前saroo卡只是支持了内置存储,记忆卡功能还未开放

saroo内存空间足够,使用32kb或者64kb空间来做存档文件索引完全轻轻松松

以前市面上那种多合一的功能卡都是使用同样方法,只是那些卡是存到flash芯片上,我们是直接存到tf卡上

zengzidane 2023-11-11 15:34
引用
引用第9楼YZB于2023-11-11 14:29发表的 回 8楼(zengzidane) 的帖子 :
目前saroo卡只是支持了内置存储,记忆卡功能还未开放

saroo内存空间足够,使用32kb或者64kb空间来做存档文件索引完全轻轻松松

以前市面上那种多合一的功能卡都是使用同样方法,只是那些卡是存到flash芯片上,我们是直接存到tf卡上


好的,期待!

ardiloso 2023-11-27 12:59
我在土星的内置存储器上有几个存档(还有一些存档在备份盒上),目前 Saroo 在我玩游戏时会忽略所有存档,创建自己的存档,这意味着如果我想加载旧存档,就无法使用 Saroo。是否已经有办法将内置存储器中的旧存档与 Saroo 同步?

jounge 2023-11-27 20:24
问一下大大,如果我现在做了一块板子,我怎样直接刷入最新的固件

zny1982 2023-12-02 15:43
我也一样有这个需求,只能期待固件更新相关功能了


查看完整版本: [-- 【注意】关于世嘉土星用SS_SAVE.BIN同步文件的详细说明 --] [-- top --]


Powered by PHPWind Code © 2003-08 PHPWind
Gzip enabled

You can contact us