CPUのエミュレータ書くときはキャリーとかオーバーフローとかいったフラグ処理が辛いのだが(PS1のアレとかとてもめんどくさい)、8bitマシンだと楽をする方法があり、それは「計算結果は普通に計算して求めるが、フラグは全演算パターンの変化の仕方をテーブルにしてそれを読むだけにする」である
スレッド
会話
返信先: さん
x68kで作ったファミコンとかz80エミュはこれをやった。ハーフキャリーとか絶望的に計算大変やからな…
D$サイズの関係で一時期真面目にif文書いたほうが有利になったけど、最近はまたテーブルの方が楽になりつつあるみたい
2
1
2
遅延評価で必要なときだけあとから再計算とかそういうのもありだがコードがむずくなる割に成果が小さくてつらく、実用に持っていけたことがない
JITコンパイルする場合はフロー解析でフラグ不要部は計算しないコードを生成とかできるけど、こっちはいい感じに実装できたことが多い
1
1
3
まあそんなわけでエミュにも色々テクがあるわけだが、やはり今注目はM1 macのx86エミュですよねー。どんなコードがJIT(では無くAOTかもだが)生成されてるのかどなたか知ってる人おしえてー
2
Twitterを使ってみよう
今すぐ登録して、タイムラインをカスタマイズしましょう。
トレンド
いまどうしてる?
政治
50 分前
山本太郎氏の東京8区からの立候補表明に立憲民主党は困惑
ゲーム · トレンド
メタトロン
11,394件のツイート
日本プロ野球 · トレンド
牧原選手
1,219件のツイート
国際ニュース
1 時間前
台湾統一は「必ず実現」 中国の習近平主席が演説