目次

概要

SNES の CPU には、NES の CPU の 6502 をエミュレーションするモードがあり、 ステータスフラグにエミュレーションフラグを立てることで 切り替えができるようになっている。

これは、 NES のプログラマが SNES にスムーズに移行しやすくするためであると共に、 NES のゲームを SNES で動かせるようにするための措置だと思われるが、 実際には、NES のゲームを SNES で動かせるようにするようなアダプタは、 オフィシャルには発売されていない。

SNES の CPU は、ほとんどの動作が NES の CPU である 6502 と互換性があるが、 16 ビット単位のデータが扱えるようになっており、 それに関連してレジスタの本数と、命令が若干増えている。 24 ビットのアドレスバスも扱えるようになっており、 それに伴って増えた、アドレス指定用レジスタの影響で、 アドレッシングモードが複雑になっている。

通常、アドレスは 16 ビット単位で指定するが、 24 ビット分をフルに指定する時、上位 8 ビットを "バンク" として扱う。 バンクは、CPU 内のバンクレジスタの操作により切り替えることができる。

CPU 内で乗算と除算を直接行うことができないので、 これらの演算が必要な場合は、I/O ポートから乗算・除算用コプロセッサに データを渡して、しばらくウエイトを入れた後、 別の結果取得用ポートから計算結果を取得する。


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 15:52:50 (1276d)