DOS/Vでネットワーキング – 3

今回は市販のTCP/IPスタック PCTCPを使ってDOS/Vでネットワーキングしてみる。

CenterNET PC/TCP Ver.6.0 – Allied-Telesis
https://www.allied-telesis.co.jp/products/list/software/pctcp/catalog.html

PCTCP6は今もライセンス販売のみ行われている。国産ソフトだから当然のようにDOS/Vの日本語対応。日経XTECHの記事で開発苦労話が語られている。それに書かれている通りFEP(IBMMKKV)無しの状態でPCTCPをセットアップすると基本メモリ504kBの空きを確保できた。

DOSでネットワークを構成するときにはNICごとに用意されているNDISドライバパケットドライバを使う。前々回のMS LAN Managerと前回のWebBoyではNDISだったが、アライドテレシスのPCTCPではパケットドライバが標準になっている。PCTCPをNDISドライバで使うとMS LANMANのプロトコルマネージャとNDIS-パケットドライバラッパを導入する必要があって一太郎を動かすための基本メモリ500kBを確保できなくなる。

PCTCPのインストールは簡単で、FDからWindows3.1かDOSの対話形式のインストーラで進められる。インストール後にパケットドライバをAUTOEXEC.BATに追加したらそれで終わり。ネットワークの設定は C:\PCTCP/PCTCP.INI で行える。今も提供されているアップデートは適用させておく。

CONFIG.SYSは変更不要。メモリが厳しいからCDROMドライバやFEPは無効にしておく。DIS_PKT.GUP はNDISを使うときのブリッジなのでインストーラでパケットドライバを選択したときはいらない。

BUFFERS=20
FILES=30
STACKS=9,256
DOS=HIGH,UMB
DOSDATA=UMB
COUNTRY=081,932,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512 /H
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\$FONT.SYS
DEVICEHIGH=C:\DOS\$DISP.SYS
DEVICEHIGH=C:\DOS\$IAS.SYS
DEVICEHIGH=C:\DOS\ANSI.SYS /X
DEVICEHIGH=C:\DOS\POWER.EXE
rem DEVICEHIGH=C:\UTY\OAKCDROM.SYS /D:CDROM1
rem INSTALLHIGH=C:\DOS\IBMMKKV.EXE /M=S /Z=4 /C /L /J=90 /S=C:\DOS\MULTDICT.PRO U=C:\$USRDICT.DCT
rem Added by PC/TCP Ver6.0 Windows Setup Program
rem DEVICE=C:\PCTCP\DIS_PKT.GUP


AUTOEXEC.BAT の変更は斜体の2行だけ。インストールが終わってからパケットドライバとDHCPクライアントの登録を行う。パケットドライバはNICに対応するものでVirtualBox、VMwareのAMD PC-Net Ⅲなら PCNTPK.COM。割込みアドレスをINT=で指定する必要がある。dhcpを常駐させておくとPCTCP.INIの設定を無視してDHCPサーバからの設定を受けつけてくれる。

@ECHO OFF
PROMPT $P$G
PATH C:\WINDOWS;C:\DOS;C:\UTY
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
LH C:\DOS\KEYB.COM JP,932,C:\DOS\KEYBOARD.SYS
LH C:\DOS\DOSKEY.COM /INSERT
rem LH C:\DOS\MSCDEX.EXE /D:CDROM1
LH C:\DOS\SMARTDRV.EXE
LH C:\DOS\MOUSE.COM
LH C:\NIC\PCNTPK.COM INT=0x60
rem Added by PC/TCP Ver6.0 Windows Setup Program
PATH=C:\PCTCP;%PATH%
rem Added by PC/TCP Ver6.0 Windows Setup Program
SET PCTCP=C:\PCTCP\PCTCP.INI
rem Added by PC/TCP Ver6.0 Windows Setup Program
LH ethdrv
LH dhcp 

インストーラが作ってくれる C:\PCTCP\PCTCP.INI はあまりいじる必要は無いが、IPアドレスの変更などで一部を直接触ることもある。次の設定はインストール中のアドレス設定でDHCPを使うことを直接指定できないからとりあえずAutoIPっぽい設定を入れてある状態。DHCPクライアントを常駐させるとDHCPの情報が優先になる。

-- 略 --
[pctcp ifcust 0]
broadcast-address=255.255.255.255
ip-address=169.254.0.2
router=169.254.0.1
subnet-mask=255.255.0.0
vj-compression=off
vj-compression-auto=off
interface-type=PKTDRV
frame-type=

-- 略 --


設定が終わったら再起動。

PINGが普通に通ることからDNSの解決やIPスタックがきちんと動いていることが分かる。他に使えるものはFTPくらいか。PC/TCPに付属しているNetscape Navigator 1.21Iを入れてみる。

予想どおり軒並みまともに表示できない。UTF-8なんて対応してないし、かろうじて日本語として見られたのはアサヒネットのユーザサイトポータルくらい。90年代前半な化石サイトくらいしか見られないだろう。でもこれでTCPスタックが動いていることくらいは確認できる。

往時のネットワークはDOSとWindowsのセットアップ以外にもメモリ調整、NICやIPスタックのインストールとネットワーク設定(当時はPSTNでダイヤルアップのPPPが一般的)、ネットワークアプリのインストールと設定など行ってはじめてインターネットができる。DOSの設定やIPネットワークのことが分かっていればそれほど難しくはないけど、前提知識なしでここまで設定するっていうのはそれなりに難しいかも。

現在のようにLANケーブルを挿すだけとか、WiFiのボタンを押すだけで良いっていうのがどれだけ便利なことかよくわかった。

QEMM9も入れてOptimizeしてみた。

FEP(IBMMKKV)を追加しても77kBしか消費せず空き基本メモリは563kB。効果絶大。PCDOS付属ツールやMSの無償ソフトでも実現できるものの、やはりネットワークスタックもメモリマネージャも市販品を使うとより良い環境を構築できる。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中