<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6015218784178713238</atom:id><lastBuildDate>Mon, 09 Sep 2024 16:26:40 +0000</lastBuildDate><category>homebrew</category><category>PS3</category><category>Eyetoy</category><category>PS2</category><category>PlayStation Eye</category><category>Apple</category><category>libgem</category><category>efl</category><title>Only for your Eyes</title><description>A simple blog to speak about Eyetoy, homebrew development and then some...</description><link>http://bigboss-eyetoy.blogspot.com/</link><managingEditor>noreply@blogger.com (bigboss)</managingEditor><generator>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-2495062551511129146</guid><pubDate>Mon, 24 Oct 2016 20:16:00 +0000</pubDate><atom:updated>2016-10-24T22:16:10.333+02:00</atom:updated><title>Reversing PlayStation VR device (I)</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;
First i need to give thanks to:&lt;/div&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/tokkyo_tw&quot;&gt;tokkyo_tw&lt;/a&gt; who shared usb dump captures from PlayStation VR and published the first code to begin work at &lt;a href=&quot;https://github.com/tokkyo/PSVRTest&quot;&gt;https://github.com/tokkyo/PSVRTest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/nathan_the_red&quot;&gt;nathan_the_red&lt;/a&gt; who shared a repository with interesting stuff about PlayStation VR at &lt;a href=&quot;https://github.com/nathanleroux/PSVR_api&quot;&gt;https://github.com/nathanleroux/PSVR_api&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Sony shared some open source code for PlayStation VR at &lt;a href=&quot;http://doc.dl.playstation.net/doc/psvr-oss/&quot;&gt;http://doc.dl.playstation.net/doc/psvr-oss/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;The title of this blog article explains very well&amp;nbsp; about which is the main purpose of this blog entry.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
PlayStation
 VR (before known by Morpheus) is the new device from Sony for Virtual 
Reality marketplace. As you know there are a few actors right now in 
this marketplace:&lt;/div&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;Oculus.&lt;/li&gt;
&lt;li&gt;HTC.&lt;/li&gt;
&lt;li&gt;Sony.&lt;/li&gt;
&lt;li&gt;Google.&lt;/li&gt;
&lt;li&gt;Samsung.&lt;/li&gt;
&lt;li&gt;Others vendors.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;PlayStation VR need different parts:&lt;/div&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;VR headset.&lt;/li&gt;
&lt;li&gt;Processor Unit.&lt;/li&gt;
&lt;li&gt;PlayStation 4&lt;/li&gt;
&lt;li&gt;PlayStation 4 Camera&lt;/li&gt;
&lt;li&gt;PlayStation Move and PlayStation dualshock &lt;/li&gt;
&lt;li&gt;TV with hdmi &lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Connection schema from Sony:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX_SSPTOlLW-0Pf2ADUqTqYSs7XENsiu6O7z0Y7DalH6Ku9pIPsl4173Jb2mzYRHJT8DRosvmABS40_4Dmk-AvfCK8DRHBBDWubOwY0uJyMsSqmk5ppPimACaINp8jL_3kCnnzBU7mADVH/s1600/psvrconnections-640x501.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX_SSPTOlLW-0Pf2ADUqTqYSs7XENsiu6O7z0Y7DalH6Ku9pIPsl4173Jb2mzYRHJT8DRosvmABS40_4Dmk-AvfCK8DRHBBDWubOwY0uJyMsSqmk5ppPimACaINp8jL_3kCnnzBU7mADVH/s320/psvrconnections-640x501.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
I have spoken already about PlayStation Move and PlayStation Camera&amp;nbsp; 
here in this blog and about its new design in my twitter account:&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://pbs.twimg.com/media/CuvTTWaWYAAhN5i.jpg:large&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://pbs.twimg.com/media/CuvTTWaWYAAhN5i.jpg:large&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
So now we are going to speak about usb connection between Processor 
Unit and PlayStation 4 because we want to use PlayStation VR in other 
platform different than PlayStation 4.&lt;br /&gt;
&lt;br /&gt;
Processor Unit is a black box, if you want to know more about it you will need two things:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Information about hardware. Sony published &lt;a href=&quot;http://doc.dl.playstation.net/doc/psvr-oss/morpheus_bridge.html&quot;&gt;morpheus_bridge&lt;/a&gt;
 source for 1.50 and 2.0 and it will give you good information about how
 usb device is build and detailed information about all their 9 
interfaces.&lt;/li&gt;
&lt;li&gt;An usb dump made with a usb protocol hardware analyzer.&lt;/li&gt;
&lt;/ol&gt;
1 was already published and 2 was shared by tokkyo_tw so...&lt;br /&gt;
&lt;br /&gt;
LET THE GAME BEGIN&lt;br /&gt;
&lt;br /&gt;
What happen when you connect usb connector from Processor Unit to a Mac/PC? &lt;br /&gt;
&lt;br /&gt;
Easy you can see a new usb device with these &lt;a href=&quot;https://gist.github.com/psxdev/2802a41673889bfed00dd366c574aefd&quot;&gt;usb descriptors&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can check in morpheus_bridge source code that all information is already there.&lt;br /&gt;
&lt;br /&gt;
Usb dump was done with:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Software: USB Protocol Suite 7.35&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Hardware: USBTrace 2500H&lt;/li&gt;
&lt;/ul&gt;
USB Protocol Suite can be downloaded from &lt;a href=&quot;http://teledynelecroy.com/support/softwaredownload/documents.aspx?standardid=4&quot;&gt;here&lt;/a&gt; you must register your user to dowload it.&lt;br /&gt;
&lt;br /&gt;
We are going to work with files from dump:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;connect-to-ps4 (psvr off).usb&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;connect-to-ps4 (psvr on in game (rez))-then-vrmode-on.usb&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;connect-to-ps4 (psvr on in game (rez)).usb&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;switch-to-vr-mode (in rez).usb&lt;/li&gt;
&lt;/ul&gt;
We will choose&amp;nbsp; connect-to-ps4 (psvr off).usb file first opening it with USB Protocol Suite.&lt;br /&gt;
&lt;br /&gt;
With
 PlayStation Camera we got dump from beagle hardware analyzer from 
totalphase and their tool is multiplatform and easy to use for me.&lt;br /&gt;
&lt;br /&gt;
USB Protocol Suite is for windows only and it is&amp;nbsp; a little hard to use but task can be done with it.&lt;br /&gt;
&lt;br /&gt;
After
 opening file, choose in menu View Apply Decoding Scripts and check that
 you have following interfaces and their usb class applied:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1_vFf0uer9bScRZBrSFUf3L5Fa29GKrv_fpc0ER8CjyDIlRFAM-VAbGwshzW2oAI1Uh25k37GcnIuqWXVAUIYuLI6GolMNIMdH8Zno1MG9sY2GKsdRyY7Ynr4vK9yyMH6ONAq-7lpoewS/s1600/Captura+de+pantalla+2016-10-24+a+las+20.12.02.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1_vFf0uer9bScRZBrSFUf3L5Fa29GKrv_fpc0ER8CjyDIlRFAM-VAbGwshzW2oAI1Uh25k37GcnIuqWXVAUIYuLI6GolMNIMdH8Zno1MG9sY2GKsdRyY7Ynr4vK9yyMH6ONAq-7lpoewS/s320/Captura+de+pantalla+2016-10-24+a+las+20.12.02.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and in the endpoint option the same:&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix289XXaJKxrXtnzu_Hu4DP-pw2XK773oQlC9t8rQaOAmWaZg2lErXN7dXZAeh0OmzXPfENxLt1KBasaatbctp3cLYDGbmJjado8hOPiLRK-CwjaAytl9K-nm2WLWDjhBYAYiK4xVGT1r8/s1600/Captura+de+pantalla+2016-10-24+a+las+20.12.25.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix289XXaJKxrXtnzu_Hu4DP-pw2XK773oQlC9t8rQaOAmWaZg2lErXN7dXZAeh0OmzXPfENxLt1KBasaatbctp3cLYDGbmJjado8hOPiLRK-CwjaAytl9K-nm2WLWDjhBYAYiK4xVGT1r8/s320/Captura+de+pantalla+2016-10-24+a+las+20.12.25.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A
 problem that i find with this tool is that sometimes it can&#39;t put the 
right type of endponint , class and packet size , so check it with usb 
descriptors first.(Some weird sometimes identify some endpoint with bulk
 type when they are interrupt type check with usb descriptor that info 
is correct)&lt;br /&gt;
&lt;br /&gt;
Choose in menu View Transfer Level and Hide
 all except Transfers options and&amp;nbsp; in menu Report Detail, View Data and 
Decode Field View options.&lt;br /&gt;
&lt;br /&gt;
After that we can go transfer by transfer to make our analysis.&lt;br /&gt;
&lt;br /&gt;
I am not going to tech you how usb protocol works for that you have plenty of information, if you don&#39;t know about it stop here.&lt;br /&gt;
&lt;br /&gt;
First transfers are about get device and config ,interaface and endpoint descriptors, basically a dump for all descriptors&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjERwlcC7e_YUWAiOojYzz32dviOdf2LuXQ9QYNf4012fSPnNe3-sn2lHL9COAYjordlPnNCgxCfpPht8vVZdJ6hBpFTxz8Fp8KGectNblbhkXXOxZ_ZDNcxyyWGqgEadePSw0HSI_DWtQy/s1600/Captura+de+pantalla+2016-10-24+a+las+20.39.01.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;218&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjERwlcC7e_YUWAiOojYzz32dviOdf2LuXQ9QYNf4012fSPnNe3-sn2lHL9COAYjordlPnNCgxCfpPht8vVZdJ6hBpFTxz8Fp8KGectNblbhkXXOxZ_ZDNcxyyWGqgEadePSw0HSI_DWtQy/s320/Captura+de+pantalla+2016-10-24+a+las+20.39.01.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
For your reference these standard request transfer give you all information about device:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Transfer 4 device descriptor&lt;/li&gt;
&lt;li&gt;Transfer 11 configuration descriptor&lt;/li&gt;
&lt;li&gt;Transfer 12 all descriptor&lt;/li&gt;
&lt;li&gt;Transfer 13 status&lt;/li&gt;
&lt;/ul&gt;
All these transfer can give you all usb descriptor for this 
device and you can compare with information in morpheus_bridge&amp;nbsp; source 
and lsusb output. It is the same.&amp;nbsp; Check Decoded Field View Tab to see 
values from these standard requests transfers.&lt;br /&gt;
&lt;br /&gt;
Transfer 14 set usb configuration to 1&lt;br /&gt;
Transfer 15 get size for string at index 3: 30 bytes (14 characters)&lt;br /&gt;
Transfer 16 get string at index 3 : PS VR 3D Audio&amp;nbsp; (name associated to interface 0)&lt;br /&gt;
Transfer 17 put alternate setting to 1 in inteface 0&lt;br /&gt;
Transfer 18 get size for string at index 4: 24 bytes&lt;br /&gt;
Transfer 19 get string at index 4: PS VR Audio (name associated to interface 1)&lt;br /&gt;
Transfer
 20 21 22&amp;nbsp; 23&amp;nbsp; 25 and 26 are audio claass requests to get min max res 
from both channels associate to control volume features on interface 1&lt;br /&gt;
Transfer 24 is a isoc transfer empty no audio send yet to endpoint 1 OUT&lt;br /&gt;
Transfer 27 28 29 set volume to channel 1, channel 2 and again channel 1&lt;br /&gt;
Transfer 30 set alternate 1 to interface 3&lt;br /&gt;
Transfer 31 set alternate 1 to interface 2&lt;br /&gt;
Transfer 32 get size for string at index 7 : 26 bytes (12 caracteres)&lt;br /&gt;
Transfer 33 get string at index 7:&amp;nbsp; PS VR Sensor&amp;nbsp; (associated to interface 4)&lt;br /&gt;
Transfer 34 get report descriptor&amp;nbsp; from interface 4&lt;br /&gt;
/*0x06, 0x01, 0xff, // Usage Page (Vendor-defined 0xFF01)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x01, // Usage (Vendor-defined 0x0001)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xa1, 0x01, // Collection (Application)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x10, // Usage (Vendor-defined 0x0010)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x15, 0x00,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical minimum (0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x26, 0xff, 0x00, //&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical maximum (255)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x75, 0x08,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Size (8)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x40,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (64)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x81, 0x02,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; Input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xc0 // End Collection&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
Transfer 35 get size for string at index 8 : 28 bytes (13 caracteres)&lt;br /&gt;
Transfer 36 get string at index 8:&amp;nbsp; PS VR Control&amp;nbsp; &amp;nbsp; (associated to interface 5)&lt;br /&gt;
Transfer 37 get report descriptor from interface 5&lt;br /&gt;
/*&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x06, 0x00, 0xff, // Usage Page (Vendor-defined 0xFF00)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x15, 0x00, // Logical Minimum(0) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x26, 0xff, 0x00, // Logical Maximun(255)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x08, //Usage (Vendor-defined 0x0008)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xa1, 0x01, // Collection (Application)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x80, // Usage (Vendor-defined 0x0080)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0x40, // Report ID (0X40)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x75, 0x08, // Report Size(0x8) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x04, // Report Count(0x4) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xc0&lt;br /&gt;
*/ &lt;br /&gt;
Transfer 38 put alternating setting to 3 to interface 6&lt;br /&gt;
Transfer 39  get size for string at index 10 : 26 bytes (12 caracteres)&lt;br /&gt;
Transfer 40 get string at index 10: PS VR BulkIn&amp;nbsp;  (associated to interface 7)&lt;br /&gt;
Transfer 41  get size for string at index 11: 30 bytes (14 caracteres)&lt;br /&gt;
Transfer 42 get string at index 11: PS VR Control2&amp;nbsp;  (associated to interface 8)&lt;br /&gt;
Transger 43 get report descriptor from interface 8&lt;br /&gt;
/*&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x06, 0xf0, 0xff, // Usage Page (Vendor-defined 0xFFF0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x15, 0x00, // Logical Minimum(0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x26, 0xff, 0x00, // Logical Maximum(255)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x75, 0x08, // Report Size(0x8) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x3f, // Report Count(0x3F) &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x01, // Usage(Vendor-defined 0x0001) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xa1, 0x01, // Collection(Application) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xd0, // Report ID(0xD0) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xd0, // Usage(Vendor-defined 0x00d0) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xd1, // Report ID(0xD1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xd1, // Usage(Vendor-defined 0x00d1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xd2, // Report ID(0xD2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xd2, // Usage(Vendor-defined 0x00d2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xd3, // Report ID(0xD3)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xd3, // Usage(Vendor-defined 0x00d3)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xc0, // End Collection&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x02, // Usage(Vendor-defined 0x0002) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xa1, 0x01, // Collection(Application) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe0, // Report ID(0xE0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe0, // Usage(Vendor-defined 0x00e0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe1, // Report ID(0xE1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe1, // Usage(Vendor-defined 0x00e1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe2, // Report ID(0xE2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe2, // Usage(Vendor-defined 0x00e2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe3, // Report ID(0xE3)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe3, // Usage(Vendor-defined 0x00e3)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe4, // Report ID(0xE4)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe4, // Usage(Vendor-defined 0x00e4)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe5, // Report ID(0xE5)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe5, // Usage(Vendor-defined 0x00e5)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe6, // Report ID(0xE6)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe6, // Usage(Vendor-defined 0x00e6)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe7, // Report ID(0xE7)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe7, // Usage(Vendor-defined 0x00e7)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe8, // Report ID(0xE8)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe8, // Usage(Vendor-defined 0x00e8)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xe9, // Report ID(0xE9)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xe9, // Usage(Vendor-defined 0x00e9)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xef, // Report ID(0xEF)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0xef, // Usage(Vendor-defined 0x00ef)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x04, // Report Count(0x4) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xc0, // End Collection&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x40, // Usage(Vendor-defined 0x0040)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xa1, 0x01, // Collection(Application) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xf0, // Report ID(0xF0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x47, // Usage(Vendor-defined 0x0047)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x15, 0x00, // Logical Minimum(0) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x26, 0xff, 0x00, // Logical Maximum(255) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x75, 0x08, // Report Size(0x8) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x3f, // Report Count(0x3F) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xf1, // Report ID(0xF1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x48, // Usage(Vendor-defined 0x0048)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x3f, // Report Count(0x3F)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xf2, // Report ID(0xF2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x09, 0x49, // Usage(Vendor-defined 0x0049)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x0f, // Report Count(0x0F)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x85, 0xf3, // Report ID(0xF3)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0a, 0x01, 0x47, // Usage(Vendor-defined 0x4701)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x95, 0x07, // Report Count(0x07)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb1, 0x02, // Feature&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xc0 // End Collection&amp;nbsp; &lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
Ttrasfer 44 set idle to interface 8&lt;br /&gt;
&lt;br /&gt;
Translation
 to c/c++ code with libusb api call is direct with all information from 
dump. All repoorts are described in morpheus_bridge source code so it&#39;s 
confirm all&amp;nbsp; is fine.&lt;br /&gt;
&lt;br /&gt;
TO BE CONTINUED&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
</description><link>http://bigboss-eyetoy.blogspot.com/2016/10/reversing-playstation-vr-device-i.html</link><author>noreply@blogger.com (bigboss)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX_SSPTOlLW-0Pf2ADUqTqYSs7XENsiu6O7z0Y7DalH6Ku9pIPsl4173Jb2mzYRHJT8DRosvmABS40_4Dmk-AvfCK8DRHBBDWubOwY0uJyMsSqmk5ppPimACaINp8jL_3kCnnzBU7mADVH/s72-c/psvrconnections-640x501.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-7770381790442606514</guid><pubDate>Sun, 23 Aug 2015 23:37:00 +0000</pubDate><atom:updated>2015-08-24T01:53:00.545+02:00</atom:updated><title>Reversing sceLibCamera</title><description>Well, first thanks to all people involved in WebKit exploit. Without their tools i could&#39;t dump module and reverse it.&lt;br /&gt;
&lt;br /&gt;
1) We need dump the module. Load libSceCamera.sprx its id is 31. So load it first.&lt;br /&gt;
&lt;br /&gt;
2) Dump it. its index is 20 when it is loaded.&lt;br /&gt;
&lt;br /&gt;
3) Idapro to the rescue. We need offset for all functions that can be called from other modules. Only a brief view and you can see that Sony is using printf(&quot;%s ...\n&quot;,__FUNCTION__,..) in his code (Thanks of this help Sony) so many function names are you waiting for you with the offset ready :P and plenty of them are the same names that we know from vita and ps3.&lt;br /&gt;
&lt;br /&gt;
you can use getFunctionAddressByName sycall 591 with the names that you see in idapro so you can confirm all function names and the offsets.&lt;br /&gt;
&lt;br /&gt;
The list is:&lt;br /&gt;
&lt;br /&gt;
sceCameraAudioOpen Offset = 0x6d00&lt;br /&gt;
sceCameraClose Offset = 0x5550&lt;br /&gt;
sceCameraCloseByHandle Offset = 0x55b0&lt;br /&gt;
sceCameraGetAttribute Offset = 0x5a10&lt;br /&gt;
sceCameraGetAutoExposureGain Offset = 0x5ba0&lt;br /&gt;
sceCameraGetAutoWhiteBalance Offset = 0x5d00&lt;br /&gt;
sceCameraGetConfig Offset = 0x5710&lt;br /&gt;
sceCameraGetContrast Offset = 0x5e60&lt;br /&gt;
sceCameraGetDefectivePixelCancellation Offset = 0x5fc0&lt;br /&gt;
sceCameraGetDeviceConfig Offset = 0x6dc0&lt;br /&gt;
sceCameraGetDeviceInfo Offset = 0x5af0&lt;br /&gt;
sceCameraGetExposureGain Offset = 0x6120&lt;br /&gt;
sceCameraGetFrameData Offset = 0x5950&lt;br /&gt;
sceCameraGetGamma Offset = 0x62c0&lt;br /&gt;
sceCameraGetHue Offset = 0x6460&lt;br /&gt;
sceCameraGetLensCorrection Offset = 0x65c0&lt;br /&gt;
sceCameraGetSaturation Offset = 0x6720&lt;br /&gt;
sceCameraGetSharpness Offset = 0x6880&lt;br /&gt;
sceCameraGetWhiteBalance Offset = 0x69e0&lt;br /&gt;
sceCameraIsAttached Offset = 0x6bd0&lt;br /&gt;
sceCameraIsValidFrameData Offset = 0x59b0&lt;br /&gt;
sceCameraOpen Offset = 0x5430&lt;br /&gt;
sceCameraOpenByModuleId Offset = 0x54c0&lt;br /&gt;
sceCameraSetAttribute Offset = 0x5a80&lt;br /&gt;
sceCameraSetAutoExposureGain Offset = 0x5c50&lt;br /&gt;
sceCameraSetAutoWhiteBalance Offset = 0x5db0&lt;br /&gt;
sceCameraSetCalibData Offset = 0x6c70&lt;br /&gt;
sceCameraSetConfig Offset = 0x5610&lt;br /&gt;
sceCameraSetConfigInternal Offset = 0x5690&lt;br /&gt;
sceCameraSetContrast Offset = 0x5f10&lt;br /&gt;
sceCameraSetDefectivePixelCancellation Offset = 0x6070&lt;br /&gt;
sceCameraSetExposureGain Offset = 0x6200&lt;br /&gt;
sceCameraSetGamma Offset = 0x63a0&lt;br /&gt;
sceCameraSetHue Offset = 0x6510&lt;br /&gt;
sceCameraSetLensCorrection Offset = 0x6670&lt;br /&gt;
sceCameraSetSaturation Offset = 0x67d0&lt;br /&gt;
sceCameraSetSharpness Offset = 0x6930&lt;br /&gt;
sceCameraSetWhiteBalance Offset = 0x6ac0&lt;br /&gt;
sceCameraStart Offset = 0x5790&lt;br /&gt;
sceCameraStartByHandle Offset = 0x5810&lt;br /&gt;
sceCameraStop Offset = 0x5890&lt;br /&gt;
sceCameraStopByHandle Offset = 0x58f0&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
there are more but are internals and you can&#39;t use it outside the module.&lt;/div&gt;
&lt;br /&gt;
4) Now fun job. Dissasemble each function that you can use from WebKit. You will see that Sony is using the same error Codes than in vita so this will help you to follow better the code. For example function sceCameraStop is at offset 0x5890 you can see its code in the next capture:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGx5v1hK_B1J2NixQqdlfUmJUHDyCaZmZp_4LdxNOdiZlaQ0vs3UaWon7T3pGMk6Wxxwc9sTleefLB2cg9-Bf2Tuvr0zl9Zrgm1WZvJ4K7RMl9b8Y0b834GIJBOhc4k8vVVheBeN6336K/s1600/Captura+de+pantalla+2015-08-24+a+la%2528s%2529+00.55.36.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;157&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGx5v1hK_B1J2NixQqdlfUmJUHDyCaZmZp_4LdxNOdiZlaQ0vs3UaWon7T3pGMk6Wxxwc9sTleefLB2cg9-Bf2Tuvr0zl9Zrgm1WZvJ4K7RMl9b8Y0b834GIJBOhc4k8vVVheBeN6336K/s320/Captura+de+pantalla+2015-08-24+a+la%2528s%2529+00.55.36.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember:&lt;br /&gt;
&quot;The first is placed in rdi, the second in rsi, the third in rdx, and then rcx, r8 and r9. Only the 7th argument and onwards are passed on the stack&lt;br /&gt;
For calls that may call functions that use varargs or stdargs (prototype-less&lt;br /&gt;
calls or calls to functions containing ellipsis (. . . ) in the declaration)&lt;br /&gt;
%al is used as hidden argument to specify the number of vector registers used.&quot;&lt;br /&gt;
&lt;br /&gt;
so here we go:&lt;br /&gt;
&lt;br /&gt;
edi contains parameter passed to the function. It is comparing with itself so basically if it is less or equal to 0 go to loc_58c7.&lt;br /&gt;
&lt;br /&gt;
You will see that in loc_58c7 it is using something like:&lt;br /&gt;
&lt;br /&gt;
printf(&quot;%s invalid handle:%d\n&quot;,__FUNCTION,arg1);&lt;br /&gt;
&lt;br /&gt;
then you will see our old friend&amp;nbsp;802E0000h aka&amp;nbsp;SCE_CAMERA_ERROR_PARAM well known in psp2sdk. So if you pass an arg1 less or equal than 0 to this function &amp;nbsp;you will get that.&lt;br /&gt;
&lt;br /&gt;
So now what happen if you pass a valid handle greater than 0. When you open it will give you handle 1. If you are not open previously the camera what happen? Test and error and you will see.&lt;br /&gt;
&lt;br /&gt;
if handle &amp;gt;0 it will call loc_58e3 with 2 parameter first is our handle and second you can see in the code. Result is saved on rsx and if it is not 0 (our old friend SCE_OK) it will return code error. For example try to call close before open and it will return &amp;nbsp;0x802e0004 aka SCE_CAMERA_ERROR_NOT_OPEN&lt;br /&gt;
&lt;br /&gt;
Easy don&#39;t you?&lt;br /&gt;
&lt;br /&gt;
int sceCameraClose(int handle) 0 on success error codes on fail&lt;br /&gt;
&lt;br /&gt;
5) Follow reversing functions. Advice some function are using structures in their parameter so it check if these structures are not NULL and depend of the function check the first 32 bits in these structures it is harcoded on the code so it you can call with a valid chain.data from WebKit and set the correct values on that first 32 bits you can call all the functions described with success.&lt;br /&gt;
&lt;br /&gt;
6) What do you wait to help to open sdk?&lt;br /&gt;
&lt;br /&gt;
sample output from ps4:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://gist.github.com/psxdev/0aec149948e0dbb3c382&quot;&gt;https://gist.github.com/psxdev/0aec149948e0dbb3c382&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The best is yet to come ;) (greets to Kojima san)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2015/08/reversing-scelibcamera.html</link><author>noreply@blogger.com (bigboss)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGx5v1hK_B1J2NixQqdlfUmJUHDyCaZmZp_4LdxNOdiZlaQ0vs3UaWon7T3pGMk6Wxxwc9sTleefLB2cg9-Bf2Tuvr0zl9Zrgm1WZvJ4K7RMl9b8Y0b834GIJBOhc4k8vVVheBeN6336K/s72-c/Captura+de+pantalla+2015-08-24+a+la%2528s%2529+00.55.36.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-1046162991770522550</guid><pubDate>Sun, 15 Feb 2015 01:22:00 +0000</pubDate><atom:updated>2015-02-15T02:33:18.744+01:00</atom:updated><title>Reversing PlayStation 4 Camera</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;
I have been working with PlayStation 4 Camera since 2013. So i want to share with you all things learned since then.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
First of all, if device has not a public/free driver , you need to make reverse engineering&amp;nbsp; and you need to look for information about its chipset and make a research about it. So you need to open the device and look for information about its different chips. After making some research we can show the next high level design diagram:&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/highlevel.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/highlevel.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
PlayStation 4 Camera is using a propietary connector called AUX, however it is a USB 3 cable so our first goal was to cut off the AUX connector and connect it to&amp;nbsp; an USB3 male connector, after this we can connect directly to Mac/PC with USB3 female ports.&amp;nbsp; Next step was to get an USB sniffer capture from PlayStation 4 with a beagle device in the middle, without this we could not have learnt about how to initialize the device and their different options.&lt;/div&gt;
&lt;br /&gt;
Chips description:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;OV580&lt;/b&gt;. It is an asic from Omnivision a typical custom USB bridge solution to manage all other chip. No information or datasheet about it without signing a NDA with Omnivision. Other companies using it are Mantis Vision and LeapMotion. I have worked with others Omnivision USB bridge solutions included in PlayStation EyeToy(OV519) and PlayStation Eye(OV534) so basically it is the same work i made with other drivers for Omnivision.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;OV9713&lt;/b&gt;.&amp;nbsp; Two cmos sensors well documented with full datasheet available in google.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;AK5703&lt;/b&gt;. An analogical to digital converter connected with an microphone array (4). Datasheet is available.&amp;nbsp; The datasheet was very helpfull to get audio properly from PlayStation 4 Camera.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;4g51A&lt;/b&gt;. An eeprom chip. It contains the initial configuration for PlayStation 4 Camera.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
When you connect device to a Mac/PC&amp;nbsp; with&amp;nbsp; USB3 it&amp;nbsp; is in boot mode waiting for loading firmware. Analizing sniffer capture we got the firmware and steps needed&amp;nbsp; to load it&amp;nbsp; to device. So after loading firmware you have and special UVC Camera device and you can learn about their different streaming modes.&lt;/div&gt;
&lt;br /&gt;
Interface 1 alt setting 0 describe all video modes with these possible options:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode 0 fps 60(default), 30, 15, 8 video left and video right frames 1280x800&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode 1 fps 120(default), 60, 30, 15, 8 video left and video right frames 640x400&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode 2 fps 240(default), 120, 60, 30 video left and video right frames 320x192&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
OV580 is delivering in each mode:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode 0 3448x2x808 bytes frame each row with:&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; header 32 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; audio 64 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video left 1280x2 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video right 1280x2 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video interleave 840x2 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode 1 1748x2x408 bytes frame each row with:&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; header 32 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; audio 64 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video left 640x2 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video right 640x2 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video interleave 420x2 bytes&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode 2 898x2x200 bytes frame each row with&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; header 32 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; audio 64 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video left 320x2 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video right 320x2 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; video interleave 210x2 bytes&lt;br /&gt;
&lt;br /&gt;
Part of Header is showed in the next screenshot:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/header.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;231&quot; src=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/header.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Part of Audio is showed in the next screenshot:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/audio.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;126&quot; src=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/audio.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Audio has 4 channel i use Audicity tool loading a 10 second capture a reproducing 4 audio channels with success.&amp;nbsp; AK5703 datasheet was very helpfull. An screenshot from audicity tool:&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/audacity.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/audacity.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Videl Left and Right can be converted to RGB with CV_YUV2RGB_YUY2 conversion:&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;cv::Mat yuv(size_y,size_x,CV_8UC2 ,in);&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;cv::Mat rgb(size_y,size_x,CV_8UC3, out);&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;&amp;nbsp;cv::cvtColor(yuv, rgb, CV_YUV2RGB_YUY2);&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Video interleave it is also the same video format but it is making a mix of two sensor&lt;br /&gt;
&lt;br /&gt;
A sample application made using basic PS4EYECam driver showing a 640x400 mode for two PlayStation Cameras at the same time:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/EyeLab.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;138&quot; src=&quot;https://raw.githubusercontent.com/bigboss-ps3dev/PS4EYECam/master/EyeLab.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Low level usb stuff is implemented and available in my repository. EyeLab&amp;nbsp; is a&amp;nbsp; poc of multi camera&amp;nbsp;&amp;nbsp; application using PS4EYECam driver and it is not in the repository,&amp;nbsp; you don&#39;t need to make changes&amp;nbsp; in the driver to support multi cameras you need to do it at application level.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
So after this i can say that PlayStation 4 Camera is full documented and it can be supported on other platforms. All information needed is here and in my repository.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
PlayStation 4 receives frames with format explained here. I suppose that secondary processor makes all the job to parse frames(video and audio) and connect with image/audio libraries from sdk(if someone want to share it with me you can contact with me :P).&amp;nbsp; PlayStation 4 only has 1 AUX port so a multicam solution would be hard to implement like i am doing now in Osx.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2015/02/reversing-playstation-4-camera.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-7343273209866554622</guid><pubDate>Sun, 21 Sep 2014 18:30:00 +0000</pubDate><atom:updated>2014-09-21T20:30:47.315+02:00</atom:updated><title>PS4EYECam released</title><description>I had released the first public version of PS4EYECam driver.&lt;br /&gt;
&lt;br /&gt;
You can get full information in my &lt;a href=&quot;https://github.com/bigboss-ps3dev/PS4EYECam/&quot;&gt;PS4EYECam repository&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
It is the first public driver for PlayStation 4 Camera licensed under gpl. &lt;br /&gt;
&lt;br /&gt;
I have free afternoons availables if someone is interested to offer me a partial job :P &lt;br /&gt;
&lt;br /&gt;
Enjoy and remember the best is yet to come....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2014/09/ps4eyecam-released.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>9</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-5387755916401079813</guid><pubDate>Thu, 28 Feb 2013 20:05:00 +0000</pubDate><atom:updated>2013-02-28T23:23:02.661+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Apple</category><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title> ps3dev builder with Osx Mountain Lion</title><description>i have just released a tool to let you build under Osx Mountain Lion:&lt;br /&gt;
- Sony binutils and toolchain gcc 4.1.1 for SDK 3.60. Don&#39;t ask about how to get SDK 3.60 &lt;br /&gt;
- ps3dev binutils,toolchain , psl1ght and ps3libraries&lt;br /&gt;
&lt;br /&gt;
More details at: &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/bigboss-ps3dev/ps3dev-mountain-lion&quot;&gt;https://github.com/bigboss-ps3dev/ps3dev-mountain-lion&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy more to come...</description><link>http://bigboss-eyetoy.blogspot.com/2013/02/ps3dev-builder-with-osx-mountain-lion.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-8461860299611863173</guid><pubDate>Sun, 27 Jan 2013 17:37:00 +0000</pubDate><atom:updated>2013-01-27T19:05:16.863+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">libgem</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>gemlight new libgem sample</title><description>New sample available using libgem. It shows how to use PlayStation Move without PlayStation Eye. It is not a graphic sample, you will need your pc/mac listening to show debug messages.&lt;br /&gt;
&lt;br /&gt;
You can get it &lt;a href=&quot;https://github.com/bigboss-ps3dev/PSL1GHT/tree/master/samples/input/gemlight&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Working now in something for osx&#39;s users more to come...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2013/01/new-sample-available-using-libgem.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-6591495595962612107</guid><pubDate>Sun, 02 Oct 2011 18:25:00 +0000</pubDate><atom:updated>2011-10-02T20:36:06.385+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">efl</category><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">libgem</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>Eskiss and video output added to gemsample</title><description>This weekend &lt;span class=&quot;screen-name screen-name-KaKaRoToKS pill&quot;&gt;KaKaRoToKS released Eskiss with Move support, some parts of gemsaple was added to efl ecore_psl1ght, very cool indeed. Check an enjoy downloading &lt;a href=&quot;http://kakaroto.homelinux.net/2011/10/eskiss-for-ps3-with-ps-move-support-2/&quot;&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Video output is commited now to gemsample in &lt;a href=&quot;https://github.com/bigboss-ps3dev/PSL1GHT&quot;&gt;my repo&lt;/a&gt; and will be on &lt;a href=&quot;https://github.com/ps3dev/PSL1GHT&quot;&gt;psl1ght repo&lt;/a&gt; soon!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;time to test efl stuff and finish kinect stuff...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2011/10/eskiss-and-video-output-added-to.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-4221308575056496998</guid><pubDate>Sat, 24 Sep 2011 21:10:00 +0000</pubDate><atom:updated>2011-09-24T23:18:24.114+02:00</atom:updated><title>Let&#39;s &quot;Move&quot; the Scene</title><description>At last good values from sensors :)&lt;br /&gt;&lt;br /&gt;I have updated libgem, added libspurs and 2 samples to psl1ght&lt;br /&gt;&lt;br /&gt;My repository&lt;br /&gt;https://github.com/bigboss-ps3dev/PSL1GHT&lt;br /&gt;&lt;br /&gt;Output from gemsample&lt;br /&gt;&lt;br /&gt;Waiting for connection...&lt;br /&gt;Receiving data... (0x00012200/0x00051b90)&lt;br /&gt;Launching...&lt;br /&gt;Loading modules&lt;br /&gt;laod camera module return 0&lt;br /&gt;load gem module return 0&lt;br /&gt;sysSpuInitialize return 0&lt;br /&gt;sysThreadGetId return 0 ppu_thread_id 14500e1&lt;br /&gt;sysThreadGetPriority return 0 ppu_prio 1001&lt;br /&gt;Initializing spurs&lt;br /&gt;Initializing spurs attribute&lt;br /&gt;Setting name prefix&lt;br /&gt;Initializing with attribute&lt;br /&gt;SPURS 5 spu threads availables&lt;br /&gt;SPU Number:0    SPU Thread ID:400100&lt;br /&gt;SPU Number:1    SPU Thread ID:1400100&lt;br /&gt;SPU Number:2    SPU Thread ID:2400100&lt;br /&gt;SPU Number:3    SPU Thread ID:3400100&lt;br /&gt;SPU Number:4    SPU Thread ID:4400100&lt;br /&gt;&lt;br /&gt;checking SpursInfo&lt;br /&gt;SpursInfo:&lt;br /&gt;nSpus=5&lt;br /&gt;spuGroupPriority=250&lt;br /&gt;ppuThreadPriority=1000&lt;br /&gt;exitIfNoWork=1&lt;br /&gt;namePrefix=gemsample&lt;br /&gt;SPU Number:0    SPU Thread ID:400100&lt;br /&gt;SPU Number:1    SPU Thread ID:1400100&lt;br /&gt;SPU Number:2    SPU Thread ID:2400100&lt;br /&gt;SPU Number:3    SPU Thread ID:3400100&lt;br /&gt;SPU Number:4    SPU Thread ID:4400100&lt;br /&gt;SPURS initialized correctly!!!&lt;br /&gt;return from GemGetMemorySize 120000 size in bytes needed for move device to init libgem&lt;br /&gt;preparing GemAttribute structure with sprus and memory stuff is very important align correctly spurs structure&lt;br /&gt;calling GemInit with GemAttribute structure version=2 max_connect=1 spurs=40000480 memory_ptr=42100010 &lt;br /&gt;return from GemInit 0&lt;br /&gt;GemPrepareCamera return 0 exposure set to 128 and quality to 0.5&lt;br /&gt;GemReset return 0&lt;br /&gt;sysMemContainerCreate() for camera container returned 0&lt;br /&gt;cameraInit() returned 0&lt;br /&gt;Buffer at 00000000&lt;br /&gt;Buffer at 00000000&lt;br /&gt;Buffer at 00000000&lt;br /&gt;Found me an eye, arrr!&lt;br /&gt;cameraOpenEx returned 00000000&lt;br /&gt;Video dimensions: 640x480&lt;br /&gt;Buffer at 30012800&lt;br /&gt;pbuf0 Buffer at 00000000&lt;br /&gt;pbuf0 Buffer at 00000000&lt;br /&gt;camInf.info_ver 101&lt;br /&gt;Setting CameraReadEx 30012800 buffer to cameraInfoex buffer&lt;br /&gt;GemPrepareCamera return 0 exposure set to 128 and quality to 0.5 before cameraStart&lt;br /&gt;lets go!! It&#39;s time to look your face in Sony Bravia :P&lt;br /&gt;cameraStart return 0&lt;br /&gt;Move pressed&lt;br /&gt;Cross pressed&lt;br /&gt;X,Y,Z position (mm) 189.509033 -434.033752 1296.131104&lt;br /&gt; accelerometer device coordinates [6.500000,7.700000,103.000000,1.000000]&lt;br /&gt;Cross pressed&lt;br /&gt;X,Y,Z position (mm) 205.927002 -436.941956 1308.244629&lt;br /&gt; accelerometer device coordinates [6.500000,7.700000,103.000000,1.000000]&lt;br /&gt;Cross pressed&lt;br /&gt;X,Y,Z position (mm) 480.563812 -408.114563 1329.933350&lt;br /&gt; accelerometer device coordinates [6.500000,7.700000,103.000000,1.000000]&lt;br /&gt;Cross pressed&lt;br /&gt;X,Y,Z position (mm) 451.881927 -410.955933 1318.307007&lt;br /&gt; accelerometer device coordinates [6.500000,7.700000,103.000000,1.000000]&lt;br /&gt;T pressed value 3&lt;br /&gt;Frame 37710 center of the sphere in world coordinates 225.594498 -426.935089 1311.220947 1.000000&lt;br /&gt;T pressed value 65&lt;br /&gt;Frame 37784 center of the sphere in world coordinates 234.835403 -410.534790 1307.632690 1.000000&lt;br /&gt;T pressed value 56&lt;br /&gt;Frame 37830 center of the sphere in world coordinates 257.285767 -395.657898 1304.284424 1.000000&lt;br /&gt;T pressed value 40&lt;br /&gt;Frame 37870 center of the sphere in world coordinates 184.035355 -413.298737 1293.195068 1.000000&lt;br /&gt;T pressed value 28&lt;br /&gt;Frame 37913 center of the sphere in world coordinates -25.703981 -418.746521 1424.280518 1.000000&lt;br /&gt;T pressed value 34&lt;br /&gt;Frame 37954 center of the sphere in world coordinates -150.024338 -483.764923 1466.980103 1.000000&lt;br /&gt;T pressed value 3&lt;br /&gt;Frame 37996 center of the sphere in world coordinates -139.128952 -504.165009 1442.249023 1.000000&lt;br /&gt;T pressed value 56&lt;br /&gt;Frame 38022 center of the sphere in world coordinates -135.642822 -500.102112 1434.872437 1.000000&lt;br /&gt;T pressed value 6&lt;br /&gt;Frame 38046 center of the sphere in world coordinates -132.609375 -498.069946 1420.702271 1.000000&lt;br /&gt;T pressed value 82&lt;br /&gt;Frame 38091 center of the sphere in world coordinates -118.836090 -498.801636 1414.320679 1.000000&lt;br /&gt;T pressed value 53&lt;br /&gt;Frame 38262 center of the sphere in world coordinates 219.987030 -379.421387 1404.661133 1.000000&lt;br /&gt;T pressed value 10&lt;br /&gt;Frame 38472 center of the sphere in world coordinates 323.159851 -448.891632 1547.447510 1.000000&lt;br /&gt;T pressed value 26&lt;br /&gt;Frame 38831 center of the sphere in world coordinates 522.609131 -434.194733 1562.819214 1.000000&lt;br /&gt;T pressed value 8&lt;br /&gt;Frame 38886 center of the sphere in world coordinates 510.464722 -425.098969 1531.408203 1.000000&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [467.616608]&lt;br /&gt; v  [243.786667]&lt;br /&gt; r  [7.523668]&lt;br /&gt; projectionx  [0.274799]&lt;br /&gt; projectiony  [-0.007953]&lt;br /&gt; distance  [1611.913208]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1831793693&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [374.323914]&lt;br /&gt; v  [255.018234]&lt;br /&gt; r  [7.731226]&lt;br /&gt; projectionx  [0.101714]&lt;br /&gt; projectiony  [-0.028791]&lt;br /&gt; distance  [1568.638672]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1834009472&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [417.485352]&lt;br /&gt; v  [243.696060]&lt;br /&gt; r  [7.827722]&lt;br /&gt; projectionx  [0.181791]&lt;br /&gt; projectiony  [-0.007785]&lt;br /&gt; distance  [1549.301392]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1835225555&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [458.676208]&lt;br /&gt; v  [247.511475]&lt;br /&gt; r  [7.927076]&lt;br /&gt; projectionx  [0.258212]&lt;br /&gt; projectiony  [-0.014864]&lt;br /&gt; distance  [1529.883179]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1836075268&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [475.832306]&lt;br /&gt; v  [252.331787]&lt;br /&gt; r  [7.865773]&lt;br /&gt; projectionx  [0.290041]&lt;br /&gt; projectiony  [-0.023807]&lt;br /&gt; distance  [1541.806519]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1836741731&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [485.739349]&lt;br /&gt; v  [256.604187]&lt;br /&gt; r  [7.828753]&lt;br /&gt; projectionx  [0.308422]&lt;br /&gt; projectiony  [-0.031733]&lt;br /&gt; distance  [1549.097290]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1837424876&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [494.324524]&lt;br /&gt; v  [259.002686]&lt;br /&gt; r  [7.882169]&lt;br /&gt; projectionx  [0.324350]&lt;br /&gt; projectiony  [-0.036183]&lt;br /&gt; distance  [1538.599487]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1838124604&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [505.946564]&lt;br /&gt; v  [267.037445]&lt;br /&gt; r  [7.904655]&lt;br /&gt; projectionx  [0.345912]&lt;br /&gt; projectiony  [-0.051090]&lt;br /&gt; distance  [1534.222534]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1838824246&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [515.426575]&lt;br /&gt; v  [277.453888]&lt;br /&gt; r  [7.867825]&lt;br /&gt; projectionx  [0.363500]&lt;br /&gt; projectiony  [-0.070415]&lt;br /&gt; distance  [1541.404663]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1839690729&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [521.867493]&lt;br /&gt; v  [291.747559]&lt;br /&gt; r  [7.855508]&lt;br /&gt; projectionx  [0.375450]&lt;br /&gt; projectiony  [-0.096934]&lt;br /&gt; distance  [1543.821289]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1840573715&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [523.607788]&lt;br /&gt; v  [300.297150]&lt;br /&gt; r  [7.867825]&lt;br /&gt; projectionx  [0.378679]&lt;br /&gt; projectiony  [-0.112796]&lt;br /&gt; distance  [1541.404663]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1841906582&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [515.597290]&lt;br /&gt; v  [275.254120]&lt;br /&gt; r  [7.760409]&lt;br /&gt; projectionx  [0.363817]&lt;br /&gt; projectiony  [-0.066334]&lt;br /&gt; distance  [1562.739868]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1842589508&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [502.364777]&lt;br /&gt; v  [261.510590]&lt;br /&gt; r  [7.853453]&lt;br /&gt; projectionx  [0.339267]&lt;br /&gt; projectiony  [-0.040836]&lt;br /&gt; distance  [1544.225220]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1842989369&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [460.853729]&lt;br /&gt; v  [242.027481]&lt;br /&gt; r  [7.995967]&lt;br /&gt; projectionx  [0.262252]&lt;br /&gt; projectiony  [-0.004689]&lt;br /&gt; distance  [1516.702148]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1843489242&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [432.043274]&lt;br /&gt; v  [235.523392]&lt;br /&gt; r  [8.025161]&lt;br /&gt; projectionx  [0.208800]&lt;br /&gt; projectiony  [0.007378]&lt;br /&gt; distance  [1511.184692]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1843839141&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [406.969330]&lt;br /&gt; v  [215.424347]&lt;br /&gt; r  [8.167543]&lt;br /&gt; projectionx  [0.162281]&lt;br /&gt; projectiony  [0.044667]&lt;br /&gt; distance  [1484.840576]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1844322311&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [380.524200]&lt;br /&gt; v  [214.097504]&lt;br /&gt; r  [8.175434]&lt;br /&gt; projectionx  [0.113217]&lt;br /&gt; projectiony  [0.047129]&lt;br /&gt; distance  [1483.407471]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1844855363&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [407.755707]&lt;br /&gt; v  [227.469681]&lt;br /&gt; r  [8.104139]&lt;br /&gt; projectionx  [0.163740]&lt;br /&gt; projectiony  [0.022320]&lt;br /&gt; distance  [1496.457520]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1845171952&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [441.074799]&lt;br /&gt; v  [243.503540]&lt;br /&gt; r  [8.030184]&lt;br /&gt; projectionx  [0.225556]&lt;br /&gt; projectiony  [-0.007428]&lt;br /&gt; distance  [1510.239502]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1845455027&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [471.704102]&lt;br /&gt; v  [261.234985]&lt;br /&gt; r  [7.781185]&lt;br /&gt; projectionx  [0.282382]&lt;br /&gt; projectiony  [-0.040325]&lt;br /&gt; distance  [1558.567261]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1845804868&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [493.436279]&lt;br /&gt; v  [285.374908]&lt;br /&gt; r  [7.687237]&lt;br /&gt; projectionx  [0.322702]&lt;br /&gt; projectiony  [-0.085111]&lt;br /&gt; distance  [1577.614990]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1846371549&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [481.684326]&lt;br /&gt; v  [268.126495]&lt;br /&gt; r  [7.666198]&lt;br /&gt; projectionx  [0.300899]&lt;br /&gt; projectiony  [-0.053110]&lt;br /&gt; distance  [1581.944580]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1847037968&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [451.177032]&lt;br /&gt; v  [236.552795]&lt;br /&gt; r  [7.835966]&lt;br /&gt; projectionx  [0.244299]&lt;br /&gt; projectiony  [0.005468]&lt;br /&gt; distance  [1547.671387]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1847870924&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [439.619263]&lt;br /&gt; v  [226.912308]&lt;br /&gt; r  [7.913836]&lt;br /&gt; projectionx  [0.222856]&lt;br /&gt; projectiony  [0.023354]&lt;br /&gt; distance  [1532.442749]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1848687293&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [431.101837]&lt;br /&gt; v  [226.425247]&lt;br /&gt; r  [7.954504]&lt;br /&gt; projectionx  [0.207053]&lt;br /&gt; projectiony  [0.024257]&lt;br /&gt; distance  [1524.608154]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1849287046&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [415.781769]&lt;br /&gt; v  [230.620239]&lt;br /&gt; r  [8.017118]&lt;br /&gt; projectionx  [0.178630]&lt;br /&gt; projectiony  [0.016475]&lt;br /&gt; distance  [1512.700684]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1849953468&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [396.752502]&lt;br /&gt; v  [239.167206]&lt;br /&gt; r  [8.079232]&lt;br /&gt; projectionx  [0.143326]&lt;br /&gt; projectiony  [0.000617]&lt;br /&gt; distance  [1501.070923]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1850886468&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [439.451355]&lt;br /&gt; v  [247.016159]&lt;br /&gt; r  [8.085217]&lt;br /&gt; projectionx  [0.222544]&lt;br /&gt; projectiony  [-0.013945]&lt;br /&gt; distance  [1499.959961]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1851619412&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [449.005798]&lt;br /&gt; v  [250.121674]&lt;br /&gt; r  [8.072244]&lt;br /&gt; projectionx  [0.240270]&lt;br /&gt; projectiony  [-0.019706]&lt;br /&gt; distance  [1502.370483]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1852535657&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [426.747223]&lt;br /&gt; v  [241.951523]&lt;br /&gt; r  [8.129959]&lt;br /&gt; projectionx  [0.198974]&lt;br /&gt; projectiony  [-0.004548]&lt;br /&gt; distance  [1491.704956]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1853435393&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [417.064728]&lt;br /&gt; v  [235.196320]&lt;br /&gt; r  [8.006046]&lt;br /&gt; projectionx  [0.181011]&lt;br /&gt; projectiony  [0.007985]&lt;br /&gt; distance  [1514.792725]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1854118583&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [431.997528]&lt;br /&gt; v  [245.086334]&lt;br /&gt; r  [8.540620]&lt;br /&gt; projectionx  [0.208715]&lt;br /&gt; projectiony  [-0.010364]&lt;br /&gt; distance  [1419.979004]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1854701741&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [441.774719]&lt;br /&gt; v  [259.114746]&lt;br /&gt; r  [8.790345]&lt;br /&gt; projectionx  [0.226855]&lt;br /&gt; projectiony  [-0.036391]&lt;br /&gt; distance  [1379.638672]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1855251396&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [446.370483]&lt;br /&gt; v  [267.522522]&lt;br /&gt; r  [9.159265]&lt;br /&gt; projectionx  [0.235381]&lt;br /&gt; projectiony  [-0.051990]&lt;br /&gt; distance  [1324.069214]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1855701256&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [445.791107]&lt;br /&gt; v  [279.648895]&lt;br /&gt; r  [9.489860]&lt;br /&gt; projectionx  [0.234306]&lt;br /&gt; projectiony  [-0.074488]&lt;br /&gt; distance  [1277.943115]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1856167655&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [442.675964]&lt;br /&gt; v  [279.683411]&lt;br /&gt; r  [9.940524]&lt;br /&gt; projectionx  [0.228527]&lt;br /&gt; projectiony  [-0.074552]&lt;br /&gt; distance  [1220.006104]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1856684264&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [427.323761]&lt;br /&gt; v  [287.231140]&lt;br /&gt; r  [10.420423]&lt;br /&gt; projectionx  [0.200044]&lt;br /&gt; projectiony  [-0.088555]&lt;br /&gt; distance  [1163.820435]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1857200662&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [413.394775]&lt;br /&gt; v  [295.300568]&lt;br /&gt; r  [10.901438]&lt;br /&gt; projectionx  [0.174202]&lt;br /&gt; projectiony  [-0.103526]&lt;br /&gt; distance  [1112.468018]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1857817071&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [422.021118]&lt;br /&gt; v  [291.990326]&lt;br /&gt; r  [10.733618]&lt;br /&gt; projectionx  [0.190206]&lt;br /&gt; projectiony  [-0.097385]&lt;br /&gt; distance  [1129.861328]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1858116898&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [434.123077]&lt;br /&gt; v  [283.060028]&lt;br /&gt; r  [10.246875]&lt;br /&gt; projectionx  [0.212659]&lt;br /&gt; projectiony  [-0.080816]&lt;br /&gt; distance  [1183.531616]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1858400227&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [443.127686]&lt;br /&gt; v  [282.977173]&lt;br /&gt; r  [9.432184]&lt;br /&gt; projectionx  [0.229365]&lt;br /&gt; projectiony  [-0.080663]&lt;br /&gt; distance  [1285.757446]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1858683554&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [447.493805]&lt;br /&gt; v  [285.821014]&lt;br /&gt; r  [8.890385]&lt;br /&gt; projectionx  [0.237465]&lt;br /&gt; projectiony  [-0.085939]&lt;br /&gt; distance  [1364.114258]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1858916672&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [447.327820]&lt;br /&gt; v  [279.390198]&lt;br /&gt; r  [7.987894]&lt;br /&gt; projectionx  [0.237157]&lt;br /&gt; projectiony  [-0.074008]&lt;br /&gt; distance  [1518.235107]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1859366488&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [446.239929]&lt;br /&gt; v  [278.633667]&lt;br /&gt; r  [7.527963]&lt;br /&gt; projectionx  [0.235139]&lt;br /&gt; projectiony  [-0.072604]&lt;br /&gt; distance  [1610.993652]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1859683058&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [447.631439]&lt;br /&gt; v  [277.551575]&lt;br /&gt; r  [7.298936]&lt;br /&gt; projectionx  [0.237721]&lt;br /&gt; projectiony  [-0.070597]&lt;br /&gt; distance  [1661.543579]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1859949639&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [447.413574]&lt;br /&gt; v  [274.575653]&lt;br /&gt; r  [6.932533]&lt;br /&gt; projectionx  [0.237316]&lt;br /&gt; projectiony  [-0.065075]&lt;br /&gt; distance  [1749.360596]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1860232971&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [447.619263]&lt;br /&gt; v  [271.980255]&lt;br /&gt; r  [6.581963]&lt;br /&gt; projectionx  [0.237698]&lt;br /&gt; projectiony  [-0.060260]&lt;br /&gt; distance  [1842.535645]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1860566060&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [446.398590]&lt;br /&gt; v  [269.859192]&lt;br /&gt; r  [6.447278]&lt;br /&gt; projectionx  [0.235433]&lt;br /&gt; projectiony  [-0.056325]&lt;br /&gt; distance  [1881.026611]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1860782653&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [448.356293]&lt;br /&gt; v  [269.602325]&lt;br /&gt; r  [6.319905]&lt;br /&gt; projectionx  [0.239065]&lt;br /&gt; projectiony  [-0.055848]&lt;br /&gt; distance  [1918.937134]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1861082429&lt;br /&gt;Triangle pressed&lt;br /&gt; u  [447.650391]&lt;br /&gt; v  [266.737183]&lt;br /&gt; r  [6.123670]&lt;br /&gt; projectionx  [0.237756]&lt;br /&gt; projectiony  [-0.050533]&lt;br /&gt; distance  [1980.430176]&lt;br /&gt;visible=1 r_valid=1&lt;br /&gt;tiemestamp=1861415768&lt;br /&gt;Unloading modules&lt;br /&gt;unload gem module return 0&lt;br /&gt;unload camera module return 0&lt;br /&gt;&lt;br /&gt;more to come....</description><link>http://bigboss-eyetoy.blogspot.com/2011/09/lets-move-scene.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-3451942915371545908</guid><pubDate>Sun, 21 Aug 2011 19:22:00 +0000</pubDate><atom:updated>2011-08-21T21:28:29.158+02:00</atom:updated><title>kinect psl1ght video stream done</title><description>:) video rgb output streaming on my Bravia. Stream for video endpoint done.&lt;br /&gt;Next i need to fix depth endpoint don&#39;t get valid frames by now...&lt;br /&gt;&lt;br /&gt;Kinect Driver for PlayStation 3&lt;br /&gt;Copyright (C) 2010,2011 Antonio José Ramos Márquez aka bigboss&lt;br /&gt;Creating a send_sema semaforo...&lt;br /&gt;Creating a send_cmd mutex...&lt;br /&gt;Mutex 2231383040 is created.&lt;br /&gt;initializing event queue attr&lt;br /&gt;Event queue created with id=(0x000000008D003500)&lt;br /&gt;Function name kinectSetNotifyEventQueue&lt;br /&gt;event port created with id 234894848&lt;br /&gt;event port connected to queue&lt;br /&gt;Function name kinect_probe dev_id=33&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;Usb device found has idVendor 5e04&lt;br /&gt;New usb device found has NUI_MOTOR idProduct b002&lt;br /&gt;Function name kinect_attach dev_id=33&lt;br /&gt;Getting device descriptor&lt;br /&gt;Function name nuimotor_attach dev_id=33&lt;br /&gt;Kinect NUI_MOTOR detected&lt;br /&gt;Getting configuration descriptor&lt;br /&gt;Number of interfaces 1&lt;br /&gt;Getting interface descriptor&lt;br /&gt;Verifying number of endpoints&lt;br /&gt;Getting control endpoint descriptor for NUI_MOTOR 0&lt;br /&gt;tryng to open control endpoint  0&lt;br /&gt;Function name nuimotor_control_transfer step=0 arg=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;Registering kinect driver return (0)&lt;br /&gt;Function name nuimotor_control_done result=0x0 count=0 arg=0x0&lt;br /&gt;Function name nuimotor_control_transfer step=1 arg=0&lt;br /&gt;Function name nuimotor_control_transfer step=2 arg=0&lt;br /&gt;init motor&lt;br /&gt;Sending event NUIMOTOR_READY&lt;br /&gt;Function name nuimotor_control_done result=0x0 count=1 arg=0x2&lt;br /&gt;Received event NUIMOTOR_READY now it&#39;s time to angle and led settings&lt;br /&gt;Function name kinectSetTiltDegs&lt;br /&gt;NUIMOTOR angle received to 0&lt;br /&gt;NUIMOTOR angle set to 0&lt;br /&gt;Function name nuimotor_control_transfer step=3 arg=0&lt;br /&gt;set angle&lt;br /&gt;kinectSetTiltDegs return 0&lt;br /&gt;Function name kinectSetLed&lt;br /&gt;Function name nuimotor_control_transfer step=4 arg=1&lt;br /&gt;Function name nuimotor_control_done result=0x0 count=0 arg=0x3&lt;br /&gt;set led&lt;br /&gt;motor ready time to camera and audio sending NUIMOTOR_ENABLED&lt;br /&gt;kinectSetLed return 0&lt;br /&gt;Function name nuimotor_control_done result=0x0 count=0 arg=0x4&lt;br /&gt;Nuimotor initialized set angle and led  set to red done...&lt;br /&gt;Function name kinect_probe dev_id=34&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;Usb device found has idVendor 5e04&lt;br /&gt;New usb device found has NUI_AUDIO idProduct ad02&lt;br /&gt;Function name kinect_attach dev_id=34&lt;br /&gt;Getting device descriptor&lt;br /&gt;Function name nuiaudio_attach dev_id=34&lt;br /&gt;Kinect NUI_AUDIO detected&lt;br /&gt;Getting configuration descriptor&lt;br /&gt;Verifying number of endpoints 4&lt;br /&gt;Getting control endpoint descriptor for NUI_AUDIO 1&lt;br /&gt;Function name nuiaudio_control_transfer step=0 arg=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;Function name nuiaudio_control_done result=0x0 count=0 arg=0x0&lt;br /&gt;Function name nuiaudio_control_transfer step=1 arg=0&lt;br /&gt;Set Interface (bInterfaceNumber=0, bAlternateSetting=0)&lt;br /&gt;Sending event NUIAUDIO_READY&lt;br /&gt;Received event NUIAUDIO_READY TODO audio initialization and isoc stuff&lt;br /&gt;Function name kinect_probe dev_id=35&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;Usb device found has idVendor 5e04&lt;br /&gt;New usb device found has NUI_CAMERA idProduct ae02&lt;br /&gt;Function name kinect_attach dev_id=35&lt;br /&gt;Getting device descriptor&lt;br /&gt;Function name nuicamera_attach dev_id=35&lt;br /&gt;Kinect NUI_CAMERA detected&lt;br /&gt;Getting configuration descriptor&lt;br /&gt;Verifying number of endpoints 2&lt;br /&gt;Getting control endpoint descriptor for NUI_CAMERA 2&lt;br /&gt;Verifying endpoint  129&lt;br /&gt;Found video camera endpoint 129&lt;br /&gt;Getting  endpoint  for NUI_CAMERA color pipe_id3&lt;br /&gt;Verifying endpoint  130&lt;br /&gt;Found depth camera endpoint 130&lt;br /&gt;Getting  endpoint  for NUI_CAMERA depth pipe_id 4&lt;br /&gt;Function name nuicamera_control_transfer step=0 arg=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;Function name nuicamera_control_done result=0x0 count=0 arg=0x0&lt;br /&gt;Function name nuicamera_control_transfer step=1 arg=0&lt;br /&gt;Sending event NUICAMERA_READY&lt;br /&gt;Received event NUICAMERA_READY&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;Function name kinectSetVideoMode&lt;br /&gt;Function name kinect_find_depth_mode&lt;br /&gt;Function name kinectSetDepthMode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;Function name kinect_find_depth_mode&lt;br /&gt;local rgb buffer 50000420&lt;br /&gt;local depth buffer 52100870&lt;br /&gt;Function name kinectSetVideoBuffer buf=50000420&lt;br /&gt;Function name stream_setbuf&lt;br /&gt;Function name kinectSetDepthBuffer buf=52100870&lt;br /&gt;Function name stream_setbuf&lt;br /&gt;Unhandled event: 00000122&lt;br /&gt;startdepth&lt;br /&gt;Function name kinectStartDepth&lt;br /&gt;Function name kinect_find_depth_mode&lt;br /&gt;Function name kinect_find_depth_mode&lt;br /&gt;Function name stream_init&lt;br /&gt;framesize 422400 last_pkt_size 1132 pkt_size 1748&lt;br /&gt;Function name write_register reg=0105 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0105 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0000 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Write Reg OK 0x0105 &amp;lt;= 0x00&lt;br /&gt;Function name write_register reg=0006 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0006 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0001 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1&lt;br /&gt;Function name setCount count=0 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 0&lt;br /&gt;actual_len 0 send_cmd: Input control transfer failed (0)&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0001 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=20 arg=0x1&lt;br /&gt;Function name setCount count=20 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 20&lt;br /&gt;send_cmd: Bad len 0001 != 0006&lt;br /&gt;send_cmd return FFFFFFFF&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0001 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x0006 &amp;lt;= 0x00&lt;br /&gt;Function name write_register reg=0012 &amp;lt;= data=03&lt;br /&gt;Write Reg 0x0012 &amp;lt;= 0x03&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0002 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Write Reg OK 0x0012 &amp;lt;= 0x03&lt;br /&gt;Function name write_register reg=0013 &amp;lt;= data=01&lt;br /&gt;Write Reg 0x0013 &amp;lt;= 0x01&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0003 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Write Reg OK 0x0013 &amp;lt;= 0x01&lt;br /&gt;Function name write_register reg=0014 &amp;lt;= data=1e&lt;br /&gt;Write Reg 0x0014 &amp;lt;= 0x1e&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0004 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Write Reg OK 0x0014 &amp;lt;= 0x1e&lt;br /&gt;Function name write_register reg=0006 &amp;lt;= data=02&lt;br /&gt;Write Reg 0x0006 &amp;lt;= 0x02&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0005 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1&lt;br /&gt;Function name setCount count=0 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 0&lt;br /&gt;actual_len 0 send_cmd: Input control transfer failed (0)&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0005 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x0006 &amp;lt;= 0x02&lt;br /&gt;Function name read_register reg=0006&lt;br /&gt;Read Reg 0x0006 =&amp;gt;&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0002 tag=0006 len=0002: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=22 arg=0x1&lt;br /&gt;Function name setCount count=22 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 22&lt;br /&gt;send_cmd: Bad cmd 300 != 200&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0002 tag=0006 len=0002: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x1&lt;br /&gt;Function name setCount count=12 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 12&lt;br /&gt;send_cmd return 4&lt;br /&gt;Read Reg 0x0006 =&amp;gt; 0x100&lt;br /&gt; Function name write_register reg=0017 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0017 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0007 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1&lt;br /&gt;Function name setCount count=0 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 0&lt;br /&gt;actual_len 0 send_cmd: Input control transfer failed (0)&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0007 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x0017 &amp;lt;= 0x00&lt;br /&gt;Function name kinectStartVideo&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;Function name stream_init&lt;br /&gt;framesize 614400 last_pkt_size 24 pkt_size 1908&lt;br /&gt;Function name write_register reg=000c &amp;lt;= data=05&lt;br /&gt;Write Reg 0x000c &amp;lt;= 0x05&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0008 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=20 arg=0x1&lt;br /&gt;Function name setCount count=20 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 20&lt;br /&gt;send_cmd: Bad tag 0700 != 0800&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0008 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x000c &amp;lt;= 0x05&lt;br /&gt;Function name write_register reg=000d &amp;lt;= data=01&lt;br /&gt;Write Reg 0x000d &amp;lt;= 0x01&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0009 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Write Reg OK 0x000d &amp;lt;= 0x01&lt;br /&gt;Function name write_register reg=000e &amp;lt;= data=0f&lt;br /&gt;Write Reg 0x000e &amp;lt;= 0x0f&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000a len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Write Reg OK 0x000e &amp;lt;= 0x0f&lt;br /&gt;Function name write_register reg=0005 &amp;lt;= data=01&lt;br /&gt;Write Reg 0x0005 &amp;lt;= 0x01&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000b len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1&lt;br /&gt;Function name setCount count=0 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 0&lt;br /&gt;actual_len 0 send_cmd: Input control transfer failed (0)&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000b len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x0005 &amp;lt;= 0x01&lt;br /&gt;Function name write_register reg=0047 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0047 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000c len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd: Bad tag 0b00 != 0c00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000c len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x0047 &amp;lt;= 0x00&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 9 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 1 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 3d3ea7f2&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 5 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 9 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 9 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 11 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 2 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 46c5b40a&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 5 packets in buf (242 total), resyncing...&lt;br /&gt;usb_transfer depth enabled&lt;br /&gt;usb_transfer depth enabled&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 5 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 3 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 54d34c47&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 80] Inconsistent flag 85 with 51 packets in buf (323 total), resyncing...&lt;br /&gt;[Stream 80] Inconsistent flag 81 with 52 packets in buf (323 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 7 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 6 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 4 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 5a4dc008&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 10 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 5 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 5e5a585f&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 6 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 8 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 2 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 6 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 676770a9&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;fram_size 614400 valid_frames 7 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 6c2af6b5&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 8 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 8 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 712b76a8&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;fram_size 614400 valid_frames 9 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 75eefcb4&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 6 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 6 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 10 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 7fb302b3&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;fram_size 614400 valid_frames 11 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 88832116&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;fram_size 614400 valid_frames 12 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 8d46a722&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 11 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 13 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 92472715&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 2 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 8 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 13 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 14 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 9b174578&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 80] Inconsistent flag 85 with 50 packets in buf (323 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 15 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS 9fdacb84&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 6 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 16 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS a4db4b77&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 80] Inconsistent flag 85 with 50 packets in buf (323 total), resyncing...&lt;br /&gt;[Stream 80] Inconsistent flag 81 with 51 packets in buf (323 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 8 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 17 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS a99ed183&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;fram_size 614400 valid_frames 18 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS ae62578f&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 9 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 19 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS b2abe9cd&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;fram_size 614400 valid_frames 20 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS b76f6fd9&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 9 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 5 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 6 packets in buf (242 total), resyncing...&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 14 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 21 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS c5400e2f&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 70] Inconsistent flag 82 with 8 packets in buf (242 total), resyncing...&lt;br /&gt;fram_size 614400 valid_frames 22 flag 85&lt;br /&gt;Got color frame of size 614400/614400, 323/323 packets arrived, TS ca7d8809&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;video buffer ready&lt;br /&gt;[Stream 80] Inconsistent flag 85 with 52 packets in buf (323 total), resyncing...&lt;br /&gt;[Stream 80] Inconsistent flag 81 with 53 packets in buf (323 total), resyncing...&lt;br /&gt;Function name kinectStopDepth&lt;br /&gt;Function name write_register reg=0006 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0006 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000d len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd: Bad tag 0c00 != 0d00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000d len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x0006 &amp;lt;= 0x00&lt;br /&gt;Function name stream_freebufs&lt;br /&gt;Function name kinectStopVideo&lt;br /&gt;Function name write_register reg=0005 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0005 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000e len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd: Bad tag 0d00 != 0e00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000e len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=20 arg=0x1&lt;br /&gt;Function name setCount count=20 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 20&lt;br /&gt;send_cmd: Bad len 0001 != 0006&lt;br /&gt;send_cmd return FFFFFFFF&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=000e len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd return 2&lt;br /&gt;Write Reg OK 0x0005 &amp;lt;= 0x00&lt;br /&gt;Function name stream_freebufs&lt;br /&gt;Exiting for real.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;more to come...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2011/08/kinect-psl1ght-video-stream-done.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-7473566508673490877</guid><pubDate>Mon, 15 Aug 2011 18:57:00 +0000</pubDate><atom:updated>2011-08-15T21:16:41.492+02:00</atom:updated><title>kinect psl1ght work in progress</title><description>nuimotor: i can move it, get tilt status, set led, all fine. One only control endpoint.&lt;br /&gt;nuicamera: i can write and read commands using control endpoint some command to start video and depth sometimes fail i must implement retry for write_register and send_cmd stuff. Two additional endpoints enabled for depth and video.Next step will be learn to parsing streams. I must rewrite some stuff for isoc stream and processing packets.&lt;br /&gt;nuiaudio: 1 control endpoint and four exta endpoint detected. Todo almost everything for audio, i have some code from eyetoy in ps2 perhaps i can port it.&lt;br /&gt;&lt;br /&gt;Output from actual sample driver code using psl1ght. Libfreenect was a good start point however usb stuff is something different in PlayStation:&lt;br /&gt;&lt;br /&gt;PS3Load v0.1&lt;br /&gt;Waiting for connection...&lt;br /&gt;Receiving data... (0x00010687/0x00041d60)&lt;br /&gt;Launching...&lt;br /&gt;Initializing pad...&lt;br /&gt;Function name kinectInit&lt;br /&gt;Kinect Driver for PlayStation 3&lt;br /&gt;Copyright (C) 2010,2011 Antonio José Ramos Márquez aka bigboss&lt;br /&gt;Creating a send_sema semaforo...&lt;br /&gt;Creating a send_cmd mutex...&lt;br /&gt;Mutex 2231383040 is created.&lt;br /&gt;initializing event queue attr&lt;br /&gt;Event queue created with id=(0x000000008D003500)&lt;br /&gt;Function name kinectSetNotifyEventQueue&lt;br /&gt;event port created with id 234894848&lt;br /&gt;event port connected to queue&lt;br /&gt;Function name kinect_probe dev_id=4&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;Usb device found has idVendor 5e04&lt;br /&gt;New usb device found has NUI_MOTOR idProduct b002&lt;br /&gt;Function name kinect_attach dev_id=4&lt;br /&gt;Getting device descriptor&lt;br /&gt;Function name nuimotor_attach dev_id=4&lt;br /&gt;Kinect NUI_MOTOR detected&lt;br /&gt;Getting configuration descriptor&lt;br /&gt;Number of interfaces 1&lt;br /&gt;Getting interface descriptor&lt;br /&gt;Verifying number of endpoints&lt;br /&gt;Getting control endpoint descriptor for NUI_MOTOR 0&lt;br /&gt;tryng to open control endpoint  0&lt;br /&gt;Function name nuimotor_control_transfer step=0 arg=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;Function name kinect_probe dev_id=12&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;init motor&lt;br /&gt;Getting  endpoint  for NUI_CAMERA depth pipe_id 4&lt;br /&gt;Function name nuicamera_control_transfer step=0 arg=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;Registering kinect driver return (0)&lt;br /&gt;Sending event NUICAMERA_READY&lt;br /&gt;Function name kinectSetTiltDegs&lt;br /&gt;NUIMOTOR angle received to 20&lt;br /&gt;NUIMOTOR angle set to 40&lt;br /&gt;Function name nuimotor_control_transfer step=3 arg=40&lt;br /&gt;set angle&lt;br /&gt;kinectSetTiltDegs return 0&lt;br /&gt;Function name kinectSetLed&lt;br /&gt;Function name nuimotor_control_transfer step=4 arg=1&lt;br /&gt;set led&lt;br /&gt;motor ready time to camera and audio sending NUIMOTOR_ENABLED&lt;br /&gt;kinectSetLed return 0&lt;br /&gt;Function name kinectUpdateTiltState&lt;br /&gt;Sending event NUIAUDIO_READY&lt;br /&gt;updating tilt state&lt;br /&gt;kinectUpdateTiltState return 0&lt;br /&gt;Function name nuimotor_control_done result=0x0 count=0 arg=0x3&lt;br /&gt;Function name kinectGetTiltStatus&lt;br /&gt;tilt status=0&lt;br /&gt;Function name kinectGetTiltDegs&lt;br /&gt;Function name nuimotor_control_done result=0x0 count=0 arg=0x4&lt;br /&gt;Function name kinectGetMksAccel&lt;br /&gt;Received event NUICAMERA_READY&lt;br /&gt;Nuimotor initialized set angle and led  set to red done...&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;Function name nuimotor_control_done result=0x0 count=10 arg=0x5&lt;br /&gt;Function name kinect_find_depth_mode&lt;br /&gt;Function name kinectSetDepthMode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;local rgb buffer 50000830&lt;br /&gt;Function name kinectSetVideoBuffer buf=50000830&lt;br /&gt;Function name stream_setbuf&lt;br /&gt;Received event NUIAUDIO_READY TODO audio initialization and isoc stuff&lt;br /&gt;Function name kinectStartDepth&lt;br /&gt;Function name kinect_find_depth_mode&lt;br /&gt;Function name kinect_find_depth_mode&lt;br /&gt;Function name stream_init&lt;br /&gt;Function name usb_transfer type=1&lt;br /&gt;Function name write_register reg=0105 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0105 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0000 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name write_register reg=0006 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0006 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0001 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name write_register reg=0012 &amp;lt;= data=03&lt;br /&gt;Write Reg 0x0012 &amp;lt;= 0x03&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0002 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name write_register reg=0013 &amp;lt;= data=01&lt;br /&gt;Write Reg 0x0013 &amp;lt;= 0x01&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0003 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Control cmd=0003 tag=0004 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name write_register reg=0006 &amp;lt;= data=02&lt;br /&gt;Write Reg 0x0006 &amp;lt;= 0x02&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0005 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1&lt;br /&gt;Function name setCount count=0 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 0&lt;br /&gt;actual_len 0 send_cmd: Input control transfer failed (0)&lt;br /&gt;send_cmd returned 0 [0000 f000], 0000 expected&lt;br /&gt;Function name write_register reg=0017 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0017 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0005 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name kinectStartVideo&lt;br /&gt;Function name kinect_get_current_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;Function name kinect_find_video_mode&lt;br /&gt;Function name stream_init&lt;br /&gt;Function name usb_transfer type=0&lt;br /&gt;Function name write_register reg=000c &amp;lt;= data=05&lt;br /&gt;Write Reg 0x000c &amp;lt;= 0x05&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0006 len=0004: 0&lt;br /&gt;Function name stream_done type=0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=20 arg=0x1&lt;br /&gt;Function name setCount count=20 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 20&lt;br /&gt;send_cmd: Bad tag 0500 != 0600&lt;br /&gt;send_cmd return FFFFFFFF&lt;br /&gt;Function name write_register reg=000d &amp;lt;= data=01&lt;br /&gt;Write Reg 0x000d &amp;lt;= 0x01&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0006 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name write_register reg=000e &amp;lt;= data=0f&lt;br /&gt;Write Reg 0x000e &amp;lt;= 0x0f&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0007 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name write_register reg=0005 &amp;lt;= data=01&lt;br /&gt;Write Reg 0x0005 &amp;lt;= 0x01&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0008 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=0 arg=0x1&lt;br /&gt;Function name setCount count=0 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 0&lt;br /&gt;actual_len 0 send_cmd: Input control transfer failed (0)&lt;br /&gt;send_cmd returned 0 [0000 f000], 0000 expected&lt;br /&gt;Function name write_register reg=0047 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0047 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0008 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name kinectStopDepth&lt;br /&gt;Function name write_register reg=0006 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0006 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0009 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;send_cmd: Bad tag 0800 != 0900&lt;br /&gt;send_cmd return FFFFFFFF&lt;br /&gt;Function name stream_freebufs&lt;br /&gt;Function name kinectStopVideo&lt;br /&gt;Function name write_register reg=0005 &amp;lt;= data=00&lt;br /&gt;Write Reg 0x0005 &amp;lt;= 0x00&lt;br /&gt;Function name send_cmd&lt;br /&gt;usbdControlTransfer return 0&lt;br /&gt;Control cmd=0003 tag=0009 len=0004: 0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=12 arg=0x0&lt;br /&gt;Function name nuicamera_send_cmd_done result=0x0 count=10 arg=0x1&lt;br /&gt;Function name setCount count=10 result=0&lt;br /&gt;Function name getCount&lt;br /&gt;actual_len 10&lt;br /&gt;Function name stream_freebufs&lt;br /&gt;Exiting for real.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;more to come&lt;br /&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2011/08/kinect-psl1ght-work-in-progress.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-1020954585424565006</guid><pubDate>Wed, 10 Aug 2011 18:21:00 +0000</pubDate><atom:updated>2011-08-10T20:32:28.592+02:00</atom:updated><title>usbd at last</title><description>Finally i got usbd stuff running fine on PSL1GHT, so next step will be refactory my kinect sprx module and port it to PSL1GHT.&lt;br /&gt;&lt;br /&gt;Time to code.&lt;br /&gt;&lt;br /&gt;credits must go to an0nym0u5 &lt;a href=&quot;https://github.com/an0nym0u5/PSL1GHT&quot;&gt;https://github.com/an0nym0u5/PSL1GHT&lt;/a&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2011/08/usbd-at-last.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-3248984938153892617</guid><pubDate>Sat, 23 Apr 2011 09:32:00 +0000</pubDate><atom:updated>2011-04-23T11:36:06.814+02:00</atom:updated><title>Move.me code repository</title><description>Pc side is public now, you can get it at:&lt;br /&gt;&lt;br /&gt;http://code.google.com/p/moveme/&lt;br /&gt;&lt;br /&gt;PS3 side i believe that it is in closed beta by now on PSN.&lt;br /&gt;&lt;br /&gt;More to come.</description><link>http://bigboss-eyetoy.blogspot.com/2011/04/moveme-code-repository.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-5262399604424142903</guid><pubDate>Wed, 02 Mar 2011 22:15:00 +0000</pubDate><atom:updated>2011-03-04T21:29:33.115+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>Move.me</title><description>Expect libgem improve soon... :P&lt;br /&gt;&lt;a href=&quot;http://blog.us.playstation.com/2011/03/02/aspiring-developers-take-note-move-me-unveiled-at-gdc/&quot;&gt;Move.me&lt;/a&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2011/03/moveme.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-2919415214761744830</guid><pubDate>Sun, 16 Jan 2011 18:44:00 +0000</pubDate><atom:updated>2011-01-16T19:54:17.972+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PlayStation Eye</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>gemtest sample for libgem</title><description>Today i have updated toochain,psl1ght and ps3libraries on my mac included nvidia shader stuff. A busy day xD.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After Matthew Parlane libgem commit there is no reason to add a sample for libgem in my repository and send to official psl1ght repo.&lt;br /&gt;&lt;br /&gt;my repo:&lt;br /&gt;&lt;br /&gt;https://github.com/bigboss-ps3dev/PSL1GHT&lt;br /&gt;&lt;br /&gt;check https://github.com/HACKERCHANNEL/PSL1GHT when they accept changes.&lt;br /&gt;&lt;br /&gt;Sample need PlayStation Eye and PlayStation Move.&lt;br /&gt;&lt;br /&gt;It will track gyroscope sensor y axis and x axis and it will move camera frame with your Move device.</description><link>http://bigboss-eyetoy.blogspot.com/2011/01/gemtest-sample-for-libgem.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-2608077878961959014</guid><pubDate>Sat, 15 Jan 2011 22:19:00 +0000</pubDate><atom:updated>2011-01-15T23:46:16.293+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>Firmware 3.55, psl1ght and  libgem</title><description>Today i have been working on samples for libgem for psl1ght. &lt;br /&gt;&lt;br /&gt;ps3load with udp debug support shows that it crash on sysProcessExitSpawn2, i tried including npDrmProcessExitSpawn2 from npdrm lib instead on psl1ght but with no success. You can upload self signed elf but it will return to xmb after call sysProcessExitSpawn2 or npDrmProcessExitSpawn2 by now...&lt;br /&gt;&lt;br /&gt;Instead of install stuff from usb, i am uploading EBOOT.BIN in a USRDIR previously installed  on ps3 in a prepared package, it&#39;s quicker than make pkg put on usb and install it on PS3 3.55.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;About libgem it has now:&lt;br /&gt;&lt;br /&gt;- calibrating support, Move get a hue colour and it&#39;s internally calibrated. You point directly to PlayStation Eye press Move button and it&#39;s automatically calibrated passing for all status flags.&lt;br /&gt;- All move buttons(cross, circle, triangle,square, select, start, move and trigger with analog pressure) supported with readGemPad function with internal state like some libpad examples released in the past, it&#39;s good to use it for menu selections or whatever stuff that need it.&lt;br /&gt;- Gyroscope on y and x axis,move xmb control like.  Understand which is y and x and when it&#39;s positive or negative was fun and  moving camera frame using this effect :P.&lt;br /&gt;- debugPrintf function over udp for samples in 3.55 firmware &lt;br /&gt;&lt;br /&gt;more to come...</description><link>http://bigboss-eyetoy.blogspot.com/2011/01/firmware-355-psl1ght-and-libgem.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-6097619323812933779</guid><pubDate>Tue, 07 Dec 2010 22:20:00 +0000</pubDate><atom:updated>2010-12-07T23:40:03.914+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PlayStation Eye</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>PlayStation Move is here...</title><description>Move with psl1ght work in progress , right now tryng to understand GemState variables to make cool things. Device is fully working and calibrating and hue tracking is right.&lt;br /&gt;&lt;br /&gt;PS3Load v0.1&lt;br /&gt;Waiting for connection...&lt;br /&gt;Receiving data... (0x0000979e/0x00051bd0)&lt;br /&gt;Launching...&lt;br /&gt;Loading modules&lt;br /&gt;camera module load return 0&lt;br /&gt;gem module load return 0&lt;br /&gt;Register callback return 0&lt;br /&gt;lv2MemContinerCreate() returned 0&lt;br /&gt;init screen&lt;br /&gt;return from GemGetMemorySize 120000 size in bytes needed for move device to init libgem&lt;br /&gt;lv2MemContinerCreate() for memory usage needed in libgem returned 0&lt;br /&gt;preparing GemAttribute structure with sprus and memory stuff&lt;br /&gt;calling GemInit with GemAttribute structure version=2 max_connect=1 spurs=D000FC20 memory_ptr=3F000004 &lt;br /&gt;return from GemInit 0 &lt;br /&gt;GemPrepareCamera return 0 exposure set to 400 and quality to 0.8&lt;br /&gt;GemReset retunr 0 &lt;br /&gt;init pad &lt;br /&gt;cameraInit() returned 0&lt;br /&gt;Found me an eye, arrr!&lt;br /&gt;cameraOpenEx returned 00000000&lt;br /&gt;Video dimensions: 640x480&lt;br /&gt;Buffer at 30015000&lt;br /&gt;Set readCameraInfoEx data structure needed for Move hue tracking&lt;br /&gt;Preparing GemVideoConvert structure by now i am not going to use it so output_format set to 1&lt;br /&gt;GemPrepareVideoConvert return 0  &lt;br /&gt;GemPrepareCamera return 0 exposure set to 400 and quality to 0.8 before cameraStart&lt;br /&gt;lets go!! look your face in Sony Bravia&lt;br /&gt;GemGetState return 2 &lt;br /&gt;first calibrate device&lt;br /&gt;GemCalibrate return 0&lt;br /&gt;Calibrating is in proccess...&lt;br /&gt;GemGetState return 5 &lt;br /&gt;Second set a hue value to track or let Sony choose for you :P&lt;br /&gt;GemTrackHues return 0&lt;br /&gt;Yeah Move it&#39;s running fine, light on!!!!!&lt;br /&gt;GemGetState return 0&lt;br /&gt;center of the sphere in world coordinates -30.902700 -64.770447 241.581284 1.000000 &lt;br /&gt;sphere velocity 0.000000 0.000000 0.000000 0.000000 mm/s &lt;br /&gt;sphere acceleration   0.000000 0.000000 0.000000 0.000000 mm/s^2 &lt;br /&gt;device orientation in world coordinates 0.084998 0.124090 -0.144880 0.977950 radians/s &lt;br /&gt;device angular velocity in world coordinates 0.000000 0.000000 0.000000 0.000000  radians/s^2&lt;br /&gt;position player&#39;s hand in world coordinates -0.069252 -80.036690 339.186462 1.000000  mm&lt;br /&gt;velocity player&#39;s hand in world coordinates 0.000000 0.000000 0.000000 0.000000 mm/s^&lt;br /&gt;acceleration player&#39;s hand in world coordinates 0.000000 0.000000 0.000000 0.000000 mm/s^2&lt;br /&gt;timestamp  1683306414&lt;br /&gt;sensor temperature  0.000000&lt;br /&gt;camera pitch angle  0.000000&lt;br /&gt;tracking flag 0&lt;br /&gt;before GemEnd &lt;br /&gt;return from GemEnd 0&lt;br /&gt;Exiting for real.&lt;br /&gt;&lt;br /&gt;ugly captures with my old iphone:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdJbQpULE1-bG5IyBfVGiBizzGA5-wiNrEAy05GyBA2y3vniNM4YaUVbz7NasOkah5306CoNfF-g6_U2OxGbILPOtAMs-9K9KFobcdccIrfBYxTLUbC7rBKEwyT5hWjRaJ_ODYR0E_CwbN/s1600/IMG_0170.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdJbQpULE1-bG5IyBfVGiBizzGA5-wiNrEAy05GyBA2y3vniNM4YaUVbz7NasOkah5306CoNfF-g6_U2OxGbILPOtAMs-9K9KFobcdccIrfBYxTLUbC7rBKEwyT5hWjRaJ_ODYR0E_CwbN/s320/IMG_0170.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5548071295789302290&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzj3K4u5uL39m7jdiyMydz3bcvzTbSadSgKLstETIwEWUMXPM1luMT2yG-kNasulOaftJUc45fgP2rEGSZhZHGej4zHPY6tfQ52a84hDWmK3N517YP7Oi35pF0Zdmx4B1NGrdfaxjLlwjy/s1600/IMG_0169.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzj3K4u5uL39m7jdiyMydz3bcvzTbSadSgKLstETIwEWUMXPM1luMT2yG-kNasulOaftJUc45fgP2rEGSZhZHGej4zHPY6tfQ52a84hDWmK3N517YP7Oi35pF0Zdmx4B1NGrdfaxjLlwjy/s320/IMG_0169.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5548071289162331810&quot; /&gt;&lt;/a&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2010/12/playstation-move-is-here.html</link><author>noreply@blogger.com (bigboss)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdJbQpULE1-bG5IyBfVGiBizzGA5-wiNrEAy05GyBA2y3vniNM4YaUVbz7NasOkah5306CoNfF-g6_U2OxGbILPOtAMs-9K9KFobcdccIrfBYxTLUbC7rBKEwyT5hWjRaJ_ODYR0E_CwbN/s72-c/IMG_0170.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-2645510608654738627</guid><pubDate>Sun, 28 Nov 2010 17:37:00 +0000</pubDate><atom:updated>2010-11-28T18:50:03.297+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Eyetoy</category><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>Kinect driver for PlayStation 3</title><description>Well last weekend i bought a Microsoft Kinect device, today i had free time to make things happens...&lt;br /&gt;&lt;br /&gt;First PlayStation 3 only see a NUIMOTOR device. After NUIMOTOR is correctly initialized, NUICAMERA and NUIAUDIO are shown and i can detect and control them, OpenKinect documentation about devices and protocols was very helpfull.&lt;br /&gt;&lt;br /&gt;NUICAMERA has 2 isoc endpoints one for rgb and other for depth. Stuff is similar to my old eyetoy driver isoc frames and then parsing them to get real frames for user process and i believe that i can use my old eyetoy code with this.&lt;br /&gt;&lt;br /&gt;Now i need only TIME to play with the new toy.....&lt;br /&gt;&lt;br /&gt;Output from ugly and unfinished kinect sample driver:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS3Load v0.1&lt;br /&gt;Waiting for connection...&lt;br /&gt;Receiving data... (0x0000cd83/0x0003da11)&lt;br /&gt;Receiving arguments... 0x0000000d&lt;br /&gt;Launching...&lt;br /&gt;Sample Kinect Driver for PlayStation 3 Antonio José Ramos Márquez aka bigboss &lt;br /&gt;Registering kinect driver return 0 &lt;br /&gt;kinect_probe:: dev_id=11&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;Usb device found has idVendor 5e04&lt;br /&gt;New usb device found has NUI_MOTOR idProduct b002&lt;br /&gt;kinect_attach:: dev_id=11&lt;br /&gt;Getting device descriptor&lt;br /&gt;nuimotor_attach:: dev_id=11&lt;br /&gt;Kinect NUI_MOTOR detected&lt;br /&gt;Getting configuration descriptor&lt;br /&gt;Number of interfaces 1&lt;br /&gt;Getting interface descriptor&lt;br /&gt;Verifying number of endpoints&lt;br /&gt;Getting control endpoint descriptor for NUI_MOTOR 0&lt;br /&gt;tryng to open control endpoint  0&lt;br /&gt;nuimotor_control_transfer:: param0=0 param1=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;nuimotor_control_done:: result=0x0 count=0 arg=0&lt;br /&gt;nuimotor_control_transfer:: param0=1 param1=0&lt;br /&gt;Set Interface (bInterfaceNumber=0, bAlternateSetting=0)&lt;br /&gt;nuimotor_control_done:: result=0x50 count=0 arg=1&lt;br /&gt;result=0x50 count=0 arg=1&lt;br /&gt;nuimotor_control_transfer:: param0=2 param1=0&lt;br /&gt;Sending event NUIMOTOR_READY&lt;br /&gt;Received event NUIMOTOR_READY now it&#39;s time to angle and led settings &lt;br /&gt;nuimotor_control_transfer:: param0=3 param1=0&lt;br /&gt;init motor&lt;br /&gt;nuimotor_control_done:: result=0x0 count=1 arg=3&lt;br /&gt;nuimotor_control_transfer:: param0=4 param1=0&lt;br /&gt;set angle &lt;br /&gt;nuimotor_control_done:: result=0x0 count=0 arg=4&lt;br /&gt;nuimotor_control_transfer:: param0=5 param1=0&lt;br /&gt;set led &lt;br /&gt;nuimotor_control_done:: result=0x0 count=0 arg=5&lt;br /&gt;nuimotor_control_transfer:: param0=6 param1=0&lt;br /&gt;motor ready time to camera and audio sending NUIMOTOR_ENABLED&lt;br /&gt;Nuimotor initialized set angle and led to red done tryng to see if other devices are already availables &lt;br /&gt;kinect_probe:: dev_id=12&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;Usb device found has idVendor 5e04&lt;br /&gt;New usb device found has NUI_AUDIO idProduct ad02&lt;br /&gt;kinect_attach:: dev_id=12&lt;br /&gt;Getting device descriptor&lt;br /&gt;nuiaudio_attach:: dev_id=12&lt;br /&gt;Kinect NUI_AUDIO detected&lt;br /&gt;Getting configuration descriptor&lt;br /&gt;Verifying number of endpoints 4&lt;br /&gt;Getting control endpoint descriptor for NUI_AUDIO 1&lt;br /&gt;nuiaudio_control_transfer:: param0=0 param1=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;nuiaudio_control_done:: result=0x0 count=0 arg=0&lt;br /&gt;nuiaudio_control_transfer:: param0=1 param1=0&lt;br /&gt;Set Interface (bInterfaceNumber=0, bAlternateSetting=0)&lt;br /&gt;nuiaudio_control_done:: result=0x50 count=0 arg=1&lt;br /&gt;result=0x50 count=0 arg=1&lt;br /&gt;nuiaudio_control_transfer:: param0=2 param1=0&lt;br /&gt;Sending event NUIAUDIO_READY&lt;br /&gt;Received event NUIAUDIO_READY TODO audio initialization and isoc stuff &lt;br /&gt;kinect_probe:: dev_id=13&lt;br /&gt;USB device probe for kinect getting device descriptor&lt;br /&gt;Usb device found has idVendor 5e04&lt;br /&gt;New usb device found has NUI_CAMERA idProduct ae02&lt;br /&gt;kinect_attach:: dev_id=13&lt;br /&gt;Getting device descriptor&lt;br /&gt;nuicamera_attach:: dev_id=13&lt;br /&gt;Kinect NUI_CAMERA detected&lt;br /&gt;Getting configuration descriptor&lt;br /&gt;Verifying number of endpoints 2 &lt;br /&gt;Getting control endpoint descriptor for NUI_CAMERA 2&lt;br /&gt;nuicamera_control_transfer:: param0=0 param1=1&lt;br /&gt;Set Configuration (bConfigurationValue=1)&lt;br /&gt;nuicamera_control_done:: result=0x0 count=0 arg=0&lt;br /&gt;nuicamera_control_transfer:: param0=1 param1=0&lt;br /&gt;Set Interface (bInterfaceNumber=0, bAlternateSetting=0)&lt;br /&gt;nuicamera_control_done:: result=0x50 count=0 arg=1&lt;br /&gt;result=0x50 count=0 arg=1&lt;br /&gt;nuicamera_control_transfer:: param0=2 param1=0&lt;br /&gt;Sending event NUICAMERA_READY&lt;br /&gt;Received event NUICAMERA_READY TODO camera initialization and isoc stuff &lt;br /&gt;kinect_detach:: dev_id=12&lt;br /&gt;nuiaudio_detach:: dev_id=12&lt;br /&gt;Sending event NUIAUDIO_DETACH&lt;br /&gt;kinect_detach:: dev_id=11&lt;br /&gt;nuimotor_detach:: dev_id=11&lt;br /&gt;Sending event NUIMOTOR_DETACH&lt;br /&gt;kinect_detach:: dev_id=13&lt;br /&gt;nuicamera_detach:: dev_id=13&lt;br /&gt;Sending event NUICAMERA_DETACH&lt;br /&gt;Event received NUIAUDIO_DETACH&lt;br /&gt;Event received NUIMOTOR_DETACH&lt;br /&gt;Event received NUICAMERA_DETACH&lt;br /&gt;time to go to XMB and unregister kinect driver...</description><link>http://bigboss-eyetoy.blogspot.com/2010/11/kinect-driver-for-playstation-3.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-3709321830813715598</guid><pubDate>Sun, 14 Nov 2010 20:08:00 +0000</pubDate><atom:updated>2010-11-14T21:12:13.030+01:00</atom:updated><title>Work in progress :P</title><description>Porting old playstation stuff to PSL1GHT&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/RTGiGxhlWMk?hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/RTGiGxhlWMk?hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;more to come...</description><link>http://bigboss-eyetoy.blogspot.com/2010/11/work-in-progress-p.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-1227196461599337460</guid><pubDate>Thu, 11 Nov 2010 23:31:00 +0000</pubDate><atom:updated>2010-11-12T00:38:45.296+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Eyetoy</category><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PlayStation Eye</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>PSL1GHT with Eye and EyeToy support</title><description>Matthew Parlane(Thank you for your explanation about nfid :P) made the real job, i only add EyeToy support in camera sample.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the other hand, marcan made kinect open source driver (GRANDE marcan!!!!), ummm a port for PSL1GHT? perhaps i need more free time &lt;br /&gt;&lt;br /&gt;you can get my changes at https://github.com/bigboss-ps3dev/PSL1GHT</description><link>http://bigboss-eyetoy.blogspot.com/2010/11/psl1ght-with-eye-and-eyetoy-support.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-8440031147760949840</guid><pubDate>Mon, 08 Nov 2010 09:16:00 +0000</pubDate><atom:updated>2010-11-08T10:20:10.879+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>libcairo, thread and mutex support for PSL1GHT</title><description>This weekend was fun, making cool things with libcairo and thread.&lt;br /&gt;&lt;br /&gt;Now it&#39;s time to usb stack and eyetoy and eye things :)</description><link>http://bigboss-eyetoy.blogspot.com/2010/11/libcairo-thread-and-mutex-support-for.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-1388402387005371673</guid><pubDate>Mon, 01 Nov 2010 17:08:00 +0000</pubDate><atom:updated>2010-11-01T19:47:40.516+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Apple</category><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>Open sdk for Playstation 3 under osx environment</title><description>Cool stuff these days:&lt;br /&gt;&lt;br /&gt;- &lt;a href=&quot;http://marcansoft.com/blog/2010/10/asbestos-running-linux-as-gameos/&quot;&gt;AsbestOS&lt;/a&gt; from my old friend marcan. Full linux come back to PlayStation 3. Great job marcan !!!&lt;br /&gt;&lt;br /&gt;- &lt;a href=&quot;http://github.com/HACKERCHANNEL/PSL1GHT&quot;&gt;PSL1GHT&lt;/a&gt; an open sdk for homebrew development for PlayStation 3.&lt;br /&gt;&lt;br /&gt;Step followed for PSL1GHT under osx snow leopard ( i like to have all playstation (1, 2 and 3) compiling stuff under one environment, instead of playing with  multiples virtual machines for that):&lt;br /&gt;&lt;br /&gt;- Install &lt;a href=&quot;http://www.finkproject.org/download/srcdist.php&quot;&gt;fink&lt;/a&gt; remember to choose 64 bits installation, it is asked when you are installing fink&lt;br /&gt;&lt;br /&gt;- After fink installation install libelf (needed for sprxlinker) and other stuff like wget with  sudo fink install wget libelf &lt;br /&gt;&lt;br /&gt;- create a directory to clone git repositories with:&lt;br /&gt;mkdir -p /usr/local/ps3dev/git&lt;br /&gt;cd git&lt;br /&gt;git clone git://github.com/HACKERCHANNEL/PSL1GHT&lt;br /&gt;git clone git://github.com/HACKERCHANNEL/ps3chain&lt;br /&gt;&lt;br /&gt;- declare environment variables in .profile &lt;br /&gt;PS3DEV=/usr/local/ps3dev;export PS3DEV&lt;br /&gt;PSL1GHT=$PS3DEV/psl1ght;export PSL1GHT&lt;br /&gt;PATH=$PATH:/usr/local/ps2dev/bin:$PS3DEV/bin:$PS3DEV/ppu/bin:$PS3DEV/spu/bin:$PSL1GHT/bin;export PATH&lt;br /&gt;PS3LOAD=tcp:YOURPLAYSTATION3IP;export PS3LOAD&lt;br /&gt;&lt;br /&gt;- open a new shell and go to $PS3SDK/git/ps3chain&lt;br /&gt;&lt;br /&gt;- for ppu build execute  ./buildit.sh ppu&lt;br /&gt;&lt;br /&gt;- for spu i got some problems and i solved it declaring first LDFLAGS=-L/sw/lib -L/usr/lib -lintl and CGLAGS=-I/sw/include -I/usr/include&lt;br /&gt;./buildit.sh spu&lt;br /&gt;&lt;br /&gt;- compiling psl1ght we get some problems with sprxlinker:&lt;br /&gt;linker.c:1:20: error: libelf.h: No such file or directory&lt;br /&gt;&lt;br /&gt;It was  solved changing Makefile file in PSL1GHT/psl1ght/tools/sprxlinker/Makefile&lt;br /&gt;change  line INCLUDE :=  . &lt;br /&gt;by&lt;br /&gt;INCLUDE         := /sw/include/libelf /sw/include&lt;br /&gt;&lt;br /&gt;make&lt;br /&gt;ppu-gcc -Iinclude -c stub/crt0.S -o stub/crt0.o&lt;br /&gt;ppu-gcc -Iinclude -c stub/sprx.S -o stub/sprx.o&lt;br /&gt;ppu-gcc -Iinclude -c stub/crt.c -o stub/crt.o&lt;br /&gt;gcc -O2 -Wall --std=gnu99 raw2h.c -o raw2h&lt;br /&gt;gcc -Wall -Wextra -Os -g -pipe   -c -o main.o main.c&lt;br /&gt;main.c: In function ‘main’:&lt;br /&gt;main.c:278: warning: ‘res’ may be used uninitialized in this function&lt;br /&gt;gcc main.o -Wall -Wextra -Os -g -pipe -lz -o ps3load&lt;br /&gt;gcc -L/sw/lib -lelf -O2 -Wall --std=gnu99 -I/sw/include/libelf -I/sw/include linker.c -o sprxlinker&lt;br /&gt;[CC]  lv2.c&lt;br /&gt;[AR]  libpsl1ght.a&lt;br /&gt;[CC]  errno.c&lt;br /&gt;[CC]  exit.c&lt;br /&gt;[CC]  file.c&lt;br /&gt;[CC]  kill.c&lt;br /&gt;[CC]  pid.c&lt;br /&gt;[CC]  sbrk.c&lt;br /&gt;[CC]  sleep.c&lt;br /&gt;[CC]  socket.c&lt;br /&gt;[AR]  libc-glue-ppu.a&lt;br /&gt;[CC]  stub.S&lt;br /&gt;[CC]  lib.c&lt;br /&gt;[AR]  liblv2.a&lt;br /&gt;[CC]  stub.S&lt;br /&gt;[CC]  lib.c&lt;br /&gt;[AR]  libsysutil.a&lt;br /&gt;[CC]  stub.S&lt;br /&gt;[CC]  lib.c&lt;br /&gt;[AR]  libgcm_sys.a&lt;br /&gt;[CC]  stub.S&lt;br /&gt;[CC]  lib.c&lt;br /&gt;[AR]  libio.a&lt;br /&gt;&lt;br /&gt;then make install&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Environment ready to have a lot of fun :)&lt;br /&gt;&lt;br /&gt;Next step go to samples and compile ps3load , zlib is needed but build.sh included to make zlib.a library must be fixed:&lt;br /&gt;change&lt;br /&gt;CC=&quot;ppu-gcc&quot; CFLAGS=&quot;-g -O2 -Wall&quot; ./configure --static&lt;br /&gt;by&lt;br /&gt;CC=&quot;ppu-gcc&quot; CFLAGS=&quot;-g -O2 -Wall&quot; AR=&quot;ppu-ar&quot; RANLIB=&quot;ppu-ranlib&quot; ./configure --static&lt;br /&gt;then&lt;br /&gt; make&lt;br /&gt;zlib-1.2.5/&lt;br /&gt;zlib-1.2.5/adler32.c&lt;br /&gt;zlib-1.2.5/amiga/&lt;br /&gt;zlib-1.2.5/amiga/Makefile.pup&lt;br /&gt;zlib-1.2.5/amiga/Makefile.sas&lt;br /&gt;zlib-1.2.5/ChangeLog&lt;br /&gt;zlib-1.2.5/CMakeLists.txt&lt;br /&gt;zlib-1.2.5/compress.c&lt;br /&gt;zlib-1.2.5/configure&lt;br /&gt;zlib-1.2.5/contrib/&lt;br /&gt;zlib-1.2.5/contrib/ada/&lt;br /&gt;zlib-1.2.5/contrib/ada/buffer_demo.adb&lt;br /&gt;zlib-1.2.5/contrib/ada/mtest.adb&lt;br /&gt;zlib-1.2.5/contrib/ada/read.adb&lt;br /&gt;zlib-1.2.5/contrib/ada/readme.txt&lt;br /&gt;zlib-1.2.5/contrib/ada/test.adb&lt;br /&gt;zlib-1.2.5/contrib/ada/zlib-streams.adb&lt;br /&gt;zlib-1.2.5/contrib/ada/zlib-streams.ads&lt;br /&gt;zlib-1.2.5/contrib/ada/zlib-thin.adb&lt;br /&gt;zlib-1.2.5/contrib/ada/zlib-thin.ads&lt;br /&gt;zlib-1.2.5/contrib/ada/zlib.adb&lt;br /&gt;zlib-1.2.5/contrib/ada/zlib.ads&lt;br /&gt;zlib-1.2.5/contrib/ada/zlib.gpr&lt;br /&gt;zlib-1.2.5/contrib/amd64/&lt;br /&gt;zlib-1.2.5/contrib/amd64/amd64-match.S&lt;br /&gt;zlib-1.2.5/contrib/asm686/&lt;br /&gt;zlib-1.2.5/contrib/asm686/match.S&lt;br /&gt;zlib-1.2.5/contrib/asm686/README.686&lt;br /&gt;zlib-1.2.5/contrib/blast/&lt;br /&gt;zlib-1.2.5/contrib/blast/blast.c&lt;br /&gt;zlib-1.2.5/contrib/blast/blast.h&lt;br /&gt;zlib-1.2.5/contrib/blast/Makefile&lt;br /&gt;zlib-1.2.5/contrib/blast/README&lt;br /&gt;zlib-1.2.5/contrib/blast/test.pk&lt;br /&gt;zlib-1.2.5/contrib/blast/test.txt&lt;br /&gt;zlib-1.2.5/contrib/delphi/&lt;br /&gt;zlib-1.2.5/contrib/delphi/readme.txt&lt;br /&gt;zlib-1.2.5/contrib/delphi/ZLib.pas&lt;br /&gt;zlib-1.2.5/contrib/delphi/ZLibConst.pas&lt;br /&gt;zlib-1.2.5/contrib/delphi/zlibd32.mak&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/AssemblyInfo.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/ChecksumImpl.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/CircularBuffer.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/CodecBase.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/Deflater.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/DotZLib.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/DotZLib.csproj&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/GZipStream.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/Inflater.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib/UnitTests.cs&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib.build&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib.chm&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/DotZLib.sln&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/LICENSE_1_0.txt&lt;br /&gt;zlib-1.2.5/contrib/dotzlib/readme.txt&lt;br /&gt;zlib-1.2.5/contrib/gcc_gvmat64/&lt;br /&gt;zlib-1.2.5/contrib/gcc_gvmat64/gvmat64.S&lt;br /&gt;zlib-1.2.5/contrib/infback9/&lt;br /&gt;zlib-1.2.5/contrib/infback9/infback9.c&lt;br /&gt;zlib-1.2.5/contrib/infback9/infback9.h&lt;br /&gt;zlib-1.2.5/contrib/infback9/inffix9.h&lt;br /&gt;zlib-1.2.5/contrib/infback9/inflate9.h&lt;br /&gt;zlib-1.2.5/contrib/infback9/inftree9.c&lt;br /&gt;zlib-1.2.5/contrib/infback9/inftree9.h&lt;br /&gt;zlib-1.2.5/contrib/infback9/README&lt;br /&gt;zlib-1.2.5/contrib/inflate86/&lt;br /&gt;zlib-1.2.5/contrib/inflate86/inffas86.c&lt;br /&gt;zlib-1.2.5/contrib/inflate86/inffast.S&lt;br /&gt;zlib-1.2.5/contrib/iostream/&lt;br /&gt;zlib-1.2.5/contrib/iostream/test.cpp&lt;br /&gt;zlib-1.2.5/contrib/iostream/zfstream.cpp&lt;br /&gt;zlib-1.2.5/contrib/iostream/zfstream.h&lt;br /&gt;zlib-1.2.5/contrib/iostream2/&lt;br /&gt;zlib-1.2.5/contrib/iostream2/zstream.h&lt;br /&gt;zlib-1.2.5/contrib/iostream2/zstream_test.cpp&lt;br /&gt;zlib-1.2.5/contrib/iostream3/&lt;br /&gt;zlib-1.2.5/contrib/iostream3/README&lt;br /&gt;zlib-1.2.5/contrib/iostream3/test.cc&lt;br /&gt;zlib-1.2.5/contrib/iostream3/TODO&lt;br /&gt;zlib-1.2.5/contrib/iostream3/zfstream.cc&lt;br /&gt;zlib-1.2.5/contrib/iostream3/zfstream.h&lt;br /&gt;zlib-1.2.5/contrib/masmx64/&lt;br /&gt;zlib-1.2.5/contrib/masmx64/bld_ml64.bat&lt;br /&gt;zlib-1.2.5/contrib/masmx64/gvmat64.asm&lt;br /&gt;zlib-1.2.5/contrib/masmx64/inffas8664.c&lt;br /&gt;zlib-1.2.5/contrib/masmx64/inffasx64.asm&lt;br /&gt;zlib-1.2.5/contrib/masmx64/readme.txt&lt;br /&gt;zlib-1.2.5/contrib/masmx86/&lt;br /&gt;zlib-1.2.5/contrib/masmx86/bld_ml32.bat&lt;br /&gt;zlib-1.2.5/contrib/masmx86/inffas32.asm&lt;br /&gt;zlib-1.2.5/contrib/masmx86/match686.asm&lt;br /&gt;zlib-1.2.5/contrib/masmx86/readme.txt&lt;br /&gt;zlib-1.2.5/contrib/minizip/&lt;br /&gt;zlib-1.2.5/contrib/minizip/crypt.h&lt;br /&gt;zlib-1.2.5/contrib/minizip/ioapi.c&lt;br /&gt;zlib-1.2.5/contrib/minizip/ioapi.h&lt;br /&gt;zlib-1.2.5/contrib/minizip/iowin32.c&lt;br /&gt;zlib-1.2.5/contrib/minizip/iowin32.h&lt;br /&gt;zlib-1.2.5/contrib/minizip/make_vms.com&lt;br /&gt;zlib-1.2.5/contrib/minizip/Makefile&lt;br /&gt;zlib-1.2.5/contrib/minizip/miniunz.c&lt;br /&gt;zlib-1.2.5/contrib/minizip/minizip.c&lt;br /&gt;zlib-1.2.5/contrib/minizip/MiniZip64_Changes.txt&lt;br /&gt;zlib-1.2.5/contrib/minizip/MiniZip64_info.txt&lt;br /&gt;zlib-1.2.5/contrib/minizip/mztools.c&lt;br /&gt;zlib-1.2.5/contrib/minizip/mztools.h&lt;br /&gt;zlib-1.2.5/contrib/minizip/unzip.c&lt;br /&gt;zlib-1.2.5/contrib/minizip/unzip.h&lt;br /&gt;zlib-1.2.5/contrib/minizip/zip.c&lt;br /&gt;zlib-1.2.5/contrib/minizip/zip.h&lt;br /&gt;zlib-1.2.5/contrib/pascal/&lt;br /&gt;zlib-1.2.5/contrib/pascal/example.pas&lt;br /&gt;zlib-1.2.5/contrib/pascal/readme.txt&lt;br /&gt;zlib-1.2.5/contrib/pascal/zlibd32.mak&lt;br /&gt;zlib-1.2.5/contrib/pascal/zlibpas.pas&lt;br /&gt;zlib-1.2.5/contrib/puff/&lt;br /&gt;zlib-1.2.5/contrib/puff/Makefile&lt;br /&gt;zlib-1.2.5/contrib/puff/puff.c&lt;br /&gt;zlib-1.2.5/contrib/puff/puff.h&lt;br /&gt;zlib-1.2.5/contrib/puff/README&lt;br /&gt;zlib-1.2.5/contrib/puff/zeros.raw&lt;br /&gt;zlib-1.2.5/contrib/README.contrib&lt;br /&gt;zlib-1.2.5/contrib/testzlib/&lt;br /&gt;zlib-1.2.5/contrib/testzlib/testzlib.c&lt;br /&gt;zlib-1.2.5/contrib/testzlib/testzlib.txt&lt;br /&gt;zlib-1.2.5/contrib/untgz/&lt;br /&gt;zlib-1.2.5/contrib/untgz/Makefile&lt;br /&gt;zlib-1.2.5/contrib/untgz/Makefile.msc&lt;br /&gt;zlib-1.2.5/contrib/untgz/untgz.c&lt;br /&gt;zlib-1.2.5/contrib/vstudio/&lt;br /&gt;zlib-1.2.5/contrib/vstudio/readme.txt&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/miniunz.vcxproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/miniunz.vcxproj.filters&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/miniunz.vcxproj.user&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/minizip.vcxproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/minizip.vcxproj.filters&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/minizip.vcxproj.user&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/testzlib.vcxproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/testzlib.vcxproj.filters&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/testzlib.vcxproj.user&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/testzlibdll.vcxproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/testzlibdll.vcxproj.filters&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/testzlibdll.vcxproj.user&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlib.rc&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibstat.vcxproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibstat.vcxproj.filters&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibstat.vcxproj.user&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibvc.def&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibvc.sln&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibvc.vcxproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibvc.vcxproj.filters&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc10/zlibvc.vcxproj.user&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/miniunz.vcproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/minizip.vcproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/testzlib.vcproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/testzlibdll.vcproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/zlib.rc&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/zlibstat.vcproj&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/zlibvc.def&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/zlibvc.sln&lt;br /&gt;zlib-1.2.5/contrib/vstudio/vc9/zlibvc.vcproj&lt;br /&gt;zlib-1.2.5/crc32.c&lt;br /&gt;zlib-1.2.5/crc32.h&lt;br /&gt;zlib-1.2.5/deflate.c&lt;br /&gt;zlib-1.2.5/deflate.h&lt;br /&gt;zlib-1.2.5/doc/&lt;br /&gt;zlib-1.2.5/doc/algorithm.txt&lt;br /&gt;zlib-1.2.5/doc/rfc1950.txt&lt;br /&gt;zlib-1.2.5/doc/rfc1951.txt&lt;br /&gt;zlib-1.2.5/doc/rfc1952.txt&lt;br /&gt;zlib-1.2.5/doc/txtvsbin.txt&lt;br /&gt;zlib-1.2.5/example.c&lt;br /&gt;zlib-1.2.5/examples/&lt;br /&gt;zlib-1.2.5/examples/enough.c&lt;br /&gt;zlib-1.2.5/examples/fitblk.c&lt;br /&gt;zlib-1.2.5/examples/gun.c&lt;br /&gt;zlib-1.2.5/examples/gzappend.c&lt;br /&gt;zlib-1.2.5/examples/gzjoin.c&lt;br /&gt;zlib-1.2.5/examples/gzlog.c&lt;br /&gt;zlib-1.2.5/examples/gzlog.h&lt;br /&gt;zlib-1.2.5/examples/README.examples&lt;br /&gt;zlib-1.2.5/examples/zlib_how.html&lt;br /&gt;zlib-1.2.5/examples/zpipe.c&lt;br /&gt;zlib-1.2.5/examples/zran.c&lt;br /&gt;zlib-1.2.5/FAQ&lt;br /&gt;zlib-1.2.5/gzclose.c&lt;br /&gt;zlib-1.2.5/gzguts.h&lt;br /&gt;zlib-1.2.5/gzlib.c&lt;br /&gt;zlib-1.2.5/gzread.c&lt;br /&gt;zlib-1.2.5/gzwrite.c&lt;br /&gt;zlib-1.2.5/INDEX&lt;br /&gt;zlib-1.2.5/infback.c&lt;br /&gt;zlib-1.2.5/inffast.c&lt;br /&gt;zlib-1.2.5/inffast.h&lt;br /&gt;zlib-1.2.5/inffixed.h&lt;br /&gt;zlib-1.2.5/inflate.c&lt;br /&gt;zlib-1.2.5/inflate.h&lt;br /&gt;zlib-1.2.5/inftrees.c&lt;br /&gt;zlib-1.2.5/inftrees.h&lt;br /&gt;zlib-1.2.5/make_vms.com&lt;br /&gt;zlib-1.2.5/Makefile&lt;br /&gt;zlib-1.2.5/Makefile.in&lt;br /&gt;zlib-1.2.5/minigzip.c&lt;br /&gt;zlib-1.2.5/msdos/&lt;br /&gt;zlib-1.2.5/msdos/Makefile.bor&lt;br /&gt;zlib-1.2.5/msdos/Makefile.dj2&lt;br /&gt;zlib-1.2.5/msdos/Makefile.emx&lt;br /&gt;zlib-1.2.5/msdos/Makefile.msc&lt;br /&gt;zlib-1.2.5/msdos/Makefile.tc&lt;br /&gt;zlib-1.2.5/nintendods/&lt;br /&gt;zlib-1.2.5/nintendods/Makefile&lt;br /&gt;zlib-1.2.5/nintendods/README&lt;br /&gt;zlib-1.2.5/old/&lt;br /&gt;zlib-1.2.5/old/as400/&lt;br /&gt;zlib-1.2.5/old/as400/bndsrc&lt;br /&gt;zlib-1.2.5/old/as400/compile.clp&lt;br /&gt;zlib-1.2.5/old/as400/readme.txt&lt;br /&gt;zlib-1.2.5/old/as400/zlib.inc&lt;br /&gt;zlib-1.2.5/old/descrip.mms&lt;br /&gt;zlib-1.2.5/old/Makefile.riscos&lt;br /&gt;zlib-1.2.5/old/os2/&lt;br /&gt;zlib-1.2.5/old/os2/Makefile.os2&lt;br /&gt;zlib-1.2.5/old/os2/zlib.def&lt;br /&gt;zlib-1.2.5/old/README&lt;br /&gt;zlib-1.2.5/old/visual-basic.txt&lt;br /&gt;zlib-1.2.5/old/visualc6/&lt;br /&gt;zlib-1.2.5/old/visualc6/example.dsp&lt;br /&gt;zlib-1.2.5/old/visualc6/minigzip.dsp&lt;br /&gt;zlib-1.2.5/old/visualc6/README.txt&lt;br /&gt;zlib-1.2.5/old/visualc6/zlib.dsp&lt;br /&gt;zlib-1.2.5/old/visualc6/zlib.dsw&lt;br /&gt;zlib-1.2.5/qnx/&lt;br /&gt;zlib-1.2.5/qnx/package.qpg&lt;br /&gt;zlib-1.2.5/README&lt;br /&gt;zlib-1.2.5/treebuild.xml&lt;br /&gt;zlib-1.2.5/trees.c&lt;br /&gt;zlib-1.2.5/trees.h&lt;br /&gt;zlib-1.2.5/uncompr.c&lt;br /&gt;zlib-1.2.5/watcom/&lt;br /&gt;zlib-1.2.5/watcom/watcom_f.mak&lt;br /&gt;zlib-1.2.5/watcom/watcom_l.mak&lt;br /&gt;zlib-1.2.5/win32/&lt;br /&gt;zlib-1.2.5/win32/DLL_FAQ.txt&lt;br /&gt;zlib-1.2.5/win32/Makefile.bor&lt;br /&gt;zlib-1.2.5/win32/Makefile.emx&lt;br /&gt;zlib-1.2.5/win32/Makefile.gcc&lt;br /&gt;zlib-1.2.5/win32/Makefile.msc&lt;br /&gt;zlib-1.2.5/win32/README-WIN32.txt&lt;br /&gt;zlib-1.2.5/win32/VisualC.txt&lt;br /&gt;zlib-1.2.5/win32/zlib.def&lt;br /&gt;zlib-1.2.5/win32/zlib1.rc&lt;br /&gt;zlib-1.2.5/zconf.h&lt;br /&gt;zlib-1.2.5/zconf.h.cmakein&lt;br /&gt;zlib-1.2.5/zconf.h.in&lt;br /&gt;zlib-1.2.5/zlib.3&lt;br /&gt;zlib-1.2.5/zlib.3.pdf&lt;br /&gt;zlib-1.2.5/zlib.h&lt;br /&gt;zlib-1.2.5/zlib.map&lt;br /&gt;zlib-1.2.5/zlib.pc.in&lt;br /&gt;zlib-1.2.5/zlib2ansi&lt;br /&gt;zlib-1.2.5/zutil.c&lt;br /&gt;zlib-1.2.5/zutil.h&lt;br /&gt;~/Desktop/ps3dev/git/PSL1GHT/samples/ps3load/zlib/zlib-1.2.5 ~/Desktop/ps3dev/git/PSL1GHT/samples/ps3load/zlib&lt;br /&gt;Building static library libz.a version 1.2.5 with ppu-gcc.&lt;br /&gt;Checking for off64_t... No.&lt;br /&gt;Checking for fseeko... Yes.&lt;br /&gt;Checking for unistd.h... Yes.&lt;br /&gt;Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().&lt;br /&gt;Checking for vsnprintf() in stdio.h... Yes.&lt;br /&gt;Checking for return value of vsnprintf()... Yes.&lt;br /&gt;Checking for attribute(visibility) support... Yes.&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o example.o example.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o adler32.o adler32.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o compress.o compress.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o crc32.o crc32.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o deflate.o deflate.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o gzclose.o gzclose.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o gzlib.o gzlib.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o gzread.o gzread.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o gzwrite.o gzwrite.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o infback.o infback.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o inffast.o inffast.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o inflate.o inflate.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o inftrees.o inftrees.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o trees.o trees.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o uncompr.o uncompr.c&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o zutil.o zutil.c&lt;br /&gt;ppu-ar rc libz.a adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o &lt;br /&gt;ppu-gcc -g -O2 -Wall -o example example.o -L. libz.a&lt;br /&gt;ppu-gcc -g -O2 -Wall   -c -o minigzip.o minigzip.c&lt;br /&gt;ppu-gcc -g -O2 -Wall -o minigzip minigzip.o -L. libz.a&lt;br /&gt;~/Desktop/ps3dev/git/PSL1GHT/samples/ps3load/zlib&lt;br /&gt;[CC]  main.c&lt;br /&gt;[LD]  ps3load.elf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;make pkg&lt;br /&gt;make[1]: Nothing to be done for `all&#39;.&lt;br /&gt;make[1]: `/usr/local/ps3dev/git/PSL1GHT/samples/ps3load/ps3load.self&#39; is up to date.&lt;br /&gt;Creating PKG...&lt;br /&gt;[X] Magic: 7f504b47&lt;br /&gt;[X] Type: 00000001&lt;br /&gt;[X] Offset to package info: 000000c0&lt;br /&gt;[ ] unk1: 00000005&lt;br /&gt;[X] Head Size: 00000080&lt;br /&gt;[X] Item Count: 00000004&lt;br /&gt;[X] Package Size: 0000000000057370&lt;br /&gt;[X] Data Offset: 0000000000000140&lt;br /&gt;[X] Data Size: 00000000000571d0&lt;br /&gt;[X] ContentID: &#39;UP0001-PSL145310_00-0000000000000000&#39;&lt;br /&gt;[X] QA_Digest: 1881D6153B18C66AC23B3219FF03C6E&lt;br /&gt;[X] K Licensee: 00000000000000000000000000000000&lt;br /&gt;&lt;br /&gt;- Intall ps3load.pkg in your PlayStation 3&lt;br /&gt;- Run it&lt;br /&gt;- To test compile echoserv and run from your mac &lt;br /&gt; ps3load echoserv.self &lt;br /&gt;ps3load v0.5&lt;br /&gt;coded by dhewg, #wiidev efnet&lt;br /&gt;&lt;br /&gt;compressing 339640 bytes... 11.65%&lt;br /&gt;connecting to myplaystationip:4299&lt;br /&gt;sending upload request&lt;br /&gt;sending file size (39567 bytes)&lt;br /&gt;sending data&lt;br /&gt;sending arguments (15 bytes)&lt;br /&gt;done.&lt;br /&gt;&lt;br /&gt;- Test from your mac &lt;br /&gt;telnet myplaystationip 2002&lt;br /&gt;Trying myplaystatioip...&lt;br /&gt;Connected to myplaystationip.&lt;br /&gt;Escape character is &#39;^]&#39;.&lt;br /&gt;Welcome to ECHOServer test.&lt;br /&gt;Type exit and hit enter to close app, otherwise type anything you want and hit enter and I will replay it back to you free of charge. :)hola &lt;br /&gt;hola &lt;br /&gt;Connection closed by foreign host.&lt;br /&gt;&lt;br /&gt;Cool !!!&lt;br /&gt;- To finish echoserver&lt;br /&gt; telnet myplaystationip 2002&lt;br /&gt;Trying myplaystationip...&lt;br /&gt;Connected to myplaystationip.&lt;br /&gt;Escape character is &#39;^]&#39;.&lt;br /&gt;Welcome to ECHOServer test.&lt;br /&gt;Type exit and hit enter to close app, otherwise type anything you want and hit enter and I will replay it back to you free of charge. :)exit&lt;br /&gt;exit&lt;br /&gt;Connection closed by foreign host.&lt;br /&gt;&lt;br /&gt;And your PlayStation go back to xmb &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nice tools, time to code...</description><link>http://bigboss-eyetoy.blogspot.com/2010/11/open-sdk-for-playstation-3-under-osx.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>18</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-2235222753256971944</guid><pubDate>Sun, 26 Sep 2010 19:33:00 +0000</pubDate><atom:updated>2010-09-26T21:46:20.958+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS3</category><title>PS3 development diary - First Day</title><description>Well, i had received an usb sample to play and to develop in ps3 lv2 gameos&lt;br /&gt;&lt;br /&gt;First i have been reading documentation about the platforms and after some test , i have already the code base includig remote host log debug to begin to port new homebrew apps to ps3 .&lt;br /&gt;&lt;br /&gt;Time to port old stuff :)&lt;br /&gt;&lt;br /&gt;Internal code name PE  &lt;br /&gt;&lt;br /&gt;More to come...</description><link>http://bigboss-eyetoy.blogspot.com/2010/09/ps3-development-diary-first-day.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-4933860422127315792</guid><pubDate>Tue, 08 Dec 2009 17:38:00 +0000</pubDate><atom:updated>2009-12-08T18:49:22.527+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Eyetoy</category><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PlayStation Eye</category><category domain="http://www.blogger.com/atom/ns#">PS2</category><title>EyePet tracking with EyeToy and PlayStation2</title><description>I bought EyePet last weekend. I have been playing with EyePet magic card and my own tracking code for PlayStation 2.&lt;br /&gt;&lt;br /&gt;These are the result:&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/E3yOhBCFTcA&amp;hl=es&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/E3yOhBCFTcA&amp;hl=es&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Next to come, mark detection and augmented reality stuff :P.</description><link>http://bigboss-eyetoy.blogspot.com/2009/12/eyepet-tracking-with-eyetoy-and.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-3333641502254475300</guid><pubDate>Sun, 08 Nov 2009 20:55:00 +0000</pubDate><atom:updated>2009-11-08T22:32:42.730+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS2</category><title>Bluetooth stack for PlayStation 2</title><description>Well, last month i was very busy at work, and without free time to dedicate to ps2 development.&lt;br /&gt;&lt;br /&gt;Yesterday i found and old usb bluetooth dongle on my desk, and i have been reading old stuff about bluetooth in my archives. So next steps will be:&lt;br /&gt;&lt;br /&gt;1) Usb driver for usb bluetooh dongle, it must be usb 1.1 compliant. Yesterday i had ready a little module and i have already identified bulk, intr and isoc endpoint following Specification of the Bluetooth System Wireless connections made easy Host Controller Interface [Transport Layer] documentation so the basic to speak with dongle is done :)&lt;br /&gt;&lt;br /&gt;2) I need a bluetooth stack , i have a reference of bluez port for PlayStation 2 Linux in &lt;a href=&quot;http://playstation2-linux.com/projects/btap/&quot;&gt;PlayStation 2 Linux Forum&lt;/a&gt; but making a port in native mode could be difficult, too much linux dependencies and i have not too much free time. Also i have seen some stuff for nintedo wiimote on libogc based on lwbt. So after some research i have 2 options:&lt;br /&gt;&lt;br /&gt;a) Port lwbt , i believe that Herben is porting last lwip(1.3.1) and he has a new project to enable different communication methods for PlayStation consoles (&lt;a href=&quot;http://forums.ps2dev.org/viewtopic.php?t=12574&quot;&gt;ps2dev forum&lt;/a&gt;) , so an option would be lwbt plus making an usb transport layer for lwbt.&lt;br /&gt;&lt;br /&gt;b) Make an userland bluetooth stack on IOP. For this i have many information to do it and also some sample code for opensolaris that i can port to PlayStation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I believe by now i will try option b, to get PlayStation 2 speaks with bluetooth devices. &lt;br /&gt;&lt;br /&gt;So let&#39;s code :)  a new challenge to forget  Oracle Identity Management  crap for a while</description><link>http://bigboss-eyetoy.blogspot.com/2009/11/bluetooth-stack-for-playstation-2.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6015218784178713238.post-3535602414709962036</guid><pubDate>Sat, 05 Sep 2009 19:53:00 +0000</pubDate><atom:updated>2009-09-05T22:10:27.691+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Eyetoy</category><category domain="http://www.blogger.com/atom/ns#">homebrew</category><category domain="http://www.blogger.com/atom/ns#">PS2</category><title>Tracking balls</title><description>I have uploaded a little video showing a tracking ball demo using:&lt;br /&gt;- eyetoy driver&lt;br /&gt;- libeye&lt;br /&gt;- libipu&lt;br /&gt;- libgsclassic&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/ENdbynfw84k&amp;hl=en&amp;fs=1&amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/ENdbynfw84k&amp;hl=en&amp;fs=1&amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;A pdf with some history about the driver is available here&lt;br /&gt;&lt;a title=&quot;View bigboss_eyetoy on Scribd&quot; href=&quot;http://www.scribd.com/doc/19456549/bigbosseyetoy&quot; style=&quot;margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;&quot;&gt;bigboss_eyetoy&lt;/a&gt; &lt;object codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0&quot; id=&quot;doc_834224904890738&quot; name=&quot;doc_834224904890738&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; align=&quot;middle&quot; height=&quot;500&quot; width=&quot;100%&quot; &gt;  &lt;param name=&quot;movie&quot; value=&quot;http://d1.scribdassets.com/ScribdViewer.swf?document_id=19456549&amp;access_key=key-ywrvbfsxr0tueme1e89&amp;page=1&amp;version=1&amp;viewMode=&quot;&gt;   &lt;param name=&quot;quality&quot; value=&quot;high&quot;&gt;   &lt;param name=&quot;play&quot; value=&quot;true&quot;&gt;  &lt;param name=&quot;loop&quot; value=&quot;true&quot;&gt;   &lt;param name=&quot;scale&quot; value=&quot;showall&quot;&gt;  &lt;param name=&quot;wmode&quot; value=&quot;opaque&quot;&gt;   &lt;param name=&quot;devicefont&quot; value=&quot;false&quot;&gt;  &lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot;&gt;   &lt;param name=&quot;menu&quot; value=&quot;true&quot;&gt;  &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;   &lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;   &lt;param name=&quot;salign&quot; value=&quot;&quot;&gt;        &lt;embed src=&quot;http://d1.scribdassets.com/ScribdViewer.swf?document_id=19456549&amp;access_key=key-ywrvbfsxr0tueme1e89&amp;page=1&amp;version=1&amp;viewMode=&quot; quality=&quot;high&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; play=&quot;true&quot; loop=&quot;true&quot; scale=&quot;showall&quot; wmode=&quot;opaque&quot; devicefont=&quot;false&quot; bgcolor=&quot;#ffffff&quot; name=&quot;doc_834224904890738_object&quot; menu=&quot;true&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; salign=&quot;&quot; type=&quot;application/x-shockwave-flash&quot; align=&quot;middle&quot;  height=&quot;500&quot; width=&quot;100%&quot;&gt;&lt;/embed&gt; &lt;/object&gt;</description><link>http://bigboss-eyetoy.blogspot.com/2009/09/tracking-balls.html</link><author>noreply@blogger.com (bigboss)</author><thr:total>0</thr:total></item></channel></rss>