VOL.7 — DREAM MACHINE

Z80で動くX68000のような夢のマシン

はじめに——かつて、夢のパソコンがあった

X68000——MC68000搭載、512×512ドット・65536色同時発色、強力なスプライト機能。 かつてあこがれた名作アーケードゲームが動かせる、文字通りの「夢のパソコン」だった。

グラディウスが標準添付されたその夢のマシンには、未来があった。 自分の部屋で本物のグラディウスが遊べる。 そして、そんなゲームを自分でもいつか作れるようになるのではないか——。 当時X1ユーザーであり、Z80アセンブラで自分のプログラムを書いていた私は、そんな夢を抱いた。

しかし、当時の私にはMC68000は高度すぎた。 X68000に標準装備されていたX-BASICはC言語ベースであり、Microsoft BASICに慣れた私にはなかなか理解できるものではなかった。 後日X68000を入手はしたものの、これでプログラミングをする日々が訪れることはついになかった。

第1章:21世紀の混迷——失われたコンピューティングの原点

そして21世紀となった今、長い月日がたった今思う。

一体なんなのだ、この混迷したコンピューティングの世界は。

UIの氾濫、広告の氾濫、OSやアプリの都合に振り回されるユーザー、個人がプログラミングすることの限界。 かつて「コンピューターを手に入れれば何でもできる」と信じられた時代の輝きは、どこへ行ってしまったのか。

あの頃のパソコンは、電源を入れればBASICが起動した。 10 PRINT "HELLO" と書けば、画面に文字が出た。 コンピューターと人間のあいだに、余計な仲介者はいなかった。

この現実を変える手立ては、もうないのだろうか。

第2章:答えは「ある」——いま、夢を取り戻す

——ある。私はそう信じたい。

いまある技術——当時より考えられないほど進化した半導体技術やAI技術を駆使すれば、きっと何かができる。 そう確信した私は考えた。

いまこそ、昔見た夢をもう一度取り戻して、その夢をかなえる時だ。

VM(バーチャルマシン)で夢のマシンを作り上げる。 そして、それを現実の未来へ引き上げる。

VMとは何か——「パソコンの中に作るパソコン」

ここで言うVM(バーチャルマシン)とは、いわば「パソコンの中にもう一台のパソコンを作る」技術のことだ。

たとえば、あなたの目の前にあるWindowsパソコン。 その中にソフトウェアで「仮想のファミコン」を作り、ファミコンのゲームを動かす——それがエミュレータであり、VMの一種だ。 実物のファミコンがなくても、プログラムが「ファミコンのふりをして」ゲームを動かしてくれる。

今回の挑戦は、それと同じ原理で「まだこの世に存在しないオリジナルのパソコン」を作ることにある。 既存のマシンを再現するのではなく、自分が理想とするスペックのマシンを、まずソフトウェアの世界で設計し、組み立て、動かす。 実物のハードウェアを一切作らなくても、画面にはそのマシンで動くゲームが映り、スピーカーからはその音源が奏でるサウンドが流れる。

建築でいえば、実際にビルを建てる前にまず精密な3Dモデルを作り、その中を歩き回って設計を検証するようなものだ。 VMという「設計図が動く世界」で夢のマシンを完成させ、そこから先の現実——FPGAによる実機化——へと進んでいく。

第3章:設計——Z80 × V9990、夢の構成

構想はこうだ。 かつて相棒だったZ80を高速化して、幻のVDP・V9990と組み合わせたオリジナルマシンを作る。

V9990——ヤマハが次期MSX用として開発を進め、開発を完了しながらも正式採用されることなく、幻とともに消えたビデオプロセッサ。 最大512×424ドットで32768色同時発色、ハードウェアスクロール、強化されたスプライト機能。 X68000が68000の力で実現した世界を、Z80の世界に持ち込む鍵がここにある。

さらに、FM音源にPSGやPCM音源も搭載する。 当時のアーケードゲームが奏でたあのサウンドを再現し、それを「自分が作れる」環境を構築するのだ。

  • CPU — Z80(高速クロック動作)
  • VDP — V9990(512×424・32768色・スプライト・ハードウェアスクロール)
  • Sound — FM音源 + PSG + PCM
  • Memory — バンク切り替えによる拡張メモリ空間

Z80という慣れ親しんだCPUでありながら、X68000のようなグラフィックスとサウンドを手にする。 それは、あの頃の自分が本当に欲しかったマシンそのものだ。

第4章:VMから実機へ——FPGAという未来

このマシンは、まずVM(バーチャルマシン)として実装する。 Vol.5で紹介したZ80ランタイムの延長線上に、V9990エミュレーション、FM/PSG/PCMサウンドエミュレーションを構築していく。

だが、話はそこで終わらない。

これをFPGAに移植することができれば、VMを超えて夢のマシンを実際に作り上げることも不可能ではない。

FPGA——「書き換え可能なICチップ」とでも言えばいいだろうか。 通常の半導体チップは工場で回路が焼き付けられ、二度と変更できない。 だがFPGAは違う。まるで粘土のように、中の回路構成をソフトウェアで何度でも書き換えることができる特殊なチップだ。

つまり、VMの中でソフトウェアとして動いていたZ80のCPU、V9990の描画処理、FM音源の波形生成——これらすべてを、 FPGAの中に本物の電子回路として焼き込むことができる。 パソコンの画面の中だけで動いていた夢のマシンが、手で触れられる一枚の基板の上に、現実の姿で現れるのだ。

VMで設計を固め、動作を検証し、そしてFPGAで実体化する。 ソフトウェアとハードウェアの境界を超えて、「夢の先」にまで手が届きそうだ。

第5章:もう、じっとしていられない

Vol.5でZ80ランタイムを実装し、Vol.6で「透明な道具」の哲学を語った。 その二つの流れが、ここで合流する。

Z80の制約の中で輝く創造性。道具が消えて、作り手の意図だけが残る世界。 その両方を体現するマシンを、自分の手で作る。

かつてX1の前でZ80アセンブラを打ち込んでいた少年が見た夢。 X68000のカタログを眺めながら想像した、自分だけの理想のマシン。 あの夢を、40年の時を経て、いまの技術で実現する。

そう気がついた私は、もうじっとしていられなくなった。
いまやろう。

これは懐古ではない。 コンピューティングの原点——人間が機械と直接対話し、自分の手で何かを作り出す喜び——を、 未来(いま)の技術で再構築する試みだ。

次回からは、このVM設計の具体的な実装について、より詳細に記録していきたい。