-
- MOTOROLA MC6846
- ROM I/O TIMER
- MC6802ファミリー
MC6846はROMとI/Oポート、タイマーを集積し最小限のICでMC6802コンピュータを構成することができました。
MC6846の特徴を示すと
- 2K byteのマスクROMを搭載
- 8bit 入出力ポートを搭載
- 16bit プログラマブル タイマ/カウンタを搭載
MC6846はMC6802やその他のMC680xシリーズのCPUと組み合わせることで、最小限の構成で
コンピュータシステムが構築されました。このへんの考え方は INTEL社の 8085+8155+8755に似ていますね。
MC6846はマスクROMのため、ある程度数がまとまってからでないと注文できませんでした。
そういう意味で全くアマチュアには縁の無い石でしたが、Motorola社のROMに
モニタープログラム (MIK BUG 2.0)を入れたものが一時期出回り、I/O誌等で盛んに製作されたようです。
このページ先頭の写真の MC6846は MIKBUG 2.0が入った版です。
右のMC6846は TV BUGと呼ばれる モニタープログラムが
入った物です。
TVBUGについては良く判りません。
米国製の初期のバソコンで使用されていたようです。
MC6846に内蔵された MIKBUG 2.0は簡易デバッグ用モニタープログラムで シリアルポートを経由して
デバッグを行ないます。
MIKBUG 2.0の主なコマンドを紹介すると。
コマンド名 | 解説 |
D | メモリ内容の表示 |
M | メモリ内容の変更 |
R | CPUレジスタ内容の表示 |
G | 指定番地からのプログラム実行 |
T | プログラムのトレース |
C | 現在の番地からのプログラムの再開 |
N | 次の番地からのプログラムの再開 |
V | ブレークポイントの設定 |
U | ブレークポイントの削除 |
B | ブレークポイントの表示 |
D | すべてのブレークポイントの削除 |
L | テープからメモリへ読みこみ |
P | メモリ内容のテープへの書きこみ |
MIKBUG 2.0の最小システムを構成するためには、MC6802 (CPU) + MC6846 (ROM I/O TIMER)
+ MCM6810 (RAM) + MC6820/21 (PIA) + MC6850 (ACIA)が必要です。
この場合のメモリーマップは次のようになります。
$FFF7 - $FFFF | 割込みベクタ |
$E800 - $FFFF | 未使用 |
$E000 - $E7FF | MIKBUG 2.0 (MC6846内蔵) |
$A108 - $DFFF | 未使用 |
$A100 - $A107 | MC6846 |
$A080 - $A0FF | 未使用 |
$A000 - $A07F | MCM6810 (スタック領域) |
$800A - $9FFF | 未使用 |
$8008 - $8009 | MC6850 |
$8004 - $8007 | MC6820/21 |
$4000 - $8003 | 未使用 |
$0080 - $3FFF | 未使用(ユーザメモリ領域として予約) |
$0020 - $007F | MC6802内蔵RAM |
$0000 - $001F | MC6802内蔵RAM(バッテリバックアップ可) |
実際の利用には $0080からのユーザ領域にRAMを用意してシステムを構成しました。