[機器][PC] General PAXON~統一規格MSX登場
■統一規格への挑戦
私の知る限り,「始めての」パソコン統一規格は3つあります。最初がMSX,次がTRON,最後がSVR4です。
この3つはそれぞれ違う性格をもった「統一」なのですが,技術にうとい新聞各社はすべて「世界初のパソコン統一規格」として扱っていました。
今回から数回の予定で,真の意味で「初」であったMSXパソコンを取り上げる予定です。
■MSXの誕生
MSXが産声を上げたのは1983年の秋でした。
当時のパソコン業界は混沌としており,各社がそれぞれに工夫を凝らしたハードを作っていました。
当時のパソコンはスペック性能よりもむしろアイディアの良さが競われており,たった1点を除いて性能が同じのパソコン,などというのは山ほどありました。また,それを逆手にとって,さまざまな機能をチップに収めたLSIなどがたくさん作られていましたので,それを組み合わせただけのパソコンも多数ありました。
詳しい歴史はこの連載の趣旨から外れますので取り上げませんが,規格統一を望む声が上がったのは当然といえましょう。しかも,その声はユーザーサイドよりもソフトメーカー各社から強く出ていました。同じような機械がたくさんあると移植に手間がかかり,効率が悪いからです。
そして,ついに当時からすでに大手ソフトメーカーであったマイクロソフト社と,日本のコンピューター界を牽引していたアスキーの共同規格でMSXが誕生することになります。
MSXはマイクロソフトのBASICを搭載し,CPUにZ80,VDPにTMS9918,音源にAY-3-8910を搭載したコンピューターの規格で,これらのLSIの組み合わせは,当時のパソコンでは最も平均的なものでした。
当時,同じ様な構成の機械としては,SC-3000や,M-5などがありました。
また,CPUは違うものの,ぴゅう太,MAX MACHINEなどもこの仲間と思われます(情報不足で自信はないが)。
ただ平均的でなかったのは,拡張性を最大限に考慮していたことです。これは,統一規格を作る必然性から,絶対必要なことでした。当時のパソコンはメーカーの個性を出したものが多く,統一規格・・・すなわち,個性のないパソコンなどというのは売れるとは思えませんでしたから,メーカー毎に工夫を凝らして拡張出来る余地を残す必要があったのです。
MSXという名称も,マイクロソフト社のMSに,無限の可能性(拡張性)を意味する未知数Xをつけたものだとされています。
GENERAL PAXON広告
MSX初期の名品「PAXON」。
家庭用テレビを使用できるMSXで,あえて専用モニターを使用。現在のような「モニタ一体型」ではなく「パソコン内蔵テレビ」と,高級家電品としてMSXを売り込んでいた。
MSXの頃は(現在でもそうだが)パソコンに拒否反応を示す人が多く,MSXは統一規格ゆえに「家電品としてのパソコン」として注目されていた。
■MSXのメモリ構成
MSXの最大の特徴は,地味ながらもよく考えられたメモリシステムでしょう。
メモリはすべてスロットの形で用意され,スロットは4つ用意されていました。
これらのスロットは,さらに4つに拡張することが出来ました。これにより,スロットは最大16個となります(拡張したスロットは信号のタイミングが若干変わるため,動かない周辺機器も多かったのですが)。
スロット1つあたり,64Kbyteのメモリ空間を持っていましたから,MSXは全体で1Mbyteものメモリを持てることになります。これは,当時としては驚異的なメモリ搭載量でした。
もっとも,CPUであるZ80は64Kbyteのメモリ空間しか持っていません。
そこで,メモリは64Kbyteを切り替えて使用することになります。メモリ全部を一遍に切り替えたのではプログラムの整合性が取れずに暴走してしまうので,メモリは16Kbyteづつ4つのページにわけられ,ページ単位で切り替え可能となっていました。
ここでは最後のスロット/拡張スロットのみを詳しく書いていますが,他のスロットも構成は同じです。また,拡張スロットを使わずにスロットからページを参照することも出来ます。
16Kのページが4枚64Kで1スロット,4つのスロットがさらに4つに拡張できるため,全部で16スロット,64K*16で1024K = 1Mbyteのメモリ空間となります。
BASICやBIOS(BasicInputOutputSystem)のROMは,ページ1,2に配置されていました。
ユーザーメモリはページ1?4のどこにでも配置できましたが,BASIC使用時は3,4しか使用出来ないために,初期のMSXでは32KのRAMをページ3,4に配置するのが一般的でした。
MSXの特徴であるカートリッジのゲームなども,システム側からはスロットにROMメモリが拡張された形で認識されます。
MSXは立ち上げシーケンスのなかで,全てのスロットの,全ての拡張スロットの,全てのページの先頭2byteを調べ,これがアスキー文字の「AB」だった場合にはそのページを呼び出す決まりになっていました。
カートリッジに挿されたものが拡張ハードウェアであった場合はこのプログラムで初期化/デバイスドライバの登録を行い,ゲームなどの場合にはプログラムを実行します。これにより,MSXでは現在でいうPlug&Playを実現していました。
■MSXの個性
最初に述べたように,MSXを成功させるためには,それを作ってくれるメーカーが独自の特色をだせる必要がありました。当時新しくパソコン業界に参入しようとするメーカーは,すなわち「他社とは違うことがしたい」から入ってくるのが普通でしたから,互換性という言葉はかえって邪魔なものだったのです。
MSXはスロットに独自のハードウェアを搭載することで,この条件を満たしていました。出来合いのコンピューターを買ってきて,そこに部品を一つ付け加えるだけでそのメーカー独自のコンピューターが作れるのです。これに家電品メーカー各社が飛びつきました。
多くのメーカーは内蔵ROMにさまざまなソフトを搭載するにとどまりましたが,ソニーは数色のカラーバリエーションを発表し,コンピューターにファッション性を持たせようとしました。
YAMAHAはFM音源や音声合成,ミュージックキーボードなどのハードウェアを拡張出来る専用スロットを作成しました。このスロットはどうも拡張スロットに特殊なハードウェアを接続し,コネクタ形状を通常のコネクタとは変えて外に引き出したものだったようです。
富士通は同社のパソコンFM-7と接続できるようにしました。接続した場合は,ゲームに適したMSXのハードウェアをFM-7の高速なCPUで操作することが出来るようになり,メモリも拡張メモリとして無駄にならないようになっていました。
日立もカセットレコーダーと手書き文字入力パッドを備えたMSXを作っていますが,この文字入力パッドはアルファベットしか入力できなかったようです。
このように,MSXは出来合いのコンピューターを安価に用意した上で,さらにその上に拡張が可能で,しかもそれによって互換性が失われることはない,という,非常に巧妙な作りをしていました。
しかし安価なことを最優先したために,画面周りの性能が特に劣っていました。ゲームに使うには色数が足りなく,実務に使うには解像度が足りない・・・
この悩みはMSX2が発売になるまで続くことになります。
MSX初期の名品,ヤマハの「YIS503」。
ヤマハ独自のカートリッジスロットを持ち,音楽関係の拡張機能を豊富にしていた。
この独自スロットはのちに別売りカートリッジで他のMSXでも使用できるようになり,急速にYISは存在意義を失うが,「楽器メーカーが作った,楽器としてのパソコン」は他に例がないのではなかろうか。
■MSXの周辺ペリフェラル
MSXの2回目は,周辺ペリフェラルの話をしようと思います。MSXに使用されたチップは,どれも廉価なもので,「MSX独自の」特徴といえるほどのものはありません。しかし,それは裏を返せば当時のパソコンに共通して見られる仕様でもあるのです。
VDP・TMS9918
MSXに使用されたVDP「TMS9918」は,決して高性能ではありませんが,少ないメモリで多くの色数を出せる,優れたものでした。
また,このチップではスプライトも使用出来るため,ゲーム用途に性能を発揮します。MSXがパソコンとしてよりも「ゲーム機」として捉えられ,低い地位に甘んじたのは残念なことですが,どちらにせよ当時のパソコンの(そして現在も)使用目的の多くはゲームであったことは否めません。その点でこのVDPを選んだのは間違いではなかったと思います。
TMS9918は,CPUのメモリ空間とは別に独自のメモリ空間を16Kbyte持ち,CPUからは周辺デバイスとしてI/Oポートを使ってアクセスされるように設計されていました。
このメモリ空間は通常全てRAMで埋められ,文字コードだけでなく文字フォントもここに置かれました。そのため画面上の文字フォントは変更が可能で,絵にしてゲームなどに利用することも出来ました。(このような方式の画面をProgramable Character Generator : PCGと呼びます)
また,スプライトのドット絵データや表示位置,色のデータなど,画面表示に関するデータはすべてVRAMに置かれました。
TMS9918の基本的な解像度は256×192dotで,表示色数は16色でした。この解像度は当時でも低めの部類に入りましたが,家庭用テレビを使用することを考えると妥当な数値だったと思います。また,16色という色数はデジタル8色が同然だった当時としては,多い色数でした。
TMS9918には4つの画面モードがありました。それぞれ,テキストモード,マルチカラーモード,グラフィック1モード,グラフィック2モードと呼びます。
テキストモードは,その名のとおりテキストの表示を目的としたモードです。画面には横40文字×縦24行のテキスト表示が可能でしたが,1文字の大きさは6×8dotという中途半端なものとなるため,アルファベットはともかく,ひらがなの表示には向きませんでした(注:MSXの標準キャラクタセットにはひらがなが含まれていた)。
そのため,ひらがな混じりのプログラムでは,ひらがなの端が切れて読みにくかった覚えがあります。
マルチカラーモードはいわゆるローレゾグラフィックです。他のモードの4×4dot分の大きさのドットに16色中の任意の色をつけて絵が描けます。このモードでは1dotを4bitで表わしており,1dotを1bitで表わす他のモードと比べてみるとドットの大きさが4倍であることの正当性がわかります(縦方向まで大きくすることはないのだが)。
グラフィック1モードは,グラフィックとは呼んでいますが,MSXの標準テキスト画面です。テキストモードとの違いは,横32文字になり,その代わりに1文字の大きさが8×8dotになることです。
このモードでは,キャラクタセット8文字毎に文字色・背景色を変更することが可能でした。文字は全部で256文字ありますから,32種類のグループが出来ることになり,PCGで自由な文字を作れることと組み合わせて絵を描くことも出来ます。これがグラフィックモードと呼ばれる由縁でしょう。
写真はグラフィック1モードで作られたと思われる初期のMSXゲーム,「MAPPY」(ナムコ)。部品が全て単色で表現されているのがわかる。
グラフィック2モードは,正真正銘のグラフィックモードです。とはいっても,やはりPCGを利用して絵を描きます。
このモードではPCGのキャラクタ定義数が,256個から一気に3倍の768個に増えます。ただし,画面は上段,中段,下段の3段に別けられ,それぞれに256個という形です。
それでも,これで画面の全てを,別々のキャラクターで覆い尽くすことが可能になります。あらかじめ覆い尽くした後でPCGを変更することで,疑似的にグラフィック画面とすることも可能です。
テグザー
写真はグラフィック2モードで作られたと思われる,「TEXDER」(ゲームアーツ)。敵キャラクタに影や光がついていたり,自分のロボットが多色で描かれている。
このモードでのPCGは,1ライン毎に前景色・背景色をもつことが可能でした。つまり,画面上では横8dot毎に任意の2色が使えることになります。これは4bitの色情報2色分をまとめた1byteと,横8dotのbit毎にどちらの色を使うかを示す1byteの,合計2byteの情報で制御されていました。
この2色を超える色を使うような複雑なグラフィックでは,いわゆる「にじみ」「色化け」などと呼ばれる現象が起こりますが,そうでない限り,ドット当たり2bitで16色を出せることになります。これはメモリが高価だった当時,非常に優れた方式だったと思います。
MSXの初期のころはともかく,使いこなされてからはほとんどのゲームがこの「グラフィック2」モードで作成されることになりました。しかも,それは使用法として想定されたような「グラフィック」ではなく,多色PCGとしての使用でした。
この方法も,初期のころは上・中・下の各256個のキャラクターに同じ絵を割り振り管理を楽にしていたようですが,使いこなされたころにはそれぞれの段に別々の絵を割り振るようになってきます。
このような方法では上下方向にキャラクターを移動させるのは難しく,必然的に多くのゲームは「グラディウス」のような横スクロールものになっていきます。
しかし,私が覚えているなかでいちばんグラフィック2モードの特徴を巧みに利用していたのは,コナミの「F1スピリット」でした。
このゲームは縦スクロールのカーレースゲームだったのですが,上段,中段,下段と風景が通りすぎるあいだに,絵が微妙に変化して視差を感じさせるようになっていました。これは同じキャラクターコードでも画面の上中下段でキャラクターが変わってしまうことを逆手に取った演出で,画面は上空からカメラで撮影しているような実在感をもっていました。
スプライト
以上の4つの画面モードのうち,テキストモード以外ではスプライトが使用出来ます。スプライトは16×16dot,又は8×8dotの単色のものが32枚表示でき,横には4つまで並べることが出来ました。(4つを超えると番号の若い方から4つだけ表示される)
また,特殊機能としては2倍の拡大,衝突判定がありましたが,グラフィックとのプライオリティ等はありませんでした。
スプライト機能はTMS9918の大きな特徴ではありますが,スプライト自体に工夫はそれ程見られませんので,今は詳しく扱いません。(MSX2の時に詳しくやりましょう)
後日追記 2013.7.29
MSX・ファミコン 30周年記念で,GRAPHIC2 とスプライトの詳細を説明する記事を書きました。
基礎技術,ファミコン編も含めて3本だてです。上記説明で「もっと詳細を知りたい」と思った方や,当時のゲームなどで「どうやって処理していたのか」と疑問がある方は読んでみてください。
PSG・AY-3-8910
AY-3-8910というのは,当時最も使われていた音源チップです。VDPは独自に開発しても音源はこのチップを使っているパソコンがたくさんあったことからも,普及の度合がわかります。(あるいは,見た目ですぐに違いがわかるVDPほど,音源が重視されていなかったのかもしれません)
AY-3-8910には3チャンネルの発声器があり,同時に3音までの和音を出すことが出来ます。これらの発声器は独立に4096段階(8オクターブ)の音階と,16段階の音量を指定することが出来ました。
このほか,3チャンネルに共通したものとして,ノイズ発生器とエンベロープ機能がありました。
ノイズ発生器はその名のとおりノイズを発生するもので,どこか1チャンネルを通して出力されることになります。ノイズはいわゆる白色雑音ではなく,平均周波数をもつことが出来ます。
エンベロープ機能は連続的に音量を変更する機能で,8種類の波形から変化のパターンを選び,変加速度を設定することで,さまざまな楽器の音に音色を似せることが出来ました。
このチップには音源以外に汎用入出力ポートが備えられており,MSXではこのポートをジョイスティック端子として利用していました。
このジョイスティックポートの規格自体はATARI社が作成したもので「アタリジョイスティック」規格として有名ですが,MSX規格ではこの概念をさらに押し進め,パドルやタッチパネル,ライトペン,マウス,トラックボールまで接続出来るようにしました。
そのため,現在ではこれらの機器は「MSXジョイスティック」「MSXマウス」などと呼ばれています。(FM-Townsでもこの規格が採用されていたため,さらに「Townsマウス」などとも呼ばれますが)
たった3チャンネルの単純な音源ではありますが,工夫次第で多彩な音を出すことも可能です。あえて2つのチャンネルで同じ音をだすことで,厚みのある音にしたり逆に透明感のある音にしたり…というような技法も良く使われました。
MSXに限らず広く使われていた音源だからこそ,その使いこなしにもさまざまなテクニックがありました。私は音楽に疎いため,このチップの使いこなしについては残念ながらあまりお話しできませんが,今でもその独特の音色が好きだ,という人もいるくらいの音源です。
PSGについては,後藤さんのMSXお達者倶楽部に詳しいです
…っていうか,ページ開設時にリンクさせてもらい,その後たびたび行方不明になるものを,2012.3に発見,再リンク。
彼のページのプロフィールに書いてある「MagicalKid Wiz」ってのは僕が聞いたものですね (^^;
■MSXのBIOSシステム
MSXのBIOS(Basic Input Output System)は,8bit機だとは思えないくらい充実した作りとなっています。ここまでBIOSを充実させた理由はいくつかあると思いますが,MSXが「共通規格」であることが一番の理由なようです。
このBIOSには,MSXの規格で完全に定められているはずの入出力ポートを,単に「アクセスする」だけの機能も用意されていますから,これらの機能は将来規格が変更になったときでも「共通性」を確保するためだったのでしょう。
また,BIOSによって機能を提供することで,新しい周辺機器が開発されたときにもBIOSを拡張するだけで対応出来るメリットもあります。
たとえば,「マウス」「トラックボール」「ライトペン」「タブレット」はいずれも同じ「ポインティングデバイス用BIOS」を呼び出すことで扱えました。これ以外の新しいデバイスが開発された場合も,このBIOSを書き換えることで互換を保つことが出来ます。
BASICもBIOSを呼び出すことで動作しているので,BIOSの変更はMSXで動作する全てのプログラムを変更することになります。
BIOSはアドレス0000から4byte置きにエントリされており,機能に応じたアドレスを呼び出すことで実行するようになっていました。実際にはこれらのアドレスには無条件ジャンプ命令が並んでいるだけなのですが,これも将来BIOSを書き換える場合にアドレスがずれないようにするための工夫です(そして実際に,MSX2になったときにBIOSは書き換えられました)。
■MSX-DOS
MSX-DOSの存在も忘れるわけにはいきません。
MSX-DOSは(名前も似ている)MS-DOSの8bit版というような見た目をもっています。
実際にはMSX-DOSはCP/MというOSを拡張したもの(CP/Mのプログラムを実行可能),MS-DOSはCP/Mを16bitに移植したものなので,どちらが本家やらわかりませんが。
MSX-DOSとCP/Mの違いは,MSX-DOSがフォーマット形式にMS-DOS形式を採用したことです。MSX-DOSの開発時にはすでにMS-DOSは標準フォーマットの座を確立していましたから,これは正しい選択であったと言えます。
しかし問題もありました。マイクロソフトとしては,会社でMS-DOSで作成したファイルを,家に帰ってMSX-DOSで修正する・・・などという使用法を想定していたようですが,MS-DOSはこの後すぐにバージョンアップしてフォーマットが拡張されましたし,日本においてはMSXで漢字を扱う方法を定めなかったなどの問題があり,思惑通りにはいかなかったようです。
MSXにディスクドライブを拡張するとDISK-BASICが使用可能となりましたが,このBASICのフォーマットもMSX-DOSと同じ形式でした。
現在ではこれはあたりまえのように感じますが,DOSの有用性が認識されていなかった当時としては画期的なことでした。(当時の98では,DOSとBASICは違うフォーマットでした)
MSXにおけるMSX-DOSの導入は早すぎたようで,本当にDOSが活用されるようになるまでにはながい時間が必要となります。MSX-DOSが表舞台にたつのは,MSX2後期?MSXturboRの時代まで待たなくてはならないのです。
H25カタログ
MSX後期の低価格機の1つ,日立のH25。メモリ32Kで¥34800.-
日立のHシリーズはユニークな設計をしており,H1ではキャリングハンドル付,H2ではカセットレコーダー内蔵,MSX2となったH3では手書きタブレットを標準装備していた。
しかしH3よりも後に登場したH25ではMSXに戻り,低価格にするためか無難な構成となっている。なお,この後H25よりも安く,しかし高級感を出したH50を発売してHシリーズは完結する。
MSX発売から普及まで
MSX発売当時は,「共通規格」という意味が理解されなかったこともあり,MSXはなかなか普及しませんでした。理由のひとつには「おもちゃのコンピューター」といった認識が広まってしまったことも挙げられるでしょう。
また,MSXを発売していたメーカーは独自色を出すためにさまざまな拡張を施していましたが,この拡張のせいで必要以上に値段が高くなっていたのも普及を妨げた原因のようです。
MSXの普及に失敗したアスキー/マイクロソフトは,わずか2年間で「共通規格」の拡張であるMSX2を発表します。これには発表当初から意見がわかれ,機能が上がったことに対する賛成派と,共通の意味が薄れることに対する反対派が現われました。
消費者の嗜好が2つにわかれれば,供給するメーカーも2つにわかれます。いくつかのメーカーは高級路線としてMSX2を作り,いくつかのメーカーはMSXを作り続けることになります。
状況だけを見ると悲劇的ですが,これが効を奏しました。MSXを作るメーカーはどんなに機能を拡張してもMSX2には追い付けないので,機能を切り詰めて安い機械を発売することになります。しかも,作るメーカーが複数あるので,競争が始まります。MSXの値段はどんどん下がり,普及を助ける事になりました。
そしてついに勝者があらわれます。CASIOのPVシリーズ,そしてMX-10がそれでした。
PVシリーズには,PV-7,PV-16という2つの機種があります。PV-7はRAM容量を8Kに抑えることで29800円という破格値で発売され,人気を呼びました。
しかし8Kではカセットテープのソフトはおろか,ROMカートリッジのゲームにも動かないものがありました。そこで,値段はそのままにメモリを倍の16Kに増やしたのがPV-16です。
その後,メモリ量はそのままに値段を19800円と下げたMX-10が発売されます。MX-10はカートリッジスロットを1つしかもたず,しかもそのスロットは+12Vを必要とする拡張機器が接続出来ないという,簡略化されたものでした。
プリンタ,RS-232C,DISKなどは当然もたず,カセットインターフェイスは簡略化された特殊なもの,キーボードはゴム製という仕様でしたが,ジョイスティック端子だけはちゃんと2つあり,しかもキーボードの上にジョイスティックの役割を果たすキーまで配置されていました。
CASIO MX-10外箱
右手にある青いカーソルキーのようなものは実はジョイパッドであり,カーソルキーはその上に横一列に並んでいる。このことからも,カーソルキーを駆使するようなプログラム作成・ワープロなどに使用する機種ではなく,ゲーム機なんだという主張がうかがい知れる。
なお,ジョイスティックのボタンは左下に2つついている,やはり青いボタンである。
つまり,MX-10はMSXの格好をしたゲーム機なのです。この割り切りが安さの秘密でしたが,それでもMX-10は爆発的なヒットとなります。
個人的には,このヒットの裏には,ちょうどこの頃NEOSが発売した「MSX2拡張アダプタ」の存在があるような気がします。
このアダプタはMSXをMSX2に拡張するというとんでもないもので,MX-10とMX-10拡張ボックス(これを使用するとカートリッジスロットが増え,拡張機器も接続出来た)と拡張アダプタを足しても,MSX2を買うのと同等の値段でした。そのため,皆が「今はMSXを使っておいて,将来拡張しよう」と考えたのではないでしょうか?
しかし,ROMゲームで遊ぶのが精一杯でプログラムに向かないMX-10は,買ったもののもてあます人も多かったようです。私もいらないという友人から3千円で購入したのがMX-10との出会いです。
そして,「拡張によって,市販より安くMSX2を入手できる」ということは,MSX2も切り詰めれば安く出来る事を意味します
。実際この半年後にはMSX2は劇的な値下げによって一気に底辺を広げ,やっと「共通規格」としての面目を保つことになるのです。
(ページ作成 1996-10-13)
魔法使いの森