本物を超えるPC-9801クローン作り

Raspberry Pi 400というキーボード一体型のコンピューターが発売されています。LinuxベースのOSが動作していますので、様々な用途で使う事ができます。
私はRaspberry Pi 400を様々なレトロPCのクローンを作るために使ってみたいと考えました。先ずは 98(PC-9801) のクローン化からやりました。

ミニキーボードサイズのRaspberry Pi 400を使います。
NECの初代PC-9801

実現したいこと

私は今のパソコンで98のソフトを使いたいだけではなく、新しい98を作りたいと考えています。電源入れたら直ぐに98が使えるようにしたい。キーボードの配列も同じにしたい。そして、近年のIT技術を使った利便性を持たせたい。つまり、昔の98を蘇らせるだけではなく、本物を超えた今でも使える物にしたいわけです。

  • 電源ONですぐに98が使える。
  • 常に全画面表示で98を使う。
  • Linuxの匂いをさせない。98そのままの操作性。
  • キーボード配列は98と同じにしたい。
  • 98の持つ膨大なソフトウエアが動作する。
  • 正確な時計を内蔵する。
  • 98がマルチタスクになる。
  • 今後使い続けられる永遠性を持たせる。

動作環境

Raspberry Pi 400は日本語キーボード版を使いました。98のFEPで漢字入力をするには、日本語配列のキーボードが必要です。英語配列キーボードでは98のATOKが使えないと思われます。

Raspberry Piで動作することと、より機能が多いという理由で“Neko Project II (NP2) 改変”を使うことにしました。コンパイルオプションで出来上がるX-Window版のxnp21kaiを使いました。

ウインドウマネージャーにはMatchboxを使いました。キオスク端末向けのに作られており、余計な情報も出てこなくなりますので、より98への没入感が増します。

正確な時計を付ける

全てのRaspberry Piには、時計(RTC)が標準で搭載されていません。起動時にWi-fiに接続して、NTPサーバーから現在時刻を取得します。

しかし、 Wi-fi でネットに繋がれてない状態で起動すると時刻が狂います。作られるファイルのタイムスタンプが無茶苦茶です。それでは仕事向けに使うのには失格です。98はそんなに間抜けなパソコンではなかった。

電池付きのDS3231内蔵 RTC(リアルタイムクロック)モジュールを取り付けました。
本来ならばRaspberry Pi 400に内蔵したいのですが、本体を開けるのは面倒なので、今は背面にあるGPIOポートにRTCモジュール を刺して使うことにします。

電池付きのDS3231内蔵 RTCモジュール。 DS3231は時間が正確です。
そのままでは刺せなくて、延長コネクタが必要になります。しかしこれではかっこ悪い。
半田ゴテでコネクタを外して、逆にして付けなおしました。
GPIOにスッキリ刺せました
ちょっとしたことで外れないように、SDカードごとマスキングテープで固定しました。
ほら、前から見えなくなった。スッキリ。
I2Cで認識して無事使えるようなりました。

98と同じキー配列にする

98のキーボードは、今のパソコンのキーボードと一部異なります。98にはNFERとかXFERとかGRPHのような、よくわからないボタンがあります。
なるべく同じに、そして簡単に解決する為に、シールを作って貼ることにしました。
そして、”Neko Project II (NP2) 改変” のソースコードを修正して、一部キーボードのマッピングを変更しました。

インクジェットプリンタを使い、エレコムのステッカー用紙にキートップの文字を印刷しました。
見事な98のキーボードになりました。
その他の98ノートで使われるキーは全て用意できました。

ソースコード”sdl/kbtrance.c”の修正をしてキーマップを変更しました。650行くらいからのキーマップ定義を一部変更。

  {SDL_SCANCODE_LGUI,           0x73},  // *** GUI to GRPH *** //
//  {SDL_SCANCODE_RCTRL,          0x73},  // GRPH
  {SDL_SCANCODE_INTERNATIONAL5, 0x51},  //*** 無変換キー to NFER ****
  {SDL_SCANCODE_INTERNATIONAL2, 0x77},  //***カタカナ to カナ****
  {SDL_SCANCODE_INTERNATIONAL4, 0x35},  //*** 変換 to XFER ****

※その他confitg.txtやcmdline.txtの修正など、修正箇所は多岐にわたりますが、今回は割合します。

98の定番ソフトが動作します

FILMTN
一太郎 ver.5
ロータス123
名作SUPER DEPTH
98といえばエロゲー
98といえばエロゲー

ファイル共有ができています

”Neko Project II (NP2) 改変” にはLinuxの特定フォルダをMS-DOS上のドライブとしてマウントさせる機能があります。そのフォルダをLinuxのsambaで共有しました。

98のZ:ドライブをSMBで共有しています。

本来なら今のパソコンと98をファイル共有するのは結構面倒です。これだけでも便利性は著しく上がります。

過去の98と比べてどう便利なのか

過去の98に比べて何が良いのかを書いていきます。

この98クローンは"PC-98Pi 400"と名付けました。
この98クローンは”PC-98Pi 400″と名付けました。

値段が安い

1万円強でPC-9801が手に入ります。Raspberry Pi 400 + RTCモジュール、それとステッカー用紙を買いました。
当時の98を使うには、多くの周辺機器を別途購入する必要がありました。しかし、それらの物は全てエミュレーターの中に入っています。

98に永遠の命を

Linux、Rasberry Pi、オープンソース。それらのお陰で末永く動作環境が失われることはありません。メーカーの気分次第でプラットフォームが無くなることはありません。生涯を通して安心して使い続ける事ができます。

全てはSDメモリーに記録される

SDメモリーに全ての環境が記録されます。当時のHDDのサイズなど今となっては微々たるものです。SDメモリーを定期的にバックアップできます。
SDメモリーをコピーして人に渡すことも容易です。過去の98ではそのような事はできませんでした。

98をマルチタスク化できます

Linuxのマルチタスクを利用して、98を複数起動して使うことができます。それぞれの98で異なるソフトウエアを動作させ、ショートカットキーで瞬時に切り替える事ができます。

USB等の今の周辺機器を使うことができる

マウスやUSBメモリーやFDDドライブ等の周辺機器はUSBで接続をします。現在手に入る物で賄う事ができます。モニターもHDMIで繋げます。昔のかさばる専用モニターは必要ありません。

当時の拡張カードや周辺機器が付いています

当時高価なサウンドカードや、HDD、CD-ROM、SCSIインターフェース、MIDI音源、グラフィックカードなど、98の多くのハードウエアが、エミュレーターによってソフトウエアエミュレートされています。別途用意する必要がありません。

強力なLinuxの機能が98に追加される

今のパソコンで使われるネットワークに参加できます。ファイル共有はもちろんのこと、sftpなども接続して使う事ができます。バックアップなどもLinuxの機能で行えます。
98にLinuxの能力が付加したようなものです。

98のVZエディターで書いたテキスト文章を、Linux側のスクリプト言語でSNSに自動投稿するとか、Linux側で定期的にダウンロードしているCSVファイルをロータス123で閲覧修正するとか…アイデア次第で拡張できます。

まだ実現できていないこと

  • MS-DOS上でTCP/IPが利用できていない。
  • プリンターに接続できていない。
  • 一部のキーが正常に使えていない。
  • Miracastを使って無線でモニターに接続したい。
  • 5インチFDDドライブをUSBで接続したい。

まだまだ修正を続けます。なおかつ他のレトロPCもクローン化します。