何これ
Level毎にステータスバーの最上部を変える事が出来るようになる
リアルタイムで書き換えることも可能
ダウンロード(Acmlm)
最新版
バージョンが上がったようです(v2.1)
ダウンロード(SMWC)
・導入方法がxkasになった
・最上部を全て書き換えることができるようになった
・使用するRAMが変わった(新型スクロール土管との併用が楽になった)
付属のtable.tblをメモ帳で開いて書き換えの設定をするようです
変換用html
使い方
1:htmlを開いてみる
2:説明を読む
3:そのとおりにする
4:変換される。一部の特殊記号にも対応。
5:バグ、要望等あればコメントしちゃってください。
6:使いにくい?そんなの気にしちゃいけません。
れあdめ翻訳
注意
普通に導入すると新型スクロール土管&LevelASMと併用できない(改善可能)
必要なもの
-
SMWの英語ROM(一度以上Level、OWを両方ともルナマジで弄ったもの)
-WinIPSまたはLunar IPS
-バイナリエディタ
-Luner Adress(自作物展示場に日本語化を置いてみた) - 電卓
書かなくていいと思うけど一応
levelnames_table.bin ・・・ コードテーブル
levelnames_code.bin ・・・ メインコード
通常の導入方法
-
levelnum.ipsをパッチする(LevelASMを既に導入している人はパッチしなくておk)
+levelnames_table.binをバイナリエディタで開き、内容を全てコピー
+ROMをバイナリエディタで開き、上書きする。
どこでもいいが、ここではPC$FC100に上書きする。
+次にlevelnames_code.binをコピーし、ROMに上書き。
これもどこでもいいが、コードテーブルに近い方が分かりやすいので、ここではPC$FC0A0に上書きする。
+PC$0FE1に移動。A9 02 8D 0B 42 60とあるはずなので、これを
22 A0 BE 1F EA 60 に書き換える。A0 BE 1Fとはメインコードのアドレスのことで、
メインコードのアドレスPC$FC0A0をLuner Adressで変換すると、
PC$FC0A0 → SNES$1FBEA0となり、入れ替えてA0 BE 1Fとなる。
-
PC$FC0B9に移動し、00 C0 1Fとあるはずなので00 BF 1Fに書き換える。
+プレイしてみて上のほうにLEVELNAMESとあれば導入成功。
LevelASMと併用させるための導入方法
-
通常の導入方法の2までやる。
+levelASMの使い方を見て導入したら、通常の導入方法では、levelASMの
コードとかぶってしまします。なので、コードテーブルを、PC$FC1C0に
上書きしちゃいましょう。これでギリギリlevelASMのコードをつぶしません。
+通常と同じようにlevelnames_code.binをコピー。テーブルと間がないほうが
levelASMを使う際に便利なのでPC$FC160にコピーしましょう。
+ここからが注意。PC$0FE1に移動。A9 02 8D 0B 42 60とあるはずなので、これを
22 60 BF 1F EA 60 と入力してください。通常との違いはメインコードのアドレスの違いだけなんですけどね。
間違うと表示されない恐れがあります。
詳しい説明は上のほうにも書いてあるので省略します。 -
PC$FC179に移動、00 C0 1Fとあるはずなので
{C0 BF 1F
};に書き換えます。
この段階で間違った値を入力すると、level番号の最初のほうのlevelnameが
おかしくなります。この値は、コードテーブルのアドレスをLuner Adressで
変換した値を入れ替えた値です。ここら辺は通常の導入方法の5あたりを読んでください。
+プレイして通常どおりできてたら成功です。お疲れ様でした。
この通りに導入すれば、一応は出来上がります。もしかしたら間違った
説明をしてるかもしれません。その時はまた勝手に書き直してください;
実際に書き換えてみる
まず書き換えたいLevelのアドレスの位置だが、これは
書き換えたいLevelの番号 × 10 + コードテーブルを入れたアドレス
で分かる。例えばLevel104を書き換えたいとすると、
104 × 10 + コードテーブルを入れたアドレス(ここではPC$FC100とする) = FD140
となるので、PC$FD140を書き換える。
次に書き換え方だが、上記の方法で分かったアドレスに飛び、そこにある
15 0E 1F 0E 15 FC 17 0A 16 0E FC FC FC FC FC FC
を書き換えればいい。
リアルタイムに書き換え
ASMで$7FFFDFに0以外の値を入れ、$7FFFE0-$7FFFEFに表示したいタイルを指定
新型スクロール土管と併用するには
そもそも併用できないのは、LevelNamesが使っている$7FFFDF-$7FFFEFが新型スクロール土管でも使用されているからです。
そこで、この使用するRAMを変えてしまおうということです。
-
バイナリエディタでLevelNamesを導入したROMを開く
+メインコードを入れたアドレスに飛ぶ(上記の通りに導入したならPC$FC0A0)
+そこに
A9 02 8D 0B 42 AF DF FF 7F C2 30 D0 1F AD 0B 01 ~~ 0A 0A 0A 0A AA A0 00 00 BF 00 C0 1F DA BB 9F E0 ~~ FF 7F FA C8 C8 E8 E8 C0 10 00 D0 EC A9 28 50 8D 16 21 A9 00 18 8D 10 43 A9 E0 FF 8D 12 43 A9 7F ~~ 10 8D 14 43 E2 30 9C 15 21 9C 16 43 A9 02 8D 0B 42 6B
とあるはずなので、これを
A9 02 8D 0B 42 AF BF FF 7F C2 30 D0 1F AD 0B 01 ~~ 0A 0A 0A 0A AA A0 00 00 BF 00 C0 1F DA BB 9F C0 ~~ FF 7F FA C8 C8 E8 E8 C0 10 00 D0 EC A9 28 50 8D 16 21 A9 00 18 8D 10 43 A9 C0 FF 8D 12 43 A9 7F ~~ 10 8D 14 43 E2 30 9C 15 21 9C 16 43 A9 02 8D 0B 42 6B
に書き換える。
4. プレイして問題なければおk
ちなみに使用するRAMが変わっているので、リアルタイムで書き換える場合はASMで$7FFFBFに0以外の値を入れ、$7FFFC0-$7FFFCFに表示したいタイルを指定すればおkです。
ちなみに
このままだと10番目の文字が反転するので、PC$0E88を38に変えるといいようです。