X68-USBプロジェクト †
X68000・X68030用拡張ボード、「Nereid」に装備されているUSBポートに、様々なUSB機器を繋いで使えるようにしてしまおう!というプロジェクトです。
より多くの方々の御参加をお待ちしております!
目次 †
Human68k用最新ソフトウェア(ドライバ)最終更新者は敬称略 †
ネレイド復活再生産一次ロットからは、USBコントローラの型番とリビジョンに変更があります。(詳細は、下記ネレイドの出荷時期とUSBコントローラのリビジョンについて参照)
その挙動について既存のものと何か変化があればX68k-USBスレのほうでご報告下さい。
- USB-JOYPAD&マウス ドライバ usbjoy.x ver.1.3a (最終更新:plastic) New! now updated!!
→ダウンロードページへGo!
- デジタルジョイパッドモードにおいて、十字キーの代わりにアナログスティックでも4方向操作ができるように、定義ファイルのバイト指定値を「=」ではなく「以上」と「以下」で判定するように変更しました。(互換性は維持しています)
(参考)ver.1.3で追加された機能
- 分解能が高いマウス用にマウスの左ボタンと中ボタンを同時に押すことにより、通常モードと2分の1モードを切り替えることができるようにしました。
- リポートIDを利用して、2つのジョイパッドの接続を可能にしている変換器に対応しました。
ver.1.3より、定義ファイルにリポートIDの位置指定が加わりフォーマットが変更になりましたので、ver.1.2までの設定ファイルは使用不可能です。
詳しくは、付属ドキュメントusbjoy.doc及び、設定ファイルusbjoy.defをご覧下さい。
※USBコントローラ・SL811HSTのリビジョンが1.5のネレイドをお持ちの方は、最新のバージョンをお使い下さい。
usbjoy.x ver1.2以前のバージョンだと、動作が不安定になります。
※ネレイドの出荷時期とUSBコントローラのリビジョンについて(参考資料)
ネレイドの出荷時期と搭載されたUSBコントローラ(SL811HST)のリビジョンについては、下記の様になります。
(なお、ハードウェア評価の為に一部Rev.の違うものが実装されている場合があり、永井氏から在庫分を直接購入した方のネレイドは
下記とは異なる実装がされている場合があります。)
2002/02/25までの出荷分について。
Rev1.2のみ
・初代ネレイド試作版(緑色基板・SIMMソケット実装可バージョン)
・2代目量産版ネレイドの試作モデル(緑色基板・金メッキの厚いバージョン)
Rev1.2とRev1.4が混在
・量産ネレイド(緑色基板・型式babincho02〜03のDRAMアリ/ナシが選べるタイプ)
2002/07/18以降の出荷分について。
Rev1.5のみ
・再生産黒基板
・再生産青基板
・再生産白基板
2006/09/12以降の出荷分について。
Rev調査中(1.5相当?)
・復活再生産版1次ロット(白基板:シリアルナンバー黒地金文字)
また、このロットから、USBコントローラの型番が変わっています。
SL811HST-AC1.5→SL811HST-AXC000(鉛フリー品)
リビジョンアップフリーズ(バージョンアップ終了)か?
SL811HSTのリビジョン違いによるエラッタや挙動の違いについては、全てソフトウェアで吸収できる事を確認しており、
実際の利用に関して不具合が生じる事はないと思います。
usbjoy.xについても、1.2a以降のバージョンについては対策が成されておりますので、最新のバージョンをお使い下さい。
最新のジョイパッド定義ファイル usbjoy.def (最終更新:GACHA)
→ダウンロード
ELECOM JC-U1510T/BK/SV/WH
ELECOM JC-U2208T/BK/RD/WH(新ファーム)
が追加されました。
usbjoy.defで未対応のジョイパッドの設定をする場合
usbjoy.x -c実行後、下記の画面でジョイパッドの操作をして下さい。
VID : 056E
PID : 0040
PSIZE : 08
INTR : 0A
-------------------------------------
00 01 02 03 04 05 06 07
packet data : 80 80 80 80 0F 00 00 00
1.十字キーの左を押した時
00 01 02 03 04 05 06 07
packet data : 80 80 00 80 0F 00 00 00
~~
十字キーの場合は大きく分けて「バイトが反応する」(アナログ)ものと「ビットが反応する」(デジタル)もの、また
「バイトとビット両方が」反応するもの3種類があります。
バイト変化の場合パケットの初期値は[8X],ビット変化の場合は[0X]や[X0]となります。
上記の様に変化した場合、バイト変化で表記[8]とすると、[2]バイト目のパケットが [00]に変化したわけですから、
十字キーを左に押した場合に対応するキーの値[LKEY]は、[8200]になります。
2.左下ボタン(LBTN1)を押した時
00 01 02 03 04 05 06 07
packet data : 80 80 80 80 2F 00 00 00
~~
上記の様に変化した場合、ビット変化で表記[0]とし、[4]バイト目のパケットの変化したビットの位置(デジタル[0]で右から6番目[5])
を指示してやれば良いです。
つまり、[LBTN1]は、[0405]になります。
またパッドによっては、バイト変化表記でも反応します。
バイト変化で表記[8]とすると、[4]バイト目のパケットが[2F]に変化したわけですから、左下ボタンを押した場合に対応するキーの値
[LBTN1]は、[842F]になります。
但し、ボタンの場合はデジタルでビット位置を指定してやらないと、ボタンの同時押しが検知できないとの事です。
解りにくい場合は、下記を参照下さい。
※ジョイパッドボタンの定義時にバイト(8X)指定すると、ボタンの同時押しが検知できないそうです。
その場合ビット(0X)で指定して下さい。
例:VID PID LKEY RKEY UKEY DKEY LBTN1 RBTN1 LBTN2 RBTN2 PSIZE INTR
0925 8888 8200 82FF 8300 83FF 8004 8002 8008 8001 7 A (同時押し不可)
0925 8888 8200 82FF 8300 83FF 0002 0001 0003 0000 7 A (同時押し可)
ボタンのビット指定記述例
上位4BITが変化するタイプ
76543210
||||||||
2F→00101111→05(5番目のBITがON)
4F→01001111→06
1F→00011111→04
8F→10001111→07
下位4BITが変化するタイプ
76543210
||||||||
04→00000100→02(2番目のBITがON)
02→00000010→01
08→00001000→03
01→00000001→00
USBJOY.defで標準サポートしているジョイパッドのボタン配置のルールを記述します。
もし、「標準サポートの追加データ」として報告していただける方がいらっしゃる
ようでしたら、以下のルールに基づいたデータを報告していただけると助かります。
これは標準としてのルールを統一しておきたいだけなので、実際に使用する際は
自由に使いやすい配列にしていただいてかまいません。
--------------------------------------------------------------------------
上下2個ずつ2列の4ボタンパッドの場合
--------------------------------------------------------------------------
○○
○○
LBTN1が左下のボタン
RBTN1が右下のボタン
LBTN2が左上のボタン
RBTN2が右上のボタン
としています。
--------------------------------------------------------------------------
上下3個ずつ2列の6ボタンパッドの場合
--------------------------------------------------------------------------
○○○
○○○
LBTN1が左下のボタン
RBTN1が真中下のボタン
LBTN2が左上のボタン
RBTN2が真中上のボタン
となり右側の2個は未使用としています。
--------------------------------------------------------------------------
上下左右1個ずつの4ボタンパッドの場合
--------------------------------------------------------------------------
○
○ ○
○
LBTN1が下のボタン
RBTN1が右のボタン
LBTN2が左のボタン
RBTN2が上のボタン
としています。
--------------------------------------------------------------------------
例1:セガサターンパッドのような上下3個ずつ2列の6ボタンパッドの場合
--------------------------------------------------------------------------
(X)(Y)(Z)
(A)(B)(C)
LBTN1が(A)
RBTN1が(B)
LBTN2が(X)
RBTN2が(Y)
となり(C)と(Z)が未使用となります。
--------------------------------------------------------------------------
例2:PlayStation型パッド、または変換器を利用したPlayStationパッドの場合
--------------------------------------------------------------------------
(△)
(□) (○)
(×)
LBTN1が(X)
RBTN1が(○)
LBTN2が(□)
RBTN2が(△)
となります。
なお、PS/DC/GC等、1つで複数のゲーム機のジョイパッドが変換可能な物の場合は
PlayStation配列を基準にしています。
- USB基本ドライバ USBd.x ver0.03.01 (最終更新:立花えり子)
→ダウンロード
- USB-FDDドライバ usbfdd.sys ver0.04a (最終更新:想田電子工業)
→ダウンロード
※susieと同時に使用する場合はsusieより前に組み込むようにしてください(ヒデ)。
- Nereid USB Monitor usbmon.x version 0.52 (最終更新:立花えり子)
→ダウンロード
ディスクリプタの取り方
usbmon.xを実行して、
>en
>u s
とすれば、ディスクリプタが取れます。
またSMARTJOYPADシリーズ等、1回のトランザクションに制限時間が設けられている場合には、usbmonの
デフォルトの設定で表示しようとすると、途中でタイムアウトを起こしセットアップに失敗します。
この場合、余計な表示をしない(desc のみ on)様にすれば負荷が減り取得できるようになります。
>print int off
>print status off
>print packet off
>print desc on
>print phase off
>en
>u s
で取得可能です。
Web等にアップする場合、
usbmon.x > desc.txt
として上記の操作をすればdesc.txtに内容が記録されますので、アップが可能です。
これを添付ファイルとして、X68k-USBスレにアップする際は、以下のテンプレートを使用して下さい。
◆デバイス種別(デバイス細分類)/[動作モード]
【使用ツール】usbmon-0.52等
【型 式】メーカ型式
【メーカ】メーカ名 [商品リンク]
※[ ] 内はオプション。
USBJOYで認識できなかったものの報告をする際は、上記に情報を追加した以下のテンプレート
で報告お願いします。
◆デバイス種別(デバイス細分類)/[動作モード]
【使用ツール】usbmon-0.52等
【型 式】メーカ型式
【メーカ】メーカ名 [商品リンク]
【SL811Rev】SL811HSTリビジョン番号(Rev1.2,1.4 or 1.5)
【X68kスペック】機種名、MPUクロック、SYSクロック(クロック改造してない場合は「無改造」で)
※[ ] 内はオプション。
→ディスクリプタのアップは、X68k-USBスレにお願いします。
これまでに実用動作確認がとれたデバイス †
- 動作確認が取れたジョイパッド (usbjoy.x ver1.3a) New!
ELECOM:JC-U711/BK/BS/SV
GAMETECH:PRO-SHOCK ARCADE
ASCII:ASC-1610p(ASCII PAD USB mini)
- 動作確認が取れたジョイパッド (usbjoy.x ver1.3)
このバージョンより、2つのジョイパッドの接続を可能にしている変換器に対応しました。
下記の製品を使用すれば、ジョイスティック2もUSBコントローラが使用可能になります。
SANWA SUPPLY JY-PSUAD2 or UCVPS2(PSパッド変換アダプタ)
SK-NET SK-SJP3P(SMART JOYPAD 3 Plus/PSパッド変換アダプタ)
- 動作確認が取れたジョイパッド (usbjoy.x ver1.2c〜1.2g)
SANWA SUPPLY:JY-P35U
SANWA SUPPLY:JY-P1R
SANWA SUPPLY:JY-PSUAD1
ELECOM:JC-PS101U
ELECOM:JC-U1608T/RD/BK/WH
ELECOM:JC-U2208T/RD/BK/WH
SK-NET:SK-SJPD2(SMART JOYPAD 2)
SK-NET:SK-SJPD3(SMART JOYPAD 3)
SK-NET:SK-SJP3Q(SMART JOYPAD 3Q)
E.M.S:TRIO LINKER
E.M.S:TRIO LINKER PLUS
HORI:HPC-02(WIRELESS ANASIN PC)
SEGA:CS2-0002/3/4/5/6(復刻版 セガサターンコントロールパッド)
ELECOM:JC-U1510T/BK/SV/WH
ELECOM:JC-U2208T/BK/RD/WH(新ファーム対応)
これまでにディスクリプタ取得ができたデバイス †
Nereid USB Q&A †
- Q.ネレイドUSBの供給電流について教えて下さい。
A.ネレイドのUSB部の供給電源は、電圧5V,電流MAX500mAhです。
この電源は、X68本体電源ONの段階(リセット状態)ではOFFの状態になっており、USBポートを使う段階でネレイドのI/OポートにてONとする事で、初めて給電される様になっています。
更にこの給電は500mAhを上限として、それ以上の異常電流は、ネレイド上に実装された自動復帰型のブレーカにより、遮断されます。
- Q.送られてきたネレイド(復活再生産1次ロット版)のUSB部のLEDが赤いのですが・・・。
A.以下、Nereidプロジェクト責任者、永井氏の弁です。
USBの給電を示すパワーランプ(LED)なんですが、リフローの関係で
どうしても付け直す必要のあるものがいくつか発生しまして、私の
気分で黄色(オレンジに近い)だったり、赤だったりしています。
手持ちの黄色の数が足りなかったもので洒落ててよいかなぁと、
目をつぶってどっちが手に取れるかで決めました。
生産数量の大半が黄色なのですが、一部赤があるという事で(^^;
動作報告や開発に参加する際の心得 †
我々は絶滅危惧種の希少価値バリバリのコミュニティであり、そしてそのメンバーです。全員が全員、確実にオンリーワンであり、誰か一人欠けても寂しさを感じる、誰もが数少ない大切な仲間です。たまには僕(永井君)のように癖のある人も居るかも知れませんが、みんな仲良くしましょう。
今更もう、使う側の人・作る側の人みたいに勝手に自分達の属性を線引きするような事はやめて下さい。有名国内メーカーにも見放された我々は、過去に販売された大企業の製品であるX680x0本体の修理まで自前でするようになってしまったくらい、『全部自前』です。俺の歌を聴け!部門で言うところのシンガーソングライターなのです。もしくは、メカドックで言うところのチューナー兼ドライバーです。まさに、作る側であって使う側でもある。使う側・作る側のような線引きを余裕で超越した存在なのです。さぁ、次の夢を語ろう。
まぁ確かに、人間には得意不得意はあるかも知れませんので、自分でできそうだなーと思った事は無理の無い範囲で弾けて頂けると必ず、共感して一緒にやってくれる人が出てきたり、そういう人とコラボレーションして活動をするなどすると楽しいですよぉ!
誰かを触発・奮起させる為にわざと悪人を演じたり、煽ったりするような事はしないようにしましょう。そういう事がカンフル剤となり、誰かがカチンと来て急にやる気になる人が出た事が、過去の歴史には多少はあったようですが、そういうのは悪しき慣習の類です。昔もそういうのはバカだなーと思ってました。永井お兄さんはそういうのが大嫌いらしいぞ。注意してくださいませ〜。
番外編:CF-USBでUSBメモリーを繋ぐ †
参考リンク? †
これまでに開発に参加された方のサイトなど(サイト追加順) †
コメント †
- 多数のアクセスありがとう御座います。X68-USBの文化はまだまだ始まったばかりですが、この創生の今だからこそ光る活躍の場があります。物事を始める事には多大な苦労が伴いますけれども、もしもご興味のある方は是非、動作テストからソース改良までご遠慮なくご参加下さいませませ。 -- ラキッ!
- ブログでUSBマウスが動いたこと紹介してみました。 -- 菅谷?
Counter: 264646,
today: 23,
yesterday: 0