被舊計算機系統支配的恐懼(九):PC-9801臺式機的構建


3樓貓 發佈時間:2022-08-24 09:44:40 作者:叔音OKATU Language

前言:日系電腦的最後一塊拼圖

之前的“被舊計算機系統支配的恐懼”系列文章其實最早的契機就是從我收藏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個階段:
  1. 8086及NEC V30時代的早期機種
  2. 80286至80486的中期機種
  3. 386-486的早期PC-9821機種
  4. 奔騰至賽揚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針!

26針!

而且,主機主板上的軟驅接口反而是30pin的一個插槽,也就是說這臺機器內部其實是一個30pin帶兩個26pin插頭的信號線。
這就更麻煩了,插口針數不一致意味著針腳不是一對一,存在信號定義圖,我本來打算再搞一根備用,但是一看線路信號定義圖我就頭暈了,至少網上定做線的商家一看這圖就拒絕給我做線了,而自己做也是頭大。
總之,既然機器自帶線,我就直接去日拍買兩個FD1138T軟驅就行了,結果明明賣家說是測試過的好軟驅,買回來之後其中一個還是壞的(估計運輸中被顛壞了),而且磁頭壞掉還廢了我兩張軟盤。沒辦法,只好去找熟人買了個新的軟驅,
圖中也可以看到,軟驅存在防塵蓋,大部分防塵蓋都老化的斷掉了。為什麼會斷掉?因為蓋子的左邊有個掛著彈簧的細長轉軸,很容易斷,雖然斷掉無所謂,大不了扔掉就行了,但是更坑爹的是斷了之後有些防塵板會直接卡進磁頭上面的空間,熟人賣我的就是卡進磁頭上面導致我以為軟驅又是壞的,打開上蓋後才發現整個防塵蓋橫跨在了磁頭上面,難怪會出錯......
至於34針的軟驅有沒有使用方法?其實也有,就是轉接板,HXC的官網已經有人做出了轉接板,日拍也有現成的轉接板買,並把電源單獨分了出來給軟驅用。而且其實淘寶上也有賣26轉34的板子,不過大多數都是給筆記本的26pinmini接口使用的。
但是既然BA3的面板是一體化的,所以我也不希望廢掉PC-98原本軟驅的讀寫功能了,替換內置軟驅的計劃還是算了,我決定保留兩個實體軟驅,考慮別的方法使用仿真軟驅(下面再說)。

系統盤寫入:HDI、NHD、IMG格式與CF卡寫盤。

之前的文章也說過,由於這些老電腦大多數用的都是SCSI和SASI的硬盤,時至今日屬於十分稀少的古董,而且實際上老電腦也用不到容量太大的硬盤(2GB已經足夠了)大部分玩家都是採用了特殊的CF卡轉換設備來轉換成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,但是不支持硬盤

這板子是SCSI轉IDE,但是不支持硬盤

這板子是IDE轉SCSI,無法把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

Diskimage

而剛才也說道,大量早期PC-98遊戲都是BASIC語言編寫的,多數採用的是D88或FDI格式鏡像存儲,軟盤鏡像內沒有文件系統,連用VFIC轉換成HDM都不行,DOS下的DISKCOPY也無法複製。
VFIC

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格式鏡像

特殊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驅動器

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合成器鍵盤

雅馬哈的FM合成器鍵盤

當然,PC-98也隨著時代分為了幾代音源,主要的區別在於支持的FM通道和SSG通道的多寡,通道越多,可發聲的複雜度越高,聲音也就越細膩。早期的PC-98使用的是26K音源,而後在90年代初曇花一現的出現了73K音源,但因為格式比較特別,兼容性差而很快就被86K音源代替了,而後很長一段時間。PC-98的FM音源就都是86K和26K並存的情況,而後雖然又推出了118音源,但由於支持的遊戲比較少,價格也很昂貴反而沒流行開來。
PC-9801-118 音源卡

PC-9801-118 音源卡

直到90年代末,PC-98電腦的聲音硬件逐漸被MIDI和聲卡所替代,比如windows95時代的PC-9821臺式機和筆記本使用的就是canbe聲卡來模擬FM音源發聲,而不是真正的FM音源,也因此有著兼容性的問題(具體看我第二篇文章)。
隨著windows 到來,聲卡也開始在PC-98電腦普及了

隨著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音源卡

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年,想到了中關村,想到了那些位於地下市場嗡嗡作響的老式計算機和顯像管顯示器......
也許只有那個計算機的蠻荒年代,才是最浪漫的吧......

本文(大部分)圖片來自網絡

© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com