この3ヶ月ほど,レトロPCと戯れてきました。懐かしさもあるのですが,新しい事を知り「なるほど」と思う自然な感動もありましたし,過去の自分には突破できなかった課題が突破できたりと,過去を振り返ると言うよりも再会を果たしたと言う方が正しい様な気がしています。
もちろん,そのためには修理や過去の雑誌などを見ることも必要なので,過去を振り返る作業が楽しめないといけないのですが,そこから先のもう一歩が,今の私には十分楽しめますし,また今の私に必要な事でもあるように思います。
前置きはこれくらいにして,前回の更新からやっていたことを並べてみます。
(1)続・黄金の墓
PC-6001のコレクションを整理していたところ,続・黄金の墓が出てきました。マジカル・ズゥのアドベンチャーゲームで,シナリオの面白さと同じくらい,グラフィックの出来が注目を集めていた当時にあって,高評価を得ていた有名な作品です。
名前の通り,黄金の墓という作品の続編という体ではありますが,実のところディスク版の黄金の墓から途中まで抜き出したテープ版の同タイトルの続編という事になるので,実質的にはディスク版に収録されているものと同じだと聞きました。
黄金の墓はプレイ済み,しかし続・黄金の墓は途中で挫折していたのですが,20年ほど前にエミュレータ用にイメージ化を試みるも読み出し不良で断念しており,唯一遊べていないタイトルとなっていました。
ここは一念発起,いまならなんとかなるかも知れないと,最後の課題として頑張ってみました。
続・黄金の墓は,全部で10個のプログラムに分かれています。最初の1つはローダーでBASICのフォーマット,続く2つはBASICではないバイナリのフォーマットで,この3つでオープニングが起動します。
オープニングは勝手に進んで,本編をロードするのですが,最初に4つ目にあたる"main"というファイル名のBASICのフォーマット,次にバイナリを読み込んでゲームがスタートします。
エラーが出るのはこの"main"というプログラムで,途中で音が途切れ途切れになってしまい,最後まで読み込むことが出来ません。前回のイメージ化ではここであきらめていたのでしょう。
今回も半ばあきらめていたのですが,うちのPC-6001(初代)はどういうわけだか,明らかに音が消えているものでも読み込めてしまうという超能力が備わっており,もしかすると何度かやってるうちに読めてしまうかも知れません。
試してみると,なんといきなりゲームがスタートするではありませんか。
ゲームが始まるという事は,これはもうなんとかなるということです。やるしかありません。しかし,それは1ヶ月にも及ぶ長い戦いの始まりでした。
まず,mainをなんとかイメージ化します。当時と違い,今はいろいろなツールがありますので,選択肢が増えていて助かりますが,このうちWAVファイルを解析した結果をその場でBASICのプログラムリストとして確認出来るツールがあり,これを試してみました。
すると,案の定音が消えている部分はエラーになっています。
もう一度実機で読み込み,その後すぐにCSAVEしてみます。これで修復できたのではないかと思っていたのですが,解析してみると一部不完全な部分があり,エラーが残っています。そりゃそうですよね。
ということは,最初に試した時にすんなりゲームが動いたのは,やはりまぐれだったということでしょうか。
本来,このプログラムはLISTを見る事が出来ないようになっています。しかし解析ツール上では見る事が出来るので,明らかに項分譲おかしい部分を修正してイメージ化します。
以後に続くバイナリは確かめようがありませんので,出来るだけ信頼性の高い方法でイメージ化しておきます。
エミュレータで動作確認をしますが,mainのあとのバイナリを読み込んだ直後に暴走します。はて,mainが悪いのか,その後のバイナリが悪いのか・・・
イメージをWAVに変換し実機に読み込ませるも,やはり実機も暴走します。ロード時間が長いゲームなので1時間に数回しか試せません。効率が悪いです。
ダンプを取ってバイナリを覗き込んだり,エミュレータでメモリやレジスタを見たりしていましたが,そもそもアドベンチャーゲームが簡単に解析できるわけもなく,万策が尽きたとあきらめモードに入り,中古品を探すようになっていました。
実機へのロードや再取り込みを行っている途中に,取りこみ用用途に絶大な信頼を私が寄せるシャープのCZ-8RL1が突如誤動作,まだきちんと取り込みも検討も終わっていないテープの途中で書き込みがいきなり始まり,完全にダメになってしまうハプニングが発生し,これで完全に心が折れてしまいました。
唯一の望みは,一番最初にざっとすべてを取りこんだwavファイルが残っていることです。しかしこれはその後の検討によって最適化された取り込みにはなっておらず,結構当てにならないです。それでもこれを使うしかありません。
ここで改めてmainをイメージ化してプログラムリストを眺めてみると,PLAY$などという見慣れない構文が出ています。ここがおかしいのではないかと,プログラムを読み込んで周辺からそれらしい変数を推測し,修正したプログラムで試すと,一発でゲームが始まってくれるではありませんか!
これはうれしい。ダメになったテープからサルベージに成功しました。奇跡です。
しかし油断は大敵です。これで最後までクリア出来なければなりません。途中1つのバイナリがリードエラーを起こしていたので,これは波形整形を駆使して綺麗なバイナリにして突破,めでたくクリアに至ったのでした。
とにかく,最終的に暴走してしまうわけですので,原因が特定出来ず,しかも1つとも限らない中での検討でしたから,考えられることはとにかくやってみて,原因を1つずつ減らして行くしかありません。
そうした作業から,Audacityを使ってのフィルタリングや波形の整形などの編集作業や,解析/変換ツールの選び方など,たくさんのノウハウが手に入りました。が,それが結局メモや書類で残しておらず,すでにかなり忘れてしまっていることに愕然としています。趣味とは言え,これはいかんですね。
(2)オホーツクに消ゆの
そういえば,オホーツクに消ゆ,イメージ化したものの最後までクリアすることはしていません。もちろん実機では当時クリアしているわけですが,万が一テープがダメになってしまった場合でも,イメージ化できていればどうにかなるという安心感が崩れてしまうのは,看過できません。
ということで,攻略法を見ながら説いていくわけですが,シーン3で選択肢に強烈な文字化け発生。シーン3が正しくイメージ化できていないようです。そこでサイドイメージ化を行うのですが,あろうことかシーン3が起動することすらしなくなり,暴走します。
波形整形などで解析結果のエラーがなくなるまで試行錯誤を繰り返しますが,何が悪いのか暴走します。ものは試しにとバイナリのダンプを比較し,1バイトを修正して見ると,これで文字化けも解消し,シーン3がめでたく終了出来るようになりました。
これでよしとシーン4がロードされるのですが,ロードがうまくいかず,暴走したりTR Errorが出たりして先に進みません。ここでしばらくまた試行錯誤をしますが,全く改善されません。うーん,さくっと動作確認をして住ませる予定だったのに・・・
調べてみると,エミュレータでシーン4が正常に起動しないことは,既知の問題でした。なんでも,SCREEN4での文字表示なので時間がかかり,実機ではローが始まるまでの時間がかかることで読み飛ばしはないが,エミュレータでは読み飛ばしてしまうので暴走するんだそうです。
なら文字表示をやめるなりイメージの読み込みを待たせるなりすればいいと思う訳ですが,イメージを直接修正することが出来ないらしく,ロード直前のメモリをモニタモードで直接書き換えるしかないそうです。
やってみると無事にクリア。良かったんだか悪かったんだか,なにや釈然としないテストプレイでした。
(3)PC-6001のテープをすべてイメージ化
20年ほど前に行ったイメージ化では,とりあえず購入したテープを中心に処理したので,自分たちで打ち込んだプログラムなどはエミュレータで遊ぶことが出来ませんでした。
今回はどんな小さなものもすべてイメージ化するというテーマで進め,考えつくものすべてをイメージ化できました。私の弟がですね,X1に乗り換える直前まで,PC-6001のPSGでゲーム音楽の打ち込みに精を出しており,途中の作品も残っていたりしました。本人は聞きたいだろうなあ。
(4)PC-6001再塗装
私のPC-6001は改造されているため,筐体に穴が開いていたり,下手くそなスプレーでの再塗装で,見るも無惨な姿になっています。
電気的な改造箇所はオリジナルに戻してあるのですが,見た目がこれではダメだろうと,修理用の予備機(こちらの方が程度が良かったりする)の筐体を流用して,綺麗なPC-6001を作る事にしました。
とはいえ,予備機の筐体は練習も兼ねて10年ほど前に再塗装を行っています。この時は自分で混色をしたラッカー系の塗料を0.3mmのハンドピースで時間をかけて塗りました。ムラもなく色も綺麗で上手くいったのですが,クリアを塗らなかったこともあり,経年変化で塗膜が劣化し,しかもカビまで生えていました。
このままでは先に進めないので,イソプロピルアルコールに漬け込んで塗装を剥がします。大きい筐体なので塗装はがしも一苦労,イソプロピルアルコールが大量にいるという事で,私は生まれて初めて一斗缶での購入を経験をしました。
塗装は綺麗に剥がれたので,ペーパーをかけて傷を消して下処理を行い,ミッチャクロンを吹き付けておきます。
その後ラッカー系の塗料で朝食をしますが,これが前回のように綺麗に決まりません。一度塗って見ましたが白すぎ,2回目は赤すぎで,どうもしっくりきません。
しかも作った色が全然足りず,急ごしらえで作った色がずれているので,上半分と下半分で色が違ったりしています。
のみならず,塗装そのものも上手くいかず,だれる,塗料のかたまりが飛ぶ,ホコリが付く,どっかにぶつけるなどで,もう散々でした。大量の塗料が文字通り霧散したわけで,私もたくさん吸い込みましたし,作業をしていた天井裏もひどい事になっています。
これでは死んでしまう・・・そこで安全性の高い塗料を選ぶ事にしました。そう,アクリジョンです。
乾くときに重合し塗膜を形成するので,乾くまでは水性ですが,乾いてからはラッカー系に匹敵する塗膜を作ります。しかもABSにも適用があります。
依然使った時にも悪い印象がなかったので,早速いろいろ買い込んで,調色から始めます。どうせたくさんいると思うので,2ビンほど作っておきます。
いざ塗って見ると,なかなか難しいです。ラッカー系と違って,硬化した塗料が融けることはないので,ハンドピースにつまります。また,気化の時間が変動するので,長時間にわたる塗装では,条件が変わって失敗しがちです。
で,結局,およそ満足な出来とは言えず,重ね塗りをしすぎて厚ぼったく,かつ梨地になってしまったのですが,ぱっと見て違和感がない程度になったと言う最低限度のクリアで,この作業を終えることにしました。正直二度とやりたくないです。
この後,クリアを重ねて塗って,最後にフッ素入りのスムースクリアーを塗って終了です。しかし先日ぶつけてしまい,角の部分の塗装が剥げてしまいました。
どっちにしても,プラモデル用の塗料で実用品の塗装をしようというのですから,無理があります。PC-6001が観賞用になってしまったと言うべきなのか,割り切って使い倒すか・・・とりあえず私は,丁寧に箱にしまいました。
(5)AppleIIのフロッピードライブ
一段落したPC-6001のあと,ちゃんと動くかなと電源を入れたAppleIIですが,ディスクドライブの異音が強烈になっていました。これはいかん,故障です。
ひどいのは音だけで,動作そのものに問題はないようなのですが,テストプログラムで調べてみると回転数が低めになっていること,なによりこわいくらいの異音ですので,ほっとく訳にもいきません。
異音はどうもスピンドルモーターが回転しているときに出ているみたいです。ということで,まずは分解です。
そうそう,問題のディスクドライブは純正のDiskIIではなく,日本製を謳ったコンパチ品の1つ,ニューテックの飛鳥というものです。DiskIIがSA400というフルハイトのドライブを使っているのに対し,飛鳥はチノンのM-051MDというハーフハイトのドライブを採用していて,信頼性も見た目も私は気に入っています。
分解して見ると,やはりスピンドルモーターから異音が出ています。指で触って回転数を変えると音も変化しますので,ここが原因で間違いないでしょう,
ただ,スピンドルモーターへ供給する電源が大きく変動しているのが原因かも知れませんので,スピンドルモーターを取り外さなくても済む範囲で,まずは電解コンデンサの交換をします。
どのコンデンサもそれほど劣化していなかったのですが,そこは予防的な意味も込めて交換します。結果,改善せず。あたりまえですね。
そこで意を決して,スピンドルモーターをシャシーから取り外します。ああ,位置がズレてしまう・・・
スピンドルモーターはJVC製です。当時VTRで勢いがあったJVCです。ヘッドを回すモーターで培った技術でFDDのスピンドルモーターとは,なかなか面白いじゃないですか。
取り外して基板を見ていると,盛大に液漏れしている電解コンデンサがいくつもあります。おそらくこれでしょう。コイルの周辺に取り付けられたバイポーラの電解コンデンサですので,ここが抜けていると波形が汚いままになり,異音に繋がるんでしょうね。
早速交換,他のコンデンサも一気に交換を済ませて組み付けます。本当はスピンドルモーター単体でのテストをするべきなんでしょうが,おそらくコンデンサの液漏れが原因ですので,これで直るはずです。
結果,異音はなくなりました。元通り組み直して完成です。結構大ごとになるかなと覚悟しましたが,あっさり直って良かったです。
速度調整も行って完成したところ,なぜかディスクによっては回転しないものが出てきて焦りました。原因は,ヘッドの掃除をする時に,反対側のスポンジもイソプロピルアルコールで拭き掃除をしてしまい,これが摩擦を減らした結果,ディスクによっては起動不良が起きてしまったようなのです。
余計な事をしなければよかった,こればかりはどうにもならんかな,と思っていたのですが,とりあえず何枚かディスクを回してるうちに収まってきたので,よしとします。
(6)m5Jr
実家からの荷物の整理で一番最初に手を付けたのがm5Jrです。しかし,これもテープをイメージ化しておらず,いつダメになってしまうかわからない状態でした。
エミュレータでの動作も整備したいという事で,もう一度引っ張り出して,イメージ化です。ここで私は重大な事に気が付きます。
エミュレータでは,実機を持っていることを条件にBIOSを使っても良いことになっています。本当は吸い出さないといけないのですが,同じ物なら別にいいじゃない,という考え方です。
しかし,どうも文字化けがすごいのです。なにが原因かと首をひねっていましたが,おそらくこのBIOSは海外版なんじゃなかろうかと思い,実機のBIOSを吸い出して見たところ,きちんとあのひらがなが出てくるようになりました。
M5のテープは私は市販品を5本ほど持っているのですが,いずれも小さなものなので,WAVファイルのままでも知れています。そこで下手にイメージ化せず,WAVのまま運用することにしました。
というのも,M5のエミュレータとして選ぶ事の出来るMESSのエミュレータと,emu5という日本製のものとの間に,テープイメージファイルの互換性がないからです。
emu5は単独で動作するのが気軽でいいのですが,ツール類が整備されておらず,WAVとイメージを行き来出来ません。ただ,MESSのイメージはemu5で読み込めますので,emu5から実機へのパスを確保しさえすれば,運用は可能です。
最初はemu5のイメージを解析していたのですが,どうもRAWのオーディオっぽいのです。しかしヘッダを作ったりするのも面倒なので,ものは試しにとemu5でロードしている間に出てくる音をそのまま実機に突っ込んでみました。
すると見事にロード出来たのです。いやはや,これは楽ちんです。手間ですが,このemu5おロード音をWAVで録音してしまえば,MESSにも持って行けます。
そこで,昔打ち込んだプログラムポシェットのプログラムをもう一度打ち込むことにしました。しかし今は21世紀,OCRで楽々入力です。
・・・実際には解析ミスが連発し,まともに動くまでにはかなりの時間と手間がかかりました。打ち込み直した方が早かったかも知れません。
とはいえ,採取的には実機でもかつての感動を思い出し,満足しました。
余談ですが,inpをつかってキーを読み込むとき,伝統的に行われていたのはキーのI/Oポートのイメージのアドレスを指定しているんですね。ところがemu5ではこのあたりの事情を作者がご存じないらしく,イメージのアドレスを読み出してもキーの状態は返ってきません。
だから互換性は低いという事になるわけですが,そこを修正してあげれば問題なし。m5のユーザーなら,これくらいのことは問題にはならないのかも知れません。
(7)SYSTE16BとSYSTEM24
言わずと知れたセガのアーケード基板,SYSTEM16BとSYSTEM24です。
SYSTEM16Bはソニック・ブームがやりたくて買ったもの,SYSTEM24はクイズ廊下に立ってなさいが500円だったのでついつい買ってしまったというやつです。
昔はこの手のゲーム基板をいろいろ持っていたのですが,捨てたり売ったりで,残っているのはこの2枚だけです。
SYSTEM16Bはコピー対策として暗号化されたバイナリを解くための鍵を格納したSRAMを持つ,特殊なCPUが搭載されています。巷で羊羹と言われている日立製のカスタムICです。
怖いのは,この鍵を格納したSRAMはリチウム電池でバックアップされていて,これが5年ほどで切れてしまうと鍵も消えてしまい,起動しなくなってしまうというのです。
すでにセガはこの基板のサービスをやめて久しく,メーカーにお願いすることは出来ません。また,消えたデータがデータですので,簡単に復元するkとも出来ず,かつては多くのSYSTEM16がゴミになったと聞きます。
そうなる前にリチウム電池を交換する方法が世界中で考えられて,今や当たり前の手術となっています。
手順は簡単で,羊羹の表に貼り付けてあるアルミの機銘板を丁寧に剥がし,出てきたCR2032を交換するだけです。しかし,電池を外せば当然SRAMは消えてしまいますので,基板に取り付けて通電したまま交換しないといけないのです。
そう,まさに手術です。肝臓を手術するからといって,取りだしてしまうと肝臓も本体も死んでしまうわけです。
しかし,通電中ですのでショートしたりすれば電源が落ちてアウトです。失敗が即死に繋がるという点でも,手術さながらの緊張感を持ってかからねばなりません。
もう1つ,このCR2032はタブ付きで,ハンダ付けが可能です。しかしよく知られているように,CR2032のタブ付きは一般に市場に出てこないので,入手が難しいのです。その上どのくらい補完されて眠っていたのかわかりません。
そこで今回は不格好ですがソケットを使って対応しましょう。
とその前に,とにもかくにも現在SRAMが生きていなくては始まりません。恐る恐る通電すると,めでたくソニック・ブームが起動しました。まずは一安心です。
それでは交換作業を始めましょう。
まずアルミの機銘板を剥がします。
こんな風におさまっているCR2032を取り外して,ソケットを取り付けます。
最後に電池をはめ込んで,電圧を確認して手術は終わりです。
ドキドキしながら電源を切り,再度投入します。
無事に起動,手術は成功です。
ちなみに,取り外した電池ですが,マクセル製で1986年の刻印がありました。今から36年も前なのに,電圧は3.1Vもあり,まだまだいけそうな感じでした。私の中でマクセルの株がグンと上昇した瞬間です。
その後のロードテストも順調でなにも問題ありません。今のうちに処分してしまうのも手ですが,せっかくですのでもうちょっと持っておきましょう。
なお,もしSRAMが死んでいたら,という作戦も書いておきます。
思い出して欲しいのは,すでにSYSTEM16の多くは,MAMEで遊べてしまいます。と言うことは暗号はすでに解読されているわけで,合法かどうかは別にして技術的には暗号を説いたバイナリが存在するのは事実です。
ならこれをROMに焼いてやればいいわけで,すでにソニック・ブームも,そうしたバイナリが存在しています。私は実機を持っていますので,このROMを使うことそのものには違法性はないと考えていて,最悪のケースでは,これを使おうと思っていました。
ですが,グレーなものはグレーです。使わずにすんでよかったです。
そうそう,SYSTEM24ですが,こちらは羊羹も搭載されていませんし,鬼門のフロッピーが必要ないゲームですので,問題なく動きました。
こんな感じで,いろいろやってました。ここには書いていませんが,データレコーダのコンデンサの交換なんかはちょいちょいやっていましたし,先に書いたCZ-8RL1の誤動作も対策しました。
さて,秋から冬,そして春まで過ぎて,かなりのことを経験しました。面白いですね。次の課題は,m5JrでBASIC-Fを動かす事なのですが,どうなることやら。