排他式


トップページに戻る

USBドライブを使う

 書き留めておきたい事等つれつれと。
 今更ながら(笑)


DOSでUSB

 DOSでもUSBメモリやマウスをアタッチできるのは広く知られている。
 私もDOSのドライバとソースのいくつかは入手している。

 まぁ、どうでもいいと言えばどうでもいいのだけれど。

 って事で、USBメモリやCD用にいくつかのASPIマネージャが公開されている。
 松下産が良いなんて書いてるサイトあるけど、一昔前のPCMCIAドライバと同じ様な事言ってるよ。
 別に松下じゃなくてもねぇ(苦笑)
 それはさて置き、あんまり詳細までは知られていないみたいなのでメモしてる事を書いておきます。
 当然動作なんて一切保障しません。

 多分最新落としているなら、書式とスイッチは以下の通り。

device=[{path}]USBASPI.SYS [/e] [/o] [/u] [/v] [/w] [/f] [/l#] [/m=##] [/p=###0] [/r] [/slow] [/nocbc] [/norst] [/noprt] [/nocbc] [/noprt] [/norst]
 /e
 EHCI(Enhanced Host Controller Interface)の頭文字。
 強制的にUSB2.0で接続。
 /o
 OHCI(Open Host Controller Interface)の頭文字。
 強制的にUSB1.xで接続。
 (例:MS/NEC/VIAチップ)
 /u
 UHCI(Universal Host Controller Interface)の頭文字。
 強制的にUSB1.xで接続。
 (例:Intel/VIAチップ)
 /v
 Verboseの頭文字。
 詳細を表示する場合付ける。
 /w
 Waitの頭文字。
 外すのか付けるのかを聞くメッセージを促す。
 例えばUSBポートが1個の機種で、DOSをBootする為にUSBフロッピーで接続してる時など。
 途中で目的のデバイス(USBのメモリとかCD-ROM等)と交換する必要がある。
 このスイッチでENTERキーを押すまで処理を中断してくれる。
 もちろん、認識した後でAドライブにFDDが入ってない事になるから、先にhimem.sysとRAMディスクのドライバを読み込ませて、FDDの内容をRAMディスクに覚え込ませる事。
 /f
 不明。
 slowがフルネームで用意されているので、farstでは無い。
 /l
 Lunsの頭文字。
 アクセスするストレージのLUN値の最大数。
 省略すると「/L0」になる。
 /m=##
 メモリマップアドレスを指定。
 デフォルトは自動。
 バッティングするなら空いてるアドレスを指定。
 /p=###0
 コントローラのI/Oアドレスを指定。
 BIOS上のコントローラ用I/Oポートアドレスが読み取れない場合に指定。
 /r
 Residentの頭文字。
 USB FDDと併用する時に使用。
 バッティングする場合、バーチャルフロッピーを作るRAMディスクのドライバで。
 /slow
 デバイスのスキャニング速度を落とす時に使用。
 /nocbc
 noで区切るとcbcが残る、連想出来るのはカードバスコントローラ。
 カードバスコントローラのUSBデバイスを無視する。
 /noprt
 noで区切るとprtが残る、連想出来るのはプリンターかポートか。
 DOSフォーラムにIntelのUHCIで、このスイッチを使用するとハングしたとの記述があった。
 /norst
 noで区切るとrstが残る、連想出来るのはリセット。
 BIOSによってはレガシーデバイスを初期化するので、リセットされるのを防ぐ場合に付ける。

 あ、ちゃんとUMBは空けておく事。
 それと、これASPIマネージャだから、この後に使用するUSB機器のデバイスの記述を続けてください。

 で、上記が判らないなら、自分で調べるのはお約束で。

 アメリカのDOSフォーラムを覗いてたら、CONFIG.SYSとAUTOEXEC.BATのサンプルがあった。
 ちょっと欲張りすぎてるが、判りやすいので丁度いい。

 って、SMARTDRVなんか使ってるよ・・・

 見ての通りで使用方法はSCSIやATAPIと変わらない。
 EMM386.EXEをNOEMSにしている所がポイント。
 実際は万能型なら目的別にデバイスをメニューで別け、特化型ならもっとシンプルにするとより実戦的になります。


CONFIG.SYS
DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS
BUFFERS=15,0
FILES=30
DOS=UMB
LASTDRIVE=Z
FCBS=4,0
DEVICE=C:\DOS\SETVER.EXE
DOS=HIGH
DEVICE=C:\DRIVERS\CD-ROM\OAKCDROM.SYS /D:MSCD001
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /p
STACKS=9,256
rem following are for USB support
DEVICE=C:\DRIVERS\USB\USBASPI.SYS /V /W /NORST
rem DEVICE=C:\DRIVERS\USB\USBCD.SYS /D:USBCD001
DEVICE=C:\DRIVERS\USB\DI1000DD.SYS
rem end of USB support


AUTOEXEC.BAT
LH /L:0;1,60320 /S C:\WINDOWS\SMARTDRV.EXE
@ECHO OFF
PROMPT $p$g
PATH C:\WINDOWS;C:\DOS
SET TEMP=C:\DOS
rem L:M assigns the first CDROM to letter M, next to N
LH /L:2,32304 MSCDEX.EXE /D:MSCD001 /L:M


【文章:銀牙】(2009年4月21日)

トップページに戻る


Copylight HAITASHIKI back to 1997.