<?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>Robots w/Lasers &#187; Java</title>
	<atom:link href="http://blog.davr.org/category/software/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.davr.org</link>
	<description>Nintendo DS &#038; GBA development, microcontrollers, and occasionally FPGAs</description>
	<lastBuildDate>Thu, 08 Jul 2010 17:22:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Partial MIDP support on the DS</title>
		<link>http://blog.davr.org/2008/06/09/partial-midp-support-on-the-ds/</link>
		<comments>http://blog.davr.org/2008/06/09/partial-midp-support-on-the-ds/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 17:41:54 +0000</pubDate>
		<dc:creator>davr</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Nintendo DS]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.davr.org/?p=78</guid>
		<description><![CDATA[ole has taken my KVM port to Nintendo DS and added some updates. I haven&#8217;t played with it much, but he lists the changes as follows. R3: New features added by Ole: fixed the CLDC implementation (timer, memory size, system properties) added support for reading of the PNG images (code taken from the PhoneMe project) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.volny.cz/molej/pstrosnds">ole</a> has taken my <a href="http://blog.davr.org/2007/08/08/java-for-nds/">KVM port to Nintendo DS</a> and added some updates. I haven&#8217;t played with it much, but he lists the changes as follows.</p>
<p><b>R3: New features added by Ole:</b></p>
<ul>
<li>fixed the CLDC implementation (timer,  memory size, system properties)</li>
<li>added support for reading of the PNG images (code taken from the PhoneMe project)</li>
<li>implemented native functions for rendering the basic graphics primitives on the screen<br />
  (lines, rectangles, triangles, images)</li>
<li>added support for accepting the JAD files in the application browser</li>
<li>added the core part of the Pstros MIDP library</li>
<li>added VideoTest example to show how to draw on the screen</li>
<li>added &#8216;_rebuild.bat&#8217; to show how to build and preverify the class files.<br />
  Note WTK installation is required.</li>
</ul>
<p>This is quite interesting if it is able to run some MIDP-compliant games, but we&#8217;ll need to do some testing to see how the speed compares to your average mobile phone.</p>
<p><b>UPDATE:</b> He&#8217;s made a few more updates since I originally made this post. Be sure to check out <a href="http://www.volny.cz/molej/pstrosnds/">ole&#8217;s site</a> for the latest info and download links.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.davr.org/2008/06/09/partial-midp-support-on-the-ds/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Java for NDS?</title>
		<link>http://blog.davr.org/2007/08/08/java-for-nds/</link>
		<comments>http://blog.davr.org/2007/08/08/java-for-nds/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 16:36:36 +0000</pubDate>
		<dc:creator>davr</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Nintendo DS]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.davr.org/2007/08/08/java-for-nds/</guid>
		<description><![CDATA[I know what you&#8217;re thinking&#8230;&#8221;That&#8217;s a horrible idea and you&#8217;re a horrible person for suggesting it!&#8221; The main problems with Java on DS: 1. Interpreted languages are slower, the overhead is bad on a slower embedded platform 2. No direct memory access. Almost all of the DS hardware is interfaced by reading and writing directly [...]]]></description>
			<content:encoded><![CDATA[<p>I know what you&#8217;re thinking&#8230;&#8221;That&#8217;s a horrible idea and you&#8217;re a horrible person for suggesting it!&#8221;<br />
<img src="http://davr.org/ds2/java4nds_r2.png" width="260" height="394" align="right"/><br />
The main problems with Java on DS:<br />
1. Interpreted languages are slower, the overhead is bad on a slower embedded platform<br />
2. No direct memory access. Almost all of the DS hardware is interfaced by reading and writing directly to specific memory locations<br />
3. No primitive unsigned 8-bit types. What were they thinking?</p>
<p>But&#8230;I went ahead and did it anyway, just for fun. I didn&#8217;t start from scratch, I took  <a href="http://www.torlus.com/index.php?2004/01/05/25-java4gba---a-java-virtual-machine-for-gba">Torlus&#8217;s KVM port to GBA</a> and used that as a base for getting it to work on DS. Right now, when it starts, you pick a .class file, and it will run it! In addition, using KNI, I&#8217;ve written a basic wrapper around parts of libnds, enough to read input from the touchscreen/buttons, and to move sprites around.</p>
<p>Download here: <a href="http://davr.org/ds2/java4nds_r2.zip">java4nds_r2.zip</a> &#8212; includes the compiled KVM.nds, some examples along with source code, and instructions on making your own .java files.</p>
<p>To use this demo, place kvm.nds, all the *.class files, and all the *.bin files on the root of your flashcart.<br />
Run kvm.nds, then select a .class file to run. There are a few examples testing various stuff.<br />
Don&#8217;t forget to DLDI-patch the kvm.nds</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.davr.org/2007/08/08/java-for-nds/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
	</channel>
</rss>
