DOSなので、PKTドライバーでTCP/IPが話せるようにしてみました。ネットワークカードはPLANEXのPCIのFNW-9700-Tで、メーカーサイトのサポートファイルにPKTドライバーが入っていました。
TCPスタックはいくつか選択肢があったのですが、開発が続いているmTCPを使うことにします。mTCPはFreeDOS 1.2のCD-ROMに入っているので、FDIMPLESコマンドでインストールできます。
環境変数のMTCPCFGで設定ファイルを指定します。
FreeDOS 1.3では\NET\FDNET\FDNETPD.BATにパケットドライバーを書くと自動的にロードされるようになりました。
DHCPコマンドを動かすとIPアドレスが拾えて、設定ファイルにその設定を書き込むようです。
これでPINGコマンドなどが使えるようになります。
mTCPはそれぞれのコマンドにTCPスタックが入っていて、常駐プログラムはありません。このため外部からpingを打っても返答がありません。
mTCPにはtftpコマンドがありませんがNCコマンドがあるので、ファイル転送はこのコマンドでできます。
FreeDOS側
C:\MTCP>nc -listen 8080 -bin > test.exe
FreeBSD側
% nc -N <IP ADDRESS> 8080 < test.exe
mTCPにはftpのクライアントとサーバがありますが、ncの方がお手軽です。httpでファイルを取得するhtgetもありますがサーバが必要です。
3.5incフロッピーでコピーする方法もあります。
sntpのコードをいじって、tftpクライアント作ってみました。
FreeBSDのLinuxエミュレーションで実行しているOpen Watcom v2でビルドしてます。最初の転送は上記のncコマンドで行います。
Wifiルーターの子機にEthernetをつないで、Wifiでのネットアクセスも出来ました。