7 :
レポート:
ちょっと大きなプログラムを組もうとしたら
実行速度が加速度的に遅くなる現象について
PCEは8BITCPUのため、アドレスが0000H-FFFFHしかアクセスできず、
64Kバイトを越える領域のアクセスのためにバンク切り替えという
手法を取っています。
FARデータのアクセス時に、データの一個一個のアクセスのたびに
バンク切り替えの処理をしています。
たとえば、全パレットを少しずつ変化させたりといった処理の時、
INCPALで読み込んだFARデータを512個アクセスするので
そうとうに実行速度は遅くなります。(悲しいくらい)
エミュの実行速度を3メガヘルツに設定したら、止まったかと思う
くらいです。24メガヘルツにしてやっと実用くらい。
HUCを使用する場合、あまり大きなプログラムは組めないと思った方が
いいかも知れません。いや、リアルタイムなアクションゲームや
シューティングゲームでなければ、かなりいいです。
64Kを越えるアクセスがアセンブラより簡単にできるのは
かなりのメリットです。
RPGや、デモプログラムなんかが最適です。