見出し画像

ファミコンを振り返る – ファミコン黎明期

今回はファミコンの機能について深堀していきます。

家庭用ゲーム機市場への参入

当時、日本の家庭用ゲーム機市場は既にシェア争いが始まっており、エポック社のカセットビジョンなどが一定の成功を収めていました。一方でゲーム&ウォッチのヒットにより一大ブームを築いていた任天堂でしたが、カートリッジ交換型のゲーム機はノウハウがなく、参入は時期尚早といった及び腰の雰囲気が任天堂社内でも少なからずあったといいます。しかし、好調の只中にあってもゲーム&ウォッチの先が見えたと判断していた社長の山内氏は「アーケードゲームがそのまま遊べる」「本体価格1万円以下」「1年間は競争相手のでない機械(3年間の説もあり)」という3つの目標を示して家庭用ゲーム機の開発を指示したのが、ファミコンの始まりでした。

「アーケードゲームがそのまま遊べる」とは、もっと明確にいうならば「同社アーケードゲームの『ドンキーコング』が再現できるゲーム機」のことです。CPUの提供元となるリコーとの話し合いの中でも、任天堂は実現性について「こういう回路は作れますか?」ではなく「ドンキーコングが動くものを作れますか?」と尋ねたと言います。それは当時アーケード基盤上に山のようなICチップを配置することでようやく実現していたものを、ワンチップの小さなICに収めることが出来るかという問いでもありました。しかしドンキーコングの再現という興味深い目的が示されたことで、リコー側も大いに開発意欲を刺激され、最終的には従来の家庭用ゲーム機とは一線を画す優れた機能を集約する形で2つのチップが生み出されることになりました。
CPUにサウンド機能を内蔵するなど、チップの集約化は「本体価格2万円以下」を目指す低コスト化にも繋がっていますが、徹底的なコスト削減は多岐に渡ります。例えばコントローラにおける十字キーの採用や、Ⅱコントローラからのスタート/セレクトボタンの排除は、製造費の抑制を主眼に置いたものでした。
当時の家庭用ゲーム機はホビーパソコンとゲーム専用機のどちらであるべきかを模索している時期にあり、ホビーパソコン寄りの製品では3~5万円程度、ゲーム専用機では1~2万円前後が相場といった感じでした。そうした中でファミコンは結局当初の計画をオーバーして14,800円で販売された訳ですが、製品としては圧倒的にバランス感覚が良く、同価格帯だけでなく上位価格帯の製品に対しても見劣りのしない表現力を持っていました。むろん低価格帯の製品と比べても、価格以上の性能を見せつけていたファミコンの優位性は揺るぎなく、「1年間は競争相手のでない機械」として1年間独走できればその後の市場も独占できると目論んでいたところを、見事にスーパーファミコン登場までの7年間を勝ち続けた製品となったのは言うまでもありません。

コラム:広まった誤解
「カスタムLSIの発注に当たり2年で300万台を保証する前提で価格を抑えられた。」という噂が実しやかに囁かれていた時期がありました。しかしこの件については、任天堂社長の山内氏自身が否定しており、実際には「2,000円でやってほしい」という提案をリコー側が呑んだだけの話と説明しています。元々リコーは自社で最新の設備を持つ半導体工場を所有しながらも、稼働率が1割程度しかないという切羽詰まった状況もあり、ある意味足元を見られて合意した感もあったのかもしれません。ただ当初はどうあれ、結果的にはリコーも予期しない勝ち馬に乗れた訳です。こうした逸話に尾ひれが付いて誤った情報が広がったのでしょう。

もう一つ「外装のプラスチックは大量かつ安価で仕入れることが可能だった色として白とえんじ色を採用した。」とする噂がありましたがこれも誤りで、後年設計を担当した上村雅之氏によって否定されています。むしろ最初に予定していた安価なスチール素材が脆かったために、価格よりも強度を優先してプラスチック素材に変更された事実すらあります。えんじ色になったのは完全に社長の趣味であり、好きな色だったからという理由に他ならないそうです。

ファミリーコンピュータの構造

ファミコンの機能は、ゲームの演算処理のみならずサウンド機能が実装されたCPUとしてのRP2A03、グラフィック機能を管理するPPUとしてのRP2C02の2つのチップに集約されています。

CPU

RP2A03は米国モステクノロジ社の6502をベースとしたリコー社のカスタムCPUで、十進数演算モード関連の機能が削除された代わりにサウンド機能が搭載されています。本来ならば、ドンキーコングの再現を目標としている訳ですから、本家アーケード版のドンキーコングに使われていたZ80を採用して然るべきですが、リコー社としては、セカンドソ-スライセンスの取得見通しが立っていたことなどからも6502を勧めたい思惑がありました。リコー社の提案に対して任天堂の開発部門からは一定の反発すらあったほどですが、チップ面積がZ80の1/4程度でありコスト面で有利なこと、日本国内では6502の普及が進んでいないことで逆に複製を避けやすいこと、サウンド機能の集約によるコスト削減の優位性、新設計のPPUとの相性が良いことなどから、任天堂は説得に応じる形で6502の採用を決めました。
6502は、同世代のCPUと比べても癖が強く、ザイログ社のZ80や、インテル社の8080とは設計思想が全く異なります。ただ 6502は理解する程にその癖が大きな長所となるのが特徴で、リコーのいう通り、高機能でコピーされにくい、まさにファミコンに適したものでした。とはいえ普及していないことで開発が難しいのは初期の任天堂も同じことで、満足のいく開発ツールがないという問題を解決するために、RP2A03の開発と並行して開発ツール自体を作ることも大きな仕事となりました。
その後、他社によるファミコンの解析には1年を要したという話があったり、一方でファミコンの普及に伴って6502のメジャー化と開発者の増大も進むなど、まさに両社の目論見通りの結果を得ることに成功しています。

画像1

コラム:6502の繋いだ人々
1982年の後半になり、ようやくゲーム開発がはじまる訳ですが、6502という不慣れなCPUを相手にすることは予想以上に手間の掛かるものだったようです。ところが、翌年の1983年の春頃からその状況も一変します。新入社員の加藤周平氏が6502を熟知していたのです。加藤氏は学生時代にマイコンクラブに所属しており、当時たまたまジャンク屋で手に入れた6502を搭載した基盤をパソコンに改造することに挑戦していました。加藤氏は任天堂入社と共に新人教育を受ける…どころか、反対に開発スタッフに6502をレクチャする立場となり、まさに生きたマニュアルとして重宝されることになったのだとか。
また、ファミコンの流通後にもこんな話があります。未公開であったCPUをいち早く見抜き、任天堂からの受託開発を受けるべく乗り込んで圧倒的な技術力を見せつけたのが、HAL研究所であり、そこに所属する後の任天堂社長、岩田聡氏でした。このことは稀代の天才プログラマであった岩田氏の元々の実力もさることながら、岩田氏が6502を搭載したコモドール社のパソコンPETのユーザであったことが大きく影響していたと言われています。

画像2

サウンド機能

サウンド機能はCPUに内臓のAPU(Audio Processing Unit)として実装されています。矩形波2音、三角波1音、ノイズ1音、DPCM1音の合計5音の再生が可能です。

矩形波

矩形波はいわゆる「ピコピコ音」で電気的に発生させることが容易です。矩形波にはDuty比と呼ばれる概念があり、Duty比が変わると音の印象が変わります。同時期のゲーム機ではDuty比50%の矩形波音源が使われるのが一般的ですが、ファミコンでは4種類のDuty比が選べたことで少しだけ幅の広い表現が可能でした。矩形波の主な利用方法としてはメロディや効果音に使われます。

三角波

ファミコンの三角波は4Bit表現と情報量が少ないため、実際の波形は階段状になった少々歪みのある音の疑似三角波です。そもそもゲーム音源として三角波を利用すること自体が珍しく、加えての歪みが良い具合に独自性を生んでおり、ここにファミコンらしさが強く出ています。主にベースとして使われていたようです。

ノイズ

ノイズと言われると一般には単なる雑音だと思われがちですが、ゲームにおいては表現を広げる重要な要素です。ドラムとしてアクセントを付けることもありましたが、多用されたのは、リズムを刻むハイハットとしての利用でした。

DPCM

DPCMはいわゆるPCM音源です。PCM音源は生音をサンプリングしたリアルな音を出力可能な音源といった解釈が一般的ですが、ファミコンでもその気になれば音声データ等の複雑な波形も再生できます。ただメモリ空間の少ないファミコンではあまりにもサイズが大きくなりすぎるため、実際にはドラムやタムなどに使われることの方が多かったようです。

古くからのDTMユーザでも波形そのものを作っている人はほとんどいないでしょう。ですが、ファミコンでサウンドを鳴らすには、まず波形を作っていかなければなりません。単に音階を自由に制御できるようになったとしても、それだけではサウンドと呼ぶにはあまりにもチープなものにしかなりません。一音ごとに音量を変えることで音の硬さを表現するエンベロープや、メロディと同じフレーズを音量を下げつつほんの少しだけ遅延させることでエコーのような効果を生み出すディレイ、ディレイでは2音を消費してしまうため1音だけで残響音表現をするために音符と音符の隙間の無音部分に小さな音を埋める疑似的なリバーブなど、当時のクリエータは様々な工夫を凝らしてサウンドを作り上げてきました。しかもこうした制約は単に音楽技術としての問題だけではなく、例えば仕様上3和音が可能だからと言ってこれを無作為に乱用してしまうと、弾の発射音や着弾、爆発音などが鳴らせなくなったり、逆にBGMが消えてしまったりといった、ゲーム性にも影響を与えかねない事態になってしまいます。音楽性のみならず、ゲーム性を深く考慮しながらも、サウンドに表現力を持たせ、ゲーム音楽というジャンルを開拓するまでに至ったクリエータの情熱には頭が下がります。

グラフィック

RP2C02は、グラフィック処理を管理するPPU(Picture Processing Unit)で、リコー社によってファミコン向けに新規開発されました。BG1枚と64枚のスプライト表示が可能で、およそ256×224ドットの表示領域、最大同時発色数は52色中25色と、当時の家庭用ゲーム機としてはずば抜けて高性能でした。ちなみにグラフィックスチップは昔からPPUだのGDCだのVDPだのGPUだのと色々な呼ばれ方をしますが、どうせ細かな機能はチップごとに違うので、大まかには全て同じようなものと思って構いません。

画像3

色情報

ファミコンは、アナログテレビ前提なのでRGB方式ではありません。色相と輝度による表現方式になります。色情報としては6bitカラーですが、その内の色相情報としては4bitの情報量を持つので、赤系色、青系色、緑系色、無彩色がそれぞれ4相ずつの計16相が表現可能で、輝度情報としては2bitの情報量を持つので、各色相で4段階の輝度を表現可能な形となり、計算上は16x4=64色が表現可能です。しかし、無彩色の中には、全く同じ色、厳密には異なるが目視では同じ色、テレビ信号の表現範囲外の色などが含まれるため、現実的にはそれら12色を除いた52色がファミコンの色数とされます。

ただその52色もゲーム内で無制限に使える訳ではありません。基本的には52色中の3色+透過色を1つのパレットとして、スプライト用に4つ、BG用に4つのパレットが使用可能です。これにBGに透過色が指定された場合の背景色を加えて、3×(4+4)+1=25色が最大同時発色数となります。1つのスプライトが同時に複数のパレットを使うことはできませんから、1つのスプライト上の絵柄、例えばマリオも3色です。ただし、パレットを交換することはできるので、1つの絵柄でマリオを表現したり、ルイージを表現したりといったことが可能です。

スプライト

スプライトとは画面上のキャラクタを高速に描画するための技術です。ファミコンでは8×8または8×16ドットのスプライトを1画面内に64枚まで表示することができますが、横方向には8枚までしか並べることはできず、9枚目からは表示されません。多くのゲームでは8×8ドットのスプライト4枚を並べて16×16ドットで1つのキャラクタを表現していたため、4体を超えるキャラクタが横並びになるとチラつきが発生してしまいます。例えば大抵のRPGがフィールド上で4人までしか1列に並ばないのは、このチラつきを回避するためです。

BG

BGはバックグラウンド、つまり背景を描画する領域の事です。8×8ドットのチップを画面全体で32×30枚配置でき、これを2画面分持っていて、縦または横に繋げることができます。解像度で言うと1画面当たり256×240ドットになるのですが、アナログテレビは画面端に映らない部分が存在しています。このため、上下8ドットは表示されない前提とされており、現実的な表示領域は256×224ドットとなっています。また上下左右16ドットには重要な情報は配置しない事になっていたため、ユーザが認識すべき情報は224×208ドット内に収める必要がありました。

BGおよびスプライト上に描かれる絵柄はカートリッジ内のキャラクタROMに記憶されています。ROMのサイズは8Kバイトで、8×8ドットを1チップとして、BG用とスプライト用にそれぞれ256チップの絵柄を持つことができます。最初期のゲームは移植元となるアーケードゲームですらシンプルな画面構成だったので、この程度のチップ数でもそれほど大きな障害にはなりませんでしたが、ゲームの進歩はあっという間ですぐにより多くの画像が必要になりました。そこで8Kバイトを1頁として複数頁を切り換えて使うバンク切り換えという方式が使われるようになり、より多くの画像が利用可能になりました。

仕様上の目的は明確なスプライトとBGですが、その利用方法はすぐによりトリッキーになものになっていきます。例えばスターソルジャーのビックスターブレインに代表されるようなスプライトでは表現しきれないような巨大キャラでは、BGあるいはBGとスプライトを組み合わせて表現してします。ドラゴンクエストシリーズのようなゲームでも戦闘シーンの敵キャラクタはBGとスプライトの組み合わせです。このような利用は表現力を高めてくれる半面、今あげたドラゴンクエストなどではスプライトの横並び数制限に伴って一度の出現する敵キャラクタの組み合わせが制限されるなど、普通なら考える必要のない問題にたびたびぶち当たることとなる訳で、容量問題などとも相まって、実装は相当にややこしいものであったことは想像するに容易く、知れば知る程に驚かされるものです。

コントローラ

ファミコンのコントローラは十字ボタンとAボタン・Bボタンの構成を基本として、ⅠコントローラにはSTARTボタンとSELECTボタン、Ⅱコントローラにはマイクが付いたものになっています。ファミコン以前の家庭用ゲーム機では方向操作にはジョイスティックを採用するのが一般的でしたが、任天堂はゲーム&ウォッチのドンキーコングで採用した十字キーを流用し、この形状は以降のゲーム機のデファクトスタンダードとなりました。A・Bボタンは当初ゴム製の四角ボタンでしたが、ボタンが埋まったりしてしまうため、すぐにプラスティック製の丸いボタンに変更された経緯があります。STARTボタンやSELECTボタンがIコントローラにしかないのはコスト削減のためで、コントローラケーブルが本体とコネクタ接続ではなく直付けとしたのも同様の理由からです。もっとも、そのおかげで本体ケース内では基盤の前方から後方へとケーブルを引き回していたりと無駄が生じてしまっていますが、耐久性とコストのせめぎ合いがギリギリまで行なわれた証拠ともいえるでしょう。そんなコスト削減とは逆の、リアルタイムな世代からすると無駄な存在に思えたマイクですが、これは何か面白いことができるんじゃないかというオマケ程度の先行投資だったようです。音声認識などはできず、音量を取得する程度の機能しかなかったので、もしかするとコストに影響しないくらい安価なものなのかもしれません。

画像4


この記事が気に入ったらサポートをしてみませんか?