萌えっ娘もんすたぁを楽しもう〜Enjoy Moemon〜




Enjoy Moemon 01セーブデータを引き継ぎたい!

メモリに関しては理解できてる。というかたは第二回へどうぞ

先ずはセーブがうまくできない!という質問が多すぎるのでそこから。
ここで説明するのはメモリの見かたと他verへデータ引き継ぎのテクニック
注意!:ここからは萌えもんからずれた話なので掲示板ではスレ違いのものです。

萌えもんで初めてエミュやプログラムに触れた人なんかはメモリとか言われてもサッパリですね。そのせいか
メモリビューアの画面で
03005044 | 00 00 00 00 F0 54 02 02 4C 45 02 02 B0 92 02 02
実際の画面だとこんな感じ
↑の部分を

03005044 | 01 01 01 01 F0 54 02 02 4C 45 02 02 B0 92 02 02
画像はこちら
↑みたいになおすんだよね
これが間違いなわけ。

文章で説明すると正しいやりかたは
「メモリビューアを開いて03005044が00の場合01にする」なんだけど
上の間違いの場合は
「メモリビューアを開いて03005044から0300504fまでで00のものすべてを01にする」
になっちゃってる。(文章だけで理解できたらここからさきは飛ばしてもOK)
メモリがなにかわからないのにいじるからこうなっちゃう。

じゃあメモリってなに?ってことなんだけど・・・・ゲームの場合でいえば
"ゲームのデータ、グラフィックなどを16進数で表したもの"(16進数については自分で調べてね)
この数字の羅列をプログラムで機動するとゲームのデータになるわけだ
ちなみにPCは2進数、0と1だけで表記されたものを扱ってます
それでメモリをいじるということは
「数値化された情報の数値を変えることでゲームのデータを変える」ことなわけ。

そのいじる部分。00 00 00 00 F0 54 ・・・と続いてる部分がメモリの数値
じゃあ03005044はなにかというとアドレス。
アドレスは直訳すると住所って意味がある。
つまり03005044という住所によって大量に続く数値の中から目的のメモリ値を見つけれるわけ
萌えもんの場合住所03005044に住んでるメモリの値は00か01だ。そして00ならこれを01に変える
これがwikiで説明されてること。文章にするとややこしいね。書いてる本人ですらややこしいのなんの

じゃあ間違いはどういうことだったんだろう?ってなるんだけど

00 00 00 00 F0 54 02 02 4C 45 02 02 B0 92 02 02
↑これはメモリの数値と思ってください。区切られて16個のメモリがあるね。
1行になってるけどこれでひとつのメモリ値じゃないよ、16個別々のメモリ値と思ってね。

この16人にそれぞれ住所を割り当てると左から

03005044 03005045 03005046 03005047
03005048 03005049 0300504A 0300504B
0300504C 0300504D 0300504E 0300504F
03005050 03005051 03005052 03005053

となるわけ。(長かった・・・・)
こう書けば理解できるかな?03005044に該当するのは一番左の「00」だけ。
次の「00」のアドレスは0305045だからもう違うよね。そっからさきも言わずもがな

これが理解できないからうまくいかなくて質問が増える。
でもこの話題は最初に言ったとおり萌えもんには本来関係ない内容なんだ。
これでうまく萌えもんがプレイできない人が多いから教えてくれる人がいるわけ
(僕がやってるのは簡潔にまとめられた内容を広げなおして書いてるだけ)
これでメモリを弄るところは理解できたでしょうか、バイナリに関してはもうしばらくお待ちください

第二回完成しました。こちらからどうぞ

inserted by FC2 system