エントリー

カテゴリー「マニアックなおはなし」の検索結果は以下のとおりです。

PC-386BookLのメモリを3.6MByteに

 PC-386BookLで遊んでいると,もうちょっとメモリが欲しいなと思う事があります。といっても,MS-DOSで真面目に2.6MByteを使い切ることなどなく,ディスクキャッシュや常駐ソフトの待避に使われるわけですが,HDDを1GBと破格の大きさにしたことで,ディスクキャッシュが相対的に小さくなって,パフォーマンスの低下が目立って来ました。

 これまで768kByteでも十分だったのは,HDDが40MByteと小さい事で,ファイル数も少なく,ディレクトリのエントリも少なかったからだと思うのですが,1GByteにもなるとディレクトリの一覧が出てくるまでに,ゴリゴリとHDDへのアクセスが発生します。

 自作したLスロット用2MByteのSRAMボードを改造して容量を増やし,もう少しディスクキャッシュにあてがえればと思ったのですが,当時そういうこともあるかと,増設の仕組み仕込んであったことを思い出しました。

 SRAMですので,考えるべきはアドレスデコーダくらいのものなのですが,デコード信号をHC138を使って作ったので,すでにデコード信号が1MBごとに8本も用意出来ています。このうち先頭の2MB分を使っているわけですが,現在の回路でも8MBまでは信号が用意出来ているというわけです。

 とはいえ,SRAMそのものをバスに敗戦する作業からは逃げられません。多くの先人達は,ここでICの上にICを重ねるという,カメカメと呼ばれる必殺ワザで増設をこなしてきました。

 かくいう私もカメカメは基本テクニックとしてすでにマスター済みですが,なにせ信頼性が低いので積極的にやるようなものではありません。それに,渥美も増えるので,実際には利用出来ないことも多いテクでもあります。

 今回のケースでは,配線がSRAMの上にも這い回っているという汚い実装で,カメカメが最適解ではないのが明確でした。とはいえ,他に方法もなく,やるなら重ねる以外にないでしょう。

 その前に,SRAMの在庫があるかどうかも見ておかなければ。幸いなことに,前回10個買ったSRAMの残りがそのまま残っているので,もう2つ追加してトータル3MByteのプロテクトメモリに仕上げましょう。

 追加の部品はSRAMだけ。これを重ねて配線し,HC138から0x30000から0x3FFFFまでをデコードした信号を取って配線するだけです。

 とはいえ配線数も多く,細かいハンダ付けが続くので,まさに修行。黙々と続けます。

 1時間半ほどで配線を終え,念のための確認をしてからPC-386BookLに取り付けます。まずは起動直後のメモリチェックはパスです。3MBを認識しています。

 次はTMEM.EXEというメモリチェックプログラムで,プロテクトメモリのままチェックをしますが,これもなんなくパス。

 そして最後に仮想86モードでEMSを設定し,EMSTEST.EXEでEMSとしての動作をチェックします。これもサクッとパス。

 いやはや,私には珍しいことに,何の問題もなく動いてしまいました。

 これで私のPC-386BookLは3.6MBになりました。これくらいになるとようやくメモリサイズを気にしなくても大丈夫な感じです。

 ディスクキャッシュを増やしたり,EMSとのバランスを取ったりして調整を済ませて運用に入っていますが,正直なところ,あまりその効果を感じません。そういえば当時も高いお金を出して増やしたメモリ(PC-98RLをフル実装で9.6MBにした)にたいして,それほど実感として変化を感じなかった,つまりは気分的な物で,結局DOSではどうにもならないことに馬鹿馬鹿しさを感じていたことを思い出しました。

 もうこれ以上PC-386BookLを改造したり拡張することはないでしょう。そういえば私が初めて買ったDOS環境であるPC-386VRも,メモリは増設後4.6MByteだったなあとか,そんなことを思い出しました。そう考えると,1991年頃の実機環境としては,このくらいで十分だという事でしょう。

 

ubuntuでつくるDOSアプリ

 実は,先日からubuntuの導入に四苦八苦しておりました。

 今どきのLinuxだからなんの苦労もなく,イメージをダウンロードしてUSBメモリに書き込んでブートすれば1時間後には使えるようになってるだろうと思っていたので,四苦八苦していると「なにをやってるんだ私は???」と思う事もしばしばでした。

 といいつつ四苦八苦した理由は簡単で,古い古いMacBookAirをターゲットマシンにしたからです。MacBookAirのLate2010という今から15年の前マシンです。当時円高が進んで,10万円を割るというので,11インチという小ささを生かした,メールなどの生活マシンとして買いました。

 メインメモリは長持ちさせたいという理由で4GBにしましたし,キーボードもUSです。今も思うのですが,大きさといい重さといい,キーボードの感触といい,このマシンはとても使い心地がいいです。

 そんなですから,電池は交換してありますし,SSDも240GBにしてあります。しかし,OSのサポートが早々に打ち切られたことと,CPUパワーの不足もあって,現在はM1のMacBookAirです。(これも買ってから5年もたつのか・・・)

 しばらく死蔵していたのですが,先日PC-386BookLがらみのある事情から,ubuntuを入れて再出発させることを思い立ち,行動を起こしたと言うわけです。

 そのある事情というのが,PC-386BookLのメモリへの不安です。

 高速のディスクコピーのツールには,EMSを使うものがあります。ところが,EMSを使うとどうもデータが化けるらしく,コピーが正しく行われないのです。

 同種のディスクコピーツールを使っても同じ結果が出ますので,メモリが自作である私の場合,メモリテストを行わないと心配です。

 もちろん,プロテクトメモリとして実装してありますし,プロテクトメモリとしてのメモリチェックは何度も行ってエラーがないことはわかっていますが,仮想EMSドライバなど相性もあると思いますし,特定の条件下で出るエラーかも知れません。とにかくDOSで標準化された方法で,EMSへのアクセスが正しく行えているかは調べておく必要があるでしょう。

 で,そんなツールがないものかと探してみたら,ありました。

https://github.com/pc98user/EMStest

 バイナリがないので自分でコンパイルすることになりますが,コンパイルに,見慣れないia16-gcc-elfを使っています。ん?なんじゃこりゃ?

 MS-DOSのアプリですのでDOS上のコンパイラ(MS-CとかTurboCとかLSI-Cとか)でコンパイルする物と思っていたら,gccというじゃありませんか。gccって8086に対応してた?もし8086のコードが吐けてもDOSでの実行形式にするためのライブラリは?

 なんでも,少し前からLinux上でMS-DOSのクロス開発を行うための,16ビットコードを吐くgccやらライブラリやらの環境整備が行われて,数年前にDOSで動作するアプリケーションをLinuxで作るのが流行ったらしいのです。

 そんな面白い事があったのかと不勉強を恥じたわけですが,私の場合Linux環境から作る必要があるので,まずはこのソースをMS-CやTurboCに移植することを試みました。

 しかし挫折。全然コンパイルが通りません。さすがに30年も昔のコンパイラですので,エラーが連発しますし,なんとかねじ伏せても,実装すると暴走します。今さらTurboCを勉強しなおすのも面倒なので,これを機会にLinux環境を常備することにしたわけです。

 そこで白羽の矢が立ったのが,眠っていたMacBookAir2010です。古いとは言えメジャーなマシンでしたし,遅いとは言えLinuxならそれなりに動くでしょう。

 ということで,イメージをダウンロードします。選んだのはubuntu-desktopです。計量のLubuntuなんかも考えましたが,最初はとにかく普通の物を選んでおくことにしました。

 バージョンは一番安定していて長くサポートされることを期待して24.04.2LTSにします。これをUSBメモリに書き込み,MacBokAirから起動します。

 ・・・上手くいきません。

 起動にすごく時間がかかる(USB2.0であることを差し引いてもものすごく遅い)上に,画面が真っ黒です。ごく希にインストーラが起動するのですが,これをインストールを行っても,再起動するとやはり画面が真っ暗です。話になりません。

 のちにこれは,GPUのドライバが問題である事がわかりますが,この時はそんなこともわかりませんので,1つバージョンを落として22.04.5LTSにしました。

 これだと起動も正常,インストールも進み,再起動も可能でした,(画面の右端にチラチラとゴミが出ていますが)

 とまあ,ここまで実は丸2日かかっています。いろいろな種類のイメージのダウンロードには結構な時間がかかるし,インストールが終わるまで1時間ほどかかりますから,大変でした。

 22.04.5LTSで正常の画面が出たのは,GPUのドライバがnouveauドライバというオープンなものを使っていて,これがMacBookAir2010のGPUであるGeForce320Mを正常に動かすことが出来るからみたいです。24.04.2LTSではこれが未対応のようで,画面が真っ暗になったり崩れた表示になってしまうようでした。

 とにかく世界中でMacBookAir2010にubuntuを入れている人はいるだろうから,ここからコツコツやっていこうと腹をくくったのですが,プロプライエタリなドライバ(nvidia-driver-470)を入れてみると,表示のゴミはなくなったかわりに,輝度の調整が出来なくなり,輝度最大に固定されてしまいました。

 さすがにこれはつらいので対策を探しましたが,見つかったXorg.confの修正を行っても解決しません。ならばとnVidiaの公式でLinuxに対応したドライバのバージョンを特定してみました。するとnvidia-340というのが該当するというのでインストールを試みるも,すでに公式には存在せず入手は不可能です。

 ただ,他の方が残してくれているのでリポジトリに追加してインストールしましたが,なんと再起動後に画面が真っ暗になり,ubuntuのインストールからやり直しです。

 ここまでまた丸2日。他の環境設定もやりつつだったので,インストールのやり直しはかなり痛い手戻りになりました。

 結局GPUのドライバはいろいろなバージョンを試し,いろいろな設定を試しましたが解決せず,失敗した時のダメージが大きすぎるので断念し,nouveauドライバでいくことにしました。

 まあ,輝度調整が出来ないドライバというのも手だと思いましたが,つまりACPIでバックライトの制御が出来ない事を意味しているので,省電力設定でバックライトを消したりできませんから,やっぱり実用は無理があると思います。

 ついでに24.02LTSでもドライバの入れ替えなどで試行錯誤を行いましたが,こちらも問題は解決せず。とにかく正常に画面が出ませんので手探りでやるしかなく,あきらめました。

 ということは,このMacBookAir24.04.2LTSへの移行は出来なくて,従って2027年移行は使えなくなりますということです。あと2年か・・・Linuxにも見放されるといよいよ厳しいです。

 さて,環境設定を進めていきます。WiFiも標準のままで問題なく動作しているのでBroadcomのプロプライエタリなドライバを入れる必要はありません。(いれるとサスペンドからの復帰に失敗するという話もあります)

 キーボードのレイアウトを変更したり,.bashrcを書き換えたり,mozcの再コンパイル(初期状態が直接入力になっていて,初期状態をひらがな入力にするには設定を変えて再コンパイルしなければなりません)したりと,なかなかに手間のかかる作業をひととおり終えてみると,そこには普段使い可能なマシンが完成していたのでした。

 WEBのブラウザもサクサクとはいいませんが実用レベル,メールもOK。日本語入力も快適に出来ますし,コピーやペーストのショートカットも,タッチパッドのジェスチャによるワークスペースの切り替えも問題なく動いています。

 もともとのキーボードの心地よさもあって,ターミナルでのCUI作業は快適で,なにも我慢を強いられません。絶対的な速度の遅さに我慢が強いられる場合もありますし,その割には電池の減りが早いので,M1のMacBookAir2020の進化に改めて感動するのですが,それでも片手でひらひらと持ち運べるMacBookAir2010の身軽さに比べて,ずっしりと重いMacBookAir2020は,AppleがモバイルマシンとしてiPadを割り当てたことを再認識させられます。

 さて,ここまでくるのに5日。えらい時間がかかりました。

 では,投書の目的のEMStestをコンパイルしてみましょう。実は,ia16-gcc-elfをインストールして指示通りにコンパイルをしただけだと,全然コンパイルできなかったのです。

 見つかった記事はHello World!で問題なく実機で実効できたよ,というネタに過ぎず,今回のエラーであるdos.hがありません,なんていう問題の解決方法は,なかなか見つかりませんでした。

 ということで,当たり前過ぎて誰も解説しなかっただけの,おそらく初めての日本語によるコンパイルの手順です。

(1)リポジトリを追加し,アップデート
sudo add-apt-repository ppa:tkchia/build-ia16
sudo apt-get update

(2)gcc-ia16-elfをインストール
sudo apt-get install gcc-ia16-elf

(3)nasmをインストール
sudo apt-get install nasm

(4)ライブラリをインストール
sudo apt-get install libi86-ia16-elf

(5)ソースを展開し,コンパイル
ia16-elf-gcc emstest.c emslib.c -li86 -o emstest.com

(6)フロッピーに書き出し,実機に転送し実行


 今回はバイナリのサイズが30kB未満ということで,tinyモデルで十分です。そこで実行ファイルはemstest.comとして作成しました。

 で,これを実機に転送するわけですが,USBフロッピーディスクドライブをMacBookAir2010に接続すると,さくっと認識されて使えるようになりました。書き込みには管理者権限が必要なのでCUIでsudo cp~としないといけませんが,こんなに簡単に使えて,ubuntuは大したものです。

 ドキドキしながらPC-386BookLで実行。

 なんら問題なく実行されて,テストが進んでいきます。結局EMSとして使える1616kBは,全エリアエラーを出すことなく,テストをパスしました。

 ・・・大変でしたが,emstestを実行するためにDOSのコンパイラに移植を試みたところから考えると,3週間ほどかかってしまいました。

 ubuntuでDOSのアプリが最新のCで作る事が出来る(MS-CやTurboCのコメントが//ではなく/*でないとエラーになることを知ってめまいがしました)というのもいいし,HelloWorld!どころではないEMSのアクセスという結構難しい物がきちんと動作していることも興味深いです。

 そのためにubuntuを整備したことも収穫でしたし,その結果レシピを見るのにキッチンに置いておける小さくて,水がかかったりして壊れても困らないマシンとして,古いMacBookAir2010を用意出来たことも大きいです。

 そして,想像以上にubuntuが使い物になること,日常的な作業はこれでなんなくこなせるだろうということがわかった上に,UXも最新のものを取り入れようと貪欲であることも好感触で,もうちょっとしっかりubuntuを使い込んでいこうと思いました。


 あ,今偶然見つけたんですが,ia16-gcc-elfって,DOSのバイナリもあったんですね・・・動くんかなあ。

PC-386BookLにYM2203を内蔵

 20250211204425.jpg

PC-9801の標準的な環境を再現するに,私のPC-386BookLで不足している最後のピースはサウンド機能でしょう。1980年代を代表するデジタル音源であるFM音源はPC-9801UV2という家庭用を意図したモデルで初搭載,その後小型モデルを中心に内蔵されて来ましたが,PC-9801の本流であるビジネスマシンのPC-9801DAシリーズにも標準搭載するに至り,4オペレータFM3声+SSG3声は日本のDOSマシンの「当たり前」になりました。

 PC-9801シリーズに内蔵されたFM音源はOPNと呼ばれたYM2203です。PC-8801mk2SRにいち早く搭載され,音楽機能が弱かったPC-8801シリーズを一気に国産機トップの能力を持つ機種に引き上げた立役者です。

 アーケードゲーム基板にも採用されたこのチップは,8音ポリのYM2151,6音ポリのYM2608等に比べると見劣りしますが,1980年代中頃において,本格的なデジタルシンセサイザで音作りが出来て,しかも和音を演奏出来るというのは衝撃的で,これが本体に標準搭載されることで,用途の柱の1つであったゲームが新しい時代に入ったと言えるでしょう。

 とはいえ,当時の私は,8ビット時代にはX1でYM2151を使い,16ビット時代にはMIDIに流れていましたので,YM2203を自分の手で鳴らしたことは一度もありません。当時使っていたPC-98RLにPC-9801-26K互換のボードを一応突っ込んでありましたが,どこかで馬鹿にしていた気もしますし,音が出るという事だけで済ませていた気がします。

 さて話は現在に戻ります。

 PC-386BookLは,ここまでコツコツと修理と改造を繰り返していますが,LCDがカラーになったことでレトロゲームマシンとしても期待出来るようになりました。実はフロッピーディスクドライブが2台入っていることも,ゲームには向いているんですよね。

 こうなってくると足りないものはサウンド機能です。残念な事にビジネスマシンのPC-386BookLにはFM音源は内蔵されていません。

 なにも1990年代のPC-9801-86と同じ水準のサウンド機能が欲しいとは思いませんが,色鮮やかなゲームの画面を見ていると,そのチープさがかえって当時を強く思い出させるPC-9801-26K程度のものがあるといいなと思うようになりました。

 しかしLスロットで拡張することは絶望的なので最初から無理と決めつけていたのですが,冷静に考えると大した規模の回路ではありませんし,部品さえ揃えればなんとかなるだろうとジャンク箱を漁ってみると,YM2203もYM3014もすぐに見つかりました。

 これは作るしかありません。

 早速手元の資料を調べてみると,YM2203は0188hと018Ahにマッピングされ,INT5に割り込みを突っ込めば良いらしいです。26Kに搭載されていたROMはBASICから使う場合に必要なだけで,独自のドライバがあれば必要がないので,EMSが使えないなどの弊害もあることから,実際にはほとんどのケースで切り離されています。

 結局YM2203を8ビットのデータバスでI/Oに繋ぐだけ,と言う簡単な話だとわかったところでちょっと考えてみると,アドレスデコーダはORゲート3つと74HC138で簡単に作れそうです。データバスとIOWとIOR,そしてRESETは面倒なので直結です。ここにバスバッファを入れるのが正しいのでしょうが,配線は短くしますし,YM2203以外にぶら下がりませんから,苦労してバスバッファを入れてもPC-386側のバスの負荷は変わりません。ならば省略です。

 そうそう,クロックは本体からもらってもいいんですが,決まった周波数(4MHz)が欲しかったので,これも手持ちの水晶発振器で手間をかけずに解決しました。

 IRQは,YM2203がオープンドレインで,本体にもオープンドレインで突っ込む必要があるのですが,あいにく論理が逆なので,トランジスタ1つで反転しオープンコレクタで突っ込んでやります。机の上をちらっと見たら,どこかから外した2SC945が出てきたのでこれでいきましょう。

 てことで,YM2203と74HC138,74HC32に4MHzのオシレータでデジタル部は出来そうです。

 次にアナログ部をどうするかですが,YM3014にOP-AMPが2つ必要,これにローパスフィルタとSSGとの合成にもう1つ必要なので,3つ必要になります。さらにPC-386BookLにはPC-9801シリーズのように26Kからのオーディオ出力を受けて本体のスピーカでならすコネクタもないので,スピーカを自前で持つ必要もあります。

 OP-AMPは手持ちの関係から最終的にTL082を2つ,パワーアンプは手軽で便利なHT82V739を使うことにしました。5Vで動いて外付け部品も少なく,ノイズも小さくて高音質ということで大変便利なICです。

 実はこのIC,ゲインが小さい事が唯一の難点なのですが,今回はノイズまみれの環境で使いますので,むしろゲインは小さい方が良く,これも好都合でした。

 電源のうち,OP-AMP用の±12Vは綺麗な方がいいので,LDOを使うのが正しいのですが,面倒なので大きめのパスコンを繋ぐだけで直結します。

 とまあ,ここまでは順調だったのですが,最大の問題は実装です。本体への取付はどうするのか,どこに収納するのか,そしてどんな基板に組み立てるのか,いいアイデアが浮かびません。

 思案した結果,2MBのメモリボードから信号をもらう事にしました。まず,小型の基板に回路を組み立てておき,メモリ基板の下側にビス留めします。2階建てのごっついモジュールになりますが,仕方がありません。

 そしてFM音源ボードをメモリ基板に来ているバスの信号と繋ぐという作戦でいくことにしました。ここで,Lスロットに転がしてあったバックアップ電池(単三x5のNi-MH)が邪魔になり,空っぽにしてあったバッテリーパックにバックアップ電池を移設しました。

 さて,一日1.5時間程度の作業で3日ほど,配線が終わったので本体に取り付けて起動してみました。

 すると,なんということか,2MBのメモリが認識しなくなりました。まさかの展開です。メモリボードが壊れたんじゃないかと焦りましたが,もしかするとFM音源は動くかもとゲームを試したところ,スピーカーからはギャギャーとおかしな音が出続けています。

 画面に合わせて音が変化するので,YM2203を叩いているんだろうと思いましたが,それにしても正常に動作していないものを放置するわけにはいきません。かといって,2階建てにしてしまったFM音源ボードは,プローブをあてて波形を見ることも出来なくなっていたので,なにが起きているかさっぱりわかりません。

 とにかくメモリが無事かどうかを知りたかったので,バス周りの配線を全部外して。メモリボードと分離して元通りにしました。

 これでメモリボードを試すと問題なく2MBを認識し,元通り動作するようになりました。まずは一安心ですが,振り出しに戻っただけです。

 FM音源ボードはもう一度配線チェックを行うと同時に,アドレスデコーダの設計をミスってないか確認しました。とりあえず問題はなさそうで,これでもう一度試してみることにします。

 今度は,Lスロットのコネクタのハンダ面に直接配線し,基板はLスロットのレールに差し込んで固定することにしました。

 今回は動作チェックにゲームではなく,FMPというサウンドドライバを使わせて頂くことにします。FMPは常駐型のドライバで,組み込み時に搭載音源やアドレス,割り込みを自動的に認識するというありがたいもので,組み込み時のメッセージでFM音源ボードが正常に動作するかがわかります。

 配線後,あまり期待しないで電源を入れると,以前は変な音が出ていたスピーカーは静かなままです。メモリも2MBが正常に認識されて,動作しています。

 しかし残念な事に,FMPではFM音源ボードは認識されませんでした。

 もう一度配線をチェックすると,一部に配線忘れがありました。ここを配線し最終チェックを行って試すと,設計通りのアドレスと割り込みにYM2203を認識し,軽快な起動音を鳴らして常駐することに成功しました。

 こうなるともう話は早くて,スピーカを固定し,さっさと本体を組み立てて完成です。

 これで私のPC-386BookLは,FM音源内蔵になりました。これでゲームにも対応します。

 早速名作,マーブルマッドネスを遊んでみました。懐かしいです。音があるとこんなに楽しいのかと,改めて思いました。

 ということで,私のPC-386BookLはこれ以上機能を追加することもないでしょう。本当にここで一区切りです。現在のスペックをまとめてみます。

CPU : Cx486SLC-25MHz
FPU : i387SX
メモリ : 2.6Mバイト
HDD : 1Gバイト
FDD : 3.5インチ 2HD/2DD 2機
ディスプレイ : 640x400ドット,4096色中16色,10.1インチTFTカラー
サウンド : YM2203(FM3声 + SSG3声)
マウス : USBマウス対応

 1990年代初頭のモデル,例えばPC-9801ES2やPC-386M等のマシンをCx486SLCに換装したかんじのマシンになっていると思います。DOSで使うならこれでもう十分でしょう。

 私の場合,1990年代中頃はMacintoshに完全に移行していましたので,640x480で256色と86ボードのPC-9821の時代は完全に未経験で,このあたりのスペックが私にとってのPC-9801の到達点ということになりそうです。

 強いて言うなら,メモリをもう1MBほど増やせればと思う事,メモリとCPUの速度をもう少し上げたいという事,CD-ROMやMOなどのSCSIを使いたいと言うこと,Ethernetに繋ぎたいなあ,くらいでしょうか。どれも必須ではありませんし,特にSCSIなんて,データの移行がおわったら用済みですから・・・

 さあ,このマシンで遊ぶぞ。

PC-386BookLに1GBの内蔵HDDを

 カラーLCDまで搭載してしまったPC-386BookL。ここまでくると,やはり内蔵HDDの40MBというのが窮屈で仕方がありません。

 かつてのPC-9801の世界では,ノート型が先鞭を付けた内蔵HDDのIDE化に対し,容量制限を突破することがマニアの間では常識でした。私も当時のバイト先がパソコンショップだった関係で,初のHDD内蔵の98NOTEであったPC-9801NSのHDDを,20MBから40MBにするサードパーティーのキットを販売したことがありますが,付属の特殊なフォーマッタがBIOSを騙して純正の20MBを越えて40MBを使えるようにしていた事例をよく覚えています。

 当時のNECはなにかと制限をかけたがるので,ハードウェアの柔軟性が削がれることが多かったのですが,これも今にして思えば動作の安定性を維持するという目的で理にかなっていたのかなと思います。(まぁ理にかなっていたことを実行出来たのも圧倒的なシェアがあってこそなんですが)

 で,我がPC-386BookLはどうかというと,純正では40MBまでが用意されてたみたいです。

 IDEのドライブをサポートする仕組みとしては,BIOSで内蔵SASIに見せかけて動かすという理屈ですので,SASIの制限である40MB以上のサポートはそもそも必要ありません。

 ですが,HDDのサードパーティーの雄であったICMから120MBあたりまで用意されていたことは覚えていて,ということは,PC-386BookLでも40MBの壁を越えることが出来るということです。

 しかし,具体的な方法については情報が全く出てきません。マイナー機ですし,内蔵出来るHDDも物理的なサイズの制限がありましたから,試みた人も少なかったのでしょう。

 とはいえ,小耳に挟んだ情報では,同様に容量制限のあるPC-386NOTEシリーズでも,容量制限のない別機種で一度フォーマットをかけて戻せば制限を突破出来るらしく,そういうことなら同系列のPC-386BookLでも可能性はありそうです。

 ということで,実は数年前も試してみたのですが上手くいかず,諦めていました。

 1GBのマイクロドライブを内蔵しながら,このうち40MBだけを使っての運用は,安定性という点ではなにも心配ありません。

 これでも決まった事をやるだけなからいいんですが,一番困るのはディスクイメージの書き戻しです。数枚組のゲームなんかだと,ファイルを解凍してFDに書き戻すのに10MBほど作業スペースがないとだめなのですが,もはやこの大きさを準備するのも難しく,カラーLCDになったときから,なんとかこの容量制限を突破出来ないかと,試行錯誤を行っておりました。

 そして先日,ようやく突破しました。PC-386BookLに,IDEモードで動く1GBのマイクロドライブを内蔵し,1GBフルを使うことが出来たのです。

 理屈はBIOSを騙すこと。これは他の機種でも原理的には同じなのですが,問題はPC-386BookLでそれが可能かどうかです。いろいろ試したところ,CLMODIFY.EXEというツールがバッチリ使えることがわかりました。(ありがとうございます>作者のかた)

 常駐型のツールで,BIOSを騙して設定したシリンダ数を返すツールです。このシリンダ数でフォーマットをかけてしまえば,あとは常駐させることなく運用することが出来ます。

 次の問題は設定するシリンダ数をどうやって調べるかです。当てずっぽうで試してみてもいいのですが,そこはやっぱり根拠が欲しいですよね。

 そこで,ICMのツールであるATFORM.EXEを使いました。IDEとして繋がっているHDDの情報を表示し,テストを行うことが出来るツールです。名前からフォーマットもできるんじゃないかと期待したのですが,そこまでの機能はありませんでした。

 この手のツールはいろいろあるのですが,PC_386BookLで動作する物がなかなか見つからなかったところ,どうもPackAシリーズに同梱されていたらしいという事で使ってみることにしたところ,上手く動作したというわけです。
 
 ATFORM.EXEで調べたところ,

2088シリンダ x 16ヘッド x 63セクタ x 512バイト/セクタ
= 1077608448バイト

 と出てきました。なるほど。

 PC-9801では,ヘッド数は8,セクタ数は17である事が知られています。なのでPC-9801でこのマイクロドライブを目一杯使うために設定するべきシリンダ数は,

1077608448 / 8/17/512
= 15475.76471

 となります。少し余裕を見て,CLMODIFYで15473をシリンダ数として登録します。

 この状態でICMのフォーマッタであるEXFORM.EXEを起動すると,計算通り1GBのマイクロドライブの全域を初期化することが出来るようになっていました。

 このまま装置初期化を選んでやると,結構長い時間がかかりますが無事に初期化が終了します。続けて領域確保を行いますが,私は純正のFORMAT.EXE(HDFORMAT.EXE)を使って領域確保を行いました。

 領域の確保は,使い勝手の問題から500MBのパーティションを2つ確保しました。

 DOS6.2をインストールする時にもCLMODIFYでシリンダ数を騙しておかないとエラーが出るので,インストール前に常駐させておけばあっさりインストールまで終了します。

 再起動を行えば,目の前に500MBの広大な海が広がっています。素晴らしい。

 起動も時間はかからず,全域が問題なく使えています。上手くいったようです。

 ちなみに,6GBのマイクロドライブでも試してみました。4GB分の装置初期化を行って,そのまま4GBのパーティションを作ったのですが,この場合起動にちょっと時間がかかってしまうようです。

 パーティションの大きさが問題なのか,4GBという装置全体の大きさが問題なのかはわかりませんが,どちらにしてもDOSのテンポの良さが損なわれるのは嫌ですし,DOSで4GBもあっても仕方がないので,1GBで運用することにしました。

 ということで,私のPC-386BookLは,前代未聞の1GBのHDD内蔵となりました。この当時,500MBのHDDでもデスクトップ機しかなかったんじゃないかと思いますし,私自身もDOSで1GBのHDDを扱う事は初めてです。

 そんなに容量があってどうするのよ,という話もありますが,ディスクイメージを保管しておくのもよし,当時容量不足で消したアプリケーションをインストールしておくのもよし,とにかく大きなHDDには心のゆとりも生まれます。もうこれで私のPC-386BookLに,HDDの容量の問題は完全になくなりました。

 さてさて,このPC-386BookL,Cx486SLCに換装済み,387SXも搭載し,メインメモリは2.6MB,FDDは2台あり,HDDも1GBに大容量になりました。カラーLCD内蔵でゲームも問題ありません。マウスだってUSBマウスが使用可能で,当時のPC-9801を完全に再現出来ています。

 そうなると,あと足りない物は・・・
 もしかしてFM音源・・・

PC-386BookLをカラーモデルとして復活させる

 ワンダースワンを手始めに次々に襲いかかる恐怖のビネガーシンドローム。偏光フィルムの交換以外に修理の方法がないこの問題は,交換可能な新品の偏光フィルムが手に入るかどうかという問題に始まり,ホコリや気泡を避けて一発で綺麗に貼り付けるという,非常に難しい作業に打ち勝たねばなりません。

 もちろん,それらの作業中にLCDそのものを壊してしまえば元も子もないわけで,フレキを切る,フレキがガラスから剥がれる,ドライバICが壊れる,ガラスが割れるなどに気を遣いながら作業をするのはなかなか難しいと思います。

 満身創痍で,次から次へと壊れていく状況に抗い,頑張ってここまで復活させたPC-386BookLを,先日LCDのフレキの切断で失った悲しみは大きく,どうしたものかとこの年末年始,考え込んでいました。

 外部ディスプレイを繋いでやればもちろん使う事が出来ますから,捨てるという選択肢はありません。しかし,HDDにFDD2機搭載という1990年代のフルスペックで,2MBのプロテクトメモリを装備した486(Cx486SLCですが)マシンがディスプレイまで含んだ「オールインワン」になっている,電源さえ与えれば即当時の環境が甦るというメリットは捨てがたいものがあります。

 加えて,今はもう世の中に存在しないDSTNのモノクロLCDには,なんとも言えない味わいがあり,私にとっては見にくさを越えた魅力があります。これを失ったことはなかなか残念なことでした。(青/白のLCDはまだちょっとした小さいディスプレイで使われていますが,200ラインを越えるLCDでSTNはもう見られないと思います)

 しかしこればかりは復活に同じ物を手に入れる意外に方法はありません。同じLCDを手に入れるのはほぼ無理,それこそ同型機のジャンクを手に入れるしかありません。一応ジャンクも探しましたがオークションには見当たらず,もし仮に出品されていても高くついたりLCDそのものがだめになっていたりする可能性も考えねばなりません。

 ここは1つ,古いLCDにこだわらずに,なんとか「オールインワン」を維持することを目指してみましょう。(あ,オールインワンというキーワードは,1980年代初頭のパソコンを知る人にとってはおなじみで,ディスプレイやデータレコーダまで搭載したMZ-80シリーズが他の機種との差を印象づけるものとして,強力にプッシュしていた言葉でした)

 以前から考えていたのは,入手しやすくなっている10インチクラスのLCDを移植出来ないだろうかということです。幸いにしてPC-386BookLの時代のLCDは厚みが必要でしたし,バックライトのインバータ基板も大きいので,蓋の部分にスペースがたくさんあります。

 なので,画面のサイズさえ適合すれば,あとはなんなく組み込めるはずです。

 とはいえこれはあくまで物理的な話。電気的な話がそもそも立ちはだかっています。もとのLCDの信号を使うことは絶対にと言っていいほど無理ですから,なんらかの方法で画像信号を用意し,LCDに表示させることはこの話の前提となります。

 適当な物がないかと探してみると,10.1インチのLCDモニターが使えそうでした。1024x600ピクセルという前時代的なTFTのLCDで,HDMIとVGA,それからNTSC/PALが入力出来るものです。お値段はamazonなら13000円ほどもしますが,あるお店で同じ物が7000円ちょっとで手に入りました。

 届くの少々時間がかかってしまいましたが,手元に来てまず試したことは,このディスプレイのVGA入力が24kHzのRGBに対応しているかどうかです。もし対応していればPC-386BookLの外部ディスプレイの信号をそのまま使うことが出来ますが,もしだめだったら変換基板を介する必要があります。

 さすがに変換基板まで組み込むのはもったいないので,一度VGA入力を外に出し,外部に変換基板を置く方法を取ることになります。オールインワンにはなりませんが,24kHzが日本以外で使われたことは希であり,海外製のディスプレイが24kHzに対応しないという事は今に始まったことではありません。

 果たして試してみるとなんと映りました。安い割に24kHzに対応していたみたいです。ならばと15kHzを入れてみましたが,これは未対応でした。残念。

 もしも15kHzのRGBまで対応しているというのであれば,それはそれで貴重なので組み込むのやめてしまう,あるいは組み込んでも一度VGA入力を外部に引っ張り出して汎用性を維持することも考えていましたが,24kHzまでしか対応しないだなんて,まるで今回の改造のために生まれてきたようなものじゃありませんか。

 これで覚悟は決まりました。組み込んで使いましょう。

 まず,LCDや部品の配置を考えます。画面を表示させて,表示内容が枠で隠れてしまわないような位置を探して固定するのですが,なんと上下がギリギリ。左右方向は問題がありませんが,表示サイズを調整出来ないディスプレイなので,危ないところでした。

 LCDを両面テープと接着剤で固定したら,ドライバ基板をLCDの上側に固定し,配線を取り回します。このLCDはVGA入力がUSBのMiniBを流用しているのでコネクタも小さく楽ちんです。

 これに電源のケーブルの2本を取り回して長さを揃えて切断します。その先に10ピン程度のコネクタをハンダ付けし,メンテ姓も確保しておきます。

 次に考えるのはディスプレイの操作キーです。電源のON/OFFはもちろん,入力切り替えや画質の調整で頻度は高くないものの必要になる操作キーは,PC-386BookLに穴を開けることになるので出来れば用意したくありません。

 幸いにもこのLCDには赤外線リモコンが付属していて,これですべての操作が可能です。受光部は操作キーの基板についているのですが,受光部だけはコントローラ基板に直接繋がっているので,特に操作基板の回路が必要になっているわけではなさそうです。

 なので,受光部を直接コントローラ基板に繋いで試すと,ちゃんと動きました。これで操作に関しては問題解決です。

 もとのLCDの明るさやコントラストを調整するスライダの一部に3mm程の穴を開け,スライドさせると穴が出てくるようにした上で受光部を固定します。

 スライダは動かせるように,もとのインバータ基板を外さず,ダミーで残しておきます。これで綺麗にまとまりました。

 さて,次はとうとう本体側の改造です。外部ディスプレイの信号を取りだしてVGA入力に入れるというのが作戦ですから,メイン基板から信号を取り出す必要があります。従って全バラシです。

 メイン基板にマウントされているD-SUBの15ピンから出ているアナログRGB信号から,RGBの各信号とHとVの同期信号の5本とGNDの計6本を,コネクタの足にハンダ付けして直接取り出します。そしてケーブルの長さを調整して端っこにコネクタをハンダ付け。

 電源は12Vから15Vまで入力可能だそうなので,電源の容量を考慮しなくていいようにACアダプタからの入力のところから取り出します。本体の電源スイッチに連動させるために本体の基板から12Vを探して供給することも考えましたが,安全性を考えるとこれがベストでしょう。

 長さを揃えてこちらもコネクタにハンダ付けし,テストを行うとあっさり表示ができました。

 あとは組み立てて完成です。取り回しによってはノイズで画像が乱れることもあるのですが,上手く取り回して回避します。

 気を付けないといけないのは,PC_386BookLの外部ディスプレイの信号は,初期状態では出力されないという事です。バックアップのための電池が切れると初期状態に戻ってしまうので,こうなるともう全く画面が見えなくなります。

 起動時にHELPキーでメニューに入っても,そこからの操作が全くできなくなるのは辛いので,ブラインド操作で外部ディスプレイの信号が出るようにしないといけません。

 簡単なのは,DOSをフロッピーから起動し,CTRL + HELP + Dを押すことです。フロッピーから起動しないといけないのは,初期状態だと内蔵HDDの設定が256バイト/セクタに戻ってしまうからで,こうなるとHDDからの起動が出来なくなるからです。

 一度外部ディスプレイの信号が出漁されればあとはHELPキーで起動するメニューでも操作ができますので,HDDの設定などを変更して再起動。これで大丈夫です。

 ここまで出来たらあとは実際に使ってみます。安い割にLCDの品質は良好で,最初のTFTモデル,PC-9801NCを見た時の感動が甦ります。

 PC-9801は登場時からカラー表示が前提のマシンでしたから,やはりカラーはいいものです。私は滅多にゲームはやりませんが,ゲームも楽しめそうです。(あ,FM音源がないか)

 確かに当時の雰囲気を存分に味わうことの出来るDSTNの表示も恋しいですが,カラーの鮮やかな表示は,これはこれで楽しいものです。本体の重量も手に持った瞬間にわかるほど軽くなっていますし,最終的にアップグレードされた形で復活するというのもありではないかと思います。

 で,ふと気になったので調べてみると,PC-386BookLには,BookLCとBookLXというカラーモデルがすでに出ていたんですよね。LCがTFT(エプソンとしてはTFTとはいってませんが),LCがSTNモデルではないかと思いますが,それぞれメインメモリが2MB追加されているので,今の私のPC-386BookLと同じ状態です。

 そういう意味では,Bookタイプという今となっては存在価値のないプラットフォームにおける完成形として,当時既にカラーモデルが位置づけられていて,その価格にもかかわらず市場に投入されたという事でしょう。存在が空想の物ではなく,実際にカラーモデルが少数とは言え作られていたわけですから,私のPC-386BookLはオリジナルの価値や魅力を損なう物ではない,ということにしておきましょう。

 レトロマシン,ヴィンテージマシンのレストアは,オリジナルに戻すことが基本です。勝手な改造やアップグレードは御法度ですが,今有る部品で当時の状態を取り戻すことは十分に認められると思います。

 ということで,今度こそだめだと思われたPC-386BookLですが,まさかのカラーモデルとして復活を遂げました。これで本当にレストアが終わればいいなあ。

 

ユーティリティ

2026年01月

- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed