Raspberry Pi 400というキーボード一体型のコンピューターが発売されています。LinuxベースのOSが動作していますので、様々な用途で使う事ができます。
私はRaspberry Pi 400を様々なレトロPCのクローンを作るために使ってみたいと考えました。先ずは 98(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モジュール を刺して使うことにします。
98と同じキー配列にする
98のキーボードは、今のパソコンのキーボードと一部異なります。98にはNFERとかXFERとかGRPHのような、よくわからないボタンがあります。
なるべく同じに、そして簡単に解決する為に、シールを作って貼ることにしました。
そして、”Neko Project II (NP2) 改変” のソースコードを修正して、一部キーボードのマッピングを変更しました。
ソースコード”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の定番ソフトが動作します
ファイル共有ができています
”Neko Project II (NP2) 改変” にはLinuxの特定フォルダをMS-DOS上のドライブとしてマウントさせる機能があります。そのフォルダをLinuxのsambaで共有しました。
本来なら今のパソコンと98をファイル共有するのは結構面倒です。これだけでも便利性は著しく上がります。
過去の98と比べてどう便利なのか
過去の98に比べて何が良いのかを書いていきます。
値段が安い
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もクローン化します。