プレステコントローラUSB変換器のカスタマイズについて 

作:2010/09/22

ファームウェアをネジコン用、電車でGO!用に書き換える場合は、このページを読む必要はありません。それ以外のファームウェアを自作しようとする場合、用意されているファームウェアでは気に入らない場合にのみ、お読みください。


1.必要なもの

@MPLAB C18  (60日以降制限ありフリー版)  & MPLAB IDE
AMicrochip Application Libraries v2010-04-28 Installer.exe
Bjoystd.zip , joygtf.zipなど、オリジナルのソース
CプレステコントローラUSB変換器 USBPSDGOC


2.C18コンパイラのインストールについての注意

入手方法やインストール方法は、あちこちに書いてあるのでここでは述べません。
注意点はただ1点。デフォルトインストールすること。


3.フレームワークのインストールについての注意

入手方法やインストール方法は、あちこちに書いてあるのでここでは述べません。
注意点はただ1点。デフォルトインストールすること。
フォルダーをデフォルトから少しでも変更すると、フレームワークは使えません。(今のバージョンなら使えそうな気も。。。)
フレームワークをインストールしたあと、keyboardデモがビルドできるか確認してください。
C:\Microchip Solutions\USB Device - HID - Keyboardにあります。
ビルドできないことはないと思うのですが、できない場合はできるようになるまでがんばってください。


4.joystd.zip , joygtf.zipなど、オリジナルのソースのインストールについての注意

ネジコン用や電車でGO!用がどこかに置いてありますので、探してください。
インストールする方法については、
@解凍する
AFirmware.std(物により異なる)フォルダーをC:\Microchip Solutions\USB Device - HID - Joystick\にコピーする

おわり。


5.ブートローダー動作確認

HIDBootLoader.exeを起動してください。これは、USBフレームワークをインストールしていれば、"C:\Microchip Solutions\USB Device - Bootloaders\HID - Bootloader"にあるはずです。
起動すると、"Device not detected. Verify device is in bootloader mode."と表示されるはずです。

コンフィグ用スイッチを押した状態にして、USBPSDGOCを接続してください。コンフィグ用スイッチはUSBPSDGOC裏面の小さな穴の奥にありますので、爪楊枝など非導電性のもので押してください。ピポッと音がして、"Device attached."と表示が変われば正常に動作しています。

表示が変わったのを確認したら、コンフィグ用スイッチを離してください。


6.ソースののコンパイル

"C:\Microchip Solutions\USB Device - HID - Joystick\Firmware.std"にある"USB Device - HID - Joystick - C18 - PICDEM FSUSB.mcp"を起動します。

Project -> Build All でビルドしてください。USB Device - HID - Joystick - C18 - PICDEM FSUSB.hex ができていればO.K.です。


7.ファームウェア書き込み

HID Bootloaderで、Open Hex Fileをクリックします。もちろん、"Device attached"の状態でないといけません。

"C:\Microchip Solutions\USB Device - HID - Joystick\Firmware.std"にある"USB Device - HID - Joystick - C18 - PICDEM FSUSB.hex "を選んでください。

Erase/Program/Verify Completed Successfullyと表示されればO.K.です。
途中で止まった場合はプロセスが異常動作していますので、タスクマネージャから強制停止するかPCを再起動してください。


8.ジョイパッドとしての動作確認

デバイスマネージャを起動してください。

コンフィグ用スイッチを押さずにUSBPSDGOCを接続してください。

お望みのものが表示されればO.K.です。

電車でGO!コントローラ Type2は、PCで正常に認識されませんので、この確認方法はとれません。


9.ソースのカスタマイズ

標準コントローラ用やネジコン用の各種ソースを見比べてください。diffツールなどを使うと便利でしょう。

変更が必要なのは、下記3ファイルです。

main.c
usb_descriptor.c
usb_conig.h

どのようにカスタマイズするかは、貴方次第。

カスタマイズが完了したら、ビルドして書き込んで動作確認しましょう。



注:どうでもいいことかもしれませんが、ソース中のコメントの一部に誤りがあります。1TCYxが1sec/20MHz*4 = 0.05usec*4=0.2usecみたいな記述がありますが、実際は1sec/48MHz*4 = 0.0208usec*4=0.083usecでした。なので、たとえばDelay10TCYx(100)で83usecになります。



top page


inserted by FC2 system