R800というCPU

 MSX turbo Rに採用されたR800というCPUは、Z80互換で10倍速と言われた、当時のMSXユーザーにとっては夢のようなCPUであった。考えてほしい、今使っているあなたのパソコン、10倍速くなりますと言われてワクワクしないユーザーがいるだろうか。実際は画面描画用のVDPが前世代のままで、画面表示にウェイトがかかりまくったので、TurboRであらゆるソフトが10倍速く動いたわけではなかったのだけど。

 もともと、Z80というCPUは、8ビット時代においてやたら高機能なCPUだった。BCDによる十進数計算をサポートし、大量のメモリ領域を1命令で転送するブロック転送なんてのも機械語に入ってたくらいである。そんな複雑で高機能なCPUなので、クロックあたりの速度はそれほと高くなかった。大概の命令に4クロックくらいかかるし。Apple IIやCommodore 64が採用していた6502と比べると、クロックあたり性能がだいたい半分だったと言われている。ただまあ、大体の場合Z80採用パソコンのほうがクロック数が高かったので、平均して同じくらいの性能を出していた模様だ。

 MSX turboRの企画がASCII社内で持ち上がったとき、Z80互換、非互換を含め次世代MSXにふさわしいCPUが色々検討されたらしい。そんな中で、ASCII社内でMSX事業部とは関係なく、岸岡和也という一人の技術者が、Z80高速化CPUを研究していた。CPUの研究をIT系とはいえただの出版社のいち社員ができるのかと疑問に思うのだが、当時のASCIIってバブル時代だけに半導体設計製造のアスキー三井セミコンダクターなんて会社も持ってたし、そういうこともあるのだろう。これがのちのR800になる。

 R800は、4004以来伝統だった演算回路が4ビットしかない8080/Z80の構造を、内部16ビット演算機に改める。4クロックかかる命令を1クロックでできるようにする。16ビットアドレスの上位8ビットが変化しない256バイト以内のメモリアクセスは上位ビットを読み込まないことで高速化するなどの、こまかい改良を積み重ねて、最終的に10倍速にまでもっていった。ただ、これはトランジスター一個一個並べる論理設計を一人で行ったという話ではない。1980年代後半はカスタムLSIであるASICの設計が、論理回路をマトリックスにして大量に並べ、接続を設計するゲートアレイと、演算器やRAM、ROMといった定番ユニットをレディメイドで作成して組み合わせるスタンダードセルという方式が普及していた。R800はこのスタンダードセル方式で作られたらしい。
f:id:juangotoh:20191111164649p:plain

MSX turbo Rの悲劇は、これがMSX規格の最後になったこと。そして採用メーカーがパナソニックただ一社で、出た機種が、FS-A1STとFS-A1GTのニ機種のみ。お世辞にも普及したとは言い難い。対応ソフトも少なかったので、R800の高速性などは、あまり伝えられることもなく消えていった。

 近年、MSX turbo R のMSX BASICでナムコのアーケードゲーム「ドルアーガの塔」を驚くほどの再現度で移植した動画が公開された。
www.youtube.com
8ビットホビーパソコン時代でもこれくらいはできなくはなかった。でも、機械語を使わないBASICではまず無理だったはずだ。こんなにカラーとキャラと動きを両立させられるBASICゲームなんてなかったといっていい。BASICでもこんなに速い。R800の実力を30年後に実感した作品である。

 Z80互換や拡張CPUはいろいろある。ザイログのZ800、Z280、日立のHD64180、川崎製鉄のKC80。しかし、R800はアスキー三井セミコンダクターが製造し、市場に出たのはパナソニックのMSX turbo Rパソコン用だけで、CPU単体の発売がなされた記録がない。MSX turbo Rが出た時代は、8086系の16ビットCPUが全盛期であり、これに対抗するのはモトローラの68000系MPU。もはやZ80互換CPUの時代ではなかった。一瞬ニッチに超高性能Z80が登場して、「いやそんなのいらねーし」と無視された感じなんである。

 Z80を作ったザイログという会社はいまでも残っているし、Z80互換CPUもeZ80など、Z80互換で50MHz動作できるものも販売しているのだが、コンシューマ向けパソコンのCPUに使われたZ80高速互換CPUでは、おそらくR800が唯一にして最高速であったと思われる。

 MSX用チップで言うと、ついに発売されなかったMSX3用のVDP。ヤマハのV9978がある。これはMSX、MSX2、MSX2+との互換性を保ったまま、さらなる高解像度、多色表示を実現する予定だったチップである。しかし、当時の技術では要求性能を得ることが難しく、結局MSX turbo Rでは前世代、MSX2+と同じV9958を採用する。V9978は、V9958以前との互換性を切り捨てたV9990として販売された。このチップがもともとMSX3用の企画から始まったという話は人口に敷衍したため、のちにヨーロッパの会社がV9990を仕入れて、MSX用カートリッジの形に製造、販売する。MSXの製品寿命が終わったあとの製品なのだけど、ユーザーたちは「ありえたかもしれないMSX3」の幻想に取り憑かれる。その後も度々独立メーカーたちからV9990カートリッジが発売され、MSXエミュレーターも、V9990エミュレーションをサポートするようになる。

 V9990はMSXに一度も採用されなかったし、過去のVDPとの互換性もないので、MSXが現役であれば採用されるはずもない。だけど、現実にチップが製造販売され、ストックがあったことで普及している。

 一方R800はMSXの高速なCPUであるのだけど。単独で市場に販売されることがなかったため、その実態は驚くほど知られていない。R800の
ハードウェアレベルの仕様は、「R800ユーザーズマニュアル暫定版」という冊子が世に出た唯一のものらしい。これはアスキーシステム事業部名で、関連会社に配られ、さらにCQ出版の半導体情報誌Datum、1990年10月号に掲載されたらしい。ちょっと気になったので、この記事を、国立国会図書館に複製申請しているところである。

2019/11/14 追記:
 R800はMSX turbo Rに使用されただけで市販されなかったと思っており、そのように記述しましたが、共立電子で単品購入したという方の証言を得ましたので訂正いたします。