MC6802シングルボードコンピューター その2

MC6802

MC6802シングルボードコンピューターが無事起動が確認できましたので、基板ジャンパの動作確認とか、外部基板と連携しての動作確認をしたいと思います、

RAM領域の確認

まずは半田ジャンパを標準状態でRAM領域へのアクセスを確認します。
RAMは$0000-$7FFF、$A000-$BFFF、$C000-$DFFF です。

Universal MonitorのSコマンドで書き換えできるか確認します。以下のように書き換えはOKっぽいです。メモリーテストプログラムを書くのが正しいですが、軽く動作確認ということで、Universal Monitorのメモリー書き換えコマンドでご勘弁。

RAM無効ジャンパ

MC6802シングルボードコンピューター K6802-SBCですが、128kB SRAMメモリを装備してまして、I/O領域の$8000-$9FFFとかROM領域とかRAMにしたくないアドレスの場合 CS1/CS2を操作することで無効化するデコード方式にしてます。SBC-IOからアイデアをいただきました。

$A000-$BFFFについてはJP2半田ジャンパを短絡することで無効化できるようにしてましてK68-VDGのように外部ボード側のVRAMに明け渡したりできるようにしてます。

JP2を半田ジャンパで短絡して、アクセスできなくなることを確認しました、

ROM有効・RAM無効ジャンパ

ROMですがJP1を短絡することで$C000-$DFFFの領域もROMにアサインされます。
同じデコード信号をRAMのCE(正論理)に入れてますのでROMがアサインされてるときにはRAMは無効化されます

$C000-$DFFFの領域は、ROMかRAMどちらかを選択するエリアになってまして、外部基板では使用できません。

この点はREV2基板では改善したいです。

ROMの有効活用

「その1」でも書きましたが、ROMは27C256(32kBタイプ)を装備できるようにしてまして、容量が勿体無いので前半16kBと後半16kBを切り替えて使えるようにしてます。前半にMIKBUGを入れて、後半にUniversalMonitorを入れるとか便利に使えそう。切り替えはJP7ジャンパの切り替えで行います、

ROMの前半後半のメモリーイメージは以下の図のような形です。

ちなみにROMへの書き込みアドレスを間違えるとリセットベクタが正しくなかったりして暴走しますので注意してください。前半部分へ$E000からのプログラムを焼くなら W27C512だと$E000⇒$A000を指定して焼いたりしてください。

TL866II+などの場合はROMに焼くインテルHexファイルをロードするパネルで以下のような感じで指定します。

以下のように、MIKBUG、後半にUniversalMonitorを入れて無事起動しました。

外部基板との連携(K68-VDG)

本ボードはSBC68系 40Pブロックヘッダを装備してまして、フラットケーブルなどを経由して接続することで外部基板と連携できます。

K68-VDGビデオボードを繋げてみたいと思います。

VRAMエリアのディセーブル

K6802-SBC側の半田ジャンパJP2を短絡して$A000-$BFFFを切り離します。外部基板K68-VDG側に搭載しているVRAMとの競合を避けるためです。

K68-VDG側のVRAMアドレス変更

K68-VDGビデオボードは$C000-$DFFFがVRAMアドレスのデフォルトになってますので、半田ジャンパを設定して$A000-$BFFFに設定変更します。デフォルトは$C000のランドと真ん中のランドがつながってますのでカッターなどでパターンカットして、右側の$A000のほうと短絡してください。

動作確認

モニタプログラムで、$A000からデータを書き換えて画面の文字が変わるか確認してみます。
$41⇒$42⇒$43と入力して”A”⇒”B”⇒”C”と出てくればOKです。

今後について

とりあえず基板に装備した半田ジャンパの動作と、外部バス経由でMC6847ビデオボード(K68-VDG)の稼働が確認できましたので、今後は かんたんUSBホストを活用したキーボードI/Fを装備したり、Universal Monitorなどの機械語モニタープログラムや電大版TinyBASICに手を入れてキーボード・モニター装備のマイコン(パソコン?)にしてみたいです。

高校時代に夢想していた自作マイコン(パソコン?)に近づけるといいなと思ってます。

コメント