GBALink烧录系统问题解答


1.很多朋友初次使用GBALink都爱“犯”些小错误,看看下面这些能不能帮你:

  1.首先看看你的烧录器是什么接口的,是USB口的,再仔细读安装USB驱动的方法,好多人没有读说明书,只装了烧录程序,忘记安装USB的驱动而导致找不到GBALink的提示! 安装USB驱动,问题解决。

  2.很多朋友刚买的空白卡带一回去就刷新卡带,出现报错,或用不同版本的刷,报错,这些都是正常的,先烧录,再刷新,问题解决了。

  3.长时间不用,南方的天气比较潮湿,而GBA的通讯口及GBALink的插口都裸露在外,很多朋友没保护,GBA的通讯口或GBALink的插口都不小心氧化或进灰,自然导致找不到GBALink。清理它们,再连接,问题解决。

2.并口版的GBALink为何会出现连接失败的提示?

  连接失败产生的原因有多种情况,不同的情况有不同的解决办法:

  1.开机要首先进入等待连接模式,进入方法是同时按下SELECT键和START键,具体请查看说明书。

  2.首次使用要先调整I/O延迟值,I/O延迟值并不是越大越好,而是需要调整到一个能够保证传输正常,而且尽量小的位置上。具体方法请查看说明书。

  3.有些电脑的配置较低,内存较小,如果使用软复位或金手指功能将出现连接失败,这种情况需要取消软复位或金手指功能,并把优先级调为高或者换更好配置的电脑。

  4.如果连接失败出现在传输1K数据之前,则需要:
    (1).计算机与GBALink之间不要使用打印机共享器。
    (2).在计算机的BIOS设置中把并口设置为ECP模式。

3.为何有些游戏烧写到卡带中,运行时会出现白屏?

  有的游戏加的有片头(比如一些汉化版的游戏),在添加时,会提示是否去掉片头,如果要使用软复位和金手指功能,则必须把片头去掉。但有个别游戏如果去掉片头会造成白屏、死机等情况,对于这种游戏不能去片头,不能使用软复位和金手指功能。

4.为何有些中文的NES游戏在烧录卡上不能运行?

  GBA上运行NES游戏是通过模拟器POKETNES来实现,这个软件是老外做的,因此对中文的NES游戏兼容性较差,从而导致部分中文NES游戏不能正常运行,跟烧录卡没有关系。

5.为何软件升级到新版本后,无法正常备份存档和刷新卡带?

  备份存档和刷新卡带功能必须使用同一版本的软件,如果要使用新版本软件的这些功能,需要重新烧写卡带中的游戏。

6.为何我的卡带不能加入多个游戏?

  对于ZIP卡来说,需要在软件右上角的卡带类型选择框中选择正确的卡带类型,另外需要取消“系统参数”中的“合卡不加入菜单程序”的选项即可。

7.为何选中金手指后,就不能取消软复位了,是否是软件BUG?

  金手指功能和软复位功能是相关联的,因此只要选中金手指功能,会自动加上软复位功能。这并不是软件的BUG。

8.有些游戏有片头,无法使用金手指功能,那么该怎么办?

  需要去除片头。
   一般的片头,软件会提示是否去除,选择去除片头即可。有些游戏的片头比较特殊,没有通用的方法去除,所以没有提示是否去除。不过你可以用老外做的补丁来去哪些特殊片头:http://www.gbadat.altervista.org/

9.为何金手指选择项有时是灰色的,无法进行选择?

  原卡带烧写的不压缩游戏启用了金手指功能,在刷新卡带后可以关闭、启用、修改这个游戏的金手指。并且只要原来卡带里不压缩的游戏启用了软复位功能,刷新卡带后这个游戏就可以启用金手指功能。
   但原来卡带里没有使用软复位或金手指功能的游戏,刷新卡带后将不能启用金手指功能。另外对于压缩的游戏刷新卡带后不能修改金手指属性。

10.为何有些游戏从卡带上备份的存档不能和VBA交换?

  因为从烧录卡上备份下来的存档并不能与VBA的存档100%兼容,对于个别存档会出现不能互换。不过以后的软件上会尽量处理的更好。

11.烧录卡采用的FLASH芯片和U盘采用的FLASH芯片有何不同?为何FLASH卡带不像U盘一样可以随意删除添加数据?

  虽然这两个东西都是采用FLASH芯片,但大家应该知道这两种FLASH芯片是完全不一样的,一种是可以按字节写,一种是必须按扇区块读写(512字节的扇区块),而且读取速度上也不一样,一种可以随机读取速度达到纳秒级,一种必须按扇区块读,随机读取速度在微秒级。所以GBA上不可能直接使用U盘的FLASH芯片。
   U盘的FLASH芯片因为采用扇区块读写方式,和普通的硬盘一样,所以采用的文件系统是FAT格式,FAT文件系统设计时建立了一个文件分配表,允许文件分散存放,这样就可以随意删除一些块,而这些块还可以被新文件利用。而GBA的设计是不允许这样做的,GBA的ROM数据必须是连续存放的,否则ROM将无法运行了。

12.为何烧录卡不能支持任意删除添加游戏?

  有人提出:实现这个功能并不难,只要给ZIP卡带分区就可以了。这样会多占用一些空间。不过如果分区分得比较小,如1M或者以下,就不会浪费空间了。好处就是可以任意删除添加游戏ROM。

  这种想法是错误的。

  按照这种说法,只要采用分区方法,分区块足够小,就可以“任意删除添加游戏ROM”,并且不会浪费空间。
   现在假设用128M的卡带,分区块大小为1M字节(我并不知道前面提出的是1M字节,还是1M位,只是假设一下),现在我们可以计算一下:

----------------------------------------------
   如果往卡带里烧写2个ROM,一个是0525-31.40M位,一个是0379中文60.30M位
   一共分配的空间是32M+64M=96M位(12288K字节),剩余32M位。
   浪费的空间是0.60M+3.70M=4.3M位(550.4K字节)
----------------------------------------------

  现在如果需要把第1个32M的ROM删除并且替换成64M的ROM,并不能直接烧写进去。
   因为卡带只有2个32M的空间,没有1个连续的64M空间。这时需要把第2个ROM搬移到卡带的最前面,用来腾出第1个ROM占用的32M空间,这样就可以在第1个ROM后面烧写上第2个64M的ROM。
   但是这样解决问题并不是这么顺利的,因为产生了2个关键问题,一个搬移数据产生的重复烧写将会减少FLASH芯片的寿命,一个是重复烧写是需要时间的,现在假设烧写速度是1分钟16M位字节,重复烧写64M位数据需要浪费4分钟的时间。而且这不又跟不采用分区方式重新烧写整张卡带没有任何区别了!!!

  现在把分区块改的更小,改为512K字节,根据上面的计算,一样会浪费空间,并且一样在删除第1个ROM后,不能直接烧写进新的ROM。

  这里需要补充一点基础知识:GBA的ROM是不能分散存放到卡带中,只能存放在一个连续的空间里的。

----------------------------------------------
现在就得出来2个结论:
   1:就算采用分区的方法,并不能直接实现“任意添加删除”。
   2:如果要实现任意添加删除游戏,并不是必须采用分区的方法,只要进行数据搬移,腾出足够的空间,就可以实现了。但是必须牺牲卡带寿命和烧写时间。而且有时候跟重新烧写整张卡带没有区别。