検索
コラム

OSもほぼ丸ごと自作の「AMD Am29000搭載PC」、30年後に動かしてみたら……:892nd

AMDの「Am29000」を搭載し、OSまで自作した“俺だけのPC”。それから約30年後、残されたのはわずかなディスクイメージだけだった。実機もソースもないこのマシンを、いったいどうやって復活させたのか?

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 30年前、18歳の青年が「世界に1台だけの自作PC」を作った。しかも、PCだけではない。その上で動くOSまで、ほぼ丸ごと自作したという。搭載されたCPUは、AMDの32ビットRISCプロセッサ「Am29000」。なんとも気合の入った“俺だけのPC”だ。

 それから約30年。青年は大人になり、ふと思った。「あのPCを、もう一度動かしてみたい」。だが、そう簡単にはいかない。手元に残っていたのは、当時のOSを保存したわずかなディスクイメージだけだ。PC本体は行方不明で、OSのソースコードも残っていない。市販PCのように仕様書や資料がそろっているわけでもない。

 ハードもない、ソースもない。あるのは30年前の自分が残したわずかな手掛かりだけ。それでも、この“世界に1台のPC”を現代のPC上によみがえらせようとした。一体、どうやって?

 MSXのように30年以上前のコンピュータであっても、当時の資料や技術情報が数多く残っていれば、エミュレーターによって当時の環境を再現できる。だが、市販のPCではなく、ハードウェアからOSまで完全に自作したコンピュータとなれば、話は別だ。資料やソースコードが失われていれば、復元は困難だ。

 プログラマーのオスカー・トレド G.氏は、そんな無謀とも思える復活に挑んだ。

 同氏は2026年7月30日、自身のWebサイト「nanochess」で、「Developing a windowed OS for a homebrew Am29000 computer」(自作のAm29000コンピュータ向けウィンドウOSの開発)と題した記事を公開した。記事では、1990年代に父親と共同で製作した自作コンピュータと、そこで動作していたウィンドウOSについて紹介された。約30年の時を経て、当時の環境をよみがえらせた復元作業の過程も詳しく解説している。

 話は1990年代半ばにさかのぼる。当時、トレド氏の父親は、AMDの32ビットRISCプロセッサ「Am29000」を搭載した独自のコンピュータを開発していた。1987年に登場したAm29000は、「世界最速のプロセッサ」として売り出されたこともあるCPUで、1クロックで1命令を処理できる高性能さを特徴としていた。後継のAm29050とともに、プリンタ向けのPostScript拡張カードや「Macintosh」用のビデオカード、アーケードゲームなどにも採用されていたという。

 一方で、Am29000は高速動作に高価な高速メモリを必要とするうえ、命令とデータで別々のバスを使用する構造だったため、自作コンピュータに組み込むには扱いの難しいCPUだった。そこで父親はスタティックRAMを調達し、Am29000を6MHzで動作させる独自マシンを設計した。512KBのRAMと128KBのEPROM、ISAスロットなどを搭載し、ビデオカードにはCirrus Logicの「GD5429」、そしてキーボードには古いPCから取り外したチップを利用した。こうして完成したコンピュータは「G11」と名付けられた。

 ハードウェアは父親が担当し、トレド氏はビデオカードの初期化やキーボード、フロッピーディスクの制御プログラムなど、ソフトウェアを開発した。その後、トレド氏はG11向けのアプリケーションやゲーム、テキストエディターなども次々と自作していった。さらには、G11で動作するMSXエミュレーターまで開発するなど、この自作マシンを中心に独自のコンピューティング環境を作り上げていった。

 トレド氏はさらに、父親が購入したCD-ROMに収録されていた「X Window System」(X11R5)のソースコードも研究した。特に参考になったのが、ウィンドウ同士が重なった領域を分割し、必要な部分だけを画面に描画する「XRegion.c」のアルゴリズムだったという。

 こうした知識を基に、トレド氏は「協調型マルチタスク」「ウィンドウの描画」「ユーザー操作を各プログラムに渡すAPI」という3つの仕組みを設計した。1996年秋、いよいよG11向けのウィンドウOSの開発に着手した。当時18歳だったトレド氏は、このOSを32ビットの機械語で記述していた。

 使用していた自作の簡易アセンブラーにはニーモニックこそあったものの、ラベル機能はなかった。そのため、プログラム内のアドレスを紙に書き出して管理し、コードを変更するたびに手作業でアドレスを調整していたという。

 開発は1996年末〜1998年初めごろまで続き、完成したOSは1.44MBのフロッピーディスクから起動できるまでになった。その後、トレド氏は別途開発した自作トランスピューター機を使う機会が増え、G11とそのOSは次第に過去のものとなっていった。

 そして約30年の歳月が流れた。

 トレド氏の手元に残っていたのは、当時のOSを保存した2枚のフロッピーディスクイメージだけだ。機械語で書かれたソースコードは失われ、専用コンピュータだったG11本体も行方が分からなくなっていた。

 ハードウェアもソースコードもない。残されたのは、わずかなディスクイメージだけだった。このままでは、30年前に自分が作ったOSを、他の人に見せたり実際に体験してもらったりすることもできない。そこでトレド氏は、失われたG11を現代のコンピュータ上によみがえらせるため、新たな挑戦を始める。

 デバッグ作業では、30年前に自分が書いた機械語を現在の自分が解析することになった。幾つかの処理についてはその内容をすっかり忘れ、トレド氏本人でも読み解くのは容易ではなかった。たった1行の記述ミスを特定するのに、3日間を費やしたこともあった。

 復元作業で大きな壁となったのが、30年前に自分自身が書いた機械語の解析だった。

 当時のコードには、本人でさえ処理内容をすっかり忘れている部分があり、トレド氏自身が書いたプログラムでありながら、その動きを読み解くのは容易ではなかったという。わずか1行の記述ミスを突き止めるために、3日間を費やしたこともあった。それでも、プロセッサとディスクの動作を再現することには成功した。

 次なる問題が、画面表示の復元だ。既存のエミュレーターからビデオ表示機能を流用しようとしたものの、うまく動作しなかった。そこでトレド氏は、約500行のC言語コードを書き、簡易的なビデオカードのエミュレーションを自ら実装した。

 最初に表示されたのは、意味を読み取れない乱れた映像だった。だが、文字の描画や壁紙、ウィンドウの背景などを一つずつ修正していくことで、徐々に当時の画面が形を取り戻していった。

 そしてついに、約30年前に自身が作ったOSの画面が目の前に現れた。トレド氏自身も、当時どのような画面を作ったのかをほとんど覚えていなかったという。深夜1時、忘れていた過去の作品が突然モニターに映し出された瞬間、その光景に大きな衝撃を受けたという。

 そして復元作業の過程で、トレド氏はバイナリイメージの中に、このOSの名前が残されていることを発見した。その名は「Windows Fenix」。

 「Fenix」はスペイン語で「フェニックス」、つまり不死鳥を意味する。約30年の時を経て、失われたと思われていたOSが再びよみがえった今回の復活劇には、まさにふさわしい名前だ。

 現在、トレド氏はAm29000エミュレーターとWindows Fenixのディスクイメージを「GitHub」で公開している。エミュレーターは「Windows」版と「macOS」版が用意されており、当時の自作コンピュータとOSを現代の環境で追体験できる。

 このWindows Fenixの復活は、単なるレトロコンピュータの再現ではない。

 残された機械語を手掛かりに、トレド氏が30年前の自分自身のコードと向き合い、当時の設計思想や技術を一つずつ読み解いていった。いわば「過去の自分自身をリバースエンジニアリングする」作業だった。

 ハードウェアもソースコードも失われた状態から、わずかなディスクイメージを手掛かりにCPUやビデオカードまで再現し、30年前のOSを再び動かした。その背景にあったのは、若き日の自分が作り上げたものをもう一度見たいという思いと、それを実現してしまうトレド氏の技術力、そして何よりエンジニアとしての強い執念だったと言えるだろう。


上司X

上司X: 18歳のころに機械語だけで作ったウィンドウOSを、開発者本人が約30年後にエミュレーターで復活させた、という話だよ。


ブラックピット

ブラックピット: 18歳でOSを作っただけでも驚きなのに、全部機械語ですか。しかも、それを30年後にもう一度動くようにしたとは重ねて驚きです。


上司X

上司X: ああ。しかもソースコードは残っておらず、専用コンピュータの実機も見つからなかった。手元に残っていた主な手掛かりは、2枚のフロッピーディスクイメージと当時の手書きメモだったようだ。


ブラックピット

ブラックピット: それじゃ自分が書いたプログラムとはいえ、何をしているのか簡単には分からなかったでしょうね。


上司X

上司X: だろうなあ。いくら大仕事だったとはいえ、30年前のことをそうそう覚えているとは思えない。


ブラックピット

ブラックピット: 僕なんて昨日書いたコードの意図さえ忘れることだってありますからね!


上司X

上司X: 胸を張って言うことじゃないだろう(笑)。30年後の自分どころか、明日の自分に分かるようにコメントをしっかり残すべきだ。


ブラックピット

ブラックピット: そ、そうですね。気をつけます。それにしても「Windows Fenix」というネーミングもイイですよねえ。


上司X

上司X: 確かにな。「不死鳥」というネーミングは、30年ぶりによみがえったOSにぴったりだ。かなり手探りだったとは思うが、30年前の自分と向き合ってエミュレーターを作る時間はきっと楽しかったことだろう。俺たちも30年後の自分に何か残せるような仕事をしようじゃないか。

川柳

ブラックピット(本名非公開)

ブラックピット

年齢:36歳(独身)
所属:某企業SE(入社6年目)

昔レーサーに憧れ、夢見ていたが断念した経歴を持つ(中学生の時にゲームセンターのレーシングゲームで全国1位を取り、なんとなく自分ならイケる気がしてしまった)。愛車は黒のスカイライン。憧れはGTR。車とF1観戦が趣味。笑いはもっぱらシュールなネタが好き。

上司X(本名なぜか非公開)

上司X

年齢:46歳
所属:某企業システム部長(かなりのITベテラン)

中学生のときに秋葉原のBit-INN(ビットイン)で見たTK-80に魅せられITの世界に入る。以来ITひと筋。もともと車が趣味だったが、ブラックピットの影響で、つい最近F1にはまる。愛車はGTR(でも中古らしい)。人懐っこく、面倒見が良い性格。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る