ラベル FM-7 の投稿を表示しています。 すべての投稿を表示
ラベル FM-7 の投稿を表示しています。 すべての投稿を表示

2025年10月18日土曜日

FM-7/77用RS-232CカードにRTCモジュールを追加して一枚のカードに

 FM-7/77用RS-232CカードにRTCモジュールを追加して一枚にしました

以前、FM-7/77用のRS-232Cカードを製作しました。
「FM-7/77用のRS232Cカードを作りました 2019年8月16日」
(https://flexonsbd.blogspot.com/2019/08/fm-777rs232c.html)

より使いやすくなるように、何回か修正を加えて最終的に下記のような形で使用してきました。
「FM-7/77用の自作基板(RS232Cカード、FT245通信カード、1024KB拡張RAMカード)のプチ改良 2024年3月25日」
(https://flexonsbd.blogspot.com/2024/03/fm-777rs232cft2451024kbram.html)

しかし、FM-7/77の32Pスロットは数少ないので、自作した32Pスロット拡張基板を用いても窮屈になってきました。

ということで、とりあえずRS-232CカードにRTC_SDカード中のRTC機能を追加して一枚にまとめてみることにしました。(F-Basicではともかく、Flex9やOS-9ではRTC機能は必須です)


製作の方針

COM部の入出力ですがシリアルコネクタは使いにくいので、今はTTL_USB変換ケーブルを使用することにしています。

また、RTC機能はZS-042というモジュールを使用し、そのコントロールにはPIA(68B21)のポートAを使用しています。スペース的には40ピンICを使用するのは非常に不利なのですが、PIAのポートAの特別な機能(出力に設定したままで入力も可能)がアセンブラでI2C機能を使用するのに最適ですので、そのまま使用することにしました。(回路を変更するとI2Cのプログラムを書き換えるのがかなりの手間になりそうなので、、、)

そのために全ICがそのままでは収まらなくなり、やむを得ず6個のゲートICをGAL20V8Bに置き換えることで何とか10x8cmのサイズに収めることができました。

(40ピンのICのわずか2ビットしか使わないのはいかにも勿体ないので、必要ならポートBが他の用途に使用できるようにピンヘッダを付けましたが、、、)


製作したカード

以上より、下記のようなRTC_COM8251Aカードが出来上りました。


製作したRTC_COM8251Aカード

本体に装着しました

本体スロットに装着した様子



回路図を示します(GALのプログラムは省略しました)

RTC_COM8251A

機能の確認

通信テストに使用したプログラム(F-BASIC文法書掲載のもの)


サンプルプログラム

通信の様子(FM-7側)

実行の様子(FM-7側)

通信の様子(Windows  TeraTerm側)

実行の様子(TeraTerm側)

RTCモジュール機能を下記に示します。


RTC機能の確認

起動直後のF-Basicでは日付・時刻が不定です。

RTC_WR2で時刻を設定します。RTCモジュールに設定されると同時にF-Basicのタイマー関係のバッファにもセットされます。

PRINT文で確認できています。

また、RTCモジュールの設定値をRTC_RD2で読み出し、RTC_SET2でF-Basicのバッファに転送できます。


最後に

製作直後は8251Aによる通信機能が全く反応せず、焦りましたが、TeraTermの改行コードの設定をデフォルト値のCRからAUTOやCR+LFに変更することで正常に通信ができました。(最初にRS232Cカードを製作した時に必要だった設定を忘れてしまっていました。。。)

通信速度ですが、純正のRS232Cカードでは19200baudまでとなっていますが、インテルやOKIの8251Aでは38400baudまで可能です。

また、RTCモジュールのコントロールソフト(RTC_WR2, RTC_RD2, RTC_SET2)ですが、FM-11用のものがそのまま使用できます。




2025年7月29日火曜日

FM-11用に作成したRTC_COMカードをFM-7/77用に移植

 FM-11用に作成したRTC_COMカードをFM-7/77用に移植しました。


FM-7用には以前、RTC_SDカードを作成して使用してきました。
(ブログ「FM-7にRTCとSDを接続する試み(2023年3月9日~5月19日の計6回掲載)」で紹介。)

しかし、カードを筐体の中にセットする機種ではSDの挿入・取り外しが非常に不便でしたので、常用しているFM77系には不向きということでFM-7でのみ使用してきました。
今回、FM-11用を作成する際にはそれを考慮してSDカード用の回路を取り除き、代わりに6850ACIAを用いた通信ポートを設けることにしました。RS232Cを持っている機種もありますが、別途通信ポートがあると便利な場合があると考えたからです。

実際にFM-11用を作成してみて、FM-7系にもあったら良いなと思えてきましたので、FM-7系用として32Pスロットに装着する形でのカードを作成しました。

これが作成したカードです。

FM-7用RTC_COMカード


いつものようにドジをしましたので、基板の修正(パターンカット1箇所、追加配線2本)が必要でしたが、修正して無事に動作しました。


裏面の修正箇所


回路図を示します。
上記の不具合を修正してあります。


回路図(修正済み)



(1)RTCモジュールのドライブソフト


ドライブソフト(RTC_RD2, RTC_WR2, RTC_SET2)はFM-11のF-Basic用に作成したものがそのまま使えます。RTCの時刻の読み出しにはRTC_RD2、RTCへの時刻の設定にはRTC_WR2、F-Basicへの時刻の転送にはRTC_SET2を使用します。

また、F-Basicと並んで良く使用しているOS-9Level2用にも同じ機能の3つのソフト(RtcRd2, RtcWr2, RtcSet2)を作成しました。実際には、F-Basic用に作成したものをOS-9用に移植したということですが、OS-9ではファイル名に「_」を使えないので名称も変更してあります。

F-Basicでの動作の様子は以前のブログで示していますので、ここではOS-9上での動作の様子を示します。
OS-9の起動直後は日付・時刻の設定がされていませんので(バッテリーが上がっている)、date t コマンドを実行するとデタラメな日付・時刻が表示されています。
ここでRtcWr2コマンドを実行して日付・時刻を設定します。このコマンドはRTCモジュールに設定すると同時にOS-9にも設定しますので、再度date tを実行すると設定した日付・時刻になっていることが確認できます。
(2000年問題に対処していないので2025年が1925年になっているのには笑えますが、実用上の不便はありません。)
 

RtcWr2の動作画面


一旦電源を落としてから再度起動すると、やはり日付・時刻がデタラメになっていますが、RTCモジュールはバッテリーバックアップされていますので、設定した値が保存されています。ここでRtcSet2コマンドを実行すると、RTCモジュールに保存されている日付・時刻がOS-9に設定されます。date tでそれが確認できます。



RtcSet2の動作画面


ということで、OS-9のStartupファイルにRtcSet2コマンドを書き込んでおけば、起動時にRTCモジュールの値でOS-9の日付・時刻を設定してくれます。

なお、RtcRd2コマンドは動作画面を示しませんが、RTCモジュールに設定された日付・時刻を読み出して表示するものです。


(2)ExCOM用通信ソフト


COMポートとして追加した6850ACIA(63C50を実装)用の通信ソフトですが、以前のブログにも書きましたが、何故かFT245、8251A、6850の3つの通信経路を一本のソフトで切り替えて使用する方法ではうまく動作しませんでしたので、FM側のソフトをそれぞれを単独のソフトとしFT245DRF(FT245用), FT245DRE(6850のExCOM用)の2本を作成しました。Windows側のソフトはFM-7/77/11に共通のft245drv.exeです。

FT245DRFは従来のソフトと同様ですので、ここではFT245DREの動作画面を示します。


FM側のFT245DREの動作画面(読み込み)



FM側のFT245DREの動作画面(書き込み)



Windows側のft245drv.exeの動作画面


なお、転送速度ですが、FT245カード使用では2Dディスクで1分弱、ExCOMでは5分ほどでしたので、ディスクイメージの転送に使用するのは実用的ではありませんが、このExCOMは以前からFlex9, F-Basic, OS-9, CP/Mで使用しているWindows上の仮想ドライブとのインターフェースに使用したいという目的のために実装したものです。
この場合には、ファイルの送受信が基本になりますので、ExCOMの38400baudでも十分に実用になることを体験しています。
ExCOMを使用したWindows上の仮想ドライブのドライブルーチンができましたら、改めて報告させていただきます。


2025年6月4日水曜日

FM-11にFM-7等のカードを装着するためのアダプタを作成

 FM-11にFM-7等のカードを装着するためのアダプタを作成しました

先日、昔からあこがれていたFM-11AD2(OS-9Level2、F-BASIC5.0付き)を某オクで入手しました。AD2+ではないのがちょっとだけ残念ですが、いつ出品されるか分からないものを待っていても仕方がないということで、、、

触ってみた印象ですが、とにかく大きくて重い。FM-7系のようなアマチュア向けではない印象です。そしてOS-9L2の起動にかかる時間がかなり短いのが、OS-9をメインに使用するつもりの私にとってはとても嬉しい点です。

私はFM-7系しか触ったことがないのですが、今までFM-7系で蓄積(!)したハード・ソフトを何とか使い回ししたいのですが、そのためには、ソフトは全てWindows機中に保存しているのでWindows機との間でのファイル転送が必須ですし、さらに2Dメディアを使うためには320KBドライブも必要です。

とりあえずハード面では、今までに作成したFM-7系用の自作カードがFM-11上で動作するかを確認する必要があります。そのために32Pスロット用のカードを装着するためのアダプタを作成しました。

付属してきた「FM-11 本体拡張バス仕様」によりますと、FM-7の32PスロットにはあるIOS信号がありませんでしたので、IOIHB信号を用いて作成する回路を追加しました。

まず手配線で作成して動作することを確認した後、プリント基板を作成しました。使用しているコネクタは64ピンです。


作成したアダプタ基板


組み立てた状態の表面


その裏面


メイン部・サブ部の回路


アダプタの使用例1・・・FDCカードを装着

プリント基板を発注して届くまでの間、手配線のアダプタを作成し、それを用いてFM-7で使用している自作FDCカードをFM-11に接続して、320KBのFDドライブが動作しないか試してみましたが動作しませんでした。


手配線の第1作

FM-11にセットして


FDCカードを装着

「Retro PC Gallery」のはせりん様によりますと、FM-11はDMAを使用してFDを読み書きしているのでFDC回路もDMA対応にする必要があるとのことです。

FDC回路の変更は荷が重いと悩んでたところ、幸いなことに知人から2Dドライブインターフェースカードを頂くことができました。ありがとうございました。
ということで、自作のFDCカードを使用する必要はなくなりました。。。

このカードの先に手持ちのいくつかのドライブを接続してみました。

・5インチ2DドライブのTEAC FD-55B
・FM77AV2から取り外した3.5インチ2DのFD-625
・PC用の3.5インチ2HD/2DDドライブ(StepDoubler回路を使用せず直結)
・PC用の3.5インチ2HD/2DDドライブ(StepDoubler回路経由)

これらのうち、残念ながらStepDoubler回路経由の場合にはF-Basic3.0が起動はするもののファイルは正常には読み書きできませんでした。この結果はF-Basic5.0モードの場合も、320KBから起動したF-Basic3.0モードの場合のいずれも同様でした。StepDoubler回路を通さず直結した場合には正常に動作しましたが、これでは通常の2Dディスクとの互換性がありません。

ということで今の段階では、通常の2Dディスクと互換性のあるディスクが必要な場合にはYD-625を使い、互換性のないディスクで良ければPC用ドライブが使えるということになりました。


プリント基板で作成したアダプタについて

「FM-11 本体拡張バス仕様」によると、拡張バスは100ピンもありますが必要な信号がほとんど64ピンまでに集まっていますので、通常の2.54mmピッチ2列の64ピンL字コネクタを使うことができ、コンパクトに作成することができます。

手配線で作成したものは使用した32Pスロットの関係で、画像のように基板が横向きになってしまいましたので、基板化するにあたっては2枚の基板を90度に組み合わせて、使用確認する基板を縦に装着できるように工夫しました。いつものごとく、コネクタの向きを間違えてしまって作り直すことになりましたが、最終的には先頭の画像のようにそれなりにコンパクトなものが出来上がりました。


続いてのアダプタの使用予定・・・FT245高速通信カード、RTC_SDカード


このアダプタは、そもそもFM-7用に作成した自作カードがFM-11でも使用可能かどうかを確認するためのものです。
次に使用確認したいカードとしては、FT245高速通信カードとRTC_SDカードがあります。RTC_SDカードのSD部についてはF-Basic3.0の内部コードを多用しているので移植は無理だと思いますが、RTC部は移植したいです。これがあるとOS-9やFlex9の起動時に毎回日時を入力する手間を省くことができますので。

(次に続きます)



2025年3月22日土曜日

FM-7/8用のFDドライブ用接続アダプタを作ってみました

FM-7/8用のFDドライブ用接続アダプタMB22603相当品を作ってみました

先日、某オークションでLogitecのLFD-550-FMというFM用FDドライブ装置に内蔵されているコントロール基板を入手しましたので、これを使用するために富士通のMB22603の回路を調べて同様なものを製作してみたという報告です。

製作した2種のアダプタがこれです。

左:FM-7の32Pスロット用、右:FM-7/8の50Pコネクタ用

左がFM-7の32Pスロット用、右がFM-7/8の50P拡張コネクタ用です。

入手したコントロール基板LFD-550-FMです。最初に入手したものは不動品だったので、結局2枚入手してしまいました。

左:不動品、右:動作品


経過

私自身はFM-7用に自作のFDCカードを製作して、それにPC用のドライブやGOTEKなどを接続して使用しておりますので、特に必要はなかったのでしたが、興味本位で落札してみたのが運の尽きで、かなりの時間を費やすことになってしまいました。。。

このコントロール基板に手持ちの5インチ2Dドライブを接続して動かしてみようと考えましたが、動作させるためにはFM-7とコントロール基板の間をつなぐアダプタが必要です。オークションに時々出品されるようですが結構高額です。ということで、自作できないかと考えました。

自作の手掛かりになったのは、はせりん様のブログ「Retro PC Gallery (http://haserin09.la.coocan.jp/)」中の「緊急特集:MB22603の秘密」という記事です。

はせりん様はIRQ関係の調査とアダプタの対象機器の制限の原因追及をされているのですが、そのために回路の一部を解析されていましたので、それを元にさせていただいて何とか回路をでっち上げ、プリント基板を発注して製作してみましたが、もちろん動作しませんでした。しかしこれだけではでっち上げのアダプタがダメなのか、それともコントロール基板がダメなのかが分かりません。

そんな時、知人がMB22603などのアダプタを3台も所有されていることを知りましたので、それらをお借りして不動の原因を追究することにしました。

まず入手したコントロール基板が正常に動作するかを確かめるために、お借りしたMB22603を使用してみましたが、残念ながら動作しませんでしたので、不動の原因はコントロール基板にあることが確認できました。

そんな時に、某オークションで再び同じ基板が出品されていましたので、再度入手してみましたら、これはMB22603など3種のアダプタのいずれでも正常に動作しました。

アダプタの製作

コントロール基板が正常に動作することが確認できましたので、あとはアダプタを製作すれば良いということで、お借りしているMB22603の基板の配線を調べてみました。

このアダプタではディレイラインを使用しているのですが、それははせりん様によりますと、FDC(フロッピィディスクコントローラ)としてMB8876やMB8877が使われている外付けドライブ装置に対応するためだそうです。入手した基板ではMB8876Aが使われているので、ディレイは必要がないので省略できるだろうと考えました。実際に回路を追ってみると、ジャンパ線でディレイラインをバイパスしているように見えました。

ということで、ディレイを省略した回路を仕上げてプリント基板を発注し、届いた基板を組み上げてみました。ところが、FM-7にセットしてみましたがまたも動作しません。

回路を見直してみましたが間違っているところはなさそうです。困ってしまって、お借りしているMB22603の基板を再度眺めていたところ、50P拡張コネクタのEXTDET(22ピン)がGNDに落とされているのを見つけました。今まで色々な基板を製作してきましたが、EXTDETは無接続で動作していましたので、多分関係はないだろうとは思いましたが、念のためにGNDに落としてみました。

結果ですが、何と動作するようになりました。ということで、32Pスロット用の方も同様にEXTDETをGNDに接続しました。

製作した回路


製作した回路を示します。EXTDETの修正後のものです。

FM-7/8 50P拡張コネクタ用


FM-7 32Pスロット用


正常に動作しています

動作している様子を示します。これは32Pスロット版の場合です。左下の5インチドライブのアクセスランプが点灯しているのが見えます。

コントロール基板がMB8876Aを使用しているからでしょうか、ディレイラインを使用していない回路ですが、FM-7本体のクロックを落とさなくても2MHzで動作しています。


32Pスロット版を使用中

以上、たまたま入手してみたコントロール基板を動作させるためにMB22603相当のアダプタを作ってみたという報告でした。(特に使う予定もないのに作ってしまった...)

回路の内容が良く分かっていない私が何とか回路を作成できたのは、貴重な情報を公開してくださっているはせりん様と、MB22603などを貸してくださった知人(Y.A.様)のお陰です。お二人に感謝いたします。


余分な基板がありますので


もしFM-7やFM-8用の外付けFDドライブを持っているがアダプタが無いので使用できないと困っていて、ご自分でアダプタを製作してみたいという方がおられましたら、余分の基板が数枚ありますので、ご希望の方は50P用か32P用かを明記してメールでご連絡ください。郵送料のみでお送りできます。
(部品はほとんどが普通に入手できますので50Pコネクタ用は基板のみですが、32Pスロット用に必要な富士通製のコネクタだけはまず入手できませんので、知人に頂いた取り外し品になりますが32Pコネクタもお付けします。ですので、50Pの方は定形郵便110円、32Pの方はクリックポストで185円となります。)

蛇足ですが、以前無料で(郵送料も当方負担で)基板をお送りした方の中で、到着の連絡を頂けなくて、もしかしたら郵便事故かとやきもきしたことがありました。結局、連絡は頂けなかったのですが、そのような”常識のない”方にはお送りできませんので、その点を承知おきください。(本当はこんなことは書きたくないのですが、2度ほどありましたので...)

2024年10月18日金曜日

自作の6809SBCにOS-9を移植する試み(その3 とりあえずROM化に成功)

 とりあえずですがSBCでOS-9が動作しました

その2で報告しましたように、いくつかのモジュールを書き換えてみたり、並び順を変えたりしましたが、何をどうやっても動作しませんでした。

そこで、実際にFM-7上でOS-9Level1が動作している時のメモリ上のモジュールの状態を調べてみようと考えました。そのためにはメモリ内容をダンプするmdumpというコマンドが必要ですが、もちろん、標準コマンドにはありません。自作してもよいのですが、時間がかかりそうですので、既成のものがないかとネットも含めて探しましたが見つかりませんでした。

唯一見つけたのは、末尾に載せた参考文献1に掲載されているmdumpのソースリストです。しかし、これはかなり以前にソースを入力してアセンブルしてみたが、正常に動作しなかったというものです。今回はどうしてもこれが必要ということで、本気で取り組んでみました。本体の他に4つのルーチンが必要なのですが、その中のahexdだけが参考文献1には載っておらず、参考文献2の方に載っているのでそれを取り込んでアセンブルしました。結果、アセンブルはできたのですが、やはり正常に動作しません。ソースを調べたところ、一行抜けがあって2バイト分飛んでいます。参考文献にはmdumpの他にfdumpのソースもあるのですが、それも同様なルーチン中で同じ個所が飛んでいます。。。


参考文献の2冊


どんな処理を補うべきかを判断するのに丸3日(!)かかりましたが(当たり前ですが他の方の書かれたアセンブルリストを理解するのは本当に大変です...)、見つけました。それを補って無事に動作するmdump(とついでにfdumpも)を作成することができました。

作成したmdumpを使ってFM-7上のOS-9Level1のモジュールOS9p1の位置を確認したところ、何と元にしているROM化の記事中のアドレスと5バイトずれているではありませんか。記事ではOS9p1は$F3F3からとなっているのですが、実際には$F3EEから始まっているのです。(OS9p1は$87,$CDから始まり、サイズは$07F2バイト)


OS9p1の位置を確認


ということで、OS9p1を$F3EEからに配置し、OS9p1の直後に置くセカンドベクタと$FFF2からのベクタアドレスをすべて5バイト小さい値に変更して配置してみました。

なお、動作テストのために、前回までは10msのインターバルタイマとACIA用のクロックが生成されているかをオシロで確認していましたが、今回は、RWモジュール中にACIAの入出力ルーチンを書き込んでおいて、Windows機のTeraTermからのキー入力がそのままエコーバックするかどうかで確認できるようにしました。(ACIAの初期化ルーチンはSYSGO中に追加しました。)

結果ですが、希望通りキー入力がそのままエコーバックされてきましたので、とりあえずですが、ROM中に書き込んだOS-9のモジュールが正常に動作していることが確認できました。(三か月近くの苦労が報われました、、、)

なお、前回のその2でSCFをFM-8のものに差し替えたと書きましたが、FM-7のものに戻しても正常に動作しましたので、以降、FM-7のものを使うことにします。


これからすべきことなど

とりあえず、ACIAによる入出力ルーチンを直接書き込んで動作を確認したわけですが、OS-9の作法としては、SCFの下に来るべきACIAドライバルーチンを作成し、その下にACIA-1用とACIA-2用のデバイスディスクリプタを用意するという形になります。また、ディスクが無ければファイルの読み込み・書き出しもできないのでそのドライバも用意しなければなりません。

構想としては、以前、FM77AV40SXで常用しているLevel2でWindows機上に仮想ドライブを構築してそれをACIAを通して読み書きするというドライバを書いて使用していましたので、そのような形を考えています。そのためにACIAを2個用意してあるのでした。

ドライバ作成には時間がかかりそうですが、出来上がりましたら公開する予定です。とりあえず、ハードの方は完成ということで回路図を載せておきます。

動作確認ができたのは下記の8253を使用した回路です。

82C54バージョンの回路図


6809Pと6809EPの両方が使えるようにするためにクロック周りが複雑になっていますが、他には特に変わった部分はありません。8253ではなく8MHzをカウント可能な82C54を使用しています。そのカウンタ0をACIAのクロック生成に、カウンタ1をOS-9のインターバルタイマとして、カウンタ2をASSIST09モニタを使用する際のNMI割り込みに使用しています。

6840を使用した回路です。

63B40バージョンの回路図


回路図中のP-ROMのA14,A13に切り替えスイッチがついていますが、A14のスイッチが現在の基板からの変更点です。32KB以上のP-ROMを使用して、下図のようにOS-9システムとモニタプログラムを切り替えられるように考えています。OS-9システムは$4000~$7FFFの範囲の上位か下位のどちらかに入れ、モニタープログラムは$0000~$3FFFの範囲の上位と下位に自作モニターとASSIST09をそれぞれ入れる予定です。


P-ROM中のシステム配置

あとは、上記の回路図で基板を作り直し、I/O関係のモジュール(ACIAによる入出力ルーチンや仮想ドライブ用ルーチンなど)を作成すれば一応の完成となります。まだまだ時間がかかるかと思いますが、途中経過などをその都度報告をさせていただきます。


元にした記事 「追究特集 OS-9活用テクノロジー」(マイコンピュータNo.21)中の記事「OS-9のROM化」(P148~165)
参考文献1 「FM-7・8 OS-9Level1解析マニュアルⅠ(金井隆著)秀和システム社」
参考文献2 「OS-9/6809Level2解析マニュアル(金井隆著)秀和システム社」


2024年10月16日水曜日

自作の6809SBCにOS-9を移植する試み(その2 OS-9のモジュールを構成)

 OS-9Level1のモジュールのうち必要なものを構成しましたが...

移植しようとしているのはFM-7用のOS-9Level1です。

FM-7用のLevel1とFM77AV40用のLevel2を所有しているのですが、常用しているのはもちろんLevel2で、Level1はほとんど使用していないのでこれを移植しようと考えたわけです。

これが所有しているOS-9のLevel1とLevel2です。


OS-9L1とL2のシステムディスク

以前は、OS-9をディスクから読み込んで起動するものだと思い込んでいたので、起動プロセスのイメージがなかなかつかめなかったのですが、参考にした「OS-9をROM化する」によると、8KBのROM中にOS-9のカーネル(OS9P1,OS9P2)や必要なモジュールを書き込んでおいてOS9P1を起動するだけで、メモリ(ROM)中のモジュールを検索してシステムに登録してくれるとのことです。

OS-9の一般的な構造を下に示します。

OS-9の構造

今回のプリンタ・バッファのモジュール構成を下に示します。

モジュール構成

プリンタ・バッファとして必要なモジュールは下図のようにP-ROM中に配置されています。

モジュールの配置

必要なモジュールのうち、IOMAN,SCF,OS9P2,OS9P1は動作しているOS-9から取り出します。残りのうちのOS9P1より上のINITからIODRVまでの5つは今回用意されたもので、OS-9システムとして必ず必要なものです。OS9P1の下の5つはプリンタ・バッファとして必要なもので、今回はSBCとして最小限の動作を目標としているので不要と考えています。

この配置のうち、OS9P1の位置はFM-7でのOS9P1の配置と合わせてあり、それによって割り込みベクタの値を変えずに済むように考慮されていますので、これに倣うことにしましたが、何とこの配置に従って並べていくとOS9P1の位置が$F3F3よりも後ろになってしまうのです。その原因ですが、SCFのサイズが配置図中では$0438であるのに対して、現用のFM-7から取り出したSCFでは$0504と大きいのです。

手持ちのFM-7のOS-9Level1のバージョンは1.2でして、もしかしたら1.2以前のバージョンがあったのかもしれません。仕方がないので、モジュールを並べ替えてOS9P1の位置を合わせてROMに焼いて試してみましたがうまく行きません。

FM-8版OS-9を所有している知人にお願いしてモジュールのサイズを確認してもらったところ、FM-8版のSCFは$438バイトで記事中のものと一致しました。ということで、とりあえずこのSCFを使わせてもらうことにして上記の配置通りに並べてみました。結果ですが、やはり動作しませんでした。。。

そもそもこの記事はプリンタバッファの製作記ですので、I/Oとしてはパソコンから受け取ったデータをバッファに溜めておいてプリンタに書き出すという機能しかありません。製作したSBCは基本部分だけですのでI/Oがありません。動作しているかどうかは、CLOCKモジュールに書かれている10msのインターバルタイマが機能しているかどうかで判断しています。CLOCKモジュールが正常に動作していればカーネルまで正常に動作していると判断できます。

しかし、そのインターバルタイマが動作しているようにも見えるのですが、不安定なのです。電源を何度も入り切りしたり、リセットボタンを複数回押しているとタイマやACIAのクロックが現れたりするのです。その1に書きましたように、モニタが正常に動作することは確認済みですので、ハードに不具合はないはずです。

ということで、まだ動作しない原因は掴めていません。

その3に続きます。


2024年3月25日月曜日

FM-7/77用の自作基板(RS232Cカード、FT245通信カード、1024KB拡張RAMカード)のプチ改良

 FM-7/77用の自作基板3枚を少しですが改良しました

改良版を製作したのは次の3カードです。

1.RS232Cカード

 D-Sub9ピンコネクタに加えてTTL-USB変換ケーブル用コネクタを増設

2.768KB拡張RAMカード(1024KB拡張RAMカード改め)

 512KBのSRAMを2個搭載で1024KBですが、最上位の256KBを切り離して768KBにするジャンパスイッチを増設

3.FT245高速通信カード

 制御・データアドレスとして使用しているアドレス$FDFD,FEを$FD06,07に変更


1.RS232Cカード

2019年10月26日のブログ「FM-7/77用RS-232Cカードの改良版」https://flexonsbd.blogspot.com/2019/10/fm-777rs-232c.html

などで紹介したものです。D-Sub9ピンコネクタが使用されているのですが、現在では、Windows機と接続するケーブルとしてはシリアル-USB変換ケーブルではなくTTL-USB変換ケーブルを使用する方が便利ですので、それ用の6ピンコネクタを増設しました。これに伴ってシリアル変換ICも実装不要になりました。

右上の6ピンソケットが増設したコネクタです。


RS232C_R1.2



右上が増設したコネクタ


回路的にはただ単に8251からコネクタへ信号線を引き出しただけです。


RS232C回路図


使用したケーブルは以下のようなものです。ピン配置は1番ピンから順にGND, RTS, VCC, RXD, TXD, CTSになっていますが、VCCは接続しないのでピンを抜いてあります。


使用したTTL-USB変換ケーブル



2.768KB拡張RAMカード

2023年7月16日のブログ「FM77AV40用1024KB増設RAMカードの製作」https://flexonsbd.blogspot.com/2023/07/fm77av401024kbram.html

で紹介したものです。対象のFM77AV40では増設できるメモリの最大値は768KBなので最上位の256KBは使用されません。無視されるだけで問題は無いとは思いますが、何となく気持ち的にすっきりしないので、回路的に最上位の256KBを無効にできるように切り替えスイッチを増設しました。


512KB拡張RAM

ちなみにこの48ピンコネクタは、知人が32ピンのコネクタ2個からニコイチで作成されたものをいただいて使用していますが、全く不都合はなく使用できています。


768KB拡張RAM回路図


3.FT245高速通信カード

2023年10月23日のブログ「FT245通信カードの新基板の製作」https://flexonsbd.blogspot.com/2023/10/ft245.html

などで紹介したものです。オリジナルでは制御・データアドレスとして$FDFD,FEを使用しているのですが、このアドレスを他のカードが使用している可能性があるので$FD06,07に変更したものを作成しました。このアドレスはRS232Cカードが使用しているものなので、他のカードとバッティングすることはないと考えました。また、FT245カードとRS232Cカードは使用目的が同じなので同時使用することはないだろうと判断しました。


FT245_R3

74LS04を1個増設しただけでアドレスを変更できました。


FT245_R3回路図

以上、自作のカードを少しでも使い易くするためにちょっとした改良を行ったという紹介でした。


2023年10月1日日曜日

アップスキャンコンバータの製作(その2)

 以前製作したアップスキャンコンバータのプリント基板を作成して作り直した結果、なんと3台も作ることになってしまいました

以前、2021年6月15日のブログ「アップスキャンコンバータの製作」で紹介しましたアップスキャンコンバータですが、FM-7に接続して2年ほど使用していました。機能面では特に問題はなかったのですが、ベース基板が手配線であることと切り替えボックスへの収め方にとりあえず感があるのが気にかかっていました。

そんな時に、入手しにくい12接点のロータリースイッチがヤフオクに出品されているのを見つけて、もう一台製作して今度はプリント基板を作成し、ちゃんとしたケースに収めようと考えました。

製作したプリント基板が下画像です。(ミスを重ねて3枚目でようやく完成しました。)


作成した基板


以前のものはこのようにとりあえずの手配線でした。


第一作の手配線基板

オリジナルの作者であるNibbles lab. HomePageのOh!石さんが「RGBI対応スキャンコンバータ」で使われたケースはタカチのMX型モバイルケースMX2-8-10というアルミケースのしっかりしたもので、私も真似をして同じMX2-8-10SGを使いました。

なお、元の製作記事は上記サイト中の「研究成果->完了プロジェクト->RGBI対応アップスキャンコンバータ」です。貴重な製作記事を公開していただきありがとうございます。また、FPGAカードはデザインウェーブマガジン2007年7月号の付録基板です。

ケースに収めた状態です。


上蓋と背面パネルを取り外した状態


分解した様子です。


組み立てた状態とケースから取り出した状態


前面・背面パネルです。

前面パネルと背面パネル

前面パネルには8ピンDINの入力端子と切り替えスイッチを、背面パネルにはD-Sub 15ピンのVGAコネクタと5V電源入力を配置しました。


以上の画像からお分かりのように、1台製作するだけのつもりだったのに結果的に2台作ってしまいました。
プリント基板も2回作り直して3作目でようやく完成したのですが、1作目はFPGAカードのコネクタ一位置の実測間違いでカードが取り付けられず、2作目は電源入力の番号付けのミスで5VがそのままFPGAカードにかかってしまうという致命的なミスを犯してしまいました。
3作目でようやく完成した基板ですが、組み立てても動作しませんでした。

その理由ですが、FPGAカードのコンフィグROMに書き込もうとしてもROMやFPGAを認識しないのです。てっきり5V印加のせいでFPGAが破損したものと思い込んで、新たにFPGAカードを入手しました。しかし、やはりこれも認識しないので、困り果ててネット検索したところXilinxの書き込みソフトがそのままではWindows10に対応しておらず、ドライバを前のバージョンのものに差し替える必要があることが分かりました。2年前はWindows7を使用していたので正常に使えていたのでした。

なお、第一作ですがFPGAカードの上に取り付けてあった部品を裏側に回すことで、下画像のように、切り替えスイッチの中に収めることができました。
(とはいっても、タカチのケースに合わせた基板のサイズが長すぎたので、数mmほど削ることになりましたが。)


切り替え機に収めた


以上で、気にかかっていたアップスキャンコンバータの製作ですが、これでようやくけりをつけることができました。(しかし、XRGB-2plusが常時使用と予備機で2台、今回製作した切り替え機中の1台、タカチのケース入りの2台と計5台にも増えてしまいました。どうしよう...)

作成した基板が少しですが余っていますので、ご希望の方がおられましたらメールで連絡を下さい。郵便代のみでお送りいたします。