←もどる(index) / ←もどる(top)



USB-JOYSTICKをSYSTEM256に接続する
〜 狭い部屋の住人の回答
→ ダウンロードへ


これは実験結果の報告です
ソフトをダウンロードしても動作しないと考えてください


マイコンを利用してUSBジョイスティックの信号をJVS規格の信号に変換します
かかる手間や安定性を考えた場合、素直にJAMMA変換ボードを使うべきですが
折角端子があるのにもったいないし、何より変換ボードも業務用スティックも大きくて邪魔なので…




製作のきっかけ
ゲーセンから消える前にとガンダムvs.ガンダムNEXTの基板を買いました。
買ったはいいけど業務用の4ボタンスティックなんて持ってない
いくらするのかと調べてみたら…基板より高いってどういうこと?
それにこんな大きなもの、もう部屋に置けそうにないよ

基板にはUSB端子(のようなもの)あるんだし、がんばれば繋がるんじゃね?
…ということがあって作ったものです。


やっていること
・ SYSTEM256基板前面にはUSB(typeA)コネクタがありますが
コネクタ形状が同じだけで互換性はありません
(信号自体はRS-485の規格でやりとりされています)
そこで、LPC1768などのUSBホスト機能を持つマイコンを使用し
USBジョイスティックのデータを受信・変換しSYSTEM256へ送信することで
無理矢理(?)認識させています
 
・ SYSTEM256が立ち上がると、コネクタよりコマンドパケットが送信されます
(初期化コマンド・デバイス状態要求・スティック内容要求など)
マイコン側はコマンドに応じたデータをSYSTEM256に送信することで
通信が成立、ゲームを遊ぶことができるようになります
 
・ USBスティックからの受信タイミングでデータを(手動で)取り込み
SYSTEM256からのスティック要求でその取り込んだデータを送信しています
(手元の環境では)USBジョイスティックデータ送信分解能が10ms
SYSTEM256のスティックデータ要求が(恐らく)16msごとですので
大きな取り零しは起きていないと思われます
 
・ 今回は、「ガンダムvs.ガンダムNEXT」を遊ぶことだけが目的なので
メダル関係など、受信することのないコマンドは実装していません
(一部勢いで実装しちゃったものもあるけど…)
実装コマンドは以下になります
 
F0リセット
F1アドレス設定
10スレイブID
11コマンドリビジョン
12JVS規格リビジョン
13通信バージョン
14機能チェック
2F再送要求
20SW入力
21コイン状態
23ロータリー
24キーコード
30コイン減らす
F2通信方式
 
・ 以下の組み合わせのみで使用しています。
その他の組み合わせは試していません
  PlayStation用COMPACT JOYSTICK(HORI) + JC-PS101U(ELECOM)


揃えた部品
・NXP LPCXpresso1768/1769 (mbed LPC1768でもいけるはず)
・MAPLEboard MARM01-BASE (*1)
・LTC485(RS485トランシーバー)
・miniUSBコネクタ(メス)
・抵抗(100Ωくらい?)
・ジャンプワイヤ等(適量)
・ACDCアダプタ(5V)
・USBA-miniUSBケーブル(SYSTEM256との接続用)
 
 *1 USBスティック接続部分を自作するなら不要


配線について
・MAPLEboardのブレッドボード上に以下の回路を組みました
 


実行
0.ダウンロードしたプログラムをLPC176xに転送(最初の1回のみ)
1.ブレッドボード上のminiUSB端子とSYSTEM256前面端子を接続
2.MAPLEboard背面のUSB(typeA)端子にUSBジョイスティックを接続
3. MAPLEboard及びSYSTEM256に給電開始
正常に動作している場合、マイコンボード上のLEDが点滅します
(使用ボードがLPCXpressoの場合のみ)
4.SYSTEM256からの各種問い合わせをクリア後、ゲームが始まる
 
  ボタンアサインは以下になります
サーチBTN3
射撃BTN4
格闘BTN1
ブーストBTN8
creditBTN10
スタートBTN9


更新履歴
(1.00a)
・作成
 

ダウンロード
(2014/12/28) version 1.00a : lpcjvs100a.zip (75,298 bytes)

- old version -






←もどる(index) / ←もどる(top)