ロム改造の基礎知識
まず用意するもの
1 ロマンシングサガ3のロムファイル
これがないとはじまりませんね。
入手手段はマジコンとよばれる機械を使ってデータを吸い出すか
海外サイトから入手できます。RomWorldなど。
2 バイナリエディタ
有名なのはStirling(管理人も愛用しています。)
3 エミュレーター
ロムデータを読み込み、実際にプレイできるようになるための
ハードウェアー。
管理人の使用しているエミュレーターは主にsnes9xとpspで起動できる
Snes9x TYL です。
後者を使用するにはPSPにCFWを導入しなければなりません。
なお、CFWは今最新のPSPには導入できないようです。
(入手したい場合、中古商品か、アマゾンやオークションしか手段がありません)
まずはじめにおぼえておくこと
16進数と2進数を理解する。
私達が日常で使用しているのは10進数です(0〜9の数字で表現される)
しかしコンピューターを扱う上で重要なのは16進数と2進数です。
2進数は0と1でしか表現されません。
16進数は0〜9にA,B,C,D,E,Fを加えた16個の数によって構成されています。
ファイルをバイナリエディタで開いてみれば分かる通り、ファイルを構成する単位はバイト(Byte)です。
1バイトは2桁の16進数になります。
8桁の2進数ということになります。2進数の各桁の値のことをビット(Bit)と呼ぶので、1バイト=8ビットです。
ビットをOn/Offと考えると、1バイトで8個の状態を表すことができます。
これはRPGの状態異常なんかによく使われています。
例えばあるキャラの状態を表す値が4D(表現は16進数ね)だったとすると
80 40 20 10 8 4 2 1 は
40, 8, 4, 1が1で他は0になります。
0は何もない、1はフラグが立つということで
ロマサガ3の場合の4Dはフラグ40, 8, 4, 1が立っているという意味になります。(わかりますかね?・・)
今後に書かれる文章中に「フラグ40が立つ」とか「フラグ80が立つ」ということは
上記のような意味であると理解してください。
メインデーターと「オフセット」
バイナリエディタでロムファイルを開くと全て数字で表されていますが、
並んでいる数字には大きく分けて3つの定義があると思ってください。
ひとつは「プログラム」
いわゆる「命令」です。
2つめは「メインデータ」
マップやキャラクター、イベントや技や道具のデーターです。
3つめは「オフセット」
メインデータがロムのどの場所にあるかを示すために入力しなければならない数字です。
このオフセットの記述がないと、メインデータを書き込んでも
それはただ何の意味もなさない数字にすぎません。
メインデータがあれば必ずそのオフセットアドレスの記述が必要であるのだと覚えておいてください。
オフセットを記述するアドレスは「プログラム」によって指定されています。
「プログラム」は例えば
「キャラクターグラフィックのオフセットアドレスはここに記述しなさい」
と命令をしています。
オフセットアドレスの記述はさらにそれをメインデータは「ここにありますよ」と示す役割をしているのです。
そうやって一見ずらっと並んでいる数字はそれぞれがそれぞれの役割をしているのです。
ロム改造の基礎知識解説は以上です。