前言:日系电脑的最后一块拼图
之前的“被旧计算机系统支配的恐惧”系列文章其实最早的契机就是从我收藏MSX和PC98note两台电脑开始的,所以PC-98也算是我初入日系计算机的入门机型了。
车万快乐机
但是我最早也说了,PC98note笔记本电脑主要针对的还是后期的软件和游戏,基本服务于可以安装至计算机硬盘,并支持MS-DOS环境下的软件和游戏的操作。但是PC-98游戏的黄金期可不是这时候,而是80年代末90年代初。远早于PC-9801开始普及DOS的时代,这时候的游戏和软件基本都是基于N88-BASIC语言制作的,连FAT格式的文件系统都没有,更不用谈硬盘安装了。并且当时大部分游戏还必须要双软驱同时读取数据,除了极少数游戏可以靠单软驱来回换盘来玩之外,笔记本电脑基本是玩不了这类游戏的,而且单软驱来回换盘也让人很烦。
当时把我折腾得头大的《英雄传说》
同时笔记本电脑外接软驱十分的麻烦,想安装仿真软驱几乎是不可能的。所以最后的办法还是回归原点,来一台中期的486架构的PC-9801台式机很有必要,既照顾了双软驱游戏,又能照顾一些在奔腾处理器上运行有些许问题的游戏,和PC98note正好可以互补,于是这最后一块拼图我就这么安排上了。
机器的选择:PC-9801 BA3
虽然大部分国内玩家认为PC-98如同PS2、FC一样,是一个“平台”的代称,但毕竟PC-98是NEC的一类计算机架构的统称,其时代横跨了接近21年(1982-2003),所以即便都是PC-98平台,前期、中期、后期主机都是不可以一概而论的。从玩游戏的需求来说,以CPU来分割,笼统的归类分为4个阶段:
- 8086及NEC V30时代的早期机种
- 80286至80486的中期机种
- 386-486的早期PC-9821机种
- 奔腾至赛扬PC-9821机种
(这里不考虑爱普生的PC-286 386兼容机)
由此可以看出,早期机种除了部分极早的PC-98游戏之外,大部分的游戏都无法支持,尤其是Falcom的中期、后期作品也大多以80286机型为分界。所以早期机种直接就可以PASS了,主要还是以386 486作为CPU的中期机种。毕竟如果太晚期的PC-9821,会因为CPU太快导致部分游戏抽风,而80286至80486这个时代的机种可以通过调整CPU速度达到最大化兼容,正好可以和PC98 note互补。
正好此时我在闲鱼上看到了一台PC-9801 Ba3,这是PC-9821出世后,1995年发行的486DX CPU的中端PC9801机型,而且还卖的非常便宜(1500RMB),当然,Ba系列当年主打的就是“低价格宣言”(98 FELLOW系列),放到今日能这么便宜也是理所应当的。
不过,Ba3本身也挺让我纠结的,首先卖家说这机器软驱老化已损坏,也罢,之前我大量研究了仿真软驱,大不了替换仿真软驱。但是卖家又改口说,软驱可能不是真坏了——只是前任主人替换软驱换错了型号,把软驱从FD-1138T换成了FD-1148T,虽然大量的资料表明1138T和1148T是可以互换的,但是这台机器上的DOS下,1148T不仅无法识别,直接用DOS启动盘启动电脑也会报I/O错误。
另外更讨厌的一件事是:PC-9801ba3的前面板和PC-9821等机器不同,不是单独一块板子而是和主机前面板一体的,这就导致不能把软驱面板单独拆下来,那么换仿真软驱的话也看不到按钮和OLED了。不过我觉得可以延长出一根线,把仿真软驱接到外面,于是就买这台机器了
前面板一体成型,想裸露软驱都不行
但是作为台式机,买回来之后果然还得要搞一堆非常麻烦的整备。
首先就是主板电池,毕竟就算是今天的计算机,没了主板电池也意味着保存不了BIOS设置,时间错乱等问题,不过PC-9801 BA3用的是一块三洋的带引脚和插头的充电电池 ML2430 ,算是可以不停的充电来保证使用。但是横跨了接近30年,就算是充电电池也撑不到今天了,所以还是要换掉这块电池。非常讨厌的是PC-9801台式机的主板有很大一部分位于扩展卡支架的正下方,电池正好也在这里,我还得把整个扩展卡支架拆下来才能换电池
当然,如今的三洋已经被FDK收购,现有的电池也都是FDK牌的了,不过这电池和一些工业用机的电池是通用的,所以淘宝上也有卖的,只不过价格略贵,一块高达80多RMB,日本本土的价格也不算太低。没办法,反正换了之后10年之内也不用换第二块,就把它换掉吧。
当然,换电池只是整备PC-98台式机的第一步,下面的整备才是真正的难题。
特殊的软驱:内置26针软驱的更换
本来我当初的想法是把内部软驱想办法替换为Gotek仿真软驱,结果两台Gotek都买好了之后才发现,PC-9801中期机种的软驱为NEC的FD-1138T,这是一种特殊的3.5英寸软驱,特殊在他只有26pin接口,而且没有4PIN的电源口——电力供应全靠26针排线供应了。
26针!
而且,主机主板上的软驱接口反而是30pin的一个插槽,也就是说这台机器内部其实是一个30pin带两个26pin插头的信号线。
这就更麻烦了,插口针数不一致意味着针脚不是一对一,存在信号定义图,我本来打算再搞一根备用,但是一看线路信号定义图我就头晕了,至少网上定做线的商家一看这图就拒绝给我做线了,而自己做也是头大。
总之,既然机器自带线,我就直接去日拍买两个FD1138T软驱就行了,结果明明卖家说是测试过的好软驱,买回来之后其中一个还是坏的(估计运输中被颠坏了),而且磁头坏掉还废了我两张软盘。没办法,只好去找熟人买了个新的软驱,
图中也可以看到,软驱存在防尘盖,大部分防尘盖都老化的断掉了。为什么会断掉?因为盖子的左边有个挂着弹簧的细长转轴,很容易断,虽然断掉无所谓,大不了扔掉就行了,但是更坑爹的是断了之后有些防尘板会直接卡进磁头上面的空间,熟人卖我的就是卡进磁头上面导致我以为软驱又是坏的,打开上盖后才发现整个防尘盖横跨在了磁头上面,难怪会出错......
至于34针的软驱有没有使用方法?其实也有,就是转接板,HXC的官网已经有人做出了转接板,日拍也有现成的转接板买,并把电源单独分了出来给软驱用。而且其实淘宝上也有卖26转34的板子,不过大多数都是给笔记本的26pinmini接口使用的。
但是既然BA3的面板是一体化的,所以我也不希望废掉PC-98原本软驱的读写功能了,替换内置软驱的计划还是算了,我决定保留两个实体软驱,考虑别的方法使用仿真软驱(下面再说)。
系统盘写入:HDI、NHD、IMG格式与CF卡写盘。
之前的文章也说过,由于这些老电脑大多数用的都是SCSI和SASI的硬盘,时至今日属于十分稀少的古董,而且实际上老电脑也用不到容量太大的硬盘(2GB已经足够了)大部分玩家都是采用了特殊的CF卡转换设备来转换成CF卡进行“固态硬盘化”。
工业级CF卡是最好的老电脑“硬盘”
但是我失算了,刚开始我以为PC-9801 Ba3的硬盘接口也是和X68000一样SASI,或者和FM-Towns是SCSI的,于是我先考虑变换番长这个比较傻瓜的方案。
之前也偶尔提到过,变换番长是“复古电脑研究会”(classicpc.org)研制的将CF卡模拟转换成为SCSI或SASI格式硬盘的模拟器,他最方便的一点就是可以把日系电脑常见的硬盘镜像直接转换成SCSI硬盘,把镜像以特定方法命名塞入CF卡即可,即插即用无需写盘。这点就比Rascsi还要配置树莓派,一般的CF卡还要写盘要强太多了。
不过该套设备的价格也不菲,全套价格在14000円左右,而且由于芯片已经耗尽,“复古电脑研究会”已经于2022年3月停产变换番长,目前网上的存货价格也是在节节攀升,我就趁着还有存货的时候赶紧购买了两套设备。
结果一切都搞好之后,我拆开机器发现,PC-9801 Ba3的硬盘接口就是一个平平无奇的IDE接口,而IDE转CF的转换板几乎是白菜价,在淘宝就能买到。看来是其他两种机型太过“高贵”才会用SCSI,对于PC-98这种“平民电脑”来说,就只有IDE了.......
这下我傻眼了,我又去找SCSI如何转换成IDE的方法,结果转来转去发现都是反过来把IDE硬盘转成SCSI的方案,毕竟SCSI是高端协议,IDE是低端协议,谁会像我一样把高端的东西转成低端玩意呢?哪怕网上确实也有转换板,要不就是便宜的并不支持硬盘数据流转换(只支持SCSI的光驱等设备),要不就只能把IDE转成SCSI而不能反过来,1000多的转换板我是没敢买,几十元的SCSI转IDE的板子尝试了一下,果然没有任何反应。
这板子是SCSI转IDE,但是不支持硬盘
这板子是IDE转SCSI,无法把SCSI转成IDE
最终的结局,买的变换番长除了一套给FM-Towns做硬盘,另一套就暂时用不到了,PC-9801 BA3原生也没有SCSI接口,不过这台变换番长也不是没啥用,这个留在下面再说。
言归正传,把IDE转成CF卡之后,PC-9801是直接可以识别的,但是PC-98的硬盘的轨道、格式及扇区大小都是特殊的,用现代计算机是无法识别PC-98的硬盘文件系统的,甚至连硬盘镜像查看文件都需要用diskexplorer来查看。
而我之前由于为了将东方系列游戏提前导入硬盘(东方系列游戏都比一张软盘大,很不好导入,且有日文命名的文件,稍有不慎就会导致编码不同文件变成乱码),外加提前配置好CD光驱驱动。我已经用PC-98模拟器neko project II在虚拟的BA3同等环境中做好了一个2GB的硬盘镜像,本来打算直接放到变换番长中使用,但是现在的CF直接转IDE就不行了,下一步就要考虑如何把镜像写进这张CF卡了。
由于之前常见的PC-98硬盘镜像为HDI格式是一种带有参数的硬盘镜像格式,而这种格式我在网上查了半天,也没查出该如何写进真实硬盘中,我一开始是一脸懵逼的,但是我在 nfg.forums曾经见到过一个著名的PC-98软件合集硬盘大包 YAHDI (yet another hard disk image),作者提供的却是一个标准IMG格式的软盘镜像,可以直接用 Win32DiskImager 写入物理设备内,用diskexplorer查看反而要手动输入镜像参数。
但是作者在文章中也提到了,他的img文件可以很方便的转换成为标准PC-98镜像——只需要在文件头加入一个特殊的512字节的头数据就可以变成NHD文件。而NHD文件是T98-Next用的硬盘格式。根据作者的说法,NHD其实只是标准的16进制数据加入一个头数据,而HDI却是半加密的格式,并且HDI对应的anex98模拟器也已经停止开发了,所以他认为HDI是一种“死格式”,并不推荐。
于是我突发奇想:何不反其道而行之呢,首先找到把HDI转换成为NHD的办法,果不其然有一款叫做NHC( 仮想マシンハードディスクイメージ変換(convert)ツール )的软件可以达成这几种格式的转换,我很容易的就把HDI格式转换为了NHD。
然后我将文件用HXD editer以16进制打开,瞬间就看到了这512字节的头数据。
图中红框之后的才是真实的硬盘数据
于是我将前面的512字节的数据全部删除,另存为img格式的文件,再用Win32DiskImager 写入CF卡,插入主机中,果然主机正常启动了。硬盘写盘圆满完成。
写软盘神器:mahalito的写物理软盘与游戏测试
之前的PC-98软盘游戏,大多数我都是用Diskimage这个软件复制的,但是该软件只支持将HDM格式的镜像复制进去,该格式要求软盘镜像必须有明确的FAT格式的文件系统。
Diskimage
而刚才也说道,大量早期PC-98游戏都是BASIC语言编写的,多数采用的是D88或FDI格式镜像存储,软盘镜像内没有文件系统,连用VFIC转换成HDM都不行,DOS下的DISKCOPY也无法复制。
VFIC
所以在当初大部分的游戏我只能放弃复制了,比如《英雄传说》我就无法进行备份复制,直到后来我购买了kyroflux才可以勉强以raw格式来写入空软盘,不过依然需要原软盘才可以复制,对于软盘损坏的游戏,网上的镜像还是无法使用。
不过,之前我收到的一套“3.5英寸版”《英雄传说》的游戏中, 他自己说是在PC9801台式机上拷贝的,可是当时我使用DISKCOPY命令是复制不了的。
所以我非常纳闷这张软盘是怎么来的,结果在前几天和一群老游戏同好一起去日本论坛找方法的时候,偶然发现日本的retro PC玩家都提到了一个软件——mahalito。
于是我去找到了这个软件,原来mahalito是由一名叫做 及川 清明的作者制作的一个在PC-98上运行的软盘镜像化、复制、写盘三合一的软件,而且他和DOS官方的DISKCOPY完全不同,他是可以支持任何一种格式,哪怕他根本不是FAT文件系统也没问题,这样就让《伊苏》、《英雄传说》这种早期的无文件系统游戏也可以进行写盘和复制。
这个发现实在让我们喜出望外,不过mahalito使用的是一种特殊格式的镜像,包含一个DAT文件和一个标识镜像格式的文件(文件名2HD、2DD、2D,分别代表1MB、640K、320K的软盘)。D88等格式的镜像无法直接使用,但是还好VFIC提供了mahalito格式的转换,于是这一格式实在是方便的很。我也试验了下《伊苏》和《英雄传说》,都可以成功的备份并运行。
特殊mahalito格式镜像
这一发现直接解决了玩家物理写盘的问题,除了部分靠弱磁区反盗版的游戏之外,现在大多数游戏都可以靠这种办法备份了,再利用VFIC还可以轻松把软件转换为仿真软驱使用的镜像,难怪日本玩家对这个软件赞不绝口。只不过该软件需要玩家可以将镜像以及软件导入PC-98中才可以使用,对于没有PCMCIA和USB接口的PC-98台式机可能要麻烦一点,不过这都是小问题(下面会说)。
与现代计算机的数据交换:SCSI扩展卡和变换番长
内置硬盘做好了,软盘也有拷贝的方法了,现在就考虑该如何与现代电脑交换数据了,之前的PC98note有PCMCIA卡槽,可以方便的用PCMCIA-CF转换卡,直接使用CF卡传输数据,但台式机PC-98既没有PCMCIA,又没有USB接口,软盘又太小,CD刻录又很浪费,所以只能考虑别的办法了。我的一名同样研究PC-98的朋友采用的是MO(磁光盘),容量比较大(最大可达1GB),而且可擦写。
但是,磁光盘比起CD来说,属于冷门存储介质,MO驱动器很难买到,PC-98兼容的更是贵,磁光盘也有点贵,所以一套下来也得要不少钱。
logitec(不是罗技)的PC-98用MO驱动器
而正好此时我手头有变换番长,并且实际上外接MO磁光盘驱动器也需要用到SCSI接口,所以何不直接利用可以模拟成SCSI硬盘的变换番长呢?反正镜像可以直接在现代电脑里使用DISKEXPLORER读取编辑,这不比MO简单?于是我就考虑给机器添加一个SCSI扩展卡。
SCSI扩展卡其实比软驱要简单得多,PC-98的扩展卡虽然不是PCI接口,而是一种称为“C-bus”的通用接口,但也基本和PCI一样都是即插即用的设计,而SCSI扩展卡也自带BIOS,直接能够载入SCSI驱动,去淘一块I·O-Data牌的SC-98III扩展卡就OK了。
但是接到变换番长这边就比较麻烦了,首先SCSI扩展卡的接口是SCSI 2代的接口,又称DB50(D-SUB)接口。
然而变换番长这边,本来我是打算用在内置硬盘上的,所以它的接口是SCSI内置的方形50针接口。
然而刚开始50针的转换我没找到如何转换成DB50的方法,我居然脑子一热采用了DB68转IDE50的方法,并买了一个DB68转DB50的线材。
结果全部接上后一开机,瞬间电源线就冒白烟糊掉了,这下可把我吓死了,看来这转换头的针脚定义是不符合变换番长的,直接短路了。正当我郁闷的时候,朋友突然提醒我“你搜SCSI内转外不就得了”,果不其然在闲鱼上有人卖内转外的接头,直接购买后就可以使用了。
接完了之后,机器自动出现SCSI接口的硬盘,直接就可以使用了,顺便我还在硬盘里安装了一个windows3.1。
声音:FM音源替换
解决完数据的问题,下一步该解决电脑的声音硬件了,PC-98游戏的黄金期的时候,声霸卡之类声卡还是极端昂贵的东西,MIDI设备更是土豪玩的玩具,所以大部分游戏都不是直接支持这些声音设备的,而且早期的软盘游戏的容量也难以容下正常的波形声音格式的BGM。然而就在欧美还是PC喇叭哔哔哔的发声的时候,在日本这块神奇的土地上,因为对日文显示等硬件的高标准需求,外加NEC、夏普、富士通等几家品牌机独大的局面,反而带来了计算机硬件的超前进步,在PC-98等日系计算机领域居然普及了其它地方的计算机极少问津的FM音源,当时的日系计算机游戏就在FM音源的加持下,拥有令人惊异的音乐。
FM音源全称叫频率调制( Frequency Modulation )音源,正如他的简写,其实就是和FM调频广播一样的发声方式。这是斯坦福大学研制,雅马哈实际应用的一种音源格式。最后被广泛应用于日系游戏机和日系计算机的音乐领域,很多早期日系游戏的“神BGM”就是FM音源的功劳。
雅马哈的FM合成器键盘
当然,PC-98也随着时代分为了几代音源,主要的区别在于支持的FM通道和SSG通道的多寡,通道越多,可发声的复杂度越高,声音也就越细腻。早期的PC-98使用的是26K音源,而后在90年代初昙花一现的出现了73K音源,但因为格式比较特别,兼容性差而很快就被86K音源代替了,而后很长一段时间。PC-98的FM音源就都是86K和26K并存的情况,而后虽然又推出了118音源,但由于支持的游戏比较少,价格也很昂贵反而没流行开来。
PC-9801-118 音源卡
直到90年代末,PC-98电脑的声音硬件逐渐被MIDI和声卡所替代,比如windows95时代的PC-9821台式机和笔记本使用的就是canbe声卡来模拟FM音源发声,而不是真正的FM音源,也因此有着兼容性的问题(具体看我第二篇文章)。
随着windows 到来,声卡也开始在PC-98电脑普及了
而我购买的这台Ba3,自带一块规格等同于NEC正品26K音源(PC-9801-26)的第三方厂商的声源卡SS-10,这也是一块“C-bus”接口的扩展卡,而且那个年代大部分装FM音源卡的玩家纯是为了玩游戏,所以音源卡上还带有两个9针雅达利格式的手柄接口。26K音源算是比较早期的FM音源,大部分PC-98游戏都有26K音源的支持,虽然质量比不上PC98note的canbe模拟出的86K音源,但还是能忍受的。
从照片可以看到,26K音源卡本身带有一个喇叭,也就是说不用接音箱就可以发声,但是根据这个喇叭的质量来看,发声的质量也可想而知了。果不其然,我用《东方》系列游戏试验了一下,虽然发声是正常的,但是在这个破喇叭和机箱的共鸣下,音乐简直可以用“鬼哭狼嚎”来形容,试验了下《英雄传说》、《白发魔女》和《朱红之泪》,虽然声音实在是难听,但是至少还能发声,不过既然能接音箱,其实也是可以无视这个内置喇叭的。
但是除了东方之外的游戏就麻烦了,首先是《美少女梦工厂2》,我发现它发出的BGM除了声音鬼哭狼嚎之外,似乎还缺少声音通道和和弦,看来用26K玩这个游戏,BGM是完全不正常的。
而《美少女梦工厂1》则更完蛋,直接就是不出声,把声音调到最大也只有电流的滋滋声,根据网上的办法更改跳线之后,虽然不再是不出声,但是又变成了只发出很短的一点BGM,音乐就开始卡住并啸叫了起来。
图中②就是跳线
而像《英雄传说1》、《伊苏1》这样的游戏,则是也是发出很少的一段BGM就开始卡住并啸叫。
这下可难倒我了,毕竟这些游戏也确实支持26K音源,而且游戏发售时也正是26K音源流行的时候,但是为何在这里就啸叫呢?而东方系列游戏为何就正常?
经过询问专业人士和搜索日站的资料,我算是搞懂了问题所在:26K音源毕竟是80年代末的产物,那时候的电脑还是286、386CPU,速度也并不快,所以26K音源内部并未带有“Wait”制御电路,也就是说它纯是靠CPU的速度来控制音乐的演奏速度的,而且当时的游戏的音源驱动程序也缺乏自适应的代码,因此像是1995年之后的这些主机,就会因为CPU速度太快而发生音乐演奏速度暴走的情况,直接表现为音符“抢拍”到卡死,所以这就是问题的根本原因。而《东方》系列使用的音源驱动为P.M.D驱动,这个驱动本身就带自适应和制御代码,所以能很好地兼容26K音源卡。(具体看B站这个文章。)
所以,解决办法只能是去寻找Wait制御程序并驻留在DOS中来解决问题,但是像伊苏这样软盘启动的游戏也是没法用这种方法的,没有办法,只好鸟枪换炮,直接从熟人手里订购了一张PC-9801-86K的音源卡,把整个音源换成86K音源。当然因为86K已经是90年代的主流FM音源了,所以他既可以向下兼容26K,也有wait制御,兼容性更好一些,只不过86K自己不带喇叭需要外接音箱,而且手柄接口只有一个,但这都不算什么问题了。
PC-9801-86K音源卡
不过,换了86K音源后虽然大部分游戏的音乐都正常了,但仍有一些“顽固”游戏还是不出声,比如《伊苏2》就是其中一个。
像《伊苏2》这些游戏,发声比较特殊,他需要调用sound bios才能发出声音,而正常情况下pc-98的bios是关闭sound bios的,需要手动打开,只要保证PC-98的BIOS ram打开了“关机后保持设置”的功能,且电池有电能够保存设置就行,正好我也换了电池了,所以直接打开sound bios就行了。
记忆开关设置为“保留设置”就行
不过一般的教程中写道,由于管Sound Bios的开关设置在SW4,而PC-98的BIOS设置页面只能开关SW1-SW3的设定,所以还必须去N88-BASIC内才能打开相应功能,但是DOS指令我还会点,BASIC我是一点都不会,这下没办法了,还好我找到了“PC98+26KでSound BIOSが必要なゲームの音を鳴らす方法”这个youtube的视频的说明,其中提供了一个叫做Eswitch的程序,可以在DOS下直接替换SW的开关,也就能直接打开sound bios,我直接写了个批处理把这个问题彻底简单化了。
这下《伊苏2》也可以正常发声了。
软驱模拟化:外接软驱扩展卡
既然我放弃了内置软驱的改造,那么只有外置软驱的这种办法了,PC-98外置软驱使用的基本是CN50(SCSI-3)接口,但是除了一些特殊型号的PC-98(如PC-9801 DO和爱普生的PC-386之类)有板载外接软驱控制卡和软驱接口之外,后期大多数PC-98台式机是不配备软驱接口的,甚至PC-98note要不只能用特殊接口软驱,要不就得配那个稀有的底座。
拥有软驱接口的机种
至于我的Ba3很遗憾就属于没有软驱接口的机种,所以他要配备一块软驱I/F控制卡才可以外接软驱,既然音源卡和SCSI各占用了一个C-BUS接口,那么最后一个接口就只能给软驱卡了。
不过软驱卡并不是即插即用的C-BUS卡,除了要占用C-BUS接口之外,还需要对内置的软驱接线进行转接才可以使用,同时由于PC-98存在附加信号源,还需要一条8pin的信号线接在主板上才可以完全使用。
我在日拍找来找去,大部分NEC自己的软驱卡PC-9801-87都是没有接线的,只有一块LFA-17(logitec的)配备有接线,这是一块87互换版本的软驱卡。
但是把LFA插进主机后,对软驱数据线的转接又让我感到恼火了,外接软驱把首先要把内置软驱标示为“drive1”的26PIN插头从软驱上拔下来,接到一分二的26pin线的母插头上,然后一边接到软驱板,一边接到原有的软驱上,正常应该如下图这样。
但是我的那台BA3的机箱却十分宽大,扩展卡距离软驱该死的远,把这段短短的线扯到绷得紧紧的才勉强可以够到软驱,我都怕把这段排线扯坏了,果不其然,在我装机之后,软驱读写就不正常了——软驱那边的插头松动了。
刚开始,我还想是否能自己定做一根稍长点的排线,或者增加一段延长排线,结果我定做了两根70CM的线,外加买了2根30CM的延长线,但是不管是那种方式延长,要不就是物理软驱不正常,要不就是外接软驱不正常,只有单接一个才能正常运转,而且软驱卡那边还偶尔出问题,看来线的长度也影响软驱的运转(似乎是电压不足)。
没办法以各种方法琢磨这段短排线的绕线,勉强算是能保证两边都接上,结果一不小心还把LFA-17边上电路板上的一个电容扯断了,虽然板子还可以正常运转,但是谁也保不齐有啥暗伤,于是我直接换了一块PC-9801-87接上,算是先凑合用了。
软驱模拟化之二:外接软驱替换HXC及2HD/2DD切换难题
虽然早在我选购外接软驱的时候,研究PC-98的专业人士就已经警告我,说外接软驱的调试非常麻烦,可能折腾半天也无法达到我想要的效果,不过既然可以在不破坏原有的内置软驱的基础上把外接软驱仿真化,那么确实有试一试的可能。
刚开始我的想法是像X68000一样直接外接一台HXC Rev C型仿真软驱,但是毕竟PC-98的软盘格式比较复杂,这样直接接上去可能会出现这样那样的问题。
所以,我打算用另外一种办法:将一台当年PC-98用的外接软驱改造,把内部的物理软驱换成HXC,正巧日拍上有一台已经改造好的外接软驱,还附带有全套设备,这样就省去了我改造软驱和等待HXC邮寄过来的麻烦了,虽然稍微贵点,但是省了不少的事儿。
到手后,我发现这是一台ACCEL牌型号为FDC-378的外接软驱,内部的软驱已经改造成了HXC,接到PC-98上之后也能够在DOS内被正确识别,只不过默认会被识别为第三、第四软驱,是无法拿来引导那些软盘启动的游戏的,好在PC-98的台式机的BIOS里有一个能选择内置/外置软驱顺序的选项,可以把外置软驱变成第一、第二软驱,这样就可以玩游戏了,我试验了下,《英雄传说1》和《伊苏2》等游戏的镜像都可以正常启动。
在这里调整软驱编号
但是照片中也看到了,这台机器附赠了一个奇怪的C-BUS扩展卡,还有一根耳机线,这就要说的是整个整备过程中最麻烦,最没法解决,也是我到现在都没有一个完美的解决方案的问题:如何让外接软驱读取2DD(640K)软盘。
之前曾说过,NEC的软盘格式其实是一套自己的标准,和现有的IBM PC有一定的差异,其中分为2D(320KB),2DD(640KB)和2HD(1.2MB),早期的PC-98多为只支持NEC标准的软盘的读写,后期有些PC-98为了逐渐和IBM PC接轨也开始支持处理IBM 格式的2DD(720KB)和2HD(1.44MB)软盘了。不过大部分PC-9801台式机的内置软驱依然是2MODE(2DD/2HD)的。
像《英雄传说》这类游戏的软盘格式是NEC标准的2HD软盘(1.2M)的,可以直接被外接软驱读取,而早期有一些游戏是NEC标准2DD软盘(640K)的,这类软盘游戏,虽然PC-9801的内置软驱也可以读取,但是外置软驱及软驱扩展卡就不那么简单了,这也是之前那位“专业人士”所说的“外接软驱很麻烦”的原因。我试了下《罗曼西亚》这款2DD软盘的游戏,果不其然外接软驱无法读取。
大部分的外接软驱卡,除了极早期的PC-98软驱卡和特别昂贵稀少的部分软驱卡之外,都是单纯的1MB软驱卡,即便接上外接软驱,在FORMAT格式化菜单内也只看到1MB的格式选项,无法格式化成2DD格式。
而那块奇怪的扩展卡,就是当时的硬件厂商想出来的歪招——“自动切换卡”,理论上,先把切换卡插入C-BUS插槽,有些型号外接软驱后面有一个“自动切换孔”(耳机孔),用耳机线连接上之后,插入2DD软盘的时候,软驱会自动向切换卡内发出一个信号,这样机器就可以识别软驱为2DD软驱而可以使用了。
当然,本应该“理论上”是这样,不过我暂时把SCSI扩展卡拔出来,全部插好之后,软驱依然无法读取2DD的软盘镜像,看来这个办法完全没有意义。而且根据网上的研究表明,这种“自动切换卡”其实是一种非常不正规的硬件,他是靠C-BUS的引脚,强行输入高电压的I/O信号压制主机本身的I/O信号,长期使用会导致PC-98硬件损坏。
不过还是有现代的玩家编写了一些东西,首先是IPLware,这是一个第三方的主机驱动加载程序,用来加载一些PC-98本身不支持的新驱动,同时作者还单独编写了一个欺骗程序 EXT2DDBT,可以拿来欺骗主机把外接软驱识别为“内置”软驱,这样就可以强行读写2DD的软盘了。
虽然驱动载入很成功,但结果实验还是失败了:虽然FORMAT下第一个外接软驱被识别为“内置”软驱,但是强行尝试格式化2DD镜像还是失败的,而且这个软件的硬盘版依然要求必须先引导进入DOS才可以加载驱动,对于软盘启动的游戏是没有效果的。
不过作者还提供了一套软盘版的IPLware,可以把驱动制作成引导盘,结果还是无法让外接软驱读取2DD软盘。
而另外一个2DD引导盘,虽然也是如说明的一样,载入后电脑喇叭在响,但是也是无法引导进入2DD软盘游戏。
而且,两种引导程序都只支持将外接软驱的其中一个识别为2DD软驱,对于《七星魔法使》这些需要双软驱都是2DD的游戏,那就彻底没辙了。
这下我没招了,不过根据一些说法,应该是我这种带有“自动切换孔”的外接软驱无法有效切换模式造成的。而另一类手动开关切换2HD/2DD的软驱似乎是突破口,这时候我看到日拍有人卖一台α-DATA牌的 AD-F51SR外接软驱,这是一款手动切换模式的外接软驱,而且似乎卖家利用LFA-17和PC-9801-87的软驱板成功让2DD软盘游戏启动了,所以抱着试一试的想法,我买下了了这台外接软驱,反正HXC我也有了,改造起来也很容易。不过在此之前,我只能用mahalito将镜像写入物理软盘来玩2DD格式的游戏了。
游戏运行:DOS3.3及DOS 5.0限定游戏的运行解决办法
好了,现在硬件算全搞定了,但是之后还是遇到了一个软件问题:因为出于泛用性,现在玩PC-98得话DOS一般仅安装MS-DOS 6.2,但是有一些游戏是仅支持MS-DOS3.3和5.0这两个版本的(之前的文章也有提到这个问题),比如《白发魔女》就是5.0版本限定的游戏,而《美少女剑士梅儿》、《英雄传说2》则是DOS 3.3的限定游戏。
虽然《白发魔女》可以靠setver版本表将系统伪装成5.0来玩,而《美少女剑士》等即便是使用setver也无法安装,会直接死机,也就是说大多数限制DOS3.3的游戏都会遇到问题。
之前需要DOS3.3还需要硬盘安装的游戏比较少,我就没关注这个问题,但是随着我玩的游戏越来越多,DOS3.3版限定的游戏的问题也开始浮现,单独给主机装个DOS 3.3也很麻烦(只支持512M以下的硬盘,分区最大128M,否则安装时就会死机)。
本来我想就此放弃,结果在twitter上发现某个玩家和我遇到了同样的问题,而之后有位网友在回复中提到了爱普生版DOS5.0和一个叫做epsond的程序,并用它成功在DOS6.2上运行了限制DOS3.3使用的游戏。
这个爱普生版DOS是什么东西?原来当初爱普生生产的PC-286、PC-386系列计算机虽然在标准上和PC-98一致,但是在使用版权上和NEC却没有什么合作,某种意义上算是爱普生“山寨”了NEC的机器,在之前使用NEC的PC-98专用DOS时发生了纠纷,结果NEC为了阻止爱普生继续使用自己辛苦找微软谈来授权的DOS,加了一个检定系统,发现硬件不是NEC的就不让安装(当然由于爱普生是仅有的PC-98兼容机,基本就是防止爱普生使用的,网上的DOS镜像大多数去掉了这个程序)。所以爱普生的兼容机系列在之后就找了微软完全自己搞出一套单独的操作系统环境,连DOS都是“特制”的。
当然,爱普生DOS在设计上其实更偏向于办公,所以里面还是有不少有用的自带程序的,其中EPSOND模式程序就是爱普生研制的一个可以让旧版本软件可以在新系统上运行的软件,于是我利用模拟环境安装了一套爱普生DOS,果然发现DOS文件夹下有EPSOND.COM这个文件。
虽然爱普生和NEC是老死不相往来了,但是DOS还是那个DOS,PC-98标准也还是那个PC-98标准,这个程序还是可以“移植”到NEC版DOS6.2上运行的,只不过这是一个5.0专用程序,利用setver把他设定为5.0就可以使用了,在我打开了epsond模式之后,大多数需要DOS3.3和5.0的程序不需要设定setver也能够运行了。
本来我想把它写到开机启动的autoexec中一劳永逸,结果发现这会导致一些6.2下的系统软件无法运行,所以还是决定按需使用,需要的时候再打开。反正此等好用的软件,要不是NEC和爱普生的恩怨,爱普生也不会这么掖着藏着吧......
结语:其实“攒老电脑”还挺好玩的?
虽然大概其算是把PC-98搞好了,配合PC98note也能玩大多数的游戏了,但是折腾来折腾去,我掐指一算,自己鼓捣的硬件外设又够买一台PC-98了,这时候我有陷入了奇怪的“自我检讨”:这值得吗????
但是翻来覆去的想法过后,我还是发现:其实“攒老电脑”还挺好玩的?尤其是把这堆20-30年前的零件放到一起,看到他们能够运转,能够启动游戏,似乎是现在那些举举手就能开机的智能设备所无法拥有的,甚至看到这些老式的,散发着米白色的旧电脑,我反而思绪回到了自己拥有第一台电脑的1997年,想到了中关村,想到了那些位于地下市场嗡嗡作响的老式计算机和显像管显示器......
也许只有那个计算机的蛮荒年代,才是最浪漫的吧......
本文(大部分)图片来自网络