GBA版FEの乱数完全マスター!!


FIRE EMBLEM@2ch2掲示板 > GBA版FEの乱数完全マスター!!
全部1- 最新50

GBA版FEの乱数完全マスター!!

1: 1 JnY4VaGM:04/10/13 23:25 ID:lt0oV9Gg

方法1:乱数生成部分の解析
方法2:乱数表の値を測定して埋めていく

プラス、乱数用補助ツールを作成することで、
レベルUp時や対戦時などあらゆる場面で
乱数の制御を可能にしちゃおう計画です。


2: 1 JnY4VaGM:04/10/13 23:26 ID:lt0oV9Gg
方法1のやり方時に役立つもの

GBAの仕様関係
http://www.work.de/nocash/gbatek.htm
http://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm
ARM7TDMI (Rev 4) Technical Reference Manual (2Mb .pdf)
http://www.arm.com/pdfs/DDI0210B_7TDMI_R4.pdf

解析
http://p16.aaacafe.ne.jp/%7Esinzan/cheat/index_cheat.html

Virtual Boy Advance
http://vba.ngemu.com/
http://labmaster.4gigs.com/index.php

GBAメモリマップ
BIOS 0x00000000 - 0x00003FFF 16kbまで。その他未使用。初期起動時に使用。ここではどうでもいい。
WRAM 0x02000000 - 0x0203FFFF 256kbまで。その他未使用。コードとデータ。少し遅いけどでかいワーク用メモリとして使う。敵、味方のパラメータなどの可変データは大抵ここにある。EWRAM
IRAM 0x03000000 - 0x03007FFF 32kbまで。早いけど小さいワーク用メモリ。
この間はVRAMとか。でもこのスレではどうでもいいと思われ。
ROM  0x08000000 〜  変更されないコードやデータ。プログラム動作時には大抵この辺の命令が実行されている。キャラクターの元の成長率などもここ。


3: 1 JnY4VaGM:04/10/13 23:26 ID:lt0oV9Gg
方法2の計画

以下のようなCGIを作成する。

烈火のリンの全パラメータをあげられる乱数の位置を知りたい場合
リンの成長率が 70% 40% 60% 60% 55% 20% 30%
ですから順に 70 40 60 55 20 30 と入力すると、
その値を「最小値」にして欲しい乱数に見合った乱数の箇所を
『○×乱数表よりさらに細かい乱数表』から探し出し、
○×の乱数表の位置で示してくれる。

で、その表示結果をみて、○×乱数表を見ながら乱数を調節して使用するというものです。
(守備と魔防さえあがれば良いのなら「20 30」とだけ入力する、などが可能。)


肝心の、現在の『○×乱数表よりさらに細かい乱数表』の作成方法ですが、
これを
『確認した最小の乱数を入力できるプログラムを作りHPで公開し、有志の手によって乱数表を埋めていく』
上のプログラムと下のプログラムを同時に公開し、
下のプログラムに入力されたデータを上に反映、上のプログラムの出力結果を使用して、失敗したところ、または成功した所を下のプログラムに入力することによってさらに乱数表のデータがあつまる、という循環によって乱数表が完成する、という計画です。


4: 1 JnY4VaGM:04/10/13 23:34 ID:lt0oV9Gg
GBA版乱数で現在一番詳しくのってると思われるところ
http://www.wonder-egg.com/

SFC版乱数で現在一番詳しくのってると思われるところ(本当かどうかは検証してないが)
http://www.pegasusknight.com/
のツールのところ。解説はない。


5: 1 JnY4VaGM:04/10/14 01:00 ID:ym1PbUkg
おそらく、Cのrandom()と構造は似たようなもの。(rand()ではない)
int型がchar型になっているとおもわれ。
(100+x分でも255超えないので)
http://www001.upp.so-net.ne.jp/isaku/rand.html

というか呼び出し箇所和姦ねぇ。

6: 1 JnY4VaGM:04/10/14 01:02 ID:ym1PbUkg
あと、GBA開発環境組み込みの関数をそのまま使ってるかもしれない。

7: 1 JnY4VaGM:04/10/14 01:20 ID:ym1PbUkg
ちなみに、改造はなしね。
そんなことするために、金出して買ったわけではないので。

8: 手強い名無しさん:04/10/14 09:35 ID:m3x/Cq9w
スレ立て乙。

>>4
一応下アドの、攻略記事「聖戦の系譜」→「乱数発生のしくみ」に
解説はのってるぽ。


9: 手強い名無しさん:04/10/14 19:51 ID:8//RtU4s
カレー

10: 手強い名無しさん:04/10/14 19:55 ID:8//RtU4s
矢印で乱数を1つずらすと0x03000000番地からの内容が
2バイトずつ前にずれていくようだな。
ここを書き換えると結果が変わるから
乱数に何らかの影響があるのはまず間違いなさそう。
もっとも乱数の値そのものでもないのも間違いないが。

11: 手強い名無しさん:04/10/14 21:03 ID:A6z6x4mI
左は後ろだったorz

12: 1 JnY4VaGM:04/10/14 21:20 ID:lt0oV9Gg
GBAはリトルエンディアンみたいだね。
数字は逆になるから注意かな。

13: 1 JnY4VaGM:04/10/14 21:33 ID:lt0oV9Gg
>>8
そんなところにあったのね。
メール出そうにも2ヶ月待ちだもんなぁ

14: 1 JnY4VaGM:04/10/14 22:00 ID:lt0oV9Gg
GDB/Insightっていうの使えるの?
使えてすらいないんだが、ヤバイ重さしてる。
とりあえず、コマンドラインでやるのいやなんだけど。

15: 1 JnY4VaGM:04/10/14 22:20 ID:lt0oV9Gg
>>10
2バイトずつってことは内部は2byteの数値型で計算ってことだよね。
まだ、よくしらべてないんだけど、
この処理系は8byteの数値型はないでいいんだよね。

16: 1 JnY4VaGM:04/10/14 22:22 ID:lt0oV9Gg
8byte→1byteね。

17: 1 JnY4VaGM:04/10/15 03:28 ID:ym1PbUkg
>>10
とりあえず、そのへんの呼び出し元(08000b94)とかあやしいね。
0x03000000 - 05の間がずれてるでいいのかな。
単に計算途中のデータを置いてるだけか、
後でも使うのか。

とりあえず分かったことは、戦闘アニメーションON時でも
アニメーションが進むたびにサイコロ振ってるわけじゃなくて
戦闘ってボタン押したときに振ってることが分かったよ。

18: 10:04/10/15 21:41 ID:tpKIxdJU
とりあえずそれらしきものは出た(直訳しただけだが)
http://smash.s68.xrea.com/uploader/filez/2320.html

↓持ち帰り用
http://smash.s68.xrea.com/uploader/filez/2321.zip

これが正しいかどうか誰か調べてくれるとありがたいが...

19: 1 JnY4VaGM:04/10/16 09:28 ID:ym1PbUkg
おお、なんか出来てますな。
完成版についての青写真として、
・数値⇔○×⇔ファルコン法変換が可能なこと
・上げたいパラメータを入力するとその候補が出てくること。
ほかに何かありますか?

20: 1 JnY4VaGM:04/10/16 09:32 ID:ym1PbUkg
Upする場所どこがいい?
そこだとメンテ出来ないから(自分がw)
http://www.wonder-egg.com/ のWikiに
置かしてもらおうかと思ってるんだけど。


21: 手強い名無しさん:04/10/16 10:01 ID:XK62oKHI
>>18
すげぇ!神!
とりあえず>>4のHPで、今上がってるレベルアップ申告とチェックしてみましたが、
矛盾はありませんでした。イケルイケル!
乙でしたー

>>19
完璧に乱数の「ら」の字も理解してない人向けでなければ、
それで充分かと。
あとは攻撃命中判定のための「二つの乱数の平均値が○○以上or以下」でも検索可能にするとか?
同時に前後数個の乱数が表示されるようにすると、
必殺判定やら敵の攻撃判定やらがわかっていい感じ。
敵の攻撃を避ける乱数探し→自分の攻撃乱数チェックとかもできるし。


22: 1 JnY4VaGM:04/10/16 10:11 ID:maacb942
>>10さん
色々と乙です。ソース見ました。
まだ処理の方みてないですが、
とりあえず、0x0300000辺りの初期値は
起動時からずれていたので、そこのアドレスは乱数でしか
使ってなくて、ゆくゆく初期値は
0x592d 0x8e70 0xa794 に変えるのがよさぽ。

23: 1 JnY4VaGM:04/10/16 10:35 ID:maacb942
数字が高い方が×でいいんだよね?
と思ってみたらF法とあってますね。上記のはどうでもいいや。

24: 10:04/10/18 00:53 ID:X1G.Mcrs
さっそくツールができてますね。

乱数計算部分を詳しく解析し動作が速くなるように書き換えてみました。
calc(){...}の部分だけを置き換えるだけで動作するようにしてあります。
もし良かったら使ってやってください。

http://smash.s68.xrea.com/uploader/filez/2332.txt


function calc(){
r[1] = m[m[0]]; r[2] = m[m[0]+2]; r[3] = m[m[0]+4];

r[0] = ((r[1] >>> 5) + (r[2] << 11)) & 0xffff;
r[3] = (r[3] << 1) & 0xffff;
r[3] = (r[3] + ((r[2] & 0x8000)?1:0)) & 0xffff;
r[0] = (r[0] ^ r[3]) & 0xffff;
r[3] = r[2];
r[2] = r[1];
r[1] = r[0];
r[0] = (r[0] * 100) >>> 16;

m[m[0]] = r[1]; m[m[0]+2] = r[2]; m[m[0]+4] = r[3];
}


25: 1 JnY4VaGM:04/10/18 02:44 ID:ym1PbUkg
お疲れ様です。かなりそれっぽいものが出来ましたね。
これで、初期読み込み時の動作が少し軽くなりそうです。
ツールの方はどちらかというとHTML挿入処理の方が重かったり(汗
入れ替えてみたものと比較して、まったく同一になることを確認しました。
さっそく入れさせてもらいます。
ありがとうございました。


26: 手強い名無しさん:04/10/19 01:57 ID:h2uff1w6
18のソース見たんですが,全然分からないんですが,これって2バイトの数3つ(0x3671, 0x90ea, 0x1496)からあとは全て計算で乱数を生成してるってことですか?この計算は何をやってるんですか.

27: Elisabeth Daniel:07/10/08 18:24 ID:siekIOUc
metaphysically gregory shrunken hairwood italican gotch cassie spool
<a href= http://www.angelfire.com/deojja/3.html >15916</a>
http://www.angelfire.com/deojja/2.html



28: Delia Bowers:07/10/10 09:40 ID:Uyum4DlE
metaphysically gregory shrunken hairwood italican gotch cassie spool
<a href= http://www.angelfire.com/fzhrus/1.html >know</a>
http://www.freewebs.com/hzmcjr/1.html



29: Libby Aguirre:07/10/12 09:11 ID:n3rG0Nak
metaphysically gregory shrunken hairwood italican gotch cassie spool
<a href= http://www.freewebs.com/ycaznq/2.html >43737</a>
http://www.freewebs.com/wluqpg/1.html



30: Vicki Bell:07/10/26 23:45 ID:Kl.j2igc
metaphysically gregory shrunken hairwood italican gotch cassie spool
<a href= http://bfhfkdkv.info/5ll.html >Heavy Metal Detox</a>
http://skuhwxdt.info/6mt.html
<a href= http://ruswxuzu.info/6a2.html >California American Water</a>
http://kadohsnp.info/7qj.html
<a href= http://zuxocihs.info/390.html >Capital City Bombers</a>
http://ngynrrfm.info/7m5.html
<a href= http://tciklxpo.info/9ee.html >Location Free Player For Psp</a>
http://ngynrrfm.info/ba.html
<a href= http://bnhbggln.info/2wh.html >50's Pin Up Girl</a>
http://ruswxuzu.info/53n.html
<a href= http://znblibva.info/35n.html >Marine City Michigan</a>
http://pirubvuz.info/8w7.html
<a href= http://zuxocihs.info/ao5.html >Sony Tv 36</a>
http://dfbuhfwz.info/j9.html
<a href= http://znblibva.info/2zz.html >Before The Dinosaurs Discovery Channel</a>
http://ruswxuzu.info/a7j.html
<a href= http://jojjvnfd.info/3bk.html >Daytona Beach Beach Party</a>
http://zuxocihs.info/465.html
<a href= http://wdnvbdhp.info/812.html >Ati Radeon X700 Pro Agp</a>
http://vbrjpjnj.info/4lj.html
<a href= http://zuxocihs.info/h8.html >Single Wide Mobile Home Floor Plans</a>
http://zuxocihs.info/2jd.html
<a href= http://dfbuhfwz.info/85a.html >Santa Rosa Ca Newspaper</a>
http://kwijodyd.info/24y.html
<a href= http://pirubvuz.info/984.html >Whole Life Insurance Without A Physical</a>
http://zuxocihs.info/8m5.html
<a href= http://bfhfkdkv.info/26r.html >Mary Did You Know Chords Music Free</a>
http://bfhfkdkv.info/9nm.html
<a href= http://hlwstyfi.info/8fo.html >Mustang Motorcycle Seats</a>
http://zuicfdon.info/61q.html
<a href= http://zuicfdon.info/ak6.html >Dell Notebook Hard Drives</a>
http://dfbuhfwz.info/aez.html
<a href= http://zuxocihs.info/9h7.html >Aurora Apartments And San Antonio</a>
http://zuicfdon.info/5b8.html
<a href= http://jxrrzfrv.info/842.html >Stone Bridge High School</a>
http://jojjvnfd.info/6sl.html
<a href= http://hlwstyfi.info/ep.html >Alias Season 4</a>
http://zwxlcxhy.info/8l4.html
<a href= http://sctrnopw.info/y1.html >Coin Prices Magazine</a>
http://dfbuhfwz.info/rp.html
<a href= http://jojjvnfd.info/6as.html >Geothermal Radiant Heat</a>
http://kwijodyd.info/99r.html
<a href= http://zwxlcxhy.info/7wg.html >Fire Truck Building Codes</a>
http://ngynrrfm.info/9gd.html
<a href= http://vbrjpjnj.info/2pf.html >Alternative Cancer Treatments</a>
http://ngynrrfm.info/ar0.html
<a href= http://jojjvnfd.info/1m.html >Denver Restaurant Delivery Service</a>
http://tciklxpo.info/y2.html
<a href= http://bnhbggln.info/2i3.html >Trial Law Line Of Credit</a>
http://zuxocihs.info/2vd.html
<a href= http://ngynrrfm.info/3xr.html >Hotel Syracuse Radisson</a>
http://sctrnopw.info/8ze.html
<a href= http://sctrnopw.info/2s5.html >Great Dane Ear Cropping</a>
http://tciklxpo.info/9xg.html
<a href= http://ruswxuzu.info/99o.html >Serzone Attorneys San Diego</a>
http://kwijodyd.info/7gm.html
<a href= http://zuxocihs.info/3cb.html >Flathead Valley Montana Internet Service</a>
http://ngynrrfm.info/8pt.html
<a href= http://zwxlcxhy.info/x8.html >Ford F150 Stx</a>
http://sctrnopw.info/28c.html



31: 手強い名無しさん:10/07/23 01:14 ID:q2
昨日もチュッチュしてただけで3万頂いちいましたw
http://navitime.me/drive/n2m7dfe
4月に就職できなかったけど、今月収50万ぐらあるよwww

32: 手強い名無しさん:10/08/21 05:01 ID:lI
http://g-killing.net/bes/t632yz8
10万に釣られていったらメッチャ精 液 搾 り 取 られた!!
数えてないけど多分10回は抜かれた!
なにより女のテクがヤバくて、最後とか頭真っ白!
今日朝起きたらチOコ痛かったorz
来週までに出来るだけ精 子貯めとこうw


続きを読む
掲示板に戻る 全部次100 最新50
名前: E-mail(省略可): ID非表示