2019年4月30日火曜日

SBC6809+IOのASSIST09にOMEN MicroのKILO Monitorを同居させる

当Blogで報告したSBC6809+IOのASSIST09にOMEN MicroさんのKILO Monitorを加えてみた。

🔀アークピットのアセンブラX6809.exeの作法に従ってKILO Monitor v2ソースを変更した🔀

swフォルダ(Monitor V2 )内の mon2.a09

O_assist09v7_SBC.zip(O_assist09v7.asm, O_assist09v7.HEX, O_assist09v7.LST)

ACIA clock:1.8432MHz, Baud Rate:115.2KHz


1. PCの環境と条件
 ★PC:
 win10に次のコマンドをインストール:
  msdos.exe  MS-DOS Player
  X6809.exe  Arcpitのクロス・アセンブラ
  Xgpro v8.30 Universal Programmer TL866 II PLUSの書き込みソフト


TL866 II PLUS
  Tera Term  ターミナルソフトTera Term
   ・ TeraTerm Setup
    - Terminal
     New line Receive  : CR
    - Serial port
      Transmit delay :0msec/char 50ms/line

 ★SBCシリーズの製作:
  SBC6809 (スイッチサイエンス)
  SBC6809 Adapter Rev.02 (ORANGE pico)
  SBC-IO Rev.02  (ORANGE pico)
  SBC-BUS Rev.02 (ORANGE pico)

  参照記事:
  「電脳伝説さん」の【ホームページ】
  「レトロな雰囲気さん」の【SBC6800/SBC6809ルーズキットを動かす】
  「kuni-netさん」の【CPUボード(SBC6800)で電大版TinyBASICを動かす】

   当Blog の製作記事【SBC6809+Apaterをつくる】

2. オリジナルのASSIST09
 参照記事:
  MOTOROLA「MC6809-MC6809E Microprocessor Programming Manual」
    海外サイトの【http://www.classiccmp.org/dunfield/r/6809prog.pdf】
 その他に参照した記事
    Old68funさんの【6809/6800とFLEX】


3. mon2.a09ソースの手入れ
 ・Arcpitのアセンブラの作法に合わせて、修正
   DS -> RMB
   DB -> FCB
   .CSTR -> 最後に$00を追加
 ・O_assist09v7.LSTの 「<--」の表示がある行
 ・?、H、Sコマンドの追加
 ・ACIA のリセット
 ・BUGと思しきリスト





















4. 修正したソースはO_assist09v7.asm
5. 起動
 POWER ON でASSIST09が起動する。
 コマンド 「U」でKILO Monitor v2に移行する。
 コマンド 「U」でリストが表示され、「A」を選択するとASSIST09に戻る。
 Motorola S format ファイルの読み込みはKILO Monitor の方が早い。
  Transmit delay :0msec でOK






SBC6809(32KB) +Adapter         SBC-IO(16KB)

以上















2019年4月28日日曜日

OMEN MicroのKILO Monitor v2 をMUTIF09に移す

MUTIF09にOMEN MicroさんのKILO Monitorv2を走らせた。
合わせてNVRAMの相性問題を解消した。

OMEN Microさん、Githubのリンク先
  swフォルダ(Monitor V2 )内の mon2.a09


【omen_monV3ファイルの置き棚
M_omen_monV3.zip(omen_monV3.asm,omen_monV3.HEX,omen_monV3.LST)

1. PCの環境と条件
 当Blog 3月1日の記事と同じ

2. MUTIF09の製作
 当Blog 3月1日の記事と同じ
 ・NVRAM, DS1230Y-100+ が使用できなかった(TWITTER)が、次の改修で改善した。
 ・C6の+5V側とR2の+5V側を写真のように接続。即ち、引き回されていた+5Vラインを短縮することで、CPU, NVRAMに供給する電源電圧低下を少なくした。
 ・このための基板パターンの修正は無し

   ★TWITTERへのリンク

3. mon2.a09ソースの手入れ
 ・Arcpitのアセンブラの作法に合わせて、修正
   DS -> RMB
   DB -> FCB
   .CSTR -> 最後に$00を追加
 ・omen_monV3.LSTの 「<--」の表示がある行
 ・?、H、Sコマンドの追加
 ・ACIA のリセット
 ・バグの修正
4. 修正したソースはomen_monV3.asm
 【omen_monV3ファイルの置き棚
5. BASICのテスト
 monior コマンド 「U」でリストが表示され、「B」を選択するとBASICに移行

以上

2019年3月14日木曜日

MUTIF09のASSIST09にTRACE機能を加える

MUTIF09のPTM、NEC D8254Cのタイマーを使ってTRACE機能を実現した。


M_assist09v5.zip(M_assist09.asm,M_assist09v5.HEX,M_assist09v5.LST)
AplusBASICv5.HEX

1. PCの環境と条件
 当Blog 3月1日の記事と同じ

2. MUTIF09の製作
 ・D8254を装着
 ・D8254のOUT 0(pin 10)とMC68B09のNMI(pin2)を写真のように接続
 ・このための基板パターンの修正は無し
   ★TWITTERへのリンク

3. ASSIST09ソースの手入れ
 ・3月1日の記事のM_assist09v3.asmをD8254用に書き換え、NOPを挿入してアドレスを調整
 ・D8254のタイマー時間、「14サイクル=7μS」はCUT&TRYで設定したもので最適かどうかは不明だが、下記の写真のように1ステップ毎の実行も動作している。
 ・因みに
  - 13サイクル以下ではステップが進まず、プログラムカウンタは変化しない。
  - オリジナルのMC6840では7サイクルとなっている。
 ・ファイルのversionをM_assist09v5とした。


STROBEモードに初期化

タイマーを14サイクル(7μS)に設定
 修正したASSIST09のソース(M_assist09v5.zip)とBASICを含んだHEXファイル(AplusBASICv5.HEX -> $C000 - $FFFF)を置き棚においた。


4. BASICの動作確認
 AplusBASICv5.HEXをEEPROMに焼いて基板に装着し、VINTAGE-BASIC.netのBOUNCE.BASを走らせた。
 ASSIST09から
  >G C046↲
        でBASIC起動
 「BOUNCE.BAS」をDRAG&DROP後、写真の数値を入力


以上

2019年3月1日金曜日

SBC6809のソフトをMUFIF09に移す

MONITORとBASICをMUTIF09 シングルボードコンピュータで走らせてみた。



 MUTIF09 を作ってみた。最初に製作した時にはRAM領域を増やすためにNVRAMを試用し、基板にいくつかの修正を加えてMONITORとBASICを走らせることができた。さらに設計書通りに製作したものでも動作確認を行った。

1.PCの環境と条件
 ★PC:
 win10に次のコマンドをインストール:
  msdos.exe  MS-DOS Player
  X6809.exe  Arcpitのクロス・アセンブラ
  Xgpro v8.30 Universal Programmer TL866 II PLUSの書き込みソフト
   (v8.30から純正書き込み装置以外では動作しない仕様になった)


TL866 II PLUS

2.MUTIF09の製作

2-1. オリジナルのままの場合
「MUTIF09の 6809シングルコンピュータ 技術メモ 改訂増補第3版」の内容に従って製作した。但し、8.0MHzクリスタルオシレータが入手できなかったので、次のように修正を加え内部発振回路を利用した。

注:オリジナルのまま製作した時には、当Blogの3、4章を飛ばして「MUTIF09に移したファイルの置き棚」にある
 SplusBASICV3.HEXをEPROMに焼けば、S-BUGとBASICが起動できます。
  ・Xgproの「File Load Options」「From File Start Addr(Hex) 」-> 「C000」
                 「TO Buffer Start Addr(HEX)」-> 「4000」
   に設定して焼く。
MC6809データシートから引用

★ 基板パターンの修正
・ 表/裏面 MC6809 pin 39 をGNDから外す。


・ クリスタルとその両端にコンデンサ(18pF)を取り付ける。
・ クリスタルの一方とMC6809 pin 39 をつなぐ。
RESET SW両端の10μFはNVRAM対策用

・ 現時点では写真以外の部品は取り付けていない。


気分でつけるパスコンも装備


2-1.当Blogでの改修
「MUTIF09の 6809シングルコンピュータ 技術メモ 改訂増補第3版」の内容に従って製作したが、相違点は次の通り。
 NVRAMをEPROMの代わりにするために、Vccラインの引き回し変更やEPROMへのWR信号追加など、基板パターンの修正はやや面倒なのでここでは略すこととします。

・ 部品の変更 
 U11 27128   ->  NVRAM DS1230Y
 U10 62256   ->  NVRAM DS1230Y
 U1   クリスタルオシレータ8.0Mz  ->  クリスタル 8.0MHz, 12pF 2個
 当Blogでは、NVRAMを初めて扱うが、採用した理由は
  - RAM,ROMで共用できること。
  - 従って、GALを書き換えればRAM領域が拡張できること
  - access timeが100nSであること
  - TL866 II PLUSでデータが書き込めること
  - 海外から購入すれば、それなりの価格で入手できたこと
からである
 POWER ON時には、NVRAMはVccを監視してアクティブになる。従って、CPUが先にアクティブにならないようにCPUのRESETボタンの両端に10μFのコンデンサを追加して対処した。
DS1230Yデータシートより引用
DCジャックとLEDを取り付け

IC実装

3. S-BUGソースの手入れ

 (1) ACIAアドレスを$B000に


 (2)BASIC起動時にCOLD STARTになるようにBASICのFLAGをクリア


 (3) BASICを起動するために「U」コマンドの開始番地を設定


★ BASIC
 (4) ACIAアドレスを$B000に

 (5) メモリアドレスを$C000に
★ アセンブルする
 (6) S-BUG
  win10の コマンドプロンプトで次のように入力する。
 >msdos X6809 /H  M_SBUGV3.asm  M_SBUGV3.HEX  M_SBUGV3.LST
 参照記事(Arcpitクロスアセンブラの使い方など)
  「Old MC6800さん」の【MIKBUGプチ拡張】
  「DAIさん」の【適当にためしながら学ぶ電子工作お勉強室
 (7)  BASIC
  同様に、
 >msdos X6809 /H  M_BASIC9$C0.asm  M_BASIC9$C0.HEX  M_BASIC9$C0.LST

4. PROM、NVRAMに書き込む

 (1)  EPROMの場合
  ★EEPROM(32KB)
 ・CATALYST CAT28C256P-20
 ・ATMEL AT28C256 15PI

 
  BASIC -> S-BUGの順に読み込む



S-BUGを読み込む時にはDisableにする




 (2) NVRAMの場合
   ★NVRAM(32KB)
 ・DS1230y-100+
   Select IC を変更すれば、あとはEPROMと同じ手順

5. MONITORを起動する
 焼き込んだPROMまたはNVRAMを挿入してPOWER ONで起動する。
 「U」コマンドでBASICがCOLD STARTする。
 注:当Blogの所有するNVRAMは難なく起動したが、EPROMは起動するCHIPとそうでないCHIPがあった。
 注追記 '19.04.16 :上記のNVRAMは、ROM,RAMとも「DS1230Y-100+」。しかし RAM部分のみ新たな「DS1230Y-70IND+」 に差し替えるとどのEPROM CHIPでも動作した。アクセスタイムの違いか? ややこしそうなので何故かは追跡しない。
 注追記 '19.04.28:NVRAMの問題(TWITTER)は次の改修で改善した。これでDS1230Y-100+」も使え、とりあえず解消
 ・C6の+5V側とR2の+5V側を写真のように接続。即ち、引き回されていた+5Vラインを短縮することで、CPU, NVRAMに供給する電源電圧低下を少なくした。



   ★TWITTERへのリンク

RESET 後など、BASICをHOT STARTするにはコントロールPでPC(プログラムカウンタ)をC046に設定して、G を入力する。

★ BASICプログラムの動作例(VINTAGE-BASIC.netより引用したLIFE.BAS)


LIFEを走らせた

最終的に2パターンに辿り着く

もう一つのパターン
6. ASSIST09ソースの手入れ

 このASSIST09には下記の記事から引用させていただいて「F」、「X」コマンドを追加した。この記事でコマンドの追加の仕方が参考になったので「?」(HELP)コマンドも加えてみた。





完動した2式

以上

2019年1月20日日曜日

MONITOR SBUG 1.8 をSBC6809+IO に移植した

🔀MC6809 MONITOR SBUG を SBC6809+IO に移植してみた🔀


🔀ArcpitのアセンブラX6809.exeを使ってSBC6809に移植する一部始終🔀



★ PCの環境と条件は【2018年10月9日の当Blog】を参照

1. オリジナルのSBUG-E Source Codeのお手入れ

Michael Holley さんのhttp://www.swtpc.com/mholley/MP_09/SBUG_Index.htm

このページの「SBUG-E Source Code(37K TXT)にあるsbug_src.txtをPCに保存する。
win10のテキストエディタ 「メモ帳」でsbug_src.txtを開いて見ると改行コードが含まれない。従って、一度「ワードパッド」でsbug_src.txtを開き、そのまま「上書き保存」する。これでテキストに改行コードが挿入される。以降のテキストエディタには「メモ帳」を利用する。
「メモ帳」で次のように編集する。
  • ACIAアドレスを変更(SBC6809)
    • $E004 -> $8018
  • WORKアドレスを置換(SBC-IOメモリ領域)
    • $F0xx -> $A0xx


  • 改行を挿入
    • オリジナルソースの2行が、次のように1行になってしまっているところがあるので改行を入れる。 この一箇所のみ
オリジナルソース sbug_src.txt


改行挿入後

  • アセンブラ固有のFCB定義のための「'」を加筆
    • この一箇所のみ


ファイルに名前を付けて保存する。ファイル名はsbug_src.asmに変更。
Arcpit のアセンブラ X6809.exeでアセンブルする。

>msdos X6809 /H sbug_src.asm, sbug_src.HEX, sbug_src.LST;
0 Error(s) detected で一発パス。
当Blogでは名前をSBUG09V1に代えて、【起き棚】に配置しました。


★ その他に参照した記事:

 OLD  Microsさんの  SBUG monitor

 Old68funさんの          6809/6800とFLEX】


2. SBUGの起動
ROMの実アドレスを$F800に設定して、sbug_src.HEXをEEPROMに焼く。
256K(32KB)のEEPROM(AT28C256)場合のTL866 II PLUS書き込みソフトの設定例



焼いたEEPROMをSBC6809に挿入する。
Tera Term のTerminalは、size を80にする。

Tera Term のSerial Port は、Stop を2 bitにする。

POWER ONで写真1のプロンプトが表示される。


写真1 SBUGのプロンプトとコマンド

3. コマンド一覧

  • SBUG-E Source Codeの最初のページから引用




以上




MUTIF09にAM9511を載せてみる

難しそうで躊躇っていたAm9511ですが、 【ryu10さんのBlog】 に勇気づけられ、チャレンジすることにした、そのあれこれです。 【MUTIF09のファイルの置き棚】 1.PCの環境と条件   ★PC:  win10に次のコマンドをインストール:   msdos.exe  ...

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