ブログ始めました。
未だに6809をいじり続けているOld68funです。
6809シングルボード
最近ネットで6809と検索するとシングルボードコンピュータがヒットし、結構盛り上がっているようです。それに刺激されて、私もシングルボードマイコンを製作してみました。
私の場合はFLEXが動くことが必須条件であり、Windows上に仮想ドライブを構築して、
ディスクレスのFLEXシステムとすることにしました。
ちょうどFusionPCBで10cmx10cmのプリント基板5枚で送料込みで7.9ドルというキャンペーンをやっていましたので、それに合わせて、初めて使うKiCadでこのサイズ中にCPU,ACIAを2個,ROM,RAMを1又は2個とTTLを10個も押し込んで作ってみました。
KiCadの初心者で使いこなせておらず、回路の間違いもありましたが、何ヶ所かの修正で無事に動きました。
CPUは6809と6802の2種、ROMは4KB、RAMは64KB、ACIA(6850)がコンソール用と仮想ドライブ用の2個で、クロックはACIAのボーレート用と兼用するためゲートICで発振させてCPUに供給しています。ですので、8MHzの時のシステムクロックは2MHzで通信のボーレートは38400baudで4MHzの時はその半分になります。アドレスバスもデータバスもバッファリングしているので、IC数が多くなりました。
6809SBDV11(128KBのRAM使用) |
6809SBD_V22 |
6809SBD(32KBのRAMを2個使用)
|
6309EPで動作させるためのアダプター |
手持ちに、以前63C09 のつもりで購入した63C09RP(全てEP相当でした...)や63C09EPがありますので、EP用のアダプターも作ってみました。「6809ハンドブック」(加瀬清著)中のFF2個でE,Q信号を作成する回路をそのまま使っています。画像中にはクリスタルとICが見えますが、クロックを2倍にしてみるための実験回路で、アダプターとしては不要です。
全体構成
全体構成図 |
FLEXの起動
2個のACIAの先にUSB変換ケーブルを接続してWindowsパソコンとつなぎ、ConsoleとしてのTeraTermと、仮想ドライブ用の自作プログラムFlexDrvWinを起動します。ASSIST9が動作 |
リセットすると6809用のモニタプログラムASSIST9が起動します。
仮想ドライブプログラムのドライブ0には起動するシステムディスクをDrag&Dropで設定します。いくつでも設定でき、切り替えてアクティブにできます。
また、システムディスクとしては標準のDSKファイルの他にD77ファイルも使えます。
ドライブ1~3には適当なワークディスクを入れておきます。
FLEXを起動 |
そして、ASSIST9の拡張コマンドとして設定してあるFLEX起動コマンドでFLEXを起動します。
画像は、起動後にCATコマンドを実行してドライブ1のファイルを表示しています。
FlexDrvWin |
FlexDrvWin中右のListはFLEXがRead/Writeしているセクターを表示しています。
左のListはアクティブなディスク中のファイルを一覧表示しています。
ここでDrag&Dropによるファイルの追加や削除、名称変更ができます。
('18.5.4追記:FlexDrvWinのダウンロード先をリンクしました)
FLEXについて
私の使い方としては、Windows上の使い慣れたエディタでプログラムを作り、自作の6809用クロスアセンブラでアセンブルしてエラーが無くなったら、FlexDrvWinに放り込み、FLEX上のASMBでアセンブルして保存というスタイルです。今まではFM77AV40SXに4MbitのROMとRAMを載せた拡張回路を接続してROM,RAMディスクとして使用しており、さらにドライブ3としてWindows上の仮想ディスクも使用していましたが、フロッピーで起動しなければならないことやWindowsとのファイル交換が不便だったりして、何とかしたいと思っていました。
このボードを作成したことで、ようやくフロッピィ―ディスクと縁が切れ、Windowsとの連携もし易くなり、とても使い勝手が良くなりました。
私のFLEXは大昔、TSC社から直接購入したもので8インチのGENERAL版でVer3.01ですが、今はネットから入手できます。また、ドキュメント、言語やユーティリティなども入手できますので、6809で遊ぶには向いていると思います。
頂いたプリント基板で6809版のSBCを組み立ててみました(^^)
返信削除プリント基板なので2時間程度で完成し、ASSIST9や6809 MONITOR 5.1が動作しています(^^)
手元にシリアル-USB変換器が1個しかないので、現在はコンソール側のみの接続ですがもう一つシリアル変換器を入手するかMAX232等で普通にポートを増やして仮想ドライブも試してみたいと思います^^
コメントありがとうございます。ブログを開設して初めていただいたコメントです。
削除無事に動作したとのこと、安心しました。ぜひポート2も接続して仮想ドライブ上のFLEXを楽しんでください。結構使い勝手が良いと思いますよ。
私の方は、ASSIST09の拡張LOAD,SAVEコマンドのWindows側のソフトslwin.exeの改良版を6809,6800用共にようやく仕上げたところです。
しばらく使用してみて不具合が無いようでしたら、6809版をアップする予定です。
ぜひOS-9も!
返信削除http://www.cr.ie.u-ryukyu.ac.jp/hg/Members/kono/os9/sbc09
コメントありがとうございます。6800/6809FLEXについては一段落つきそうですので、今年はOS-9を走らせることを目標にしようと思っています。
削除