速くなりますた

1スキャンライン間の6502のクロック数の計算を間違えて、本来の3倍のクロック数で駆動していたことに気が付きました。

要するに、約5メガヘルツ動作の6502としてエミュレーションしていたようなものです。
これでもvblank待ちのウエイトの割合が多くなるだけなので全体的なゲームの速さは変わらないように見えるため気が付きませんでした。

このバグを直したら、当たり前ですが6502のエミュレーションが3倍軽くなりました…
ああ、アホだあ。

携帯で余裕を持った速さで動かすには、あと2〜3倍の速さが欲しいですね。
ていうか、先人の組んだエミュレーションのコードはクソ速いですねぇ…リコンパイルしてるのにかなわないですよ。

先人の組んだコードを読んでみると、細かい所の最適化がかなりすごいです。真似できる所は真似してみます。