<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forums.obdev.at/app.php/feed/topic/3362" />

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2011-04-28T21:54:03+02:00</updated>

	<author><name><![CDATA[Objective Development Forums]]></name></author>
	<id>https://forums.obdev.at/app.php/feed/topic/3362</id>

		<entry>
		<author><name><![CDATA[ulao]]></name></author>
		<updated>2011-04-28T21:54:03+02:00 </updated>

		<published>2011-02-16T20:51:27+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=3362&amp;p=17626#p17626</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=17626#p17626"/>
		<title type="html"><![CDATA[Re: PS3 Controller Firmware]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=17626#p17626"><![CDATA[
bencao74 was able to resolve his issue in another thread.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1281">ulao</a> — Wed Feb 16, 2011 8:51 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2011-01-28T10:50:27+02:00</updated>

		<published>2011-01-28T10:50:27+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=3362&amp;p=17402#p17402</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=17402#p17402"/>
		<title type="html"><![CDATA[Re: PS3 Controller Firmware]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=17402#p17402"><![CDATA[
Hi, sorry to revive this thread, I hope somebody is still willing to follow up.<br /><br />In order to emulate a PS3 controller, I am trying to use the PS3's own HID report descriptor, which should be as described here:<br /><a href="http://ps3.jim.sh/sixaxis/usb/lsusb.txt" class="postlink">http://ps3.jim.sh/sixaxis/usb/lsusb.txt</a><br /><br />I admit that I do not understand most of it, there are some portions which are really strange, such as the 13 bits right after the buttons, which maybe serve for padding. And then there are the additional collections at the end (5 times 48 bytes!!!). Anyway, if I ignore those last bits, I would end up with a 9 bytes reportBuffer, which is not acceptable for V-USB.<br /><br />Does anyone have any hints on how to move on from here?<br /><br />Thanks<br />Christian<p>Statistics: Posted by Guest — Fri Jan 28, 2011 10:50 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[bencao74]]></name></author>
		<updated>2009-10-12T13:46:22+02:00</updated>

		<published>2009-10-12T13:46:22+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11322#p11322</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11322#p11322"/>
		<title type="html"><![CDATA[Re: PS3 Controller Firmware]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11322#p11322"><![CDATA[
Hi Mojo, <br /><br /> according to the source from UPCB Toodles has taken exactly this way. <br /><br /><blockquote class="uncited"><div>//HID report from VSHG; need to double check.<br />rom const unsigned char PS3USB_Report_Descriptor[] = { </div></blockquote><br /><br />This was the VSHG <a href="http://sdtekken.com/tech-area/arcade-sticks/ps3-vshg/virtua-stick-high-grade-review/" class="postlink">http://sdtekken.com/tech-area/arcade-sticks/ps3-vshg/virtua-stick-high-grade-review/</a> Stick.<br /><br />Hope you've better luck!<br /><br />Jochen<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=2500">bencao74</a> — Mon Oct 12, 2009 1:46 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[mojo]]></name></author>
		<updated>2009-10-10T23:23:20+02:00</updated>

		<published>2009-10-10T23:23:20+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11307#p11307</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11307#p11307"/>
		<title type="html"><![CDATA[Re: PS3 Controller Firmware]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11307#p11307"><![CDATA[
I am working on this too. So far no luck. My device is recognised by Windows and seems to be receiving HID reports, but no movement or button presses can be seen.<br /><br />I think part of the problem is the HID descriptor. The one used by the UPCB is not the standard Sixaxis one. I think the best option will be to copy one from an arcade joystick for the PS3, which I am going to try doing at some point.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=892">mojo</a> — Sat Oct 10, 2009 11:23 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[bencao74]]></name></author>
		<updated>2009-10-09T10:42:57+02:00</updated>

		<published>2009-10-09T10:42:57+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11299#p11299</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11299#p11299"/>
		<title type="html"><![CDATA[PS3 Controller Firmware]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=3362&amp;p=11299#p11299"><![CDATA[
Hi all, <br /> <br /> this is my first post in this forum. I'm quite a beginner in using this great piece of hw/sw.<br /><br />Some month before I found a USB gamepad implemenation based on V-usb and adapted it for my needs in building an arcade stick.<br /><br /><a href="http://bencao74.blogspot.com/2009/09/lulu-source-released.html" class="postlink">http://bencao74.blogspot.com/2009/09/lulu-source-released.html</a><br /><br />It was easy and straight forward to adapt the source. I've extended the source to use 10 Buttons and a stick. Then I wanted to use my arcade stick on the Playstation 3. I observed that the home button is not working. Since this a important function for PS3 I tried to identify it in the pc usb gamepad implementation, but no success. <br /><br />I found a project called UPCB <a href="http://forums.shoryuken.com/showthread.php?t=131230" class="postlink">http://forums.shoryuken.com/showthread.php?t=131230</a> that supports the PS3 on the basis of PIC18F4550. <br /><br />I tracked down the source to the PS3 descriptors (<a href="http://www.marcuspost.com/downloads/upcb/UPCB_25.zip" class="postlink">http://www.marcuspost.com/downloads/upcb/UPCB_25.zip</a>) <br /><br />I mapped the descriptors to my v-usb controller implementation. The device is recognized, but winxp setuppi.log says that my device could not be started (error 10). Here're the descriptors of the UPCB project.<br /> <br /><div class="codebox"><p>Code: </p><pre><code>rom const unsigned char PS3USB_Device_Descriptor&#91;&#93; = {<br />   0x12, //size of this descriptor in bytes<br />   DEVICE, //descriptor type = PS3USB_Device_Descriptor<br />   0x10, 0x01,    //USB Spec 2.0<br />   0x00,       //class code<br />   0x00,      //subclass code<br />   0x00,      //protocol code<br />   0x40,      //EPO buffer size<br />    0xC4, 0x10,   //vendor ID <br />    0xC0, 0x82, //product ID<br />   //0xC5, 0x11,   //vendor ID <br />   //0xC1, 0x83, //product ID<br />   0x06, 0x00, //device release number<br />   0x01,       //manufacturer string index<br />   0x02,       //product string index<br />   0x00,      //device serial number string index<br />   0x01      //# of possible configurations<br />rom const unsigned char PS3USB_Configuration_Descriptor&#91;&#93; = {<br />    0x09,          //size of this desc in bytes<br />    CONFIGURATION, //type of desc<br />    0x22,    0x00,      //size of total descriptor<br />    0x01,          //# of interfaces<br />    0x01,         //index number of this config<br />    0x00,         //config string index<br />    0x80,          //attributes:Default<br />    0x32,         //power consumption * 2mA<br />   //Interface portion<br />    0x09,         //size of this desc in bytes<br />    INTERFACE,      //type of desc<br />    0x00,         //interface number (ordinal)<br />    0x00,         //alternate setting number<br />    0x01,         //number of endpoints (not including EP0)<br />    0x03,         //Interface class - HID<br />    0x00,         //sublass <br />    0x00,         //protocol code - mouse<br />    0x00,         //interface string index<br />    <br />    //HID portion<br />    0x09,         //size of this descriptor in bytes<br />    HID,         //type of descriptor: HID<br />    0x11, 0x01,   //HID spec release number<br />    0x00,         //country code (0x00 for not supported)<br />    0x01,         //number of class descriptors<br />    REPORT,         //Report descriptor type<br />    0x70, 0x00,    //size of report descriptor<br />    <br />    //endpoint portion<br />    0x07,      //size of desc in bytes<br />    ENDPOINT,   //type od desc<br />    0x81,      //endpoint address EP1 IN<br />    0x03,      //transfer style: interrupt<br />    0x40, 0x00,   //max packet size : 64 bytes<br />    0x0A,      //interval: 10ms <br />    <br />};<br /><br />//HID report from VSHG; need to double check.<br />rom const unsigned char PS3USB_Report_Descriptor&#91;&#93; = { <br /> 0x05, 0x01,               // USAGE_PAGE (Generic Desktop)<br /> 0x09, 0x05,                 //Usage gamepad<br /> 0xA1, 0x01,               // COLLECTION (Application)<br /> 0x15, 0x00,               //   LOGICAL_MINIMUM (0)<br /> 0x25, 0x01,               //   LOGICAL_MAXIMUM (1) --10<br /> 0x35, 0x00,               //   PHYSICAL_MINIMUM (0)<br /> 0x45, 0x01,                 //   PHYSICAL_MAXIMUM (1)<br /> 0x75, 0x01,                //   REPORT_SIZE (1)<br /> 0x95, 0x0d,               //   REPORT_COUNT (13)<br /> 0x05, 0x09,               //   USAGE_PAGE (Button) --20<br /> 0x19, 0x01,                //   USAGE_MINIMUM (Button 1)<br /> 0x29, 0x0d,                //   USAGE_MAXIMUM (Button 13)<br /> 0x81, 0x02,                //   INPUT (Data,Var,Abs)<br /> 0x95, 0x03,                //     REPORT_COUNT (3)<br /> 0x81, 0x01,                //Input something or other --30<br /> 0x05, 0x01,               // USAGE_PAGE (Generic Desktop)<br /> 0x25, 0x07,                //   LOGICAL_MAXIMUM (7)<br /> 0x46, 0x3b, 0x01,             //physical maximum 315<br /> 0x75, 0x04,                //Report size 4    --39<br /> 0x95, 0x01,                //Report count 1<br /> 0x65, 0x14,               //unit: English angular position<br /> 0x09, 0x39,                //usage: hat switch<br /> 0x81, 0x42,               // Input something or other<br /> 0x65, 0x00,                //Unit:none    --49<br /> 0x95, 0x01,                //report count 1<br /> 0x81, 0x01,                //Input something or other<br /> 0x26, 0xff, 0x00,             // LOGICAL_MAXIMUM (255)<br /> 0x46, 0xff, 0x00,          // PHYSICAL_MAXIMUM (255)  --59<br /> 0x09, 0x30, <br /> 0x09,          //--62<br /> 0x31, 0x09,<br /> 0x32, 0x09, <br /> 0x35, 0x75, <br /> 0x08, 0x95, <br /> 0x04, 0x81,   //--72<br /> 0x02, 0x06, <br /> 0x00, 0xff, <br /> 0x09, 0x20, <br /> 0x09, 0x21,<br /> 0x09, 0x22,   //82<br /> 0x09, 0x23, <br /> 0x09, 0x24, <br /> 0x09, 0x25, <br /> 0x09, 0x26,   //90<br /> 0x09, 0x27, <br /> 0x09, 0x28, <br /> 0x09, 0x29,<br /> 0x09, 0x2a, <br /> 0x09, 0x2b,  //100<br /> 0x95, 0x0c, <br /> 0x81, 0x02, <br /> 0x0a, 0x21, <br /> 0x26, 0x95, <br /> 0x08, 0xb1, <br /> 0x02, 0xc0   //--112 == 0x70<br /> };<br /><br /></code></pre></div><br /><br />Now I'm getting out of ideas. What do you think about this approach? Does the v-usb cover the requirements that UPCB PS3 implementation needs? How can I get more infos to tackle this issue?<br /><br />Bye,<br /><br />Bencao<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=2500">bencao74</a> — Fri Oct 09, 2009 10:42 am</p><hr />
]]></content>
	</entry>
	</feed>
