これは、SNES にのみ適用可能なメモリマップである。

"LoROM", "HiROM" 等の異なる種類のカートリッジが アドレスバス A に配置される。 カートリッジは、/CART 信号がアクティブな時に反応する。 どちらのバスのアドレスにも反応できるが、 片方はマップされない。 同様に、拡張ポートにデバイスが接続された時、 アドレスバス B の何もマップされていないレジスタに反応するだろう。

WRAM は、/WRAM 信号がアクティブな時はアドレスバス A に、 レジスタ 0x2180 〜 0x2183 を通してアドレスバス B に配置される。

APU は、アドレスバス B の 0x40 〜 0x7F に配置される。

PPU1 と PPU2 は、アドレスバス B の 0x21000x213F に配置される。

表の、"スピード" 列はその領域のメモリのアクセス速度を表す。 SNES のマスタークロックは約 21MHz である (おそらく、1.89e9/88 Hz に近い)。 CPU の内部動作サイクルは常に 6 マスターサイクルで、 Fast メモリアクセスサイクルは 6 マスターサイクル、 Slow メモリアクセスサイクルは 8 マスターサイクル、 XSlow メモリアクセスサイクルは 12 マスターサイクルかかる。

バンクアドレススピードマッピング
$00-$3F$0000-$1FFFSlowアドレスバス A + /WRAM (ミラー : $7E:0000-$1FFF)
$2000-$20FFFastアドレスバス A
$2100-$21FFFastアドレスバス B
$2200-$3FFFFastアドレスバス A
$4000-$41FFXSlow内部CPUレジスタ (注 1 参照)
$4200-$43FFFast内部CPUレジスタ (注 1 参照)
$4400-$5FFFFastアドレスバス A
$6000-$7FFFSlowアドレスバス A
$8000-$FFFFSlowアドレスバス A + /CART
$40-$7D$0000-$FFFFSlowアドレスバス A + /CART
$7E-$7F$0000-$FFFFSlowアドレスバス A + /WRAM
$80-$BF$0000-$1FFFSlowアドレスバス A + /WRAM (ミラー : $7E:0000-$1FFF)
$2000-$20FFFastアドレスバス A
$2100-$21FFFastアドレスバス B
$2200-$3FFFFastアドレスバス A
$4000-$41FFXSlow内部CPUレジスタ (注 1 参照)
$4200-$43FFFast内部CPUレジスタ (注 1 参照)
$4400-$5FFFFastアドレスバス A
$6000-$7FFFSlowアドレスバス A
$8000-$FFFF注 2アドレスバス A + /CART
$C0-$FF$0000-$FFFF注 2アドレスバス A + /CART

注 1 : 内部 CPU レジスタ用のアドレスは、 アドレスバス A の外にある可能性があり、 CPU はデータバスを無視する。 データバスが全てのメモリ領域を無視するかということと、 これらのアドレスが実際にレジスタなのかは不明。 同様に、CPU の書き込みがデータバスに現れるのかどうかも不明。 現在のところ、アドレスと書き込みはバスに現れるだろうと 考えられている。読み込みは現れたり現れなかったりする。 実際にマップされているレジスタのビットのみがデータバスで無視される。 (例えば、データバスは 0x4211 のビット 7 だけを無視する)

注 2 : CPU レジスタ 0x420D のビット 0 がセットされている時、 スピードは Fast になり、セットされていない場合は Slow になる。

Mode 20: LoROM メモリモデル (32k バンク) - 最大 24Mbit

バンクアドレス内容ミラーバンク
0x00-0x2F0x0000-0x1FFF下位RAM0x7E
0x2000-0x2FFFI/Oポート (PPU1, APU)0x00-0x3F
0x3000-0x3FFFI/Oポート (SFX, DSP, etc)0x00-0x3F
0x4000-0x41FFI/Oポート (PAD)0x00-0x3F
0x4200-0x5FFFI/Oポート (PPU2, DMA, etc)0x00-0x3F
0x6000-0x7FFF予約済み0x00-0x3F
0x8000-0xFFFFMode 20 ROM
0x30-0x3F0x0000-0x1FFF下位RAM0x7E
0x2000-0x2FFFI/Oポート (PPU1, APU)0x00-0x3F
0x3000-0x3FFFI/Oポート (SFX, DSP, etc)0x00-0x3F
0x4000-0x41FFI/Oポート (PAD)0x00-0x3F
0x4200-0x5FFFI/Oポート (PPU2, DMA, etc)0x00-0x3F
0x6000-0x7FFF予約済み
0x8000-0xFFFFMode 20 ROM0x80-0xBF
0x40-0x5F0x0000-0x7FFF予約済み
0x8000-0xFFFFMode 20 ROM0xC0-0xEF
0x60-0x6F0x0000-0x7FFF予約済み
0x70-0x770x0000-0x7FFFMode 20 SRAM (256Kバイト)
0x8000-0xFFFF予約済み
0x78-0x7D0x0000-0xFFFF予約済み
0x7E0x0000-0x1FFF下位RAM0x00-0x3F
0x2000-0x7FFF上位RAM
0x8000-0xFFFF拡張RAM
0x7F0x0000-0xFFFF拡張RAM
0x80-0xDF0x0000-0xFFFFバンク0x00-0x5Fのミラー0x00-0x5F
0xE0-0xFF0x0000-0xFFFF予約済み

Mode 21: HiROM メモリモデル (64k バンク) - 最大 48Mbit

バンクアドレス内容ミラーバンク
0x00-0x2F0x0000-0x1FFF下位RAM0x7E
0x2000-0x2FFFI/Oポート (PPU1, APU)0x00-0x3F
0x3000-0x3FFFI/Oポート (SFX, DSP, etc)0x00-0x3F
0x4000-0x41FFI/Oポート (PAD)0x00-0x3F
0x4200-0x5FFFI/Oポート (PPU2, DMA, etc)0x00-0x3F
0x6000-0x7FFF予約済み0x00-0x3F
0x8000-0xFFFFMode 21 ROM (0xC0-0xEFより)0xC0-0xEF
0x30-0x3F0x0000-0x1FFF下位RAM0x7E
0x2000-0x2FFFI/Oポート (PPU1, APU)0x00-0x3F
0x3000-0x3FFFI/Oポート (SFX, DSP, etc)0x00-0x3F
0x4000-0x41FFI/Oポート (PAD)0x00-0x3F
0x4200-0x5FFFI/Oポート (PPU2, DMA, etc)0x00-0x3F
0x6000-0x7FFFMode 21 SRAM (128Kバイト)
0x8000-0xFFFFMode 21 ROM (0xF0-0xFFより)0xF0-0xFF
0x40-0x5F0x0000-0xFFFFMode 21 ROM
0x60-0x6F0x0000-0x7FFF予約済み
0x70-0x770x0000-0x7FFFMode 20 SRAM (256Kバイト)
0x8000-0xFFFF予約済み
0x78-0x7D0x0000-0xFFFF予約済み
0x7E0x0000-0x1FFF下位RAM0x00-0x3F
0x2000-0x7FFF上位RAM
0x8000-0xFFFF拡張RAM
0x7F0x0000-0xFFFF拡張RAM
0x80-0xBF0x0000-0xFFFFバンク0x00-0x3Fのミラー0x00-0x3F
0xC0-0xFF0x0000-0xFFFFMode 21 ROM

SPC 700

アドレス内容
0x0000-0x00EFRAM
0x00F0-0x00FFI/Oポート (DSP)
0x0100-0x7FFFRAM
0x8000-0xFFBFRAM?
0xFFC0-0xFFFFROM(起動用)

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