PPMMCDRV(PC-98のプリンタポートで
MMC互換カードの読み書きを行うツール)
のハードウェアの製作


なおさんの2022年12月31日・2023年1月1日(12)・4月21日 のツイートで,MS-DOS上でPC-98のプリンタポートを使用してMMC互換カードの読み書きが行える "PPMMCDRV" (ハードウェアとドライバソフト等の総称)の開発報告がなされ,次いでyukkurizのメモ帳 --> PPMMCDRV.SYSにおいて,ハードウェアの回路図とドライバソフトが公開されました.筆者はPC-98でのMMC互換カードの読み書きには,既にPC-9821XA-E01(PCカードスロット増設アダプタ)+CFアダプタ+MMC互換カード-CF変換アダプタ,あるいはUSBカードリーダーを使用していたため,PPMMCDRVに積極的な興味を感じていなかったことと,PC本体の設置場所の関係で本体背面のプリンタコネクタに簡単にアクセスできない状態な上,プリンタコネクタには常時プリンタ(Canon製BJC-35vII)とスキャナ(NEOS製NSF-1230P2)が接続されていることから,PC-98Tips集にこのツールの項目を追加するのみで,自らハードウェアを作ってテストしてみることまでは考えておらず,ハードウェアの製作の仕方に関する資料もこれまで碌に読みもしていませんでした.

ところが一年後の2024年1月の頭になって,開発者である なおさんご自身による,PPMMCDRVのハードウェアの作り方とドライバ等の使い方を説明する【PC-98】プリンターポートにMMC互換カードを繋ぐ【PPMMCDRV.SYS】と題する動画(以後単に動画と表記)がYoutubeで公開され,それを見たところ,動画公開時点で,第三者による自分で使うためのハードウェアの製作報告が皆無であったということと(注),動画内でも言われているように誰にでも簡単に作れそうに思えたことから,少し興味が出てきましたので,実際に作ってみることにしました.PPMMCDRVの動作を自分の目で確かめることが第一の目的で,ちゃんとしたものを作る気も最初からありませんでしたが,PPMMCDRVのハードウェアを自分で作ってはみたいものの,この種の工作の経験が少ないために勝手がわからず製作に踏み切れていないという人に,製作の参考となる情報を提供することにもなるかと考え,筆者がこれを製作した時の記録を下に残しておくことにしました.
 注:実際には,作ってもわざわざ手間をかけてそれを公表する人は(特にブログやツイッターなどの手軽な情報発信手段を持っていない人では)稀と思われます.自分で使うためにものを作っている人というのはそういうものです.自分に必要なものを作ることが目的で工作を行うわけですので,大半の人にとってはそれが作れたらそれで十分なわけです.

動画によれば,PPMMCDRVのハードウェアは,(1) PC-98用のプリンタケーブル,(2) MMC互換カードアダプタ,(3) USBケーブルという,わずか3つの材料があれば作ることができるといいます.このうちUSBケーブルは当初何に使うためのものか筆者にはわかりませんでしたが,PC-98本体のプリンタコネクタには+5Vピン(+5V端子)がなく,MMC互換カードアダプタを動作させるためには外部から+5Vを供給する必要があり,その外部電源としてUSBケーブルを挿して使う充電器が想定されているらしいことが後からわかってきました.どうやら殆どの家庭にはこの充電器があるようですし,余っているUSBケーブルもあるようです.つまりPPMMCDRVのハードウェアそのものを作るのに最低限必要なものは,プリンタケーブルとMMC互換カードアダプタの2つです.電源ランプやアクセスランプを付加するのであれば,他にLEDと抵抗も必要となります.下では筆者が使用した材料と組み立て方について述べていきます.PPMMCDRVのハードウェアの工作,特に電子工作に関する部分は,簡単に言ってしまえば,①PC-98用のプリンタケーブルを短く切って内部のコードを露出させ,②そのうち特定の5本をレベル変換チップが載っているMMC互換カードアダプタに接続(ハンダづけ)し,③外部電源ラインも接続する,というたった三つの作業です.以下ではこれらを長々と説明します.閲覧者にはこの種の工作の経験が少ない人を想定しています.

■プリンタケーブル
PPMMCDRVは,アンフェノール(またはセントロニクス)フルピッチ14ピン(以後単に14ピンと表記),アンフェノールハーフピッチ20ピン(以後20ピンと表記),アンフェノールハーフピッチ36ピン(以後36ピンと表記)のいずれのプリンタコネクタを持つ機種でも動作可能です(注1).ノーマルモードのみの対応と思われます.接続先のPC本体のプリンタコネクタの形状に合ったプリンタケーブルを用意します(注2・3・4・5).
 注1:Dサブ36ピンのプリンタコネクタを持つ機種,およびこのコネクタを持つハイレゾボードが装着された機種でも動作可能と思われますが未確認です.下の組み立ての節も参照.
 注2:14ピンオスコネクタ単体には,第一電子工業の57-30140(R1)などがあります(500-1,000円程度).これはプリンタケーブルのように直接コードをハンダづけするようになっています.他に基板に取り付けるタイプなどもあるかもしれませんが,調べていません.20ピンや36ピンのコネクタも単体での販売があります.しかしプリンタケーブルのジャンク品を利用するのが最も安上がりでしょう.
 注3:Windows95以降のOSでプリンタポートにプリンタを接続して印刷するためには,本体のプリンタコネクタが36ピンの機種であるか,CバスにPC-9801-94(プリンタ増設インターフェイスボード,コネクタは36ピン)が装着されている必要があります.従ってWindows95以降のOSでプリンタを使用する必要がない人にとっては,14ピンコネクタや20ピンコネクタのプリンタケーブルには,もはやプリンタケーブルとしての価値はないことになります.
 注4:現在最も入手しやすいケーブルは36ピンコネクタのものでしょう.
 注5:いずれのケーブルでも,プリンタ側のコネクタはアンフェノールフルピッチ36ピンオスです.

下のような14ピン-36ピン変換コネクタが入手できれば,14ピンコネクタを使ったハードウェアを36ピンコネクタの機種でも使うことができます.この変換コネクタは,かつては中古やジャンクのPC本体についていたり,ハードオフなどで100円程度でよく売られていたものですので,ある程度数が出たものでしょう.黒いプラスチック製のケース部分にはHRSのロゴが刻印されていますので,ヒロセ電機がこの形状のものを丸々製造したのでしょう.この変換コネクタは単体でも販売されていたのかもしれませんが,プリンタケーブルとセットで,あるいはプリンタケーブルとともにプリンタ本体の付属品としても供給されていたのかもしれません.ケース内部にある14ピンコネクタと36ピンコネクタの接続部が金属製の囲いでシールドされているなど,なかなか金のかかった造りをしています.


筆者は幸いこの変換コネクタを持っていたため,手元のいくつかのデスクトップ機でテストするためには,14ピンのコネクタが使われたプリンタケーブルがあればよいと考えました.ところが自宅を探しても見つかりません.持っていることは間違いありませんので,東日本大震災時のゴタゴタの中で予備のプリンタなどと一緒に物置の奥にしまい込まれてしまったものとみえます.あまり期待せずに地元の古道具屋で探したところ(注),かろうじて1本だけ見つけることができました.値段は100円でした.非常に汚れており(画像は清掃後のもの),値札とその上に貼られたセロファンテープが酷く劣化していましたので,相当長く売れずにいたものでしょう.幸いコネクタの端子は錆などのない綺麗な状態でした.


 注:PC-98用のプリンタケーブルは,ハードオフなどのリサイクルショップジャンク屋ではまだ安価に入手できるでしょうが,かつてのようにその種の店ならどこにでも在庫があるというものではもはやなくなっていると思われます(注1).今の時代そう売れるものとは思えませんが,一方で長期間売れずにいたため,不良在庫と判断されて処分されてしまっている場合もあり得ます.PMMCDRVのハードウェアの製作を考えている人は,見かけた時に押さえておくとよいでしょう.なお直上の画像のようなプラスチック部分のあるコネクタには,内部に樹脂が充填されているものがあり(直上の画像のコネクタは違いましたが),そのようなコネクタでは樹脂を砕いて一番外の被覆の内側にあるバラのコードが接続(ハンダづけ)されている部分を露出させることが容易ではありません.そのため,このタイプの14ピンコネクタ目当てで正体不明のケーブルを手に入れるのは避けた方が無難でしょう.正体不明のケーブルではコネクタのピンとバラのコードの接続の具合がPC-98用のプリンタケーブルのものと異なっている可能性があり,その場合にはバラのコードの接続先のピンを変更する必要がありますが,上の理由からそれは大変な作業となってしまうからです.下の画像にあるような,プラスチック部分を持たない金属製のコネクタ(ツメ等を外せば内部を露出できます.単体で販売されている14ピンオスコネクタもこのタイプです)を持つケーブル(画像のものはPC-98用のプリンタケーブルですが)であれば,正体不明のケーブルのものでもコネクタをPMMCDRVのハードウェア製作用に再利用することは容易です.ヤフーオークションで出品者IDが yuki06281215,オークションIDが j1031454673(2024年1月30日に終了予定)の出品物の説明に使用されていたものを加工(元画像から切り出して1/4に縮小しjpg形式に再変換)した画像を引用します.


   注1:2024年2月の時点での現行品はないようです.少し前までは36ピンコネクタの1.5mのものがサンワサプライから出ていましたが,それも今では廃番品となりました.ヤフーオークションやメルカリなどには多数出品されていますが,1,000円を超えるものが多く,さらに送料が加わることも考えると,安く済ませたい人にはお奨めしにくいように思います.

古道具屋で購入したケーブルは,コネクタのプラスチック部分とケーブルの被覆にSumitomo Wiringの文字列がありましたので,住友電装の製品と思われます.どこかのメーカーのプリンタに添付されていたものでしょうか.念入りに拭いて汚れを落とした後に,両端のコネクタのピン間での導通の具合をテスターで調べたところ,PC-98用のプリンタケーブルであることが確認できました(パラレル入出力ポートとしてのプリンタポートとマウスポートを参照).

プリンタケーブルを切断して一番外の被覆を剥ぐ場合には,剥ごうとする箇所を曲げて,中の編組シールド(細い鉄線で織られたもの.コネクタのフレーム部分のGND)を切らないよう少しずつカッターの刃を入れ,シールドが露出したらケーブルを少し回して同じことを繰り返して被覆を竹輪のような状態に切り離して抜き取るとよいでしょう(画像左).中身のバラのコードを出す時には,このシールドの安全な切除がなかなか大変です(画像右).ハサミで雑に切っていくと鉄線の微細な破片が飛び散り非常に危険です.目や鼻に入ったり吸ったり床に落ちたりしたら大変です.屋外で作業するか,大きな菓子箱や袋などの中で切れ味のよいニッパーで少しずつ切るなどの工夫と細心の注意が必要です.鉄線の破片を1本でも飛ばさない(これ汗ばんだ手になどにも付着します)覚悟で作業する必要があります.シールドの先端部分を少し拡げた後でバラけないようにハンダで固めてしまうという処理方法もありますが(かかっくんさんよりご教示いただきました),ケーブルの種類によってはフレームGNDとコネクタのGND端子との間に導通のあるものもありますので,ショートに注意する必要があります.


■MMC互換カードアダプタ(基板)
以下ではレベル変換チップの載っているMMC互換カードアダプタ(PPMMCDRVのドライバソフトに同梱されているreadme.txtと動画では "カードシールド")を "基板" と表記します.

PPMMCDRVのハードウェアを作ってみたいが躊躇しているという人の多くは,恐らくどの基板を買えばよいかの判断が付きかねているのであろうと思います.

筆者はこの種の基板に関する知識が全くありませんでしたが,安価なものはAmazonなどでも売られていると聞きましたので,2024年1月7日にAmazonのパソコン・周辺機器カテゴリーで商品検索を行ってみたところ,Rasbeeブランドの製品が最安値(126円,送料無料)で出品されていました[商品説明寸法入りの基板の画像基板上の部品の位置と機能の説明図チップ名がはっきり読める画像].現在は入荷の予定なしとなっていますが,この時は在庫僅少ではありませんでした(注).
 注:2024年2月24日に見たら在庫が復活していました.この出品者は,一度の入荷がすべて捌けないうちは在庫の補充を行わない方針なのかもしれません.

使用されている3.3V電圧レギュレータはAMS1117(データシート)です.これは電源電圧(+4.5V-+5.5V)をMMC互換カードの動作電圧である+3.3Vに下げるための部品でしょう.またレベル変換チップ(PPMMCDRVのドライバソフトに同梱されているreadme.txtでは "レベルシフトIC",動画では "レベルコンバータ(IC)" は74LVC125A(データシート)です(注).これはプリンタポートとやり取りする信号を+3.3Vにするための部品でしょう.レベル変換チップが載っている基板を使用した方がよいと動画で言われていましたので,この基板について検討することにしました.
 注:Amazonで同じ商品画像の品物であっても,ロットによっては74LVC125Aでなく74HC125が使用されているといいます.両者は特性が異なります.

商品説明文には次のようにありました:
・電源電圧は4.5V-5.5V(5V標準値).これはVCCピン(電源ピン)に+5Vの直流を流せば動作することを意味します.
・使用電流は0.2mA-200mA(標準値80mA).これは最大で200mAの電流を消費することを意味します.PC-98のプリンタコネクタには+5Vピンがありませんので,外部電源を使用する必要がありますが,この程度の電流を供給できない外部電源など今では珍しいくらいですので,これに関しては特に気にする必要はありません.
・インターフェイスレベルは3.3Vまたは5V.これは信号の電圧に関する事項のようですが,よくわかりません.別な箇所には "インタフェースレベルが可能なレベル変換回路基板は,5Vまたは3.3Vです" ともありますが,MMC互換カードの信号は+3.3Vですし,PC-98のプリンタポートの信号はTTLレベル(注)ですので,この条件に合致しているものと考えました.
・"この製品は,SDカード信号を3.3Vに変換できます.この製品はMISO信号を3.3Vに変換できます." ともあります.前者はプリンタポートからのTTLレベルの信号をMMC互換カードが動作する+3.3Vに下げるという意味でしょうか.後者は基板からプリンタポートへの信号(MISO:Master In Slave Out)が+3.3Vという意味でしょうが,TTLレベルとすれば問題はないでしょう(TTLレベルとすれば問題はないであろうということはかかっくんさんよりご教示いただきました.SN74LVC125Aのデータシートも参照).
 注:74/74LSシリーズの出力は,Hレベルが+2.4-5V,Lレベルが0-0.4V,入力はHレベルが+2-5V,Lレベルが0-0.8V.

以上から,この基板を選んで良さそうだと判断しましたので,2024年1月11日に注文しました.Amazonマーケットプレイスの商品でしたが,送料が無料で,4個買っても504円で済むことと,初期不良品に当たってしまう可能性もあることから,個数4個で注文しました(注文後に気付きましたが,5個セットでの販売もありました).さらに少額にもかかわらずコンビニ支払いが可能でしたので,代金の支払いはセブンイレブンで行いました(注).
 注:コンビニ支払いでは "注文を確定" ボタンをクリックしてからレジで支払いをするまでに結構な間があり,その間に頭が冷やせるため,物欲の暴走に抗する手段としてかなり有効です.注文のたびに店頭でAmazonギフト券(1,500円以上なら,1円単位で任意の額のものが買えます)を買って,という支払方法を採ることも,コンビニ支払い以上に手間と時間がかかるため,非常に効果があります.すぐ買える状態になっていると,本やCDなどをを際限なく買ってしまいそうです.

Rasbeeブランドのこの製品は,恐らく動画のMMC互換カードスロットの付いた基板(およびドライバファイルに同梱されている結線図.pngの基板)と同じものでしょう.同等品は他の複数のブランドでも製造されています.例えば2024年2月中旬にAmazonにおいて扱いのあるKKHMFブランドの製品(1個128円.複数個のセット販売もあり)は,3.3V電圧レギュレータはRasbeeブランドのこの製品と同じAMS1117が使用され,レベル変換チップにはTI製のLC125A表記の74LVC125A互換品(注)が使われています(商品説明基板表の画像基板裏の画像).
 注:TI(Texas Instruments)のデータシートを参照(かかっくんさんにご教示いただきました).

配達予定は2月上旬とのことでしたが,実際には少々早く,1月26日に郵便受けに投函されていました.封筒(クッション封筒)があまりに薄く軽いので,2個くらいしか入っていないのではないかと思いましたが,ちゃんと4個ありました.基板は個別にピロー包装されていました.緩衝材はなし.筆者はこういうものの実物を見るのが初めてでしたので,最初は華奢で物理的にすぐ壊れそうな印象を受けましたが,実際にはなかなかしっかりした造りでした.この種の安価な基板では,配送中にチップ部品が剥がれて包装の中に落ちていることがあると聞いていましたが,今回はそういうこともありませんでした.Rasbeeというのはどこのブランドか調べてもわかりません.色々な基板を出してはいます.封筒にはReturn TO: Freetown Sierra Leoneとあり,返送はアフリカへというのですが,注文から半月で届きましたし,YANWENという名称の業者が配送(配達は日本郵便でしょうが)したようですので,出荷は中国あたりからだったのかもしれません.製造も恐らく中国なのでしょう.


■外部電源
商品説明文に電源電圧は4.5V-5.5Vとありますので,+5V出力の外部電源を用意する必要があります.今回の工作は動作確認が主目的でしたので,ひとまずPC本体のCバスコネクタから+5Vを取ることにしました(注1・2).CバスコネクタのA49・A50・B49・B50ピンが+5Vで,A11・A21・A31・A41・B11・B21・B31・B41ピンがGNDです(Cバスの信号を参照).メルコのCバスRAMボードであるEMJ-2000LのB49ピンとB1ピンの根元にそれぞれコードをハンダづけし,+5VとGNDを引き出しました(画像左).PC-9801USに装着したところ,起動時にメモリエラーのメッセージが表示されたため(起動は続行しました),ボード上のSW1を2,SW2を0,JP1をF側,JP2をN側に設定したところ,エラーが出なくなりました.あくまでも動作テスト用ですので,引き出した+5VラインとGNDラインを,両端に鰐口クリップの付いたコード(画像中央)で基板のVCCピンとGNDピンから引き出したラインと繋いで使用します.不安定な接続の仕方で,決して褒められたものではありませんので,製作途中の動作テスト以外の事態では真似しないで下さい.筆者は今回このような仕方で製作とテストを行ったということを書いているだけです.


 注1:周辺機器の製作やテストで+5V出力の外部電源が必要な場合,筆者は通常PC本体内部の電源ケーブルから分岐させたケーブルを使用していますが,今回の工作は厳冬期中のことであり,暖房設備のない場所に置いてある冷え切ったPCをテストのために作業場に運び入れて筐体を開けることは,PC内部のコネクタ類を破損したり金具の縁で手を切るなどの事故や怪我につながるため,このようなものを用意することにしました.
 注2:マウスコネクタにも+5Vピンがあります(パラレル入出力ポートとしてのプリンタポートとマウスポートマウスコネクタ(丸型←→角形)変換ケーブルの結線を参照.なおRS-232Cコネクタには+5Vが出ていません.

ACアダプタを外部電源とすることも勿論可能です.ハードオフ等の大きな店なら,小型で+5V-2A程度の出力を持つものが100円,あるいはせいぜい数百円程度で買えるでしょう.地元の古道具屋には Arvel ADAPTER MODEL:SYS129-1305-W2という+5V-2.6AのSUNNY社のOEM品(ピン径2.5mm)が100円でありました(直上の画像右).ウェブ検索すると充電器と出ましたが,コネクタは丸ピンでコードも2本ですので,+5V出力とGNDだけの一般的なACアダプタと考えて差し支えないでしょう(注).但しこのようなジャンク品を使う場合には,予めテスターで出力電圧を確認しておかないと危険です.このACアダプタでは+5.4V(電源電圧上限+5.5V)出ていました。この基板には何とか使えそうですが,LSタイプなどの古いタイプのTTL IC(同+5.25V)が使用されている古い機器では使えなさそうです.上記の通り,動画を見るとPPMMCDRVの開発者ご自身は,USBケーブルを挿して使用する+5V出力の充電器を外部電源として使用しているようです.このタイプの充電器は多くの家庭にあると聞きます.また品質については筆者にはわかりませんが(質の低い製品には発火の危険性があります),ダイソーなどでも売られています(300-500円).USBコネクタ(TYPE A)のピンアサインはUSBコネクタ TypeA ピン配置 (ピンアサイン) ケーブル色などを参照.ケーブル側のコネクタのピンアサインはこれを左右反転したものです.すなわち,嵌合面を上半分が空洞となるように見た場合,左端のピン(端子)がGNDで右端のピンが+5Vです.USBケーブルは大抵の家庭に使わなくなったものがあると思いますが,100円ショップでも売られています.中古やジャンクでも多く出回っていますが,金属部分が錆びていたり,使い込まれてコネクタの端子の先端部が摩耗して下地が現れてしまっているものも見かけますので,買う場合にはよく見て状態の良いものを選ぶ必要があります.
 注:エレコムのUSBハブであるU2H-EG4SBK/WH用のACアダプタであるADP24-012(U2Hシリーズ用とありますので,後継製品のUH2-AN4SBK/WHにも対応?)も同じOEM品であることを確認しました.ArvelのこれもUSBハブ用なのかもしれません.

■アクセスランプ,電源ランプ
PPMMCDRVのドライバソフトに同梱されている結線図.png,動画ともにアクセスランプはなくとも動作に支障はない旨が述べられています.製作後の動作テストで確認したことですが,確かになくても全く問題ないと思います.画面表示により動作の様子が把握できるからです.アクセスランプを取り付けたいという場合には,ランプとしてLEDを使用します.アノードをプリンタケーブルのDB3ラインに,カソードをGNDに接続します.この場合,LEDの種類にもよりますが,アノード側かカソード側のどちらかに(どちらでも構いません)抵抗を入れないと明る過ぎるでしょう.筆者は型番の不明なオレンジ色の直径3mm程度の砲弾型のLEDを接続してみましたが,300Ω(艶消しタイプでないため,筆者にはこのくらいでは少し明るすぎるように感じられました)-1KΩ程度の抵抗を挟むのがよいようでした.LEDは種類と明るさのバリエーションが非常に多いので参考まで.LEDのアノードとカソードについては,LEDの極性 アノードとカソードの見分け方を参照.砲弾型のLEDの新品では,リード線の長い方がアノードです.アノードのリード線は,LED内部の小さな方の電極(リードフレーム)に繋がっています(大きな方の電極はカソード側).抵抗値の見方は抵抗器のカラーコード・表示の読み方、覚え方 (工程動画も公開!)などを参照.また複数の抵抗を組み合わせて任意の抵抗値を得る方法については,合成抵抗の計算方法とツール(直列接続、並列接続)などを参照.LEDも抵抗も通信販売で簡単に買えますが,種類は少ないものの,ホームセンターなどでも手に入ります.勿論電子パーツショップでは多種多様なものが売られています.筆者は廃棄された機器の基板から取り外したものを,他の電子部品と一緒にストックしています.

電源ランプも取り付けることができます.外部電源の+5VラインとGNDライン(あるいは基板のVCCピンとGNDピン)の間にLEDを同じように接続します.この場合必ず抵抗を入れて下さい.プリンタポートからの電流供給量に比べて外部電源の電流供給量は非常に大きいため,抵抗を挟まないと過電流によりLEDが焼損します.なお電源スイッチも取り付けることはできますが,特に必要はないと思います.取り付ける場合には,外部電源の+5Vラインと基板のVCCピンとの間にトグルスイッチやスライドスイッチを入れるとよいでしょう.

■組み立て
PPMMCDRVの動作確認を主目的とするハードウェア製作でしたので,完成品の見映えや使い勝手の良さなどは最初から度外視しました.きちんとしたものを製作しようとする場合でも,勿論最初からガチガチに作るのもよいでしょうが,まずは仮組みして動作に問題がないことを確認するのもよいでしょう.動作確認さえ取れてしまえば,後は安心して(動作確認時の条件内で)自分の好きなように工作できます.

基板のMMC互換カードスロットにはバネが付いており,カードの着脱時に基板に結構な力が加わるため,基板をきちんと固定しておく必要があります.またプリンタケーブルのケーブル部分は柔らかく曲げやすくなっているため,こちらもしっかりと固定しておかなければ,バラのコードと基板の接続部分(基板のピンに個々のコードをハンダづけした部分)が剥がれる危険性があります.筆者はこれらを固定する台として,建築廃材から切り出した木片(絶縁材)を使用しました(注1・2).基板は四隅に固定用のネジ穴(直径2.2mm,M2ネジ用)がありますので,手持ちの小さな木ネジ(タッピングネジ)で,カードの着脱が行いやすいように木片の端に固定しました.この小さなネジは廃棄される電子機器から部品取りをした際に出たものでしょうが,何でも取っておくものだと改めて思いました(注3).なお基板の裏面に信号ピンの足の部分(基板に信号ピンがハンダづけされている箇所)が突き出ていますので,これらが干渉する部分に彫刻刀で溝を彫り,基板が木片の表面とぴったり接するようにしました.またプリンタケーブルは,木片にケーブルの幅に合わせた溝を彫り,そこに填め込んで溝の両脇に貫通させた穴に通したビニールタイ(ビニタイ)を捻って押さえつけました.ビニールタイは食品の袋の口を結わえるのに使用されていたものです.このような仕方でもケーブルは十分に固定できました.
 注1:木片をこの用途に使う人もいないとは思いますが,もし木片が必要でしたら,少し規模の大きなホームセンターの工作コーナー[客が店内で購入した資材の簡単な加工(切断や穿孔等)を行えるスペース]の担当者に,蒲鉾板くらいの大きさの端材があれば譲ってもらえないか尋ねてみてもよいでしょう.
 注2:この種の手作業による工作においては,通常はユニバーサル基板が使われます.小型のユニバーサル基板の安価なものは,送料を別にすれば,Amazonなどで1枚あたり数十円や100円程度から買えます.
 注3:このサイズのネジは珍しいものでもなく,ホームセンター等でも売られています.筆者の住んでいるところはホームセンターが近くにないため,寒い中わざわざ遠くまで買いに出かけなくても手持ちのもので用が足せて良かったということです.

プリンタケーブル内部の6本ないし5本(アクセスランプを付けない場合)のバラのコードの被覆を剥いて先端から芯材(被覆に覆われている電線)を露出させ,PPMMCDRVのドライバソフトに同梱されている結線図.pngや動画で示されている通りに,基板のピンにハンダづけします(注1).すなわち,DB0-CS,DB2-SCK,DB1-MOSI,BUSY-MISO,GND-GND(,DB3-LEDのアノード)の組み合わせで結線します.個々のコードにラベリングをしておくと,誤結線のミスを減らせるでしょう.筆者は白いビニールテープを小さく切ってコネクタ番号を書いたものをコードに貼り付けました(ラベルは結線後に剥がせます).油性マジックでコード毎に異なる印を付けるという方法もあります.プリンタケーブルのコネクタには三種類(14ピン,20ピン,36ピン)ありますが,三種類ともピンアサインを調べてありますので,パラレル入出力ポートとしてのプリンタポートとマウスポート を参照して下さい(注2・3).ハンダづけするケーブルの本数は少ないのですが,ハンダづけを終えたら,正しく結線されているか必ずチェックして下さい.
 注1:プリンタコネクタのピン[端子,ここではDB0,DB1,DB2(,DB3),BUSY,GNDの各信号に対応するもの]と,バラのコードの先端との導通をテスターにより調べて,各ピンに結線されているコードを同定します.テスターを持っていない人は,持っている人から借りて使ってもよいでしょう.自動車やオートバイに乗る人は,電子工作をする人でなくても,バッテリーチェック用にテスターを持っていることがあります.テスターの安いものは,Amazonなどで送料無料で500円程度からありますが,PPMMCDRV以外にこの種のものを作ることもないだろうという人は,わざわざ買わずに借りて済ますのがよいでしょう(注1.1).その場合,テスターの使い方に慣れていないことを伝えれば,コードの導通を調べてくれる場合もあるでしょう.このような単純な導通調査でも,対象の固定の仕方やプローブ(テスターの棒の先端)の当て方などにコツがありますので,経験者の手伝いが得られるならばそれに越したことはありません.なお方位磁針を使う方法もありますが[point of view point --> テスターなしで通電確認(2013年3月28日の記事)を参照],この方法で今回のコード同定作業を行うのは大変だと思います.
    注1.1:工具に関する筆者の持論はコネクタ圧着用の工具を参照.
 注2:この記事では,結線図.pngや動画でDB~と表記されている信号をPDB~と表記しています.従って,14ピンコネクタと36ピンコネクタでは,DB0=2ピン,DB1=3ピン,DB2=4ピン,DB3=5ピン,BUSY=11ピン,GND=14ピン,20ピンコネクタでは,DB0=8ピン,DB1=17ピン,DB2=16ピン,DB3=5ピン,BUSY=10ピン,GND=13ピンです(36ピンコネクタでは,14ピンの他に16・19-30・33ピンもGNDです).この記事のコネクタの図はPC本体にあるメスコネクタのものであり,プリンタケーブルのオスコネクタでは,ピンの並びがこの記事の図のものと左右逆になりますので注意して下さい.結線図.pngや動画のコネクタの画像はプリンタケーブルのオスコネクタのものです.
 注3:Dサブ36ピンメスコネクタ(PC-386G本体,PC-386GS/GE用のハイレゾボードPCHRLB,PC-486GR/GF用のハイレゾボードPCHRLB2)のピンアサインも判明しましたので,パラレル入出力ポートとしてのプリンタポートとマウスポートの記事に追記しました.PC-98XL/XL^2/RL本体のものでも同じと思われます.ノーマルモードでは14ピンコネクタ相当の信号だけが有効になります.PPMMCDRVでは,DB0=2ピン,DB1=3ピン,DB2=4ピン,DB3=5ピン,BUSY=11ピン,GND=16ピン(14ピンではありません)としてよいと思われます.この場合も,プリンタケーブルのオスコネクタのピンの並びは,PC本体/ハイレゾボードのメスコネクタのものを左右反転したものになります.


コードの被覆を剥く作業には,ワイヤーストリッパーという専用工具が便利です.下は筆者が使用しているもので,画像左上の口のようなところにコードの先端を挟み,下の足のような部分(黒い方がレバー)を強く握れば先端部の被覆を剥くことができます.他にコードの直径に対応した穴で被覆を剥くタイプなどもあります.安いものは1,000円程度からありますが(以前は100円ショップの商品にもありましたが,今も扱いがあるかはわかりません.ダイソーなどでは工具売場を縮小している店舗も少なくないようですので,扱いがあるとしても店頭にあるとは限りません),今回の工作では,コードの本数も多くありませんので,こういうものをわざわざ買わずとも,カッターで被覆を注意深く切り取って芯材を露出させてもよいでしょう.被覆を歯で剥くのは危険ですので止めた方がよいでしょう.


ハンダづけの仕方については,電子工作のコツ/はんだ付けなどを参照.この記事は部品を基板にハンダづけする場合のやり方の解説ですが,コードをピンにハンダづけする場合も考え方は一緒です.まずコードの先端の被覆を剥いて芯材(電線)を露出させ(バラけないように,綺麗にした指先で少し縒っておくとよいでしょう),そこに十分に熱したコテ先を接触させ(注),紐状のハンダ(糸ハンダ)の先端を接触部に当てて,溶けたハンダが芯材に染み渡るようにします(予備ハンダ).基板のピンにも同じように予備ハンダを施してから,コードをハンダづけします.予備ハンダのハンダの量は本番のハンダづけのためには多分足りませんので,ここでもハンダを使います.
 注:コテ先を強く押しつける必要はありません.コテ先が十分に熱せられていれば,今回の工作のように予備ハンダが施されている材料同士のハンダづけに力は要りません.コテ先が曲がるのではないかと思えるほど力をかける人を見ることがありますが,やり方が根本的に間違っています.

ハンダゴテはホームセンターやダイソーなどで安価なものも売られていますが,家にないという場合には,持っている知り合いがいれば,その人から借りて使うのがよいでしょう.その場合にはハンダゴテを置く台[コテ先を冷やすための耐熱スポンジ(水で湿らせて使用)等の付いたもの]と糸ハンダも一緒に貸してもらって下さい(フラックスはなくても大丈夫です).具体的な作業内容と作業に不慣れであることを伝えれば,他の工具も一緒に貸してくれたり,作業を手伝ってもらえたりもするかもしれません.作業の手伝いを申し出てくれたり,作業自体をやってくれるという場合には,是非お願いして下さい.他人に自分の工具を使わせるのを好まない人もいますし,ハンダゴテの使い方をはじめとして,ハンダづけの実際の作業には色々とコツが要るものだからです.なおウェブ検索すると,ライターと太い針金で代用できるとの情報も出てきますが,ハンダづけ作業に習熟した人が緊急時にやむを得ず行うというのならばともかく,今回のような工作では非常に危険(火傷,怪我,火災等)ですので,こんな方法は絶対に使わないで下さい.

外部電源と接続できるようにする必要もあります.外部電源からの+5Vラインを基板のVCCピンに,GNDラインをGNDピンにそれぞれ接続します(外部電源のGNDラインとプリンタケーブルのGNDラインの両方とも,基板のGNDピンに接続します).この程度の作業でも,終わったら必ず見直しをして下さい(電源ラインとGNDラインとを逆に結線するというのは致命的なミスであるにもかかわらず,割にやらかすものだからです).これらのラインも固定しておく必要があります.筆者は先端に芯線を露出させたコードを木片に彫った溝に填め込み,上からガムテープを貼って固定しました.上に書いたように,両端に鰐口クリップの付いたコードを使って,これらのコードをPC本体のCバススロットから引き出したラインに接続します.

なお2つ上の画像では,プリンタケーブル内の2本のコード(いずれも赤被覆)が基板のGNDピンに結線されています.工作に使用したプリンタケーブルでは,14ピンコネクタ内部で13ピン(NC)と14ピン(GND)が短絡され,かつそれぞれのピンに赤被覆のコードが結線されていました.従ってこれら2本のケーブルはいずれもGNDラインであり,両者をともに基板のGNDピンに結線すれば,GNDラインの数が増えます.GNDラインを増やす,あるいは太くすることは,一般にノイズの影響を低減させる効果があります.このくらいの回路ではGNDラインが1本でも2本でも変わらないとは思いましたが,折角あるのだからと2本とも結線しました.

筆者の使用した基板は,ピンにハンダが付きにくい感じがありました.表面をカッターの背で少し削って荒らしてもハンダが乗りづらい感じがあります.同等品と思われる基板のAmazonのレビューでも同様の指摘がありました.事前にピンを洗浄しておいてもよいでしょうし,コードの接続には,メスコネクタを介する,基板の裏に出たピンの足にコードをハンダづけするなどの方法を取ることもできるでしょう.

最初はプリンタケーブルの長さが1.5mの状態で組み立てました.PC-286VF(286-12MHz)でテストしたところ,準備ができていませんというエラーメッセージが表示されて動作しませんでした.MS-DOSはNEC版のver.6.2で,MMC互換カードは128MBのものを使用しました.

設定プログラムPPMMCCTL.EXEでウェイトを調整してみても動作しませんでした.診断プログラムPPMMCTST.EXEを実行したところ,エラー内容が毎回変わったことから,カードの認識さえまともに行えていない状態と考えました.原因はいくつか考えられましたが(後で判明したことですが,テストしたPC本体がPC-286VFだったということも大きく関係していました),ケーブルが長すぎたことが原因として最も強く疑われました.yukkurizのメモ帳 --> PPMMCDRV.SYSにも,ケーブルはなるべく短くせよとの指示がありました.

プリンタコネクタ接続用コネクタの金属枠とプラスチック部分の境目から基板の信号コネクタの根元までの長さを,これまでの1/10の15cmと短くしてみましたが,PC-286VFでは相変わらず動きませんでした.ところがPC-9801US(386SX-16MHz)ではあっさり動きました

動画などでも言われている通り,USなどCPUクロックが低い機種での動作は遅いです(注1).128MBの容量のカードでもdir命令の実行後にプロンプトに戻るまでかなりの時間がかかります.実用的に使用するためには,容量の小さなカードを使うか(注2),容量の大きなカードに小さなパーティションを作成して使う必要がありそうです.
 注1:SCSI機器に比べて転送速度が著しく低下していますが,最大の理由は,SCSI機器では複数のデータを同時に転送できるパラレル転送であるのに対して,PPMMCDRVでは,PC本体からMMC互換カードの方向にはMOSI(Master Out Slave In)ピンに接続されたDB1信号ラインだけ,また逆の方向にはMISO(Master In Slave Out)に接続されたBUSY信号ラインだけを使ったシリアル転送であることでしょう(注1.1・1.2).しかしそのために,PPMMCDRVはプリンタポートが双方向通信に対応していない古い機種(デスクトップ機では,エプソン98互換機やPC-9801BX2/BS2/BA2,PC-9821As2/Ap2/An以前の機種.コネクタは14ピン)でも使用することができるのです.
  注1.1:筆者の経験上,RS-232C(シリアルI/F)での外部機器とのデータのやり取り時に発生したトラブルの殆どは,転送レート(ボーレート)を高く設定しすぎたことに起因していましたので,PPMMCDRVではデータの取りこぼし等の致命的な不具合を回避するために,敢えて転送速度を抑えているということもあるのかもしれませんが,明らかではありません.
  注1.2:双方向通信に対応したPC-9801BX2/BS2/BA2,PC-9821As2/Ap2/An以降の機種のプリンタポート(コネクタは36ピン)では,CH376(USB bus interface chip.Amazonの産業・研究開発用品カテゴリーなどでも扱いがあります)を使えば,MS-DOS上でパラレル転送によってUSBメモリなどの読み書きを行うことが可能です(USBカードリーダーを使用すれば,MMC互換カードの読み書きも恐らく可能でしょう).パラレル転送ですので,転送速度は格段に上がります.ハードウェアの回路図はなおさんの2023年5月28日のツイート を参照.ドライバはyukkurizのメモ帳 --> CH376をPC-98で使うで公開されています(こちらで公開されているファイルにも回路図が含まれています).筆者は製作していません.
 注2:2024年2月現在,1GB未満の小容量のMMC互換カードは(GBクラスのものに比べて割高ですが)Amazonなどでまだ入手可能です.安価なものにはClass 4等が多いようですが,PPMMCDRVで使用するならこのClassでも全く問題ないでしょう.

ファイル管理ソフトFDでMMC互換カードのルートディレクトリの2つ下のディレクトリにあるテキストファイルを3.5インチFDにコピーし,正常に読める状態でコピーされていることを確認しました.その後,
 (1) PC-9801FA(CPUはAm5x86-133ですが,キャッシュコントローラを組み込んでいませんので恐らく486SX-16相当)
 (2) PC-9801BX4(PODP83)
 (3) PC-9821As2(PODP83)
 (4) PC-9821Ap3(DX4-100)
 (5) PC-9821V200(MMXPentium200,青札デスクトップ機,USBポートあり)
 (6) PC-386GS(Cx486DRx2,キャッシュコントローラなし,コプロセッサあり)
の六つの機種(注)で,MMC互換カードからFDへの343KBのテキストファイルのコピーと,FDからMMC互換カードでの228KBのテキストファイルのコピーの両方を試したところ,両者とも問題なく終了し,文字化けなどもありませんでした.MS-DOSのFC /Bコマンド等でコピー元とコピー先のファイルのバイトごとの比較を行えば,ファイルコピーの成功/不成功をより正確に判定できますが,(大した手間でもないのですが)そこまでは行いませんでした.CPU速度の高い機種では動作速度が大分上がりました.個人的には,CPUクロックが40-50MHz以上だとそこそこ使いものになるなと感じました.これでMMC互換カードの読み書き手段が一つ増えたことになります.
 注:(1)はPC-9801USとともに古く遅い機種,(2)-(4)は比較的速くまたユーザーも多そうな機種,(5)はPentium以降の速い機種(恐らくUSBポートの有無は動作に無関係),(6)はEGCを搭載するなどPC-98により近づいたエプソン機ということで選びました.8036機やV30機は所有していませんのでテストできませんでした.K6-III搭載機などの特に速い機種は,PPMMCDRVの需要はほぼなかろうと考えたためテストしませんでした.

2024年1月26日に,Galient-lg6x0さんによるPPMMCDRVのハードウェアの製作および動作確認の報告が,動画へのコメントとして現れました.その中に,PC-286C(PC CLUB)ではSCK信号ライン中に3.3KΩの抵抗を挿入すればPPMMCDRVが動作するという情報がありました.同じ操作を行ったところ,PC-286VFでもPPMMCDRVが動作しました.なおさんの2024年2月11日のツイート によれば,同じPC-286シリーズの本体でも,PC-286V/VEでの使用ではこの抵抗を必要としないということです.SCK-DB2をジャンパスイッチなどにより抵抗あり/なしの2本のライン間で切り替えるようにすれば,1台のPPMMCDRVをPC-286C/VFと他機種の間で使い回すことができます.なお筆者のPPMMCDRVは,SCKライン中に3.3KΩの抵抗を挟んだ状態でもPC-9801US,PC-9821Ap3/V200でも動作しました(詳細なテストは行っていません).


ケーブルの長さを60cmに延長したところ,PC-9801USでは動作しましたが,PC-286VF(SCKラインに3.3KΩ抵抗を挿入)では,準備ができていませんというエラーが表示されて動作しませんでした.後者では抵抗値を調整すればあるいは動作するのかもしれませんが,試しませんでした.60cmというケーブルの長さは,筐体内を縦断させるにしても背面のコネクタから筐体外を引き回すにせよ,基板をPC本体前面に持ってくるにはこれくらいの長さがあればよかろうということで選びました.PPMMCDRVのハードウェアをPC本体に内蔵させたいという人は参考にして下さい.内蔵させる場合には,マザーボードの裏面に出ているプリンタコネクタの足から信号線を引き出すという選択肢もあるでしょう.MMC互換カードスロット用の開口部は,下の画像(注)のようにフロントパネルに設けることも可能でしょう.但し基板の固定の問題はあります.PC本体に内蔵させるなら,電源はPC内部から取ることができます.
 注:CF-IDE変換基板用の開口部をPC-9821V13の内蔵FDD1台用のパネルに開けた例.ヤフーオークションで出品者IDが sieru50,オークションIDが d307597092(2018年9月24日に落札)の出品物の説明に使用されていたものを加工(元画像から切り出してjpg形式に再変換)した画像を引用.


MMC互換カードの着脱は,PPMMCDRVのハードウェアが通電されていない状態で行うべきでしょう.またPPMMCDRVのハードウェアも,PC本体に電源が入っている状態での着脱はしない方がよいでしょう.PC本体に電源が入っている状態での着脱は,電子機器にとって一般的に望ましくない行為であることは間違いありません.

動作することが確認できましたので片付けようと思いましたが,その前に,外部電源を得るために一々Cバススロットにボードを装着する必要がないようにしておこうと思いました(差し当たっては使うことがなくても,将来的にこれが必要なケースが出てこないとも限りません).買ってはみたものの出力が+5.4Vと高かったために,これの外部電源ぐらいにしか使い道のない上記のArvelのACアダプタのコードの先端のプラグを切り外し,コード2本に裂いてそれぞれの先端から芯線を露出させました.このコードを接続できるように,ターミナルという部品を木片に取り付けました.画像のターミナルは,ケーブルの芯線を穴に通して上からネジで締め付けるタイプで,同種のものには現行品もありますが,これらは明らかに昭和の時代に製造されたものです(そしてよく見ると左右で形状が違っています.固定用ボルトのピッチも違います.明らかに異なる製品です).廃業したジャンク屋で二束三文の値段で買ったものか,閉鎖された古い施設の後片付けの手伝いに駆り出された際に廃棄品として貰ってきた中にあったものではないかと思いますが,まさか今になって使う機会が来るとは思いませんでした.ついでに書けば,ターミナルが取り付けられている黒いプラスチック板(絶縁体)は,不要なハンガーの板状の部分から切り出したもので,それを木片に固定した際に間に挟んだスペーサーは,使い終わったサインペンの軸を輪切りにしたものです.固定に使用した木ネジも,故障した何かの機器の分解廃棄時に出たものでしょう.売り物を作るわけではありませんので,この程度の小物類はわざわざ購入せずとも,その気になりさえすれば手近にあるもので代用できるものです.ターミナルなども今回は部品箱に入っていたため使いましたが,代替手段はいくらでもあります(コード直付け,プラグ/ジャック式接続等).


今回製作したものは電子基板が剥き出しになっていますので,使用環境によっては周囲のノイズの影響を受ける可能性もあります(筆者はそういうことに詳しくありません).防塵も兼ねてケース(周囲のノイズの影響を低減するためには,金属製のケースがよいのかもしれません)に収めるなどした方が,見映えも上がり人によってはよいのかもしれません.そういう方面に興味のある人は色々工夫してみて下さい.簡単なものではあっても,自分で調達した材料を使って自分の手で一つのものを作り出すという作業は意外に面白いものですし(この種のものは一発ではまず動かないものと考えておけば気が楽です),それを使って実際にあれこれするのはさらに楽しいものです.


追記1:一ヶ月ばかりタブレットとのファイルのやり取りに使ってみましたが,何十個ものファイルを一度に転送することも,一個で数MBもあるような大きなファイルを扱うこともなかったためか,トラブルは特にありませんでした(動画の最後の方で,負荷が大きいと転送が止まることがあるような話が出ていましたので,その点に気を付けて使っていました).PC本体はPC-9821V13(Pentium133)です.やはりこれくらいCPUの速い機種だと実用的な速度が出ます.また慣れてくると,こんな雑な造りのものでも使い勝手はそう悪くありません.

追記2:プリンタケーブルを加工した際に残った,使い道のないアンフェノールフルピッチ36ピンコネクタから14ピンコネクタを2個切り出してみました.画像右の上側のものは,そのうちの一つを14ピン-36ピン変換コネクタ(本記事の最初に載せた画像)にはめてみた状態です.加工に必要な工具は,金鋸(厚みのあるプラスチックを切るのにも便利です)やラジオペンチ,マイナスドライバー等です.


固定用の金属枠の部分は諦めることにしましたが,端子部分だけでもそれなりの強度で固定できます.余分な端子がメス側コネクタのハウジング内壁と干渉しそうだったために,コネクタの長辺を少し短く切り詰めすぎてしまいましたので,嵌合時の端子ズレの防止として隙間に厚紙(割り箸を削ったものなどでもよいと思います)を挟み込むことにしました(矢印の先).コードを取り付けた後にホットボンドなどで固めれば,ちゃんとした14ピンコネクタの代わりに使えそうです.こんなものを作る人もいないでしょうが,14ピンコネクタが手に入らなければこういうもので代用することも不可能ではないだろうということで載せておきます.


トップページ