MPSロゴ PPMMCDRVの使用方法 トップページに戻る
PPMMCDRV
Printer Port Multi Media Card Drive(r)

ほかのPPMMCDRV関連のページを未読で直接このページにたどり着いた方は、先に
「PPMMCDRV補足情報」をご覧ください(アダプタごとの対応機種一覧などが載っています)

やることはアダプタにmicroUSBの電源ケーブルを接続してTFカードを差し込み、プリンタポートに接続してPCの電源を入れてドライバを
組み込むだけというシンプルな作業なのですが、そのシンプルさにたどり着くまでが遠い道のりなので、順番に説明していきたいと思います

PPMMCDRV コネクタモデル
PPMMCDRV-14(14ピンコネクタモデル) PPMMCDRV-36(36ピンコネクタモデル)
※ケースが共用なので36ピンモデルは上にスキマができていますが仕様です

各種機能説明
裏面
①給電用microUSBコネクタ
②アクセスLED延長ピンヘッダ
③TFカードスロット
上面
④TFカードアクセスLED(赤)
⑤電源確認LED(緑)

①サービスコンセントから付属のmicroUSBケーブルで給電します(ACアダプタは各自でご用意ください)
 ケーブルの長さが足りない場合は、市販品のケーブルを別途ご用意ください

②TFカードの延長アクセサリ使用などで前面からアクセスLEDが見えない場合の延長ピンヘッダです
 ケーブルは各自で自作する必要があります。なお、LEDに電流制限用の抵抗を挟む必要はありません

③TFカードスロットです。ちょっとメディアの出し入れがしにくいですが、爪先で出し入れしてください

④PPMMCDRV本体のアクセスLEDです。メディアアクセス時に赤色に光ります、機種によっては起動時から
 点灯している場合がありますが、アクセス終了後に消灯しますので問題ありません

⑤電源確認LEDです。電源が正常に供給されている場合は緑色に常時点灯します、点灯しない、点滅を繰り返す
 などの場合は給電用microUSBケーブルの不良の可能性がありますので交換してください


実機へドライバをコピーする
最初にして最大の難関です。どうやってWindows機でダウンロードしたドライバファイルを実機にコピーするか

まず、yukkurizのメモ帳からPPMMCDRVのドライバファイルをダウンロードします
分かる人は、このダウンロードページの各種記事を読むだけで最後まで行けると思います

現在の実機の状況フローチャート

早い話、3.5インチフロッピー機または内蔵5インチフロッピー+外付け3.5インチフロッピー機とUSBフロッピードライブを
組み合わせるのが一番最速です。次点がWindowsとPC-98で使えるMOやCDドライブを経由したドライバ受け渡し
3.5インチと5インチの複数のPC-98をお持ちの場合は、USBフロッピードライブ→3.5インチ機を経由してSCSI MOなどに
ドライバをコピーし5インチ機に持っていくのアリでしょう

困るのが5インチ機単機+外付けドライブなど周辺機器が一切ない場合の対応です

DOSにはシリアル通信用プログラムがMS製・フリーソフト・商用ソフトなど、いくつか用意されていますが、当然ながら相手も
DOS(よくてWin9xまで)までしかサポートされていませんし、シリアルポートも本体内蔵のものしかサポートされていない場合が
ほとんどです。現在のUSB-RS232C変換→クロスケーブル→実機接続でファイルを送り込むのは大変です

最初の「DOSがブートできない」というのは、本体だけ手に入れてソフトは一切ないという「パソコン、ソフトなければただの箱」
を体現している、意外となさそうで結構よく見る困った状況です(実際に使ってみようとすると気づくんですよ、これ)

さて、USBフロッピードライブやMO/CDを経由する方法は特にここに書かなくてもわかると思いますので「最後の砦」
シリアル通信でのドライバコピー方法だけ書いていきます

この時点で3.5インチ機+USBフロッピードライブによりドライバのコピーが終了している場合は
「PPMMCDRV ハードウェアとTFカード設定編」へ進んでください


シリアル通信でのPPMMCDRVドライバ転送方法
まずは上のフローチャートでUSB-RS232C変換+クロス変換ケーブルを持っていない人は購入します
USB-RS232Cケーブルは主にネットワーク保守分野で現役なので、今でも「USB RS-232C」と検索すると選択肢がたくさん
あります。ただ「D-Sub 9ピン→D-Sub 25ピン クロスケーブル」となるとちょっと選択肢が少なくなるので、一気に両方そろう
サンワサプライ製をオススメしておきます(現行商品です)

USB→RS-232C変換 USB-CVRS9HN(30cm)
ストレート(9P)→クロス(25P)変換 KRS-423XF-07K(75cm)
※あくまで「参考」なだけで、別のメーカーのものでも全然OKです

その他必要なソフトウェア
ソフト名 使用用途
PPMMCDRV 今回のメインドライバですね
SFD98win PC-98のROM-BASIC上でDOSシステムを起動する、エプ機だと動かないかも?
FreeDOS(98) PC-98で動くFreeDOSのディスクイメージ。MS-DOSを所有しているなら特に必要なし
Virtual Floppy Image Converter 上のFreeDOS(98)のRAWイメージをD88形式に変換する
DiskExplorer ディスクイメージの中に個別のファイルを送り込む
TeraTerm シリアル通信テスト用、無くてもいいかも(使い慣れたソフトを使ってください)

転送するイメージを作成する際の各種ソフトウェアの組み合わせ手順
1:FreeDOS(98)のディスクイメージのダウンロード(fd98_2hd144_20220123.zip)
2:↑の中から「fd98_2hd.img」だけを展開する
※なお、98エミュレータなどで起動できるフロッピーディスクイメージがある場合はそれを使ってもよい
3:PPMMCDRVのドライバを(まだダウンロードしていない場合は)ダウンロードする
4:PPMMCDRVのアーカイブをフォルダ丸ごと展開する
5:DiskExplorerをダウンロードする
6:DiskExplorerを実行し、起動時に「ディスクを開く」のダイアログが開くので、上記fd98_2hd.imgを指定する
  ファイル形式はデフォルトの「plain image」でOK
7:DiskExploerにPPMMCDRVのフォルダをドラッグ&ドロップしてイメージに書き込む
8:DiskExploerを終了させる
9:Virtual Floppy Image Converter(VFIC)をダウンロードと展開
10:VFICを起動し出力形式を「D88形式」に指定した上で、PPMMCDRVのドライバを書き込んだFreeDOS(98)の
  ディスクイメージ(fd98_2hd.img)をドラッグ&ドロップしD88形式に変換する
※何故最初にD88形式に変換しないかというと、変換してしまうとDiskExploerで開く手間が増えるため

これでPPMMCDRVのドライバを含む、PC-98でブート可能なD88ディスクイメージができました(fd98_2hd.d88)


PC-98実機への転送作業(事前準備)
1:PC-98のディップスイッチ設定(ソフトウェアディップスイッチ)の「メモリスイッチ初期化の設定」で
「メモリスイッチを保持する」に切り替える(この設定は機種により異なるので各自調べてください)
→ 「PC-98 ディップスイッチ」で検索すると、いくつかの情報サイトが引っ掛かりますので参考にしてください

2:N88-DISK BASIC(86)システムディスク、または実機で実行できるMS-DOSをお持ちの場合はRS-232Cの
ボーレート設定を行う(N88-DISK BASIC(86)→switch.n88・MS-DOS→SWITCHコマンド)
N88 DISK BASIC版ボーレート設定(switch.n88) MS-DOS版ボーレート設定(SWITCH.EXE)

3:ボーレートを1200bps→9600bpsへ切り替えしてリセットする(すでに9600bpsの場合は必要なし)
N88 DISK BASIC版ボーレート設定(switch.n88) MS-DOS版ボーレート設定(SWITCH.EXE)
設定手段が手元にない場合は上記項目は無視してください(ただし速度は1200bpsになる)
※エプソン98互換機は対応機種を持っていないので事情はよく分かりません

4:TeraTerm(もしくは使い慣れたターミナルソフト)をダウンロードする
5:ここでようやくRS-232Cケーブル(クロス)の出番です。25ピン側をPC-98に、USB-RS232C変換側の
  9ピンとクロスケーブル側の9ピンを接続します。USBケーブルをWindows機に接続します。恐らくドライバは
  自動で組み込まれると思いますが「デバイスマネージャ」を開いて、接続したRS-232C変換のCOMポート番号を
  事前に確認しておいてください(あとで必要になります)
  

USB-RS232C変換とクロス変換ケーブル 今回は往年の名機PC-9801VX41を使います

6:まずはシリアルポートの動作確認です。いきなり「SFD98win」に行ってもいいのですが、トラブルが発生したとき
そのトラブルがハードなのかソフトなのか切り分けがつかないと困るので、先に枯れた技術を使ってシリアル接続の
動作確認をします

7:まずPC-98を起動しROM-BASICを起動します。ROM-BASICはフロッピードライブにフロッピーディスクが入っていたり
ハードディスクが繋がっていると、そちらを先に読みに行ってしまうので、フロッピーディスクを抜く、SCSI-HDDの場合
CバスSCSIボードを抜く、SASI/IDE-HDDの場合は1:の要領で(ソフトウェア)ディップスイッチの「固定ディスクを
切り離す」で無効にします。またFDD/HDDを切り離した状態で電源を入れると「システムディスクを入れてください」と
表示して止まる機種は「ROM BASICを使用する」に切り替えてください。HDD搭載でも「起動メニュー」が出せる場合は
「メニュー終了」を選択します。ROM-BASICがどうにも起動しない機種(末期機種に多い)は諦めてください

その頃の機種になるとフロッピードライブもすべて3.5インチですからUSBフロッピードライブで何とかなると思います

ROM-BASIC上から簡単なシリアル通信プログラムを入力します
PC-9801でシリアル通信で紹介されているプログラムを少しだけアレンジします

10 OPEN "COM1:N81NN" AS #1
20 A$=INPUT$(1,#1)
30 PRINT A$; ←ここがアレンジ
40 GOTO 20
入力が終わったら"RUN"で実行します

続いて、Windows側のターミナルソフト(今回はTeraTerm)を起動します。「TeraTerm: 新しい接続」のシリアル(E)
ポート(R)にチェックを付け「5:」で確認したポート番号に設定します(今回はCOM5)



TeraTerm側で入力された文字がPC-98側で反映されれば正常に通信ができています

文字が反映されない場合は、PC-98側とTeraTerm側の通信速度が一致していません。「2: 3:」でボーレートの
設定を行っていない、またはメモリスイッチ保持の設定をしていない場合はおそらく1200bpsになっています
TeraTermの「設定→シリアルポート」を開き「スピード」を1200bpsに切り替え「現在の接続を再設定」で
接続しなおし再び文字入力をしてみてください(反映されたら1200bpsで繋がっているということです)


1200bpsではとても遅いので設定できるなら9600bpsにした方が後々のイライラも軽減されると思います


PC-98実機への転送作業(SFD98Win)
さて、いよいよ本番で最終作業です。SFD98winのダウンロードと展開をします

8:「事前準備」でPC-98のROM-BASICが立ち上がっている場合は、一度リセットボタンを押して再起動し
再びROM-BASICを立ち上げた状態にします

9:「SFD98Win」を起動します。イメージファイル(上記で作ったfd98_2hd.d88)、「5:」で得たシリアルポート番号
「7:」で得た転送速度を組み合わせて「スタート」ボタンを押します

あとは各種指示ダイアログが開くので、それに従ってください

・本体にバーチャルFD-BIOSを起動するためのBASICプログラムを転送しますか?→はい

ここでPC-98実機のROM-BASICに以下のように転送コマンドを入力します
LOAD "COM:N81NN"(リターンキーを押す)

リターンキーを押して実行したら、Windows側の指示ダイアログもOKを押してください

・プログラムを転送します。OKを押してしばらくお待ちください。→OKを押す

シリアルの転送速度にもよりますが1分くらいかかります。転送が終了すると
・30秒ほど待ってからPC-98のSTOPキーを押してください。 → 30秒ほど待ちPC-98側でSTOPキーを押した後OKを押す

10分近く待っても「30秒ほど待って~」のダイアログが開かない場合はシリアル転送のどこかがおかしいです

・PC-98側のプログラムをRUNで実行してください。実行したらOKを押してPC-98の画面の指示に従ってください。

という指示ダイアログが出ます。先に
ROM-BASIC側で"RUN"を入力してからWindows側ダイアログのOKボタンを押すこと


RUNを入力すると画面上部にこのような赤い模様が現れますが、これはグラフィックVRAM上にSFD98winの
仮想フロッピーBIOSが展開されているためで、異常ではありません(GVRAMを使うソフトを使うとBIOSが壊れます)

あとは、SFD98win側でマウントしたFreeDOS(98)のディスクイメージがシリアル経由で実行されます
FreeDOS(98)だとシリアル転送速度が遅くても比較的早く起動情報が表示されますが、MS-DOS6.2とかだと
「これ、本当に動いてるの!?」ってくらい最初の起動情報が表示されるまで待たされるので、根気よくお待ちください

一応、SFD98winのタイトルバー右端でステータス情報が動いていますので、これで「動いてるな」と確認できます

SFD98WinとFreeDOS(98)の固有情報
SFD98WinでFreeDOS(98)を起動中

Bad or missing Command Interpreter: command.com /P /E:256
Enter the full shell command line:

と表示され、起動が止まります。これはMS-DOSとFreeDOS(98)のドライブ管理の違いによる
「起動ドライブにCOMMAND.COMが見つからないぞ?」的なエラーです

このエラーが出た場合は
A:\COMMAND.COM
B:\COMMAND.COM
C:\COMMAND.COM
D:\COMMAND.COM
・・・と、ドライブ番号総当たりでCOMMAND.COMのありかを指定してあげれば、どれかが通ります
で、上記エラーを抜けて先に進んだと思ったら、今度は

FreeCom ver 0.85a_DBCS - WATCOMC - XMS_Seap (PC98) (以下略)
エラー ドライブの準備ができていません 読み込み中(以下略)

・・・で、また止まります。今度は中止(A)を選択し「現在の作業ドライブが有効でない状態です」と表示されたら
上のCOMMAND.COM総当たりで通ったドライブレター(例:C:)を入力し、リターンキーを押してください

2つのトラップを抜けたら、ようやく普通のコマンド入力ができる状態になったはずです。これで実機側のフロッピー
ディスクや多分ハードディスクもアクセスできる状態になります。DIRコマンドを入力し、PPMMCDRVの
ディレクトリがあることを確認しましょう


FreeDOS(98)でのPPMMCDRV起動ディスク作成
MS-DOSとFreeDOS(98)とではコマンド周りが少し異なるため、その辺を解説していきます
MS-DOSを使う場合は読み流してください(ドライバのコピーとCONFIG.SYSの作成あたりまで)

まず、シリアル接続下の作業はすべてがモタつくので最小限の作業で進めていきます
フローチャート冒頭の「消えてもいいフロッピーディスク」を用意して、フロッピーディスクドライブに挿入します
ドライブレターは多分Aになるはずですが、準備ができていないとエラーを返す場合はB.C.Dとドライブを変えてみてください

すでにDOSが起動できるフロッピーディスクの場合は、PPMMCDRVドライバのコピーとCONFIG.SYSの設定だけで済みます

フロッピーディスクフォーマットコマンド「FDFORMAT.EXE」
まぁ、コマンドオプションはMS-DOSと一緒ですが一応
FDFORMAT.EXE A: /S /M
(Aドライブのフロッピーディスクをシステム転送込みで1MBフォーマットする場合)
もし、メモリ不足などで/S(システム転送オプション)がエラーになる場合は、/Sオプションを抜いてフォーマットした後
SYSコマンドで別途システムを転送してください(その辺はMS-DOSと一緒)

ここで「ちゃんとフロッピーディスクから起動できるかな?」と思ってリセットボタンを押しては
いけません。また面倒くさい作業をイチからやり直すハメになります

PPMMCDRVのディレクトリに移動し「PPMMCDRV.SYSだけ」コピーします(あとのファイルはPPMMCDRVを認識後に転送)

フロッピードライブに移動し
ECHO DEVICE=PPMMCDRV.SYS > CONFIG.SYS
とコマンドタイプすれば、PPMMCDRVのドライバだけが記述されたCONFIG.SYSがフロッピーディスクに書き込まれます

ここでSFD98winの「ストップ」ボタンを押してPC-98の電源を落としてください、リセットより電源断のほうがいいです

シリアルケーブルをPC-98、Windows機双方から抜いて、先ほどシステム転送とPPMMCDRVのドライバをコピーした
フロッピーディスクが起動できるか確認します。無事にシステムが起動され、ドライバが組み込まれれば成功です!


おめでとう!君は一番高い山を乗り越えた!


あとは冒頭の3.5インチ機にUSBフロッピードライブでドライバ転送した場合と同じスタートに立ったので、自信をもって
次の「PPMMCDRV ハードウェアとTFカード設定編」に進んでくれ!(まだゴールじゃないよ)

PPMMCDRV ハードウェアとTFカード設定編

注意:フローチャートからの「USBフロッピーからPPMMCDRVドライバコピー済み」から直接ここに来た場合は、ちょっと上にある
赤色の「PPMMCDRVドライバのCONFIG.SYSへの組み込み」を行ってください

あとの作業はすべてWindows機ですのでシリアル転送のような回りくどいことはしなくていいのですが、快適に?PPMMCDRVを
お使いいただくために「やっておくといいこと」を書いておきます

ちなみにPPMMCDRV+TFカードでサポートされている容量範囲は
・MS-DOS3.3    → 32MBまで
・MS-DOS5.0~6.2  → 2GBまで(FAT16)
・MS-DOS7~(Win98)→ 多分4GBくらいまで(FAT32)
MS-DOSのファイルシステムに影響を受けます(MS-DOS 2.1とか3.1は知りません)

とまあ広大な領域を一応使えるわけですが、問題はPPMMCDRVが既知のとおり転送速度が速くても28KB/sしか出ないため
広大な領域に大きなファイルをため込んでも、それを実際にやり取りするには膨大な転送時間を要し現実的ではありません

またドライバの制限で容量が大きくなるにつれ「DIRコマンドの応答時間が分単位で伸びる」という弊害もあります

そんなワケで、サックリとTFカードのパーテイションを切りましょう
普段使いでTFカードのパーテイションを切るなんてことはまずないのですが、こういう特殊デバイスには特殊な手段が必要なのです

・まずTFカードに消えては困るデータが入っている場合は別の場所に退避させます
・Windows10の場合ですが、検索で「コンピューターの管理」を開き、記憶域→ディスクの管理の順にたどっていきます
・TFカードドライブのパーテイションを「ボリュームの削除」でまとめて削除します

から

へ、ボリューム削除する

削除したボリュームを今度は「新しいシンプルボリューム」を選び容量を指定します
DOS3.3のサポート容量範囲が32MBまでなのでマージンを取って30MBくらいでいいでしょう


ファイルシステムはFAT(16)、ボリュームラベルは好きにつけてください

出来上がり。余った領域はWindowsで別のデータ領域として使うなり
第2FATパーテイションを切ってPPMMCDRVのサブパーテイションで活用
するなり、いろいろ使うといいでしょう


あとは出来上がったPPMMCDRV専用TFカード(仮)を対応アダプタに挿し電源を繋いでPC-98のプリンタポートに接続
ドライバの入ったフロッピーないしハードディスクから起動すれば、今までWindows機でワンクッション以上おいていた
データ交換が、TFカードというユニバーサルなデータ交換方法で繋がることとなり、かなり利便性が向上すると信じています

・・・実際、10メガとか大きなファイルは大変ですが、フロッピー数枚程度ならまぁまぁ使えると思います。実機で
フロッピーディスクのデータをイメージ化して、TFカードにコピーして98エミュレータに持っていく、またはその逆とか


PPMMCDRVの色々注意事項
これで最後の項目です、お疲れさまでした

PPMMCDRV-36の対応機種に「PC-9821R全機種とPC-9821X」が入っていますが、俗にいう「オンボードLAN搭載モデル」である
PC-9821R全機種とPC-9821Xa/W・Xv/Wは、プリンタポートがある場所が一段奥まったところにあるために、PPMMCDRV-36が
ケース付きだとケースが下部に接触してしまい、まずコネクタに差し込めないです。そういう場合はケースから取り出し
裸基板でコネクタに挿して使用してください(必要に応じて基板裏面にビニルテープを貼るなどの絶縁処理を)


大型98ノートの場合は、おそらくケース付きでもコネクタに接続できるとは思いますが、PC-9821Lシリーズなど薄型ノートの
場合も上記と同じ問題でケース付きだとコネクタに接続できない可能性があります。そういう場合も裸基板で使用してください


ちなみにノート型の場合はサービスコンセントからmicroUSBの電源を取るということができないので、別途モバイルバッテリー
(もしくは外部電源)を用意して給電してください。PPMMCDRVは超省エネなので、小型のバッテリーでも十分使えると思います

・PPMMCDRVオプションプログラム
この辺はyukkurizのメモ帳のPPMMCDRVのドライバダウンロードページで触れられていますのでおさらい程度に

PPMMCTST.EXE:PPMMCDRVで手持ちのTFカードが使えるかどうかのテストプログラム

弊作PPMMCDRV-14/-36でオプションなしで実行すると
テスト1 カードリセット
失敗:カードに電源が入っていない、またはBUSY端子の電圧が低すぎます。
対策:ケーブルを短くする、バッファを挟む、プルアップ抵抗の値を下げるなど
また、カードスロットによっては/E オプションを付ける必要があります。
1回カードを抜いて挿しなおして再度テストしてみてください。
・・・と、エラーではねられるので「/Eオプション」を付けて実行してください

PPMMCTST.EXE /E


実際の画面を撮影したものなので見づらいですねー
(ほかのきれいなスクリーンショットのほうは98エミュレータのもの)

上記の結果が出たならば使用するTFカードが問題ないことを示します(確実に保証するものではありません)

PPMMCCTL.EXEとPPMMCDRV.SYS:PPMMCDRVドライバ&パーテイションコントロール&ウェイト調整

オプションは共用、CONFIG.SYSでのドライバ組み込み時に指定するか、ドライバ組み込み後にコマンドから指定するか
だけの違いです。ただしPPMMCCTL.EXEの場合だけドライブ指定が必要

/Wn(n=0-9) TFカードの読み書きができない・不安定な時はアクセスウェイトを足してください(最大9)
/Pn(n=1-4) 上記「パーテイション編」で第2以降のパーテイション(FAT16 or FAT32)を
       切っている場合は指定(最大4パーテイションまで)

どっちも、まず使わないオプションですが参考までに(/Bオプションは説明いらんでしょう)


最後に
PPMMCDRVに関わらず、弊作PC-9800用同人ハードの説明書全般に言えることですが「どこまで突っ込んで説明書を書くか」に
毎回悩まされます。X68000ユーザーはパワーユーザーが多いこともあり、最小限の情報だけ提示すれば「あー、ハイハイ、分かった」と
各自で考えて突き進む&分からないことがあっても、分かるユーザーが各自で教えあって補完してくというイメージあります(偏見)

PC-98ユーザーはユーザーの練度もさることながら、初代機から最終機まで約20年間展開されたシリーズのため、膨大な機種が存在し
それをすべて知り尽くしてフォローするのはまず無理です

「横のつながり」も表にあまり出てこない?ためか、実際に買ったまま放置しているのか、動かすことができずに諦めて放置しているのか
あっさり動いてしまったので満足してしまい、そのまま沈黙してしまっているのか正直分かりません(Twitterのエゴサであまり出てこない)

嬉しいことは、10年くらい前まではPC-98用のソフトウェアを開発して公開してくれる人が実質、まりもさんぐらいしかいなかったのですが
ここ数年でPPMMCDRV・SFD98winなどを開発した「なお」さん。壁越えSCSIの「リウ」さん。RaSCSIのPC-98版対応ソフトウェアなどを
開発された「sava」さんなど「98のすごい人たち」が活躍しているところです

またPPMMCDRV(MMCじょい君)や、ArdSCSino/BlueSCSI、各種フロッピーエミュレータなど「98でも使える令和の新テクノロジー」が
続々登場したことで「98生産終了から20年だったが、まだまだ伸びしろがある!」と最近思っています(X68000/MSX界隈はもっと顕著です)

あとは基板製作や部品調達の低敷居化や、3Dプリンタ技術の向上による小ロットプラスチックケース生産とかのハード的な部分もね

「自分が欲しいから作るPC-98対応ハードの開発」があと何年続けられるかは分かりませんが、時折レトロハード界隈に「革命」が
起こるので、もうしばらくはこの趣味も楽しめそうです

おわり