2018年12月14日金曜日

SBC6800で動作するTRACE機能のあるROM MONITOR

組込み式マイコン用として開発されたMONITORを試す


🔁SBC6800単独で動作可能🔁
Austoralia TECHSEARCH社製。同国のOLD Microさんが公開しているのでSBC6800用に移植してみた。M.R.HaskardさんとMichael Cvetanovskiさんに感謝致します。

🔁BASICを動作させるにはメモリ32KBに拡張する必要あり🔁

引用した資料、MONITOR、BASICプログラムの参照先


★ SBC6800の参照先電脳伝説さんのHP 】
 - ROM版 datermV5ROM.zip
  (datermV5ROM.asm, datermV5ROM.LST, datermV5ROM.bin, datermV5ROM.hex)
★ BASIC
 - RAM版 DATUBASICV1.zip
  (datuBASICV1.asm, DTUBASICV1.LST, DATUBASICV1.S)
★ EEPROMの書込み【当Blogの例】

1. 当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に拡張)
* BASICRAM領域    $2000 - $2800       SBC6800
*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 件のコメント:

コメントを投稿

SBC6800+SBC-IOのサンプルプログラム(3)TEK4010 Emulation

SBC6800のVRAM出力をTEK4010 Emulationでシミュレーションする 【当Blogのプログラムファイル置き棚のリンク先】 1. 当Blogの環境と条件  ★PC:    ・  TeraTerm   Setup     - Terminal ...

これまでによく読まれた記事