1. 衝撃のデビュー、FUJITSU MICRO 8
1981年5月20日、富士通は同社初の8ビットパソコン**「FUJITSU MICRO 8(FM-8)」を発売しました。当時、標準的なRAM容量が16KB〜32KBだった時代に、大型機並みの64Kbit DRAMを搭載して64KBの主記憶を実現**し、21万8000円という戦略的な価格で登場したこのマシンは、まさに「衝撃のデビュー」でした。
FM-8の最大の特徴は、モトローラ社の8ビットプロセッサ**MC6809を2つ搭載した「2CPUアーキテクチャ」**にあります。メインCPUがプログラムの実行を担当し、サブシステム(サブCPU)がグラフィックス処理やキーボード管理を分担することで、全体的なパフォーマンス向上を目指したのです。
2. メインとサブを結ぶ「128バイト」の架け橋
FM-8/7におけるメインCPUとサブCPUの通信は、**「共有RAM(シェアードRAM)」**というわずか128バイトの特殊な領域を介して行われます。メイン側からは$FC80〜$FCFF、サブ側からは$D380〜$D3FFに見えるこの領域が、情報をやり取りする「窓口」となります。
この2つのシステムは独立して動いているため、同期をとるために「HALT信号」と「Busy信号」という2つの信号が使われます。
• Busy信号: サブシステムが処理中であることを知らせます。メイン側はI/Oポート$FD05の最上位ビットを見て、0(Ready)になるのを待ちます。
• HALT信号: メイン側からサブCPUの動作を一時停止させます。これも$FD05への書き込みによって制御されます。
この複雑な連携プロセス(Busy確認→HALT→共有RAMへの書き込み→再スタート)こそが、FMシリーズを操る醍醐味でもありました。
3. 伝説の「山内コマンド(YAMAUCHI)」
一般的なBASICプログラムでは、サブシステムはブラックボックスとして扱われていましたが、FM-8/7の真の能力を引き出すには、サブシステムを直接コントロールする必要がありました。そこで活用されたのが、**「メンテナンスコマンド」**です。
このコマンドを起動するためのコードは**$3F。そして、コマンドを受け付けるための「合言葉」として、FM-8では‘YAMAUCHI’という8バイトのキーワードを共有RAMに書き込む必要がありました。これが、今なおレトロPCファンの間で語り継がれる「山内コマンド」**の正体です(なお、後継機のFM-7ではキーワードは何でも良くなりました)。
このコマンドを使うことで、以下のような高度な操作が可能になります:
• $91(ブロック転送): メインとサブの間でデータを高速に移動させる。
• $92(アドレス変更): サブシステムの実行アドレスを変更する。
• $93(サブルーチンコール): サブシステム側の任意のアドレスのプログラム(JSR)を実行する。
当時の市販ゲーム、特に高速なグラフィックスを必要とするアクションゲームなどは、このコマンドを駆使してサブシステム側に独自のマシン語ルーチンを送り込み、動作させていました。
4. FM-8が切り拓いた8ビットの歴史
FM-8の登場は、ライバル他社にも大きな影響を与えました。特にNECは、FM-8のスペック(64KB RAM、高解像度グラフィック、漢字ROM対応)に対抗するため、わずか4ヶ月後にPC-8801を発表することになります。もしFM-8が存在しなければ、その後のPC-9801帝国も違った形になっていたかもしれません。
その後、FM-8の機能を絞り込みつつ高速化を図った廉価版**「FM-7」**が登場し、ホビーパソコン界の覇権を争う「御三家」の時代が到来します。バブルメモリのような野心的な試みは普及しませんでしたが、その設計思想はFM-77、FM TOWNSへと引き継がれていきました。
5. 終わりに
FM-8/7の2CPUシステムは、限られたハードウェア資源の中でいかに効率よく処理を行うかという、当時のエンジニアたちの創意工夫の結晶です。マニュアルに詳しく書かれていないメンテナンスコマンドを解析し、限界まで性能を引き出そうとした当時のユーザーたちの熱意は、今の時代のテクノロジーにも通じるものがあります。
かつてのFMユーザーも、これからレトロPCに触れる方も、この「山内」という名に刻まれた技術の深淵に思いを馳せてみてはいかがでしょうか。

コメント