[過去ログ] スーファミのプログラム (455レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
145: 名前は開発中のものです。 [sage] 2005/10/13(木) 15:08:12 ID:/wRgIeSs(1) AAS
>外部リンク:gamesource.groups.yahoo.com
snescてのがあるみたい。ぼくも見つけたばかりでこれから調べるんだけど
146: 名前は開発中のものです。 [sage] 2005/10/20(木) 04:02:34 ID:nxVrrZhD(1) AAS
できるだけちゃんと命令を読み込める逆汗ってどういうものなんだろうか。
試しに作ってみたけどたぶん違う所でバグってる。
147: 名前は開発中のものです。 [sage] 2005/10/20(木) 15:27:12 ID:5TU3rAft(1) AAS
・REP/SEPによるレジスタサイズの変化に追従して、サブルーチンが呼び出されるたびに
呼び出されたアドレスとレジスタサイズを記録して
それを元に呼び出されたサブルーチンを再度読み直しをするようにする
・アブソリュート・インデックス・X・インダイレクトの命令で、例えば
FC D192 : jsr (92D1,x)
ってのがあったとして、92D1以降から、↑で記録されている最短のサブルーチン開始アドレスまでは
2バイトのアドレスとして読み込む
これらを実現できれば読み間違いは大分減ると思うがどうか。
個人的にはサブルーチン呼び出しをツリーにしてエクスプローラ感覚で操作できる
逆アセンブラがあると面白いと思う
148: 名前は開発中のものです。 [sage] 2005/10/21(金) 03:14:12 ID:DbQnAJ3P(1) AAS
とりあえず作った(というかできてない)のは
・指定されたアドレスから読み込み始めて要はプログラム部だけを読む。
・REP/SEPによるレジスタサイズの変化に追従。
っての。
サブルーチンって別にスタックいじったりしてませんよね。
むしろしてた方が楽な気もするんですけど。
あとCOPとかよく分からないのは適当にほっといてる。
というか適当にまとめた自作のテキストがどこまで合ってるのやら。
149: 名前は開発中のものです。 [sage] 2005/10/21(金) 07:14:50 ID:Gjb8q/6p(1) AAS
既存のものには無いから良さげだね。というか使ってみたいw
JSLもJSRもスタック使うよ。でないと戻ってこれない
サブルーチン呼出や割り込み前後でSレジスタは変化させられないんで
Sレジスタの変化を見とくと一応エラー検出できる
COPは基本的にはサブルーチン呼出と似たようなことしてるだけ、のはず
150(4): 名前は開発中のものです。 [sage] 2005/10/22(土) 02:37:32 ID:nKn2P5ya(1) AAS
スタックいうかフラグとかその他レジスタとかを全部一時避難させてるかなって事っす。
ソースとテキストを苺1M2217に上げましたんで興味がおありでしたら見てください。
細かい作りは結構適当です。
少なくともスタック関係はちゃんと対応するように組まれてる事を前提にしてます。
解凍パスはdis。
あとreadmeの例はラストバイブル3。
それとヘッダに対応してないというか外してください。
もう1つ、C++コンパイラはありますよね。
そういえばソースも人目に出すには適当すぎ。
151: 名前は開発中のものです。 [sage] 2005/10/22(土) 10:19:44 ID:8BwQhggQ(1) AAS
興味あるけどどこにあるのかわからんのでいいや
152: 名前は開発中のものです。 [sage] 2005/10/22(土) 19:39:34 ID:pej7E3Fe(1) AAS
苺 Sn>Google
153(1): 名前は開発中のものです。 [sage] 2005/10/23(日) 01:05:29 ID:ua+9qehO(1/2) AAS
>>150
自作のテキストでどこの人かわかってしまったw
同じ住民じゃないけど乙です
サブルーチン呼出で退避するのはPCまたはPC,PBで
フラグを退避するのは割り込みです
あと動かしてみたけど、LoROMでバンクが偶数の時に
指定したアドレスから8000引くのを忘れてますよ
82DE25で指定したら1DE25が逆汗されてました
154(1): 名前は開発中のものです。 [sage] 2005/10/23(日) 02:00:53 ID:bY1d22Lh(1) AAS
up2217.zipってやつでしょ?「dis」で解凍できないんだけど・・・。
こういうやりとりでレスを消費すんのが面倒だから嫌なんだよ。こういう虹っぽい隠し方っつーか。
155: 150 [sage] 2005/10/23(日) 04:24:59 ID:fbSsnlDs(1) AAS
>153
住人言うか解析つながりで見てたんですけどね。
というかあっちではスルーされてたなぁ。
前はswitchで命令分けてて滅茶苦茶面倒になって投げたんですよね。
他にもテキストで変な所ありませんでした?
>154
なんつーか癖というか習性です。
カキコする前にチェックしてなかったからもしかしてと思ったけど解凍できましたよ。
156(1): 名前は開発中のものです。 [sage] 2005/10/23(日) 09:39:21 ID:ua+9qehO(2/2) AAS
多分半角じゃなくて全角です
>>150
他に見つけたのは
・FCがJSR ($MMLL,X)ではなくJSR ($LL,X)で表示される
・stert→start
157: 150 [sage] 2005/10/24(月) 04:05:55 ID:qudMBFQw(1) AAS
>156
ども、あとでチェックしてみます。
個人的にはF4とかも自信が無いっす。
そういやインデックスレジスタの直値系はXフラグで見るので大丈夫ですかね。
テキスト言うか65816-C.txtを元に作ってるんでコレが間違ってるとプログラムは多分間違ってます。
いや、合ってても間違ってる部分がほかにもあるのは確定。
FC JSR とか逆汗しても分からない部分はどうしよう。
そのあたり解析用のファイルをユーザに作らせてジャンプ先のテーブルを書き込むって方式はどうだろうか。
最初は解析中にユーザに値を入力させるWindowsプログラムを考えてたから結構つくりが適当なんです。
158: 名前は開発中のものです。 [sage] 2005/10/24(月) 13:59:29 ID:0fWB76iK(1) AAS
逆汗した後テーブルファイルを作るくらいなら、
直接逆汗テキストに書き込んでしまうと思うけど・・・
予めユーザーがFCまたは7Cが存在するのを知っているならそれでいいけど
大抵は逆汗するまでわからないものだと思うし
コンソール入力でユーザーに判断してもらうようにするか
リストの先頭アドレスに辿り着くまでアドレスリストを吐き続けるようにするかじゃないですかね
でもそれだと、アドレスリストのすぐ後に先頭アドレスが開始されない場合は
読み間違い確定になってしまうんだよなぁ・・・
ちなみにエクスプローラライクなのが良いと思うのは
その辺を考慮して適宜自分で修正できるってのが理由
159: 名前は開発中のものです。 [sage] 2005/10/25(火) 02:44:17 ID:sulmJKDH(1/2) AAS
逆汗後と言うか、つまりFCとか7Cってジャンプ先がいくつかある可能性があるし、
コンソール入力だと複数入力させるのに対応させるのが面倒だし、
ジャンプ先が設定ファイルに書いてない場合のデフォルトの操作として
警告でそのアドレスを出力させたりするとか考えてる。
たまにサブルーチンの中でサブルーチン開始アドレスより前のアドレスに飛んで合流する事があったりしてあまりややこしい事はやりたくないのよ。
とか言うもののエクスプローラライクが解析しやすいってのも分かるけどね。
160: 名前は開発中のものです。 [sage] 2005/10/25(火) 02:55:32 ID:sulmJKDH(2/2) AAS
あと設定ファイルで考えてるのはこういうの
---------
imagefile=rom.smc
HiROM=true
C42846:0,2,4,6,8
C53782:0,8,10,18
(etc)
---------
C42846とかいうのがFCとか7Cとかがあるアドレスで続く数字がJMP (LLMM,X)のXにあたるとか。
ひょっとすると直接ジャンプ先のアドレス書いた方がいいかも。
161: 名前は開発中のものです。 [sage] 2005/10/27(木) 00:28:36 ID:vFW/i5XC(1) AAS
確かにコンソールアプリならその方が良いかもね
設定は直接ジャンプ先でいんでない?
バイナリエディタからコピペして加工すれば済むし
162: 名前は開発中のものです。 [sage] 2005/10/27(木) 02:59:31 ID:jdqmjTvR(1) AAS
まぁ、コンソール云々前に作るのが面倒だからってのが大きいけど。
ジャンプ先は2通り対応した方がいいかな。
とりあえずまた作り直すのがほぼ決定なんだけど設定ファイル用の
つまりはフォーマット付き入力がよくわからんのでそのあたりも調べないと。
そういやレジスタ対象の命令は標準の表記がいいかな。
INXとかよりもINC Xの方が分かりやすく作りやすいけど。
ただPH?系とかどうしよう。
163: 名前は開発中のものです。 [sage] 2005/10/31(月) 09:47:24 ID:rmsqBq+d(1) AAS
逆アセンブラごとに表記違ってるし、
自分の好みでいんじゃないの
164: 名前は開発中のものです。 [sage] 2005/11/01(火) 02:49:44 ID:q10jnAvV(1) AAS
ただ、手持ちの資料だと全部INX系なのよね。
ヘタに変えると困る人とかいそう。
PULLのコメントをPOPにしといてこんな事言うのもなんだけど。
FCの表記確認しました。
というか表記以外も間違ってる可能性があるんでよく見ないと。
あと読み取りのバグはバンクが奇数の時に0x8000引くようになってたみたいっす。
よく分からないのがコプロ。
というかコプロってなに?状態。
イメージいじってログ取って調べた方が早いかな。
165: 名前は開発中のものです。 [sage] 2005/11/02(水) 10:14:00 ID:0w+mMXTo(1) AAS
外部リンク[txt]:www.zophar.net
手持ちの資料探した中ではこれが一番詳しかった
COPの説明で$FFF$-$FFF5ってなってるとこあるけど
$FFF4$-$FFF5で、しかもこれはエミュレーションモードの時の話だね
166(1): 名前は開発中のものです。 [sage] 2005/11/03(木) 03:10:50 ID:PZ6xvnHz(1) AAS
ゴメン、そのテキスト持ってる。
なんかソフト割り込みがどうとか書いてあるみたいですね。
という事はRTIで帰るのかな。
とりあえずCOPの所はスルーしてそういう特殊系でまとめて処理していいかも。
BRKもそんな感じでいいのかな。
そういやOSの話で「こぷろせす」って聞いたような気がするけど、
ずっと「子プロセス」だと思ってた。
違うのかな。
167: 名前は開発中のものです。 [sage] 2005/11/04(金) 20:58:23 ID:oBKib+Vn(1) AAS
copはそれに書いてある通りだと思うんだが・・・
まあジャンプするためのアドレスが逆汗でわかるとは限らないから、
無視しても構わないだろうね
あとCoprocessorね
168: 名前は開発中のものです。 [sage] 2005/11/05(土) 03:49:54 ID:9TfWbpA3(1) AAS
確かフラグとかそのあたりスタックにのせちゃうっぽいから
普通に考えると、戻ってきた時に元の状態になってるはず。
戻るのか分からないですけど。
そのあたりがとりあえずスルーできる理由っす。
ただ、COPとかBRKとか使ってる所見たことないんでなんとも。
ひょっとして前のバージョンでほとんど逆汗できてなかったのはそのあたりが原因なのかも。
169: 名前は開発中のものです。 [sage] 2005/11/09(水) 04:58:19 ID:D4X0VspC(1) AAS
とりあえず新版バグ有りを前回と苺1のup2834.zipに上げました。
パスはやはり半角小文字で「dis」。(確認済み)
未完なんでパスは必要だと思うのですよ。
大して機能拡張でもした訳じゃないのに半月ぐらいかかってる。
(厳密に言うとする予定だったけど面倒すぎるので途中で止めたっす。
直値完全追跡なんてやってられません。)
多分まともに動かないので後日じっくりデバックする必要がありそう。
今、気分がのらない&サンプル探すのが面倒で。
上下前次1-新書関写板覧索設栞歴
あと 286 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.011s