PC-98×1 PrinterPort MMC DRIVER PPMMCDRV?(ダウンロード)
2024/01/06 第4パーティションが拡張領域であってもマウント可能になりました。
windows10でパーティションを切ると4番目は自動的に拡張領域になるので対応しました。
MS-DOS上でPC-98×1のプリンタポートでMMC互換のカードを読み書きするためのドライバです。
本プログラムはアルファ版です。
速度は486で20KB/s程度でCPUに依存します。286だと9KB/s V30だと2KB/sでした。(/W0を指定した場合)
DOSがFAT32をサポートしている場合に限ってFAT32がマウントできます。
ライトプロテクト(ロック)には非対応です。ロック側にしてもデータが書き込まれます。
動画で紹介
仕組み
PC-98のプリンターポートにSPI通信をさせることによって実現してます。
ハードウェア
ピンアサイン DB0:CS DB1:MOSI DB2,DB3:CLK BUSY:MISO
カードシールドを作りましょう。ちゃんと作れば32GBのものでも読めます。
プリンタポートはTTLでカードスロットは3.3Vなのでレベル変換をしてください。
ダイレクト接続だと
ケーブル長はなるべく短くしましょう。
MISOのHの電圧が極端に低い場合はプルアップ抵抗の見直しや
バッファを挟む必要があります。
DB3のCLKはアクセスランプなどに利用できます。
ソフトウェア
CONFIG.SYSに
DEVICE=PPMMCDRV.SYS (/W0-9 省略可) (/P1-4 省略可) (/B省略可)
ドライブが割り当てられないときはLASTDRIVEの値を変更してください。
プリンタBIOSはフックしないのでプリンタを使用するソフトなどを扱うときは注意してください。
MS-DOSのプリンタドライバは組み込まないでください。
/Wでウェイトを変更します。/Pでマウントするパーティションを変更できます。
/BでプリンターBIOSをフックして無効にしますがプリンターを利用するソフトによっては不具合が出る可能性があります。
どれも通常は指定する必要はありません。
ドライバが返すエラーの一部を解説
「準備ができていません」 カードが認識されない、正しく読めない
「無効なメディアの種類です」 MS-DOS非対応のフォーマットのカード
(exFATなど/DOS6.2以下ではFAT32でもこのエラーが出ます。)
「このディスクは使えません」
(MS-DOS 3系統で32MB以上の領域をマウントしようとした場合など)
設定プログラム(PPMMCCTL.EXE)の使い方
PPMMCCTL ドライブ名 (/Wn n=0-9) (/Pn n=1-4)
W:ウェイト P:マウント対象のパーティション番号
オプションを省略したときは現在の状態を表示しますがドライブ名は省略できません。
診断プログラムの使い方
PPMMCTST.EXE (/E 通常は省略)
カードはテスト前とテスト後に挿しなおしてください。
診断プログラムは目安であって確実に使えることを保証するものではありません。
テストにパスしても「準備ができていません」が出る場合はウェイトを増やしてみてください。
デフォルトでMISOがHにならないシールドを利用している場合は/Eオプションをつけて
実行してください。最初の電圧テストをスキップします。
ヒント:
容量が大きくなるほどDIRで時間を分単位で食われます。
Windows10ならパーティションを切り直せるので小さい領域を作るのも手です。
動作したマシン
PC-9801RX
PC-9821V166
PC-386NoteA
PC-486MV,PC-586RV
開発や頒布等について
ハードウェアの頒布については当方では可否を判断できないので
製作者ご自身の判断にお任せします。
当方に制限する権利は存在しないということだけは確定しています。
ただし当ソフトウェアのバンドルや公式と謳うことは禁止します。
要は公式とか当方公認と誤認させないようにということでお願いします。
(この点はソフトウェアも絡む問題になるので制限させていただきます。)
根拠など:
一般的なハードウェアに著作権はないといわれているのと
2006年にはすでにAT互換機のLPTで同様のハードウェアの記事が
雑誌に発表されていた(具体的内容は未確認)というのが根拠になります。
ハードウェアは他機種でも汎用で使えるものなので元々制限する気はありません。
開発者向けC言語ソースプログラムも公開しています。
(近日?アップデート予定、関数に互換性がなくなるので注意。)
#PPMMCDRV