←もどる(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)