2009年11月14日土曜日

トンカチエディター取扱説明書 最初に

**最初に**
 ファミコンのソフトを改造する。たとえば,ちょっとデーターをいじるだけで,マリオがもの凄い速さで走ったり,ビックリするようなジャンプ力を持つ。こんな楽しい世界にあなたを案内したいと思います。
 ソフトの改造なんて難しいとお思いのあなた。RPGを解くだけの能力と、集中力さえあれば,大丈夫。コツさえつかめば簡単です。


 ただ,コンピュータが初めてという人には,最初に専門用語が沢山出てまごつくかも知れません。それも通行税です。先に楽しい世界が待っていると思って我慢して下さい。
 改造出来るだけの実力があれば,オリジナルゲームを作った方が楽しいとおっしゃるあなた。それはその通りです。しかし,最近のゲームは,3万バイト以上のメモリーを使っており、これを個人の力で埋めるのは並のことではありません。優秀な人材を集めた企業がものすごく値段のはる立派な開発システムを使ってさえ、アセンブラなら一人1日数十バイトというのがソフト作成の常識です。スーパーマリオなら3万バイト。一人で何日かかるでしょうか? ゲームソフトは既に組織でなければ作れない時代に入ってます。

 ソフトに対してハードという言葉があります。ハードとは,固いという意味。コンピュータの世界では,あとから変更出来ない部分という意味に使われます。すなわち,入れ物や内部の回路などの総称です。ゲームの改造をするには,当然ファミコン内部のハードの知識が必要です。
 大きく分けて知らなければならないハードの知識には2種類あります。ひとつはCPU(シーピイユウ)と呼ばれる,コンピュータそのものの働きに関するもので,これは同じCPUであれば共通です。
 もうひとつはIO(アイオー)と呼ばれる,各商品CPUの周辺を構成する回路群に関する知識です。これは,その商品を特徴づけるものですから,商品毎に全て違います。このような知識のことをローカルと呼びます。CPUの知識があってもローカルな知識が無ければソフトの作成は不可能です。
 ハードの知識が完ぺきであれば,それで良いかと言えば,カセットのソフトについては良いという答えですが,ディスクシステムについてはNOです。なぜなら,ディスクシステムには,内蔵ROMがあり,このROM内のソフトの働きでディスクカードの読み込みと起動を行っているからです。また,市販ソフトによってはこのROM内ルーチンを呼び出しているものがあり,これについての知識もまた必要です。
 さて,以上3つの知識が得られたとしましょう。では,ソフトの解析が出来るかと言えば,残念ながらNOです。道具がありません。
 あなたが無人島に流れついた時,たとえあなたが天才で,文明を構成するための全ての知識が待っていて,無人島に必要な材料資源が全て揃っていても素手では文明を作りあげることは出来ません。では,最低必要な道具とは何でしょう?
 それは鍛冶屋のトンカチです。土器で炉を作り、鉄器を作っても,鉄を鍛えるには鍛えられた鉄が必要です。鋳物でハンマーの格好を作っても,鋳物は鋳物で脆く,用をなさないのですから。
 この最初のトンカチさえあれば鉄を鍛え,ノコギリ,ヤスリ,クギ,そして2つめのトンカチを作ることが出来ます。つまり,トンカチにはトンカチを生む機能=自己増殖機能があるのです。トンカチさえあればヤスリを使ってネジを作り,ノコギリで木を削り,最初の旋盤を作れば,後は文明街道まっしぐら.時間さえあれば今と同じ文明を作ることが出来るでしょう。
 この度発表したディスクシステム用の解析ツール,トンカチエディターの『トンカチ』の由来はそういう意味であります。融通がきかないという意味のトンカチでは決してないので(いえ少しは?)...まあ,メモリーの関係で,パソコンの市販機械語ツール並と比べると多少見劣りするかもしれませんが,絶対に必要な最低限度の機能は入っており,もちろんトンカチエディターそのものを改造することも出来ます。つまり,エディターの機能を自分でアップすることが出来,これには不可能という文字がない世界なのです。トンカチを得たあなたは無敵です。
 この本では
 第1章 6502CPU
 第2章 ファミコンのIO
 第3章 ディスクシステム
 のように進んでゆきます。トンカチエディターの使い方はその都度説明します。ソフトのテキストには任天堂の怪物ソフト,スーパーマリ(1の方)を使用します。
 任天堂の著作権を守るため、基本的に、誰が作ってもそうなるという以上の長さのプログラムリストの掲載は致しません。スーパーマリオに特有の部分には任天堂の著作権があり,そのリストを掲載することは著作権の侵害になるからです。この点,お読み頂いている方が多少不便を感じるかも知れません。前後の関係についてはディスク版のスーパーマリオを購入し,トンカチエディターで解析することで補ってください。

0 件のコメント:

コメントを投稿