SRAMを128Kに拡張したので、Z80のアクセス範囲64KをフルRAMにしたいと思います。

増設した128KのSRAMですが、このメモリをZ80の有効アドレス範囲64Kのメモリに割り付ける役目がMMUです。
 (MMU:メモリ・マネージメント・ユニット)

用語が難しいですが、増設した128Kのアドレスを物理アドレス、Z80の有効アドレス範囲64Kを論理アドレスというようです。

物理アドレスを論理アドレスに配置するのがMMUの3つのレジスタです。
物理アドレスを指定するレジスターは2つ 
  バンクエリア・ベースアドレス・レジスタ BBR
  コモンエリア・ベースアドレス・レジスタ CBR

論理アドレスを指定するレジスタ
  コモン・バンク・エリア・レジスタ  CBAR
  
このCBARはさらに2つの指定域コモンエリア(CA)とバンクエリア(BA)で構成されます。
CA及びBAはそれぞれ論理アドレスの16ビットの上位4ビットを指定できます
16進で表示すると 0000、1000,2000・・・・E000、F000といった設定です
CAとBAは CA>BA、または、CA=BAの関係である必要があります。

例1:
CA>BA: 例 BA=1(1000の指定)、CA=F(F000の指定)
       
0000~0FFF:リセット直後の64Kアドレスマッピング0000~0FFF番地
フルアドレス(A18~A0)で表記すると 00000~00FFF

000~EFFF:BBRで示される開始アドレスから1000~EFFFの範囲アドレス
BBRを20とするとフルアドレス(A18~A0)で表記すると20000
アクセスされる範囲は21000~2EFFF
  
F000~FFFF:CBRで示される開始アドレスからF000~FFFFの範囲アドレス
CBRを20とするとフルアドレス(A18~A0)で表記すると20000
アクセスされる範囲は2F000~2FFFF
       

例2:
CA=BA: 例 BA=8(8000の指定)、8(8000の指定)
       
0000~7FFF:リセット直後の64Kアドレスマッピング0000~7FFF番地
フルアドレス(A18~A0)で表記すると 00000~07FFF

8000~FFFF:CBR(=BBR)で示される開始アドレスから8000~FFFFの範囲アドレス
CBRを20とするとフルアドレス(A18~A0)で表記すると20000
アクセスされる範囲は28000~2FFFF
この場合、CA及びCBRの設定が優先されるようです。

また、CBRとBBRの関係も同様に CBR>BBRまたは CBR=BBRの関係になる必要があるみたいです。

文章だけではわかりにくいので、実際に設定して確認したいと思います。次回に続きますwww    

Z8S180の関連記事
  • Z80に萌えたい CP/M ディスク書き込み改善
  • Z80(Z8S180)に萌えたい。Z8S180でも容量拡張BIOS
  • Z80に萌えたい CP/M ディスクアクセス改善
  • Z80(Z8S180)に萌えたい。Z8S180でもモニタからのCP/Mブート
  • Z80(Z8S180)に萌えたい。Z8S180でもBIOS書き込み
  • Z80(Z8S180)に萌えたい。 Z8S180でもBIOS完成
おすすめの記事
BIOS
ちょっとだけ、BIOSの移植が進んだのでメモしたいと思います。 BIOSを移植するにあたり、実機での確認が不可欠と思いますが、それを行うには...
AVR
USBasp購入したけど、結局1台自作しました 回路図は,USBaspのHomeのを参考にしました ヒューズとしてポリスイッチを追加しました...
Z8S180
Z8S180のMMUの設定についてレジスターを変更してみます。 3つのレジスタのI/Oアドレスは BBR  0x39 CBR  0x38 C...