------------------------------------------------------------------------ APLINKS ( Another pocket link file server ) Ver. 1.03 (C)1992,93 N.Kon ------------------------------------------------------------------------  1990 年 6 月に「ポケコン・ジャーナル」誌において、PC-E500 シリーズ のポケコン用デバイス・ドライバ "PLINK.SYS" と、専用のサーバー・プロ グラム "PLINKM" が発表されましたが、このサーバー・プログラムは "filed-drive" という特定の形式をもったファイルを仮想ドライブとして扱 うというものでした。  仮想ドライブが "filed-drive" というファイル実体として存在すると、 ポケコンで扱っているファイル内容が1つの "filed-drive" という形で収 納されているので、各ファイルが散逸しない等のメリットがありますが、反 面、サーバー側の普通ファイルと仮想ドライブの間の連絡を行なうには専用 のツールを必要とするので、頻繁にファイルのやり取りを行なう場合は不便 を感じることも事実です。  そこで、頻繁にファイルを連絡する場合に便利な "APLINKS" というサー バー・プログラムを、ここに発表します。  ※このプログラムは 1990 年 6 月に「ポケコン・ジャーナル」誌におい   て発表された「ポケット・リンク・システム」、もしくはこれと同等な   システムを、現在使用ないし保有していることを前提としています。 ■特徴 ・特定の "filed-drive" を必要としない(つまり、サーバー計算機側のフ ァイル・システムに存在しているファイルを直接扱うことができる) ・ポケコン側のデバイス・ドライバ "PLINK.SYS" から見た場合に、これま でのサーバー・プログラム "PLINKM" と完全互換性がある ■準備  ポケコン側は特に変わった設定をしておく必要はありません。普段、「ポ ケット・リンク・システム」を使っているときと同じように設定しておきま す。  サーバーとなる計算機側では "APLINKS" の実行形式を用意しておきます。 使用しているサーバー計算機が MS-DOS マシンの場合は既に "APLINKS.EXE" が用意されているのでこれを使用すると良いでしょう。他のマシンの場合は、 "APLINKS.C" の機種依存と思われる部分を適切に修正したものをコンパイル して実行形式を得ます。なお、"APLINKS.EXE" はエル・エス・アイ・ジャパ ン (株) 社の LSI C-86 Ver. 3.30 試食版を用いて "APLINK.C" をコンパイ ルしたものです。  実行形式が "PLINKM" とは異なることと、"filed-drive" の準備をする必 要がないことを除けば、通信条件の設定などの準備は "PLINKM" を使用して いたときと同じです。 ■使い方  起動方法は   A> aplinks [ filename ... ] です。filename には、起動時に仮想ドライブ "L:" に格納しておくファイ ルを指定します。filename は複数指定することができて、またそれぞれに "?" や "*" などのワイルド・カードを使用することができます。このよう にして指定したファイルは、ポケコン側から見たときに”ライト・プロテク ト属性”が付いて見えます。  "Plink server started." の表示が出たら、いままでと同じように「ポケ ット・リンク・システム」を使うことができます。  ポケコン側から Disconnect の信号が送られると APLINKS はサーバー機 能を終了して、仮想ドライブ内のファイルをサーバー計算機側のファイル・ システムに吐きだします。ここで吐き出されるのは、ファイル属性が 0x20 (ライト・プロテクトもインビジブルもない)ものだけです。 ■注意 ・ポケコン側のデバイス・ドライバが使用不能になってしまったり、通信条 件の設定を間違えたために Disconnect できなくなってしまった場合は、 非常手段としてサーバー計算機側で [CTRL]+[D] を入力すると、サーバー 計算機は Disconnect 信号が送られたときと同じように動作して強制終了 することができます。ただ、無闇に [CTRL]+[D] でサーバーを止めると、 ポケコン側のキャッシュに残っていて本来フラッシュされるはずのデータ を受信しそこなうために、おかしな挙動をすることがあります。十分注意 してください。 ・APLINKS では、仮想ドライブの内容をすべてメインメモリ上に展開します。 そのため、十分なメモリが得られなかった場合は "Can't get enough memory" を表示してサーバーが落ちてしまいます。 ・起動時に指定するファイル名はコンパイル・システムの影響を受ける場合 があります。詳しくは各コンパイル・システムの「引数の受け渡し」の項 を参照してください。 ■プログラムについて  サーバー・プログラムは、"PLINKM" と "LOOK" を足して2で割ったよう な形になっています。ただし、サーバー計算機側のファイルを入出力するの は起動時と終了時だけなので "LOOK" に比べると処理は簡単になっています。  機種依存性があるのは   ・シリアルポート関係(RS-232C の扱い)   ・メモリ取得関係(MS-DOS なので farmalloc() を用いている) ・ワイルド・カード展開関係(MS-DOS の int 21h の機能を利用してい る) 程度と思われますので、これらを修正すれば他の計算機で使用することも容 易ではないでしょうか。 ■履歴 Ver. 1.00 (92/12/12) … ・初版公開 Ver. 1.01 (92/12/29) … ・basename が8文字のときにファイルサイズが おかしくなるバグを取り除いた Ver. 1.02 (93/01/04) … ・起動時に2つ以上のファイルを収容するとフ ァイル終端の FAT-CODE(0xff0) を正しく設定 していなかったバグを取り除いた Ver. 1.03 (93/01/08) … ・swrite() の中でセクタ書き込み時に getmem() が取得していないメモリに書き込みを行なう 危険性があったのを直した ■参考にしたもの ・M’s, "PLINK98", フリー・ソフトウェア ・近 成人, 「ポケット・リンク・システム」, ポケコン・ジャーナル 1990 年 6 月号 ■著作権等について  このプログラムの著作権は近 成人が所有します。アーカイブ内容を改変 しない限りアーカイブの再配布は自由です。譲渡もこれに準じます。 ■おわりに  良い感想、悪い感想、改良点、なんでも結構ですのでご意見をお寄せくだ さい。電子メールは以下のものが利用可能です。    ・ポケット通信 … ID = 1481 (N.Kon) [TEL: 03-3299-8661]    ・JUNET     … kon@cs.titech.ac.jp    ・Amateur Radio … JK1OSG @ JI1ABQ  JUNET については私が 1993 年 4 月以降に現在の組織とは違うところに 所属する予定なので、それ以降に連絡がつくかどうかはわかりません。 Jan. 8th, 1993 近 成人