BBS
  NewPost ┃Tree ┃Thread ┃Plain ┃Topic ┃Search ┃Setting ┃Top  
294 / 307 ツリー ←次へ | 前へ→

SNESGTのデバッガーを強力にしてください。 YUKI 04/6/24(木) 21:54
Re:SNESGTのデバッガーを強力にしてください。 GIGO 04/6/28(月) 0:35
Re:SNESGTのデバッガーを強力にしてください。 Netuagala 04/7/6(火) 23:44
Re:SNESGTのデバッガーを強力にしてください。 GIGO 04/7/7(水) 4:28
Re:SNESGTのデバッガーを強力にしてください。 GIGO 04/9/25(土) 13:59

SNESGTのデバッガーを強力にしてください。
 YUKI  - 04/6/24(木) 21:54 -
  
SNESGTのデバッガーを強力にできないでしょうか?
いろいろ解析したいのでよろしくおねがいします。
引用なし

Re:SNESGTのデバッガーを強力にしてください。
 GIGO  - 04/6/28(月) 0:35 -
  
▼YUKIさん:
>SNESGTのデバッガーを強力にできないでしょうか?
>いろいろ解析したいのでよろしくおねがいします。

デバッガは、内部的にブレークポイントが張れるところまではできていて、
これで開発には十分だったのと、いくつか問題に当たったのとで
途中で止まっています。

問題と言うのは、
- ブレークなどでエミュレーションコアの深い部分で動作を止めたり、
 そこからGUIを呼び出す必要があるため、現在の完全にシングルスレッドで
 動いてるものでは厳しい。
G-NESの場合、メッセージループをもう一個持つような、かなりトリッキーな方法でなんとか回避をしたのですが、正直この方法は使いたくありません。
これは全体をマルチスレッド化した上で頑張れば、比較的綺麗に
実装できるかなとは思っています。

- 65816が可変長な命令を持つため、任意の場所の逆アセンブルが行えない
65816はフラグの状態によって同じオペコードでも命令の解釈が変わり、
命令長が変化します。これのせいで、逆アセンブルがそのままでは行えません。
実行時のログをとって〜と言った方法も考えたのですが、いまいちうまい方法
だとも思えません。何か良い方法は無いですかね…
引用なし

Re:SNESGTのデバッガーを強力にしてください。
 Netuagala E-MAILWEB  - 04/7/6(火) 23:44 -
  
▼GIGOさん:
>▼YUKIさん:
>>SNESGTのデバッガーを強力にできないでしょうか?
>>いろいろ解析したいのでよろしくおねがいします。
>
>デバッガは、内部的にブレークポイントが張れるところまではできていて、
>これで開発には十分だったのと、いくつか問題に当たったのとで
>途中で止まっています。
>
>問題と言うのは、
>- ブレークなどでエミュレーションコアの深い部分で動作を止めたり、
> そこからGUIを呼び出す必要があるため、現在の完全にシングルスレッドで
> 動いてるものでは厳しい。
>G-NESの場合、メッセージループをもう一個持つような、かなりトリッキーな方法でなんとか回避をしたのですが、正直この方法は使いたくありません。
>これは全体をマルチスレッド化した上で頑張れば、比較的綺麗に
>実装できるかなとは思っています。
>
>- 65816が可変長な命令を持つため、任意の場所の逆アセンブルが行えない
>65816はフラグの状態によって同じオペコードでも命令の解釈が変わり、
>命令長が変化します。これのせいで、逆アセンブルがそのままでは行えません。
>実行時のログをとって〜と言った方法も考えたのですが、いまいちうまい方法
>だとも思えません。何か良い方法は無いですかね…

確かMAMEの場合はフラグ毎に命令長のちがうエミュレーションモードを切り替えていた気がします。
そこまで、というかその方法だとオーバーヘッドがかかりそうですがDebug専用と割り切ればそれも良いのでは?
と思うのですがいかがでしょうか?
引用なし

Re:SNESGTのデバッガーを強力にしてください。
 GIGO  - 04/7/7(水) 4:28 -
  
▼Netuagalaさん:
>確かMAMEの場合はフラグ毎に命令長のちがうエミュレーションモードを切り替えていた気がします。
>そこまで、というかその方法だとオーバーヘッドがかかりそうですがDebug専用と割り切ればそれも良いのでは?
>と思うのですがいかがでしょうか?

エミュレート時ならそれで構わないのですが、
ディスアセンブル時には現在注目しているアドレスから時間的に遡って
見ていかなければならなかったり、そもそもディスアセンブル対象の
命令が実行されるときにどう言ったフラグで無ければならないのかが
わからないため、少々事情が違います。

今日は時間が無いので、明日にでももう少し具体的に書こうと思います。
引用なし

Re:SNESGTのデバッガーを強力にしてください。
 GIGO  - 04/9/25(土) 13:59 -
  
▼Netuagalaさん:
明日とか言いつつ、えらく遅くなってしまい、すいません。

デバッガ上のディスアセンブルの問題ですが、色々具体例を書こうと思ったのですけど、
一度実際に65816のコードのディスアセンブルをやって見るのが一番だと思います。
任意のポイントをディスアセンブルするのは、トライアンドエラーのかなり
アバウトな方法に頼る事になると思いますので。

デバッガについては、もうサブルーチン単位のみ表示とか割り切ってしまえば
そんなに難しくないので、ひとまずそれで組んでしまおうかなとも思っています。
引用なし

  NewPost ┃Tree ┃Thread ┃Plain ┃Topic ┃Search ┃Setting ┃Top  
294 / 307 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:   
134,592
(SS)C-BOARD v3.5.4 is Free.