MC68kボード (第2期工事編)
第2期工事はFPU MC68881RC16Aの追加です。
基板の空いたエリアにMC68881RC16Aを追加しました。このデバイスはMC68020用の浮動小数点コプロセッサですが、他のプロセッサにもI/Oデバイスとしてなら接続可能です。バス幅も8,16,32どれでも可能でここでは16bitバスで接続しています。クロックもメインのプロセッサは8MHzでこのFPUは16MHzという変なことをしていますが全く問題ありません。
個人的に製作してきたものの紹介です。
電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。
回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。
残っていないのではなく、そもそも書かないことが多かったためです。
もちろん仕事ならば書きますが。
特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。
5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。
第2期工事はFPU MC68881RC16Aの追加です。
基板の空いたエリアにMC68881RC16Aを追加しました。このデバイスはMC68020用の浮動小数点コプロセッサですが、他のプロセッサにもI/Oデバイスとしてなら接続可能です。バス幅も8,16,32どれでも可能でここでは16bitバスで接続しています。クロックもメインのプロセッサは8MHzでこのFPUは16MHzという変なことをしていますが全く問題ありません。
MC68kボードは少しずつ製作したわけで、今回はその第1期工事(下写真の明るい部分)です。
私の個人的な製作としては珍しくこの部分は回路図を(手書きメモ程度ですが)書いていました。それを発見してからとも思っていたのですがなかなか出てこないので記憶を手繰って書くことにしました。発見したら訂正も含めて紹介しますね。
この時点のスペックは以下になります。
今回はMC68kボード (概要編)で紹介したボードに搭載したソフトウェアの話です。
CP/M-68K上で動作させたソフトウェアまで含めるとキリが無いので、ボード上のROMに書き込んだものに限定します。そうするとモニタ、Tiny BASIC、CP/M-68Kの3つになります。
【モニタ】は最初に動かしたもの(ハードウェアのテスト用の無限ループ等を除いて)になります。ベースは「トランジスタ技術」誌の1985年4月号にアセンブラソースが掲載されたものです。その後少しずつ機能を追加して行き、MPUをMC68010に変更したときは対応するための修正をしています。
ただMC68kはバイナリを見ながらデバッグするような代物ではないので、もっぱらハードウェアの確認用に使用することが多かったです。後述のTiny BASICのデバッグ時も机上で行ってROMを書き換えてしまうことが多かったです。
今までに個人的に製作したボードの中で最も役に立ったのはこれです。
モトローラのMC68kシリーズを使ったマイコンボードです。
作り始めたのは私が高校生だった頃、PC-9801シリーズが欲しかったけれど買うだけのお金はなく、たどり着いたのがこのボードです。プログラミングのためと割り切って、CPU周りのみ製作してI/Oは手持ちの8ビットパソコンを利用するという手で規模を絞っています。
最終的なスペックは以下の通りです。
初めて作ったマイコンボード、Z-80ボード1号機、の部品です。残念ながら現物はバラして部品取りにしてしまっているので現存しません。
中1の夏休みに作り始め、何とか動作するところまでこぎつけましたが、やはり実用性は無く、あまり使わないままばらしてしまったと記憶しています。
タイトルの「形見」というのはボード自体は残っていないけれども、ボードに使われていたであろう部品を発見したということです。
これはデータの表示に使っていた7セグメントLEDのためのデコーダ、F9368です。0~9のBCDをデコードできるものは多くありますが、0~9に加えてA,b,C,d,E,Fも含めたHEXのデコードができるのは知る限りこれだけですね。
デバッグしながらROMを書き直すのが面倒になって作ったROMエミュレータ、ですが製作後ROMを使う機会が少なくなってしまいました。
中央が本体、右の子基板はPCのシリアルと接続するためのRS-232レベルコンバータです。左のクリップはPCからアクセス中にターゲットをリセットするためのもので、アクセス中はROMとしてターゲットから正常なアクセスはできないからです。ちゃんと切り離してはいるのでリセットしなくてもバスが衝突したりはしません。
製作するに当たって目標とした仕様は以下の通りです。
対象とするROMは27256のみに絞ることにしました。
当然縦型で作ることになります。基板を削るのが面倒で若干超えていますが、普通に設計されたターゲット基板ならまず問題ないでしょう。これで干渉するなら本物のROMでも抜くのに苦労するでしょう。
PC-8001mk2に挿していた自作の拡張ボード、2つのスロットにはこれと8インチFDのコントローラが入っていました。
これが全体像です。
下の拡張スロットに挿していたI/Fボードと右上のROMライタボードの間は例によってコネクタをケチって直結していますね。
I/Fボードから伸びている黒いコードは音声出力、細い青い線は+12Vの電源です。
I/Fボードの表面、このボードには
黒の26ピンコネクタにPPI (8255)のポートがそのまま出ています。
2764/27128に書き込むことができました。
子供の頃に作った安定化電源が出てきました。
左は電源スイッチ(1次側)、黒いダイアルは電圧切替のロータリースイッチで6V, 8V, 12Vが切り替えられました。赤黒のターミナルはもちろん出力端子です。
それまで工作には乾電池を使っていたので、その置き換えに作ったのがこれです。そういうわけで電圧も4, 6, 8個直列に合わせて6V, 9V, 12Vにしたかったのですが、7809が手に入らなくて8Vになっていました。
当時のACアダプタは安定化していないものが多く、そのままでは乾電池の代わりにはならなかったのです。前に紹介したTC-1100のアダプタも(後に分解したところ)中身はトランスと整流用ダイオードと平滑用のコンデンサだけでした。
ちなみにこれは最後の姿で、最初に作ったときは確か加工の簡単なプラケースに入れていたのですが、トランスの重みで何度もケースが割れたのでこのアルミケースに入れ替えたのです。