"Ootake" Nonsupport BBS ノンサポート掲示板 管理:ソフト開発グループ「Finath(ファイナス)」

現在までに、4053人の方が、この書き込みをご覧になっています。

06/10/12(木)00:43 D65015
ATARI仕様ANALOG-CONTROLLER資料

こんにちは

 アナログコントローラーの仕様ですが、以下のページにある
「ANALOG.LZH」内の「AJOY_SUB.DOC」に必要な技術仕様がほとんど
書かれてます。

ttp://homepage2.nifty.com/m_kamada/download.htm#Analog

 コネクタ変換器XHE-3の仕様は非常にシンプルで、ピンアサインの変更と
データラッチ(?)だけです。簡易説明ですけど仕様は以下のとおり。

左はアナログコントローラー側
右はPCエンジン本体側のピンです
IOA0(D0)  -> SEL=1時のD0ピン
IOA1(D1)  -> SEL=1時のD2ピン
IOA2(D2)  -> SEL=1時のD3ピン
IOA3(D3)  -> SEL=1時のD1ピン
IOA5(L/H)  -> SEL=0時のD0ピン
IOA6(ACK)  -> 不明、恐らくSEL=0時のD1ピン
PC4(REQ)  <- CLRピン(1にすると一定間隔でデータが送られてきます)

 ACK信号に関してはどのピンに繋がってるか不明ですが、無視してもエ
ミュレーションには支障無いようです。

 転送速度はゲーム起動時にアナログコントローラー接続チェック兼ねて
L/H信号の立上がり&立下りで転送速度が計測されるので、アナログコン
トローラー実機どおりの速度にしなくてもエミュレーションに都合のいい
転送サイクルにしても良いようです。

 あまりに遅すぎると接続チェックで弾かれるか、次のデータ来るまで単
純なループによるウエイトを入れてる為ゲーム動作が遅くなります。
(エミュ動作では無い)

 アフターバーナーIIの場合、最速は約186CPUクロックサイクルで認識
約9000CPUクロックサイクルでも認識しますがゲーム動作が遅くなります。

 CLR(REQ)=0時のD0〜D3、L/H、ACKの返す値が不明ですが、適当な値を返
すようにしても支障無いようです

 11回目のデータ転送が終わった後の返す値不明ですが、11回目終わった
後も読み続けるソフトが無いので、適当な値を返しても支障無いようです。

 ボタンはPCエンジンパット同様に相違反転、1=解放、0=押し、アナログ
チャンネルデータは相違反転しません。
(「AJOY_SUB.DOC」に書かれてる事、そのままです)

 細かい部分が不明ですが上記の部分だけでにアナログコントローラー対応
ソフト3本は動いたので問題無いかと思います。


拙い説明でしたが何かの役に立てれば幸いです。

余談 
 エミュレーションに使うアナログスティックの分解能が低いと悲しい事に
なります。(実際、ワタシが悲しい事になりました)


06/10/13(金)06:58 Ootake作者
Re)ATARI仕様ANALOG-CONTROLLER資料

こんにちは。詳細な解説ありがとうございます。

パソコン用のアナログコントローラは、ものによってそれぞれ分解能が大きく
違うのでその辺りが大変そうですね。

まだ先になるかと思いますが、教えていただいた情報と資料を元に、実装トラ
イしてみたいと思います。


メッセージ一覧へ戻る

Copyright(C)1997-2007 Kitao Nakamura.