セガサターンのエミュをみんなで作るスレ
■ このスレッドは過去ログ倉庫に格納されています
0548PI.
03/03/26 23:56ID:rgyxhDcM処理するチップが載っていた場合はやはり速度的に面倒になります。
そのハードウェアが高速で動作しているように仮想CPUに見せかける必要
があるため、ハードウェアエミュレーションを一気にやって、仮想CPUに
割り当てるサイクル数は逆に少なくするといった感じです。ただ全体の
進行を考えるとCPUを遅くするわけにはいかないので、結局エミュレータ
の負荷が急に増えることになります。
X68000エミュレータXM6のソースもいずれ公開します。こちらはMFCを使い
C++に依存したコードになっています。ベースクラスとしてクラスDevice、
その派生としてクラスMemDeviceを定義し、すべてのメモリマップドデバ
イスはMemDeviceの派生クラスとして表現しています。MemDeviceは仮想関数
ReadByte/ReadWord/WriteByte/WriteWordを持ち、派生クラスでI/O処理を
記述する構造です。親クラスとしてVM(Virtual Machine)クラスがあり、
全てのデバイスクラスを単方向リンクで所有しています。
■ このスレッドは過去ログ倉庫に格納されています