>>415
まーちょっと俺もBCB入れて、いじってみるわー。
んじゃぁ、ちょっと各自、BCBさわれる程度にしておいてちょ。

次の議題は、メモリのエミュレーションをどういうやり方でやるかって事を決めましょ。

メモリのエミュレーションは、x86とSH2ではエンディアンが違うので、絶対になんらかの
中間処理がいるのと、
広大なアドレスをどう実際のマシンに割り当てるか?って部分が問題になってくると思う。

後者はAS1では、32bitのアドレスのうち、上位16bitをインデックスとして使い、実際のメモリ
に振り分けている。具体的にはメモリアロケーションテーブルとかいう(安直な名前だな:w)
配列に、メモリのポインタをぶっこんで、メモリを読みに逝くようにしている。
もしこのとき、ポインタがあるマジックだった場合には、メモリは割り当てられてないと判断し
デバイスの振り分けルーチンに飛んでいる。

他にはMAMEのようなリスト型振り分け(ソース見た限りではそうだと思うけど・・・・・)という
のがある。この方式は、振り分け区画が自由に決めれて(1バイト単位でもOK)振り分け
先が少ない場合は、テーブル方式よりも、高いキャッシュヒット率が望める。
また、より先進的な方法を取るなら、アクセス頻度によって、リストの順番を入れ替える等も
可能だろう(より速度が上がると思う)

ちなみにAS3ではダイナミックキャストを使って、メモリとデバイスを同じレベルのクラスと
して扱って、一発でアドレス振り分けが可能なようにしている。
ただしこのやり方は、Vtableを使うので、本当に速いのかは疑問。つーか遅いと思う。

という論点で、各自最適と思われる方法を提示せよ。締め切りは23日中まで。