主题 : 【注意】关于世嘉土星用SS_SAVE.BIN同步文件的详细说明
YZB
级别: 超级版主

UID: 12451
精华: 6
发帖: 19097
威望: 173 星
金钱: 2014 浮游币
贡献值: 10160 点
好评度: 54867 点
人气: 4322 点
在线时间: 19703(时)
注册时间: 2004-10-02
最后登录: 2024-11-25
楼主  发表于: 2023-10-05 16:09

【注意】关于世嘉土星用SS_SAVE.BIN同步文件的详细说明

此同步文件将会在后续的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字节为此游戏编号存档的具体位置      注意这个地址的值是高位在前的








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

每次开机进入游戏前,同步程序会去和主机存储同步,会有以下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)复制到主机内部存储








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


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


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


有问题可以跟帖
[ 此帖被YZB在2023-10-07 17:51重新编辑 ]
级别: 模拟小生
UID: 322213
精华: 0
发帖: 42
威望: 0 星
金钱: 44 浮游币
贡献值: 67 点
好评度: 122 点
人气: 0 点
在线时间: 188(时)
注册时间: 2023-10-03
最后登录: 2024-11-25
沙发  发表于: 2023-10-05 17:45

谢谢版主分享
《恶魔城: 月下夜想曲》:“力量只有在守护自己想要守护的东西时才能超越界限的。你已经.失去了爱。而失去了爱的同时你就已经失去了力.量。这,就是失败的原因。
GiriGiri
级别: 模拟小生
UID: 281724
精华: 0
发帖: 60
威望: 0 星
金钱: 449 浮游币
贡献值: 54 点
好评度: 174 点
人气: 0 点
在线时间: 290(时)
注册时间: 2008-04-19
最后登录: 2024-06-18
板凳  发表于: 2023-10-05 19:11

感谢版主分享,先收藏慢慢看
gcy
级别: 模拟专家
UID: 104857
精华: 0
发帖: 147
威望: 0 星
金钱: 2736 浮游币
贡献值: 21 点
好评度: 422 点
人气: 0 点
在线时间: 246(时)
注册时间: 2006-02-07
最后登录: 2024-11-25
地板  发表于: 2023-10-06 16:07

感谢yzb无私分享好东西
级别: 模拟专家
UID: 235309
精华: 0
发帖: 193
威望: 0 星
金钱: 3642 浮游币
贡献值: 51 点
好评度: 565 点
人气: 0 点
在线时间: 124(时)
注册时间: 2007-07-24
最后登录: 2024-11-14
草席  发表于: 2023-10-10 16:30

回复后可下载?
级别: 模拟小生
UID: 232814
精华: 0
发帖: 30
威望: 0 星
金钱: 1928 浮游币
贡献值: 0 点
好评度: 90 点
人气: 0 点
在线时间: 189(时)
注册时间: 2007-07-15
最后登录: 2024-11-25
5楼  发表于: 2023-10-18 14:57

功能越来越好,学习
级别: 模拟之星
UID: 49661
精华: 0
发帖: 297
威望: 0 星
金钱: 3071 浮游币
贡献值: 2 点
好评度: 845 点
人气: 0 点
在线时间: 628(时)
注册时间: 2005-07-29
最后登录: 2024-11-25
6楼  发表于: 2023-11-05 21:12

不知道我理解得对不对,当运行一个SAROO游戏时,主机内存同时只能有一个游戏的存档;如果换游戏,保存上一个游戏的进度,并且主机内存也里会同步更新成新游戏进度
YZB
级别: 超级版主

UID: 12451
精华: 6
发帖: 19097
威望: 173 星
金钱: 2014 浮游币
贡献值: 10160 点
好评度: 54867 点
人气: 4322 点
在线时间: 19703(时)
注册时间: 2004-10-02
最后登录: 2024-11-25
7楼  发表于: 2023-11-07 10:28

回 6楼(zengzidane) 的帖子

是的,不过最后tpu没有用这套方案,他重新写了一套.
级别: 模拟之星
UID: 49661
精华: 0
发帖: 297
威望: 0 星
金钱: 3071 浮游币
贡献值: 2 点
好评度: 845 点
人气: 0 点
在线时间: 628(时)
注册时间: 2005-07-29
最后登录: 2024-11-25
8楼  发表于: 2023-11-11 00:19

Re:回 6楼(zengzidane) 的帖子

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


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

UID: 12451
精华: 6
发帖: 19097
威望: 173 星
金钱: 2014 浮游币
贡献值: 10160 点
好评度: 54867 点
人气: 4322 点
在线时间: 19703(时)
注册时间: 2004-10-02
最后登录: 2024-11-25
9楼  发表于: 2023-11-11 14:29

回 8楼(zengzidane) 的帖子

目前saroo卡只是支持了内置存储,记忆卡功能还未开放

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

以前市面上那种多合一的功能卡都是使用同样方法,只是那些卡是存到flash芯片上,我们是直接存到tf卡上
级别: 模拟之星
UID: 49661
精华: 0
发帖: 297
威望: 0 星
金钱: 3071 浮游币
贡献值: 2 点
好评度: 845 点
人气: 0 点
在线时间: 628(时)
注册时间: 2005-07-29
最后登录: 2024-11-25
10楼  发表于: 2023-11-11 15:34

Re:回 8楼(zengzidane) 的帖子

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

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

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


好的,期待!
级别: 模拟菜鸟
UID: 322027
精华: 0
发帖: 14
威望: 0 星
金钱: 18 浮游币
贡献值: 0 点
好评度: 42 点
人气: 0 点
在线时间: 19(时)
注册时间: 2022-07-31
最后登录: 2024-11-11
11楼  发表于: 2023-11-27 12:59

我在土星的内置存储器上有几个存档(还有一些存档在备份盒上),目前 Saroo 在我玩游戏时会忽略所有存档,创建自己的存档,这意味着如果我想加载旧存档,就无法使用 Saroo。是否已经有办法将内置存储器中的旧存档与 Saroo 同步?
jounge
级别: 模拟小生
UID: 321357
精华: 0
发帖: 30
威望: 0 星
金钱: 20 浮游币
贡献值: 60 点
好评度: 82 点
人气: 0 点
在线时间: 115(时)
注册时间: 2018-06-08
最后登录: 2024-11-24
12楼  发表于: 2023-11-27 20:24

问一下大大,如果我现在做了一块板子,我怎样直接刷入最新的固件
级别: 模拟小生
UID: 318310
精华: 0
发帖: 49
威望: 0 星
金钱: 1265 浮游币
贡献值: 119 点
好评度: 143 点
人气: 0 点
在线时间: 277(时)
注册时间: 2010-04-18
最后登录: 2024-11-25
13楼  发表于: 2023-12-02 15:43

回 11楼(ardiloso) 的帖子

我也一样有这个需求,只能期待固件更新相关功能了