表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
8/42

時、巻き戻った後7

ファミコンでのソフト開発について考えます。その3

さて、やっと機材がそろい、プログラムが書けるようになったわけだが、ハードなのは開発環境だけで終わらない。


次に必要になるのは機器自体の仕様の情報である。

アセンブラで書く以上、当然ながらMOS(モステクノロジー) 6502のデータシートやインストラクション表が必要になる。

まあ、この辺についてはCPUが何かさえわかれば、情報収集は可能だった。

それこそ、Apple IIのReference(RED) Manual(BOOK)あたりでも覗けば必要な情報は載っている。


とは言え、ファミコンの場合、それ以外にも映像を表示したり、音を鳴らしたりも必要になる。

CPUからPPU(Picture Processing Unit)やAPU(Audio Processing Unit)を制御するには、その2つのユニットのアクセス方法(メモリマップドI/O)周りの仕様も解っていないといけない。

コントローラーのキー入力や2コンのマイク入力も入出力装置(I/O)経由で監視が必要だ。


ところが、これらの画像や音声、パッドの入力などの入出力機能(I/O)周りの仕様情報、初期はすべて非公開だった。

当然ながら任天堂からの情報提供もほとんどない。

と、なると、ヒントになるものは販売されているソフトしかなくなる。

そこで行われたのが販売されているソフトの解析である。


販売されているカセットの中にある読込専用チップ(ROM)の中身を吸い出して、実行ファイルとゲームデータを取り出し、これを逆アセンブルして元のアセンブラのソースコードに戻し、中身を読んだ。荒業である。


(先に書いた通り、マシン語用の命令(インストラクション)セットとアセンブラ言語内の文字列による命令のセットは正しく1対1の関係にある。そのため、事前にマシン語の数字列があれば、それを逆に変換してアセンブラのソースコードに戻すことができた。これを逆アセンブルという。)


そうやって、試行錯誤しながらプログラムを書いていく。

やってるうちにだんだん自分の脳みそがCPUみたいになってくる。


さて、一部でもプログラムが完成すると次に必要になるのは不具合の確認・修正(デバッグ)である。

電子回路向けのプログラムをデバッグする場合、普通はまずインサーキット・エミュレーター、通称ICEという機材を使う。

ICEとはCPUと同等の機能を持ち、マシン語の1命令(実行ステップ)単位で処理を停止・再開(トレース)できる装置だ。

このICEがあればマシン語のプログラムを1手順(実行ステップ)ごとにに追いかけて、記憶領域(レジスタやメモリ)の値を参照でき、プログラムが正しく動作しているかを確認することができる。


しかし、残念ながら初期のファミコン開発の場合そうはいかない。

ないない尽くしなので予想できるかもしれないが、既存ICEがそのまま流用できないのである。


基本的にICEは機器に使われているCPUに応じた機器を使う。

本来のCPUと同じ処理を行えないと、トレースの役に立たないからだ。

そのうえで、実機からCPUを抜き取ってICEに差し替え、CPUが行うはずの処理をICEが乗っ取ることでステップ実行を可能にする。

しかし、ファミコンの場合、Ricoh 2A03はカスタムチップであり、CPUでもあるが、同時にオーディオ周りやジョイパッドの制御、DMA回路などの機能も備えていた。

そのため、単純にCPUを抜いてICEを刺すと、音が鳴らなくなったり、ジョイパッドからの入力がうまく取れなくなったり、メモリからメモリへのデータのコピー時に処理がおかしくなったりしてしまう。

こうしたことのため、専用ICEの登場はかなり遅くなった。

(まあ、任天堂自体が他社(サードパーティ)によるゲーム開発を想定していなかった上に、任天堂内部では専用の開発用機材が存在したらしいので、無くても問題がなかったというのもあったらしい。)


そのせいで、初期のファミコンソフトの開発ではデバッグが一番問題となり、技術力が如実に現れた。

と言っても、ICEが無い環境で取りうる選択肢は限られている。

自作プログラムを焼きこむ事が出来る専用カセットを用いて行うファミコン実機によるデバッグだ。

いわゆる開発用ゲームカセット(ROMエミュレータ)による実機デバッグである。


もちろんそんな専用カセットを任天堂が売ってるわけもないので、各社とも自作することになる。

市販されているカセットを元に設計を行い、プログラムデータが入っているROM部分を書き込み可能なフラッシュメモリに置き換える。

あとは、作成したプログラムを専用ケーブル経由でフラッシュメモリに焼きこめば、市販されるのとほぼ同等のゲームカセットが完成する。

それをファミコンに差し込み、実機でテストするという寸法だ。

ハードウエアを触れる技術者が多くないと実行できない荒業だと言える。


北海道の電鉄で有名な某社も、セで始まる任天堂の永遠のライバルも、千代田区にあったアーケード基板の経験がある某社もみーんな自作スタートである。

ほんと、技術力ある所は強いなあ。


もちろん、心配しなくても、こうした事態は過渡期的なものであって、しばらくするとオーディオやジョイパッドの情報を別回路に逃がすことができる変換基板(ゲタ)や、同等の機能を備えたファミコン用のICEが登場し問題は解消していくのであるが…。

なお、残念ながら登場したICEも結構高価だった事は言い添えておこう。


こうして何とかプログラムが完成した。

しかし、問題はまだまだ続く。


販売するためのゲームカセットをどのように準備するか。

自社で製造ラインを作らない限り、任天堂に依頼して指定工場で生産することになる。

しかし任天堂の工場は任天堂の生産計画に沿って運用されているので、当然、任天堂のソフトが優先されるため、他社からの依頼で生産できるカセットの数に限界がでてくる。

いわゆるカセットの生産上の天井の問題である。

当然ながら、ドラクエとかのキラーソフトがある年はその他の会社は販売数を大きく増やせない。

まあ、よほど無茶な数字を出さなければ天井にかかるような生産数になることは少ないのであるが、開発元としてはちょっとでも販売数を増やして売り上げを上げたいところ。

にもかかわらず、カセットの生産数で稼げる金額に上限が出てくるのがひどいといえばひどい。

会社によっては年間発売可能なソフトの数まで決められた場合もあったというからなあ。


(まあ、自力があるところだとカセット自体を自社生産して天井を回避した会社もある。

中期以降は自社制作のカセットに動作不良による返品騒動などがあったとして、他社生産を許さない方向に進んだが、早い段階で十分な資本があれば、全く不可能な話ではなかった。

また、カセットの生産抑制自体は、ソフトの品質を上げる方向に働いた面もあるので、まったく意味不明な制限とも言えない。

実際、クソゲーをやたらと大量生産して取次に迷惑をかけ、市場を崩壊させてしまったATARIというゲーム会社もあるので乱売路線が危険だったのも確かだった。)


次に問題になるのが、ゲームカセットの製作費の前払いである。

1本当たりは3000円前後と知れたものだが、やはり生産数が違うので、これもまたいい金額になる。

やや少なめの本数でも1千万円越えが普通、大ロットになると数十億円コースという状況になる。

これを払い込まないと任天堂はカセットを生産してくれない。

当たり前だ。

とはいえ、こんな金額を払い込むのは個人じゃ無理だよなあ。


もう結論は出ているが、もう少しなので、最後までハードルの高さを書くことにする。

さて、こうした状況を乗り越え、なんとかソフトを販売出来たとする。

それなりの収益も上がる。引き続き次のソフトを作る。

1度既に経験しているからゲームのシステム次第では次のソフトはより早く作ることが出来るだろう。

ある程度売れたゲームも知っているので、売上もおお外しはしないと期待しよう。

だが、何度か繰り返すころには新しい問題が待っている。


ゲームハードの寿命問題。

そう、みんな大好きスーパーファミコンの登場である。

前世の通りだとすると、俺が高校2年くらいには市場がスーファミに移行する。

スーファミのCPUはファミコンのCPUの上位互換の16Bit版であるので、全部の資産が使えなくなるわけじゃない。

だから開発環境などについてはある程度流用できる。

さすがにファミコン立ち上がりの時期よりは楽になるだろう。

しかし、ハードウエアに関しては、また学びなおしになる。

スプライトやパレットの強化、多重スクロールに音声のPCM音源化など、強化された部分も多い。

新しい部分についてはノウハウが失われるので、また性能面のチューニングからのやり直しである。

しかも、ハードウエアの進化は同時に開発コストの増加につながる。

おまけに、初期投資額も若干上がる。

カセット周りに大きな変化はないので、生産数が任天堂主導なのは大きく変わらない。

変わるのは任天堂の工場のライン数くらいである。


それも数年繰り返すと、今度はプレステが登場する。

ソフトがCDベースになってプレス料が安く、追加生産が早かったといわれるプレステでは3D技術の習熟が必要になってくる。再び初期投資が必要になり、開発コストも増す。


勝ち組ハードだけを追っていくだけでもこうなる。

利益を求めて他ハードにも手を出すとさらにドンである。


まあコンシューマ機周りの話はこの辺りにしよう。

実際、プレイステーションが登場するのはネットスケープの株価高騰が終わったタイミングだし、現実的には個人がファミコン・スーパーファミコンに参入して稼げるか?という話になる。

そして、結論としては、難しい、というのが正直なところだろう。


コンシューマ機向けゲーム開発は初期投資が大きなビジネスだ。

半分くらいは最初に金を持っているかどうかでやれるかが決まると言っていい。

開発能力と資本のある企業にとっては大きな収益を見込める市場だが、必要な能力が多岐にわたりすぎる。

ソフトもハードも出来なきゃいけない上に、資本金も必要、規模が大きくなると頭数も必要になる。

やっぱり一個人が成り上がるために攻略するには難しい市場としか言えまい。



評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
[気になる点] >プログラムデータが入っているROM部分を書き込み可能なフラッシュメモリに置き換える フラッシュが夢のメモリとI/Oに結構詳しく紹介されていたのは84年くらいだったと思うのですが、製品…
[良い点] これ……小説ってより子供に戻った竹尾ワッ太の人生の企画書書いてる段階ですね? かなり攻めてる……(*´ω`*)
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ