レベル3用 64KB拡張メモリ MP-9764のバンク切替メモ

日立純正のマーク5用 64KB拡張メモリのバンク切替方法を調べておきます

MP-9764はこんな感じ

拡張RAMは専用スロットがあるので拡張スロットを消費しないのがありがたです^^

S1の取説によると拡張メモリ用のレジスタは$FFE8のようです

アドレス D7 D6 D5 D4 D3 D2 D1 D0 レジスタ名
$FFE8 0 D6 D5 D4 D3 D2 D1 D0

システムモードBのとき
拡張RAMバンク切替レジスタ


各ビットの割付

ビット /  値 0 1
D0 非選択 * 標準実装 RAMの$F000~$FEFFを選択 ②
D1 非選択 * 標準実装 RAMの$FFF0~$FFFFを選択 ③
D2 固定 表示用メモリ領域 $0400~$43FFをバンク切替
D3 非選択 ** 拡張RAMの$0000~$7FFFを選択 ④
D4 非選択 *** 拡張RAMの$8000~$FFFFを選択 ⑤
D5 拡張RAMの$0000~$7FFFは書込み専用モード ④ 拡張RAMの$0000~$7FFFは書込み読書きモード ④
D6 拡張RAMの$8000~$FFFFは書込み専用モード ⑤ 拡張RAMの$8000~$FFFFは書込み読書きモード ⑤
D7 未使用 未使用

* :拡張RAMのアドレス$8000~$FFFFが非選択のときアドレス$A000~$FEFF②及び$FFF0~$FFFF③の領域は標準実装RAM
 が書込み専用モード(読み出し不可)となる
** :D3=”0″ (非選択) のとき、D5は無視される
*** ;D4=”0″ (非選択)のとき、D6は無視される
拡張RAMのアドレス $8000~$FFFFの選択は標準実装メモリのバンク切り換えに優先する
拡張メモリはL3ではMP-9764, S1ではMPC-RA64Sの物理アドレス$00000~$0FFFFを拡張したときに有効

マーク5のメモリマップ

 

調べること
拡張メモリにプログラムを置いて実行した場合にそのままI/Oエリアにアクセスできるかどうか?
バンク切替時のプログラムの置き場所
D2はVRAMをバンク切り換えできるということ?
ROMの裏RAMのを読書きモードにするには$FFC0,$FFC1のPIA-BANKを使うの?

「レベル3用 64KB拡張メモリ MP-9764のバンク切替メモ」への4件のフィードバック

  1. $FFE8のD2はちょっと特殊でしてD2を1にすると、$0000~$7FFFが標準実装RAM(D3=0)ならVRAMエリアだけが拡張RAMに、$0000~$7FFFが拡張RAM(D3=1)ならVRAMエリアだけが標準実装RAMになります。
    なお、VRAMは常に標準実装RAM側になります。
    ROMの裏RAMへの切り替えはPIA Aポートと$FFE8のD0,D1になります。拡張メモリからI/Oエリアにはアクセスできます。

    1. 情報ありがとうございます^^
      $FFE8のVRAMエリア選択は複雑ですね。
      実験しながら動作を理解していこうと思います
      ROMの裏RAMはPIAのAポートだけではなく$FFE8のD0,D1の組み合わせも了解しました。
      こちらも複雑なので動かしながら整理したいと思います
      拡張メモリからI/Oエリアにアクセス可能ということで安心しました。
      SasajiさんのサイトのメモリーマップでI/O部分がメモリから抜けていたので、いけるのではと甘いことを考えておりました
      調べようと思っていた謎が色々解けました。ありがとうございます^^

  2. 私のページにある図はマーク5の取扱説明書を元に作成したものですが、このバンク切換えの説明が理解できずに実機で試行錯誤したことがあり、その調査結果を加筆しているのでもしかすると間違っているかもしれません(^^;
    ここはかべきんさんの方で改めて確認して頂けると助かります(^^)

    1. レベル3でFLEX9等のOSを動かすにはバンク切り換えが必質だと思われるので、色々実験しながらブログにアップしていきたいと思います。
      また、色々教えてください^^

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。 本文に全角文字を2文字以上含めて下さい (スパム対策)