Unofficial nesterネットプレイの手引き
-------------------------------------

ネットプレイについてはサポート外です。
レポートは歓迎しますが質問には対応できません。


使い方は、

1) サーバ・クライアントで同じROMイメージを読み込んでおく

2) サーバになるマシンで"File"-"Netplay"-"Server (1P)"を
　 実行して接続待ち状態に入る

   # このときネットワークの遅延量とポートを指定します。
   # 遅延については通常は０を入れてください。
   # 通信速度を計測して最適値に自動設定します。
   # 敢えて自分で指定したい場合は最速１〜最遅９の値を入力してください。


3) クライアント側で"File"-"NetPpay"-"Client (2P)"を
　 実行してサーバに接続する

   # サーバのIPアドレスとポートを入力してください。

また接続待機中にキャンセルしたい場合は"Cancel Connecting"を
選択してください。(このとき他のメニューは使用不可)

サーバが1P、クライアントが2Pを担当します。
但しクライアントについては2Pを操作するのに1P用のパッドを
使用してください。

ネットプレイ中は"閉じるボタン"[X]は使用不可です。
"File"-"Netplay"-"disconnect"で一旦接続を切ってください。

#  これはsocket関数のメッセージループ内でWM_QUITが発生
#  するのを防ぐための仕様です。
## 間違ってもCTRL+ALD+DELで強制終了しないように。
## 窓だけ消えて幽霊タスクが残ってしまいます。

フォーカスを移したりメニューに触ったりしてエミュレーションが
一時停止した場合、サーバとクライアントの通信タイミングが狂って
しまうことがあります。
操作できなくなったり極端にコマ落ちするようでしたら、諦めて
disconnectして下さい。

サポートするのはパッドのみ使用するゲームだけです。
特殊コントローラを使用するゲームについては不可とします。
(マイクとVS-Unisystemのコインについてはパッド扱いで送るので可)

FDSのゲームも対応していますが、ディスクの入替はサーバ側のみ
可能となっています。

セーブデータが存在する場合は全く同一の内容にしてください。
(FDSの場合はディスクに書きこまれている内容も同一のこと)
GameGenieコードはネットプレイ中でも有効ですが、サーバ・クライアント
共に同じコードを食わしてやってください。


言うまでもないけどTCP/IPは必須です。


接続が切れる原因は以下の通り。

・"File"-"Netplay"-"Disconnect"を実行した(これが正規の終了)
・Winsockの命令でエラーを吐いた
・リセットした
・エミュレートを終了した(Close ROM)
・ステートセーブを読み込んだ
・新しいROMを読み込んだ
・nester.exeを終了した
・忘れている気がする何か


インターネット経由でも一応動作しました。
大学の専用線にぶら下がってるマシンをサーバにしてinterQで
接続して実験しましたが、概ね安定して動作しました。


一応考えられる限りのエラー対策はしていますが、それでも
クラッシュして環境壊れたりしたらごめんなさいです。
あとメモリリーク発見されましたら報告よろしくです。


武田俊也
t-takeda@m1.interq.or.jp



