2021-09-28 23:23 — asano
カテゴリー:
手持ちのINS8073/Nを仮に載せていたINS8070ボードですが、INS8070も到着したことですし、INS8073でやろうとしていたことも一通りできたので、本来のINS8070に載せ替えました。
INS8073とINS8070の違いは内蔵ROMの有無だけですのでそのまま載せ替えられますが、メモリ配置は変更が必要です。
0x0000番地から起動用のメモリが必要なので0x1000~0x1FFFに配置していたものを0x0000~0x0FFFに移動しました。0xF000以降をRead Onlyにしておく理由もなくなったので書き込み可能にしました。
74ALS00の下に追加されているのは書込み禁止のためのものです。写真ではジャンパが抜かれているので全エリア書き込み可能になっています。
右側をショートすると0x3000~0x3FFF(イメージの0x7000~, 0xB000~, 0xF000~も)が書込み禁止になります。
74LS139の上のジャンパは前回書き忘れたので書いておきます。
仮に左から1, 2, ..., 6 とすると、1-2をショートすると0x0000~0x0FFF・2-3をショートすると0x1000~0x1FFFに基本ボードのメモリが現れ、4-5をショートすると0x2000~0x2FFF・5-6をショートすると0x3000~0x3FFFに16ビット拡張ボードのメモリが現れます。
写真だと0x0000~0x0FFFと0x3000~0x3FFFです。
狭いところに押し込んだせいで0x0000~0x1FFFみたいな設定ができなくなってしまいました。どうしても必要になったらコネクタとリード線で1-2, 3-5をショートするのを作るつもり。
書き込み禁止は74ALS00の余っていたゲートを2つで構成しています。04ではなく00にしておいたのが早速役に立ちました。
Universal Monitorの方は配置アドレスの変更(とSP
の初期化)のみで動作しました。
ここでせっかく0x0020~0x003FにあるCALL
命令のベクタが書き換えられるようになったのでブレークポイントを追加してみました。CALL
命令は1バイトで呼び出せるのでブレーク命令には好都合です。ブレークしたらレジスタの表示や変更がしたくなるのでR(egister)コマンドも追加し、G(o)コマンドではレジスタを設定するようにしています。
INS8073でも1バイト命令によるブレークができないだけで、3バイト命令になってしまいますがJSR
命令でブレークすることはできます。その場合継続実行するにはPC
を自分で補正しなくてはなりません。
コメントを追加