<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Playstation controller protocol quirks</title>
	<atom:link href="http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/</link>
	<description>たとえ溺れても梦はゆめでしかない</description>
	<lastBuildDate>Tue, 07 Sep 2010 18:22:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: mojo</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-6647</link>
		<dc:creator>mojo</dc:creator>
		<pubDate>Tue, 22 Jun 2010 17:23:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-6647</guid>
		<description>I had a resistor fail when working on a clock with I2C interface. Took me a while to find it as it is not a very common fault. I now have an oscilloscope which makes that sort of thing a lot easier.</description>
		<content:encoded><![CDATA[<p>I had a resistor fail when working on a clock with I2C interface. Took me a while to find it as it is not a very common fault. I now have an oscilloscope which makes that sort of thing a lot easier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RandomInsano</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-6642</link>
		<dc:creator>RandomInsano</dc:creator>
		<pubDate>Tue, 22 Jun 2010 04:08:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-6642</guid>
		<description>A final update on this since the project is long past me, it was in fact a faulty pull-up. It outright died during my presentation, but once I threw a spare 10K resistor to +5 everything was exceedingly happy.

That was a hairy presentation :D</description>
		<content:encoded><![CDATA[<p>A final update on this since the project is long past me, it was in fact a faulty pull-up. It outright died during my presentation, but once I threw a spare 10K resistor to +5 everything was exceedingly happy.</p>
<p>That was a hairy presentation :D</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mojo</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-4888</link>
		<dc:creator>mojo</dc:creator>
		<pubDate>Wed, 03 Mar 2010 13:51:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-4888</guid>
		<description>Keep in mind that the PS1 used 125KHz. The PS2 doubled it to 250KHz, but will fall back to 125KHz if the peripheral does not identify itself as being a PS2 one.</description>
		<content:encoded><![CDATA[<p>Keep in mind that the PS1 used 125KHz. The PS2 doubled it to 250KHz, but will fall back to 125KHz if the peripheral does not identify itself as being a PS2 one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RandomInsano</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-4865</link>
		<dc:creator>RandomInsano</dc:creator>
		<pubDate>Tue, 02 Mar 2010 02:24:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-4865</guid>
		<description>It&#039;s for a computer science final project. I&#039;ve just soldered jumper wires from a junked PlayStation controller port to an Atmel STK500 dev board. I don&#039;t need to do better, but I&#039;m curious about how to fix it.

Since this board is a lender from campus, all sorts of things could be wrong with it. I&#039;ve got an Arduino with the ATMEGA328 on it I might fiddle with once this project is behind me.

The reason I dialed back the clock rate was because I noticed that at higher clock speeds (&lt;250KHz PS1 rate), I get jitter on my output LEDs, whereas if I use a lower clock they hold at solid brightness for each button output. Odd I know, but it works.

I&#039;m using the stock 1MHz clock since I need a 1MHz oscillator for the Commodore SID chip I&#039;ll be using. Unless there&#039;s a clock divider for the output, but that&#039;s getting off topic.

I&#039;ll invest much more effort when I continue doing this stuff in my spare time, but considering how green I am with MCUs, I&#039;m very happy with my results even if a bit slow.</description>
		<content:encoded><![CDATA[<p>It&#8217;s for a computer science final project. I&#8217;ve just soldered jumper wires from a junked PlayStation controller port to an Atmel STK500 dev board. I don&#8217;t need to do better, but I&#8217;m curious about how to fix it.</p>
<p>Since this board is a lender from campus, all sorts of things could be wrong with it. I&#8217;ve got an Arduino with the ATMEGA328 on it I might fiddle with once this project is behind me.</p>
<p>The reason I dialed back the clock rate was because I noticed that at higher clock speeds (&lt;250KHz PS1 rate), I get jitter on my output LEDs, whereas if I use a lower clock they hold at solid brightness for each button output. Odd I know, but it works.</p>
<p>I&#039;m using the stock 1MHz clock since I need a 1MHz oscillator for the Commodore SID chip I&#039;ll be using. Unless there&#039;s a clock divider for the output, but that&#039;s getting off topic.</p>
<p>I&#039;ll invest much more effort when I continue doing this stuff in my spare time, but considering how green I am with MCUs, I&#039;m very happy with my results even if a bit slow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mojo</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-4856</link>
		<dc:creator>mojo</dc:creator>
		<pubDate>Mon, 01 Mar 2010 14:48:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-4856</guid>
		<description>You should be able to get orders of magnitude faster than that. Could be an issue with the hardware side of things.

I had a strange issue with I2C where it only seemed to work at extremely low speeds, and even then not reliably. It turned out to be a failed pull-up resistor on one of the lines. I have never had a resistor fail in a non-obvious way before (i.e. smoke).

For SPI... Capacitance issue maybe? Are you using breadboard? How about the other device, could it be misconfigured or something? SPI should do 10MHz without problems, faster with a bit of effort.</description>
		<content:encoded><![CDATA[<p>You should be able to get orders of magnitude faster than that. Could be an issue with the hardware side of things.</p>
<p>I had a strange issue with I2C where it only seemed to work at extremely low speeds, and even then not reliably. It turned out to be a failed pull-up resistor on one of the lines. I have never had a resistor fail in a non-obvious way before (i.e. smoke).</p>
<p>For SPI&#8230; Capacitance issue maybe? Are you using breadboard? How about the other device, could it be misconfigured or something? SPI should do 10MHz without problems, faster with a bit of effort.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RandomInsano</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-4855</link>
		<dc:creator>RandomInsano</dc:creator>
		<pubDate>Mon, 01 Mar 2010 14:04:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-4855</guid>
		<description>Unfortunately I don&#039;t have an analyzer, but I did manage to find out what my problem was. I didn&#039;t realize I was sending MSB instead of LSB. My init code looks like this:

	DDRB  &#124;= (1 &lt;&lt;  PB4) &#124; (1 &lt;&lt;  PB5) &#124; (1 &lt;&lt; PB7);	// Set SPI out, clock and slave select for output
	SPCR   = (1 &lt;&lt;  SPE) &#124; (1 &lt;&lt; MSTR);					// Enable SPI, set to master
	SPCR  &#124;= (1 &lt;&lt; CPOL) &#124; (1 &lt;&lt; CPHA);					// Set on fall, sample on rising
	SPCR  &#124;= (1 &lt;&lt; DORD);								// LSB first

	SPCR  &#124;= (1 &lt;&lt;  SPR1);								// SPI clock: 62500 Hz. Best stable speed in practice.

I&#039;m literally just throwing byes at the SPI bus without pauses, so I didn&#039;t get stable data until I went to very low speeds. I think I can take the performance hit in my application.</description>
		<content:encoded><![CDATA[<p>Unfortunately I don&#8217;t have an analyzer, but I did manage to find out what my problem was. I didn&#8217;t realize I was sending MSB instead of LSB. My init code looks like this:</p>
<p>	DDRB  |= (1 &lt;&lt;  PB4) | (1 &lt;&lt;  PB5) | (1 &lt;&lt; PB7);	// Set SPI out, clock and slave select for output<br />
	SPCR   = (1 &lt;&lt;  SPE) | (1 &lt;&lt; MSTR);					// Enable SPI, set to master<br />
	SPCR  |= (1 &lt;&lt; CPOL) | (1 &lt;&lt; CPHA);					// Set on fall, sample on rising<br />
	SPCR  |= (1 &lt;&lt; DORD);								// LSB first</p>
<p>	SPCR  |= (1 &lt;&lt;  SPR1);								// SPI clock: 62500 Hz. Best stable speed in practice.</p>
<p>I&#039;m literally just throwing byes at the SPI bus without pauses, so I didn&#039;t get stable data until I went to very low speeds. I think I can take the performance hit in my application.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mojo</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-4838</link>
		<dc:creator>mojo</dc:creator>
		<pubDate>Sun, 28 Feb 2010 12:45:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-4838</guid>
		<description>Getting the AVR&#039;s hardware SPI interface working should not be difficult. It will be a lot easier to debug if you have a logic analyser.</description>
		<content:encoded><![CDATA[<p>Getting the AVR&#8217;s hardware SPI interface working should not be difficult. It will be a lot easier to debug if you have a logic analyser.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RandomInsano</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-4832</link>
		<dc:creator>RandomInsano</dc:creator>
		<pubDate>Sun, 28 Feb 2010 04:45:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-4832</guid>
		<description>Bleh. I&#039;m having trouble with the stupid SPI thing using an Atmel chip. I can do the data transfer by manually adjusting lines and and sampling, but I have yet to figure out what combination of register settings will make the SPI interface work.

Any tips?</description>
		<content:encoded><![CDATA[<p>Bleh. I&#8217;m having trouble with the stupid SPI thing using an Atmel chip. I can do the data transfer by manually adjusting lines and and sampling, but I have yet to figure out what combination of register settings will make the SPI interface work.</p>
<p>Any tips?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bencao74</title>
		<link>http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/comment-page-1/#comment-4736</link>
		<dc:creator>Bencao74</dc:creator>
		<pubDate>Mon, 22 Feb 2010 08:18:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.world3.net/2010/02/playstation-controller-protocol-quirks/#comment-4736</guid>
		<description>Great Finding! Keep on such a good work!

Jochen</description>
		<content:encoded><![CDATA[<p>Great Finding! Keep on such a good work!</p>
<p>Jochen</p>
]]></content:encoded>
	</item>
</channel>
</rss>
