直到本系列文章第七篇,我仍然在坚持完全使用软盘+软驱的驱动方式去玩旧时代的游戏,但是最终还是妥协了,正如标题下的说明所说:在磁性存储物质即将失效的今天,软盘只能以别的方式去保存了。
3.5英寸软盘大概于21世纪初,USB闪盘流行后开始退出个人存储的舞台,算到今日已经大概20年了,根据kyroflux这一组织的成立理念中所提到的,软盘和光盘的非接触读取不同,软盘的介质是一种硬接触设计,即磁头是在与磁片的接触过程中读取磁盘的每条磁道中的磁信号强弱的数据,形成特有的磁信号起伏并转化为二进制数据,但是终归这种接触会对整个磁性表面产生逐渐的破坏,而磁片的表面是氧化磁粉和胶体的设计,在一次次接触后势必会逐渐剥落,再加上地磁,磁性物质的误接触,现有的磁碟基本都已经岌岌可危。
在正常的使用中,虽然大部分磁碟仍然可以基本稳定的读取,但是也有大部分处于一种临界状态。而且磁碟本身的稳定度也与磁环境,磁头的可靠度有关,即便是同一片软盘,每次读取的情况也完全不同。根据我的使用过程来看,经常会出现某一扇区的磁信号突然减弱导致读取出错,但是第二次读取又正常的情况。
于是,在这种物理性不稳定的情况下,软盘时代的游戏均可以称为“濒危游戏”,以软盘为载体的游戏,除非早已提取并数字化,否则基本可以说是处于随时可能散失的状态。
并不是我不想玩正版,只是历史逼得我得不把正版供起来,不去继续伤害它——作为一个“正版侠”,我第一次陷入了纠结,然而站在保护游戏历史的角度上,只能走上妥协之道:不用模拟器环境,坚持原机是最后的倔强,那么脆弱的软盘载体是否可以备份化、数字化并模拟还原其运作呢?
如果说第一个要讲的,我觉得必然是HxC软盘模拟器(官网),应该说我对仿真软驱的研究最开端就是他的作品。 但也有些玩家希望保留原有物理软驱,并采用仿真软驱外接到扩展接口的方法来让仿真软驱作为一个可选部件来使用,于是就可以使用RevC的纯电路板版本,这个版本并不像F版一样做成了3.5英寸软驱的外观,而是单纯的一块电路板+LCD屏幕。但是Jeff本人销售的Rev C是裸板,十分的丑不说,还必须使用传统的4pin软驱电源接口,如果外接还需要自行购买USB转4pin的转接线。
不过也有部分合作网店提供了带有精美金属外壳的Rev C MAX版,把电源接口改为了5V标准口或MicroUSB通用口,这就好看很多了。
为什么先介绍HxC,因为这可能是所有RetroPC粉丝里最早进行对旧计算机、旧游戏机的软驱进行仿真化的一个项目,早在2006年Jeff就开始了相关的研究,直到大概2011年终于研究出了一套可行的方案,并加以量产化。所以,除去那些专供企业的超级昂贵的模拟方案之外,HxC也堪称个人复古or旧设备软盘替代品中的“扛把子”了。
HxC之所以能成为现在的首选,最主要的是他的固件几乎模拟了欧美所有计算机架构下的软驱的信号(支持列表),而且支持软盘格式的程度也非常高,大部分常见的镜像文件格式都可以读取,能够模拟大多数的软盘,甚至是一些特殊格式。所以几乎可以利用到欧美所有老掉牙的设备上,甚至在前几次更新中还支持Mitsumi的Quick Disk标准的软盘(FC磁碟机即为此标准的改版),可谓更上一层楼。 而且,HXC固件本身是支持“双驱模式”的——也就是可以同时模拟两个软驱。因此。在欧美复古计算机玩家和中小企业使用工控的环境中,HXC备受青睐。
而且,HxC的作者自研了一套特殊的软盘格式HFE(HxC Floppy Emulator file format),将镜像数据,软盘的原始物理参数及各种环境的模拟信息全部封装进文件中。虽然这样会使文件体积变得几乎大了一倍,但也能最大限度的保证镜像运行的稳定性和仿真性,一些无法直接读取的软件格式(如PC88常见的D88格式镜像)也可以用这个软件转换为HFE来使用。
不过,HxC虽然是很多人“首选”,但是它依然有自己的弊端。
首先,HxC作为欧洲人的作品,其重点还是着眼于欧美地区的热门计算机系统(Amiga、康懋达、雅达利等),以及IBM PC(PC/AT)和shugart标准的软驱,在这些设备上还是正常使用的。
但对于一些特定地区特殊制式的计算机尤其是日本自有制式的电脑就存在一些兼容性的问题了,而且日式电脑特有的Mode3模式和1.23MB的格式也是一个很大的问题,因为其扇区数、轨道数都很特殊,模拟的难度也更大。
目前大部分仿真软驱对日系电脑的软驱引脚标准是建立在AKAI S950采样器的软驱参数的基础上,虽然大部分日系电脑都是基于这个标准,但是仍然有一些特殊构造的日系电脑并不是这样,而且对日系软盘的格式兼容出现这样或那样的问题,因为HXC等仿真软驱无法模拟日系电脑的独有特殊信号,尤其是X68000、PC98这类存在特殊信号的电脑,都得或多或少的进行一些改造,否则HXC使用在这些设备上会不正常(这点下边再讲)。
而且,HXC的作者本人也并不是太关注于日系电脑方面(毕竟在欧美玩日系电脑的是少数),所以对日系电脑的兼容只能仰赖于有部分热心爱好者给作者寄过去机器去研究,才能得出相关的数据(并且我感觉Jeff本人的脾气也不太好)。
另外,HxC虽然已经实现量产和商品化,但是用料比较昂贵,还是处于半“手工作坊”的模式,HxC的价格依然没有能够压到称之为“廉价”的程度。Rev C的价格稍微便宜一些,但仍然在63-65美元之间(根据不同经销商,价格浮动),Rev F则更为昂贵,花接近1000块钱海淘一个设备,也不是谁都能接受的,尤其是部分设备还需要2个以上软驱,那就更无法接受了
综上所述,HXC属于游戏机、老计算机仿真软驱的“中端方案”,砸银子来一台可以,真要拿来大规模替代软驱,实在是有点成本太高。
由于HXC的成本迟迟压不下来,jeff等作者同时也把目光转向了中国:那就是GOTEK(高泰)仿真软驱的改造。
GOTEK(高泰)是来自深圳Gotek system公司的基于ARM的仿真软驱,由于是国产产品,其量产化水平也是非常高的,它的优势是价格十分低廉,就算是最高级型号的这种数码管版本的也仅仅只有120元左右的价格,可以说是最廉价的仿真软驱了。而且淘宝遍地都是,极其好买到。 但是,原始的GOTEK的功能实在是太初级了,首先,官方版本只有三种(三个不同价位):三位数码管(模拟1000张软盘)、两位数码管(模拟100张软盘)和无显示(一U盘=一软盘),由于数码管只能显示简单的数字和字母,所以GOTEK要使用镜像必须采用专门的格式化程序,将U盘格式化成若干个1.44M的分区,每一个分区仅仅存放一个镜像,靠分区的序号来切换镜像,十分的麻烦。
而这个软件对软盘的模拟也很初级,最早的版本只支持1.44M,也就是最后期的3.5英寸软盘这一格式,虽然后来新版本支持了1.2M(5.25英寸2HD)、1.44M(3.5英寸2HD)和720K(3.5英寸2DD)。但是这对于错综复杂的旧式计算机的软盘格式是完全不够的,因此很明显,GOTEK主攻的就是国内这些绣花机,纺织机等简单环境,就不是为了复杂场景而设计的,所以GOTEK的原始版本是基本没有什么使用价值了......
但是,既然GOTEK用的是ARM7芯片,证明它就有很高的可修改性和可配置性,和路由器一样,HxC的作者Jeff和另一个github的程序员keirf看中了Gotek的廉价和可改造性,于是分别为Gotek制作了第三方自制固件,并提供了更多的可扩展改造,算是让Gotek正式变成了一个既廉价,又有改造乐趣的仿真软驱的新选择。
Gotek要想用第三方自制固件,必须“刷机”,也就是用编程器或者强行进入DFU模式来擦写芯片,并写入新固件数据。
最普通的方式就是接上一个STM用的USB下载器,这东西也很便宜
而有些用户觉得买个下载器没多大用,那就只能用跳线的办法进入DFU模式,然后用一根公对公USB线接到电脑上,再用开发软件刷入固件,这种方法比较麻烦一点,但是主要在不需要买什么特殊的东西。
关于GOTEK的自制固件,首先说的是HXC,因为HXC的“手工作坊”的生产力,所以Jeff也考虑到了将HXC固件移植到产量更大的GOTEK,HxC For Gotek就这么诞生了。
Gotek版HXC固件与商品版基本一致,唯一的缺点就是gotek的用料较差可能比不上商品版HXC,不过重点在于便宜,这点就是一个巨大的优势了,就算大量使用也花不了多少钱。
不过,Jeff做GOTEK版固件并不是做慈善,他也是要收费的——刷HxC固件需要用户用邮箱注册后并为每个设备付款10欧元(加税12欧元),一次付费仅能刷一台设备。
这时候有人会问了:Jeff是怎么保证付费激活的呢,原来他采用了一种很奇特的办法:首先往ARM芯片内直接刷入的只是BootLoader(底层引导),如果是下载器刷固件,需要用他专门的installer,输入帐号密码之后才会往Gotek里刷入BootLoader和激活数据,之后再用U盘进行单独的固件的写入升级就可以了,此时Jeff的服务器也会记录下这块ARM的序列号,以后就可以无限刷。
对用DFU模式刷新的用户,则采用一种稍微复杂一点的“离线刷”(offline)方式:先用DFU模式配合开发软件刷入离线的BootLoader,然后把升级固件文件和一个用于记录基本信息的bin文件放入U盘,插入GOTEK来记录下基本信息,并把BIN文件发至HXC的激活邮箱,等待它返回一个确认的BIN文件(最早这个步骤完全是jeff手动操作,但是他现在已经搭建了自动回复邮箱,完全自动化了),覆盖至U盘即可刷入固件,此时服务器也会记录下这台机器的数据。
当然,有一些比较拮据的玩家更希望寻找免费的方案,而且Jeff本人虽然开源了固件的源代码不过依然还坚持半闭源收费,而且激活步骤也容易出错(我指导别人激活愣是花费了一个中午)。
并且刚才也说了,HxC虽然强大,但是强行移植到Gotek这一廉价的平台就不一定那么好用了(下面会详细说),因此github里的英国程序员keirf另辟蹊径,造就了后起之秀Flash Floppy固件(Github页面),为广大复古电脑玩家提供了另一选择。 Flash Floppy固件(以下简称FF固件)是英国程序员keirf制作的开源Gotek自制固件,使用方法与HxC基本雷同,刷机方法也基本一样,甚至FF固件的软盘镜像转换还需要HxC的软件才可以进行转换。
但是FF固件和HXC固件二者侧重点不一样:HxC重点在于易用性,所以提供了转换程序,可视化配置界面和尽量少的配置选项,基本就是“即插即用”,但是这对于一些特异情况就不那么舒服了(我自己就遇到了,而且因为多次询问作者Jeff还被Jeff认为是无理取闹)。
而FF固件提供了更多的参数选择——FF的配置文件是一个标准的文本配置文件,可以对每一项都进行配置,固件的介绍说明里也提到了“FF固件具有高可配置性”,实际上大多数特殊架构软驱的问题都可以通过微调来进行修正,只不过对于一般用户来说,这些参数又多又杂,实在是不好看,远没有HxC那么直白。但另一方面,只要有用户试出了某一种设备的配置方法并共享给他人,那么根本不用作者去关注就可以解决一些特有的问题,社群众人加入到FF固件的调试和实验,让它适配的设备能够更多一些。
同时还有一点,FF固件提供了日式电脑的标准配置(JP-PC配置,虽然仍然是AKAI S950的标准改的),且同时提供了PC98软盘镜像最常用的两个格式HDM和FDI的直接支持,这点导致FF对日式电脑的支持度远胜于HxC。
刷完了自制固件之后,自然要魔改GOTEK,因为GOTEK就算是最高级的版本也只是有三位数码管,实在是太简陋了,所以如果想更加舒适的使用改版GOTEK,必须要对其进行更改,而GOTEK的主板也提供了很多的接口引脚,所以都被自制固件的作者利用上了。
显示模块(OLED或LCD):GOTEK原配的数码管毕竟还是太简陋了,显示不了太多的数据,所以几乎所有的自制固件GOTEK第一时间都要将数码管改为OLED或LCD,以便于显示镜像的信息等,否则数码管只能使用INDEX(索引表)模式,每个镜像必须按照特定格式命名,且通过序号切换镜像,非常麻烦。
换显示模块其实非常简单,几乎都是现成的模块,拔掉原有的数码管接上新的模块就行了,HXC的商品版使用的是I2C LCD模块,换起来也很简单,拔掉后用新的带头杜邦线把针脚依次接上即可。
不过LCD显示太过“颗粒感”而且还有可视角度极限(特定角度一片黑或一片白),用不用只能看是否个人喜爱了。
当然,实际上更多人用的是OLED——清晰度更高,可视度更佳,目前自制固件支持 SSD1306 的OLED模块,可以支持0.91寸(128X32)和0.96寸(128X64)的模块,这个模块极其便宜,也是单片机机器人常用的模块,淘宝上到处都是。
很明显,0.96寸的模块有点太大了,塞不进GOTEK里,只适合那种把显示屏外接到别的地方的场合,目前大多数用户还都是接0.91寸的模块,因为这样正好可以利用GOTEK的数码管的开孔,我目前的改造方法是切掉里面的限位槽,用热熔胶将它粘在外壳上。当然,数码管开孔还是比模块小一点,FF固件在设置里提供了把显示宽度设置为符合GOTEK开孔的大小,而HXC则只能用锉刀把开孔稍微打磨的更大一些了
内部菜单模块(OSD):这个基本都是利用到Amiga和Atari ST这类电脑上,可以在游戏画面显示选择镜像菜单等信息。
OSD显示虽然不需要添加什么新的模块,不过需要焊接到原有设备的电路上。估计很多人不会改造了,毕竟几十年前的设备谁都不想改坏了。
按钮和旋钮模块:原始GOTEK只有增、减两个按钮,如果选择镜像和选择设置菜单后还需要等1秒钟才会确定,如果不想等这一秒钟,可以安装一个确认按钮,只需要接上一个微动开关即可(见上图的“第三个按钮”),只不过原版GOTEK外壳并没有给这个按钮预留开孔,需要自己打孔。
有些玩家甚至觉得按按钮都很麻烦,自制固件还提供了一种更高级的模块选择——旋钮模块,只需要买单片机机器人的那种带微动开关的旋钮模块就可以了,很多搞DIY的都是装上这种旋钮
我也买了一些这个模块,但是发现该模块太大了,GOTEK外壳内部的空间根本放不下,而且旋钮会导致面板突出太多,很不方便,只好放弃。
蜂鸣器模块:这个就纯属情怀了,因为有些怀旧玩家会觉得软驱运转时磁头的声音是一种“浪漫”,但是换成了仿真软驱之后,读盘时鸦雀无声总像是缺点什么,这个蜂鸣器就是利用换磁道的信号来模拟读盘的声音的,官方HXC商品版自带蜂鸣器,而GOTEK自制固件也可以安装蜂鸣器,虽然这个蜂鸣器顶多只能发出类似针式打印机的“滋滋”声音,与真实的软驱声音还是有差距,不过能发出模拟读盘的声音来就已经足够了。
自制固件支持的蜂鸣器为压电蜂鸣器,HXC可以随便使用有/无源蜂鸣器,但是FF固件建议使用有源(有发声源)的单音蜂鸣器,使用无源蜂鸣器声音会很小。另外,这个蜂鸣器在不同设备上发出的声音也有差距,有的会非常沙哑(如PC88),有的则十分清晰(如X68000)。
当然,GOTEK那么便宜,自然也就是个廉价方案,所以本身还是不如那些付费方案那么实用。首先的问题就是GOTEK是不可能使用双驱模式的,因为HXC的双驱模式是靠两套跳线来决定模拟的两个软驱的序号,而GOTEK只有一套跳线,所以用GOTEK的话,多软驱的设备就得装复数个GOTEK,而且还需要设置对跳线,否则结果就是两个GOTEK都别想读盘。
GOTEK原本在2021年之前使用的是意法半导体的STM32芯片,但是随着全球芯片短缺,STM32芯片的价格逐渐上涨,为了节省成本,从2021年开始GOTEK公司就开始逐渐将ARM芯片更换成为了雅特力(ARTERY)的国产芯片AT32芯片。
AT32虽然可以平替STM32,另外进入DFU模式的跳线方法(AT32比STM32少一根线)以及“刷机”程序不一样,当然这都不算什么问题。最大的问题是这个:STM32的缓存是64KB,而AT32为32KB。
由于仿真软驱处理数据时也与真实软驱一样,需要把一条磁道的数据整个放进缓存内,再与设备进行数据交换,少了一半缓存意味着芯片能放下的数据更少,会与U盘产生实时的数据交换,如果此时U盘的读写速度跟不上的话,就会遇到各种问题——最常见的是读写突然停止报错,这种错误常出现在大量向软盘内写入数据,或者对软盘进行变更格式的全盘格式化的时候。
然而随着STM32版的GOTEK存货逐渐减少,这一问题也逐渐显现,HxC打算采用往U盘内增加页面缓存的方式来解决这一问题。FF固件则直接建议用户使用质量更好,写入速度更快的U盘,然而也是收效甚微。而其实STM32也有时候会偶尔出现读写中断的错误问题,只不过AT32更严重。GOTEK官方也声明GOTEK只适合于少量的数据写入,而不适合整盘格式化和整盘复制,对于使用已格式化的空盘的环境,HxC的镜像转换软件也提供了直接生成格式化完毕的标准软盘镜像的功能,但是对于一些比较特殊的软盘格式,那就基本没戏了......(之后会说)
目前,HxC那边Jeff得到的消息是GOTEK正在开发大缓存版的AT32芯片GOTEK,但是不知道何时才会量产,只能等下去,或者去购买STM32芯片的存货。
洋洋洒洒说了这么多,下面我就说说自己在我之前收藏的各大PC上安装GOTEK的一点实操心得,虽然大部分还是比较顺利的,不过依然遇到了不少恼人的情况。
当然,目前PC98我并没有购买台式机,所以PC98我并没有做仿真软驱的替换,不过我也参阅了不少日本用户写的心得内容,这点在最后做一点介绍,就不详细说了。
首先改造的是MSX2的分体软驱,之前我说过我的MSX的软驱是索尼的分体软驱HBD-F1,由于MSX2的软盘都是标准的720K的2DD 3.5英寸软盘,所以是一个标准型号的软驱,可以直接套用GOTEK+自制固件,因此我先拿它练练手。
HBD-F1看似挺复杂,其实整个软驱部分就是一个大铁壳子,除去后面有两个螺丝之外就没有什么固定的螺丝了,卸掉两个螺丝后,把上下底板抽出来,发现里面的空间实在是太空了,除了左边的电源板之外,只有一个整体的软驱。
之后再把4pin的电源接口和34pin的数据接口拔掉,然后把固定软驱的螺丝卸掉,抽掉软驱换上GOTEK ,设置好GOTEK的跳线为ID0(0号软驱)或MO(自动识别),再原封不动的装回去即可,34pin数据线和4pin电源接线,乃至固定螺丝都可以完美吻合GOTEK(除了固定螺丝因为GOTEK的螺丝孔太小需要多拧几下),甚至黑色的GOTEK放在机壳内也并不显得突兀,反而有一些科技感。
之后我分别在HXC固件和FF固件下试验了下运行了一些游戏的镜像,包括《伊苏》、《美少女梦工厂》、《英雄传说》等,虽然两种固件的作者都建议用户将镜像转为HFE格式使用,但是MSX软盘游戏常见的DSK格式镜像也是固件直接支持的镜像,大部分镜像都可以无需转换直接运行,甚至部分镜像如伊苏转成HFE反而倒无法读取了,另外,用HXC固件生成的720K的空HFE格式镜像,也可以为《合金装备2》、《伊苏》、《美少女梦工厂》等游戏作为存档软盘使用。
不过,还是还有一类镜像无法读取:这类镜像基本都是当年一些盗版商把卡带ROM转换成软盘流通的镜像,虽然在模拟器中可以读取,但是却无法被仿真软驱读取,应该是镜像不是标准格式的缘故。
不管怎么说,改造还是非常成功,只不过MSX的纯软驱游戏不多,改造后我也只有三到四个游戏需要用到。
由于GOTEK可以平替3.5英寸软驱,所以我第一优先是先把所有使用3.5英寸软驱的机型替换掉,第二步,我就替换掉更复杂一点的FM-TOWNS。
我的FM-TOWNS是后期台式机FM-TOWNS II FRESH E,1995年出品,此时FM-TOWNS已经处于劣势,早期的TownsOS和DOS已经式微,因此FM-towns也开始尝试兼容windows 3.1、Windows 95等兼容机的系统。为了最大限度的和兼容机兼容,减少了很多特殊制式的部分,首先就是软驱换为了标准3.5英寸软驱(34PIN),不再采用特殊接口,因此更换软驱比之前的机型方便的多。
这里也顺便提一下,如果是早期塔式FM-TOWNSII,它的TEAC软驱接口虽然是34PIN却无法直接使用GOTEK(接口信号定义不一样),如果是游戏机化的FM-TOWNS Marty也无法直接使用(接口不一样),这两种机型还需要做一张转接电路板才可以接上GOTEK,目前转接电路的PCB图都已经公布了,有需要的可以自己找人抄板(塔式转接板Github页面和Marty转接板讨论页面)。 FM-TOWNS FRESH E虽然比MSX换软驱复杂点,但也没复杂到哪去,就是螺丝多了一些。拆开机盖后就能看到软驱了,但是此时还是拔不下来的。
然后只需要把遮蔽软驱接线的顶盖拆掉,前面板拆下来,再把软驱的铁笼架子拆下来,拔掉所有接线就OK了,之后再把GOTEK原封不动的装到铁笼架子里,设置好两台GOTEK的跳线分别为ID0和ID1,再复原即可,整体来说并不难,只是部分螺丝藏的地方太隐蔽,拔线需要使劲用手抠,拆装有点手疼。
FM-Towns我采用的是白色GOTEK,插上后感觉还不错,而且我发现GOTEK在FM-TOWNS上,蜂鸣器发出的声音是最大的,听起来也最像真正的软驱。
首先先尝试一下HxC付费固件,从这时候开始就遇到了日式电脑的软盘格式的恼人问题了。
FM-TOWNS和PC98这两台机器虽然都迎来的3.5英寸软盘,但是此时它们只是为了或多或少的和PC/AT(兼容机)接轨,大部分都是应付差事,比如用了3.5英寸软盘却坚持特别奇葩的1.23MB格式,这个格式并非标准3.5英寸格式,只是为了最大限度兼容之前的2HD的日式计算机5.25英寸软盘格式。
而且,这1.23MB的软盘不仅容量与标准软盘不一样,连参数也不一样:只有77个轨道,每个轨道只有8个扇区,即便后来PC98以及FM-TOWNS可以使用、读取和格式化1.44M软盘,也只是“应付差事”一般的为了和PC/AT兼容,至于这些日式电脑的软件用的软盘则基本都是1.23MB格式的。
这样就很麻烦了,到底FM-TOWNS用哪种软驱标准呢?HxC的官方兼容列表里写的FM-TOWNS使用的是shugart标准(早期计算机软驱标准)设定,但是我设置为shugart之后,却无法读取任何软盘。后来我在支持论坛发帖提问,jeff本人回复说让我使用AKAI S950的配置,结果还是不能正常读取,然而纳闷的是我把配置调成IBM PC(标准兼容机软驱),反而一切都正常了。所以看来FM-TOWNS FRESH已经是标准IBM PC的软驱了(所以才不需要任何转接板就可以使用)
不过,大部分FM-TOWNS软件中要创建“用户软盘”(大部分是用于存档),是必须把整个软盘的盘面的逻辑扇区全部抹掉,并变成77轨8扇区的格式,这一过程需要大量传输数据,这样就遇到了我在之前说的问题:芯片缓存。
我最早使用的是现在很好买到的AT32版本GOTEK,首先试验了几个游戏,还算运转正常,但是当我试验到《英雄传说1》的“备份场景盘(包括存档)”和《英雄传说2》的“备份程序盘(也包括存档)”、“制作用户盘”的功能时,全都都是运转几下就出错中断了。
而另一个falcom的游戏《dinosaur》上,存档是必须要创建“用户盘”的,这个功能也是直接出错。
再看操作系统中的软盘格式化功能,TownsOS的格式化功能无法格式化软盘,FM-towns版DOS下格式化直接提示0轨道错误。
我只好又给jeff发信息,jeff除了问我用的是哪种芯片的gotek之外,只是告诉我“升级到最新版本的固件”,并使用他给我提供的他自己制作的基于AKAI S950的软盘空镜像,不要用其他格式的空镜像或没有格式化的镜像。
结果,这个镜像在HXC上还是出错,我和jeff交流半天,他只是再度强调一切格式化功能全部要用AKAI S950的软盘空镜像,并让我继续实验。
当然,我也不能只死磕在HxC上,于是把两个GOTEK刷成了FF固件,之后再做实验,虽然游戏里的制作相关软盘的功能磕磕绊绊时断时续,但是用户盘勉强还是能做出来,只不过《dinosaur》中为游戏存档会经常性出错,试好几次可能能够存成功一次,而且还可能陷入无法识别用户盘的死循环。
另外,FF固件的GOTEK在TownsOS下还是不能格式化软盘,DOS下格式化虽然也会报错,但是终归还是能凑合格式化完成,只不过每次都会提示有大概几KB的坏块。于是我用HXC自带的轨道分析功能查看了一下软盘镜像,发现镜像内的轨道乱七八糟,还有很多红色的坏道。
好吧,再次询问Jeff,这次Jeff只是说这是AT32芯片缓存过小的固有问题,在格式化覆写软盘时出现的部分数据丢失,没有任何办法,只能靠更快一点的U盘减轻,或者自己去买STM32芯片的GOTEK,并要求我把有坏道的镜像发给他,隔了一会他给我发过来他“修复”过的镜像,坏道全部被去掉了,只不过假如我每次转出来的镜像都有坏道,每次我都要发给他让他手动修复,太麻烦点了吧?
这时候我还想问Jeff有没有更方便的解决方案,Jeff彻底的不耐烦了,觉得我有点无理取闹,而且我感觉他对FF固件也有一定的敌意,为了以后还能继续交流,我选择默默的结束讨论......
后来我火速的购买了两套存货的STM32版GOTEK,这次我不愿意再花钱刷HXC固件了,直接刷成FF固件,再次实验,这次看来是真的没有问题了。
总之就是白瞎了24欧元刷了HxC固件,结果完全用不了,之后还多余出两个AT32的软驱,由于我其他机器都是黑色的,这两个白色的装上还特别丑,只好折价卖掉了,唉......不过好在STM32软驱和FM-Towns配合的挺好,FM-towns的软驱仿真化告一段落,不过FM-Tows作为第一款带有光驱的日式计算机,本身它大部分游戏都是CD游戏,纯软盘游戏屈指可数,软驱的最大作用是作为CD游戏的存档用盘,所以折腾半天也就《英雄传说》等少量游戏需要完整的使用两个软驱,至于CD游戏,反正FM-towns的CD软件没有反盗版措施,随便提取镜像刻个盘就行了......
FM77AV是FM-towns的前一代计算机,不过它是当时所有的日式计算机中最早使用3.5英寸软驱的。同样也因为FM77是3.5英寸软驱,所以第三个我就要改造它了
FM77AV虽然是3.5英寸软驱,但是他是早期的那种比较厚的,结构仍然类似5.25英寸软驱的型号,FF77AV的拆装还是挺简单的,卸掉机壳后,两个软驱都在一个巨大的屏蔽笼里。
卸掉屏蔽笼就露出里面的两个软驱了,FM77AV的软驱仍然和5.25英寸软驱一样,采用的是“一线双驱”的方式,即使用一个口引出两个接头,靠线序来确定软驱的序号。
同样只要拔掉线路,把软驱从底座上卸掉螺丝拿下来,再把卸下来的固定板安装在GOTEK上,之后设置好两台GOTEK的跳线分别为ID0和ID1即可,当然,FM77的各种螺丝还是非常隐蔽,很多都要螺丝刀伸进去才可以旋下来,搞的手很疼。另外,这种原始粗笨的3.5英寸软驱远比GOTEK要大而厚,安装上后,上面、下面都有缝隙,煞是难看,我也没有什么可以遮盖的东西,只能看看以后是否可以3D打印一个遮盖板给遮上了。
而且第一次安装开机后,两个软驱还都报错“ribbon”错误,原来FM77的软驱的排线的线序和后来的3.5英寸软驱是上下相反的,所以还需要把排线旋转180度再接上,这样就正常了。另外,FM77可能是因为电压稍低,蜂鸣器声音十分沙哑,听起来一点不像软驱的声音,但是也只能这样凑合了
FM77的软驱还是早期的shugart架构,因此将固件配置设置为shugart即可,而它使用的软盘格式是40轨道的特殊720K 2DD软盘,其中有40条隐藏轨道,不过这种格式并不是什么日本专属格式,因此GOTEK可以很好地模拟,也没有什么游戏出错。
只不过,FM77没有什么太出名的游戏,除了伊苏等几个游戏基本就没了,和其他日系计算机重合太多,我并没有实验HxC固件,而是直接使用FF固件,大部分游戏都可以直接运行,整个过程没有遇到什么难点,PASS。
至此所有3.5英寸软驱的主机都已经替换成GOTEK了,下一步就是比较复杂的5.25英寸软驱的主机了,首先是我那台帅到掉渣的PC8801FH。
5.25英寸软驱替换GOTEK比3.5英寸稍微难一点,主要难点是接口问题,5.25英寸软驱的接口叫做“edge”接口,其实就是和游戏卡带一样电路板的金手指,双面一共34条引脚,而3.5英寸的是插针式34pin,所以需要一个转换板才可以使用。另外,5.25英寸的电源口还是大4pin电源口,需要转成小4pin口才可以被GOTEK使用。
大4pin转小4pin电源线好买,淘宝上就有卖的,但是edge转34pin接口转换可就不好买到了,虽然这个转接板也是简简单单的几条线路,抄板也不算太费劲,但是国内有这种需求的人太少,因此根本没有店家去做,我最后找半天只有日拍和ebay有销售——小小一块电路板还得海淘。
等待20来天,这块板子才到家,而且还要买一根34pin延长线,并且正常计算机的那种软驱线是不可以使用的,因为他有部分引线是扭曲的,必须买标准的无扭曲的34PIN排线才行。
至于PC8801的拆解更换软驱可能是所有计算机里最烦的,倒不是它螺丝多,而是它的2号软驱的固定螺丝藏在了电源模块旁边,不卸掉电源模块根本够不到。而卸掉电源模块的前提是卸掉后部接口的面板,于是为了更换软驱,我需要卸掉上机盖,后面板,电源......
另外,3.5英寸软驱比5.25英寸软驱小一圈,要装在5.25英寸主机上,还需要一个光驱位(5.25英寸)转软驱位(3.5英寸)的铁支架,但是国内网上这类东西也属于逐步淘汰的时期,大部分网站买的都是直接供硬盘使用的硬盘抽拉夹式支架,而软驱固定架需要用螺丝固定的那种,好在还没有到完全找不到的情况。
当然,现在白色的支架几乎已经找不到,如果是白色机壳主机,还需要自己喷漆,不过我的机器是黑色的,黑色支架装上毫无违和感。
当然,装完后PC8801还得调试GOTEK的排线,因为PC8801FH的排线设计是双驱双线,因此他不是靠线序和跳线决定软驱编号的,而是靠接口决定,我首先使用了和FM77一样的设定将两台GOTEK的跳线分别选择ID0和ID1,结果就是读盘完全不正常了,只有把两台GOTEK的跳线全部设定为ID0才可以正常使用。
而且这么设置之后,我发现只有一台GOTEK的读盘灯会亮,这个灯不管任何一个软驱运转都是这个灯在亮,看起来很别扭,而且蜂鸣器的声音和FM77一样沙哑。
而最讨厌的一件事:开机后我发现左边(1号软驱)GOTEK的OLED屏经常是花屏,需要开关机几次后才会正常,虽然FF固件的说法是更新BootLoader能够解决这个问题,但多次使用后仍然会出现花屏,看来是PC88的按钮开关的电流对GOTEK有影响,真是麻烦......不过也没有办法了。
全部鼓捣好之后,开始配置固件设置,PC88的软驱是shugart架构,固件设置为shugart就行了,而软盘也是40轨道的720k 2DD软盘,我试验了不少游戏的镜像,包括《伊苏》系列、《英雄传说》系列、《Xanadu》(雷诺尼都纪事)等,均没有任何问题,PC88是16位日式电脑里游戏最多的,因此它替换GOTEK成功是所有计算机里意义最大的一个。
夏普X1turbo是第二台改造的5.25英寸软驱的计算机,所以也需要和PC88一样,准备好接口转换板和各种线路。
而且夏普X1turbo的内部构造看起来是所有16位日式计算机里最“糙”的,之前焊接更换键盘接口和更换软驱编号的时候已经拆过了一次:它的软驱居然是靠一大块横贯机箱的金属板“挂”在机箱内的。
不过这就有另一个麻烦了,淘宝上卖的软驱架基本都是上方镂空的,没法装到这块金属板上,查了半天只有一款银欣(Silverstone)的 SST-FP55B是下部镂空的支架,只不过这个支架虽然是国产的,现在却连旗舰店都没有卖。而且虽然什么值得买网站曾经有人介绍,才60多元,我再一看发帖时间,2012年.......
最终没办法,日亚上因为这东西还有不少复古玩家用,还有少量存货,我只好又“出口转内销”海淘了两个。
而且当我买回来之后,我发现了更严重的问题:这个支架没有一个螺丝孔能对上X1turbo的上方金属板的螺丝孔......
最后没办法了,反正只要稳固就行了,只好上“双面胶大法”了,我买了几块3M的强力双面胶,算是把这两个支架粘到了原本软驱的位置,戳了戳还算牢靠......
不管怎么说总算是安装完毕了,当然并不是严丝合缝,会凹进去一点,不过并不算太过分。
X1turbo也是shugart架构、一线两驱的软驱,因此ID跳线分别设置为0和1就可以运行了,但是我发现X1用FF固件有极少部分镜像有问题,比如《太空哈利》,在模拟器上正常运行,可是在实机上却是一片白屏的花版,不知道是仿真软驱固件的问题还是主机的问题,好在只有这一个游戏有问题,而且X1版太空哈利也比较简陋,可有可无。
X1机型因为是夏普的主机,在当时由于任天堂使用了夏普的技术,所以获得了部分任天堂游戏的发行权(由哈德森发行),夏普X1上有《马力欧兄弟special》和《超级马力欧兄弟special》等游戏,也算是有点意思了(其实PC88也有,因为都是哈德森制作的)。
好了,终于到X68000了,放在最后改造的原因是因为这台机器可能是所有日系电脑里改造最简单也是最麻烦的一个,我的机型是X68000 Pro,后期的卧式机箱的X68000。
说它简单,是因为X68000的两个软驱是和面板一体化构造的,不方便拆卸也最好不要拆卸,因此只要搞一个外接仿真软驱就行了,我直接购买了HxC RevC max版使用,正好之前购买X1的时候,店家也送了我一根外接软驱的线,直接可以用上。
但是说他麻烦,同样也是因为X68000这“高贵”的软驱:X68000的软驱并不是标准5.25英寸软驱,它拥有夏普自己特殊标准的几个信号——包括自动弹出信号,软盘插入识别信号、选项选择信号、LED灯闪烁信号等(具体参考这个网页),这些信号标准的仿真软驱并不能模拟,但恰恰大多数X68000的软件镜像的源代码都有为这些信号预留的等待代码,无法模拟这个信号的后果就是要不镜像卡在某个轨道长达5分钟才继续读取剩余数据,要么就是读取一半不再继续读盘。 果不其然,我试验了一下,除了操作系统Human68K的启动盘在等待了接近10分钟后启动了操作系统之外,其余的软盘镜像运行皆不正常。
我只好去各大日本复古电脑的论坛寻找解决办法,HxC官网显示虽然支持X68000却需要做一些改造才可以使用,但是Jeff却没有继续研究下去。
我只好继续寻找其他办法,结果在这个网站找到了塔式X68000的一个解决方案,但是这个解决方案实在是哭笑不得——作者做了一根延长线,把几个特殊信号从排线中引出来,仍然接到物理软驱上,剩余的标准软驱部分的接线则接到仿真软驱上,并在物理软驱内放入任意一张软盘模拟相关的操作,让物理软驱处理特殊信号,仿真软驱处理数据传输,最终也确实能够成功让X68000使用仿真软驱。只不过这条排线的制作看起来实在让人头疼,我也不可能闲的没事干去劈排线做这种玩意儿,而且这方案也只是给塔式机使用的,PRO是否通用也不知道。 后来继续寻找,最终在michaels这个作者这里找到了他制作的一个切换内置和外接模拟软驱的转接板,他的思路也和上面这位类似,也是把特殊信号分离出来交给物理软驱去处理,只不过需要占用很大一块机箱空间去放下这块板子。而他也确实放在BOOTH等网站上卖,但是毕竟是少量制作的手工产品,早就卖光了。 就当我彻底觉得没招的时候,我居然在日拍看到michaels这个作者又挂了一套X68000专用的外接软驱线,同时附带一张相关设置的光盘,并且确确实实放出来一张X68000 PRO运行游戏的照片!看来他确实有办法让X68000使用仿真软驱,所以我立即拍下了这款线。
结果到货后我兴奋地打开光盘,看看究竟有啥玄机的时候,我直接懵逼了:其实只需要拆开X68000,把两个软驱的数据排线拔掉就行了......
原来,X68000 PRO的软驱构造简单得多了,他就是一个标准5.25英寸软驱加一根特殊的排线(照片中白色的那根),所有的特殊信号都是由这根排线控制,而数据排线和标准软驱一模一样,只要拔掉他,让外接软驱接管数据传输就好了,剩余的信号交给物理软驱就行了,我只要塞进去两张软盘就好了。
当然塔式X68000还是12针的软驱排线,还得老老实实的去做那根劈开的排线,该庆幸自己当初买的是PRO型么.......
不过这种改造还是有一些遗憾,如果没有那款切换板的话,这样物理软驱就暂时变成了一个“引导盘”而无法再使用了,不过也算是可以正常使用HxC。还算成功,X68000有很多比较豪华的游戏,尤其是《恶魔城》更是所有初代《恶魔城》里做的最好的一款,所以还算成功吧。
PC98我没有实际操作,所以就不详细写了,但是根据第三研究所的特别企划的记载,PC98更换仿真软驱主要有两种情况:有无VFO设置。 VFO (Variable Frequency Oscillator circuit) 是PC98比较特殊的一个电路,主要从软驱的读盘信号中提取时钟分量,校正电机不均匀转动引起的信号偏差 。PC98的软驱拥有一块VFO信号的处理板块,早期的软驱是把VFO电路做在了软驱主板上,这类机器如果卸掉软驱更换仿真软驱的话,还需要加装一块VFO电路板,否则无法使用。
而后期机种开始使用了标准3.5英寸软驱,这块板子就开始做在主机主板上了,因此怎么换软驱都不会影响VFO的运转,所以后期机种更换仿真软驱反而更简单一点,第三研究所的企划内也有相关机型的列表,而且有部分机型需要剪掉排线的1-4号线,否则MODE3模式会不正常,所以就不在此赘述了。
另外很多后期3.5英寸主机买来的时候是只有一个软驱的,里面的排线也是只有一个接口,这种机型反而使用可以双驱模式的HxC标准版比较好,如果使用GOTEK,还得自制一根带有线序的双接口的排线,这根线据超级内卷的国内PC98圈子里的说法,全国只有两个人会做.....
其实PC98使用仿真软驱主要的作用是前期只能软盘引导的游戏,对于后期的游戏大多数可以装在硬盘里玩了,反而没什么意义了。
FDX68:日式电脑最强仿真软驱+提取设备,但......
从上面看来,X68000这些日系计算机,用欧美人制作的仿真软驱总是要出一堆幺蛾子,难道就没有什么日本玩家自己做的了吗?别说还真有,那就是FDX68。
FDX98和我之前提到的RaSCSI都是 GIMONS DEVELOPER WORKS的作品,都是基于树莓派的扩展板,只不过一块是模拟SCSI的硬盘,一块是模拟X68000的软驱,并且实际上所有的日系计算机都可以使用,而且其基本数据来自于XM68这个最好用的X68000模拟器,所以仿真的效果更好。 当然FDX68还有一个更强的功能是通过外接软驱提取软盘成为专用的 FDX 镜像,这点和我之前提到的另一个德国的提取设备kyroflux异曲同工(以下简称KF),但是比KF更好的是他是针对日式软盘的,所以对一些加密保护的游戏拥有更好的提取能力,而不像KF一样还得进行大量的实验和参数调整才能提取,我虽然有一台kyroflux,但是明显感觉提取日系电脑软盘镜像还是有点力不从心。 当然,由于是基于树莓派,还要有一定的linux操作能力才能完整玩转这个设备,不过对于我来说应该是没什么问题。
综上所述,这应该是最强的日系计算机的模拟软驱和软盘dump设备了,按理说我应该买一台,就可以省去所有的麻烦,只不过.....
和RaSCSI一样, GIMONS DEVELOPER WORKS最早是在BOOTH上销售这些作品的,但是作为同人制作组,制作水准远没有达到量产水平,而随着最近芯片的短缺,这个组织已经暂时停止销售了,导致RaSCSI和FDX98全成为了稀有货,我还算幸运购买X68000的时候附带了一套RaSCSI的扩展板,至于FDX68,那就真是稀缺货了,而且官方并不开源,所以你还没办法抄板自己做。
目前日拍上确实有人挂出了FDX68的价格,但是高达13万日元起拍,20万日元一口价,甚至比X68000整机还贵.....我是不当哪个冤大头了
未来:HxC的继任者 Pauline(宝琳)提取模拟设备
从FDX68就能看出来,日本这边“小作坊”一样的同人社团经常能做出这种可遇不可求的惊天玩意,不过每次都是个位级别的产量导致根本没处买。不过欧美那边也没闲着,在看到现在ARM架构的HxC的局限性之后,Jeff与法国和日本的一群从事旧计算机软件保护和保存的同好: La Ludothèque Française,Game Preservation Society(ゲーム保存協会,游戏保存协会)以及MO5.COM一起开始了下一代模拟设备的研发,而现在这套设备已经开始公测了,那就是 Pauline(宝琳)。 Pauline是基于FPGA开发板 DE10-Nano(现在流行的Mister硬解模拟器也是这块板子)的设备,很明显这个设备是为了对标KyroFlux和FDX68,主要是利用FPGA强大的开发模拟能力,一方面能够外接软驱提取各种类型的软盘,另一方面可以最大限度的模拟各种软驱的参数,而且甚至可以与NAS等设备一起批量保存软盘。
而这次由于有日方组织的参与,所以对日系计算机的支持也十分的强大,这次就再也不用担心X68000等软驱的特殊信号了,这个设备都可以模拟出来,而目前HxC转换软件也提供了Pauline的相关功能,可以说Jeff下一步的重点应该都放在这一个设备上了(难怪对于HxC他那么心不在焉)。
但是,Pauline可能是现在所有模拟软驱设备里使用门槛最高的,作为FPGA扩展版,使用起来比树莓派还要复杂,我反正是暂时没有搞明白怎么使用,而且目前官方还没有量产,需要自己去抄板,这里提供一份PDF的说明书,官方固件下载页面和官方的SourceForge页面,有兴趣的可以看看。 这次我把所有设备的软驱仿真化之后,我才算是第一次从“软盘地狱”里解脱了出来,这下我那些收藏的软盘就可以安安稳稳的放在书柜里保存了。
从2021年初“误入”MSX和PC98坑,我大概进行了1年有余的日系计算机的研究,也发现了不少游戏,当我见到这些和自己同龄乃至比自己岁数还大的游戏时,惊叹于在那个内存以KB计算,硬盘甚至还不存在的年代,一群人可以把自己的梦想凝缩在一张只有几百KB的软盘里,并且还做得那么五光十色,直至今日我才与它们见面,有一种相见恨晚的感觉。
当然,我感觉我在收藏之路上,永远在与时间赛跑,因为我知道这些东西迟早会散失掉,那么在它们消失之前,能够与它们相见,并最大限度的让他们能够在世间流传,那就是一种幸福了。
评论区
共 24 条评论热门最新