HD1-6120ボード(ハードウェア編)
去年入手したHD1-6120、ボード作りかけのまま時間が経ってしまいましたがやっと動くところまでたどり着きました。
いつものようにEMILY Boardを利用します。HD1-6120は12ビットバスなのでEMILY Board +8が必須となります。
基板の表側、搭載部品を見ていきます。
もちろん40ピンの大きなのがご本尊HD1-6120-9です。
個人的に製作してきたものの紹介です。
電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。
回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。
残っていないのではなく、そもそも書かないことが多かったためです。
もちろん仕事ならば書きますが。
特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。
5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。
去年入手したHD1-6120、ボード作りかけのまま時間が経ってしまいましたがやっと動くところまでたどり着きました。
いつものようにEMILY Boardを利用します。HD1-6120は12ビットバスなのでEMILY Board +8が必須となります。
基板の表側、搭載部品を見ていきます。
もちろん40ピンの大きなのがご本尊HD1-6120-9です。
前回は開発環境を準備したところまで書きました。あとは目的の論理を書くだけと言いたいところですが、ちょっと気になることがあるので先に試してみることにします。
それは以下のような箇所があることです。
オープンドレインによる(負論理の)ワイヤードORです。上の2つは実際は独立したオープンドレインバッファではなくLSIの出力がオープンドレインになっています。
残念ながらGAL16V8にはオープンドレイン出力の機能はありません。探すとオープンドレイン対応のGAL16VP8というものが存在したようなのですが、今さら入手は難しいでしょう。念のためにAliExpressとeBayを見てみましたが発見できませんでした。
ちょっと訳あってGAL動かしてみました。
これまでにも勤め人時代にAltera(今はIntelになっています)のEPM7128とかLatticeのLC5256MVなんかは使ったことがありました。公式には私はソフトウェア担当だったのですが、いろいろあって回路やこのようなPLDの設計も何度かやる機会もあったのです。
個人的にはGALやXilinxのXC9500など必要になったら使えるようにデバイス調達したり書き込み環境準備したりしていたのですが、いつも汎用ロジックで何とかなってしまい実践する機会がありませんでした。
そんな中、機会が到来しました。
TMS9995ボードにUniversal Monitorの基本部分(D,G,Sコマンド)の移植ができましたので、アセンブリ言語でプログラミングしてみて感じたことを書いてみようと思います。
何年も前に入手したままになっていたTMS9995、やはり動かしてナンボだと思うのでEMILY Boardで動かしてみることにしました。
EMILY Board用のCPUボードはいつも似たようなものになります。
これ、自然とそうなるというだけではなく、敢えてそうしている面もあります。EEPROMとオシレータとかどのボードにもある部分はなるべく共通にして機械的に作業できるようにしています。このボードにはありませんがアドレスラッチなども同様です。
まずは表面から。
しばらく前に手に入れたRP2A03、ボード作って動かしてみました。
このようにCPUを安直に動かすにはEMILY Boardが楽です。新規に作ったハードウェアはこのボード1枚、ソフトウェアもUniversal Monitorをそのまま使用しました。
基板の配線が終わったら電源ラインの確認後、発振器とCPUのみ搭載してクロックの確認を行ないます。M2(6502のφ2相当)にCLKを12分周したクロックが出てくればひとまずOKです。
動かないまま保留しているWDCのW65C02ですが、先日efialtes_htnさんよりVihを満たせていないのではないかとのコメントを頂き、入力ピンの電圧を確認してみました。
実測でもそれぞれ4.98V, 5.00V, 4.98Vと問題ありませんでした。
Universal Monitorを移植しようと組み立てたMUTIF09、他の石も載せてからと思っていましたが時間かかりそうなのでとりあえず現状です。
MUTIF09はKasumi YOSHINO(JA1UMI)氏のシングルボードコンピュータボードで、資料はBOOTH・プリント基板はオレンジピコショップにて入手可能です。Universal Monitor移植に最低限必要なもの(と手持ちがあって迷いのないものの一部)を搭載しています。
それでは基板上の部品を見ていきます。
MN1613のステップ実行(その1)以降、少し進展がありました。
一つ目はアドレスバスとMEMR, MEMWをLED表示する基板を用意したこと、これで1本ずつテスタで電圧を測る必要がなくなりました。
本当はIOR, IOW, FSYCなども見たいところなのですが、EMILY Boardのリボンケーブルを利用する形にしたので諦めました。アドレスの上位4ビットは未使用ピンに割り当てたのですが、あまり今回だけの信号を割り当てるのは避けたかったのです。数も少ないことですしテスタ対応すればすむことです。
データバスはコネクタまでは準備したのですがLEDは未実装です。ステップ動作中でもメモリの内容はEMILY Board側から自由に参照・変更できるのでとりあえず無くても何とかなりそうだからです。