独り言集 令和五年十二月版
CF-FDDコンバータ 作図 [2023/12/31]
+++ 作図 +++
これまで使って来た"FDDモドキ"という名称を、「CF-FDDコンバータ」に変える。
当初、試に、その"配線図"を、"半田面"から見た図で作成してみた。(図2[クリック])
(「BSch3v」、「LCoV」のお世話になっている。・・・感謝!)
でも、"半田面"に沢山の線が錯綜するのは、端子をチェックする際にも邪魔になりそうで、あまり良くなさそう。
それで、やり直して、"部品(搭載)面"から見た図に描き直した。(図1)
配線群は、部品面に配置しよう!
やはり、こちらの方が素直だ。
今は未だ、"手配線"に拘っているのだが、一方で(心の中では)、"自動配線"でガーバーデータを作って「小ロットPCB製作」にすれば?...との声が囁き掛ける。
(でも、負けないぞ!...?...基板に、汎用性は無いし、それに、部品群のレイアウトは、お世辞にも合格点とは言えないからなぁ)
IBM製FDD 接続端子 調べ [2023/12/25]
+++ 端子機能調べ(私見) +++
「FDDもどき」ベンチの回路図を描き始めようとしたが、"端子機能"が不確実で、幾度か調べ直し。
多分、今回の調べで確定出来たのではないかと思う。(図1)
"Disk Change"端子だけは、接続経路が見付けられなかった。が、これは他の信号で代用するのかもしれない。
このタイプを、勝手に"ウルトラベイ式/型"と書いているが、正式な呼称は判らず。
因みに、娘に買って貰った"追加購入品"(図2右)と、"壊れ品"(図2左)とで、Case/外函のP/Nは異なっている。
Drive/FDDのP/Nは、どちらも同じだった。(図2[クリック])
実は、先日、ウルトラベイ型(差し替え式)の"FDD"(FD-05CSB 01-B)の方だけを買ってみたのだが、内側の「80ピン・コネクタ」の位置がズレていて、全く合わなかった。(...これは、改造しても使えそうにない。やはり、本来の使い方に留めるべきらしい)
+++ 端子に差異無し? +++
「PC110」を起動出来るFDDは、種類が限られていて、良く見掛ける「FD-05P」などは、DOS下では読み書きは出来るものの、肝心の"起動/Boot"が出来ない。
もしかしたら、配線に差異があるのではないかと思って、"Boot可能なFDD"を幾度か調べてみた。(図3)
配線が錯綜していた(アメ色)フレキの端子の"番号付け"を、(ルーペとテスタで確かめながら)根気良くやり直したら、見事にスッキリ!
(この"錯綜型フレキ"は、きっと、極く初期に設計されたものなのではないかと思う)
"Boot OK"の方には、"READY信号"が繋がっていないだけで、その他の端子群には、(残念ながら)"有意な差異"は無かった。
古い資料に、"IBMは、起動時には、単密度で読むことに固執"(?)とかいう記事があったので、もしかしたら、それと関連があるのかもしれない。
根気良く調べないと駄目かも...でも、「ロジック・アナライザ」などは使いたくないので、中継役にしようとしている「PICマイコン」がどの程度の働きをしてくれるか、期待もし、不安でもある。
蛇足で、FDDを入れ替えて調べている時、"適合ケーブル"を間違えて使って、また「PC110 No.9:金剛」の「FDD系ヒューズ」を飛ばしてしまった。(図4[クリック])
オマケに、ヒューズを交換した後、FDDが動くと、画面までゆっさゆっさ揺れ始めたので、過大電流を流した為に、電源部が危険な状態になっているのではないかと心配中。
SONY系FDD(MPF72E)用ケーブルは、TEAC系FDD(FD-05)用ケーブルとは、電源系統が逆になっているらしいので、今度間違えると、致命傷になる可能性がある。...気を付けねば。
FDDもどき用ベンチ 壊れ [2023/12/21]
+++ 枠の付け根折れ +++
もう素材が古くなっているから、枠の"引き出し"作業には注意していたのだが、"押し込み"の方は、そこそこ疎かになっていたようだ。
「コネクタ」が嵌り難かったので、ちょっとだけ(!?)力を入れて押したらバキッと音がして、"枠の付け根部分"が両側とも折れてしまった。(わぁー!)(図1)
接着を試みたが、こうしたものの接着は、今までも成功した試しがないのだ。
これで、今年はこれでお仕舞かと、一度は気落ちしたのだが、気を取り直して同形品を探してみた。
「ヤフオク!」には目玉が飛び出る程モノはあったが、そんなのは止めだ!
「メルカリ」に、比較的りーぞなぶる(?)な品物があったので、娘に頼んで買って貰うことにした。
(実は、ここは以前、"会員登録"に失敗したことがあって、それ以来、"ログイン"も"新規登録"も出来ず仕舞い。もう、入会は諦めていて、欲しいものがある時は、毎回、娘に甘えているのが実情)
...しかし、これも、そのまま捨ててしまうのもモッタイナイ!
で、剥がしてあった「上板」を取り付けて、四隅をビス止めしたら、「枠の付け根」も何とか固定出来そうな気配。
更に、不格好だけど「上板」を切り抜いて、部品の取り付け範囲だけを切り取ってみたら、後からICなども差し込めそう。(図2[クリック])
この状態で、折れた部分に追加で接着剤を塗り付けてみたけど、果たして、ちゃんと固定出来るものやら、どうやら?
+++ 接続を再確認中 +++
ここの先回の接続を調べ直してみたら、どうも「Functions」の割り当てがヘンだ!?
やはり、本来の「FD-05SLHG」の代わりに「FD-05HG」などの"端子機能/ Functions"を使ってみたのが誤りなのかもしれない。
なので、今回は、「ポトリ」側の端子機能から辿って、"端子機能/Functions"を決めようと思っている。
それでも、未接続の箇所(Index、Drive Select、Disk Change)が残るので、再度念入りに調べ直す必要がある。
場合によっては、"接続替え"を余儀なくされるかも。(図3)
(...まぁ、追加接着剤で、枠が上手く固定・確認が出来てからの話だが)
FDDもどき用ベンチ 組立 [2023/12/19]
+++ 部品の配置決め +++
「CF(コンパクト・フラッシュ)」を使って、「PC110」を起動出来る"FDDもどき"が作れないものかと、(ゆったり/ゆっくりと?!)実験の準備を進めている。
適当な大きさの"ユニバーサル基板"が手元に無かったので、「AliExpress」経由で輸入したのだが、結構安価だし、それに最近は、随分早く届く(昔1ヶ月、今1週間〜10日間程)ようになった。(8mmx12mm+9mmx15mm:各5枚 ¥2,001送料・手数料込)
...でも、何だか急かされているようで、のんびりして居られなくなる。(苦笑)
8mmx12mmの基板の寸法を合わせ、切込みを入れて嵌め込んだら、バランス良く入ったし、部品群も無理無く置けた。(図1)
(ま、空き地も広いが...)
配線は、本数がかなり多いので面倒そうだが、毎日幾本かずつやって行けば、何時かは完成するはず。(笑)
...それと、中身は抜き差し出来るので、別途、"本来の中身"を用意すれば、元の姿で利用出来るはずだなぁ、とか考えたり。(それ、撤退じゃん!?)(図2[クリック])
+++ FFCコネクタwith基板 +++
以前調べた時、「FD-05HG」の半田端子部の処理は"半田付け"でお茶を濁そうと考えていたが、然る部品店「Aitendo」で「 FFCコネクタ+基板 [P10D26A] 」(¥2,321/4組 税込み・送料・手数料込み)を見付けたので、これを使うことにした。(図3)
早い時点でこれを知っていれば、中の「FDDユニット:FD-05SLHG」をバラす/壊す必要は無かったんだが、まぁ、これで接続が簡単になり、配線も楽になりそうなので良かった!
「PC110」のFD端子からの信号を、どのように受ければ良いのか、判らないので、今は"RS232Cタイプ/USART"のシリアル通信方式で試してみようと思っている。
だが、このレベルの「PICマイコン」(PIC47Q43を使用予定)では、処理速度の点で、上手く行かないかもしれない。
なので、別途、"簡易型RS232C系"を設けて、それで"CF読み書き実験"もしてみようと考えている。(図4[クリック])
また、「RS232C端子/DSUB-9pin」は、切替/併用で、電源入力用(+5V)として使うことも考えている。
これらの配線は、80ピンのユニット結合用「コネクタ端子」の端の方が、空いているので、端っこの端子を各2ピンずつ利用した。
こうしておけば、転んでも、何かは出来るはず!という算段。でも、CFの中身をRS232C/USARTで読み出すって話は、どう考えてもパッとしないなぁ。(苦笑)
"USB端子"の方が便利そうなので、それの設置も考えたが、あまり"古典的"でもないので、保留。
MFM生成プログラム 試し [2023/12/14]
+++ デジタル式MFM生成? +++
市販品の「CF-FDDエミュレータ」を買ってみたが、「PC110」を起動出ず?役立たず?
"USBメモリ"を使う「FDエミュレータ」も買ってみたが、電源接続を間違えて1台目を壊してしまったので、2台目を試すべく発注して、目下品物待ち。
それとは別で、自作で何処まで出来るか試してみたくて、少しづつ勉強・研究中。
今回は、PC-FD間でやり取りされる信号(FM信号、MFM信号)をデジタル的に生成出来るか試してみた。
(FM信号は、それほど難しくはないだろうから後の課題にして、)先ずMFM信号が、プログラムで作れるかどうかやってみた。
その前に、検証用としてExcelで、"ビットパターン"を使った計算式で元の8ビット・データから、16ビットのMFM信号のパターンが判るようにした。(図2[クリック])
こんなのでないと、手書きでは、幾らメモ用紙があっても足りなくなる。(苦笑)
試行錯誤の末、取り敢えず、"手入力"した8ビットの元データから、クロックを挟んだ"16ビットMFM信号"を生成出来る"アセンブリ・プログラム"を作ってみた。(図1)(asm,comファイル zip)
これを見ながら、考えた。
"命令ステップ数"や"実行速度"の面からは、汎用「PICマイコン」に組み込んで、実時間でこれを実行させるには時間が足り無さそう。...やはり、"テーブル参照方式"などでないと駄目かもなぁ。
+++ 2連続 00でクロック挿入 +++
"MFM信号"の特性は、データビットが"1"の時はクロック無しで、データビットの"0"が2つ続くと、その間にクロックを入れるんだそうな。
アナログの世界では、このようにすると"伝送速度"は2倍になるという。
この信号をデジタル的に作るとどうなるか?...何となく面白そうなので、考えてみた。
前後の"0"信号の比較は簡単で、同じ2つのデータの1つを左シフトして、XORで比較したら、"0,0"を検出出来る。
だが、同時に"1,1"も検出されるので、これは、NAND(実はAND-NOT)で"1,1"組の方を削る。
此処までは、XOR、NOT、AND、NOTの計算で片が付くのだが、その後は、8ビット・データの間々に、8ビット・クロックを挟み込む手間(Loop手法)が必要になる。
...8ビット・データをゴムバンドのように16ビットに引き延ばす"命令語"があれば、一発で(でもないが)片が付くのだがなぁ。(笑)
今回は、交互に左シフトして出た"キャリー・ビット"を"DXレジスタ"に取り込んで、16ビットを作る方法にした。
"キャリー・ビット"を使う式には、「rcl」と「rol」の2式があるが、どちらでも良さそうだったので、「rcl」の方を使った。
結果は、図4[クリック]の如くで、"正解"だろうと思う結果が出た。
ただ、今は、"ミッシング・クロック"については考えていないが、"データ・マーク"などは別途用意する必要がある。
昔の半アナログ系は、面倒臭さくもあるが、考えるのが愉しくもある♪
PICマイコン・キット 調べ [2023/12/06]
++ 偶々、買った放出品 ++
毎月の"月参り"のついでに、大阪・日本橋の電気街に寄ってみた時、"どれでも¥300"という放出品を見掛けて、2つほど買って来た。(図2[クリック])
その一つが、今回の"素材"なのだが、これが、何とも奇妙なモノで、説明文には、「スタンドアロン・コントロール・モジュール」とあって、「PICマイコン」と「64Kbit SRAM」が載ってはいるものの、明確な入出力端が無いので、どのように使えるものなのか、さっぱり判らず。
...好きなように使ってみたら?!...と、大変投げ遣り的な"組み立てキット"ではある。(「PC110」関係の当方の説明無しのプログラムのようなものか?!)
「PICマイコン」の応用品は、当方も幾つか試作していたが、どれも機能不足と技量不足で、完成に至らず。
今回もその類に成りそうなんだが、ふと思い付いて、もしかしたら、"FDエミュレータもどき"を作る為の"練習台"として使えないか?と思った。(図1)
それで、ちょっと調べてみた。
++ 添付資料 ++
この製造・販売会社は、ベルギーにあるそうな。そして、添付された資料は、色々な国語で書かれていて、全世界に向けた販売品らしいのだが、実は、紙の資料はごく僅か。
むしろ、添付されていた1枚の「FD」の方で、何が出来るのかが分かった。(図4[クリック])
でも、何かをするには、別にキットを用意しなければいけないらしいので、"脱力!"
...まぁ、周辺回路などは、別のキットを買い足すか、あるいは自分で付け足さないといけないのは当然だが、これ本体でも、殆ど拡張性を考えた作りにはなっていない。
敢えて、"スタンドアロン型"だと断っているのも、頷ける話。
回路図(図3)を見ると、如何にも「PICマイコン:PIC16C57C」の端子数が少ない。
"FDDエミュレータもどき"を検討するにしても、メモリ域が8Kバイト程度では、とても足りない?(そんなに必要か?)
それに、「ICSP」端子が無いのは、不便だ。(尤も、切り張りすれば、何とかなるか?)
同じ機能で「PIC16F57」という「ICSP」機能の付いたチップがあるが、それにしても、端子数が少ないのは致命的。
"FDエミュレータ"などを考えるには、やはり、制御用端子にも余裕があって、FD側、CF側を制御し易いチップの方が良さそうな気がして来た。
このキットは、組み立てただけで終わり...になりそう。でも、起動役にはなったかも。(笑)
++ IBM製 差替式FDDユニット ++
「IBM製 差し替え式FDD」(ジャンク)を買ってみたが、これも「PC110」を起動出来なかった。
この筐体は、少し大型なので、"FDDエミュレータ"を内蔵させるのに具合が良いのではなかろうか?と考えて、分解してみた。
「ドライブ・ユニット(FD-05SLHG)」を除けば、中の空間・容積は充分なようだが、追加基板の固定の仕方が難しそう。(図6[クリック])
...まぁ、他に方法が無ければ、"両面テープ"のご厄介になるしかないが。
使おうとすると問題になるのが"端子間接続"で、「ドライブ・ユニット」に同じ「FD-05HG」系でも、開発された年代やPCの対応機種によって、"端子機能"が、かなり違っているのではないかと危惧している。
その為、「PC110」で使う際に、本体を起動出来ないような"FDDエミュレータ"では意味が無いので、違いなどは潰しておきたい。
+ 端子接続(私見) +
この「IBM製 差替式FDDユニット(P/N:05K2643)」は、経由する「(茶色)ソケット」は80ピンのようだが、FDD用には、その内の26ピン(12ピン+14ピン 2分割)しか使われていない。
多層基板が使われているので、表面からは、"配線パターン"は見えず。
「ピーピー・テスタ」で、耳と眼で確かめながら端子相互の接続を探った。
尚、ケ-ブル先端の端子番号(順序)を調べるのに「PC110用ポトリ」の端子を利用した。
結果は、図7の如くで、期待していた配置とは、全然違っている。
但し、「端子機能」は「FD-05HG、FD-05HF」の資料を利用していて、現物「FD-05SLHG」の資料ではない点は、問題かもしれない。
それに、「Ready」端子が、見付からない!?
FDDユニットから80ピンの端子への接続はあるようだが、「12ピン+14ピンコネクタ」のリード線から外に向かっては、その"信号線"は出ていないようだ。
因みに、先日調べた別のIBM製FDDでは、「FD-05HG」の"端子番号"が、これとは違っている。(図8[クリック])
ただ、起動OKのFDDでも、「Ready」信号を必要としていない点は似ている。(奇妙だ/面白い!)
まぁ、以前、「ポトリ」と「FDD」を直結した時にも、「Ready」端子は使っていなかったし、それでちゃんと動作したから、これでいいのだろう。
PC110 画面右端欠け 改善 [2023/12/01]
++ 懸案解消!(画面右端欠け) ++
「PC110 No.3:三郎」の(腐ってしまった)"STN-LCD"表示を"6型TFT-LCDモジュール"に替えてから、ずっと懸案だった「Pasonaware」での"画面右端の欠け状態"が、今回やっと"手操作"だけど、解消出来るようになった♪(図1)
プログラムの初期起動を調べていると、毎回暴走して、「Pasonaware」が壊れてしまう。
その度毎に、入れ直すのだが、その"右端欠け画面"と対面するので、いい加減うんざり。(図2[クリック])
今回、"我慢の限界"を超えたので、懸命に"常駐プログラム"を検討して、手操作でそれを補うことが出来るモノを作ってみた。(xscrn.com zipファイルは此処)
>xscrn mx
(x:2〜3f(hex) 右寄せ幅で、通常は8〜9だが、窓枠(画面)が右寄り過ぎの「No.3:三郎」では「11」が適当)
mオプションを付けて起動すると、指定数だけ画面を右寄せする条件で、プログラムは常駐する。
+何もつけないと、常駐を解除する。
+常駐すると、「Ctrl+F7」または「Alt+F7」キー押し下げ毎に、画面がCRT(外部)かLCD(内部)に切り替えられる。
尚、このプログラムは、キーボード割り込み「Int 09h」のベクトルを横取りして処理を行う方式なので、"キー操作"をしないと効果が現れないのが、珠に瑕!?
このプログラムは、手動でも働かせられるが、「Autoexec.bat」内に組み込んでおくと、具合が良い。
ただ、キーボード関係のコマンド類(例えば、KEYB.COMなど)よりも後の行に入れないと、(ベクトルが書き換えられてしまうらしく)働かなくなる。(図4[クリック])
++ 経緯と課題 ++
実は、「PC110」には、画面切り替えの為に「Fn+F7」キーが備わっているのだが、これが"TFT-LCD"に対しては、好意的に働いてくれない。
(外部)CRT側への切替は問題ないのだが、逆向きは、妙な画面モードになってしまう。
直接、「Fnキー」の"キーコード"などを捕まえられないかと、かなりハードウェアに近い所(I/Oポート「60h」)まで調べたが、(力不足で)やはり掴めなかった。
止むを得ず、「ctrl/alt+F7」キーで代用することにした。(図3)
先に作った「ct65535e.exe」には似たような機能を組込んではあるのだが、余分な箇所が多いし、かつ不完全な箇所があるので、今回はそれらを整理し、キモを追加して作成した。
キモは、DPMS(Display Power Management Signaling)機能を(マニュアル上で発見して、)追加したこと。(XR73:0Ah/05h)
これで、CRT出力を意図的に停止させ、2方向同時出力(内部/LCDと外部/CRT側の両方が表示状態)になることを避けて、安定・確実に(内部か外部に)画面を切り換えることが出来るようになった。
(...それに伴って、2方向同時出力は出来なくなったが、それは諦めよう)
このプログラム(xscrn.com)は、キーボード関連の「Int 09h」の割り込みベクトルを「Int 62h(または90h)」に移して、
仮に"Int 09h"を名乗っているので、後から来たプログラムに、このベクトルを(強制的に)"上書き"されてしまう可能性がある。
だから、画面が出るのが遅くなるので癪なんだが、出来るだけ後ろ/下の行に入れる必要があるわけだ。(図4[クリック])
...しかし、「TFT-LCD」の「PC110」は、何時見ても惚れ々々するなぁ♪