<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lukasz.dk</title>
	<atom:link href="http://lukasz.dk/feed/" rel="self" type="application/rss+xml" />
	<link>http://lukasz.dk</link>
	<description>Personal homepage of Lukasz Bruun</description>
	<lastBuildDate>Fri, 08 Jan 2010 23:17:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ubuntu 8.10 and ATI Dual Head</title>
		<link>http://lukasz.dk/2009/03/17/ubuntu-810-and-ati-dual-head/</link>
		<comments>http://lukasz.dk/2009/03/17/ubuntu-810-and-ati-dual-head/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 20:46:29 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://lukasz.dk/?p=331</guid>
		<description><![CDATA[Yesterday I was trying to a get dual monitor configuration / virtual desktop (VGA and DVI)  working  in GNOME (Ubuntu 8.10) on my ATI Radeon HD 2400 XT graphics card with a 1920&#215;1200 DVI screen and 1600&#215;1200 VGA screen connected, using the proprietary FGLRX ATI driver from the Ubuntu repositories. I tried various resources [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I was trying to a get dual monitor configuration / virtual desktop (VGA and DVI)  working  in <a href="http://www.gnome.org/">GNOME</a> (Ubuntu 8.10) on my ATI Radeon HD 2400 XT graphics card with a 1920&#215;1200 DVI screen and 1600&#215;1200 VGA screen connected, using the proprietary <a href="http://en.wikipedia.org/wiki/Fglrx">FGLRX ATI driver</a> from the Ubuntu repositories. I tried various resources on the net to make it work, including the  <a href="http://ubuntuforums.org/showthread.php?t=301941">ATI Big-Desktop thread</a> at the Ubuntu Forums.</p>
<p>I was unsuccessful in getting dualhead working using only the commandline aticonfig tool, so after a bit (actually alot :) of experimenting I was able to get working with using a combination of aticonfig and the Catalyst Control Center (amdcccle) tool.</p>
<p>First thing I did was create an initial xorg.conf configuration file using the command below in shell, which sets up a basic dualhead configuration which can be altered using aticonfig and the Catalyst Control Center.</p>
<blockquote><p>sudo aticonfig &#8211;initial=dual-head &#8211;overlay-type=Xv</p></blockquote>
<p>I then rebooted (I was not always able to reload the driver by just restarting X). I then started the Catalyst Control Center by typing the following in a shell</p>
<blockquote><p>sudo amdcccle</p></blockquote>
<p>Its important to use sudo or else you wont be able to change the configuration. In the &#8220;Display Manager&#8221; section it is possible to setup the multi-display and specify how the screens are arranged. After you set this, reboot once again.</p>
<p style="text-align: center;"><a href="http://lukasz.dk/files/catalyst-control-center.png"><img class="size-medium wp-image-338 aligncenter" title="catalyst-control-center" src="http://lukasz.dk/files/catalyst-control-center-300x244.png" alt="catalyst-control-center" width="300" height="244" /></a></p>
<p>What should happen now is that when you restart you get the same image on both screens (mirrored/cloned). You now need to enter the GNOME Screen Resolution configuration application (which in the default Ubuntu GNOME  setup is located under System &#8211; Preferences). Here you should now be able to change the size of the desktop so that it uses the entire screenspace on both screens.</p>
<p style="text-align: center;"><a href="http://lukasz.dk/files/gnome-screen-resolution.png"><img class="size-medium wp-image-335 aligncenter" title="gnome-screen-resolution" src="http://lukasz.dk/files/gnome-screen-resolution-299x300.png" alt="gnome-screen-resolution" width="299" height="300" /></a></p>
<p style="text-align: left;">One thing to note is that I also tried the very latest (9.2) ATI FGLRX driver, using this driver I actually got 2 screens in the GNOME Screen Resolution application. They were positioned on top of each other (Mirror Screens was checked), which was  hard to see (and figure out). But you can actually click on the screens and then drag and arrange them so that they match you physical screen configuration. So you may want to try the latest driver if the one in the Ubuntu repositories does not work for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2009/03/17/ubuntu-810-and-ati-dual-head/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>lzrt &#8211; Lukasz&#8217; Ray Tracer</title>
		<link>http://lukasz.dk/2009/01/28/lzrt-lukasz-ray-tracer/</link>
		<comments>http://lukasz.dk/2009/01/28/lzrt-lukasz-ray-tracer/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 10:58:18 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[Cell]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lukasz.dk/?p=305</guid>
		<description><![CDATA[As part of my master thesis in computer science I developed a ray tracing application called lzrt &#8211; Lukasz&#8217; Ray Tracer for the Cell processor. Besides from running on the Cell processor, lzrt also runs on x86 and PowerPC. I&#8217;m releasing the source code, test scenes and other information regarding lzrt for those interested in [...]]]></description>
			<content:encoded><![CDATA[<p>As part of my master thesis in computer science I developed a <a href="http://en.wikipedia.org/wiki/Ray_tracing_(graphics)">ray tracing</a> application called lzrt &#8211; Lukasz&#8217; Ray Tracer for the <a href="http://en.wikipedia.org/wiki/Cell_(microprocessor)">Cell processor</a>. Besides from running on the Cell processor, lzrt also runs on x86 and PowerPC. I&#8217;m releasing the source code, test scenes and other information regarding lzrt for those interested in the technical details. The ray tracer does not have any advanced graphical features, as my focus was on optimizing the search for the nearest triangle a ray hits, using a kd-tree as an acceleration structure for scenes where the 3D objects move.</p>
<p style="text-align: center;"><img class="size-medium wp-image-280 aligncenter" title="ss01-cell" src="http://lukasz.dk/files/ss01-cell-300x300.png" alt="ss01-cell" width="300" height="300" /></p>
<p style="text-align: left;">For more information, <a href="http://lukasz.dk/software/lzrt/">click here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2009/01/28/lzrt-lukasz-ray-tracer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu and Winfast 2000XP EXPERT (LR6611)</title>
		<link>http://lukasz.dk/2009/01/25/ubuntu-and-winfast-2000xp-expert-lr6611/</link>
		<comments>http://lukasz.dk/2009/01/25/ubuntu-and-winfast-2000xp-expert-lr6611/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 22:00:27 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://lukasz.dk/?p=242</guid>
		<description><![CDATA[After a clean install of Ubuntu 8.10 my OEM TV tuner card called LR6611 (came with a AOpen XC Cube EA 65-II) was no longer working and I had forgotten how I made it work years ago. The cx88xx video4linux driver is correctly loaded, but the card is not detected.  S-video and video works in [...]]]></description>
			<content:encoded><![CDATA[<p>After a clean install of Ubuntu 8.10 my OEM TV tuner card called LR6611 (came with a AOpen XC Cube EA 65-II) was no longer working and I had forgotten how I made it work years ago. The cx88xx video4linux driver is correctly loaded, but the card is not detected.  S-video and video works in <a href="http://tvtime.sourceforge.net/">tvtime</a> out of the box, but the quality is poor.</p>
<p>Below is the output from<strong> lspci -vnn</strong></p>
<blockquote>
<pre>01:06.0 Multimedia video controller [0400]: Conexant Systems, Inc.
CX23880/1/2/3 PCI Video and Audio Decoder [14f1:8800] (rev 05)</pre>
<pre>    Subsystem: AOPEN Inc. Device [a0a0:6f05]</pre>
<pre>    Flags: bus master, medium devsel, latency 32, IRQ 17</pre>
<pre>    Memory at e3000000 (32-bit, non-prefetchable) [size=16M]</pre>
<pre>    Capabilities: &lt;access denied&gt;</pre>
<pre>    Kernel driver in use: cx8800</pre>
<pre>    Kernel modules: cx8800</pre>
</blockquote>
<p>After some searching I found some information on this card on the  <a href="http://www.spinics.net/lists/vfl/msg24737.html">video4linux-list</a>. Turns out that this card is a Leadtek Winfast 2000XP Expert OEM variant, which you can also conclude from searching for <a href="http://www.google.com/search?&amp;q=LR6611">&#8216;LR6611&#8242; in Google</a>.</p>
<p>I used the information from the video4linux-list to configure the card by the following line to <strong>/etc/modprobe.d/options</strong></p>
<blockquote><p>options cx88xx i2c_scan=1 card=5 tuner=38</p></blockquote>
<p>Now the card will be correctly configured when booting Ubuntu. You can also test the card without rebooting, by entering the following commands in a shell.</p>
<blockquote><p>sudo rmmod cx8800<br />
sudo rmmod cx88xx<br />
sudo modprobe cx88xx<br />
sudo modprobe cx8800</p></blockquote>
<p>You can watch TV channels in tvtime now. When scanning for channels, do not worry about the &#8220;no signal&#8221; message, the scanner will eventually find the available channels.</p>
<p><img class="aligncenter size-full wp-image-253" title="tvtime" src="http://lukasz.dk/files/tvtime.png" alt="tvtime" width="458" height="365" /></p>
<p>S-video and video input quality has also greatly improved compared to the default cx88xx settings for this card.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2009/01/25/ubuntu-and-winfast-2000xp-expert-lr6611/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu and VIA EPIA EN12000EG</title>
		<link>http://lukasz.dk/2008/04/23/ubuntu-and-via-epia-en12000eg/</link>
		<comments>http://lukasz.dk/2008/04/23/ubuntu-and-via-epia-en12000eg/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 18:59:34 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Add new tag]]></category>

		<guid isPermaLink="false">http://lukasz.dk/?p=96</guid>
		<description><![CDATA[Update 21/09/08
Since I wrote this post 5 months ago I havn&#8217;t been experiencing any issues with the EN12000EG when using it at 1200 MHz. However, 22 days ago I rebooted my EN12000EG and by mistake I forgot to set the CPU frequency to 1200 MHz, I didn&#8217;t realise this until about a week ago when [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update 21/09/08</strong></p>
<p>Since I wrote this post 5 months ago I havn&#8217;t been experiencing any issues with the EN12000EG when using it at 1200 MHz. However, 22 days ago I rebooted my EN12000EG and by mistake I forgot to set the CPU frequency to 1200 MHz, I didn&#8217;t realise this until about a week ago when I saw that the Gnome CPU Scaling Monitor was reporting the CPU frequency as 400 MHz (ondemand governor). For this period of 22 days I&#8217;ve been using the server as I normally would, which 5 months ago would freeze the system within a week when using CPU scaling.</p>
<p style="text-align: center;"><a href="http://lukasz.dk/files/en12000eg-uptime-sept20081.png"><img class="aligncenter size-full wp-image-203" title="en12000eg-uptime-sept20081" src="http://lukasz.dk/files/en12000eg-uptime-sept20081.png" alt="" width="401" height="184" /></a></p>
<p>My best guess to why this is happening is probably a change in the Linux kernel which either fixed or got around this issue. The kernel I&#8217;m currently using is Linux 2.6.24-21-generic i686 GNU/Linux on Ubuntu 8.04 with all updates installed.</p>
<p>You might also want to check the lastest <a href="http://lukasz.dk/2008/04/23/ubuntu-and-via-epia-en12000eg/#comments">comments</a>, as Sam33 is reporting freezes on Debian Etchnhalf, which he suspects are related to the PATA driver.</p>
<p><strong>Original Post</strong></p>
<p>Little over a month ago I bought and built myself a <a href="http://en.wikipedia.org/wiki/Mini-ITX">Mini-ITX</a> computer to use as a headless print/file/media/etc. server. For the motherboard I got a <a href="http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=399">VIA EPIA EN12000EG</a> with a 1200 MHz CPU, because it was passively cooled. I put it inside a <a href="http://www.morex.com.tw/products/productdetail.php?fd_id=37">Morex 3688</a> chassis without using the chassis fan. After using it for a while, the system would &#8220;randomly&#8221; freeze completely. This would typically happend when I &#8220;stressed&#8221; system, eg. transfering files, printing and using VNC at the same time. There was no rise in CPU temperature when this happend, so I didn&#8217;t think it was because the motherboard wasn&#8217;t properly cooled without any fans running.</p>
<p>The longest uptime I had until this point was about 6 days, but the computer would often just freeze after a few days use.</p>
<p>So I thought it might be an I/O problem and I therefor updated the 1.07 BIOS to version 1.09, but the only thing I could tell changed was the CPU temperature was now reported as being around 20 °C instead around 45 °C previously with the 1.07 BIOS. Since this didn&#8217;t resolve the system freezes either, I then tried to update to Ubuntu 8.04 beta, hoping the issue might have been resolved in the new version, however the system would still freeze on me.</p>
<p>I had a problem with evolution-data-server using 90% of the CPU in Ubuntu 8.04, this is a <a href="https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/151536">known bug</a>. I resolved it by just uninstalling evolution-data-server, as I don&#8217;t use Evolution.</p>
<blockquote>
<pre>sudo apt-get remove evolution-data-server</pre>
</blockquote>
<p>I had earlier found this &#8220;<a href="http://www.tkarena.com/forums/linux-arena/33503-en12000eg-freeze.html">EN12000EG Freeze</a>&#8221; thread at the VIA forums (registration required), where alot of different solutions had been suggested, I tried some of the easy ones like changing the BIOS settings, but that still didn&#8217;t resolve the problem. So I thought I&#8217;d try <a href="http://www.tkarena.com/forums/linux-arena/33503-en12000eg-freeze-10.html#post232636">disabling CPU frequency scaling as suggested by rararasputin</a> and this solution has worked for me so far.</p>
<p>First I disabled <em>powernowd</em> by in System -&gt; Administration -&gt; Services. However the cpu scaling software <em>cpufreq</em> is active and uses the <em>On demand</em> CPU scaling governor by default. There are few different ways to change this to the <em>Performance</em> governor, which will keep the CPU at 1200 Mhz. One way is to use the <em>cpufreq-selector</em> in a console like shown below</p>
<blockquote>
<pre>sudo cpufreq-selector -g performance</pre>
</blockquote>
<p>Another option, if you are using the <em>Gnome CPU Frequency Scaling Monitor Applet</em>, is that you can select the governor you wish to use using this applet. But first you need to enable user CPU scaling by the following command and answering yes to setting the suid for cpufreq-selector.</p>
<blockquote>
<pre>dpkg-reconfigure gnome-applets</pre>
</blockquote>
<p>Now you can left-click on the applet and choose <em>Performance</em>.</p>
<p>A thing to note is that this setting reverts to the default <em>On demand</em> when you reboot your system. I read that you can make it permanent by changing the <em>policy_ac</em> key to <em>Performance</em> in <em>apps -&gt; gnome-power-manager -&gt; cpufreq</em> using <em>gconf-editor</em>, however this doesn&#8217;t seem to work for me. Maybe because I use the <em>force=acpi</em> kernel option in <em>/boot/grub/menu.lst</em> and this somehow overrides the setting. If any one knows of a simple solution, please let me know :-)</p>
<p>As you can see from the partial screenshot below, my VIA EN12000EG based server ran for over 11 days before Ubuntu insisted that I reboot due to an update. In the 11 days I had tried to stress the system several times, for instance transfering files while updating Ubuntu over VNC and playing internet radio. Which would often freeze the system earlier, but after disabling cpu scaling, I&#8217;ve been unable to freeze the system.</p>
<p style="text-align: center;"><a href="http://lukasz.dk/files/en12000eg-nofication.jpg"><img class="aligncenter size-full wp-image-97" title="en12000eg-nofication" src="http://lukasz.dk/files/en12000eg-nofication.jpg" alt="" width="398" height="84" /></a></p>
<p>My conclusion is that the VIA EN12000EG hardware has buggy CPU scaling support.</p>
<p>As a side note, I couldn&#8217;t get s-video output working with any other driver than the binary CN700 Unichrome Pro Driver. Otherwise everything else worked out of the box with both Ubuntu 7.10 and 8.04.</p>
<p><strong>Update:</strong></p>
<p>rararasputin posted his Openchrome xorg.conf with s-video support in the comments. <a href="http://lukasz.dk/files/en12000eg_svideo_xorg.conf">Download formatted here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2008/04/23/ubuntu-and-via-epia-en12000eg/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Datel Memory Plus 64 MB</title>
		<link>http://lukasz.dk/2008/04/22/datel-memory-plus-64-mb/</link>
		<comments>http://lukasz.dk/2008/04/22/datel-memory-plus-64-mb/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 06:10:49 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[PlayStation 2]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lukasz.dk/?p=83</guid>
		<description><![CDATA[Recently I stumbled upon some interesting information regarding Datel&#8217;s new PS2 memory card Memory Plus 64 MB at PS2 Save Tools. What caught my eye were the instructions for this memory card, as they state that you can load an PS2 ELF of the memory card or a USB Pendrive, without the need to load [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I stumbled upon some interesting information regarding Datel&#8217;s new PS2 memory card <em>Memory Plus 64 MB</em> at <a href="http://www.ps2savetools.com/article.php?sid=200&amp;mode=thread&amp;order=0&amp;thold=0">PS2 Save Tools</a>. What caught my eye were the instructions for this memory card, as they state that you can load an PS2 ELF of the memory card or a USB Pendrive, without the need to load CD/DVD software.</p>
<p><a href="http://lukasz.dk/files/mpluss.jpg"><img class="alignnone size-thumbnail wp-image-87" title="mpluss" src="http://lukasz.dk/files/mpluss-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/mplusinstructions.jpg"><img class="alignnone size-thumbnail wp-image-86" title="mplusinstructions" src="http://lukasz.dk/files/mplusinstructions-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Since this memory card could be used for launching PS2Link directly of the memory card itself or an USB Pendrive and thereby enabling PS2 programming on an unmodified PS2 console, I went ahead and bought one from the <a href="http://www.codejunkies.com/">Codejunkies</a> webshop (also available from <a href="http://www.play-asia.com/paOS-13-71-p-49-en-15-memory+plus-70-2on8.html">Play-Asia</a>).</p>
<p>I was unfortunate to get a memory card where built-in software was not installed, but after sending an email to Codejunkies, I returned the card to them and some days later I got it back and this time the built-in software did boot when the memory card was inserted to either PS2 memory card slot.</p>
<p>The built-in memory card manager takes about 25 seconds load, for the entire period there is a black screen. Below are some screenshots of the memory manager and how it shows up the PS2 memory card browser.</p>
<p><a href="http://lukasz.dk/files/mplus1.jpg"><img class="alignnone size-thumbnail wp-image-88" title="mplus1" src="http://lukasz.dk/files/mplus1-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/mplus2.jpg"><img class="alignnone size-thumbnail wp-image-89" title="mplus2" src="http://lukasz.dk/files/mplus2-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/mplus-browser.jpg"><img class="alignnone size-thumbnail wp-image-91" title="mplus-browser" src="http://lukasz.dk/files/mplus-browser-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>I was hoping I could just insert an USB pendrive to one of the PS2 USB ports, with PS2Link named RUNME1.ELF and it would boot, <span style="text-decoration: line-through;">however none of my 4 USB pendrives were recognized by the built in memory manager. I tried FAT 12/16/32 file systems, also FAT32 W95 LBA, but none of them seemed to work. One of the pendrives I tried was the 16 MB Pendrive from Datel&#8217;s own Max Drive product, which is recognized in the Max Drive memory manager, which looks very similar.</span></p>
<p style="text-align: center;"><a href="http://lukasz.dk/files/max-memory.jpg"><img class="alignnone size-thumbnail wp-image-93" title="max-memory" src="http://lukasz.dk/files/max-memory-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Since the memory manager wasn&#8217;t helping me get PS2Link launched, I had to figure out some other way of getting it onto the memory card and so the &#8220;hacking&#8221; begins :-)</p>
<p>For transfering data to the memory card of my chipped PS2 I used ps2netfs.irx from PS2SDK. This IRX provides an interface to file systems on the PS2 over the network. I used <em>fsclient</em> as the client (part of <em>ps2client</em> package), combined with PS2Link/ps2client. Before you can access the memory cards with ps2netfs, you need to load the memory card IOP modules SIO2MAN and MCMAN from the BIOS. The following 3 commands below load ps2netfs with memory card support.</p>
<blockquote><p>ps2client -t 1 execiop rom0:SIO2MAN<br />
ps2client -t 1 execiop rom0:MCMAN<br />
ps2client -t 1 execiop host:ps2netfs.irx</p></blockquote>
<p>Once this was done, I could now browse the Memory Plus memory card.</p>
<blockquote>
<pre>fsclient dir mc0:</pre>
<pre>[Contents of mc0:]</pre>
<pre>drwxrwxrwx          6 04-08-2008 17:01:30 .
drw-rw-rw-          0 04-08-2008 16:53:54 ..
-r-xr-xr-x         14 04-08-2008 16:53:57 BEEXEC-SYSTEM
-r-xr-xr-x         14 04-08-2008 16:55:26 BAEXEC-SYSTEM
drwxrwxrwx          6 04-22-2008 02:29:47 BESLES-00000 MP</pre>
</blockquote>
<p>The BEEXEC-SYSTEM and BAEXEC-SYSTEM directories contain the same files, to support respectively European (E) and American (A) PS2 models.</p>
<blockquote>
<pre>fsclient dir "mc0:BEEXEC-SYSTEM"</pre>
<pre>[Contents of mc0:BEEXEC-SYSTEM]</pre>
<pre>drwxrwxrwx          0 04-08-2008 16:53:57 .
drwxrwxrwx          0 04-08-2008 16:53:57 ..
-rwxrwxrwx    1344000 04-08-2008 16:54:00 osd110.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:06 osd120.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:11 osd130.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:17 osd140.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:23 osd150.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:29 osd160.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:35 osd170.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:41 osd180.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:47 osd190.elf
-rwxrwxrwx    1344000 04-08-2008 16:54:54 osdmain.elf
-rwxrwxrwx        964 04-08-2008 16:55:13 icon.sys
-rwxrwxrwx      33688 04-08-2008 16:55:19 mcp.ico</pre>
</blockquote>
<p>These directories are what make booting an ELF of the memory card possible in the first place. Sony included support for updating the OSD (the software which starts when you power on your PS2 without any game in it) of the PS2 in the PS2 BIOS. The OSD looks for a osd1xx.elf on the memory, what ELF filename exactly depends on your PS2 model, hence thats why all the osd1xx.elf files are identical.</p>
<p>The reason this &#8220;exploit&#8221; hasn&#8217;t been discovered earlier is because the OSD ELF&#8217;s on the memory must be encrypted with <a href="http://en.wikipedia.org/wiki/MagicGate">MagicGate</a> or the OSD won&#8217;t load the ELF&#8217;s. So it&#8217;s not really an exploit, just a feature protected by encryption. Even though the Memory Plus is a 64 MB memory card, which will be the main the selling point for the memory card, the more interesting part is the fact that Datel have managed to <span style="text-decoration: line-through;">encrypt</span> inject their own code into already encrypted ELF&#8217;s for this <a href="http://www.eurasia.nu/modules.php?name=News&amp;file=article&amp;sid=759">GateCrasher</a> based memory card.</p>
<p>Anyway, returning to the original task of getting PS2Link to boot of the memory card. While listing the contents of the &#8220;BESLES-00000 MP&#8221;, I realised that this is the directory in which the RUNME1.ELF and RUNME2.ELF should be put, as it already contained a RUNME.ELF.</p>
<blockquote>
<pre>fsclient dir "mc0:BESLES-00000 MP"</pre>
<pre>[Contents of mc0:BESLES-00000 MP]</pre>
<pre>drwxrwxrwx          0 04-08-2008 16:56:54 .
drwxrwxrwx          0 04-08-2008 16:56:54 ..
-rwxrwxrwx     763200 04-08-2008 16:56:56 RUNME.ELF
-rwxrwxrwx        964 04-08-2008 16:57:09 icon.sys
-rwxrwxrwx      33688 04-08-2008 16:57:15 mcp.ico</pre>
</blockquote>
<p>First thing I did was make a copy of RUNME.ELF (should I accidently overwrite it) with the following command.</p>
<blockquote>
<pre>fsclient copyfrom "mc0:BESLES-00000 MP/RUNME.ELF" mplus-manager.elf</pre>
</blockquote>
<p>As you might have already guessed from the command above, the RUNME.ELF is the built-in memory card manager of the Memory Plus card. I tried to load the mplus-manager.elf (filename of RUNME.ELF copy) using PS2Link and it runs just fine.</p>
<p>This means that the files in the BEEXEC-SYSTEM and BAEXEC-SYSTEM directories are really just launcher files for the ELF files in the &#8220;BESLES-00000 MP&#8221; directory. What this also means is that the memory card manager can be replaced by a free one with more features (like support for my pendrives, which work with usb_mass).</p>
<p>I&#8217;m would be very interested in hearing from any one who might have a  different version of the memory card manager (filesize of mine is 763200 bytes), as another version might have proper USB pendrive support.</p>
<p>I copied PS2LINK.ELF using the following fsclient command</p>
<blockquote>
<pre>fsclient copyto PS2LINK.ELF "mc0:BESLES-00000 MP/RUNME1.ELF"</pre>
</blockquote>
<p>I then rebooted my PS2 with the memory card inserted into the first slot and waited more than 25 seconds and nothing happend. So I decided to try something a bit simpler than PS2Link and tried my very own simple <a href="http://www.lukasz.dk/ps2dev/ttc/demos/round26/torus-lkz.zip">Torus demo</a> from <a href="http://lukasz.dk/playstation-2-programming/the-third-creation/">The Third Creation</a> and it did boot ;-)</p>
<p style="text-align: center;"><a href="http://lukasz.dk/files/mplus-torus.jpg"><img class="alignnone size-thumbnail wp-image-95" title="mplus-torus" src="http://lukasz.dk/files/mplus-torus-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>So the fun of debugging begins. The unknown factors in finding the bug(s) which caused PS2Link not to boot are, how is the ELF loaded by the encrypted launcher on the memory card and how is the method different from how ELF&#8217;s are normally loaded?</p>
<p>I suspected the issue might be with the arguments passed to PS2Link, as PS2Link uses these to figure out from which device it was booted. So I made a small PS2SDK application which prints the arguments to the screen using <em>scr_printf()</em>. However it turned out that this simple application did not boot of the memory either. In fact, the first line of code in <em>main</em> never got executed (changing BGCOLOR). This could only mean that the issue was within the <em>crt0.s</em> (<em>C runtime entry point</em>) code, so I commented all the code related to argument handling, as the launcher code probably passes garbage arguments to the ELF when it loads it and this case is not handled by crt0.s, which causes the PS2 to hang/crash. After doing this, my simple application did boot of the memory card. I made some quick changes to PS2Link to make it support the altered crt0.s and hardcoded the boot path inside the PS2Link source. And PS2Link booted of the Memory Plus card.</p>
<p style="text-align: center;"><a href="http://lukasz.dk/files/mplus-ps2link.jpg"><img class="alignnone size-thumbnail wp-image-94" title="mplus-ps2link" src="http://lukasz.dk/files/mplus-ps2link-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><span style="text-decoration: line-through;">A precompiled version of the PS2Link 1.51 ELF which boots of the Memory Plus memory card is avaliable <a href="http://lukasz.dk/files/PS2LINK_151_MPLUS.ELF">here</a>.</span></p>
<p><span style="text-decoration: line-through;">A real patch should be made for crt0.s, so it would support the arguments passed by the Memory Plus loader without breaking any existing code. This task will require more time than I spent on getting PS2Link running. I will submit a patch for crt0.s once I get the time to develop it, unless some one beats me to it *hint hint* :-) This crt0.s patch is required to make any PS2SDK based applications boot of the memory card.</span></p>
<p><span style="text-decoration: line-through;">Once crt0.s is patched, making the required changes to PS2Link should be easy, if the Memory Plus card can be uniquely identified based upon the arguments passed to <em>main()</em>.</span></p>
<p><strong>Update:</strong></p>
<p>Based upon <a href="http://lukasz.dk/2008/04/22/datel-memory-plus-64-mb/#comment-556">the comment by PS2onCrack</a>, I tried to format my Pendrives yet again to FAT32 and it turns out that one of my 4 pendrives is actually detected by the Memory Plus manager. In order to format it properly under Ubuntu I had to do the following: First find where its mounted with the <em>df</em> command (my pendrive partition mounts at /dev/sdb1). Then umount the partition.</p>
<blockquote>
<pre>sudo umount /dev/sdb1</pre>
</blockquote>
<p>Then use fdisk, to change system id of the partition to &#8220;W95 FAT32&#8243;</p>
<blockquote>
<pre>sudo fdisk /dev/sdb</pre>
</blockquote>
<p>Note that I use /dev/sdb (the device) and not /dev/sdb1 (the partition). With fdisk I used the <em>t</em> option (Change system id), then <em>b</em> for &#8220;W95 FAT32&#8243;, and finally <em>w</em> to writing the changes. I then formatted the partition to FAT32.</p>
<blockquote>
<pre>sudo mkfs.vfat -F 32 /dev/sdb1</pre>
</blockquote>
<p>Now my Noname 512 MB pendrive works with the Memory Plus manager. The following pendrives did not work: 1 GB Kingston DataTraveler, Datel Max Drive 16 MB and 256 MB MyCom MP3 Player.</p>
<p>I also realized that patching crt0.s in PS2SDK and making the necessary changes to PS2Link to make it boot of the Memory Plus card is not the best solution, as this will only fix all ELFs compiled against the updated PS2SDK and not all ELFs already available.</p>
<p>So instead I made a small Memory Plus ELF loader, which boots of the memory card and then tries to load an ELF correctly, which should work with most, if not all ELFs.</p>
<p><strong>Download</strong></p>
<ul>
<li><a href="http://lukasz.dk/files/MPLUS-LOADER.ELF">MPLUS-LOADER.ELF</a></li>
<li><a href="http://lukasz.dk/files/mplus-loader-src.zip">mplus-loader-src.zip</a> (source)<a href="http://lukasz.dk/files/mplus-loader-src.zip"><br />
</a></li>
<li><a href="http://lukasz.dk/files/PS2LINK151.ELF">PS2LINK151.ELF</a> (PS2Link 1.51 compiled from Subversion)<a href="http://lukasz.dk/files/PS2LINK151.ELF"><br />
</a></li>
</ul>
<p>To make it work, rename MPLUS-LOADER.ELF to either RUNME1.ELF or RUNME2.ELF and put in on the Memory Plus card, as described in the Memory Plus instructions.</p>
<p>Then take the ELF you wish to run  (you can test with PS2LINK151.ELF) and rename it EXECUTE1.ELF (if you want to boot it when the Memory Plus card is inserted into memory card port 1, otherwise EXECUTE2.ELF for port 2) and put it either on the Memory Plus card or your USB pendrive.</p>
<p>Now boot the Memory Plus card in port 1, this will now load the Memory Plus ELF loader (RUNME1.ELF), which will then load the EXECUTE1.ELF of either the Memory Plus card or the USB pendrive. If the ELF does not exist, the Memory Plus manager will be booted.</p>
<p><strong>Update 2:</strong></p>
<p>I&#8217;ve updated the Memory Plus Loader, so now more ELFs should boot. Tested with uLaunchELF v4.12 and SMS 2.8 (Rev. 1). Also I&#8217;ve added a seperate Memory Plus Loader ELF which patches the Memory Plus manager to NTSC mode before starting it. To make it work you just need to add RUNME1.ELF (or RUNME2.ELF) and not have EXECUTE1.ELF (or EXECUTE2.ELF) present, then the Memory Plus manager will be booted in NTSC mode.</p>
<p><strong>Download</strong></p>
<ul>
<li><a href="http://lukasz.dk/files/MPLUS-LOADER2.ELF">MPLUS-LOADER2.ELF</a></li>
<li><a href="http://lukasz.dk/files/MPLUS-LOADER2-NTSC.ELF">MPLUS-LOADER2-NTSC.ELF</a></li>
<li><a href="http://lukasz.dk/files/mplus-loader2-src.zip">mplus-loader2-src.zip</a></li>
</ul>
<p><strong>Update 3:</strong></p>
<p>The Memory Plus Loader has been updated to stop the CD/DVD drive for spinning. It&#8217;s now also possible to initialize the CD/DVD drive. The solution was found by <a href="http://www.psx-scene.com/forums/freevast/57899-free-vast-continues-32.html">ffgriever </a>for the <a href="http://www.psx-scene.com/forums/freevast/">Free McBoot/FreeVast project</a>. There are some people reporting that this does not work with all consoles, however it works with my PAL console :-)</p>
<p><strong>Download</strong></p>
<ul>
<li><a href="http://lukasz.dk/files/MPLUS-LOADER3.ELF">MPLUS-LOADER3.ELF</a></li>
<li><a href="http://lukasz.dk/files/MPLUS-LOADER3-NTSC.ELF">MPLUS-LOADER3-NTSC.ELF</a></li>
<li><a href="http://lukasz.dk/files/mplus-loader3-src.zip">mplus-loader3-src.zip</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2008/04/22/datel-memory-plus-64-mb/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Oddments Demo</title>
		<link>http://lukasz.dk/2008/04/01/oddments-demo/</link>
		<comments>http://lukasz.dk/2008/04/01/oddments-demo/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 14:37:50 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[PlayStation 2]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lukasz.dk/?p=74</guid>
		<description><![CDATA[I found an ISO of the Breakpoint 2004 PS2 demo Oddments by adresd, emoon, jar, raizor and TyRaNiD in my archive of PS2DEV files. I wrote the ISO to a CD-R and ran it on my PS2 and took some screenshots in the process. Since I was unable to find the ISO online, I uploaded [...]]]></description>
			<content:encoded><![CDATA[<p>I found an ISO of the <a href="http://breakpoint.untergrund.net/2004/">Breakpoint 2004</a> PS2 demo <em>Oddments</em> by adresd, emoon, jar, raizor and TyRaNiD in my archive of PS2DEV files. I wrote the ISO to a CD-R and ran it on my PS2 and took some screenshots in the process. Since I was unable to find the ISO online, I uploaded it and you can download it <a href="http://lukasz.dk/playstation-2-programming/file-mirror/">here</a>.</p>
<p><a href="http://lukasz.dk/files/oddment1.jpg"><img class="alignnone size-thumbnail wp-image-75" title="oddment1" src="http://lukasz.dk/files/oddment1-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/oddment2.jpg"><img class="alignnone size-thumbnail wp-image-76" title="oddment2" src="http://lukasz.dk/files/oddment2-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/oddment3.jpg"><img class="alignnone size-thumbnail wp-image-77" title="oddment3" src="http://lukasz.dk/files/oddment3-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><a href="http://lukasz.dk/files/oddment4.jpg"><img class="alignnone size-thumbnail wp-image-78" title="oddment4" src="http://lukasz.dk/files/oddment4-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/oddment5.jpg"><img class="alignnone size-thumbnail wp-image-79" title="oddment5" src="http://lukasz.dk/files/oddment5-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/oddment6.jpg"><img class="alignnone size-thumbnail wp-image-80" title="oddment6" src="http://lukasz.dk/files/oddment6-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><a href="http://lukasz.dk/files/oddment7.jpg"><img class="alignnone size-thumbnail wp-image-81" title="oddment7" src="http://lukasz.dk/files/oddment7-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://lukasz.dk/files/oddment8.jpg"><img class="alignnone size-thumbnail wp-image-82" title="oddment8" src="http://lukasz.dk/files/oddment8-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>This demo is a very overlooked PS2DEV production. I recommend checking it out, if you have a PS2 capable of running CD-R&#8217;s. The source code for it is also available in the PS2DEV.org Subversion repository, you can obtain it with the following Subversion command:</p>
<p><strong><span class="postbody">svn co svn://<span class="linkification-ext"><a class="linkification-ext" title="Linkification: http://svn.ps2dev.org/ps2ware/trunk/BPDemoHarness" href="http://svn.ps2dev.org/ps2ware/trunk/BPDemoHarness">svn.ps2dev.org/ps2ware/trunk/BPDemoHarness</a></span></span></strong></p>
<p>The source code will most likely require some tweaking to make it compile against the the current version of PS2SDK.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2008/04/01/oddments-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Doom &#8211; PlayStation 2 Port</title>
		<link>http://lukasz.dk/2008/02/11/doom-playstation-2-port/</link>
		<comments>http://lukasz.dk/2008/02/11/doom-playstation-2-port/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 18:37:51 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[PlayStation 2]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[doom]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[ps2]]></category>
		<category><![CDATA[sdl]]></category>

		<guid isPermaLink="false">http://lukasz.dk/2008/02/11/doom-playstation-2-port/</guid>
		<description><![CDATA[Update 28/2/09:
Cosmito has been doing alot of addition work on my quick PS2 port of doom lately, recently adding sound support. To keep updated on the latest PS2Doom changes,  check Cosmitos website.
Original post:
Doom by id Software seems to available for every platform known to man, except for the PlayStation 2. So I wondered how long [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update 28/2/09:</strong></p>
<p><a href="http://forums.ps2dev.org/profile.php?mode=viewprofile&amp;u=8970">Cosmito</a> has been doing alot of addition work on my quick PS2 port of doom lately, <a href="http://ps2homebrewing.wordpress.com/2009/02/24/ps2doom-with-proper-sound-at-last/">recently adding sound support</a>. To keep updated on the latest PS2Doom changes,  check Cosmitos <a href="http://ps2homebrewing.wordpress.com/">website</a>.</p>
<p><strong>Original post:</strong></p>
<p><a href="http://en.wikipedia.org/wiki/Doom_%28video_game%29">Doom by id Software</a> seems to available for every platform known to man, except for the PlayStation 2. So I wondered how long it would take to port it over to PS2 and the answer to that question turned out to be less than 3 hours. Using the PS2 port of SDL, gsKit (SDL requires it for video) and PS2SDK, all available from <a href="http://svn.ps2dev.org">PS2dev.org Subversion repository</a> and a SDL port of Doom <a href="http://www.libsdl.org/projects/doom/">available here</a>, I managed to get a very basic (read: hackish) port of Doom running on the PS2 without much effort.</p>
<p align="center"><a title="PS2 Doom Screenshot" rel="attachment wp-att-57" href="http://lukasz.dk/2008/02/11/doom-playstation-2-port/ps2-doom-screenshot/"><img src="http://lukasz.dk/files/ps2doom1.thumbnail.jpg" alt="PS2 Doom Screenshot" /></a> <a title="PS2 Doom Screenshot 2" rel="attachment wp-att-58" href="http://lukasz.dk/2008/02/11/doom-playstation-2-port/ps2-doom-screenshot-2/"><img src="http://lukasz.dk/files/ps2doom2.thumbnail.jpg" alt="PS2 Doom Screenshot 2" /></a></p>
<p>I&#8217;ve only tested the port over PS2Link and it will most likely not run from a CD-R. There is no sound, however there is support for sound in PS2 SDL, but does not appear to work with Doom and I havn&#8217;t investigated the cause. Saving and loading of games works, as they just save to host/PC. The Dualshock controls are as follow (USB keyboard and mouse are untested)</p>
<blockquote>
<pre>Left Analog Stick : Move</pre>
<pre>Cross             : Enter</pre>
<pre>Square/R1         : CTRL / Fire</pre>
<pre>Circle/R2         : Space / Open doors</pre>
<pre>Triangle          : Escape</pre>
<pre>L1                : x</pre>
<pre>L2                : y</pre>
<pre>L1 and L2 are for entering savegame names</pre>
</blockquote>
<p>I will not continue to work on this port, it was just a quick nostalgic proof of concept port :-)</p>
<p><strong>Download:</strong> <a title="ps2doom-src.zip" href="http://lukasz.dk/files/ps2doom-src.zip">ps2doom-src.zip</a> <a title="ps2doom-bin.zip" href="http://lukasz.dk/files/ps2doom-bin.zip">ps2doom-bin.zip</a> (Binary includes shareware data)</p>
<p><strong>Update:</strong> Follow <a href="http://forums.ps2dev.org/viewtopic.php?t=9798">this thread</a> for further work on this port.</p>
<p><strong>Update 2:</strong> A <a href="http://firehead.org/~jessh/lsdldoom/">lsdldoom</a> PS2 port by <a href="http://www.jasonyu.net/">Jason Yu</a> with sound effect support has <a href="http://forums.ps2dev.org/viewtopic.php?p=66358#66358">surfaced</a>. I&#8217;ve compiled the source into a single ELF with the DOOM shareware data included, which should run from CD-ROM, USB, etc (not tested). Included in the archive is also a <a href="http://ps2dev.org/ps2/Tools/Packers/Unpackers/PS2-Packer_0.4.4">ps2-packer</a> compressed version of DOOM.ELF named DOOMP.ELF.<strong> </strong></p>
<p><strong>Download:</strong> <span class="postbody"><a href="http://lukasz.dk/files/lsdldoom-ps2-bin.zip" target="_blank">lsdldoom-ps2-bin.zip</a></span></p>
<p><span class="postbody"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2008/02/11/doom-playstation-2-port/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Ubuntu 7.10 and Nvidia nForce 630i</title>
		<link>http://lukasz.dk/2008/02/09/ubuntu-710-and-nvidia-nforce-630i/</link>
		<comments>http://lukasz.dk/2008/02/09/ubuntu-710-and-nvidia-nforce-630i/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 12:26:20 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://lukasz.dk/2008/02/09/ubuntu-710-and-nvidia-nforce-630i/</guid>
		<description><![CDATA[I recently upgraded my computer and got a Gigabyte GA-73PVM-S2H motherboard, not knowing that Ubuntu 7.10 did not support the included Nvidia nForce 630i chipset out of the box. I just moved my hard drives with Ubuntu 7.10 already installed from my old computer into my new and it turned out that neither the integrated [...]]]></description>
			<content:encoded><![CDATA[<p>I recently upgraded my computer and got a Gigabyte GA-73PVM-S2H motherboard, not knowing that Ubuntu 7.10 did not support the included Nvidia nForce 630i chipset out of the box. I just moved my hard drives with Ubuntu 7.10 already installed from my old computer into my new and it turned out that neither the integrated Nvidia GeForce 7100 (I already had an Nvidia driver installed) nor the sound card was automatically detected.</p>
<p>To get the GeForce 7100 working I downloaded <a href="http://albertomilone.com/nvidia_scripts1.html">Envy</a> and then manually selected the Nvidia 169.09 driver, which was then downloaded and installed. I used <em>nvidia-settings</em> to configure the graphics card.</p>
<p>The sound card (HDA Intel driver) is not supported by the version of <a href="http://www.alsa-project.org">ALSA</a> included with Ubuntu 7.10, it is however supported by the latest ALSA version. So in order to get it working I had to download, compile and install the lastest ALSA driver myself, there is a guide available <a href="https://help.ubuntu.com/community/HdaIntelSoundHowto">here</a> which describes the process.</p>
<p>The network adapter works out of the box, it uses the <em>forcedeth</em> driver.</p>
<p>My new system would freeze on me after a few hours of use, I suspected the Gigabyte GA-73PVM-S2H motherboard was to blame for this. After checking the <a href="http://tw.giga-byte.com/Support/Motherboard/BIOS_Model.aspx?ProductID=2691">Gigabyte website</a> for my motherboard, I saw there was a F5 BIOS update to my F2 version BIOS.  Since I use Ubuntu, I couldn&#8217;t use their @BIOS Windows utility for updating the BIOS, so I had to use the BIOS built-in Q-Flash which supports updating from an USB stick.</p>
<p>First I downloaded the BIOS update and used <a href="http://www.winehq.org/">Wine</a> to extract the update file from the .EXE update available. When I then first tried to put the update file on my USB memory stick and used Q-Flash I got an <em>BIOS ID checker error. </em>This error is apparently related to the file system used on the memory stick, since after I formated my memory stick to FAT-16 with <em>mkfs.vfat -F 16 /dev/sdc1</em> (my memory stick shows up at /dev/sdc1, used <em>df</em> to see where your memory stick is located) I was able to update my BIOS successfully, and I havn&#8217;t experienced any freezes since.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2008/02/09/ubuntu-710-and-nvidia-nforce-630i/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>An Introduction to PS2DEV</title>
		<link>http://lukasz.dk/2008/01/19/an-introduction-to-ps2dev/</link>
		<comments>http://lukasz.dk/2008/01/19/an-introduction-to-ps2dev/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 17:27:23 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[PlayStation 2]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lukasz.dk/2008/01/19/an-introduction-to-ps2dev/</guid>
		<description><![CDATA[I&#8217;ve written an article which tries to give an introduction to PS2DEV, read it here. Feel free to comment, suggest additions and corrections in this thread at forums.PS2DEV.org or at the bottom of the article.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written an article which tries to give an introduction to PS2DEV, <a href="http://lukasz.dk/playstation-2-programming/an-introduction-to-ps2dev/">read it here</a>. Feel free to comment, suggest additions and corrections in <a href="http://forums.ps2dev.org/viewtopic.php?p=63784">this thread</a> at <a href="http://forums.ps2dev.org">forums.PS2DEV.org</a> or at the bottom of the article.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2008/01/19/an-introduction-to-ps2dev/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building PS2 Toolchains in MinGW</title>
		<link>http://lukasz.dk/2007/07/09/building-ps2-toolchains-in-mingw/</link>
		<comments>http://lukasz.dk/2007/07/09/building-ps2-toolchains-in-mingw/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 10:03:23 +0000</pubDate>
		<dc:creator>Lukasz Bruun</dc:creator>
				<category><![CDATA[PlayStation 2]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://lukasz.dk/blog/2007/07/09/building-ps2-toolchains-in-mingw/</guid>
		<description><![CDATA[Due to the problems with building the PS2 toolchains in Cygwin, I have now written a tutorial which explains how to build the PS2 toolchains in MinGW, a lightweight GNU enviroment for Windows. The tutorial also provides binaries of the toolchains. Check it out here.
Update: The tutorial has been updated with a link to instructions [...]]]></description>
			<content:encoded><![CDATA[<p>Due to the <a href="http://lukasz.dk/2006/03/18/cygwin-problems/">problems</a> with building the PS2 toolchains in Cygwin, I have now written a tutorial which explains how to build the PS2 toolchains in <a href="http://www.mingw.org">MinGW</a>, a lightweight GNU enviroment for Windows. The tutorial also provides binaries of the toolchains. Check it out <a href="http://lukasz.dk/playstation-2-programming/mingw-tutorial/">here</a>.</p>
<p><strong>Update:</strong> The tutorial has been updated with a link to instructions on how to build the toolchains in Windows Vista, provided by chip.</p>
<p><strong>Update 2:</strong> It appears that the PS2 toolchains, when built in MinGW, do not always generate correct code. If a solution to this problem is found, I will post it here and update the MinGW tutorial. Until then you can follow the progress of overcoming the problem in <a href="http://forums.ps2dev.org/viewtopic.php?t=8568">this thread</a> at the PS2Dev.org forums.</p>
<p><strong>Update 3:</strong> <span class="name">ragnarok2040</span> has now supplied a patch the PS2 toolchains to fix the code generation bug and the ps2toolchain patches have been updated. Today I&#8217;ve rebuilt the PS2 toolchains for MinGW and uploaded the new binaries. I&#8217;ve tested them and verified that the bug is fixed, great work ragnarok2040!</p>
]]></content:encoded>
			<wfw:commentRss>http://lukasz.dk/2007/07/09/building-ps2-toolchains-in-mingw/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
