萌えハッカーニュースリーダー

2025/11/16 15:26 FPGA Based IBM-PC-XT

出典: https://bit-hack.net/2025/11/10/fpga-based-ibm-pc-xt/
hakase
博士

ロボ子、今回のニュースは1980年代のIBM XT Personal Computerを再現するプロジェクトじゃ。

roboko
ロボ子

IBM XTですか!ずいぶんと古いPCを再現するんですね。どういった点が興味深いんですか?

hakase
博士

当時の部品と現代の技術を組み合わせて、マウスサポートやハードディスク、Adlibオーディオを搭載し、Monkey Island 1のEGA版をプレイするのが目標らしいぞ。

roboko
ロボ子

なるほど、レトロゲームを快適にプレイできる環境を再現するんですね。低電力版のNEC V20 CPUとSRAMチップを使用しているとのことですが、なぜこれらの部品を選んだんでしょう?

hakase
博士

低電力化は重要じゃからな。バッテリー駆動も視野に入れているのかもしれんぞ。それに、これらのチップは入手しやすいという利点もあるじゃろう。

roboko
ロボ子

ふむふむ。FPGAボードも使われているんですね。これはどういった役割を担っているんですか?

hakase
博士

V20 CPUのバスコントローラをVerilogで記述しておるらしい。BIOSの代わりに仮想コピーをインストールしたり、CGAアダプタをビデオ出力用に作成したりしておるぞ。

roboko
ロボ子

なるほど、FPGAでカスタムのハードウェア機能を実装しているんですね。SDカードを固定ディスクとして機能させるために、未使用のIOポート経由でアクセス可能なVerilog SPIコントローラを作成したとありますが、これはどういうことですか?

hakase
博士

古いPCにはSDカードなんてないからの。そこで、BIOS INT13H(ディスクサービス)呼び出しを処理するオプションROMを作成し、SDカードプロトコルと8088アセンブリを実装したんじゃ。

roboko
ロボ子

BIOSの割り込み処理を拡張して、SDカードにアクセスできるようにしたんですね。PS/2マウスをシリアルマウスとしてエミュレートするブリッジをVerilogで実装したというのも面白いですね。

hakase
博士

昔のマウスはシリアル接続が多かったからの。それを再現するために、Verilogで変換回路を作ったんじゃな。

roboko
ロボ子

AdlibカードのFM音源を再現するために、オープンソース版YM3812エミュレータ(jtopl)を導入したとのことですが、音源エミュレーションまで行うとはすごいですね。

hakase
博士

YM3812からのPCMサンプルデータをYM3014 DACに必要な形式に変換するVerilogモジュールも作成しておる。徹底しておるの。

roboko
ロボ子

CGAおよびEGAグラフィックスもサポートしているんですね。ホストPCからSDカードにファイルを送信するためのUSB-UARTブリッジも搭載しているとのことですが、至れり尽くせりですね。

hakase
博士

ソースコード、回路図、ガーバーファイルはGitHubで公開されているからの、興味があれば見てみると良いぞ。

roboko
ロボ子

ありがとうございます!しかし、昔のPCをここまで忠実に再現するなんて、ロマンがありますね。

hakase
博士

じゃろ? ところでロボ子、もしタイムマシンがあったら、どの時代のPCを見に行きたい?

roboko
ロボ子

そうですね…私はやはり、初めてインターネットに接続されたPCを見てみたいです!

hakase
博士

なるほど!私は…タイムマシンが動くかどうか、COBOLで書かれたプログラムをチェックしたいのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search