ROMの領域分割と使用領域
Z80系のXENESIS SBCに搭載されているROMの容量は64KBですが、独立した32KBの2つの区画に分け、そのうちの1区画だけをJP2でジャンパで選択して利用するように設計されています。
どの区画に書かれたソフトウェアを利用するかはJP2にショートピンを付けて選択します。
区画 | ROM0 | 付属ROMのモニタ |
区画1 | オープン | Universal Monitor |
区画2 | ショート | Universal Monitor |
JP2によって選択されたROMの各区画が、CPUから見えるアドレス(ここではROMアドレスに対比してシステムアドレスと呼びます)にどのように割り当てられるかを「JP2 区画切替」に示します。
ご自身でROMにプログラムやデータを書き込む際には、「JP2 区画切替」の2つの区画のどちらに書き込むかを決め、その領域の先頭部分をシステムアドレス0000Hとみなして書き込みを行なうようにしてください。
各区画の前半は、システム起動時にはメモリ空間に割り当てられていますが、起動後にROMの切り離し処理を行うことにより、メモリ空間に配置されているROMを切り離してその場所にRAMを配置し、メモリ空間をRAMだけの構成に変更することができます。
なお、ROMをメモリ空間から切り離すか否かにかかわらず、I/O空間への配置は維持されるので、該当するI/Oアドレスを読み込むことにより、いつでもROMのデータを読み出すことができます。
区画 | ROMアドレス | システムアドレス | |
区画1 | 0000H-7FFFH | 0000H-4FFFH 0000H-7FFFH | メモリ空間の0000H-3FFFHに割り当て I/O空間の8000H-FFFFHに割り当て |
区画2 | 8000H-FFFFH | 8000H-CFFFH 8000H-FFFFH | メモリ空間の0000H-3FFFHに割り当て I/O空間の8000H-FFFFHに割り当て |