組込み式マイコン用として開発されたMONITORを試す
🔁SBC6800単独で動作可能🔁
Austoralia TECHSEARCH社製。同国のOLD Microさんが公開しているのでSBC6800用に移植してみた。M.R.HaskardさんとMichael Cvetanovskiさんに感謝致します。
🔁BASICを動作させるにはメモリ32KBに拡張する必要あり🔁
引用した資料、MONITOR、BASICプログラムの参照先
★ SBC6800の参照先【電脳伝説さんのHP 】
★ MONITOR 【当Blogのプログラムファイル置き棚のリンク先】
- ROM版 datermV5ROM.zip
(datermV5ROM.asm, datermV5ROM.LST, datermV5ROM.bin, datermV5ROM.hex)
★ BASIC
- RAM版 DATUBASICV1.zip
(datuBASICV1.asm, DTUBASICV1.LST, DATUBASICV1.S)
★ EEPROMの書込み【当Blogの例】
★PC:
・ TeraTerm Setup
- Terminal
New line Receive : AUTOまたは CRのどちらでも
- Serial port
Transmit delay :0msec/char 100ms/line
★SBC6800:
・ 32KB メモリ実装(AT28C256)
2. MONITORのメモリ割当(SBC6800のメモリを32KBに拡張)
*BASICInterprt領域 $2800 - $37F7 SBC6800
* MONITORRAM領域 $0000 - $002D SBC6800
* MONITOR領域 $E000 - $E879 SBC6800 オリジナルは $7000 - $778D
* ユーザ領域 $0100 - $1FFF SBC6800
⇥ダイレクトページ($0000-$0100)をMONITORが使っているのは
元々がMC6802用だからだろうか?
3. 特徴
*ブレークポイントの設定
*SWIを利用したトレース機能
*メモリ書き換えで後戻り可
*メモリのブロック単位の転送・フィル
*コマンド一覧表示- Motorola MONITOR共通のサブルーチン(ROM)は無し
- 1文字入力 $E0DA INEEE
- 1文字出力 $E0E7 OUTEEE
- START $E008
- CONTRL $E11E
4. MONITORコマンド
・POWER ONで「-- DATERM V1.3 --」が表示される。
★コマンド
・B
ブレークポイントの設定
・D
DUMP 256 Byte単位表示で一時停止。スペースで次へ。OriginalはESC。Tera TermでESC出力がうまく動作しなかったため
・F
指定アドレス範囲に同一データ書込み
・Gブレークポイント、トレース時に次の命令を実行
・ I
指定アドレスのメモリ内容表示・書換え
スペースで次へ
^で後戻り
・J
指定アドレスにJUMP
・L
SフォーマットデータのLOAD
・M
指定アドレス範囲のメモリを別のアドレスに転送
・W
SフォーマットデータのPUNCH
・T
指定アドレスから1命令づつ実行し、レジスタ内容を表示
・X
ブレークポイントの解除
・?(当Blogで拡張)
ヘルプ
・コントロールA, B, X, S, C
各レジスタの内容表示・書換え
5. BASIC Interpritter
MONITORに付属しているBASICを移植した。Manualにも説明されているようにプログラミングを学ぶ初心者用に作られているので、機能が限定されてる個性的なものと当Blogでは認識している。移植時のBUG FIXには時間を費やしてしまったが!
・ホットスタート開始番地 :$2800
・コールドスタート開始番地:$2803
★DATUBASICV1.S開始番地MONITORのLコマンドでLOADした後
・ J 2800 で実行。写真の <BASIC> が表示される。
この例に見るように演算は左優先となっている
・サンプルプログラム(置き棚参照)
TOBINARY.txt 10進数を2進数に変換するプログラム
左はModified SWTBUG 右はDATERM ROMを実装した基板
4枚の基板で消費電流は0.6A
以上
0 件のコメント:
コメントを投稿