時、巻き戻った後5
ファミコンでのソフト開発について考えます。その1
1983年に発売されたファミコンは同時代のパソコンに比べて安かった。
多分、2年前に発売されたエポックのカセットビジョンの価格が影響したのだと思うが、それにしても安かった。(カセットビジョンは1981年登場、定価1万2000円)
ホビー用として発売されていた8bitパソコンの多くが定価10~20万、モニタやデータレコーダー込みでもう一声という時代。
ユーザにゲーム機扱いされてたMSXでも定価最安2万ちょいの時代にファミコンは本体価格1万4800円。
カセットを挿して電源を入れるだけで使えて、本体だけでBGMが鳴らせて、キーボードが無い代わりに標準でコントローラ2個付きだった。
ソフトについても、PC-8801Mk2用FD版ハイドライドが6800円の時代にファミコンのゼビウスがカートリッジで5400円と価格的には遜色ないか、安いぐらい。
当然ながら、ゲームをしたいだけの連中はどんどんファミコンへと乗り換えた。
初年度44万台、翌年度167万台、1985年には368万台と出荷数はぐんぐん伸びた。
一番売れた8BitパソコンのMSXですら後継機含めて累計400万台程度のところ、同時代(スーパーファミコンが発売された1990年度末)に累計1,600万台売れていたのは伊達ではない。
もちろん、パソコンにはパソコンの魅力があってあえてパソコンを選ぶ人もいた。
比較的安い(それでも20万前後はした)8Bitパソコンでもワープロや表計算はある程度出来るものはあった。
もう少し先の時代になると、パソコン通信等のツールとしても有効だった。
こうした用途で使いつつ、ゲームもできる機材として、というわけだ。
或いは、俺はガキじゃないからファミコンのゲームじゃ満足できないぜ、という奴もいた。
勉強用としてプログラムが組める機種の方を求めて、という奴もいる。
でも総数は少ない。そういう感じである。
販売価格を見れば想像がつくと思う。
あの時代のパソコンってそういう位置関係のものだった。
だから、パソコン向けゲームの市場規模がファミコンに比べるとそれなりでしかなかったことは間違いない。
ゲームに限って言えば、ファミコン市場の方が明白にパソコン用より大きかった。
さて、話を金を稼ぐ話に戻そう。
それほど売れていたならファミコンソフトの開発に手を出すのはどうか、となる。
当然の発想なのだが、実はこれが結構難しい。
まず、小中学生が商取引上の契約を結ぶってのがもう無理無理の無理なんだが、これを仮に代理人とか立ててうまく回避できたとする。
すると今度はゲーム機用ソフトを開発するには供託金が必要だ、となる。
これが払えてやっと開発に着手できるようになる。これも払えたものとする。
次に待つのが開発環境のハードさである。
そのハードルは大きく分けて3つある。
ファミコン自体の仕様的なハードルが高かったこと、
プログラム開発にあたっての環境を整える難易度が高かったこと、
そして、著しくデバッグが困難だった事だ。
順に説明しよう。
ファミコン自体の仕様的なハードルだが、これは使用されていた部品構成がマニアックだった事と主な部品がだいたいカスタムチップだったことによるものだ。
例を挙げよう。
何らかの機械向けのプログラムを組もうとした場合、最初に必要になるのは機械の中で必要な計算を行うCPUに関する情報である。
そのCPUにどんな命令セットがあるか、命令の引数の形式はどうなっているか、各種の結果を保持する領域がいくつあるか、CPUを介さないメモリ間データ転送は可能かどうか。
こうしたプログラムを書くために必要な仕様は当然CPUごとに異なってくる。
つまり、CPUに関する情報が無い機械に対してはプログラムを書くことができない。
しかし、ファミコンで使われていたCPUは日本国内ではあまり知名度のないCPUだった。
そのチップの名はRicoh 2A03。
MOS 6502というモトローラ社の系譜として生まれたCPU。
そのさらに派生CPUとして開発されたのがRicoh 2A03というカスタムチップだった。
CPUとしての2A03、つまり、MOS 6502は、当時、日本国内では本当に知名度が無かった。
Apple IIに搭載された事とその安さから低価格路線のパソコン等で採用され、世界的にはそれなりの知名度を得ていくのだが、国内に関する限りは、ほぼApple好きの間位でしか知られていなかった。
Apple II以外の使用例となると、国内ではアーケードゲーム筐体の一部で使用実績があるくらいだった。
当時はIntelの系譜であるザイログのZ80の黄金期だったが、そうであるがゆえ、解析が容易になるZ80 は任天堂からは選ばれなかったのだ。
そのため、ファミコンソフトの開発には、まずこのチップに関する知識があるかないか、そして、そのチップが使われていることに気づけるかどうかが最初のハードルとなった。
しかし、当時のファミコンで使用されている半導体など、だいたいがカスタムチップであり、分解してもチップの部品だけ見て、元がどのCPUであるかなど解る訳もない。
任天堂自体が自社製以外でソフトが発売されることを想定しておらず、むしろコピー対策として知名度のないCPUを選んでしまうような状況もあり、仕様についてもかなり限られたセカンドパーティにしか公開されなかった。
そのため、初期に自主開発が出来たのは自力でこれに気づけた数社のみに限られた。
まあ、俺についてはこれはいい。
有名な逸話だし、ハード的な情報としても枯れた話だ。
知っていればいいだけの話なのだから。
問題は次のハードルだ。
プログラム開発にあたっての環境を整える難易度である。




