2019年8月26日月曜日

FM77用の拡張I/Oボード、ROM/RAMディスクボードのプリント基板化が完了

6月12日のブログで紹介しましたFM77用の拡張I/Oボード、ROM/RAMディスクボードのプリント基板が完成しました


拡張I/Oボードの方は比較的単純な回路なのですが、ROM/RAMディスクボードはソフトに合わせて回路をかなり変更したのに、変更記録を完全に取っていなかったこともあり、製作時の記憶をなかなか思い出せず、KiCadの回路図に起こすのにかなり苦労しました。

例によって、勘違いによるミスもあり、修正を余儀なくされましたが、そう大きな修正でもなく何とか修正できました。
今回のミスで最大のものは同じピン数のコネクタで番号配置の異なるものを部品指定してしまったので、配線がでたらめになってしまったことでした。

でも、格安基板の10cmx10cmまでというサイズに収めるためにかなり無理をしましたがなんとか収まったので良しとします。

制作した基板を示します。
右が拡張I/Oボードで、左がROM/RAMボードです。

右:拡張I/Oボード、左:ROM/RAMボード

下画像のように2枚を重ねた状態で使用できます。


重ねた状態

それぞれの基板の回路図を示します。

拡張I/Oボード


ROM/RAMボード


それぞれの基板の部品配置です。
(1)拡張I/Oボード
FM77AVの拡張ポート(アンフェノール50P)に接続します。基板上の68B21にはAE-FT245RL、68B50にはAE-FT232RLとMAX232が接続されており、他に68B40(PTM)があります。(AE-FT232RLとMAX232は排他使用です。)


拡張I/Oボードの部品配置

(2)ROM/RAMボード
68B21を1個のみで4MbitのROMとRAMを制御しています。
ROMとRAMのペアが2組あり、それぞれスイッチで切り替えます。私はFLEX9システムとOS-9システムとで使用しています。RAMはバッテリバックアップされています。


ROM/RAMボードの部品配置

私の使用機器はFM77AV40SXなので、拡張ポートはアンフェノール50P ですので、途中で50Pフラットケーブルに変換して接続しています。
基板の入力を50Pフラットケーブルにしたのは、FM-7でも使用できるようにと考えたからですが、残念ながら、FM-7の拡張ポートには2.5MHzのクロックが出ていませんし、ピン配置等も異なりますので、そのままでは接続できません。
むしろFM-7の場合には、32Pの拡張コネクタの方が必要な信号が揃っていますので、こちらに接続するべきかもしれません。


左がFM77からの50Pケーブル、右がWindows機へのUSBケーブル

これらの基板のみで使用する場合は、本体のドライブが0と1で、ROMがドライブ2、RAMがドライブ3という形で使用することになります。
FLEX9やOS-9のディスクドライブルーチンをフックして、ドライブ番号が2と3の時のみROMやRAMをアクセスするように切り替えるルーチンを追加します。

さらにWindows機上の仮想ドライブを使用する場合には、ドライブ3や2を仮想ドライブに切り替えるルーチンを使用します。使用するFlexDrvWin.exeは以前公開したものがそのまま使えます。

現在は、F-BASICでも使用できるように、FbasDrvWin.exeを作りましたので、F-BASIC側のディスクドライブルーチンをフックするプログラムを作っているところです。



[蛇足]+++++++++++++++++++++++++++++++++++++++++++++
手持ちの過去の製作物でプリント基板化したいものとしては、もう一つ、数十年前に製作したFM-7用のFDD基板があります。


MB8877A使用のFDD基板(表面)

長い間、この基板の先に5インチ2台と3.5インチ2台のフロッピードライブを計4台接続して使用していました。

同(裏面)

今となってはドライブも処分してしまいましたし、特にプリント基板化して製作する必要もないのですが、捨てるのもためらわれるので未だに手元に置いてありますので、プリント基板化して資料として保管しておいた方が良いかなと思うわけですが、迷っている理由が2つあります。
(1)ICが20個もあるので格安基板の10cmx10cmには収まりそうもないのでコストがかかりそう。(恐らく12cmx8cm位になりそう)
(2)昔の製作物なのでデータセパレータとして、アナログでなくデジタルセパレータのFDC9216Bを使用しているので、現在のものよりも性能は落ちる。(特に不都合はないが)
ということで、FDC9216BとMB8877Aは予備も複数保管してあるのですが、KiCadで回路図を書き上げたところで止まっています。
アイディアとしては、現在普通に出回っているパソコン用の3.5インチFDD(2DD,2HD)をFM-7で使用できる基板にすれば使い道があるかなと。STEP信号を2倍にする回路を付加すればできそうな気がするのですが、まだきちんと追及していません。



2019年8月16日金曜日

FM-7/77用のRS232Cカードを作りました

富士通純正のFM-7/77用RS232Cカードの回路図を元にして基板を作りました。


YSFLIGHT.COMさんが富士通純正のRS232Cカードの回路を解析して回路図を公開されていましたので、私もその回路図を元にして作成してみました。

以前、FM-7でZ80カード(とCP/M-80)やOS-9Level1を使用していた頃はRS232Cカードも所有していたのですが、FM77AV40SXがメインになってからは、もう使うことは無いだろうと思ってFM-7一式を処分してしまいました。
ところが最近になって、FDDの代わりにSDカードやWin上の仮想ドライブなどを用いてFM-7を使うという試みをネット上で見ることがあり(shuji_akita2001さん、日本橋電気街俳諧日誌さんなど)、自分もやってみようということで放置してあった残りのFM-7を2台引っ張り出してきました。

まずはWindows機と通信ができなければ話にならないということで、shuji_akita2001さんから頂いたFT-245を用いた基板を使用して始めていました。
そんな中で、YSFLIGHT.COMさんのブログを見て、純正と同じボードを持っているのも悪くないな、FM-7が2台あるのだから2枚作れば良いかなと思って作ることにしました。

YSFLIGHT.COMさんが公開された回路図を見ると75188と75189を使っているので、今どきこれはないだろうということで、この部分をADM232に置き換え、さらに格安基板にするために10cmx10cmに収めることを目標に作成しました。
その結果、ADM232がIN/OUTそれぞれ2セットしかないので8251AのDTRとDSRは未接続となり、純正とは完全互換ではなくなりましたが、この2つを使用したソフトはまずないだろうと考えました。結局、10㎝×8cmのコンパクトな基板が出来上がりました。

回路図を下に示します

回路図(間違いあり)

実はこの回路図には1箇所間違いがあります。ADM232のピン2に接続されているC17はGNDではなくVCCに接続しなければなりません。

間違いを修正して無事に動作したと言いたいところですが、修正中に誤って隣のラインもカットしてしまったことに気づかず、送信はできるのに受信ができないという変な現象に悩まされることになりました。全配線を確認する作業の後、ようやくカットされた箇所を見つけて修理、無事に動作しました。

YSFLIGHT.COMさんは、C-MOSの8251Aなら38400baudで動作したと書かれているのですが、私のところでは、’83年製の8251Aでも38400boudで動作しました。(短いデータの通信しかしていませんが...)

動作している様子を示します。
F-BASICのプログラムでWindows機のTeraTermに送信し、TeraTermからファイル送信されたデータを受信して表示しています。38400baudで動作しています。


動作画面

下画像のようにRS232Cカードから自作のストレート/クロス変換ボードを通してRS232C-USBケーブルでWindows機に接続しています。
また、ディスプレイですが、以前使用していたXRGB-2は処分してしまったので、画像にあるようにFM-7のグリーンディスプレイ端子から自作のケーブルでI-O DATAのTVBOX2のコンポーネント端子に接続し、RGB出力をCENTURYのLCD-10000Vに入れています。
これでも80x25で表示できています。

接続の様子

基板の装着状態です。フラットケーブルで取り出せば、カバーを閉じることができます。

基板のアップ(1)


基板のアップ(2)

基板の表面と裏面を示します。
実は製作で最も時間がかかったのはD-Sub9ピンの工作です。使用したのはD-Sub9ピンのメスコネクタのL字タイプのものです。これの余分な個所をヤスリで削り、ピンをストレート状態に直してハンダ付けしています。(もう少し削って薄くした方が良かったようです...)

完成基板と生基板の表面


同裏面(本来不要な修正線が入っている)

ということで、無事に38400baudで動作するRS232Cカードが出来上がりましたので、FDDもカセットテープもない素のFM-7ですがプログラムを送り込んで動作させることができそうです。

今は、FLEXやOS-9と同様なF-BASIC用の仮想ドライブ構築ソフトFbasDrvWin.exeを作成してありますので、F-BASIC側のDISK BASICのFDDアクセスルーチンをフックして仮想ドライブをアクセスするように切り替えるルーチンを作成中です。
(それにしても、F-BASICをほとんど使用したことがないので良く分からないことが多い...)
素のFM-7なので保存する手段がなく、FM-7側の切り替えルーチンを送り込んで動作を確認という作業を繰り返すのにこのカードを使用しています。
完成すれば、このRS232Cカードではなく、shuji_akita2001さんの基板に置き換えて高速化を図る予定です。

回路図を公開していただいたYSFLIGHT.COMさんに感謝いたします。