0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FreeDOSでpccard

Last updated at Posted at 2022-01-12

pccardはpcmcia(16bit)とcardbus(32bit)の総称として言われることがあります。ホスト側は初期の一時期はpcmciaのみのサポートのチップ(i82365SLや互換のCirrus Logic CL-PD6710/’22など)がありましたが、じきにほとんどがcardbusもサポートされるようになりました。

pcmciaはISAバス由来でcardbusはPCI由来のものになります。

PCMCIAはi386の頃に出てきたのですが、i386は32Bitでしたが、当初はDOSで早い16Bit CPUとして使われていたので、DOSもサポートされていました。

一般ユーザーがホットプラグ(活性交換)ができる、初めてのデバイスでした。

Windows 95でサポートが入りましたが、それ以前のWindows 3.1やMS-DOSではサードパーティ製のドライバーソフトが必要でした。

pcmciaは90年代中期(Windows 3.1の後期からWindows 98くらい)
に良く使われ、後期にはcardbusが出てきましたが、USBもすぐにその後でてきて、cardbusのデバイスはそれほど普及しませんでした。

当時FreeBSDのPAOを使っていてcardbusへの移行がかなり大変だったような記憶があります。

pcmciaの場合はカードの情報により、ISAアドレス空間にデバイスを配置して、cardbusの場合はpciバス空間にデバイスを配置します。

FreeBSDのpccbbのmanを見ると以下のようなcardbusチップがあったようです。

     Cirrus Logic PD6832
     Cirrus Logic PD6833
     Cirrus Logic PD6834

     O2micro OZ6812
     O2micro OZ6832
     O2micro OZ6833
     O2micro OZ6836
     O2micro OZ6860
     O2micro OZ6872
     O2micro OZ6912
     O2micro OZ6922
     O2micro OZ6933
     O2micro OZ6972
     O2Micro OZ711E1
     O2Micro OZ711M1
     Ricoh RL4C475
     Ricoh RL4C476
     Ricoh RL4C477
     Ricoh RL4C478

     TI PCI-1031
     TI PCI-1130
     TI PCI-1131
     TI PCI-1210
     TI PCI-1211
     TI PCI-1220
     TI PCI-1221
     TI PCI-1225
     TI PCI-1250
     TI PCI-1251
     TI PCI-1251B
     TI PCI-1260
     TI PCI-1260B
     TI PCI-1410
     TI PCI-1420
     TI PCI-1450
     TI PCI-1451
     TI PCI-1510
     TI PCI-1515
     TI PCI-1520
     TI PCI-1530
     TI PCI-1620
     TI PCI-4410
     TI PCI-4450
     TI PCI-4451
     TI PCI-4510
     TI PCI-4520
     TI PCI-[67]x[12]1
     TI PCI-[67]x20
     ENE CB710
     ENE CB720
     ENE CB1211
     ENE CB1255
     ENE CB1410
     ENE CB1420

     Toshiba ToPIC95
     Toshiba ToPIC95B
     Toshiba ToPIC97
     Toshiba ToPIC100

このmanページが良く調べられているのは日本にいたPAOな開発者が書いたからだと思われます。

DOSでpccardを使う場合にはカードサービスが必要で下記のページが参考になります。

用語が一部混乱してますが、構成はこうなっているようです。

PCCARD.png

Card Service(CS)とSoket Service(SS)を分けたのは、チップ依存部がSSにしていろいろなチップに対応できるようにしたのだと思われますが、今から思えばあまりチップの差は無くまた短命に終わったので、分けた意味はあまりなかったような気がします。というのは、後からだから言えるわけで、当時はどうなるか分からなかったので、そうしたのでしょう。

CSのAPIは共通化されてるようだし、IBMが作っていたものも、CSとSSに分かれているので、MSがなんらかのサンプルコードを提供していて、それを元に作られたんじゃないかな。

すでにほとんどのものが入手困難で、入手できたとしてもライセンス的に怪しいような気もします。

DOSやWindows 3.1で使われていたcardsoftのサポートはおそらくTIだと1xxxや1250のみで、これ以降はWindows 95からのサポートになっていたのではないかと思われます。

pciやcardbusは32Bitだが、DOSやBIOSは16bitで、今になってみると不思議な状態だ。

古いファイルを置いてあったサイトがなくなったり、googleが検索結果に出さなくなったりで、以前より状況は悪くなっています。

だれかPAOなどを参考にしてDOS用のfreeなカードサービス書いてくれませんか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?