FM-TOWNS
PCの世界に多大な功績を残した先駆者
ここでは、かつて富士通が作っていたパソコン「FM-TOWNS」に関する
私なりの薀蓄を、私自身の備忘録も兼ねて書き記しています。
かなりの部分が私の記憶に基いて書かれた文章なので、
特に技術情報に関しては一部間違った内容が含まれているかもしれません。
また、本文の内容はFM-TOWNSユーザーの一人としての私の視点に基いています。
誹謗中傷でも盲目的賛辞でもない、極力冷静な視点で綴るよう心掛けたつもりですが、
不適切な記述がありましたら御指摘頂ければ幸いです。
このコーナーは随時拡張していく予定です。
4.FM-TOWNSの変異型
|
FM-TOWNSのソフトウェア |
1.FM-TOWNS誕生
かつて、NECのPC-9801シリーズが日本中を席巻していた時代。
1989年2月28日、あるパソコンを富士通が世に送り出しました。
そのパソコンこそがFM-TOWNSです。
以下のような、当時としては驚異的とも言えるスペックを備えて
FM-TOWNSは誕生しました。
・32ビットCPU搭載
・32ビット対応専用OS
・CD-ROMドライブ標準搭載
(パソコンとしては世界初)
・強力なグラフィック機能
(32768色/1677万色中256色/ハードウェアスクロール/スプライト)
・多彩な音源(FM音源/PCM音源/CD-DA)
発表当初、当時としては余りに尖がりすぎたアーキテクチャはなかなか理解されず、
FM-TOWNSに対する評価は賛否両論真っ二つに分かれたものです。
「PCの歴史に新たな1ページを開いた」「PCの革命」から、
「CD-ROMなんて何に使うの?」果ては「X68000の出来損ない」まで。
(影響を受けた事はほぼ確実でしょうが…)
ここまで毀誉褒貶が極端な例は、恐らく他に無かったでしょう。
新アーキテクチャの常か、当初は専用ソフトがなかなか揃わず、同時期に
富士通が法人向けに販売していたFM-Rシリーズとの互換性(注)を有していた事から
初期の頃はビジネス向けにも売り込んで凌ぐ事を考えていたようですが、
FM-R互換機として使ってしまってはFM-TOWNSの性能は全く生かせません。
また、初代FM-TOWNSにはハード/OSともにまだまだ練り込み不足の部分があり、
1989年冬/1990年冬のマイナーチェンジで一歩一歩完成度を高めて行き、
本来想定していた家庭向けへの販売に注力し続けました。
結果、専用ソフトの増加やハード/OSの改善と共に本体の売れ行きも徐々に上向き、
PC-9801シリーズやX68000シリーズと共に国内のPC勢力の一角を形成するに至ります。
注:正確にはFM-R50シリーズ互換です。
上位機種として、NECのPC-98XL等と同等の1120*750ドットの
高解像度画面を持つFM-R60やFM-R70等が存在しましたが、FM-TOWNSとは
あまり関係が無い上に情報も不足気味なので(泣)ここでは触れません。
2.FM-TOWNSのアーキテクチャ
FM-TOWNSの特徴について、私なりの解釈で噛み砕いてみたいと思います。
・32ビットCPU標準搭載
初代FM-TOWNSはCPUとして米国Intel社のi386DX(16MHz)を搭載していましたが、
(後にi386SXやi486搭載機も発売され、最終的にはPentium搭載機も発売されました)
富士通のホビー向け8ビット機であるFM-77AVシリーズが
米国Motorola社の6809を搭載していた為か、FM-TOWNSが未だ「富士通の新型機」と
しての噂のみの段階だった頃には、同じMotorola社の68000系CPUが新型機に
採用される事が少なからず期待されており、蓋を開けてみれば
CPUがi386だった事に対して当初は失望や批判の声がかなりありました。
また、「富士通の新型機」のOSとしては独自OSやUNIX系OSが期待されており、
こちらも蓋を開けてみれば「TownsOS」というMS-DOSベースのGUIシステムと
FM-R互換のMS-DOSの二本立てだった事が随分批判されたものです。
しかし、FM-TOWNSがIntel社のx86系CPUとMS-DOSを採用した事は
結果的には正解だったと思います。
当時広く普及していたMS-DOSを採用してFM-Rとの互換性も備えた事によって、
FM-TOWNSは数々の先進的な機能を実装した上に、既存のソフト資産も
最初から極めて容易に活用する事が出来たのです。
勿論、MS-DOS用ソフトを使うだけではFM-TOWNSの性能は生かせませんが、
専用ソフトを開発するにしても、助けとなる様々なツール類は必要不可欠であり、
特にFM-TOWNS発表初期にはそれが大きなプラスになったでしょう。
また、後にWindowsが普及し始めてからは、FM-TOWNSはWindowsマシンとしても
活用され、TownsOS/MS-DOS/Windowsのソフト資産を1台で利用出来ました。
(ただし、「Windowsマシンとしても活用出来る」という事は
FM-TOWNSにとって諸刃の剣ともなってしまいました。詳しくは後述)
ちなみに後期モデルではWindows95も動くので、今でも何とか現役で使えるそうです。
これが、一部のPCマニアの求めた「68000系CPU+独自OSやUNIX系OS」だと
どうなっていたでしょうか?
恐らく文字通りの「何も無い」状態からありとあらゆる物を作り直さなければならず、
ソフトの充実は更に困難を極めていたでしょう。
また、FM-TOWNSの設計コンセプトが「家庭で楽しく使えるパソコン」であった以上、
一部マニアの受けのみを狙って、普通の人が使うツールとしての利便性を
二の次にするのは本末転倒と言う物でしょう。
(例えば、現在のLinuxも家庭向けクライアントOSとしては浸透していないですよね)
勿論、もう一つの選択肢としてユーザーサイドが自主的に何かを作り出すのは
全くの自由であり、むしろ大いに推奨すべき事ですが。
さて、FM-TOWNSは基本的にはFM-R50をベースにAV機能を大幅に強化したような
ハード構成であり、FM-RシリーズがMS-DOSマシンであるのと同様に
FM-TOWNSも内部的にはMS-DOSマシンでした。
x86系CPUとMS-DOSとくれば…強力なAV機能を搭載する上で大きな障害がありましたね。
あまりにも有名な「たった1MBのメモリ空間」と「たった64KBのセグメント」です。
当時、日本国内でi386を搭載したPCはPC-9801シリーズやFM-Rシリーズにも
少なからずありましたが、そのいずれもがi386を8086互換の16ビットCPUとして
使用するのみであり、i386の能力を活用する事が全く出来ていませんでした。
本来8086向けに設計されたMS-DOSを標準のOSとして使用する以上
これは仕方ない事であり、EMS等の苦しい方法を使って、
メモリ空間の制約を少しでも和らげようとしていたものです。
私の場合、幸運にも?最初に使ったMS-DOSマシンがFM-TOWNSだったので
この辺は殆ど素通りでしたけど(後に苦労するのですが^^;)。
当時としては巨大な512KBのVRAM。
FM音源とは比較にならない程にメモリを喰うPCM音声。
CD-ROMから供給される膨大な量のデータ。
FM-TOWNSのハードウェアを使いこなすには、8086の「たった1MBのメモリ空間」と
「たった64KBのセグメント」ではあまりにも荷が重過ぎ、
i386の潜在能力を活用する事は必要不可欠でした。
では、i386の潜在能力を活用するとはどういう事か?
その鍵は「プロテクトモード(ネイティブモードと呼ばれる事もあります)」です。
i386には、8086互換の「リアルモード」と、i386の機能をフル活用する
「プロテクトモード」の、大きく分けて2つのモードが存在しました。
(正確には、プロテクトモードの一種の「仮想86モード」もありますが、
本文にはあまり関係無いので触れません)
このCPUアーキテクチャは、基本的には現在のPentium4等にも継承されています。
プロテクトモードの御利益について詳しく書くと長くなりますが、FM-TOWNSに
関係ある部分のみを非常に大雑把に言うと「32ビット演算」と
「4GBまでの可変長セグメント」です。
32ビット単位での演算が出来る上に、最大4GBの巨大セグメントで当時としては
事実上無制限のメモリをリニアに利用可能(≒64KBの壁の消滅)というのは、
真の32ビットCPUに相応しい能力と言えるでしょう。
FM-TOWNS発表当時、CPUにi386を搭載した事を殊更に批判する勢力が
一部に存在しましたが、この辺りの事情をきちんと知った上での事だったのかは
極めて疑問に思えます。
”386だ→86系と言えばセグメントと狭苦しいメモリ→TOWNSなんか使い物にならん”
私個人の見解ですが、恐らく事情を何も知らないままで
このように安直に思考を短絡させたのでしょうね。
・32ビット対応専用OS
前項で述べた通り、残念ながらMS-DOSは16ビットCPUである8086向けに
設計されたOSであり、32ビットCPUであるi386と言えども
MS-DOSをOSとして使用する限りは8086互換のリアルモードで
動作させなければなりません。
しかも、WindowsからもMS-DOSの残骸が完全に消え失せた現在はともかく、
1989年当時にプロテクトモードを使用する事は未だ一般的ではありませんでした。
MS-DOSを使用する事による旨み(資産の活用)を生かしつつ、
プロテクトモードの旨み(i386の潜在能力)も手に入れるにはどうするか?
FM-TOWNSの開発過程で富士通が見つけ出した答は、
米国Phalap社製の386|DOS-Extenderというソフトでした。
これはMS-DOS上でプロテクトモードを使用可能とするソフトで、
386|DOS-Extender自体が一種のOSとして稼動する事で最大4GBの
可変長セグメントによるメモリ管理を行う他、プロテクトモードと
MS-DOS(リアルモード)の橋渡しのような処理を行う事で、
プロテクトモード環境からMS-DOSの機能を利用する事も可能にしたものです。
FM-TOWNS専用OS「TownsOS」とは、下記のようにMS-DOSをベースとした上で
386|DOS-Extenderをシステムの中核とした各種構成要素の集合体と言うべき
32ビット/16ビット混成のシングルタスクOS(注)でした。
注:TownsOS-V2.1で、サイドワーク(ソフトの動作中に割り込んで
別のツール類を起動する機能)や子プロセス、TownsSHELLによる
ノンプリエンプティブマルチタスク等の機能が追加されていきました。
TownsOSの構造イメージ)
------プロテクトモード側構成要素-------
TownsMENU)
TownsOSのGUIシェル
TBIOS)
FM-TOWNS固有のハードウェア制御
(グラフィック、スプライト、サウンド、etc)
------------------------------------
|
---------------------------
| TownsOS用アプリケーション |
---------------------------
|
--------プロテクトモード環境-----------
386|DOS-Extender)
1MB以上のメモリ管理
モード間インタフェース
プロテクトモードからのDOS機能呼び出し
------------------------------------
|
|
------リアルモード側構成要素-----------
MS-DOS)
ディスク管理などのDOS機能
1MB以内のメモリ管理
FBIOS)
FM-R50互換部分などのハードウェア制御
(ディスク、各種I/F、CD-ROM、etc)
-------------------------------------
TownsOS用アプリケーションから見ると、TBIOSはプロテクトモード側で直接処理し、
MS-DOSやFBIOSといったリアルモード側の機能は386|DOS-Extender経由で
呼び出されるので、実質的には386|DOS-ExtenderがOSとしての役割を担い、
MS-DOSは”1MB以内のメモリに閉じ込められ、必要な時に呼び出される
リアルモード側サブシステム”という扱いに等しくなっています。
つまり、MS-DOSベースとは言っても”MS-DOSの上に継ぎ足した環境”と言うよりは
”プロテクトモードOSのサブシステムとしてMS-DOSを飼っている”と言うのが
実情に近い表現でしょう。
この為、TownsOS用アプリケーションでは、必要な時にMS-DOSやFBIOSの機能を
利用しつつ、「たった1MBのメモリ空間」や「たった64KBのセグメント」に
縛られずに全てのメインメモリを1個の巨大セグメントでリニアにアクセスし、
512KBのVRAMや128KBのスプライトパターンRAMも64KB毎に区切るような事をせずに
全空間を直接アクセスする事が出来ました。
MS-DOS時代の用語で表現すると、TownsOS用アプリケーションは
コード領域とデータ領域がそれぞれ単一のセグメントに格納される
Smallモデルに相当する事になります。
(セグメントの最大長が4GB=事実上無制限なので他のメモリモデルは不要)
従って、MS-DOS上のC言語の方言とも言えるfarポインタも通常のデータ処理では
殆ど使う必要が無く、C言語からVRAM等を直接アクセスする際に例外的に使用される
場合があるだけでした(注)。
注:TownsOS上では、セグメントは”メモリ容量の都合で切り替える”のではなく
”メモリの種類によって使い分ける”という使い方になります。
コードセグメント/データセグメント(長さはその時点の空きメモリ容量による)、
VRAMセグメント(512KB)、スプライトパターンRAMセグメント(128KB)、
漢字ROMセグメント(256KB)…といった具合に、メモリの用途ごとに
セグメントが割り当てられます。
FM-TOWNSの場合、一般的なPCで言うBIOSに相当する部分はFBIOSやTBIOSですが、
本体のシステムROM内にはこれらのモジュールは存在しませんでした。
本体起動時にはブート用の最低限のコードのみをシステムROMから読み込み、
FBIOSはMS-DOSカーネルのIO.SYSに埋め込まれた形で、TBIOSはデバイスドライバ経由で
それぞれがメインメモリ上に読み込まれるという特異な方式を取っていたのです。
元々、FM-RシリーズはMS-DOSで使用できるメインメモリ領域が
768KB(一般的には640KB)で、IO.SYSの内部にFBIOSが埋め込まれていたり、
グラフィックBIOSに相当するモジュール”GDS-BASE”もデバイスドライバとして
読み込まれるなど、他のMS-DOSマシンと比べるとかなり癖のあるシステムでしたが、
FM-TOWNSはFM-R50をベースとして開発された為、この特異な仕様も
そのまま受け継ぐ事になりました。
通常のPCのROM-BIOSに相当するモジュールはFBIOSの方で、
FM-Rシリーズで一定の実績があった事に加えて、FM-Rシリーズ自体も
PC/AT互換機やPC-9801よりずっと後に設計された為か、
FBIOSはそれなりに練られた物ではありましたが、
FM-TOWNSで新規に開発されたTBIOSは余りにも機能を詰め込んだ為か
冗長な部分が多過ぎてパフォーマンスに難があり、少なくとも初期のTBIOSは
速度を要求されるゲーム等には使いにくい代物でした。
FM-TOWNS発表と同時にリリースされた「アフターバーナー」が
お世辞にも褒められる出来ではなかった理由として、このTBIOSの問題が考えられます。
これはあくまでも推測ですが、当時はハードウェアを直に操作するノウハウも
確立しておらず、画面や音声に関する全ての処理を、パフォーマンス的に
難点の多いTBIOSに任せざるを得なかったのでしょう。
・CD-ROMドライブ標準搭載
FM-TOWNSの発表当時に最も話題となり、同時に最も論議を呼んだのは
やはりCD-ROMだったのではないでしょうか。
当時、音楽用のCDなら既に広く普及していました。
しかし、CDにデジタルデータを記録したメディアであるCD-ROMは、
FM-TOWNSの発表の数ヶ月前に、家庭用ゲーム機であるPCエンジンの
オプション機器として発売された「CD-ROM2システム」で
ようやく一般向けに使われ始めたばかりであり、PCの世界では
一部の特定用途を除いて殆どCD-ROMは使用されていませんでした。
そんな、CD-ROMなるメディアの実力も可能性もはっきりしなかった時代、
FM-TOWNSは世界で初めて「全モデルにCD-ROMドライブ標準搭載」という、
当時としては限りなく暴挙に近い冒険に出ました。
一部の電子辞書等で僅かに使われていた程度のCD-ROMを主要メディアに
位置付け、専用ソフトの大部分をCD-ROMで供給する事を目論んだのです。
しかも、起動用フロッピーディスクのような物を別に用意したり、
予めハードディスクにインストールしてから起動したりといった手間を経る事無く、
CD-ROMドライブにソフトを放り込んで電源を入れるだけで、CDに焼き込まれた
TownsOSのシステムやアプリケーションが直接起動するという
現在の家庭用ゲーム機のような感覚で運用出来る環境も
1989年の発売当初から用意していました。
PC/AT互換機用のCD-ROMブート規格「El Torito」の策定は
1994年なので、FM-TOWNSはこの部分に関しては5年も先行していた事になります。
CD-ROMの最大のメリットは、フロッピーディスク数百枚分に相当する
容量の大きさでした(初代FM-TOWNSで540MB)。
また、音楽CDと同様のプレス工程で生産出来る事からコストも安く、
大容量のソフトを大量に配布するにはうってつけでした。
その一方、読み出し専用でデータを書き込めない上、シーク速度も
(現在のドライブと比べて)非常に遅いといった欠点があり、
CD-ROMというメディア自体を疑問視する声も少なくありませんでした。
実際、生まれて間もないFM-TOWNSに対する批判的な意見の中には、
この点を指摘した物が非常に多かったです。
「使い物にならないCD-ROMなんかオプションにして値段を下げろ」
このような批判もあったそうです。
しかし、CD-ROMをオプションにしていたらどうなっていたでしょうか?
文字データと16色程度の画像やFM音源を使うだけならば、
フロッピーディスクでも確かに十分だったでしょう。
しかし、一般家庭や教育機関で使用するメディアプレイヤー
(と言う言い方が適切かどうかは私にも分かりませんが…)としての
用途も想定されたFM-TOWNSで、ゲームソフトや教育向けソフトなどで
音声や多色画像などのデータを大量に使用するには
フロッピーディスクでは容量が少な過ぎました。
(当時の光磁気ディスクではコストが高過ぎてソフトの配布には向きません)
しかも、当時の一般論としてですが、標準搭載されていないデバイスを
活用してくれるソフトは一部の例外を除いて極めて出にくい傾向にありました。
CD-ROMドライブを標準搭載したからこそ、FM-TOWNS専用ソフトは最初からCD-ROMを
前提として開発する事が出来、数々のソフトが各方面から発売されたのです。
また、技術の蓄積に伴い、音声や映像を大量に扱うゲームソフトは勿論の事、
フラクタルエンジンやDAPSのような、当時としては破格の動画再生エンジンまでもが
FM-TOWNSで開発され、私もお世話になった「フリーソフトウェアコレクション」の
ように、大容量を活用したデータ集も発売されました。
後年のTOWNS-GCCも、CD-ROMドライブが標準搭載であることから
配布は随分容易となったようです。
また、当時CD-ROMは事実上コピー不可能だったので、ソフトハウスにとっては
違法コピーの抑止と言う予想外の効用も有ったとか…。
”戦国時代の鉄砲”
FM-TOWNS発表当初、CD-ROMをこのように例えた例を本で読んだ記憶があります。
戦国時代の日本に伝来した鉄砲は先込め式の火縄銃で
弾と火薬を一発毎に銃口から詰めなければならず、連射も利かない
使いずらい武器であり、最初は重要な武器とは見なされていませんでした。
しかし、鉄砲の運用術が徐々に確立され、織田信長などの大名のもとで
鉄砲部隊の用兵技術が練られた結果、鉄砲は当時の甲冑の製法や築城法、
果ては軍法までも塗り替える恐るべき兵器へと変貌を遂げ、
天下統一の戦いに必要不可欠の存在にまでのし上がりました。
CD-ROMというメディアは、その後どのような道を辿ったでしょうか?
その答えは、PCのソフト売り場にあります。
FM-TOWNSが採用したCD-ROMは、まさに鉄砲だったのです。
(CD-ROMが鉄砲なら、DVD-ROMは幕末の連発銃でしょうか)
余談ですが、ある意味でFM-TOWNSの先輩にあたり、共に卓越した性能を
当時誇っていたX68000が最後までCD-ROMを標準採用しなかったのは何故だったのか
現在では知る由もありませんが、もし途中からCD-ROMを搭載していれば
実際とは随分違った道を辿っていたかもしれませんね。
・強力なAV機能
FM-TOWNSは、CD-ROMという大容量メディアの裏付けを得て
音と映像を積極的に扱う為に、当時としては強力なAV機能を
標準装備していました。
※グラフィック機能
FM-TOWNSは、640*480ドット時には最大1677万色中256色、
320*240ドットや512*480ドットでは32768色といった多色表示能力や
最大2画面の重ね合わせ機能を持ち、32ビット単位のデータ処理に適した
パックトピクセル方式を採用した512KBのVRAMを広大なアドレス空間で
リニアにアクセスする事で、CG絵や自然画を容易に扱う事が出来ました。
(後に発売されたハイエンドモデルでは1MBのVRAMが搭載され、1024*768ドットの
ハイレゾモードや640*480ドット1677万色モードも追加されました)
ちなみに、FM-TOWNSにはPC-9801やFM-Rに搭載されているような
テキスト表示専用ハードウェアは無く、文字の表示は全てグラフィック画面上で
行っていました。
最初からGUIを前提とした設計ゆえテキストVRAMは不要と判断されたのでしょうが、
TownsOS-V2.1のコマンドモードやMS-DOSでは、FM-R50互換のテキスト画面は
グラフィック画面によるエミュレーションで処理していました。
また、ドット単位のハードウェアスクロールや仮想画面の機能もあり、
ゲームの背景画面をスムーズに動かす時などの助けとなりました。
PC-9801等の640*400ドットと比較して、FM-TOWNSの640*480ドットという
解像度は当時の日本では少数派でしたが、これはPC/AT互換機で標準的に
使用されているVGAの解像度と同じであり、ドットの縦横比を1:1に出来ると言う
利点がありました。
これは一種の裏技ですが、CRTコントローラを直接操作する事で
TBIOSには無い解像度を作り出したり、ドットの縦横比を変更して画面を
横長にしたり、0.5ドット単位で画面を横スクロールさせたりといった事が
特にゲームソフトでよく行われていたようです。
ゲームソフトと言えば、多数のキャラクターを素早く動かす
アクション系のゲームを作る際に当時必要とされていた機能がありました。
それは、スプライト機能です。
スプライト機能とは、ある規定された大きさの矩形(8*8ドットや16*16ドットなど)を
画面の任意の場所に重ね合わせて表示する際、CPUが画面書き換えの
処理を負担する事無く、特定のメモリやレジスタに対して表示座標やパターンの
指定を行うだけで専用ハードウェアが表示処理を行う機能であり、
スーパーファミコン、メガドライブ、PCエンジンなどの家庭用ゲーム機の
標準機能として搭載されていた他、MSXやX68000といったホビー志向のPCにも
搭載されていました。
家庭向けPCとして開発されたFM-TOWNSもスプライト機能を搭載していましたが、
その実現方法は前述した他機種とは大きく異なっており、
当時の他機種のスプライト機能が、走査線単位でスプライトパターンを展開する
「ラインバッファ方式」で実現されていたのに対し、FM-TOWNSのスプライト機能は
「フレームバッファ方式」で実現されていました。
以下、FM-TOWNSのスプライト機能の動作原理について大まかに記します。
スプライト機能仕様)
-------------------------------------------------
サイズ:16*16ドット
表示個数:最大1024個
色数:32768色または32768色中16色(ドット単位に指定可)
色テーブル数:256組
定義個数:224個(全て32768色のスプライト)〜896個(全て16色のスプライト)
特殊効果:回転(0度/90度/180度/270度)、左右反転、
サイズ変更(水平/垂直独立に1倍または0.5倍)
-------------------------------------------------
スプライト表示機能ブロック図)
-----------------------
| スプライトパターンRAM |
-----------------------
↓
------------------------
| スプライトコントローラ |
------------------------
|
|(交互に切り替え)
+-----------------+
↓
↓
-------------------------+--------------------------
| VRAMエリア0 (256*256ドット)| VRAMエリア1(256*256ドット) |
-------------------------+--------------------------
|
|
+-----------------+
|(交互に切り替え)
↓
-----------------------
| CRTコントローラ |
-----------------------
まず、512KBのVRAMの半分にあたる256KBを使用して256*512ドット/32768色の
仮想画面を1画面作り、表示範囲を256*256ドットまたは256*240ドットに設定します。
これで、256*512ドットの仮想画面は、実際に画面に表示される256*256ドットの
エリアと、画面に表示されない256*256ドットのエリアとに2分割される事になります。
(DirectDrawのプライマリサーフェイスとバックサーフェイスの関係に相当)
FM-TOWNSに搭載されたスプライトコントローラは、128KBのスプライトパターンRAMから
読み出した座標/パターン/パレット情報をもとにVRAMへの書き込みデータを生成し、
画面に表示されない側のエリアのVRAMに転送を行います。
上記ブロック図で言うと、VRAMエリア0を画面に表示している時はVRAMエリア1に、
VRAMエリア1を画面に表示している時はVRAMエリア0にデータ転送を行う事になります。
転送処理の細部は不明ですが、DirectDrawのカラーキー付きビットマップ転送に
類似した処理をスプライトコントローラが行っていると推測されます。
これを規定個数分(最大1024個)繰り返した後、スプライトコントローラは
CRTコントローラの機能を用いて、表示するVRAMエリアの切り替え処理を
垂直帰線期間中に行います(DirectDrawのフリップ操作に相当)。
これを繰り返し、2つのVRAMエリアで書き込みと画面表示を交互に行う事
=ダブルバッファ方式で、描画中のちらつきを起こさずにキャラクターの
表示が行えるのです。
あとは、スプライトパターンRAM内の各種データを必要に応じて
CPUから更新していくだけでキャラクターの移動や変更が行えます。
それ以降の処理は全てハードウェアにお任せです。
当時、フレームバッファ方式のスプライト機能を指して「擬似スプライト機能」と
呼ぶ事が多々ありましたが、これは正確な表現ではありません。
「スプライト機能」なるものの大まかな定義は先に記した通りですが、
これを実現する方法は一つしかないわけではなく、ラインバッファ方式でなければ
スプライトに非ずといった固定観念(?)は全く的を外しています。
(フレームバッファ方式のスプライト機能は一部のアーケードゲーム基板でも
使用されていましたし、後のプレイステーションやセガサターン等の
家庭用ゲーム機におけるスプライト機能も、基本的には同様の方式です)
では、フレームバッファ方式の利点は何だったのでしょうか?
当時のラインバッファ方式のスプライト機能では、ラインバッファ上に
スプライトパターンを展開する処理の都合上、横方向に並べられるスプライトの
個数に制限が有りましたが、フレームバッファ方式のスプライト機能では
その制限が原理上存在しなかったのです。
フレームバッファ方式の場合、スプライト機能の性能限界は
「単位時間あたりに転送出来るスプライトの個数」の形で表されますが、
逆に言うとそれ以外の制約事項は存在しないわけです。
FM-TOWNSの場合、スプライトコントローラ自体は最大1024個の
スプライトの転送処理をサポートしていましたが、1/60秒以内に転送出来る
(スプライト画面のフレームレート=60FPSを確保できる)スプライトの個数は
約220個でした(モデルによって多少違いがあるようです)。
これは、220個以上のスプライトを処理しようとした場合には
1フレーム期間(1/60秒)以内では転送が間に合わなくなり、複数フレーム期間分の
時間をかけて転送しなければならないので、スプライト画面のフレームレートが
30FPS,20FPS,15FPS...という具合に低下して動きが荒くなってしまうという事です。
(この場合でも、グラフィック画面側の描画処理には影響しません。
グラフィック画面側の描画処理速度は常にCPUにのみ依存します)
スプライトを表示する際に個数以外の制約が存在しなかった事を考えると
当時としてはこれでも結構な能力でしたが、後述するデメリットを考えると
これでも決して余裕が有ったわけではなく、実際のゲーム作りでは
スプライトのやりくりに苦労する事が多々あったそうです。
一方、フレームバッファ方式には上記のようなメリットの反面、
明らかなデメリットもありました。
先程”512KBのVRAMの半分にあたる256KBを使用して”と書きましたが、
これは、スプライト機能を使用している間は通常の画面描画に使える
VRAMが半分になってしまい、ハードウェア的に使用出来る2画面の
グラフィック画面のうち1画面しか使えなくなってしまう事を意味します。
(1画面でVRAMの全域を占有する、640*480ドット/1677万色中256色や
512*480ドット/32768色の画面モードは使用不能となります)
実際のFM-TOWNSのゲームでは、1画面分のVRAMをスプライト画面用に使い、
残りの1画面分は320*240ドットor256*240ドット/32768色の
画面モードで使う事が多かったのですが、背景画面としてグラフィック画面を
1画面しか使えなかった事から、複数枚の背景画面を使用する場合には
2枚目以降の背景画面はスプライトを使って表示しなければならず、
あまり大量のスプライトを背景用に割り当てるとスプライトの数が増え過ぎて
フレームレートが落ちてしまう事から、多重スクロール処理を行うゲームは
FM-TOWNSでは作りにくかったそうです。
実際、せめてもう1画面あればとの声はゲームプログラマーの間にも
多くあったそうで、スプライト画面で使用する256KBのVRAMを
通常のグラフィック画面用のVRAMとは独立して用意し、512+256=768KBのVRAMを
搭載していればだいぶ楽になっていたと思いますが、当時の部品コストを考えると
そうもいかなかったのでしょう。
スプライト機能に関しては表示性能の高さと欠点とが相半ばし、
ややバランスが悪い部分があった事は否めないものの、
FM-TOWNSのグラフィック機能は当時としては非常に強力な物だったと
言えるでしょう。
※サウンド機能
FM-TOWNSは、内蔵音源として6chのFM音源と、19.2KHz/8ビット/ステレオ/8chの
PCM音源を搭載していました。
(後のモデルでは、48KHz/16ビット/ステレオのPCM音源も追加されました)
記憶がやや不確かですが、FM音源はヤマハ製のYM2608(OPNA)から
PSGとリズム音源とADPCM音源を削除した特殊版チップ(注)で、
PCM音源はリコー製のRF5C68だったと思います。
注:YM2612(OPN2)というチップのようです。
FM音源に関しては、YM2608のFM音源部そのものです。
ベースとなったYM2608自体も、後期のPC-8801シリーズや、
後年発売されたPC-9801シリーズ用のサウンドカード
「PC-9801-86(いわゆる86ボード)」に搭載された知名度の高いチップなので
ここで特筆すべき事はありません(手抜きとも言う…)。
PCM音源に関しては、少し説明が必要だと思います。
FM-TOWNSに搭載されたPCM音源は、各ch毎に音程やエンベロープを制御出来るなどの
特徴があり、音楽演奏時にFM音源には不向きな音(リズムなど)を再生させる事を
想定していたと思われます。
ハードウェア的には、PCM音源用に用意された専用の波形メモリに
CPUからデータを書き込んでおき、音源チップに波形メモリ内の任意のデータを
再生させると言った方式でした。
もっとも、この波形メモリの容量は64KBしかなく、音色データや効果音を
格納する際はかなり苦労したそうです。
その為か、FM-TOWNSでは「楽器モード」と「音声モード」という
二つのモードを設けていました。
楽器モードとは、波形メモリ内の音声を素直に再生するだけのモードであり、
使用可能なデータの容量は波形メモリの分(64KB)までです。
音声モードとは、波形メモリの一部をバッファとして使い、
CPUから随時データを転送しながら再生を行うモードであり、
波形メモリより大きな容量のデータも再生可能です。
なお、両モードは同時使用が可能です。
もう少し具体的に言うと、音声モードを使用する場合には、
音声モード1ch毎に8KBのバッファ(4KB*2=8KB。後述)を波形メモリ内に確保します。
音源チップにはデータを4KB再生する毎に割り込み要求を出力する機能があるので、
CPUは4KBのデータ(確保したバッファ容量の半分)が再生される毎に
割り込み要求をトリガーとして、残り半分のデータを再生している間に
再生が済んだ分のバッファ領域に次の4KB分のデータを書き込みます。
これを繰り返せば、メインメモリの許す限りの容量のデータを
途切れる事無く再生出来るというわけです。
発想自体は、スプライト機能の部分で述べたダブルバッファ方式に
類似していると言えますが、代償としてCPUの負荷は大きくなります。
波形メモリの容量が64KBで、音声モード1ch毎に8KBのバッファなので、
PCM音源が持つ8ch全てを音声モードで使用する事も理論上は可能ですが、
実際には処理が重くなり過ぎてデータの転送が間に合わなくなるので、
実用的に音声モードを使用出来るのは1chか2chほどでした。
このため、実際の使い方としては、音声モード1chで人の声などの長めのデータを
再生し、残り7chのPCM音源(波形メモリ容量は64-8=56KB)とFM音源とを併用して
音楽や効果音を再生すると言った使い方が現実的でした。
後のモデルで追加された48KHz/16ビット/ステレオのPCM音源については
私の記憶もあやふやですが、確かメインメモリから音源チップに
DMAでデータを転送する方式だったと思います。
(だとすると、昔のSoundBlasterと同じ方式ですね)
また、FM-TOWNSはFM音源とPCM音源に加え、
標準搭載のCD-ROMドライブを用いてCD-DAの再生も可能でした。
要は普通の音楽CDの再生と全く同じ事を行っているだけなのですが、
この場合は当然ながら音源チップの性能を考える必要が無くなります。
CD-ROMの場合、1トラック目がデータ領域で、2トラック目以降は
通常の音楽を記録出来るので、BGMや台詞を再生する為に極めて多用されました。
特にアーケードゲームからの移植作の場合、ゲーム中のBGMを
シンセや生演奏によってアレンジしてCDーDAとして収録する例も多かったです。
個人的には、「ギャラクシーフォースII」や「雷電伝説」などに
収録されていたアレンジ版BGMが非常に好きでした。
今も買い直して遊んでいるくらいですし(^^;)
このように、FM-TOWNSはサウンド機能においても
(PCM音源の使い方に少し癖があったものの)当時としては
かなりの水準に達していました。
・FM-R50との互換性
FM-R50をベースとして開発されたFM-TOWNSは、独自のAV機能以外の
部分に関してはハードウェアレベルでFM-R50との高い互換性を持ち、
FM-R50と実装が異なる部分の非互換性を吸収する為の
適切なエミュレーションプログラムやデバイスドライバを併用する事で
見かけ上はFM-R50と殆ど同等のMS-DOSマシンとしても運用することが可能で、
FM-R50上のMS-DOSで動作する各種ビジネスソフトや
膨大な量のDOS汎用ソフトをほぼそのまま活用する事が出来ました。
TownsOS-V2.1のコマンドモードやMS-DOS上でFM-TOWNSをFM-R50互換機として
使用する為に使用された手法の概略を以下に記しておきます。
-----------------------------------------------------------
・テキストVRAM
→FM-R50のテキストVRAMと同じアドレスから、スプライトパターンRAMの一部を
擬似テキストVRAMとしてアクセスする機能をハードウェアで実装。
IO.SYS内蔵のテキスト画面エミュレータが擬似テキストVRAMを随時読み出す。
・専用ハードウェアによるテキスト画面
→テキスト画面エミュレータが、擬似テキストVRAM上のデータを元に
16色モードのグラフィック画面へ文字を描画。
・4096色中16色/プレーンアクセス形式のグラフィックVRAM
→FM-R50と同じアドレスから、32KB*8バンク=256KBのVRAMをプレーンアクセスする
機能をハードウェアで実装。
・640*400ドットのグラフィック画面
→同等の画面モードを設定可能。
・テキスト画面とグラフィック画面の重ね合わせ
→16色モード×2画面のグラフィック画面をテキスト表示用とグラフィック表示用に
それぞれ割り当て、グラフィック画面の重ね合わせで処理。
・論理演算/直線補間チップ(FM-TOWNSには該当機能無し)
→FM-Rシリーズ共通グラフィックAPI”GDS-BASE”で吸収。
ただし、GDS-BASEを経由せずにチップを直接操作するソフトは正常に動作しない。
・マウスI/F(FM-R50:FM-R専用マウスI/F、FM-TOWNS:拡張ATARI規格I/F)
→マウスドライバで吸収。
・その他の各種デバイス
(キーボード、ディスク、プリンタ、RS-232C、DMAC、PICなど)
→ハードウェアレベルでFM-R50との互換性を確保。
-----------------------------------------------------------
3.その後のFM-TOWNS
ハードの立ち上げに何とか成功し、国内のPC勢力の一角を形成するに至った
FM-TOWNSは、その後順調に台数を伸ばしていきました。
(富士通のホームページによると、1995年時点で累計50万台以上。
と言う事は、初年度以外は毎年10万台近くは売れていたようですね。
PC-9801/9821よりはずっと少なく、X68000より幾らか多いといった程度でしょうか)
1990年代初め、Microsoft社はWindowsマシンをベースとした
マルチメディアPC規格「MPC」を発表しましたが、その内容はFM-TOWNSそっくりと
言えるものであり、FM-TOWNSの先進性を改めて世に知らしめる事となりました。
結果、Windows3.0をベースとしたMPC用OS「WindowsMME」には
当然の如くFM-TOWNSが国産機一番乗りを果たし、以後はWindowsマシンとしての
顔をも持つ事になります。
日本国内でトップシェアを走り続けていたNECも、見かけ上は平静を装いながらも
FM-TOWNSを無視する事は出来なかったのか、CD-ROMドライブや、VGAと同等の
解像度のグラフィック機能を搭載した”PC-TOWNS(昔読んだ業界誌の造語^^;)”
とも言える「PC-98GS」「PC-9821」といった実験的なマシンを世に送り出しました。
実際、FM-R50→FM-TOWNSへの進化とPC-9801→PC-9821への進化は
その方向性が極めて近いものであり、PC-9821シリーズは
Windows時代への適応を遂げたPC-9801としてNECの主力機種となります。
このように、FM-TOWNSは「国産MPC」とも称されたように、
その設計思想は徐々に世に認められるようになりました。
FM-TOWNSが目指した道は正しかったのです。
-----------------------------------------------------------
余談:海外から見たFM-TOWNS
FM-TOWNSは海外では発売当初から注目されていたようで、
当時の富士通でFM-TOWNSの開発を指揮していた、ニフティ社長の古河建純氏の
Blogによると、1989年に初代FM-TOWNSが発売開始された当日、
Apple社の日本法人に勤務していた古河氏の友人が秋葉原でFM-TOWNSを
買い求めて即座に米国本社に持ち込んだそうです。
Apple社のMacintoshが持つ先進的なシステムは、Microsoft社のWindowsや
FM-TOWNSにも大きな影響を与えましたが、こうした逸話があったと言う事は
逆にFM-TOWNSが影響を与えた部分もあったのかもしれません。
また、米国Microsoft社主催の第4回CD-ROM国際会議(1989年)に出展された、
まだ世に出たばかりのFM-TOWNSは大きな話題を呼び、
現地のマスコミやソフトハウス等の間で凄い人気となったそうです。
翌年の第5回CD-ROM国際会議でも、Microsoft社のBill Gates氏の
講演でFM-TOWNSが取り上げられるなど、海外のPC業界ではFM-TOWNSは
当初から非常に高い評価を受けていました。
FM-TOWNSそっくりのMPC規格や(良いとこ取り大好きなMicrosoft社ですしね^^;)、
FM-TOWNSで海外製ゲームソフトが頻繁に移植された事なども、
こういった事実と無縁ではないと思われます。
”日本国内での毀誉褒貶をよそに海外で名を上げ、海外での評判が
聞こえてきた頃から国内でもやっと価値を認められる”という、
浮世絵や漫画やアニメに対する扱いにも似た変遷を
(時代のスパンは遥かに短いですが)FM-TOWNSも辿ったのです。
このパターンは随分多いですが、日本社会の悪癖なのでしょうか…。
-----------------------------------------------------------
しかし、今になって改めて考えてみると、先進性を認められたと言う事自体が
逆にFM-TOWNSの命取りとなってしまったとも言えます。
先に述べた通り、FM-TOWNSはWindowsMMEに国産機一番乗りを果たしましたが、
WindowsMMEは元々はPC/AT互換機向けの物でした。
つまり、FM-TOWNSと似た事が出来るマシンがPC/AT互換機ベースでも
作れるようになったのです。
次のWindows3.1ではWindowsMME相当の機能が最初から実装され、
FM-TOWNSでなくても、PC-9821や、然るべき装備を施したPC/AT互換機なら
どれでも使えるようになってしまいました。
最大シェアを握る勢力(当時の日本ではPC-9821/9801、海外ではPC/AT互換機)に
その利点を取り込まれてしまったら、数的に少数派であるFM-TOWNS自体はどうなるか?
答えは残酷なまでに明白でした。
勿論、Windowsの時代となっても、FM-TOWNSはWindowsマシンとしての
性能向上を続けながらPC/AT互換機やPC-9821との競争を繰り広げ、
TownsOS上で動作するFM-TOWNS専用ソフトも増え続けていきました。
しかし、Windowsが主力OSとして普及していくに従い、
FM-TOWNSがかつて目指した物は、いつの間にかPC/AT互換機やPC-9821の世界でも
当たり前の物となってしまい、FM-TOWNSはその存在意義を急速に失っていきます。
特に、巨大市場によるスケールメリットを生かした安価で高性能の
PC/AT互換機に対して、日本国内専用機のFM-TOWNSでは
コスト的に太刀打ち出来ませんでした。
(これはNECのPC-9821にも共通する問題でした。
NECはPC/AT互換機のノウハウをも取り込みながら粘り強く戦い続けたものの、
結局はPC98-NXという名のPC/AT互換機にシフトし、
最後の国産機となったPC-9821も終焉を迎えてしまう事になります)
しかも、FM-TOWNSを世に送り出した富士通自身もPC/AT互換機「FM-V」を発売し、
PC/AT互換機市場に参入してしまいます。
FM-Vの発売自体は1993年10月と比較的早く、当初はFM-Rの後継機として
ビジネス市場向けに売り出し、FM-VとFM-TOWNSの二本柱の体制を取っていたものの、
1994年10月には家庭向けFM-V「DESKPOWER」も発売します。
FM-TOWNS専用ソフトも徐々に減り、緩やかな斜陽の道を辿っていく中、
DESKPOWERの登場で富士通のPC/AT互換機へのシフトは
もはや誰の目にも明らかとなりました。
そして、1995年11月23日。
大ブームを巻き起こしたWindows95がPC/AT互換機とPC-9821向けに
発売されましたが、そこにFM-TOWNS版Windows95の姿はありませんでした。
(1996年6月、FM-TOWNS版Windows95も直販のみで発売されました)
同じ1995年11月、あるパソコンが富士通から発表されました。
FM-TOWNSのソフトも使えるFM-V「FM-VTOWNS」です。
FM-VTOWNSの実態は、同世代のFM-VにFM-TOWNS互換機能を提供するPCIカードを
追加したとでも言うべき物であり、この時点でFM-TOWNSは
FM-Vシリーズに吸収される形で事実上消滅しました。
FM-VTOWNSはその後数度のモデルチェンジを重ねましたが
1997年6月モデルを最後に、新型機の発表は行われていません。
(FM-VTOWNSに関しては別項で書き記しています。こちらを参照)
4.FM-TOWNSの変異型「FM-TOWNS MARTY」
FM-TOWNSの大まかな歴史は前項の通りですが、
ある意味では非常に興味深い派生型がありました。
それが「FM-TOWNS MARTY」です。
32ビットCPU/CD-ROMドライブ/強力なAV機能といった特色を合わせ持っていた
FM-TOWNSは、当初「ハイパーメディアパソコン」と称していたように
”事務機やゲーム機といった枠を超えた、一つのメディアとしてのコンピュータ”を
多分に意識したパソコンでした(いわゆるマルチメディアと呼ばれる概念です)。
お茶の間にポンと置かれ、CD-ROMを放り込んで電源を入れるだけで
ゲームもお勉強も宴会支援(笑)もこなせる、家庭用万能プレイヤー的な
側面を持っていたFM-TOWNSですが、そのFM-TOWNSのもう一つの側面である
「TownsOS/MS-DOS/Windowsが動作する汎用PC」としての部分を徹底的に隠蔽し、
家庭用メディアプレイヤー的な側面”だけ”を強調した場合、
どのようなハードとなるでしょうか?
まず、ハイレゾ環境やWindowsアクセラレータなどは不要である代わりに、
オプション無しで家庭用TVへの画面表示が出来るべきでしょう。
CD-ROMドライブは当然必須ですが、セーブ機能が必要な一部のソフトに
対応する為にはFDDが1台もあれば十分で、HDDは(当面は)要りません。
汎用拡張スロットも各種汎用I/F類も無くて構いません。
キーボードも標準では不要です。
また、本体は通常のPCより遥かに小型軽量で
容易に持ち運び可能である事が望ましいでしょう。
…ここまで書けば、答は見えてきました。
これらの要求に応えられそうなハードの格好の事例として、
当時既に普及していた「家庭用ゲーム機」がありましたね。
ならば、FM-TOWNSをゲーム機的に仕立て直せば、FM-TOWNSのソフト資産が使える
家庭用メディアプレイヤーが作れるのではないか…市場拡大の為に富士通が
1993年に放った新兵器が「FM-TOWNS MARTY」でした(以下、MARTYと表記)。
情報不足のため不確かな部分がありますが、MARTYの概要を以下に記しておきます。
・CPUは386SX(16MHz)(処理能力は初期型FM-TOWNSと同等)
・2MBのメインRAM(FM-TOWNS用ソフトを動かす為に必要な最低限の容量)
・初期型FM-TOWNSと同等のAV機能
・新規開発のスキャンコンバータによる、640*480ドット画面のTV出力
・拡張I/FはICカードスロットのみ(メモリカードやモデムカードを実装可能)
・CD-ROMドライブ、FDD×1台を装備
・標準入力デバイスはジョイパッド(マウスやキーボードも使用可能)
・別売りのアプリケーション実行セットで、
TownsOS用ソフト/TownsGEARコンテンツ/F-BASIC386のプログラムも実行可能
・PCエンジンDUOそっくりの外観(^^;)
FM-TOWNSのソフトが動き、小型軽量で専用CRTも不要、茶の間の大画面TVに
つなげばゲームも大迫力…家庭で気軽に使えるメディアプレイヤーとしては
まさにうってつけ…と言いたかったのですが、結果だけ先に示してしまうと
MARTYはFM-TOWNSの歴史上最悪の失敗作に終わってしまいました。
以下、MARTYの敗因を私なりに分析してみます。
・余りにも高価過ぎた(定価:約10万円)
家庭に斬り込むには、ゲーム機の2倍〜3倍の価格では余りにも
価格競争力が無さ過ぎました。
※約1年後に大幅に値下げされましたが(5万〜6万円?)既に手遅れでした。
ちなみに、先程引き合いに出したPCエンジンDUOは1991年の発売でしたが、
1991年当時でも約6万円でした。
(MARTYとほぼ同時期に発売された、PCエンジンDUO-Rは約4万円)。
更に言うと、MARTYの4年前に発売され、細かな問題点を除けば概ね同等の性能を持つ
初代FM-TOWNSは、1993年当時は既に2万〜3万円程度で投げ売りされていました。
・中途半端な性能
1992年のモデルHR登場以後、FM-TOWNSの主力も486機に移行しつつあり、
1年後にはプレイステーションやセガサターンといった新世代ゲーム機も
登場するという情勢下、MARTYの能力は余りにも貧弱過ぎました。
-----------------------------------------------------------
CPU:i486SX or Cx486SLC(16MHz〜20MHz程度)
RAM:4MB
ドライブ:CD-ROM/FDD
拡張I/F:ICカードスロット、2.5インチHDD(オプション)内蔵用スロット
価格:1993年の登場時点で7万円以内
-----------------------------------------------------------
↑ほぼ同時期に出たモデルURのダウングレード版といったイメージですが
せめてこれ位なら、もう少しマシな結果になっていたと思います。
(MARTYがこんなスペックで出たらモデルURが売れなくなるって?
モデルURなどは学校向けシステム販売にでも回して、
一般向けにはMARTYを前面に押し出せば良いだけです。
どうせ33MHzや66MHzの白TOWNSも出る事ですし^^;)
・富士通の不可解なビジネスモデル
上記の2点の問題も含めて、全てはこれに集約出来るでしょう。
富士通は、MARTY本体に”MARTY対応IPL(有償)が書き込まれた
ソフトしか動作しない”という一種のプロテクトを施し、
MARTY専用IPLのライセンス料を徴収する事で利益を得ようとしたのです。
(MARTY発売以前に出荷されたソフトは動いたようですが)
FM-TOWNS用と寸分違わぬソフトを動かすのにわざわざお金を払って、
売れるかどうか分からない(売れそうにない?)MARTYの為に対応IPLを
別に焼き込まなくてはならないという理不尽な方針はソフトハウスの反発を招き、
”MARTY非対応”のソフトが大手を振って出回るようになってしまいました。
家庭用ゲーム機のビジネスモデルを富士通なりに極めて粗雑に解釈した
結果なのでしょうが、どうせMARTYにプロテクトを施すのなら
いっそ徹底してライセンス料の利益をあてにして、原価割れしてでもMARTY本体の
価格を最初から思いきり安価に(そしてもう少し高性能に)すべきだったのです。
多少無理してでもとにかく本体の頭数を揃えて、きちんとMARTY対応ソフトが
捌ける下地さえ作れば、ソフトハウスにとっても”MARTYで稼げる”という良い環境が
生まれていたでしょう。
結局、ゲーム機のようにソフトで稼ぐビジネスをやりたいけど、かと言って
本体を赤字覚悟でばら撒く勇気も無いのでハードでも幾らか利益は上げたいという
どっちつかずの中途半端な態度を富士通が取った事が
MARTYにとって致命的となったのです。
展開の仕方次第では、いわゆるSTB(セットトップボックス:家庭用情報端末)の
先駆けとなる可能性を秘めていただけに、富士通の愚劣な方針によって
将来の芽を摘まれてしまった事が残念でなりません。
5.私とFM-TOWNS
私がFM-TOWNSを買ったのは1991年の春で、
機種は1990年冬モデルの「FM-TOWNS 20F」でした。
80MBという比較的容量の大きい(笑わないように^^;)HDDも一緒に買い、
ゲームで遊びながら、C言語やMS-DOSの勉強もしたものです。
FM-TOWNSテクニカルデータブック(通称:赤本)も買い、
ソフタバンク社から発行されていた専門誌「Oh!FMTOWNS」に載っていた
色々な情報を参考にしながら、C言語やアセンブラ経由でハードウェアに色々と
いたずら(^^;)をして遊んでいたのが今となっては懐かしいですね。
後にはビデオカードIIも購入し、手持ちのビデオを使って
ちょっとした映像いじりにも走るなど、私のPCの使い方の原型は
FM-TOWNSユーザー時代に形作られていきました。
後年、Windows3.1が姿を現し、i386では力不足になってきた頃には
後継機の選択に非常に迷いました。
FM-TOWNS初のi486機「FM-TOWNS II モデルHR」も当然候補に入っていましたが、
PC-9821Aシリーズ(98Mate)やPC/AT互換機の凄まじいパワーを目の当たりにすると
HRでも不安に感じ、結局は486DX2(66MHz)のPC/AT互換機に移行しました。
当時の部屋では2台もPCを運用出来る態勢にはなく、
FM-TOWNSは手放してしまいましたが、Oh!FMTOWNS等による情報収集はその後も続け、
いわゆる白TOWNSが発売された時には「あと少し早く出ていれば…」と
少々後悔したのを今も覚えています。
当時は余り広い付き合いが無かった為、FM-TOWNSユーザーも私一人でしたが、
PC/AT互換機ユーザーも周りに誰もいなかった為、移行は困難を極めました。
しかし、FM-TOWNSでDOSマシンに関する勉強が済んでいたからか、
何とか自前での習得に成功して現在に至るわけですが、
今こうして振り返ってみると私のPC歴の原点はFM-TOWNSにあるのでしょうね。
最近(2003年)、FM-TOWNS20F(かつて使っていたのと同じモデル!)を
オークションで入手し、私は約10年ぶりにFM-TOWNSユーザーに復帰しました。
かつて慣れ親しんだTownsOSが再び目の前で動くのを目にした時は
本当に感動しました。
現在では、非常に完成度の高いFM-TOWNSエミュレータ(こちらを参照)が存在するので
入手した本体からROMを吸い出して運用を開始し、
むしろエミュレータ環境の方がメインになっていますが
実機を用無しとして腐らせてしまう気にはとてもなれません。
なにせ古い機械なので、元気に稼動出来る時間は
もう余り残されていないかもしれませんが、今度こそは手放さずに
私の家で余生を全うさせてやりたいと思います。
2003/05/27追記)
2台目としてFM-TOWNS II FreshFTを導入しましたが、386DX(16MHz)と
486DX4(100MHz)の差はさすがに大きく、実機の運用はFreshFTがメインになりつつあります。
といっても、機種の世代が違い過ぎるためか、互換モードでも動作に問題があるソフトが少なからず
存在するようなので、FreshFTとは役割分担しつつ、20Fもまだまだ使っていく事になりそうです。
2003/08/31追記)
3台目として購入したFM-VTOWNS SB(LAN内蔵モデル)を大幅に改修し、
TOWNS部門の主力として運用を開始しました。
純TOWNSへの愛着ゆえか、AT互換機との複合機であるVTOWNSの導入は元々気が進まなかったのですが、
入手が容易なAT互換機用の周辺機器を流用出来るメリットに負け、とうとう買ってしまいました。
純TOWNS用機器の入手が困難となりつつあり、今後は我が家でもVTOWNSを
TOWNS部門のメインに(不本意ですが)据えざるを得ないと思いましたので。
少し使ってみた所、TOWNSモードの互換性は予想以上に高いようで、
FreshFTで”互換モードでも動作に問題があるソフト”も殆どが問題無く動いてしまった程です。
(ATモードの互換性は…まぁ、ベースが”あの”FM-Vですから期待は出来ないでしょう^^;)
特に愛着がある20Fは今まで通り動態保存中ですが、純TOWNSのFreshFTが
紛い物(?)のVTOWNSより互換性が低いとは一体…(^^;)。
6.おわりに
新たな時代の扉を開いたFM-TOWNSは、自ら生み出した奔流に自分自身が
押し流されるという皮肉な形で滅んでしまいましたが、FM-TOWNSが先駆者として
PCの世界に遺した物は極めて大きかったと思います。
私はこの文章を自作AT互換機上で書いていますが、FM-TOWNSの遺伝子は
この愛機の中にも確実に受け継がれています。
1989年2月28日、FM-TOWNS誕生の日。
こんなキャッチコピーが世間を駆け巡りました。
「パソコンが変わる。FM−TOWNSが変える」
当時は失笑すら買ったキャッチコピーでしたが、本当にパソコンは変わりました。
そうです。まさしく「FM−TOWNSが変えた」のです。
主な参考文献:
・FM-TOWNSテクニカルデータブック(アスキー出版局)
・Windows95内部解析(ソフトバンク)
・FM-TOWNS用各種OS(TownsシステムソフトウェアやMS-DOSなど)や
Cコンパイラ等のマニュアル類
・当時の色々なPC情報誌(の記憶^^;)
※初代FM-TOWNS 「FM-TOWNS モデル2」
CPU | i386DX(16MHz) | |
数値演算プロセッサ | i387(オプション) | |
メインRAM | 2MB(最大6MB) | |
VRAM | 512KB | |
スプライトパターンRAM | 128KB | |
PCM波形RAM | 64KB | |
システムROM | 256KB | |
OS-ROM | 512KB | |
漢字ROM(JIS第1水準/JIS第2水準) | 256KB | |
辞書ROM | 512KB | |
グラフィック機能 | 画面モード | 640*480ドット 1677万色中256色 1画面 640*480ドット 4096色中16色 2画面 320*240ドット 32768色 2画面 640*400ドット 4096色中16色 2画面 512*480ドット 32768色 1画面 他 |
特殊機能 | ハードウェアスクロール機能(円筒/球面) プライオリティ機能 |
|
スプライト機能 | サイズ | 16*16ドット |
表示数 | 1024個(最大) | |
定義数 | 896個(最大) | |
色数 | 32768色/32768色中16色 | |
サウンド機能 | FM音源 | 6音(ステレオ) |
PCM音源 | 8音(19.2KHz/8ビット/ステレオ) | |
その他 | CDデジタルオーディオ | |
補助記憶装置 | CD-ROMドライブ 3.5インチFDD(2HD/2DD)×2 |
|
拡張スロット | ビデオカード専用スロット×1 モデムカード専用スロット×1 SCSIカード専用スロット×1 ICカードスロット×1 |
|
CRT I/F | アナログRGB | |
オーディオI/F | 外部マイク×1 ステレオヘッドフォン×1 ライン入力(L/R)×1 ライン出力(L/R)×1 |
|
周辺I/F | キーボードI/F ×1 マウス/パッドI/F×2 プリンタI/F(セントロニクス仕様)×1 RS232C I/F×1 |
|
電源 | AC100V(50/60Hz) |
※10年の時を経て帰ってきた愛機 「FM-TOWNS モデル20F」
CPU | i386DX(16MHz) | |
数値演算プロセッサ | i387(オプション) | |
メインRAM | 2MB(最大26MB) | |
VRAM | 512KB | |
スプライトパターンRAM | 128KB | |
PCM波形RAM | 64KB | |
システムROM | 256KB | |
OS-ROM | 512KB | |
漢字ROM(JIS第1水準/JIS第2水準) | 256KB | |
辞書ROM | 512KB | |
グラフィック機能 | 画面モード | 640*480ドット 1677万色中256色 1画面 640*480ドット 4096色中16色 2画面 320*240ドット 32768色 2画面 640*400ドット 4096色中16色 2画面 512*480ドット 32768色 1画面 他 |
特殊機能 | ハードウェアスクロール機能(円筒/球面) プライオリティ機能 |
|
スプライト機能 | サイズ | 16*16ドット |
表示数 | 1024個(最大) | |
定義数 | 896個(最大) | |
色数 | 32768色/32768色中16色 | |
サウンド機能 | FM音源 | 6音(ステレオ) |
PCM音源 | 8音(19.2KHz/8ビット/ステレオ) | |
その他 | CDデジタルオーディオ | |
補助記憶装置 | CD-ROMドライブ 3.5インチFDD(2HD/2DD)×2 |
|
拡張スロット | ビデオカード専用スロット×1 汎用拡張スロット×2 ICカードスロット×1 |
|
CRT I/F | アナログRGB | |
オーディオI/F | 外部マイク×1 ステレオヘッドフォン×1 ライン入力(L/R)×1 ライン出力(L/R)×1 |
|
周辺I/F | キーボードI/F ×1 マウス/パッドI/F×2 プリンタI/F(セントロニクス仕様)×1 RS232C I/F×1 SCSI I/F×1 |
|
電源 | AC100V(50/60Hz) |
※FM-TOWNSの最末期モデル 「FM-TOWNS II FreshFT」
CPU | Am486DX4(100MHz) | |
数値演算プロセッサ | (CPUに内蔵) | |
メインRAM | 8MB(最大72MB) | |
VRAM | 512KB+1MB(Windowsアクセラレータ用) | |
スプライトパターンRAM | 128KB | |
PCM波形RAM | 64KB | |
システムROM | 256KB | |
OS-ROM | 512KB | |
漢字ROM(JIS第1水準/JIS第2水準) | 256KB | |
辞書ROM | 512KB | |
グラフィック機能 | 画面モード | 640*480ドット 1677万色中256色 1画面 640*480ドット 4096色中16色 2画面 320*240ドット 32768色 2画面 640*400ドット 4096色中16色 2画面 512*480ドット 32768色 1画面 他 ※Windowsアクセラレータ(CL-GD5430) 1024*768ドット 26万色中256色 800*600ドット 65536色 640*480ドット 1677万色 |
特殊機能 | ハードウェアスクロール機能(円筒/球面) プライオリティ機能 |
|
スプライト機能 | サイズ | 16*16ドット |
表示数 | 1024個(最大) | |
定義数 | 896個(最大) | |
色数 | 32768色/32768色中16色 | |
サウンド機能 | FM音源 | 6音(ステレオ) |
PCM音源 | 8音(19.2KHz/8ビット/ステレオ) 2音(48KHz/16ビット/ステレオ) |
|
その他 | CDデジタルオーディオ | |
補助記憶装置 | 2倍速CD-ROMドライブ 530MB HDD 3.5インチFDD(2HD/1.44MB-2HD/2DD)×1 |
|
拡張スロット | ビデオカード専用スロット×1 (TVキャプチャーカードで使用済) 汎用拡張スロット×2 ICカードスロット×1 |
|
CRT I/F | アナログRGB | |
オーディオI/F | 外部マイク×1 ステレオヘッドフォン×1 ライン入力(L/R)×1 ライン出力(L/R)×1 |
|
周辺I/F | キーボードI/F ×1 マウス/パッドI/F×2 プリンタI/F(セントロニクス仕様)×1 RS232C I/F×1 SCSI I/F×1 |
|
電源 | AC100V(50/60Hz) |
※富士通が下した苦渋の決断? 複合機 「FM-VTOWNS SB(LANモデル)」
CPU | Pentium(120MHz) | |
数値演算プロセッサ | (CPUに内蔵) | |
メインRAM | 32MB(最大128MB) | |
VRAM | 512KB(TOWNSモード) 2MB(ATモード用Windowsアクセラレータ) |
|
スプライトパターンRAM | 128KB(TOWNSモード) | |
PCM波形RAM | 64KB(TOWNSモード) | |
BIOS ROM | 128KB(ATモード) | |
システムROM | 256KB(TOWNSモード) | |
OS-ROM | 512KB(TOWNSモード) | |
漢字ROM(JIS第1水準/JIS第2水準) | 256KB(TOWNSモード) | |
辞書ROM | 512KB(TOWNSモード) | |
グラフィック機能 | TOWNSモード | 640*480ドット 1677万色中256色 1画面 640*480ドット 4096色中16色 2画面 320*240ドット 32768色 2画面 640*400ドット 4096色中16色 2画面 512*480ドット 32768色 1画面 他 ハードウェアスクロール機能 プライオリティ機能 スプライト機能 ビデオカードII(FMT-412)互換機能 |
ATモード |
Windowsアクセラレータ(Mach64) 1280*1024ドット 1677万色中256色 1024*768ドット 65536色 800*600ドット 1677万色 640*480ドット 1677万色 他 |
|
サウンド機能 | TOWNSモード | FM音源:6音(ステレオ) 8ビットPCM音源:8音(19.2KHz/ステレオ) 16ビットPCM音源:2音(48KHz/ステレオ) FMT-402互換MIDI-I/F機能 |
ATモード | Creative Labs. SoundBlaster AWE32 | |
その他 | CDデジタルオーディオ | |
補助記憶装置 | 6倍速CD-ROMドライブ 1.2GB HDD 3.5インチFDD(2HD/1.44MB-2HD/2DD)×1 |
|
拡張スロット | PCIスロット×2 (1スロットをTOWNSカードで占有) PCI/ISAスロット×1 ISAスロット×1 (SoundBlaster AWE32で占有) LANカード/モデムカード専用スロット×1 (FMV-183互換LANカードで占有) |
|
CRT I/F | アナログRGB | |
オーディオI/F | 外部マイク×1 ステレオヘッドフォン×1 ライン入力×1 ライン出力×1 |
|
周辺I/F | PS/2キーボード×1 PS/2マウス×1 パッドI/F×2 パラレルポート×1 シリアルポート×2 LAN(10BASE-T)×1 |
|
電源 | AC100V(50/60Hz) |