请大佬科普下,GBA卡带的几种存档形式,还是有点搞不明白。如果自己烧录单卡应该怎么打补丁?已有大佬给出系统性回复,需要了解的可以看一下。

五级用户 njzhx86 2月前 972

网上搜索资料,好像主要有以下几种

NOSAVE 无存档

EEPROM 存档形式

SRAM 存档形式

FLASH 存档形式


按我的理解:

1、NOSAVE不用说了,没存档功能

2、EEPROM 相当于是把存档和游戏ROM放在一起?利用游戏ROM芯片中未使用的空间来放存档,每次存档相当于是一次烧录,所以也就是D商描述的芯片存档有卡顿。

3、SRAM,电池版,就是用电池给SRAM提供电力,只要电池有电就不掉档,现在还有FRAM铁电,就不需要电池了,可以长期储存

4、FLASH,使用单独的FLASH芯片来存档,断电不丢档,不需要电池


一些D商的魔改ROM本质上是SRAM+EEPROM吗?


然后再细分,EEPROM还要V122 V124等等,SRAM也有V112 V113这些是什么?是容量不一样吗,还是格式不一样。


那现在比如我要烧录单卡,对以上几种存档方式的原版卡带ROM,都是统一打SRAM补丁就行了吗?还有个免电池补丁是干啥的,相当于是D商魔改补丁吗?


请大佬科普下


=========================================

GBA贴吧 卧看微尘 大佬给出系统性回复,搬运过来,需要了解的也可以看一下。

以下是官方gba卡带的原生存档类型:
1、无存档;
2、sram存档,32KByte(256Kbit)。对应卡带存档硬件芯片分为sram芯片(需要电池供电维持关机状态下芯片内的存档数据)、fram芯片(无需电池即可维持芯片内的存档数据)。
3、eeprom存档,从存档大小可分为eeprom 512Byte(4Kbit)、eeprom 8KByte(64Kbit)两种,无需电池供电维持存档。对应卡带存档硬件芯片为对应的两种不同大小的eeprom芯片。
4、flash存档,从存档大小可分为flash 64KByte(512Kbit)、flash 128KByte(1Mbit)两种,无需电池供电维持存档。对应卡带存档硬件芯片为对应的两种不同大小的flash芯片(容量大小相同的flash芯片,具体型号可能使用不同厂商出品的芯片)。

在阅读后续内容前,请记住以下这句贯穿全文的中心思想“讨论存档相关问题,必须从软件和硬件两方面考虑”
3类不同的存档硬件芯片(sram/fram、eeprom、flash),有各自不同的读取写入的函数,用于访问对应的存档硬件芯片,不能通用。存档读写函数(软件层面),和存档硬件芯片(硬件层面),就像是钥匙和门的关系一般,必须互相匹配上才能正常访问。每一个官方gba游戏在确定好使用哪种存档硬件芯片(门)后,都会在游戏rom内置入对应的存档读写函数(钥匙),以达到软硬件的匹配。

早期部分d卡为了使钥匙和门匹配,走的是仿照正卡的路子,即原生用的是什么存档硬件,d卡就用什么存档硬件,软件层面rom内的钥匙不去改动,反过来给钥匙找对应的门。对于d卡商来说,要制作一张d卡,就必须给不同游戏分别准备对应的sram、eeprom、flash硬件芯片。
而中后期出现的sram补丁的作用,就是在软件层面,把不同游戏rom内的钥匙(存档读写函数),统一换成sram钥匙。对于d卡商来说,在制作d卡时,硬件层面就只需要准备一种门(sram硬件芯片)就行了,而无需再准备eeprom、flash硬件芯片,卡带主板也只需要准备一种规格即可,成本上得到了极大优化。自从这个补丁出来后,d卡界就变成了以sram补丁rom(软件)+sram存档芯片(硬件)的d卡为主流的局面。

然而在硬件层面,sram存档芯片的d卡是需要电池维持存档的,没电就会掉档,而电池本身也需要成本。于是便出现了魔改rom,也即免电池补丁。它的原理是在sram芯片的d卡上,在游戏需要保存数据时,软件层面数据正常保存到sram硬件芯片后,再多走一步将sram硬件芯片内的存档复制拷贝到rom所在的flash硬件芯片上,这样关机后即便sram硬件芯片内的数据丢失了,也还有一份备份在rom所在的flash硬件芯片内。而在游戏开机的时候,便会先将rom所在的flash硬件芯片内的存档搬回到sram硬件存档芯片内,以供游戏按原程序读取sram芯片内的存档。

可以看到,免电池补丁的作用,是为了将存档存入rom芯片,也就是硬件层面还需要对rom的flash芯片进行读写,除了sram芯片这扇门,还多了个flash芯片的门需要访问。免电池补丁的工作原理就是需要在软件层面,给rom再加上一把读取flash硬件芯片这扇门的钥匙。
对于d卡商来说,就又可以再省掉主板上电池的成本了。但缺陷也是很明显的,拖慢卡顿。如果说sram芯片对应的钥匙和门,开门只要1s,那么flash芯片对应的钥匙和门,开门可能就需要10s。对于那些需要频繁存档的游戏,进行sram存档可能没什么感觉,但加上免电池补丁需要对flash芯片进行读写,那么就可能会导致频繁卡顿的局面。
至于sram补丁rom(软件)+fram铁电存档芯片(硬件)的免电池芯片记忆组合,对于d卡商来说觉得会增加成本,懒得去用这种对玩家来说更优的方式。所以基本只有玩家自己更换铁电,或者部分店家提供价格更高的fram硬件芯片的卡卖。

对于sram和flash芯片来说,gba能直接读取存档的空间最大只有64KByte(512Kbit)。对于常规打了sram补丁的rom来说,一张64KByte(512Kbit)的sram硬件芯片,就可以通吃除了flash 128KByte(1Mbit)外的所有gba游戏(具体官方gba游戏现有的存档大小见前文最开始的存档类型介绍)。
而对于flash 128KByte(1Mbit)的游戏,官方则是在硬件层面上加了料,以提供所谓切bank的功能来访问完整的存档大小,同样的这个切bank功能也是需要软件层面的函数来告诉硬件什么时候切bank,切哪个bank。
对于常规的sram存档d卡来说,它既在硬件层面不存在切bank的硬件,也在软件层面不存在切bank的指令,对于flash 128KByte(1Mbit)游戏来说最多只能保存64KByte(512Kbit)的大小,这也导致了早年宝可梦sram存档d卡提示存档损坏只能读取备份存档,以及通关后掉档的问题。
为了解决这个问题,新的sram存档d卡上也加入了提供切bank功能的硬件,以及rom内的sram补丁也加入了对应的切bank指令。就跟老外参考魔改rom,做出了免电池补丁一样,老外参考切bank的sram存档d卡,做出了sram1m补丁,以供原生flash1m的存档使用。当然sram补丁、sram1m补丁始终是软件层面的,它们始终需要搭配对应的硬件(sram/fram芯片、切bank硬件)才能正常使用。


总结来说,diy烧录卡的硬件和软件搭配如下:
1、拥有512Kbit sram/fram硬件存档芯片的烧录卡,可以运行:所有sram游戏、以及大部分打了sram补丁的flash 512Kbit、eeprom 4Kbit/64Kbit 游戏。
2、拥有1Mbit sram/fram硬件存档芯片+切bank硬件的烧录卡,可以运行:上述1提及的游戏,及打了sram1M补丁的 flash 1Mbit游戏。


注:sram硬件芯片情况下需要带电池,或对rom打免电池补丁。fram硬件芯片无需电池,也没必要给rom打免电池补丁


即便是使用免电池补丁或魔改rom,由于硬件层面rom所在的flash芯片种类较多,若软件层面免电池补丁或魔改rom内不存在匹配的钥匙(对应flash芯片的读写函数),那么同样是无法正常运行保存的。




上一篇:原来电瓶车是要牌照的啊,我骑了十年都没办……
下一篇:看看一个月内能有多少能玩的游戏(8月26至9月30)
最新回复 (17)
  • 六级用户 进站劣人 2月前
    0 2
    这个太复杂了。。。GBA年代家里没电脑,我都是玩的盗版卡带,烧录卡没玩过。
  • 四级用户 Siale 2月前
    0 3
    楼主研究的比大多数玩家透彻
    我的烧录卡还没让我在存档这个选项上发愁
  • 四级用户 tizzyjude 2月前
    2 4
    gba贴吧有大佬讲解,你甚至还可能看到周哥的回帖
  • 管理员 Oldman 2月前
    2 5

    笼统点讲,大部分游戏都是sram或flash存档,如果你的烧录卡只支持sram存档就把flash存档的游戏打sram补丁,能解决绝大多数存档问题,如果个别游戏不能存档那就具体问题具体分析。
    至于你说的免电池补丁,我也不知道是什么。


  • 五级用户 ougapia 2月前
    2 6
    对于fram,sram,无电池单卡
    NOSAVE-->NOSAVE
    EEPROM-->SRAM
    SRAM不改
    FLASH-->SRAM
    无电池卡还需要另打补丁,让游戏在存档后把sram存档复制到rom里

    对于flash单卡
    NOSAVE-->NOSAVE
    EEPROM-->FLASH
    SRAM-->FLASH
    FLASH不改
  • 五级用户 njzhx86 2月前
    0 7
    Oldman 笼统点讲,大部分游戏都是sram或flash存档,如果你的烧录卡只支持sram存档就把flash存档的游戏打sram补丁,能解决绝大多数存档问题,如果个别游戏不能存档那就具体问题具体分析。至于你说的免 ...

    只谈正版卡带的话
    SRAM 就是有电池的存档版本,电池没电,存档就没了
    FLASH 就是无电池的芯片存档版本,不需要电池,存档一直在,对吧?


    但我用GBATools工具读取原版缩小帽,显示的存档方式是EEPROM_V124,这玩意和FLASH是一回事吗?

  • 五级用户 njzhx86 2月前
    0 8
    tizzyjude gba贴吧有大佬讲解,你甚至还可能看到周哥的回帖
    好的,我来去翻翻帖子
  • 管理员 Oldman 2月前
    0 9
    njzhx86 Oldman 笼统点讲,大部分游戏都是sram或flash存档,如果你的烧录卡只支持sram存档就把flash存档的游戏打sram补丁,能解决绝大多数存档问题,如 ...
    不是一回事,但效果是一样的
  • 五级用户 njzhx86 2月前
    0 10
    ougapia 对于fram,sram,无电池单卡 NOSAVE-->NOSAVE EEPROM-->SRAM SRAM不改 FLASH-->SRAM 无电池卡还需要另打补丁,让游戏在存档 ...
    FRAM铁电也归到有电池一类,铁电存储的不需要再打什么免电池补丁了对吧?

    对于没电池的SRAM卡,SRAM芯片其实就是个临时中转芯片,打了免电池补丁后,会把SRAM的存档烧到游戏ROM芯片中,是这么理解吧?
  • 五级用户 ougapia 2月前
    0 11
    njzhx86 FRAM铁电也归到有电池一类,铁电存储的不需要再打什么免电池补丁了对吧? 对于没电池的SRAM卡,SRAM芯片其实就是个临时中转芯片,打了免电池补丁后,会把SRAM的存档烧到游戏ROM芯片中,是 ...
    对,对。
  • 四级用户 红烧溺水鱼 2月前
    2 12
  • 五级用户 njzhx86 2月前
    0 13
    红烧溺水鱼 搬运自:https://tieba.baidu.com/p/3433975917
    感谢科普
  • 四级用户 ljoyy 2月前
    0 14
    周割以前还分享一些技术,现在只剩割了
  • 四级用户 红烧溺水鱼 2月前
    1 15
    ljoyy 周割以前还分享一些技术,现在只剩割了

    他可是出过真硬解GBA的k101掌机,兼容性比原机还好,他自己说已经把GBA原理研究透了,后来还准备出nds硬解掌机,但是因为ndsl量大又便宜,最后不了了之。

  • 三级用户 th123 2月前
    0 16
    只知道电脑vba模拟器存档sav后缀,开源掌机ra综合模拟器是srm后缀。有些游戏sav存档直接改srm后缀即可,有些要用转换软件转下才能用
  • 五级用户 njzhx86 2月前
    0 17

    贴吧 卧看微尘 大佬给出系统性回复,搬运过来,需要了解的也可以看一下。

    以下是官方gba卡带的原生存档类型:
    1、无存档;
    2、sram存档,32KByte(256Kbit)。对应卡带存档硬件芯片分为sram芯片(需要电池供电维持关机状态下芯片内的存档数据)、fram芯片(无需电池即可维持芯片内的存档数据)。
    3、eeprom存档,从存档大小可分为eeprom 512Byte(4Kbit)、eeprom 8KByte(64Kbit)两种,无需电池供电维持存档。对应卡带存档硬件芯片为对应的两种不同大小的eeprom芯片。
    4、flash存档,从存档大小可分为flash 64KByte(512Kbit)、flash 128KByte(1Mbit)两种,无需电池供电维持存档。对应卡带存档硬件芯片为对应的两种不同大小的flash芯片(容量大小相同的flash芯片,具体型号可能使用不同厂商出品的芯片)。

    在阅读后续内容前,请记住以下这句贯穿全文的中心思想“讨论存档相关问题,必须从软件和硬件两方面考虑”
    3类不同的存档硬件芯片(sram/fram、eeprom、flash),有各自不同的读取写入的函数,用于访问对应的存档硬件芯片,不能通用。存档读写函数(软件层面),和存档硬件芯片(硬件层面),就像是钥匙和门的关系一般,必须互相匹配上才能正常访问。每一个官方gba游戏在确定好使用哪种存档硬件芯片(门)后,都会在游戏rom内置入对应的存档读写函数(钥匙),以达到软硬件的匹配。

    早期部分d卡为了使钥匙和门匹配,走的是仿照正卡的路子,即原生用的是什么存档硬件,d卡就用什么存档硬件,软件层面rom内的钥匙不去改动,反过来给钥匙找对应的门。对于d卡商来说,要制作一张d卡,就必须给不同游戏分别准备对应的sram、eeprom、flash硬件芯片。
    而中后期出现的sram补丁的作用,就是在软件层面,把不同游戏rom内的钥匙(存档读写函数),统一换成sram钥匙。对于d卡商来说,在制作d卡时,硬件层面就只需要准备一种门(sram硬件芯片)就行了,而无需再准备eeprom、flash硬件芯片,卡带主板也只需要准备一种规格即可,成本上得到了极大优化。自从这个补丁出来后,d卡界就变成了以sram补丁rom(软件)+sram存档芯片(硬件)的d卡为主流的局面。

    然而在硬件层面,sram存档芯片的d卡是需要电池维持存档的,没电就会掉档,而电池本身也需要成本。于是便出现了魔改rom,也即免电池补丁。它的原理是在sram芯片的d卡上,在游戏需要保存数据时,软件层面数据正常保存到sram硬件芯片后,再多走一步将sram硬件芯片内的存档复制拷贝到rom所在的flash硬件芯片上,这样关机后即便sram硬件芯片内的数据丢失了,也还有一份备份在rom所在的flash硬件芯片内。而在游戏开机的时候,便会先将rom所在的flash硬件芯片内的存档搬回到sram硬件存档芯片内,以供游戏按原程序读取sram芯片内的存档。

    可以看到,免电池补丁的作用,是为了将存档存入rom芯片,也就是硬件层面还需要对rom的flash芯片进行读写,除了sram芯片这扇门,还多了个flash芯片的门需要访问。免电池补丁的工作原理就是需要在软件层面,给rom再加上一把读取flash硬件芯片这扇门的钥匙。
    对于d卡商来说,就又可以再省掉主板上电池的成本了。但缺陷也是很明显的,拖慢卡顿。如果说sram芯片对应的钥匙和门,开门只要1s,那么flash芯片对应的钥匙和门,开门可能就需要10s。对于那些需要频繁存档的游戏,进行sram存档可能没什么感觉,但加上免电池补丁需要对flash芯片进行读写,那么就可能会导致频繁卡顿的局面。
    至于sram补丁rom(软件)+fram铁电存档芯片(硬件)的免电池芯片记忆组合,对于d卡商来说觉得会增加成本,懒得去用这种对玩家来说更优的方式。所以基本只有玩家自己更换铁电,或者部分店家提供价格更高的fram硬件芯片的卡卖。

    对于sram和flash芯片来说,gba能直接读取存档的空间最大只有64KByte(512Kbit)。对于常规打了sram补丁的rom来说,一张64KByte(512Kbit)的sram硬件芯片,就可以通吃除了flash 128KByte(1Mbit)外的所有gba游戏(具体官方gba游戏现有的存档大小见前文最开始的存档类型介绍)。
    而对于flash 128KByte(1Mbit)的游戏,官方则是在硬件层面上加了料,以提供所谓切bank的功能来访问完整的存档大小,同样的这个切bank功能也是需要软件层面的函数来告诉硬件什么时候切bank,切哪个bank。
    对于常规的sram存档d卡来说,它既在硬件层面不存在切bank的硬件,也在软件层面不存在切bank的指令,对于flash 128KByte(1Mbit)游戏来说最多只能保存64KByte(512Kbit)的大小,这也导致了早年宝可梦sram存档d卡提示存档损坏只能读取备份存档,以及通关后掉档的问题。
    为了解决这个问题,新的sram存档d卡上也加入了提供切bank功能的硬件,以及rom内的sram补丁也加入了对应的切bank指令。就跟老外参考魔改rom,做出了免电池补丁一样,老外参考切bank的sram存档d卡,做出了sram1m补丁,以供原生flash1m的存档使用。当然sram补丁、sram1m补丁始终是软件层面的,它们始终需要搭配对应的硬件(sram/fram芯片、切bank硬件)才能正常使用。


    总结来说,diy烧录卡的硬件和软件搭配如下:
    1、拥有512Kbit sram/fram硬件存档芯片的烧录卡,可以运行:所有sram游戏、以及大部分打了sram补丁的flash 512Kbit、eeprom 4Kbit/64Kbit 游戏。
    2、拥有1Mbit sram/fram硬件存档芯片+切bank硬件的烧录卡,可以运行:上述1提及的游戏,及打了sram1M补丁的 flash 1Mbit游戏。


    注:sram硬件芯片情况下需要带电池,或对rom打免电池补丁。fram硬件芯片无需电池,也没必要给rom打免电池补丁


    即便是使用免电池补丁或魔改rom,由于硬件层面rom所在的flash芯片种类较多,若软件层面免电池补丁或魔改rom内不存在匹配的钥匙(对应flash芯片的读写函数),那么同样是无法正常运行保存的。

  • 五级用户 knsqc 2月前
    0 18

    存档芯片就一个存储介质而已,正卡存档大小不同,不同容量芯片价格不同,为了节约成本才分的几种形式而已,主要还是那个时候芯片没得选

    • 老男人游戏网配套论坛
      19
        立即登录 立即注册
发新帖
本论坛禁止发布SWITCH和PS4相关资源,若有其他侵权内容,请致邮3360342659#qq.com(#替换成@)删除。