<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Glenn</id>
	<title>Pandora Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Glenn"/>
	<link rel="alternate" type="text/html" href="https://pandorawiki.org/Special:Contributions/Glenn"/>
	<updated>2026-04-23T16:19:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0-alpha</generator>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Software_projects&amp;diff=2017</id>
		<title>Software projects</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Software_projects&amp;diff=2017"/>
		<updated>2010-01-10T21:02:17Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See the [[Port Requests]] article for open-source projects which ''could'' be ported but have not been taken on by anyone yet.&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Android Omap&lt;br /&gt;
|[http://elinux.org/Android_on_OMAP Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Angstrom Linux&lt;br /&gt;
|[http://www.angstrom-distribution.org/ Link]&lt;br /&gt;
|Working build, not completed&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AROS Arm&lt;br /&gt;
|[http://projects.powerdeveloper.org/project/imx515/735 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD&lt;br /&gt;
|[http://wiki.freebsd.org/FreeBSD/arm/OMAP Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fedora ARM&lt;br /&gt;
|[http://fedoraproject.org/wiki/Architectures/ARM Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Gentoo Linux&lt;br /&gt;
|[http://gentoo.openpandora.org Link]&lt;br /&gt;
|Working build, not completed&lt;br /&gt;
|javaJake, Viridior&lt;br /&gt;
|IRC: (FreeNode) #gentoo-pandora&lt;br /&gt;
|-&lt;br /&gt;
|HaikuOS&lt;br /&gt;
|[http://www.haiku-os.org Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|RISC OS&lt;br /&gt;
|[http://www.riscosopen.org Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Uwe Kall, Jeffrey Lee&lt;br /&gt;
|BeagleBoard port available for download and testing&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu ARM&lt;br /&gt;
|[http://www.ubuntu.com/products/whatisubuntu/arm Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Abuse&lt;br /&gt;
|[http://abuse.zoy.org/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|2D Platform&lt;br /&gt;
|-&lt;br /&gt;
|Aleph One&lt;br /&gt;
|[http://www.youtube.com/watch?v=1zQ7Fbwhb5I/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Battle for Wesnoth v1.6.2&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47936 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|BattleJewels&lt;br /&gt;
|&lt;br /&gt;
|Completed build for GP2X, WIP for Pandora&lt;br /&gt;
|Skeezix&lt;br /&gt;
|Logical&lt;br /&gt;
|-&lt;br /&gt;
|BlobWars&lt;br /&gt;
|[http://www.parallelrealities.co.uk/projects/blobWars.php Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|2D Platform&lt;br /&gt;
|-&lt;br /&gt;
|Caster&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46813 Link]&lt;br /&gt;
|Working build (tested on PC)&lt;br /&gt;
|Svartalf&lt;br /&gt;
|RPG&lt;br /&gt;
|- &lt;br /&gt;
|CDogs&lt;br /&gt;
|&lt;br /&gt;
|WIP&lt;br /&gt;
|Pickle&lt;br /&gt;
|Top down Shooter&lt;br /&gt;
|-&lt;br /&gt;
|Chaotic Vortex&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/49754-chaotic-vortex-dual-stick-arena-shooter Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Ruben&lt;br /&gt;
|Dual stick 2D shooter&lt;br /&gt;
|-&lt;br /&gt;
|Descent 1 (d1x-rebirth engine)&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1032 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Descent 2 (d2x-rebirth engine)&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1032 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Eternity 6: The Waterphoenix&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/50772-eternity-6-the-waterphoenix/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Darien&lt;br /&gt;
|Side Scroller / Beat 'Em Up&lt;br /&gt;
|-&lt;br /&gt;
|FHeroes Port (Heroes Of Might And Magic 2)&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47553 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|FreeCiv 2.1.9&lt;br /&gt;
|[http://freeciv.wikia.com/wiki/Main_Page Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|Galactic Artifact&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46836 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Trevor Bradley&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|GemRB (Infinity Engine)&lt;br /&gt;
|&lt;br /&gt;
|wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|open-source implementation of Bioware's Infinity Engine, supports games including Baldurs Gate 2 and Planescape Torment.&lt;br /&gt;
|-&lt;br /&gt;
|Giannas Return&lt;br /&gt;
|[http://www.gianas-return.de/ Link]&lt;br /&gt;
|Working&lt;br /&gt;
|Giannas Team&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|Gravity Blocks&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47662 Link]&lt;br /&gt;
|wip (early in developement)&lt;br /&gt;
|Awekening&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|Homeworld Port&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47565 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|LinuxHacker&lt;br /&gt;
|Simulation&lt;br /&gt;
|-&lt;br /&gt;
|Human Condition (was TINCS)&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46487 Link1][http://www.youtube.com/user/ButtermanHimself Link2]&lt;br /&gt;
|wip&lt;br /&gt;
|Butterman&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Lerp&lt;br /&gt;
|[http://grapefruitopia.com/lerp/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|benjymous&lt;br /&gt;
|2D physics puzzle platformer&lt;br /&gt;
|-&lt;br /&gt;
|Lord of the Rings Port&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46792&amp;amp;hl= Link]&lt;br /&gt;
|Unknown&lt;br /&gt;
|Daeglin&lt;br /&gt;
|RPG&lt;br /&gt;
|-&lt;br /&gt;
|Mental&lt;br /&gt;
|&lt;br /&gt;
|Working build, tested on PC&lt;br /&gt;
|Colin Jones (xentalion)&lt;br /&gt;
|2D Horror Survival Adventure&lt;br /&gt;
|-&lt;br /&gt;
|Monster!&lt;br /&gt;
|[http://christophsdevblog.blogspot.com/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Chris R&lt;br /&gt;
|Arcade&lt;br /&gt;
|- &lt;br /&gt;
|Ms Driller&lt;br /&gt;
|&lt;br /&gt;
|WIP&lt;br /&gt;
|Wally&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|NAEV&lt;br /&gt;
|[http://code.google.com/p/naev/ Link]&lt;br /&gt;
|wip (waiting for pandora to finish and test)&lt;br /&gt;
|bobbens&lt;br /&gt;
|Action/RPG/Sim&lt;br /&gt;
|-&lt;br /&gt;
|Nails Adventure&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46961 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|jsmtux/Mr. Gonzo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenLiero (Liero)&lt;br /&gt;
|&lt;br /&gt;
|working build, need to be polished&lt;br /&gt;
|Pickle&lt;br /&gt;
|Shoot'Em Up&lt;br /&gt;
|-&lt;br /&gt;
|OpenTyrian&lt;br /&gt;
|[http://code.google.com/p/opentyrian/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Shoot'Em Up&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Panic!&lt;br /&gt;
|[http://www.youtube.com/watch?v=y9d6UXhQP6o Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|PokeParadox / GP32X Community&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Pool Panic&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46996 Link]&lt;br /&gt;
|Almost Finished&lt;br /&gt;
|Unfathomable Depths&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|PanMMO - Pandora MMO Game via Internet&lt;br /&gt;
|[http://www.youtube.com/user/enirya Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Enirya&lt;br /&gt;
|RPG&lt;br /&gt;
|-&lt;br /&gt;
|PanDjoust&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51192-pandjoust-a-new-simple-platformer/ Link]&lt;br /&gt;
|Early Stages&lt;br /&gt;
|MarkoeZ&lt;br /&gt;
|Platformer&lt;br /&gt;
|-&lt;br /&gt;
|Powermanga&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Quake 1&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Quake 2&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Quake 3&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Quake 3&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Reminiscence (flashback)&lt;br /&gt;
|[http://cyxdown.free.fr/reminiscence/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Action/Adventure&lt;br /&gt;
|-&lt;br /&gt;
|Rise of The Triad&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47931 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|arrrgh&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Slitherlink&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/50756-slitherlink/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Mia&lt;br /&gt;
|Puzzle&lt;br /&gt;
|-&lt;br /&gt;
|Super Lumenal&lt;br /&gt;
|[http://www.youtube.com/watch?v=sZHi3YT3xuE&amp;amp;feature=channel_page Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|SuperTux 1&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1040 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Platform&lt;br /&gt;
|-&lt;br /&gt;
|SuperTux 2&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1040 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Platform&lt;br /&gt;
|-&lt;br /&gt;
|Tecnoballz&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Teeworlds&lt;br /&gt;
|[http://www.teeworlds.com/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|The Mana World&lt;br /&gt;
|[http://www.themanaworld.org/ Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|MMORPG&lt;br /&gt;
|-&lt;br /&gt;
|uHexen2: Hammer of Thyrion &lt;br /&gt;
|&lt;br /&gt;
|Completed build for GP2X, WIP for Pandora&lt;br /&gt;
|Adventus&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Ur-Quan Masters&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43625&amp;amp;st=165&amp;amp;p=673047&amp;amp;#entry673047 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|Space Exploration&lt;br /&gt;
|-&lt;br /&gt;
|Warioland-inspired game&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48680-warioland-inspired-game/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|foxblock&lt;br /&gt;
|Platformer&lt;br /&gt;
|-&lt;br /&gt;
|We Come In Peace&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43655 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Otaco&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|Where in world is...&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|Casual&lt;br /&gt;
|-&lt;br /&gt;
|Wizzley Presto and the Mysterious Time Machine&lt;br /&gt;
|[http://www.30daygame.com/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Craigix, Zodttd, Ruckage&lt;br /&gt;
|Arcade, 30 Day Game Competition&lt;br /&gt;
|-&lt;br /&gt;
|Wolf4SDL (Wolfenstein 3D)&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Wandor&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48680-wandor-working-title/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|foxblock&lt;br /&gt;
|Side Scroller&lt;br /&gt;
|-&lt;br /&gt;
|XSwing Plus&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?s=&amp;amp;showtopic=43655&amp;amp;view=findpost&amp;amp;p=733021 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Tobse&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|ZEQ2Lite&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47623&amp;amp;hl= Link]&lt;br /&gt;
|Work in progress&lt;br /&gt;
|MDave&lt;br /&gt;
|Dragonball Z Third Person Fighter/Shooter&lt;br /&gt;
|-&lt;br /&gt;
|Zdoom &lt;br /&gt;
|&lt;br /&gt;
|Completed build for GP2X, WIP for Pandora&lt;br /&gt;
|Adventus&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Zombd&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46933 Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|iprice/Mr Gonzo&lt;br /&gt;
|Shoot'Em Up&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Emulators ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Emulated System&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Caprice32&lt;br /&gt;
|Amstrad CPC&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=48140 Link1] [http://www.caprice32.cybercube.com/ Link2]&lt;br /&gt;
|wip&lt;br /&gt;
|hdonk&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DosBox&lt;br /&gt;
|x86 DOS&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FinalBurnAdvance&lt;br /&gt;
|CPS1/2/3/taito...&lt;br /&gt;
|[http://www.youtube.com/watch?v=06hjDLMBaf8 Link]&lt;br /&gt;
|&lt;br /&gt;
|Squidge&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Frotz&lt;br /&gt;
|Z-Machine interpreter&lt;br /&gt;
|[http://www.cosam.org/computers/pandora/frotz-2.43.zip Link]&lt;br /&gt;
|working build&lt;br /&gt;
|SteveM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fuse&lt;br /&gt;
|ZX Spectrum&lt;br /&gt;
|[http://www.cosam.org/computers/pandora/fuse-0.9.0.zip Link]&lt;br /&gt;
|working build&lt;br /&gt;
|SteveM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GnGeo&lt;br /&gt;
|SNK NeoGeo&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link1] [http://www.youtube.com/user/cpasjuste Link2]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gpSP&lt;br /&gt;
|Nintendo GBA&lt;br /&gt;
|&lt;br /&gt;
|wip&lt;br /&gt;
|ZodTTD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Hatari&lt;br /&gt;
|Atari ST&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link1] [http://www.youtube.com/user/cpasjuste Link2]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jzintv&lt;br /&gt;
|Mattel Intellivision&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=48035 Link]&lt;br /&gt;
|&lt;br /&gt;
|WizardStan&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[MAME4ALL]]&lt;br /&gt;
|Arcade&lt;br /&gt;
|[http://www.youtube.com/user/franxism Link]&lt;br /&gt;
|&lt;br /&gt;
|Franxis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Mupen64plus&lt;br /&gt;
|Nintendo 64&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/49358-mupen64plus/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Ari64&lt;br /&gt;
|Adventus ported graphics plugin&lt;br /&gt;
|-&lt;br /&gt;
|NeoPop&lt;br /&gt;
|SNK NeoGeo Pocket&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link1] [http://www.youtube.com/user/cpasjuste Link2]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NullDC&lt;br /&gt;
|Sega Dreamcast&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?s=&amp;amp;showtopic=47065&amp;amp;view=findpost&amp;amp;p=709910 Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|Zezu / drkIIraziel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PandaSNES&lt;br /&gt;
|Nintendo SNES&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43213 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Squidge&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-PSP&lt;br /&gt;
|Sony Playstation Portable&lt;br /&gt;
|[http://jayfoxrox.bplaced.net/pandora-psp/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|[[User:JayFoxRox|JayFoxRox]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PAtari&lt;br /&gt;
|Atari 800&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PicoDrive&lt;br /&gt;
|Sega Genesis/CD/32x&lt;br /&gt;
|[http://www.youtube.com/watch?v=QDbLQI91510 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Notaz&lt;br /&gt;
|Fullspeed emulator&lt;br /&gt;
|-&lt;br /&gt;
|PSMS&lt;br /&gt;
|Sega Master System&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PSnes&lt;br /&gt;
|Nintendo SNES&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[PSX4Pandora]]&lt;br /&gt;
|Sony PlayStation&lt;br /&gt;
|[http://www.zodttd.com Link]&lt;br /&gt;
|Not Status, working build&lt;br /&gt;
|ZodTTD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ScummVM&lt;br /&gt;
|x86 Scumm engine games&lt;br /&gt;
|&lt;br /&gt;
|Working build&lt;br /&gt;
|DJ Willis&lt;br /&gt;
|Fullspeed emulator&lt;br /&gt;
|-&lt;br /&gt;
|SIMH&lt;br /&gt;
|old hardware&lt;br /&gt;
|[http://www.cosam.org/computers/pandora/simh-3.8.zip Link]&lt;br /&gt;
|working build&lt;br /&gt;
|SteveM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Temper&lt;br /&gt;
|NEC PC Engine&lt;br /&gt;
|[http://exophase.devzero.co.uk/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Exophase&lt;br /&gt;
|Fullspeed emulator&lt;br /&gt;
|-&lt;br /&gt;
|Tempest&lt;br /&gt;
|Atari Jaguar&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43119 Link]&lt;br /&gt;
|&lt;br /&gt;
|Firefox&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[UAE4ALL]]&lt;br /&gt;
|Amiga&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=44100 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|XMAME&lt;br /&gt;
|Arcade&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graphic Engines ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|GLES2D&lt;br /&gt;
|&lt;br /&gt;
|Wip&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|OpenGL ES 2D library&lt;br /&gt;
|-&lt;br /&gt;
|GL-WES-v2.0&lt;br /&gt;
|[http://code.google.com/p/gl-wes-v2/ link] &lt;br /&gt;
|Working Build&lt;br /&gt;
|Adventus&lt;br /&gt;
|Opensource OpenGL 2.0 driver built on OpenGL ES 2.0.&lt;br /&gt;
|-&lt;br /&gt;
|Irrlicht&lt;br /&gt;
|[http://irrlicht.sourceforge.net/] [http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32538&amp;amp;start=45]&lt;br /&gt;
|working build&lt;br /&gt;
|Hybrid&lt;br /&gt;
|3D game engine&lt;br /&gt;
|-&lt;br /&gt;
|NSS Engine&lt;br /&gt;
|[http://www.nosiestastudios.com/wiki/ Link1] [http://www.youtube.com/user/Prompt84 Link2]&lt;br /&gt;
|&lt;br /&gt;
|No Siesta Studios&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OGRE Engine&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46706 Link1] [http://www.youtube.com/watch?v=LDtUE5PIhV0 Link2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3D real-time renderer&lt;br /&gt;
|-&lt;br /&gt;
|Otaco Glost Engine&lt;br /&gt;
|[http://www.youtube.com/user/otacogloost Link1], [http://www.gp32x.com/board/index.php?/topic/48393-i-did-stuff/page__p__736650&amp;amp;#entry736650 Link2]&lt;br /&gt;
|working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Quad-Ren 2D&lt;br /&gt;
|[http://quad-ren.sourceforge.net/index.php Link]&lt;br /&gt;
|Working&lt;br /&gt;
|Hessiess&lt;br /&gt;
|Version 0.5 &lt;br /&gt;
|-&lt;br /&gt;
|SDL GLES&lt;br /&gt;
|[http://github.com/Cpasjuste/sdl-1.2.13_gles/tree Link]&lt;br /&gt;
|working&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|XreaL&lt;br /&gt;
|[http://xreal.sourceforge.net/xrealwiki/ Link]&lt;br /&gt;
|&lt;br /&gt;
|Pickle [?]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Stratagus&lt;br /&gt;
|[http://stratagus.sourceforge.net/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|RTS Engine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other programs ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|AbiWord - Word Processor&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|Claws Mail&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|Epiphany Web Bowser&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireFox - Internet Browser&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|GIMP - Image Editor&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|GMenu&lt;br /&gt;
|[http://www.youtube.com/watch?v=VYzi8gziC7E Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pandora Team&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Gnumeric Spreadsheet - Spreadsheet&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|GoView&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Image Gallery&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Inside The Box&lt;br /&gt;
|[http://www.openpandora.pl Link1] [http://www.youtube.com/watch?v=uLMmJBDEs2E Link2]&lt;br /&gt;
|wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|Pandora e-zine&lt;br /&gt;
|-&lt;br /&gt;
|IRC Client&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LeafPad&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Matchbox Shell / GUI&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MPlayer&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=41420 Link1] [http://www.youtube.com/watch?v=v9RAPNa-55k Link2]&lt;br /&gt;
|Working build&lt;br /&gt;
|Squidge&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Math-NEON&lt;br /&gt;
|[http://code.google.com/p/math-neon/ Link1]&lt;br /&gt;
|Wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|cmath like library optimised for ARM NEON coprocessor.&lt;br /&gt;
|-&lt;br /&gt;
|Pandaphone&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48327-pandaphone/ Link]&lt;br /&gt;
|&lt;br /&gt;
|jb0yx&lt;br /&gt;
|A project to incorporate the Open Pandora handheld device with cell phone technology&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Sync Suite&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|Pangea GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=45631&amp;amp;hl=pangea Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|efegea&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|Panorama&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51076-panorama/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|dflemstr&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|PDM&lt;br /&gt;
|[http://github.com/Cpasjuste/pdm/tree Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Light desktop manager for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PGui&lt;br /&gt;
|[http://github.com/Cpasjuste/pgui/tree Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Standard emulator fronted for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|Pidgin - IM (for Angstrom OpenPandora)&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PMenu&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PND Maker (for Windows 9x/NT)&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Qemu&lt;br /&gt;
|[http://www.nongnu.org/qemu/status.html Link]&lt;br /&gt;
|testing build&lt;br /&gt;
|Fabrice Bellard&lt;br /&gt;
|open source machine emulator and virtualizer&lt;br /&gt;
|-&lt;br /&gt;
|Scale&lt;br /&gt;
|[http://www.youtube.com/user/Zoxc64 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Zoxc64&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|Simple Dev Studio for Pandora&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Application stack for multiplayer internet games&lt;br /&gt;
|-&lt;br /&gt;
|[[TS2A]]&lt;br /&gt;
|[[TS2A]]&lt;br /&gt;
|Documentation only&lt;br /&gt;
||[[User:JayFoxRox|JayFoxRox]]&lt;br /&gt;
|Teamspeak 2 Alternative Client / Server, Needs developer&lt;br /&gt;
|-&lt;br /&gt;
|XMMS&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ZiB Emulator Frontend&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47203 Link1] [http://www.youtube.com/watch?v=UJvON8lCM3M Link2]&lt;br /&gt;
|&lt;br /&gt;
|Aimless_E&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Demos / Technical Demos for OpenPandora ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Cell Shading&lt;br /&gt;
|[http://www.youtube.com/watch?v=cpAj0jHglGw Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Demo with MP3 Playback&lt;br /&gt;
|[http://www.youtube.com/watch?v=hkx18kruRJs Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Skull Demo&lt;br /&gt;
|[http://www.youtube.com/watch?v=qG7EDaZpyOo Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WaveDemo&lt;br /&gt;
|[http://www.youtube.com/watch?v=4wgEHFCq9Lo Link]&lt;br /&gt;
|Working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Combining_OpenGL_ES_1.1_and_SDL_to_create_a_window_on_the_Pandora&amp;diff=2011</id>
		<title>Combining OpenGL ES 1.1 and SDL to create a window on the Pandora</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Combining_OpenGL_ES_1.1_and_SDL_to_create_a_window_on_the_Pandora&amp;diff=2011"/>
		<updated>2010-01-10T20:53:20Z</updated>

		<summary type="html">&lt;p&gt;Glenn: catchg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There is a special SDL source code for pandora with OpenGL ES capability &lt;br /&gt;
available here : http://github.com/Cpasjuste&lt;br /&gt;
&lt;br /&gt;
The screen initialisation is now easy as this : SDL_SetVideoMode(800, 480, 16, SDL_OPENGLES)&lt;br /&gt;
&lt;br /&gt;
An SDL/GLES exemple is also available on the git repository.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=User_manual&amp;diff=2004</id>
		<title>User manual</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=User_manual&amp;diff=2004"/>
		<updated>2010-01-10T20:45:45Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border-top:1px solid gray; border-bottom:1px solid gray; padding-top:5px; padding-bottom:5px; margin-bottom:20px&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;''This page is an unofficial community project, and OpenPandora Ltd. is not responsible for its content.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:PandoraFront.jpg|Right|thumb|360px|Pandora FTW!]]&lt;br /&gt;
So your Pandora just arrived after being in the post for two months. Jolly good! But now that it's actually here, what on earth do you do with it? '''Don't panic!''' Let's take a look at what's included in the box(so you don't miss anything!) and then hop on over to setting it up for that extended Ms. Pacman marathon I know you've been waiting for!&lt;br /&gt;
&lt;br /&gt;
Also, don't forget to hit up [http://www.gp32x.com/board/index.php?/forum/61-pandora/ GP32X] for questions/info/apps/fun/discussion!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Safety Information ==&lt;br /&gt;
Warning: Choking Hazard, do not let children under the age of 3 come close to your Pandora console.&lt;br /&gt;
The Pandora Contains small parts that can be eaten by those children.&lt;br /&gt;
&lt;br /&gt;
The battery of Pandora must be charged by the charger included with the Pandora(see package contents)&lt;br /&gt;
and we at OpenPandora Ltd. cannot be responsible for people using third party chargers. Please be aware that some third party chargers compatible with the Pandora have a fake CE logo and are highly dangerous (they will burst into flames).&lt;br /&gt;
&lt;br /&gt;
Keep the Pandora in normal temperatures under 140F/60C (Recommended temperatures are in the range between -10C and 40C){{Citation needed}}. The battery is standard Lithium Polymer battery. Do not keep near fire or water. Do not disassemble, destroy or damage the battery, or it may explode! Do not short circuit external contacts! Dispose of it properly, please. &lt;br /&gt;
&lt;br /&gt;
All third party modifications and hardware/software can damage your Pandora, OpenPandora Ltd cannot be responsible for damage caused by this. Trusted software can be recognised by a OP-member in the Pandora Appstore. See the “OP-Team Trusted” image in the app store to see if the software application can be trusted{{Citation needed}}.&lt;br /&gt;
&lt;br /&gt;
The Pandora has a 4.3-inch Touchscreen. You can touch the screen to trigger an action. Although this is a touch screen, you cannot punch it. Always touch the screen gently – this will be more then enough to trigger the action you want.&lt;br /&gt;
&lt;br /&gt;
The Pandora has an protective design, making it hard to break. Of course, you should never drop your Pandora, wash it, or try anything that can harm your Pandora. This will void your warranty.&lt;br /&gt;
&lt;br /&gt;
== Warranty Information ==&lt;br /&gt;
By law there is a one year warranty, and the device will be replaced/repaired if it is faulty. LCDs with noticeable dead pixels will also be replaced (Note: Pixels are small squares aligned in a grid to make up the image on your screen. A &amp;quot;Dead Pixel&amp;quot; is one that doesn't work anymore and remains black or any other static color).&lt;br /&gt;
&lt;br /&gt;
== Box Contents ==&lt;br /&gt;
When you first open Pandora's box, a slew of demons and raging emotions may forcibly leave the box. This is normal. After that, you may or may not be surprised to find a:&lt;br /&gt;
*Pandora console&lt;br /&gt;
*Stylus (located in stylus slot on the side of the Pandora)&lt;br /&gt;
*Battery&lt;br /&gt;
*DC Wall Charger&lt;br /&gt;
*TV-Out Cable (ONLY if you ordered it separately)&lt;br /&gt;
*Carrying Case (ONLY if you ordered it separately)&lt;br /&gt;
*Extra Battery (ONLY if you ordered it separately)&lt;br /&gt;
After you take those things out, you may find a sliver of Hope left over. It's best to keep it, as you never know when you could use some Hope.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
==== Highlights ====&lt;br /&gt;
{{citation needed}}&lt;br /&gt;
* ARM® Cortex™-A8 600Mhz+ CPU running Linux*&lt;br /&gt;
* 430-MHz TMS320C64x+™ DSP Core&lt;br /&gt;
* PowerVR SGX OpenGL 2.0 ES compliant 3D hardware&lt;br /&gt;
* 800x480 4.3&amp;quot; 16.7 million colours touchscreen LCD&lt;br /&gt;
* Wifi 802.11b/g, Bluetooth &amp;amp; High Speed USB 2.0 Host&lt;br /&gt;
* Dual SDHC card slots &amp;amp; SVideo TV output&lt;br /&gt;
* Dual Analogue and Digital gaming controls&lt;br /&gt;
* 43 button QWERTY and numeric keypad&lt;br /&gt;
* Around 10+ Hours battery life**&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;The 600Mhz+ can be higher or lower. This can be controlled by software designed for the device.&amp;lt;/small&amp;gt;&lt;br /&gt;
:&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;Is affected by use. (example turn bluetooth on or off during play time)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Advanced Specifications ====&lt;br /&gt;
* Texas Instruments OMAP3530 processor at 600MHz (officially)&lt;br /&gt;
* 256MB DDR-333 SDRAM&lt;br /&gt;
* 512MB NAND FLASH memory&lt;br /&gt;
* IVA2+ audio and video processor using TI's DaVinci™ technology (430MHz C64x DSP)&lt;br /&gt;
* ARM® Cortex™-A8 superscalar microprocessor core&lt;br /&gt;
* PowerVR SGX530 (110MHz officially) OpenGL ES 2.0 compliant 3D hardware&lt;br /&gt;
* integrated Wifi 802.11b/g (up to 18dBm output)&lt;br /&gt;
* integrated Bluetooth 2.0 + EDR (3Mbps) (Class 2, + 4dBm)&lt;br /&gt;
* 800x480 resolution LTPS LCD with resistive touch screen, 4.3&amp;quot; widescreen, 16.7 million colors (300 cd/m2 brightness, 450:1 contrast ratio)&lt;br /&gt;
* Dual analog controllers&lt;br /&gt;
* Full gamepad controls plus shoulder buttons&lt;br /&gt;
* Dual SDHC card slots (up to 64GB of storage currently)&lt;br /&gt;
* headphone output up to 150mW/channel into 16 ohms, 99dB SNR (up to 24 bit/48KHz)&lt;br /&gt;
* TV output (composite and S-Video)&lt;br /&gt;
* Internal microphone plus ability to connect external microphone through headset&lt;br /&gt;
* Stereo line level inputs and outputs&lt;br /&gt;
* 43 button QWERTY and numeric keypad&lt;br /&gt;
* USB 2.0 OTG port (1.5/12/480Mbps) with capability to charge device&lt;br /&gt;
* USB 2.0 HOST port (480Mbps) capable of providing the full 500mA to attached devices (examples include USB memory, keyboard, mouse, 3G modem, GPS)&lt;br /&gt;
* up to two externally accessible UARTs and/or four PWM signals for hardware hacking, robot control, debugging, etc.&lt;br /&gt;
* un-brickable design with integrated boot loader for safe code experimentation&lt;br /&gt;
* Power and hold switch useful for &amp;quot;instant on&amp;quot; and key lockout to aid in media player applications on the go&lt;br /&gt;
* Runs on the Linux operating system (2.6.x)&lt;br /&gt;
* Dimensions: 140x83.4x27.5mm&lt;br /&gt;
* Weight: 335g (with 4200mAh battery)&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
The Pandora is a mixture between a PC and a gaming console (similar to classic computers such as the Amiga). That's why it has gaming controls (Buttons, DPad and analogue nubs). It is fast enough to emulate many other systems, run a full desktop, access the internet via Firefox and play games such as Quake3. However, it is not as big as a netbook. Believe it or not, it will fit in your pocket. It's a bit bigger than the Nintendo DS. (See Applications section of this manual to see what applications your Pandora will come with.)&lt;br /&gt;
Remember that your Pandora console will get better with every application installed!&lt;br /&gt;
&lt;br /&gt;
== First Time Use ==&lt;br /&gt;
Now that you've opened the box, let's set this thing up! Place the battery inside the battery compartment on the back of the Pandora, making sure the contacts touch(the little silvery metal bits, it's easy). Snap on the battery cover and you're all set!&lt;br /&gt;
==== Charging ====&lt;br /&gt;
Charge your Pandora 8 hours before disconnecting it from the wall charger. This will improve the lifetime of your battery. To charge the Pandora, insert the power cable end in the Pandora and the other end into your wall socket.&lt;br /&gt;
&lt;br /&gt;
The battery comes pre-charged at 40%, and that level might have decreased during shipping. To be on the safe side, we recommend that you charge the Pandora before you use it. Simply plug in your wall charger into an outlet, or optionally use a mini-USB cable connected to a computer or wall adapter. For extreme silliness, plug your Pandora into an ''already charged Pandora,'' and charge it from that! But not really.&lt;br /&gt;
&lt;br /&gt;
==== First Boot ====&lt;br /&gt;
Once your Pandora is ready, turn it on. The OS will take some time to boot up for the first time (about 10 minutes, this is only for the first boot, and is normal). After it has booted, a series of settings dialogs will pop up in the shape of a &amp;quot;Boot Wizard&amp;quot; allowing you to alter your Pandora's settings to your liking.&lt;br /&gt;
&lt;br /&gt;
There are a total of 3 parts to the Boot Wizard guide:&lt;br /&gt;
===== System configuration =====&lt;br /&gt;
The first thing you will have to do is to calibrate the Pandora's touch screen. Only do this if the screen isn't calibrated already.&lt;br /&gt;
You will have the option for touchscreen calibration the first time you boot up your Pandora console.&lt;br /&gt;
&lt;br /&gt;
Note: &amp;quot;Calibrating the touch screen&amp;quot; is a term used to describe the process of matching coordinates given by the touch layer with the underlying screen. A badly calibrated screen will register your push elsewhere on the screen, perhaps half a centimeter to one side. As there are sometimes slight variations in the production of the touch layer, you the user can improve the accuracy by matching the two layers manually.&lt;br /&gt;
&lt;br /&gt;
===== User setup =====&lt;br /&gt;
After calibrating your screen, you will have to enter your full name. This is what you will see in any user selection dialogs or when the system needs to address you, so enter whatever you are most comfortable with. Then follows your username. It is recommended to choose an all-lowercase, one-word username here, since you will have to enter this name every time you log in. Once you've entered your username, a password input dialog appears. You will have to enter the password you want to use twice here. If you don't want to have a password for your device, simply leave both fields empty. If, however, you decide to enter a password, something hard to guess and between 8 and 16 characters long is preferred.&lt;br /&gt;
&lt;br /&gt;
===== Network and security settings =====&lt;br /&gt;
You will now have to enter a name for your Pandora. This will be the Pandora's host name, so you have two options in this situation:&lt;br /&gt;
&lt;br /&gt;
# If you don't have a domain you want to connect to, simply enter any name here. It should not contain any spaces.&lt;br /&gt;
# If you ''do'' have a domain you want to connect to, enter a name in the form of &amp;quot;pandoraname.domainname.tld&amp;quot;. Note that you may never have a use for this.&lt;br /&gt;
&lt;br /&gt;
Then, you'll have to choose whether you want to automatically log in on your Pandora when it boots, or if you should be given the opportunity to log in as a different user, or enter your password. It is recommended to disable auto login if you want to protect your user data, but if you're often in a hurry, then you can enable auto login here.&lt;br /&gt;
&lt;br /&gt;
The final thing you will have to choose, is whether you want to use the full desktop Xfce environment or the gaming-oriented PMenu environment as your default environment in the Pandora. It is recommended to choose Xfce here if you want to gain access to the Pandora's full potential. This option can be changed later at any point.&lt;br /&gt;
&lt;br /&gt;
==== Calibrating The Touchscreen ====&lt;br /&gt;
The touchscreen in your new Pandora device isn't psychic! You have to tell it what to do, and in order to do that effectively, you need to calibrate it. Simply navigate to settings→screen→calibration wizard{{Verify credibility}} and follow the onscreen instructions. You may have to recalibrate the screen from time to time as well.&lt;br /&gt;
&lt;br /&gt;
During the first boot wizard, you will be offered the option to calibrate the touchscreen. By default it may well work okay, but the option is there. If calibration is far off, use the keyboard to select the calibration option.&lt;br /&gt;
&lt;br /&gt;
== Basic Use ==&lt;br /&gt;
&lt;br /&gt;
===Pmenu===&lt;br /&gt;
&lt;br /&gt;
===Desktop style environment===&lt;br /&gt;
&lt;br /&gt;
====On the Desktop====&lt;br /&gt;
&lt;br /&gt;
The desktop will contain icons for numerous locations (such as each mounted SD card), as well as any auto-discovered pnd-applications located on SD cards or internal NAND.&lt;br /&gt;
&lt;br /&gt;
====In the menu====&lt;br /&gt;
On the bottom left you have your applications menu, similar to the Windows start menu. Clicking it brings up a list of all installed applications and pnd-applications in the appropriate location on your SD cards.&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
To the right may be some icons, these serve as shortcuts to commonly used applications. Next to that you have your taskbar which, as you might have guessed, lists all running applications in your current workspace. To the right of the taskbar you have your workspaces, think of these as multiple desktops. By default you have two to switch between. Applications running in one workspace will not be visible in the other, so you can effectively hide your Ms. Pacman game from your boss at work, because there's no way you're not going to go for the gold, even at work! Finally there are a few more icons that deal with TV-Out, network connectivity, etc. and some running applications may place an icon there as well. And to the right of THOSE, you have your time. Because time flies when you're using your Pandora! Badum tsh. And to the right of that, you have a little icon which, when clicked, displays all running applications.&lt;br /&gt;
&lt;br /&gt;
Finally, I'd just like to reiterate this--EVERYTHING is customizable! We'll get to that section later, but for now, let's just check out the applications on your Pandora.&lt;br /&gt;
&lt;br /&gt;
===Buttons===&lt;br /&gt;
&lt;br /&gt;
====Xfce menu====&lt;br /&gt;
&lt;br /&gt;
The Pandora button will bring up the applications menu, letting you quickly enter a search to locate an application to run or perform operations against running applications.&lt;br /&gt;
&lt;br /&gt;
===Power Modes===&lt;br /&gt;
&lt;br /&gt;
Without switching the device entirely off, it may be placed into low power mode or regular power mode; simply pressing the power button will toggle modes.&lt;br /&gt;
&lt;br /&gt;
Consider low power mode to be akin to turning off a PDA or cellphone -- the screen is off, the CPU is clocked down and so on, but the device is still silently on, allowing for alarms to go off or it to be turned on again instantly. Regular power mode is for normal usage.&lt;br /&gt;
&lt;br /&gt;
Low power mode is probably going to be used as the normal &amp;quot;off&amp;quot; for most people, with true off (device powered down entirely, unable to respond to alarms or wake up quickly) available to conserve battery power. Turning the Pandora off completely is the best option if you don't plan on using it for few weeks or longer. &lt;br /&gt;
&lt;br /&gt;
Closing the lid will turn off the display but otherwise leave the device operating - handy for audio playing; turning off the display lowers power use.&lt;br /&gt;
&lt;br /&gt;
The actual behaviour of buttons and events can be customized.&lt;br /&gt;
&lt;br /&gt;
== Basic Linux user guide ==&lt;br /&gt;
New to the wonderful world of Linux? No problem! You don't need mad terminal skills to open a web browser, but it can be nice to know what you're doing once in a while.&lt;br /&gt;
==== The structure of the file system ====&lt;br /&gt;
If you're used to the file system of e.g. MS Windows, you will find that a Linux file system is rather different from what you're used to. In this section, we will go through everything you have to know in order to feel comfortable with using the Pandora's file system.&lt;br /&gt;
===== Basic philosophy =====&lt;br /&gt;
In Windows, you have multiple file system roots, called &amp;quot;drives&amp;quot;, that are labeled with different letters, like &amp;quot;C:&amp;quot; or &amp;quot;D:&amp;quot;. In Linux, there aren't multiple root directories, but rather just one root directory, called &amp;quot;/&amp;quot;. All other directories are inside of this directory, including other drives.&lt;br /&gt;
&lt;br /&gt;
===== Common directories =====&lt;br /&gt;
Inside of the root directory (&amp;quot;/&amp;quot;) are quite a lot of other directories. Here are the most important ones:&lt;br /&gt;
* &amp;quot;/home&amp;quot; - This is where all of the files that are owned by all users are stored. Users do not generally have write-access to anything outside of this directory.&lt;br /&gt;
* &amp;quot;/home/username&amp;quot; - Here are the personal files of user &amp;quot;username&amp;quot;. In this directory, you will find a directory called &amp;quot;Documents&amp;quot;, &amp;quot;Pictures&amp;quot;, &amp;quot;Desktop&amp;quot; etc. that correspond to that users personal directories. This directory is also called &amp;quot;username&amp;quot;'s home directory, and can be abbreviated with &amp;quot;~/&amp;quot; (if you're currently logged in as username) or &amp;quot;~username/&amp;quot;.&lt;br /&gt;
* &amp;quot;/boot&amp;quot; - This is the directory where the Linux kernel is stored, and other files that are needed at boot time can be accessed. Do not touch this directory (You can't even do it if you wanted to)!&lt;br /&gt;
* &amp;quot;/bin&amp;quot;, &amp;quot;/lib&amp;quot; - System binaries and libraries are stored here. Most of the terminal commands mentioned below can be found inside of &amp;quot;/bin&amp;quot;. You should generally never have to touch this directory, either.&lt;br /&gt;
* &amp;quot;/usr&amp;quot; - Here is where you'll find programs and files installed by the user. Core applications such as the web browser, media player, and other applications that are available the first time you start your Pandora are stored here. If you decide to install anything via the &amp;quot;ipkg&amp;quot; command (covered later), this is where the files needed by those installations will end up.&lt;br /&gt;
* &amp;quot;/etc&amp;quot; - System-wide configuration. Should only be touched by power-users.&lt;br /&gt;
* &amp;quot;/media/*&amp;quot; - If you connect USB drives, SD cards or other external media, you will find that the contents of that media have been placed here.&lt;br /&gt;
&lt;br /&gt;
Don't worry if this doesn't make any sense; It was thought up by bearded engineers back in the seventies. They liked the idea that everything would be in a predictable place, but this is no longer completely the case.&lt;br /&gt;
&lt;br /&gt;
==== The File Manager ====&lt;br /&gt;
==== Killing Applications ====&lt;br /&gt;
==== Basic Terminal Commands ====&lt;br /&gt;
Note: Linux is case sensitive. This applies to filenames and directories too. &amp;quot;/home/me/stuff&amp;quot; is a different folder than &amp;quot;/home/me/STUFF&amp;quot;, you can actually have both. You can have &amp;quot;/home/me/Stuff&amp;quot; too if you like, and all three are separately recognised directories.&lt;br /&gt;
&lt;br /&gt;
=====Navigation=====&lt;br /&gt;
In the terminal, you are always in some folder. Think of it like being in a file manager: you can see the contents of the directory you're in, you can do things with those files, or you may decide to go to some other folder and continue your work there.&lt;br /&gt;
&lt;br /&gt;
There are a few essential commands that are used to navigate around your system via the terminal:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;pwd&amp;quot; - Print the current working directory (will print e.g. &amp;quot;/home/user&amp;quot;)&lt;br /&gt;
* &amp;quot;ls&amp;quot; - List directory contents (similar to &amp;quot;Dir&amp;quot; in Dos, and the Linux command &amp;quot;dir&amp;quot; will actually emulate the DOS command if you want to!)&lt;br /&gt;
* &amp;quot;cd &amp;lt;directory name&amp;gt;&amp;quot; - Change to a different directory, eg. &amp;quot;cd music&amp;quot; or &amp;quot;cd /home/me/music&amp;quot;&lt;br /&gt;
* &amp;quot;cd ..&amp;quot; - Go up one directory level (similar to &amp;quot;cd..&amp;quot; in Dos)&lt;br /&gt;
* &amp;quot;cd&amp;quot; - Go back to your home directory (similar to My Documents in Windows)&lt;br /&gt;
* &amp;quot;cd -&amp;quot; - Go back to the previous directory you were in (handy if you forget)&lt;br /&gt;
&lt;br /&gt;
=====Controlling Running Apps=====&lt;br /&gt;
* &amp;quot;top&amp;quot; - View running processes (like the Task Manager in Windows) press &amp;quot;q&amp;quot; to quit&lt;br /&gt;
* &amp;quot;killall [program name] - Stops running process (use with care)&lt;br /&gt;
&lt;br /&gt;
=====File Manipulation=====&lt;br /&gt;
* &amp;quot;rm &amp;lt;filename&amp;gt;&amp;quot; - Remove a file, eg. &amp;quot;rm somefile.txt&amp;quot; or &amp;quot;rm /home/me/randomfiles/somefile.txt&amp;quot;&lt;br /&gt;
* &amp;quot;rmdir &amp;lt;directory&amp;gt;&amp;quot; - Will remove a directory, but **only** if it is empty!&lt;br /&gt;
* &amp;quot;rm -r &amp;lt;directory&amp;gt;&amp;quot; - Will remove a directory and its contents (&amp;quot;-r&amp;quot; means recursive)&lt;br /&gt;
* &amp;quot;rm -rf &amp;lt;directory&amp;gt;&amp;quot; - Will remove a directory, all of its contents, without asking you first. Use with extreme care. (&amp;quot;-f&amp;quot; means force)&lt;br /&gt;
* &amp;quot;mv &amp;lt;original filename&amp;gt; &amp;lt;new filename&amp;gt;&amp;quot; - Moves a file to a new place, also used for renaming, eg. &amp;quot;mv somefile.txt somefile_backup.txt&amp;quot; will rename it, but &amp;quot;mv somefile.txt /home/me/backup/somefile.txt&amp;quot; will move it. This will also work for directories.&lt;br /&gt;
* &amp;quot;cp &amp;lt;file to copy&amp;gt; &amp;lt;new filename&amp;gt;&amp;quot; - Copy a file, eg. &amp;quot;cp twoweeks.txt twomonths.txt&amp;quot; copies into current directory, while &amp;quot;cp twomonths.txt /home/me/ihaveadream/twoweeks.txt&amp;quot; copies to another directory.&lt;br /&gt;
* &amp;quot;cp -r &amp;lt;directory to copy&amp;gt; &amp;lt;new directory name&amp;gt;&amp;quot; - Copy a directory and all of its contents to another location.&lt;br /&gt;
* &amp;quot;touch &amp;lt;new file name&amp;gt;&amp;quot; - Makes a new (empty) file&lt;br /&gt;
* &amp;quot;mkdir &amp;lt;new directory name&amp;gt;&amp;quot; - Makes a directory&lt;br /&gt;
&lt;br /&gt;
=====Misc.=====&lt;br /&gt;
* &amp;quot;cat &amp;lt;filename&amp;gt;&amp;quot; - Prints the contents of a file, eg. &amp;quot;cat hellolo.txt&amp;quot;&lt;br /&gt;
* &amp;quot;clear&amp;quot; - Clears screen, terminal input begins at the top again&lt;br /&gt;
* &amp;quot;date&amp;quot; - Your friend, the terminal will tell you the date&lt;br /&gt;
* &amp;quot;cal [month] [year]&amp;quot; - Makes a pretty calendar, eg. &amp;quot;cal 12 2009&amp;quot; or &amp;quot;cal * 2010&amp;quot; or &amp;quot;cal 1 2010 &amp;gt; fingers_crossed.txt&amp;quot; sends output to file&lt;br /&gt;
* &amp;quot;history&amp;quot; - Gives a list of the recent commands you have run.  Running !number (e.g. !15) will rerun that numbered command in the history list&lt;br /&gt;
&lt;br /&gt;
History Search: Press CTRL-R.  As you type, BASH will try and find the command in your recent history that most closely matches what you are typing.  To get back to the prompt, press CTRL-C.&lt;br /&gt;
&lt;br /&gt;
Autocompletion: Press TAB. The terminal (also called the shell) will attempt to intelligently figure out what you're trying to type. It needs something to work with however, so try pressing TAB half way through a command or location.&lt;br /&gt;
&lt;br /&gt;
eg. &amp;quot;cd /home/me/pandora_suc&amp;quot; *TAB* will complete it as &amp;quot;cd /home/me/pandora_success&amp;quot; or with a filename &amp;quot;cat /home/me/letters/i_want_the_pandora_to_fa&amp;quot; *TAB* will turn into &amp;quot;cat /home/me/letters/i_want_the_pandora_to_fall_into_my_hands&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Directory aliases: There are some special directory names you can use to refer to a directory that would be too long to type otherwise, or that you simply don't know the name of.&lt;br /&gt;
* &amp;quot;~&amp;quot; - Refers to your home directory e.g. &amp;quot;/home/user&amp;quot;.&lt;br /&gt;
* &amp;quot;~seconduser&amp;quot; - Refers to someone else's home directory.&lt;br /&gt;
* &amp;quot;.&amp;quot; - Refers to the current directory, or the &amp;quot;same directory&amp;quot; in a path. What this means, is that if you type &amp;quot;cd .&amp;quot;, nothing will happen since you already are in &amp;quot;.&amp;quot;, and if you type &amp;quot;cd somedir/././././././.&amp;quot;, you will simply go to &amp;quot;somedir&amp;quot;, since the &amp;quot;.&amp;quot;-directories that come after it are the &amp;quot;same directory&amp;quot; as the one before them.&lt;br /&gt;
* &amp;quot;..&amp;quot; - Refers to the directory in which the current directory is, or the &amp;quot;parent directory&amp;quot; in a path. If you type &amp;quot;cd ..&amp;quot; you will come to the parent directory of your current directory, and if you type &amp;quot;cd s1/s2/s3/../../..&amp;quot;, nothing will happen, since the path you specified cancels itself out.&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
Many applications will come preinstalled into the internal NAND; these will be regular Linux applications (not packaged into pnd files, since they do not need to be redistributed to anyone.)&lt;br /&gt;
&lt;br /&gt;
Additional applications may be found as pnd-files (see below, a packaged up single file representing an entire application) or as regular Linux files (an application likely being made up of many files and possibly needing installation.)&lt;br /&gt;
&lt;br /&gt;
==== What Is Included? ====&lt;br /&gt;
* Ångström Linux: Lightweight beautiful Linux-based operating system for the Pandora.&lt;br /&gt;
* Xfce: A full featured window manager for Linux.&lt;br /&gt;
* Midori: A full features web browser, designed to be lighter and faster than a full desktop style browser.&lt;br /&gt;
* OpenOffice: Full desktop document managing. Edit, create and manage your documents on the go. (really??)&lt;br /&gt;
{{Volume needed}}&lt;br /&gt;
&lt;br /&gt;
==== Where Can I Get More Apps? ====&lt;br /&gt;
There are many ways to get more applications onto your Pandora.&lt;br /&gt;
&lt;br /&gt;
*The easiest way is to browse the [http://doesnotexistyet.com Pandora App Store], where you can download a selection of free or commercial applications. To download, navigate to an app, pay for it if you must, and hit the 'download' button. Select where you want to save it, and you're done!&lt;br /&gt;
&lt;br /&gt;
*There is the good ol' [http://dl.openhandhelds.org/cgi-bin/pandora.cgi Pandora File Archive].&lt;br /&gt;
&lt;br /&gt;
*There are nice repositories, such as the [http://www.angstrom-distribution.org/repo Angstrom ARM Repository], or...&lt;br /&gt;
&lt;br /&gt;
*The Pandora includes the package manager [http://en.wikipedia.org/wiki/Ipkg ipkg].&lt;br /&gt;
&lt;br /&gt;
*Also, people may upload their apps to weird crevices in the net, so be on the lookout! (or use a search engine)&lt;br /&gt;
&lt;br /&gt;
== Introduction To .PNDs ==&lt;br /&gt;
==== What Are .PNDs? ====&lt;br /&gt;
&lt;br /&gt;
A .pnd (&amp;quot;pandora&amp;quot;) file is an application (game, word processor, emulator, whatever.) More accurately, it is a full application bundled up into a single file; think of it like a zip, with a relatively well defined internal structure.&lt;br /&gt;
&lt;br /&gt;
The pnd-file system was designed so you could use an application without the hassle of installation or uninstallation, or even having to organize it yourself if you don't want to. You just download or obtain the pnd-file, and use it. &lt;br /&gt;
&lt;br /&gt;
If you remember classic computers such as the Amiga - where you inserted a disk and then launched the applications read by Workbench (the Amiga's operating system) - then this is similar: when you insert an SD card into one of the two slots, the (Linux based) Pandora OS will scan it for your PND program files. Any program it finds will either turn up on the desktop or the application menu (just like in Windows).&lt;br /&gt;
&lt;br /&gt;
More details can be found in the &amp;quot;libpnd hub&amp;quot; part of the wiki, but that is more oriented to techies and developers.&lt;br /&gt;
&lt;br /&gt;
==== How do I run a PND-application? ====&lt;br /&gt;
&lt;br /&gt;
Put your pnd-files in your SD (see below for some suggestions where.)&lt;br /&gt;
&lt;br /&gt;
A pnd-file is usually invoked in one of the following ways&lt;br /&gt;
&lt;br /&gt;
* browse to the file using the directory browser, and click to run it. (.pnd files are file-associated to another program, pnd_run which knows how to run them.) This lets you organize pnd-files in directories of your choice on the device NAND or SD.&lt;br /&gt;
&lt;br /&gt;
* in PMenu, the applications will be shown by name; you can just select and run them from the menu&lt;br /&gt;
&lt;br /&gt;
* for pnd-files placed into /pandora/menu on SD, the application will be shown in the Start menu on the device; use your stylus or buttons to invoke it&lt;br /&gt;
&lt;br /&gt;
* for pnd-files placed into /pandora/desktop or /pandora/apps on SD, they will show up automatically on your desktop; invoke them with the stylus, your finger, or controls as you see fit&lt;br /&gt;
&lt;br /&gt;
==== Where Do .PNDs Go? ====&lt;br /&gt;
&lt;br /&gt;
Put .pnd-files into specific directories if you want them to show up in the Start menu or on your Pandora desktop, or in Pmenu. &lt;br /&gt;
&lt;br /&gt;
You can put them anywhere you like in internal NAND or SD, if you wish to organize them yourself and launch them with taps.&lt;br /&gt;
&lt;br /&gt;
/pandora/desktop -&amp;gt; pnd files show up on the desktop&lt;br /&gt;
&lt;br /&gt;
/pandora/menu -&amp;gt; show up in the Applications menu (by the developers suggested categories.)&lt;br /&gt;
&lt;br /&gt;
/pandora/apps -&amp;gt; show up in the desktop, and in Pmenu&lt;br /&gt;
&lt;br /&gt;
These locations are not written in stone. The &amp;quot;libpnd&amp;quot; config files are in /etc/pandora/conf in the NAND. Generally you will never need to alter these files, but you certainly can if you wish. In theory, obliterating the files will still leave the system working, and they are easily restored. One file, /etc/pandora/conf/desktop defines the &amp;quot;search paths&amp;quot; to look for .pnd files, and where to put &amp;quot;.desktop&amp;quot; files when they are found. The searchpaths says where to find them (such as /pandora/desktop), and where to put the application link - /usr/share/applications is where the menu items are pulled from. IF you wish to put pnd files somewhere not in the searchpath, just add the directory to the search-path and you're good to go.&lt;br /&gt;
&lt;br /&gt;
==== Where does my data go? How do I make files visible to the applications? ====&lt;br /&gt;
&lt;br /&gt;
An application normally will see what is contained within the pnd-file, or your personal data created with the tool; it can of course look anywhere on the SD or device internal memory. For example a Quake port might expect to see extra level files in /quake, or give you a way of selecting a path to put files in.. or it might just expect it to be in your personal data folders, or in the pnd-file itself. Its up to the application, with suggestions in the pnd-guidelines for developers.&lt;br /&gt;
&lt;br /&gt;
The first time a pnd-application is run, an &amp;quot;app data&amp;quot; directory is created for it; anything that app data folder contains will be visible to the application as if it was in the pnd-file (and in fact, this lets you override files in the pnd-file without modifying the .pnd itself, which could be handy.) If your app creates a file &amp;quot;foo&amp;quot;, it'll show up in /pandora/appdata/appname-id as &amp;quot;foo&amp;quot;. The actual appdata folder name depends on the name used by the developer, but should generally look like application-name and some funny number afterwards. It should be easy to spot.&lt;br /&gt;
&lt;br /&gt;
ex: Quake 1 will probably put score or save data in /pandora/appdata/quake1-123/ or somesuch.&lt;br /&gt;
&lt;br /&gt;
It will always be helpful to read the description or readme file included.&lt;br /&gt;
&lt;br /&gt;
===== Q: How do I make ROMs available to an emulator? =====&lt;br /&gt;
&lt;br /&gt;
For something like ROMs, hopefully a developer consensus will lead either to a canonical location, or a convention of having a directory picker or browser present, so that ROMs can be stored in SD locations of your choice; doesn't strike me as something that should be in a pnd-file, or to be pretended to be in a pnd-file with appdata tricks.&lt;br /&gt;
&lt;br /&gt;
===== Q: How do I make pak-files available to Quake? =====&lt;br /&gt;
&lt;br /&gt;
For some add-ons or data needed for a game, the developer may require it to be 'in the main application path'; as mentioned above, just drop it into the appdata folder and the app will just see it.&lt;br /&gt;
&lt;br /&gt;
==== How Do I Make .PNDs? ====&lt;br /&gt;
==== More Info About .PNDs ====&lt;br /&gt;
Visit [[libpnd_hub]] for more information!&lt;br /&gt;
== Configuration ==&lt;br /&gt;
==== Updating The Firmware ====&lt;br /&gt;
&lt;br /&gt;
Given a working firmware, you might wish to patch it with official Open Pandora patches; you might also wish to just grab an application from the Angstrom repository, say. &lt;br /&gt;
&lt;br /&gt;
In both of these cases, an ipk file will be made available. (In the future, an automated system may offer to patch up your device or auto-download patches. TBD.)&lt;br /&gt;
&lt;br /&gt;
An ipk file is a compressed installable package.&lt;br /&gt;
&lt;br /&gt;
It should be easily used, but from the Terminal if you wish to manually apply an ipk to patch the firmware, install or update an Angstrom application, it is simple: '''opkg install foo.ipk'''&lt;br /&gt;
&lt;br /&gt;
==== Replacing the Firmware ====&lt;br /&gt;
&lt;br /&gt;
Rather than patch the firmware, the firmware may be replaced wholesale with a freshly downloaded firmware.&lt;br /&gt;
&lt;br /&gt;
==== Booting a Firmware from SD ====&lt;br /&gt;
&lt;br /&gt;
The hardware is capable of booting entirely from SD; if the device is bricked or otherwise has a blank NAND, this could be an option. furthermore you're able to try out alternative operating systems without needing to reinstall your primary operating system.&lt;br /&gt;
&lt;br /&gt;
Steps include:&lt;br /&gt;
&lt;br /&gt;
* Preparing the SD card(s)&lt;br /&gt;
* Setting up the firmware on the SD card&lt;br /&gt;
&lt;br /&gt;
=====Preparing the SD card=====&lt;br /&gt;
&lt;br /&gt;
There are two main approaches:&lt;br /&gt;
&lt;br /&gt;
* Setting up the firmware on on SD card (meaning you need two partitions - a boot partition, and a firmware partition), and&lt;br /&gt;
* Setting things up across two SD cards - meaning you boot from one SD card, and have the firmware on the other.&lt;br /&gt;
&lt;br /&gt;
Operating from one SD card provides you the option of still being able to use the other; operating across two cards provides you he option to have a regular boot-SD, and flip between multiple other SDs for the actual firmware, should you wish to cycle between many operating systems (say.)&lt;br /&gt;
&lt;br /&gt;
The boot partition generally must be FAT32, and then the kernel, MLO and other files need to be unpacked upon it.&lt;br /&gt;
&lt;br /&gt;
The firmware partition must be either ext2fs or ext3fs; under Linux, such a partition can be easily created:&lt;br /&gt;
&lt;br /&gt;
'''mkfs.ext2 -L LABELNAME /dev/mmcblk0p2'''&lt;br /&gt;
- assuming LABELNAME for the partition&lt;br /&gt;
- assuming /dev/mmcblk0p2 for your SD device; you'd better check this carefully ;)&lt;br /&gt;
&lt;br /&gt;
==== Setting Up WiFi ====&lt;br /&gt;
==== Setting Up Blutooth ====&lt;br /&gt;
==== Adjusting Brightness/Contrast ====&lt;br /&gt;
==== Changing Your Theme ====&lt;br /&gt;
== Oops! I Borked My Pandora! ==&lt;br /&gt;
Fear not, young netizen! Your Pandora was designed to be unbrickable, so unless you used the ancient art of alchemy to physically turn your Pandora into a brick (or you just broke the hardware inside), you should be okay!&lt;br /&gt;
==== Restore The Original Firmware ====&lt;br /&gt;
==== Boot From SD or USB ====&lt;br /&gt;
== Pandora FAQ ==&lt;br /&gt;
Silly goose, go to the [[FAQ]] page for more detailed information.&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=2003</id>
		<title>USB compatibility list</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=2003"/>
		<updated>2010-01-10T20:45:11Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Devices==&lt;br /&gt;
===HSDPA (3G) Modems===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested in Linux&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160&lt;br /&gt;
| Not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| standard-A port&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Huawei E220&lt;br /&gt;
| Not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 250mA&lt;br /&gt;
| standard-A port via High Speed hub&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===USB to Ethernet adapters===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested in Linux&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter MB442Z/A&lt;br /&gt;
| Not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| &lt;br /&gt;
| standard-A port&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors, adapters, and hubs==&lt;br /&gt;
This section is intended as a general guide. Items in this section are standard USB accessories, so drivers are not required. Compatibility with Pandora is assumed. Please note that any external product links are provided for reference only, and are not an endorsement.&lt;br /&gt;
===OTG Adapters===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Tested&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Generic adapter&lt;br /&gt;
| No&lt;br /&gt;
| [[http://shop.ebay.com/?_from=R40&amp;amp;_trksid=p3907.m38.l1313&amp;amp;_nkw=usb+otg+host+cable&amp;amp;_sacat=See-All-Categories Find on eBay]] [[http://www.amazon.co.uk/s/ref=nb_ss_ce?url=search-alias%3Delectronics&amp;amp;field-keywords=OTG+Cable+Adapter&amp;amp;x=3&amp;amp;y=23 Find on Amazon]]&lt;br /&gt;
|-&lt;br /&gt;
| Nokia USB OTG adapter&lt;br /&gt;
| Yes&lt;br /&gt;
| Link Required&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Compact USB Hubs===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Tested&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Griffin SmartShare USB&lt;br /&gt;
| No&lt;br /&gt;
| [[http://www.griffintechnology.com/products/smartshare-usb Griffin website]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
For more information on the Pandora's two USB ports and the possible connections that can be made with them, see [[USB_reference|the USB reference page]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PXML_specification&amp;diff=2001</id>
		<title>PXML specification</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PXML_specification&amp;diff=2001"/>
		<updated>2010-01-10T20:44:01Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,1,0,0,45,35 Download this page as PDF]&lt;br /&gt;
&lt;br /&gt;
'''Attention:''' at the present time, the PXML file format isn't set in stone, and is therefore subject to change. There is no guarantee that the format or the schema are bug-free or will be changed at any time. Please wait until this standard is finished before writing a PXML file.&lt;br /&gt;
&lt;br /&gt;
This is the human-readable specification for the PXML file format. The PXML file format is used in your applications for the OpenPandora® that you package in &amp;quot;.pnd&amp;quot;-files or distribute otherwise, to make it possible for menus and launchers to use your applications and their properties.&lt;br /&gt;
&lt;br /&gt;
A PXML file should be appended to your &amp;quot;.pnd&amp;quot;-file, using the tools provided for that purpose, or put in a directory that you want to serve as a redistributable package, to make it possible for launchers and menus to find it. It should have the name &amp;quot;PXML.xml&amp;quot; not case sensitive, and there should only be one such file. The contents of the PXML file should also comply to this specification without exception, to guarantee that everyone will be able to read it.&lt;br /&gt;
&lt;br /&gt;
== XML compatibility ==&lt;br /&gt;
The PXML format is XML-based and fully XML-compliant, which means that it can be read and written by any XML reader or writer. Included with this specification should also be a &amp;quot;.xsd&amp;quot;-file, which is used by XML tools to validate PXML files. A &amp;quot;.xsd&amp;quot;-file is also known as a XML schema, and can be called the &amp;quot;computer-readable&amp;quot; version of this document. It is very good practice to validate your PXML-files with that schema before publishing them.&lt;br /&gt;
&lt;br /&gt;
To write a PXML file, you also need to know the basics of writing a XML file. It boils down to the following:&lt;br /&gt;
&lt;br /&gt;
# If an element contains text or other elements, it needs a start-tag and an end-tag. This looks like (1)&lt;br /&gt;
# If an element does not contain other elements or text, but only attributes, it looks like (2)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;exampleelement someattribute=&amp;quot;something&amp;quot;&amp;gt;something inside it&amp;lt;/exampleelement&amp;gt; &amp;lt;!-- (1) --&amp;gt;&lt;br /&gt;
&amp;lt;exampleelement2 someattribute=&amp;quot;something&amp;quot; /&amp;gt; &amp;lt;!-- (2) --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The PXML-file is split up into multiple so-called elements, each of which specify one property of the &amp;quot;.pnd&amp;quot;-package. All of these elements are surrounded with a &amp;quot;&amp;lt;PXML&amp;gt;&amp;quot;-tag, which tells the readers of the file that the data within that tag belongs to a PXML file. The tag and elements should be defined as follows:&lt;br /&gt;
=== The PXML-tag ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The PXML-tag serves as the container for all PXML elements. It is the first thing that should occur in your PXML file. An example &amp;quot;&amp;lt;PXML&amp;gt;&amp;quot;-tag would look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;PXML xmlns=&amp;quot;http://openpandora.org/namespaces/PXML&amp;quot; id=&amp;quot;uniqueID&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!--All of the PXML elements should be put here--&amp;gt;&lt;br /&gt;
&amp;lt;/PXML&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, the PXML tag accepts a few attributes, namely the &amp;quot;id&amp;quot; and &amp;quot;xmlns&amp;quot; attributes.&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;xmlns&amp;quot; attribute is required by the XML standard, and guarantees that this file will be identified as a PXML file. You must include the xmlns attribute, exactly as shown, in your PXML file, with the URL as specified. Only then can it be guaranteed that the file will be read at all by launchers and menu apps.&lt;br /&gt;
* The &amp;quot;id&amp;quot; attribute specifies an identifier for your PND package, and should be something globally unique so that no two PND packages have the same id. This can be achieved by appending some random number to your application name, and to use that as your id; or to simply generate a completely random, very long id. If this id already is used in another PND file, those two PND files will conflict with each other, and unforseeable errors will occur. Please put effort into generating an unique id for your PXML-file.&lt;br /&gt;
&lt;br /&gt;
=== The title element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The title element specifies the text that is shown to the users of your PND file as the application title. This element can be specified multiple times in multiple languages the language is indicated by the lang attribute.&lt;br /&gt;
&lt;br /&gt;
At least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Your application name&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;title lang=&amp;quot;de_DE&amp;quot;&amp;gt;Deinen Programmnamen&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== The description element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The description element specifies the text that is shown to the users of your PND file as the application description. This element can be specified multiple times in multiple languages the language is indicated by the lang attribute.&lt;br /&gt;
&lt;br /&gt;
At least one &amp;quot;description&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language.&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;Your long description of this application, describing it's purpose and highlighting it's features.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;de_DE&amp;quot;&amp;gt;Deine etwas längere Programmbeschreibung, die den Sinn des Programmes und den wichtigsten Features beschreiben sollte.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The exec element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The exec element should specify all the information needed to execute your application.&lt;br /&gt;
An exec element must be included in every PXML file. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* The command attribute specifies the path to the executable file. This should be a relative path to a file within the PND package.&lt;br /&gt;
* The startdir attribute specifies the starting directory (Also known as the working directory) that the application should start in. This should be a relative path to a directory within the PND package, or to a well-known directory in the Pandora file system.&lt;br /&gt;
* The standalone attribute specifies whether or not this application can run on its own, or if it needs parameters to run. A value of &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot; means that the application can be run without parameters. A value of &amp;quot;false&amp;quot; or &amp;quot;0&amp;quot; means that the application must be run with parameters (Meaning that no icon will appear for it in a launcher; it will only be run via file associations or via the terminal).&lt;br /&gt;
* The background attribute specifies whether or not this application should run in the background, and it should be possible to switch to other apps while it is running, or if it is the only application that should be running. A value of &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot; means that the application can run in the background. A value of &amp;quot;false&amp;quot; or &amp;quot;0&amp;quot; means that the application must be run as the only application.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;exec background=&amp;quot;true&amp;quot; startdir=&amp;quot;/usr/share/icons/&amp;quot; standalone=&amp;quot;true&amp;quot; command=&amp;quot;myprogram&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== The icon element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The icon element should specify a nice icon for your program.&lt;br /&gt;
An icon element is optional. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* The src attribute specifies the path to the image file used as the icon.&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;icon src=&amp;quot;images/icon.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The previewpics element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The previewpics element is an element that contains multiple other elements.&lt;br /&gt;
A previewpics element is optional.&lt;br /&gt;
&lt;br /&gt;
It contains multiple pic-elements. Every pic-element represents one preview picture. If the previewpics element is specified, it must contain at least one pic element.&lt;br /&gt;
&lt;br /&gt;
* The src attribute on a pic element specifies the path to the image file used as the preview picture.&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;previewpics&amp;gt;&lt;br /&gt;
  &amp;lt;pic src=&amp;quot;preview/pic1.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;pic src=&amp;quot;preview/pic2.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/previewpics&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The author element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The author element is an element that is used by the author to introduce him/herself.&lt;br /&gt;
An author element is optional. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* The name attribute specifies the name of the author.&lt;br /&gt;
* The website attribute specifies the website of the author.&lt;br /&gt;
* The email attribute specifies the e-mail of the author. This attribute is not yet supported by libpnd, but please specify it anyways.&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;author name=&amp;quot;Bjornhild Andersson&amp;quot; website=&amp;quot;http://some.website.with.author.info&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== The version element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The version element specifies the application version.&lt;br /&gt;
A version element is required. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* The major attribute specifies the major version number. This number should be 0 or more.&lt;br /&gt;
* The minor attribute specifies the minor version number. This number should be 0 or more.&lt;br /&gt;
* The release attribute specifies the release number. This number should be 0 or more.&lt;br /&gt;
* The build attribute specifies what build the application is at. This number should be 0 or more.&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;version major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== The osversion element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The osversion element specifies the application version.&lt;br /&gt;
An osversion element is optional. It accepts the same attributes as the version element.&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osversion major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== The categories element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The categories element is an element that contains multiple other elements.&lt;br /&gt;
A categories element is required, and must contain at least one category.&lt;br /&gt;
&lt;br /&gt;
Menus that use your PXML in any shape or form will use the category information to sort your application entry into the tree or sub menus. Depending on the menu system, this will be done differently every time. It is therefore advisable to specify as many categories and subcategories as possible (and as suitable; don't specify that your application belongs in a category if it doesn't).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;categories&amp;quot; element contains multiple category-elements. Every category-element represents one category that this app can be sorted into. Valid top-level categories are (among others):&lt;br /&gt;
&lt;br /&gt;
# AudioVideo&lt;br /&gt;
# Audio&lt;br /&gt;
# Video&lt;br /&gt;
# Development&lt;br /&gt;
# Education&lt;br /&gt;
# Game&lt;br /&gt;
# Graphics&lt;br /&gt;
# Network&lt;br /&gt;
# Office&lt;br /&gt;
# Settings&lt;br /&gt;
# System&lt;br /&gt;
# Utility&lt;br /&gt;
&lt;br /&gt;
Please see [http://standards.freedesktop.org/menu-spec/latest/apa.html the FreeDesktop specification] for more information. In it, you will also find valid subcategories for your top-level categories.&lt;br /&gt;
&lt;br /&gt;
The category-element takes one attribute: The name-attribute. This attribute represents the category name, which preferrably should be one of the above.&lt;br /&gt;
&lt;br /&gt;
A category-element can contain further child-elements: subcategory-elements. These represent the subcategories of a category that the app will be sorted into.&lt;br /&gt;
&lt;br /&gt;
The subcategory-element also takes a name-attribute; this attibute can contain a name for your subcategory.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categories&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This app belongs in the &amp;quot;Game/StrategyGame&amp;quot; category --&amp;gt;&lt;br /&gt;
  &amp;lt;category name=&amp;quot;Game&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;subcategory name=&amp;quot;StrategyGame&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This app also belongs in the &amp;quot;Graphics/ImageProcessing&amp;quot; category --&amp;gt;&lt;br /&gt;
  &amp;lt;category name=&amp;quot;Graphics&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;subcategory name=&amp;quot;ImageProcessing&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&amp;lt;/categories&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== The associations element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The associations element is an element that contains multiple other elements.&lt;br /&gt;
An associations element is optional, except if exec.standalone is false.&lt;br /&gt;
&lt;br /&gt;
It contains multiple association-elements. Every association-element represents one file action association.&lt;br /&gt;
&lt;br /&gt;
* The name attribute on an association element specifies the user-friendly action name for the association.&lt;br /&gt;
* The filetype attribute on an association element specifies what file types (in MIME format) that this association should apply to.&lt;br /&gt;
* The exec attribute on an association element specifies the command-line arguments that should be given to the program, when this action is performed. The exec can contain a &amp;quot;%s&amp;quot;, which indicates where the file name of the file, that the action is performed on, should be inserted. For example, if the exec-line is &amp;quot;--file %s --type lol&amp;quot;, and you have a file &amp;quot;lol.bmp&amp;quot; that the action is performed on, the exec-line is transformed into &amp;quot;--file &amp;quot;lol.bmp&amp;quot; --type lol&amp;quot;&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;associations&amp;gt;&lt;br /&gt;
  &amp;lt;association name=&amp;quot;Open Bitmap Image&amp;quot; filetype=&amp;quot;image/bmp&amp;quot; exec=&amp;quot;-f %s --no-deinterlacing&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;association name=&amp;quot;Crash the computer with a stylesheet&amp;quot; filetype=&amp;quot;text/css&amp;quot; exec=&amp;quot;-f %s --crash-on-success&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/associations&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== The clockspeed element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
The clockspeed element specifies what clockspeed this app should run at. Please do only specify this element if your application *needs* to run at the specified clock speed.&lt;br /&gt;
A clockspeed element is optional. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* The frequency attribute specifies the wanted frequency, in megahertz (MHz).&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;clockspeed frequency=&amp;quot;600&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Example file ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PXML id=&amp;quot;youruniqueID&amp;quot; xmlns=&amp;quot;http://openpandora.org/namespaces/PXML&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Program Title&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;de_DE&amp;quot;&amp;gt;German Program Title&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;exec background=&amp;quot;true&amp;quot; startdir=&amp;quot;/usr/share/icons/&amp;quot; standalone=&amp;quot;true&amp;quot; command=&amp;quot;program&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;icon src=&amp;quot;program.png&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;This is the English Description of the file.&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;de_DE&amp;quot;&amp;gt;This would be the German description.&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;previewpics&amp;gt;&lt;br /&gt;
    &amp;lt;pic src=&amp;quot;preview/pic1.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;pic src=&amp;quot;preview/pic2.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/previewpics&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;author name=&amp;quot;Some Dudeson&amp;quot; website=&amp;quot;http://a.bc.de&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;version major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;osversion major=&amp;quot;1&amp;quot; minor=&amp;quot;0&amp;quot; release=&amp;quot;0&amp;quot; build=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;categories&amp;gt;&lt;br /&gt;
    &amp;lt;category name=&amp;quot;Game&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;subcategory name=&amp;quot;StrategyGame&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/category&amp;gt;&lt;br /&gt;
    &amp;lt;category name=&amp;quot;Graphics&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;subcategory name=&amp;quot;ImageProcessing&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/category&amp;gt;&lt;br /&gt;
  &amp;lt;/categories&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;associations&amp;gt;&lt;br /&gt;
    &amp;lt;association name=&amp;quot;View Word File&amp;quot; filetype=&amp;quot;application/msword&amp;quot; exec=&amp;quot;-f %s -t doc&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/associations&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;clockspeed frequency=&amp;quot;600&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/PXML&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
&lt;br /&gt;
To validate a PXML file, you need a XSD (XML schema) validator, and you have to know how to use it.&lt;br /&gt;
&lt;br /&gt;
You will also need to put the XML schema for the PXML format in the same folder as your PXML file.&lt;br /&gt;
&lt;br /&gt;
When you have done that, and know how to use it, you need to change a few things in your PXML file. In your PXML tag, change the contents from this...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;PXML id=&amp;quot;...&amp;quot; xmlns=&amp;quot;http://openpandora.org/namespaces/PXML&amp;quot;&amp;gt; ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...to this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;PXML id=&amp;quot;...&amp;quot; xmlns=&amp;quot;http://openpandora.org/namespaces/PXML&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:noNamespaceSchemaLocation=&amp;quot;PXML_schema.xsd&amp;quot;&amp;gt; ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the PXML file can be validated.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=2000</id>
		<title>Libpnd hub</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=2000"/>
		<updated>2010-01-10T20:43:39Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=libpnd - the Pandora Library=&lt;br /&gt;
&lt;br /&gt;
libpnd is a basic collection of functions and tools to make working Pandora-specific operations easier; to wit, it is hoped multiple applications will make use of this library rather than re-implement similar functionality and lead to problems down the road. (Instead we can run into problems together and thus clobberize them.) &lt;br /&gt;
&lt;br /&gt;
libpnd thus is a collection of ...&lt;br /&gt;
&lt;br /&gt;
- handy system code that hopefully is reusable - IO functions, CPU clock setting, etc.&lt;br /&gt;
&lt;br /&gt;
- applications for supporting the Pandora unique features, such as pndnotifyd for auto-discovery of PXML and .pnd applicatons&lt;br /&gt;
&lt;br /&gt;
- libraries for support of the .pnd and PXML systems; i.e.: for locating, executable, mounting and unmounting PXML-directory and .pnd applications, loading PXML and handling overrides&lt;br /&gt;
&lt;br /&gt;
- hopefully reusable code for support of these things; i.e.: a rudimentary but useful config-file parser, rudimentary singly-linked-list container, etc.&lt;br /&gt;
&lt;br /&gt;
libpnd will/does also include utility functions for setting the CPU clock, reading GPIO inputs without depending on SDL, and other handy bits.&lt;br /&gt;
&lt;br /&gt;
'''You can, nay, are needed - contribute to libpnd!'''&lt;br /&gt;
&lt;br /&gt;
==Design considerations and philosophy==&lt;br /&gt;
&lt;br /&gt;
While much of libpnd is obvious, some decisions had to be made and it may help to know the guiding principle behind it; the Pandora device will be a handheld _computer_, but libpnd is designed to facilitate certain operations with goals towards..&lt;br /&gt;
&lt;br /&gt;
- simplicity - just work right, configuration not generally needed&lt;br /&gt;
&lt;br /&gt;
- obviousness - work as one would expect for this sort of device; i.e.: the user assumes something will work a certain way, and it does&lt;br /&gt;
&lt;br /&gt;
- like other guys - as an extension of the prior point, we have tried to follow UNIX spirit and provide reusable small tools to do the work those bits can be leveraged, but further tried to follow the spirit of other consoles. So while the device is a powerful little computer, it is probably going to be used by gaming and retro enthusiasts and so we color some of our decisions that way. (i.e.: consider that a PS2/xbox/PSP/etc will have save-game or data management as a separate application, for instance. If thats the best multi-million dollar companies can come up with over decades, well, its not so bad for us to fall back on!)&lt;br /&gt;
&lt;br /&gt;
- not over-defined; libpnd and PXML try to define a bunch of things, but we also do not _over define_; we try to lead by providing examples and styles, and while we have designed ahead for many things, we have also not nailed a lot of that down too early. It is better to be simple and shipped, then complex and a mess.. adaptable rather than scary.&lt;br /&gt;
&lt;br /&gt;
The library is of course broken into parts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
include     - include these files to make use of the lib&lt;br /&gt;
lib         - the code that produces the lib&lt;br /&gt;
test        - mini tools to test various pieces of the lib in isolation&lt;br /&gt;
bin         - test tools - tools for testing the lib as it is developed, not anticipated to be used by many&lt;br /&gt;
testdata/   - for testing /etc/pandora; will contain 'conf' dir, for example&lt;br /&gt;
apps/       - actual applications people may use, such as pndnotifyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For now though, here are a couple notes about the design.&lt;br /&gt;
&lt;br /&gt;
- it is straight C code, to be maximumly re-usable (perhaps C++ and other language bindings will tie back to it). I have gone out of my way to limit external references so that bindings are easier to make. &lt;br /&gt;
&lt;br /&gt;
- contrary to the previous comment, we've used a bit of C++ for the tinyxml parser .. hopefully this is not an issue.&lt;br /&gt;
&lt;br /&gt;
- I have tried to keep the API relatively simple and am faking some OO like data hiding to try to keep dev noses out of structures that are subject to change. i.e.: functions for list management and node access are provided, don't dig into the void* cast structs, or you could get burnt.&lt;br /&gt;
&lt;br /&gt;
- the API should be pretty stable; so far very few user-code changes have ever been needed.. lib internal changes should be binary compatible.&lt;br /&gt;
&lt;br /&gt;
- As a result of that decision, 'handles' are used; a handle is a 'black box' type, something you cannot just use 'handle h; h -&amp;gt; foo = 5' type code for. Instead, internally the library will cast the handle to the actual useful type (which may involve pointer arith etc). This way the user can be returned a handle, and pass the handle to various access functions to get useful data/operations.. but the user is not encouraged to look inside the data objects himself&lt;br /&gt;
&lt;br /&gt;
- As another implication, access functions are available aplenty; it is a little unwieldy perhaps, but its all about keeping the API good without the user peeking inside and risking being broken down the road. (By example, consider.. you use ftell() on a FILE object; you don't go looking in FILE for the 'position' member, since it might be platform specific, etc.)&lt;br /&gt;
&lt;br /&gt;
- The lib works pretty well, but there is room for improvement internally; it won't hurt my feelings for you to suggest improvements, and I'm sure we would all be grateful for any patches you provide. We've _started_ this library, but by no means wish to carry it alone!&lt;br /&gt;
&lt;br /&gt;
==Opportunities for improvement==&lt;br /&gt;
&lt;br /&gt;
Certainly nothing is perfect, especially when chasing moving targets.  Some aspects of the library are less efficient, or missing, or buggy, and a few things are noted here should someone have time. The API was designed to be pretty stable so the internal code could be altered without breaking the API interface.&lt;br /&gt;
&lt;br /&gt;
- better ISO lang handling .. due to shift from original PXML spec to new PXML spec with better lang support I've not updated some of the internal code, API uses etc to handle it. (even .desktop files could include all iso-lang titles, and let the WM pick through as the spec suggests.)&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
&lt;br /&gt;
libpnd (including all the apps etc) are released under the LGPL (ie: so there should be no encumbrances that prevent linking to commercial applications.)&lt;br /&gt;
&lt;br /&gt;
   1                   GNU LESSER GENERAL PUBLIC LICENSE&lt;br /&gt;
&lt;br /&gt;
   2                        Version 2.1, February 1999&lt;br /&gt;
&lt;br /&gt;
==Obtaining the library==&lt;br /&gt;
&lt;br /&gt;
libpnd is in the Official Pandora GIT repo: [http://git.openpandora.org/cgi-bin/gitweb.cgi]&lt;br /&gt;
&lt;br /&gt;
To obtain yourself a copy, use something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://git.openpandora.org/pandora-libraries.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thats all you normally need. For copy-paste from the private Wiki sake, heres what I had before:&lt;br /&gt;
&lt;br /&gt;
Without going into how to set up a GIT, the summary that I (as a registered dev in the repo) used was:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir libpnd&lt;br /&gt;
cd libpnd&lt;br /&gt;
git init&lt;br /&gt;
git remote add libpnd ssh://foo@git.openpandora.org/srv/git/pandora-libraries.git&lt;br /&gt;
git pull libpnd master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building the library==&lt;br /&gt;
&lt;br /&gt;
Standard 'make' should be sufficient here; pull down the directory from the GIT, cd into it, and run make. Thats it.&lt;br /&gt;
&lt;br /&gt;
Note that the make default target is 'everything', which will emit:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
libpnd.a - the static linked version of the lib&lt;br /&gt;
libpnd.so.1.0.1 - the dynlinked version&lt;br /&gt;
libpnd.so.1 - the stub for the shared lib; i.e.: apps should link against libpnd.so.1 and not the 1.0.1 over-specific version&lt;br /&gt;
bin/* - the 'test' dir and the 'apps' dir builds will end up in bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few additional make targets, however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make clean - wipes out the object files, the bin files, and *~* (emacs backup files), empties some of the deploy stuff, etc. Do this before committing to GIT or we will beat you with sticks.&lt;br /&gt;
make deploy - populates the deploy/ directory, which is what is used inthe shipping images; i.e.: testdata/conf includes test configs, while deploy/etc/pandora/conf includes the configs we ship with. This make will copy over some of the libs and binaries and such.&lt;br /&gt;
make pnd - create a few sample pnd files for testing the lib on an x86 machine&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Included Applications==&lt;br /&gt;
&lt;br /&gt;
===pndnotifyd===&lt;br /&gt;
&lt;br /&gt;
Manages the auto-discovery mechanism and integrating PXML.xml dir-apps and .pnd files into the FreeDesktop standard system (.desktop files). A dedicated libpnd-aware menu could leverage libpnd directly and not need pndnotifyd, though pndnotifyd does offer some handy bits such as HUPping apps to suggest to them that applications may have been added/removed (libpnd includes all the necessary functions for this as well.)&lt;br /&gt;
&lt;br /&gt;
===pndvalidator===&lt;br /&gt;
&lt;br /&gt;
Is mostly a skeleton right now; in the future, it is hoped it will inspect a PXML.xml and then check to ensure the referenced assets are present; the goal to validate the PXML.xml is spec compliant, and the resulting application would be useful.&lt;br /&gt;
&lt;br /&gt;
===discotest===&lt;br /&gt;
&lt;br /&gt;
One of the test tools; it essentially runs an auto-discovery to list off the found apps (be they PXML.xml dir apps or .pnd files), and can dump various data or invoke one or other little tasks; used to test lots of&lt;br /&gt;
bits of libpnd as it was developed.&lt;br /&gt;
&lt;br /&gt;
===rawpxmltest===&lt;br /&gt;
&lt;br /&gt;
Reads a given PXML.xml and spits out some of the fields found within.&lt;br /&gt;
&lt;br /&gt;
===test tools===&lt;br /&gt;
&lt;br /&gt;
See the test/ dir in the libpnd source for assorted goofy little test apps used for testing bits of libpnd over time. They also may serve as source examples for using some of the APIs. They're old and shoddy probably too.&lt;br /&gt;
&lt;br /&gt;
==Distributed PXML.xml-directory and pnd applications, how does running them actually work?==&lt;br /&gt;
&lt;br /&gt;
This is just a quick summary to save you guessing by reading this whole document.&lt;br /&gt;
&lt;br /&gt;
In essence, libpnd includes lots of real code, but in many places it passes heavy lifting off to shellscripts. This is both handy because the scripts are easily modified without recompilation, and further extends our design goals of making the library bindable to any other language.&lt;br /&gt;
&lt;br /&gt;
Remember, PXML.xml directories are just as executable/mountable as .pnd apps.&lt;br /&gt;
&lt;br /&gt;
So while libpnd is mostly straight-C and so easily bound to python or perl or whatever, libpnd itself invokes many scripts. Those scripts can be directly used by other applications, including other shellscripts.. so libnd functionality can even have bindings in other scripts. This is very flexible and powerful, and handy during debugging or SSHing into the Pandora, etc.&lt;br /&gt;
&lt;br /&gt;
The application lifecycle goes like this:&lt;br /&gt;
&lt;br /&gt;
- device is turned on&lt;br /&gt;
&lt;br /&gt;
- during init, pndnotifyd is brought up and inhales the config giles&lt;br /&gt;
&lt;br /&gt;
- pndnotidyd will attempt to auto-discover what PXML.xml directory apps and .pnd-file apps are in the configured searchpaths&lt;br /&gt;
&lt;br /&gt;
- pndnotifyd will set up filesystem watches on the directories in the notify searchpath; if any of those directories are touched, pndnotifyd will wake up and re-auto-discover .. possibly removing .desktop entries or creating new ones. (i.e.: you drop a new app into the app searchpath, or remove one, or mount an SD card, etc. This is how appications immediately show up or vanish from the window manager desktops.)&lt;br /&gt;
&lt;br /&gt;
- a libpnd aware launcher can execute applications direct (using libpnd)&lt;br /&gt;
&lt;br /&gt;
- a libpnd unaware launcher can execute applications via the .desktop standard system; pndnotidyd will emit .desktop files as needed.&lt;br /&gt;
&lt;br /&gt;
- when libpnd or a .desktop file need to execute an application, they do it via pnd_run.sh (which may be leveraged by other applications, but they hould use libpnd if they can instead, for utmost compatiblity down the road.) pnd_run.sh does the mount of the ISO, runs the actual execable and so on, as directed by libpnd or the command-line args from the .desktop. pnd_run.sh will clean up after everything as well.&lt;br /&gt;
&lt;br /&gt;
So it all works like magic, but it is not that complex a system once you've got the hang of what all is going on.&lt;br /&gt;
&lt;br /&gt;
application -&amp;gt; libpnd -&amp;gt; shellscripts -&amp;gt; system&lt;br /&gt;
&lt;br /&gt;
==FAQ: IF you want to make files visible to the apps, do you have to modify the pnd?==&lt;br /&gt;
&lt;br /&gt;
No. When apps write back to themselves, the writes go to their /pandora/appdata on the SD that houses them. The next time the app reads a file in its directory, the OS will ensure they get the newer file, which is the one in the appdata.&lt;br /&gt;
&lt;br /&gt;
Likewise, you can just drop a file into the appdata and the app will see it.&lt;br /&gt;
&lt;br /&gt;
The app doesn't know about appdata and its pnd file.. the OS and libpnd take care of all the magic.. the app sees one directory, but the reality is there is magic merging going on behind the scenes.&lt;br /&gt;
&lt;br /&gt;
==Assumptions about the filesystem and Configuration==&lt;br /&gt;
&lt;br /&gt;
Note that for libpnd to work, it makes certain assumptions about the filesystem and config files. Since libpnd was developed with the images it should work for the Pandora .. but just dropping libpnd onto another Linux distribution and it won't likely 'work out of the box'. Certain config files will need to be set, and certain conventions followed.&lt;br /&gt;
&lt;br /&gt;
===Searchpaths===&lt;br /&gt;
&lt;br /&gt;
libpnd was designed so that most everything is configured in files, and that these files should be easily hackable and easily overriden, without compromising the machine. It should be feasible to add a config file to an SD card, have it take over if available when required, and then 'undo' those configs simply by removal of the SD card and rebooting.&lt;br /&gt;
&lt;br /&gt;
To facilitate this design goal, all config files are 'sought' using a search-path system.&lt;br /&gt;
&lt;br /&gt;
Developers should be mindful of using the libpnd APIs so this behaviour is inherited to interested applications; developers could also reuse the logic for searching for files, if they find it useful.&lt;br /&gt;
&lt;br /&gt;
Searchpaths are colon-delimited list of paths, searched left to right.&lt;br /&gt;
&lt;br /&gt;
ex: foo:bar:/my/baz means to look for a given file in 'foo', then in 'bar', then in '/my/baz'.&lt;br /&gt;
&lt;br /&gt;
The standard config files have a default searchpath, and those config files will define further searchpaths for scripts and such the system uses. This makes the system highly flexible -- default scripts are included, but can be overridden by dropping the right named script on an SD card, or by altering a config file.&lt;br /&gt;
&lt;br /&gt;
See the example config files below for example searchpaths -- i.e.: how pndnotifyd searches for pnd_run, etc.&lt;br /&gt;
&lt;br /&gt;
===Notification paths===&lt;br /&gt;
&lt;br /&gt;
The 'apps' config includes a searchpath that specifies the sub-paths to be 'watched'. Various watch mechanisms exist for various filesystem types, but over the course of Pandora development (various kernels, various k-modules, various DM and WM's, I found the included system most stable, though not most current. After a final device image is settled on, it might be time to alter the notification system, but it should not impact the libpnd API.)&lt;br /&gt;
&lt;br /&gt;
Anyway, watches are placed upon the paths defined, and if anything in those paths changes, the auto-discovery code is kicked off to seek our PXML.xml and .pnd type applications in the search paths.&lt;br /&gt;
&lt;br /&gt;
Note that searchpath and notifypaths are different (and usually very similar, but have the option to be very different.)&lt;br /&gt;
&lt;br /&gt;
===Config files===&lt;br /&gt;
&lt;br /&gt;
libpnd includes a generic simple config file parser and assumes the presence of a few config files. It also includes defaults&lt;br /&gt;
so if a config is missing or broken things should work.&lt;br /&gt;
&lt;br /&gt;
In general, Pandora specific config files should be located in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pandora/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The config files are:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conf -- this file is generally _not_ included with the Pandora and left to default; its job is to define the basic default searchpath for config files, so should you wish to override things entirely, you may need to alter this file. i.e.: If you wish to switch to test config files on SD or in /tmp, instead of using any other conf files .. you can create this guy. This provides a mechanism to short circuit the entire conf system.&lt;br /&gt;
&lt;br /&gt;
apps -- this config file defines auto-discovery and other application bundle parameters&lt;br /&gt;
&lt;br /&gt;
desktop -- this config defines &amp;quot;dotdesktop&amp;quot; .desktop and FreeDesktop integration paramters -- example is where to spit out icons or .desktop files from discovered PXML.xml or pnd applications&lt;br /&gt;
&lt;br /&gt;
categories -- this config maps PXML.xml spec based categories to FreeDesktop standard categories; in this way a PXML based applicatoin can show up in the appropriate categories of a WM that does not use libpnd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====conf File====&lt;br /&gt;
&lt;br /&gt;
No default is included with the distribution.&lt;br /&gt;
&lt;br /&gt;
The default search path is reasonable and assumes we want the official /etc/pandora/conf near the end, with checks to the SD cards for overrides first. (Likely most people will not override, so the canonical location will be used 99.9% of the time.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_SEARCHPATH &amp;quot;/media/mmcblk0p1/pandora/conf:/media/mmcblk1p1/pandora/conf:/etc/pandora/conf:./testdata/conf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key for override is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_KEY        &amp;quot;conf.searchpath&amp;quot; /* if not found, use PND_CONF_SEARCHPATH */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which suggests using something like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[conf]&lt;br /&gt;
searchpath   /foo/bar:/baz/bing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====desktop File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Desktop configuration&lt;br /&gt;
&lt;br /&gt;
[dotfiles]&lt;br /&gt;
#(~/Desktop for xfce, /usr/share/applications for WMs that actually follow spec)&lt;br /&gt;
dotdesktoppath  ~/Desktop/      # path for pndnotifyd to spit .desktop files into (run as root)&lt;br /&gt;
iconpath        /tmp    # path for pndnotifyd to drop icons into (can be same as .desktop if WM permits)&lt;br /&gt;
&lt;br /&gt;
[launcher]&lt;br /&gt;
# if hupscript is commented out entirely, pndnotifyd will not try to find/run the hup&lt;br /&gt;
# if it is uncommented, pndnotifyd will attempt to invoke the hupscript after emitting .desktop files&lt;br /&gt;
# (the hupscript exists to hup the WMs to redisplay .desktop apps)&lt;br /&gt;
#hupscript      pnd_hup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====apps File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Application configuration&lt;br /&gt;
&lt;br /&gt;
[autodiscovery]&lt;br /&gt;
# searchpath is a list of paths (colon separated) in which to look for PXML.xml or .pnd-file applications&lt;br /&gt;
searchpath      /media/*/pandora/apps:/usr/pandora/apps&lt;br /&gt;
# notifypath is a list of paths to monitor; if anything in those paths changes, the searchpath is rescanned&lt;br /&gt;
# note that for each path chunk, all current subdirs of that path are also watched)&lt;br /&gt;
notifypath      /media:/media/*/pandora/apps:/usr/pandora/apps:./testdata/app?&lt;br /&gt;
&lt;br /&gt;
# PXMLs may be overridden .. i.e.: overrides are a subset of PXML, where the values are copied over the full PXML&lt;br /&gt;
[overrides]&lt;br /&gt;
# searchpath to look for PXML overrides (which are named by the unique-id)&lt;br /&gt;
searchpath      ~/pxml-overrides&lt;br /&gt;
&lt;br /&gt;
# [pnd] defines where to locate the pnd support scripts, so the user may override pnd_run.sh without clobbering built in&lt;br /&gt;
[pnd]&lt;br /&gt;
searchpath      /media/*/pandora/scripts:/usr/pandora/scripts&lt;br /&gt;
runscript       pnd_run.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====categories File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# dotdesktop configuration&lt;br /&gt;
&lt;br /&gt;
# this config file maps 'PXML' categories to free-desktop standard categories&lt;br /&gt;
# i.e.: category 'Foo' could map to more standard 'Utility', thus making .desktop file&lt;br /&gt;
# emitting a more useful thing&lt;br /&gt;
&lt;br /&gt;
# the standard listing of categories is:&lt;br /&gt;
# http://standards.freedesktop.org/menu-spec/latest/apa.html&lt;br /&gt;
&lt;br /&gt;
# note that 'map' section in the config is _required_ for a match to be found; this&lt;br /&gt;
# is done to separate categories from (future) top-level directives&lt;br /&gt;
&lt;br /&gt;
default Application;Utility;Network;&lt;br /&gt;
&lt;br /&gt;
[map]&lt;br /&gt;
Development     Development&lt;br /&gt;
Education       Education&lt;br /&gt;
Games   Game&lt;br /&gt;
Graphics        Graphics&lt;br /&gt;
Internet        Network&lt;br /&gt;
Multimedia      AudioVideo&lt;br /&gt;
Office  Office&lt;br /&gt;
Settings        Settings&lt;br /&gt;
System  System&lt;br /&gt;
Utilities       Utility&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SD card layout===&lt;br /&gt;
&lt;br /&gt;
libpnd concerns itself with things in the 'pandora' root folder on SD. We agonized over this decision, but settled on this to avoid cases where someone with a 16GB SDHC card puts 50-million files with &amp;quot;.pnd&amp;quot; on them, and expects reasonable performance. Instead, applications for instance would have to be in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/menu -&amp;gt; apps that will go to /usr/share/applications and should show up in xfce menu by category&lt;br /&gt;
/pandora/desktop -&amp;gt; apps that will go to ~/Desktop and show up on user desktop as icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following location is used by pmenu (and may get deprecated, but I've not discussed it with cpasjuste yet.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/apps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e.: the searchpath for autodiscovery includes /media/*/pandora/apps (and desktop and menu now)&lt;br /&gt;
&lt;br /&gt;
Also in the /pandora/ folder is a magic 'appdata' folder:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/appdata&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a .pndfile or PXML.xml dir get mounted, any writes back to the mounted area are put into appdata, with a subdir by the unique-id. i.e.: With the hypothetical MAME.pnd, it might update its config files after a user changes something, or create new files, or store hiscores or whatever. If it doesn't write them to NAND, and doesn't want ot write them to /mame/some/dir, but instead record it to itself for whatever reason, it would go to /pandora/appdata/MAMEs-ID/ instead. The pnd or PXML.xml app area is never modified during a run, only the appdata. (But when an application reads its own path, it will pick up the appdata version of the file instead of the actual file. Then magic of union-type filesystems!)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
If Myapp with unique-id foo.123 is mounted, then any write-backs are directed to..&lt;br /&gt;
&lt;br /&gt;
/pandora/appdata/foo.123/&lt;br /&gt;
&lt;br /&gt;
On the SD that hosts the application.&lt;br /&gt;
&lt;br /&gt;
===NAND layout===&lt;br /&gt;
&lt;br /&gt;
In addition to seeking applications in SD cards, /usr/pandora/apps is included in the default searchpath, so that 'built in' apps can be listed, or users can drop them there.&lt;br /&gt;
&lt;br /&gt;
It might be a cool addition to put a user homedir into the searchpath as well, so NAND but user-homedir (for on-device browser downloads, say.)&lt;br /&gt;
&lt;br /&gt;
==Command line tools and testing==&lt;br /&gt;
&lt;br /&gt;
A number of scripts and tools are included or built with libpnd, to facilitate testing of the lib as its being developed and to assist in making .pnd files and PXML.xml files.&lt;br /&gt;
&lt;br /&gt;
==PXML.xml and .pnd files==&lt;br /&gt;
&lt;br /&gt;
On most platforms, applications are distributed as an executable and optional datafiles and likely an installer. The installers job is to integrate the application into the filesystem, as the transport mechanism itself is not executable and is considered temporary. In Windows an application might be installed into Program Files, while in Unix an application might be dropped into /usr/local/bin .. data files in various other places.&lt;br /&gt;
&lt;br /&gt;
For the Pandora platform we wanted a very easy to use workflow -- download and run -- and also have a very different operating environment. With multiple SD cards available for expansion (and that space being highly desirable due to a smaller internal store) it is desirable to install applications to SD, and yet SD cards are by definition something users will wish to carry multiple of. With two slots, it could be quite a chore to install an application to SD1, its data to SD2, and then say have only one of them plugged in at a time, or switch which slot they're in, or any number of scenarios. i.e.: Installing onto a medium which may be present or not at any time is very different to how most operating systems work. So we made something new and awesome.&lt;br /&gt;
&lt;br /&gt;
The PXML.xml and .pnd-file approach we came up with attempts to address these issues.&lt;br /&gt;
&lt;br /&gt;
The goals:&lt;br /&gt;
&lt;br /&gt;
- for the user, an application can be a single file download&lt;br /&gt;
&lt;br /&gt;
- furthermore, there is no installation whatsoever, beyond dropping that single file into the right place on the SD card&lt;br /&gt;
&lt;br /&gt;
- using the application should be easy -- stick in the SD card, and tap/launch on the icon.&lt;br /&gt;
&lt;br /&gt;
- for uninstallation, delete the single file. Thats it, no fuss.&lt;br /&gt;
&lt;br /&gt;
- for the developer, creating that single file should be easy to do&lt;br /&gt;
&lt;br /&gt;
- for the system, performance should be high&lt;br /&gt;
&lt;br /&gt;
Remember, an application can be a .pnd 'bundle' (single file containing all the sub-files), or a PXML.xml 'dir application' (an unpacked .pnd esentially.) '''BOTH PXML.xml-dirs and .pnd's ARE EXECUTABLE.'''&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will auto-discover PXML.xml in a directory and consider that an application, emitting a .desktop file, just as well as a .pnd file. i.e.: This can be hand for development or users. Remember that a mounted PXML.xml dir still redirect write-backs to the /pandora/appdata directory, just like a full .pnd application. They are treated the same!&lt;br /&gt;
&lt;br /&gt;
===What are PXML.xml and .pnd files?===&lt;br /&gt;
&lt;br /&gt;
PXML.xml is a file describing an application&lt;br /&gt;
&lt;br /&gt;
A directory containing a PXML.xml _is executable_&lt;br /&gt;
&lt;br /&gt;
A .pnd file is the packaged up version of the directory that is executable.&lt;br /&gt;
&lt;br /&gt;
i.e.: a PXML.xml in a directory is just as executable as a .pnd representation of that directory.&lt;br /&gt;
&lt;br /&gt;
example:&lt;br /&gt;
&lt;br /&gt;
mkdir OutcaST&lt;br /&gt;
cp outcast.bin OutcaST/&lt;br /&gt;
cp PXML.xml OutcaST/&lt;br /&gt;
# at this point, the OutcaST directory is now discoverable and executable&lt;br /&gt;
&lt;br /&gt;
pnd_make.sh -this -that OutcaST outcast.pnd&lt;br /&gt;
# at this point, outcast.pnd is executable (as is the OutcaST directory), so upload outcast.pnd to the Open Handhelds Archive and let people enjoy!&lt;br /&gt;
&lt;br /&gt;
===A note on including shared libs===&lt;br /&gt;
A philsophy for packaging that I am advocating is to 'just make applications work' -- avoid dependancy trees.&lt;br /&gt;
&lt;br /&gt;
Some guidelines:&lt;br /&gt;
&lt;br /&gt;
1) you can depend on shared libs included with the firmware to always be there&lt;br /&gt;
&lt;br /&gt;
2) you should include any shared libs you need for your app, that are not in the firmware (yes, this increases app size a little bit, and potentially makes for duplication among apps that use the same shared libs)&lt;br /&gt;
&lt;br /&gt;
3) if a shared lib becomes desirable in the firmware, it can be added there as a firmware patch easily (this has the advantage of gradulaly updating the entire user based, and apps easily saying 'we depend in firmware version X', rather than making for pnd-dependnacies and the equivilent of 'dll hell'&lt;br /&gt;
&lt;br /&gt;
4) You'll have to be careful in linking your application to ensure that the shared libs you are including in the pnd/PXML-dir are to be locatable by your binaries. ie: stick them in a 'lib/' dir in your bundle, and stamp your binary with a library-path './dir/' so they can be found, say. More later.&lt;br /&gt;
&lt;br /&gt;
===Future idea: pnd's for containing system-wide shared libs===&lt;br /&gt;
&lt;br /&gt;
This is something we've bounced around for quite awhile, but not committed to. As it keeps coming up I thought I'd put some notes here in public.&lt;br /&gt;
&lt;br /&gt;
It is possibly desirable to make a special searchpath that is discovered during machine boot, and any pnd's found there are automatically mounted (and left mounted) into a special path (say /usr/local/pandora/lib or somesuch.) This way, collections of handy utilities or shared libraries could be distributed as a pnd, and become available in consistent locations. If 10 applications need a shared lib, and don't want to duplciate it in each of their pnd files, this could be an approach.&lt;br /&gt;
&lt;br /&gt;
I tend to think it is best avoided, however, since it complicates the user experience -- we end up with pnd depandancies, and apps nolonger about to 'just work', and apps that did work and 'suddenly break' when other files are altered. The philosphy we're going for with pnd files is 'drag and drop' -- user downloads a pnd file, and it works.. a self contained application, nice and easy. We start complicating the dependancies, and it turns into 'dll hell' as seen on other platforms.&lt;br /&gt;
&lt;br /&gt;
That said, it is _not_ difficult to add into the existing system and design; we've been mulling it over, but it is best avoided for now. rather than complicate the system up front, let us try to get a functional and as lightweight-as-possible system on the uptake, gather some usage data points and then worry about upgrades :)&lt;br /&gt;
&lt;br /&gt;
===File format - PXML.xml===&lt;br /&gt;
See the [[PXML_specification|PXML specification]]&lt;br /&gt;
&lt;br /&gt;
Alternatively the spec is included in the docs/ directory of the libpnd distribution, though the wiki version linked above should be considered cannon.&lt;br /&gt;
&lt;br /&gt;
A note on history; the PXML spec was originally created by EvilDragon, and went through a number of revisions as suggestions came in; as these things are wont to do, the target was ever moving and the scope and meaning of PXML changed so at some point a more strategic approach was needed. dflemstr took it upon himself to help recode some of the parse and re-evaluate many of the PXML decisions and hence was born the PXML-version-2 spec.&lt;br /&gt;
&lt;br /&gt;
===File format - .pnd files===&lt;br /&gt;
The pnd file format is pretty straight forward, though most will interact with it through the included (or community supplied) tools.&lt;br /&gt;
&lt;br /&gt;
Basically its just an ISO file (or other filesystem type) with a PXML.xml and an optional PNG icon appended. (example: cat appfolder.iso app.pxml icon.png &amp;gt; app.pnd) For ease of discussion, I refer to ISO but in fact you coudl be using squashfs or other types.&lt;br /&gt;
&lt;br /&gt;
The ISO filesystem portion of the file can include anything the developer wishes, as long as it includes a PXML.xml in its root file and an executable somewhere in there. It can also include images, audio files, data files of any kind. It can be small or large.&lt;br /&gt;
&lt;br /&gt;
Yes, the PXML.xml is included in the ISO portion (in the root directory), and also appended to the end of the .pnd file (for _convenience_ .. it is very easy and fast to locate in this position; we can backseek into the ISO to find the PXML, but if its a 500MB ISO it could take awhile. Hence, we append it and can find it in one seek.)&lt;br /&gt;
&lt;br /&gt;
This simple format makes it possible to easily create .pnd files with the default utility's of most operating systems. Further, it is a fairly fail-safe system -- the PXML is appended, but is also included within the ISO image part of the file so if the appended-PXML is ever lost (unpack and repack poorly, say) the system will still work (the PXML inside the ISO can be found easily, even without mounting the ISO _as_ an ISO, since it is a plaintext uncompressed image format.) &lt;br /&gt;
&lt;br /&gt;
Manually creating a .pnd (or even a PXML) is a pain so there will be a few helper scripts or maybe even a gui app out when we launch.&lt;br /&gt;
&lt;br /&gt;
Included with libpnd are some scripts to create PXML and pndfiles, though it is expected people will create handier utilities. See the tool section of this wiki for some details.&lt;br /&gt;
&lt;br /&gt;
Question from the gp32x forum regarding confusion of PXML location -- remember that in general mot developers will keep a directory that represents the .pnd or PXML-dir application. Their makefile/build-process will drop the executable(s) into that directory, which inludes a PXML.xml description of the application, and possibly an icon (and whatever all else they wish.) To build the .pnd file, a script (say) is used which compresses all this into the pnd format (including appending the PXML.) So yes, the PXML is in two places in the .pnd file and one place in the source directory. You'll get used to it ;)&lt;br /&gt;
&lt;br /&gt;
Rationale --&lt;br /&gt;
&lt;br /&gt;
Several iterations of pnd files have been considered, from zipfiles to cramfs to other formats, to putting in a key/value set of information tags in the file, to table-of-contents indexes, to any number of options to help performance, and so on. In the end we went for a good overall and simple solution and dropped getting fancy -- PXML.xml can be extended to define the type of the file if it cannot be magic'd, so we could using other filesystem types in the future (and this is why people should use libpnd rather than rolling their own solution.) For now however, pnd files are ISO files with the PXML.xml appended and an optional icon. This keeps the PXML and icon easy to locate, and yet a easy file format.&lt;br /&gt;
&lt;br /&gt;
====What filesystem types can be contained within a pnd-file?====&lt;br /&gt;
&lt;br /&gt;
The pnd container can really contain a large variety of filesystem types; day-zero we're aiming for ISO since it is simple, easy build across every major OS, and fast to use. But it is not the only supported filesystem type, and more should be added all the time. (Possibly '-auto' can be added to pnd-run and it'll &amp;quot;just work&amp;quot; for dozens of types!)&lt;br /&gt;
&lt;br /&gt;
A compressed filesystem type has always been desirable for file sizing reasons, though it potentially impacts performance (depending on the application operation really.)&lt;br /&gt;
&lt;br /&gt;
Supported types (not an exhaustive list!):&lt;br /&gt;
&lt;br /&gt;
o ISO&lt;br /&gt;
&lt;br /&gt;
o squashfs&lt;br /&gt;
&lt;br /&gt;
====PND generation workflow====&lt;br /&gt;
&lt;br /&gt;
- create a directory to represent the application on SD card; i.e.: ./mame-app&lt;br /&gt;
&lt;br /&gt;
- create a PXML.xml fil and drop it into the dir (./mame-app/PXML.xml); genpxml script can be used, or do it by hand&lt;br /&gt;
&lt;br /&gt;
- drop the executable and data files into this dir (say, ./mame-app/mame.bin, and ./mame-app/artwork/foo, etc.)''' &amp;lt;- note, with a PXML.xml and executabe, it can now be discovered and run without even bundling into .pnd!'''&lt;br /&gt;
&lt;br /&gt;
- invoke pnd-make.sh to produce mame4all-pandora-1.0-arm.pnd or whatever you want to call it (foobearspanky.pnd, we don't care.)&lt;br /&gt;
&lt;br /&gt;
- you're done, distribute it as you see fit&lt;br /&gt;
&lt;br /&gt;
====Making PND files - Windows / DOS commandline====&lt;br /&gt;
&lt;br /&gt;
There should be a basic GUI along very soon, and more advanced friendlier GUIs in due time. But for now, we thought it prudent to include some basic instructions on the command line for day-zero.&lt;br /&gt;
&lt;br /&gt;
For this command-line tutorial, I will assume you have already created a PXML.xml file; copy one of the templates and then edit it, using notepad or whatever _TEXT_ editor you see fit.&lt;br /&gt;
&lt;br /&gt;
Prepare in advance:&lt;br /&gt;
&lt;br /&gt;
1) Make a PXML.xml file (through whatever means; copy a template, or get a PXML.xml tool when they come available.) Ensure that you've got a reasonably unique-id in that field (ie: say, app-name, your name, and date/time all catenated together.) &lt;br /&gt;
&lt;br /&gt;
2) Get yourself mkisofs tools; for example, grab from here: http://www.student.tugraz.at/thomas.plank/ -- get cdrtools-2.01-win32-bin.zip and DLL version 1.5.25, and extract to somewhere. That lets you run 'mkisofs' to spit out .iso files&lt;br /&gt;
&lt;br /&gt;
2b) If you want to make a compressed image, use squashfs tools here: ftp://ftp.slax.org/useful-binaries/win32/squashfs-tools/&lt;br /&gt;
&lt;br /&gt;
3) Put your application and all needed files into a single directory .. say &amp;quot;myapp&amp;quot;; it doesn't matter what you call it. Might be cool as a Makefile step&lt;br /&gt;
&lt;br /&gt;
4) In your app-dir, put the PXML.xml file in the root&lt;br /&gt;
&lt;br /&gt;
5) Put the icon in the root of that dir as well (make it a .png file)&lt;br /&gt;
&lt;br /&gt;
6) Make sure the PXML.xml names the icon (just its filename.png), and specifies the executable (foo.bin or whatever.)&lt;br /&gt;
&lt;br /&gt;
Generate the actual PND-file, fully manual method:&lt;br /&gt;
&lt;br /&gt;
1) Make yourself the iso; this step produces the iso, but to turn the iso into a pnd you need a couple last steps. You could also use some fancy iso-building tool.&lt;br /&gt;
'''mkisofs -o foo.iso -R /path/to/folder/myapp'''&lt;br /&gt;
&lt;br /&gt;
2) Append PXML.xml to the .iso (yes, the PXML.xml is included in the iso, but we also want to append it for performance reasons.) &lt;br /&gt;
'''copy foo.iso+PXML.xml foo.step2'''&lt;br /&gt;
&lt;br /&gt;
3) Append the icon PNG file to the .iso (if you have an icon; if not, you can leave this step out.)&lt;br /&gt;
'''copy foo.step2+myicon.png foo.pnd'''&lt;br /&gt;
&lt;br /&gt;
4) Clean up: del''' foo.step2 foo.iso'''&lt;br /&gt;
&lt;br /&gt;
5) Profit!&lt;br /&gt;
&lt;br /&gt;
====Making PND files - Linux/BSD/Unix (including on Pandora)====&lt;br /&gt;
&lt;br /&gt;
=====Command-line=====&lt;br /&gt;
&lt;br /&gt;
Tools are included in the libpnd distribution; see below for discussion, but suffice to say they are included int he GIT. Look in testdata/scripts for:&lt;br /&gt;
&lt;br /&gt;
o genpxml - spits out a template PXML.xml for you, and even includes a reasonably unique-id&lt;br /&gt;
o pnd-make.sh - given a directory and some arguments, will spit out a .pnd file; great for use in Makefiles&lt;br /&gt;
&lt;br /&gt;
We're working on others as well, so piece of cake under Unix and Unix-like OSes.&lt;br /&gt;
&lt;br /&gt;
=====GUI=====&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
====Making PND files - Windows GUI====&lt;br /&gt;
&lt;br /&gt;
====Making PND files - Mac OSX====&lt;br /&gt;
&lt;br /&gt;
===PXML overrides===&lt;br /&gt;
&lt;br /&gt;
PXML.xml files can have any number of their elements over-ridden by user preferences. &lt;br /&gt;
&lt;br /&gt;
The design goal here was to make it so user-preferences could alter the impact of the PXML.xml in any way, but without requiring the actual PXML.xml in the .pnd (and within the ISO therein) to be altered (could be a 500MB ISO after all!), and further, for these changes to persist. Consider than an SD card could be removed and inserted into the other slot, or the app could be removed entirely and come back another day, or other scenarios.&lt;br /&gt;
&lt;br /&gt;
As such, the PXML-overrides are kept in NAND in the user homedirectory (See the config files to find out where.)&lt;br /&gt;
&lt;br /&gt;
libpnd includes functions to pull in PXML, and also functions to then look for and merge in overrides. It is not always done since you may wish to inspect the PXML or the overrides, so the developers job is to do as they see fit -- pull the XML, and likely also pull in the overrides.&lt;br /&gt;
&lt;br /&gt;
At this time I'm not sure if people will ever use overrides, but the system has been built in should it be needed.&lt;br /&gt;
&lt;br /&gt;
===Included shellscripts to generate files and other sundry duties===&lt;br /&gt;
&lt;br /&gt;
====genpxml====&lt;br /&gt;
&lt;br /&gt;
This tool can spit out a basic but correct PXML.xml, faking up a halfway-useful unique-id in the process. It might be handy in saving you writing up a PXML.xml from scratch.&lt;br /&gt;
&lt;br /&gt;
====pnd_hup.sh====&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will attempt to locate this script and invoke it after an auto-discovery run, if the pnd_hup entry is present (and uncommented) in the config files. It is expected to be commented out in release images, as xfce watches directories for .desktop files and does not need a HUP; some desktop managers need to be HUPped to rescan for .desktop files in a timely fashion, so the pnd_hup config entry can be uncommented and this script will attempt to figure out who to HUP.&lt;br /&gt;
&lt;br /&gt;
====pnd_make.sh====&lt;br /&gt;
&lt;br /&gt;
This is one of the great ones :)&lt;br /&gt;
&lt;br /&gt;
Given a directory with a PXML.xml (see genpxml above) and an executable and any other goo you want in there, this script will spit out a .pnd file you can execute or distribute as an application.&lt;br /&gt;
&lt;br /&gt;
====pnd_run.sh====&lt;br /&gt;
&lt;br /&gt;
This job does a lot of the heavy lifting for libpnd, including setting up the 'union filesystems', doing .pnd and PXML.xml-app-dir execution and mounting, and so on. Generally you will talk to it via libpnd or .desktop files, but you can invoke it dorectly from your apps if you wish to circumvent libpnd or mount .pnd files within a shellscript/perlscript/etc.&lt;br /&gt;
&lt;br /&gt;
==Auto-discovery of applications==&lt;br /&gt;
&lt;br /&gt;
TBD.&lt;br /&gt;
&lt;br /&gt;
==Integration with FreeDesktop .desktop systems==&lt;br /&gt;
&lt;br /&gt;
===dotdesktop (.desktop) files===&lt;br /&gt;
&lt;br /&gt;
===Icons===&lt;br /&gt;
&lt;br /&gt;
There are some rules for Icons in PXML.xml and pnd/directory bundles&lt;br /&gt;
&lt;br /&gt;
- An Icon should be in the root of the directory or .pnd bundle&lt;br /&gt;
&lt;br /&gt;
- An Icon must be specified in the PXML.xml if you expect it to work&lt;br /&gt;
&lt;br /&gt;
- As the PXML.xml is parsed, the icon is sought; if the icon is specified, but not found, it is assumed to be a system default icon and the filename will be placed into the .desktop Icon= line verbatim (ex: Icon=foo.png), and the window manager presumably will know how to locate it. If the icon is specified, and is found, then it will be copied into the configured IconPath, and the full path to it will be used for the Icon= line in the .desktop file ex: Icon=/tmp/myicon.png). If no icon is specified in the PXML file, then no Icon= line will be entered into the .desktop and the WM will presumably apply a default icon based on category or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==APIs==&lt;br /&gt;
&lt;br /&gt;
Feel free to just go read the .h files; I have tried to comment liberally :)&lt;br /&gt;
&lt;br /&gt;
===Setting and Getting the CPU clock speed===&lt;br /&gt;
&lt;br /&gt;
===Device paramaters - brightness, etc===&lt;br /&gt;
&lt;br /&gt;
===PND files, exec and mount===&lt;br /&gt;
&lt;br /&gt;
===Application discovery===&lt;br /&gt;
&lt;br /&gt;
===Config file parsing===&lt;br /&gt;
&lt;br /&gt;
===Boxing, the singly-linked list container===&lt;br /&gt;
&lt;br /&gt;
===Directory watching===&lt;br /&gt;
&lt;br /&gt;
===Logging api===&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Floating_Point_Optimization&amp;diff=1998</id>
		<title>Floating Point Optimization</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Floating_Point_Optimization&amp;diff=1998"/>
		<updated>2010-01-10T20:42:13Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
In the past it was rare for an embedded processor to have dedicated floating point hardware, this usually limited you to either using fixed point math (which can be very tricky to write) or very slow software floating point emulation. Fortunately the ARM Cortex A8 found in the OMAP3 has 2 Floating Point Units, a non-pipelined VFP-lite conforming to the IEEE754 standard for floating point arithmetic and a pipelined SIMD NEON coprocessor. The VFP-lite can handle both single and double precision arithmetic, as well as properly handling exceptions and subnormal numbers. However, Due to the full spec compliance and presence of the NEON, it is a relatively slow implementation in the A8, usually taking between 18 - 21 cycles to perform a single precision multiply accumulate. The NEON unit on the other hand is designed for very fast single precision vector math, it can sustain multiply accumulates at a rate of two per cycle. Efficiently utilizing these coprocessors in GCC will be the focus of this article.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' In this article I refer to the A8's integer pipeline as the &amp;quot;ARM&amp;quot; , the VFP-lite as simply the &amp;quot;VFP&amp;quot; and the NEON unit as the &amp;quot;NFP&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Compiler Support ==&lt;br /&gt;
The NEON + VFP-lite is a new design from ARM and hence does not yet have very mature compiler support. At present the Code Sourcery toolchain has the best support since the mainline GCCs do not support NEON yet. Code Sourcery Compiler versions:&lt;br /&gt;
* CSL 2007q3: Working NEON, Softfp Support&lt;br /&gt;
* CSL 2008q3: Broken NEON!&lt;br /&gt;
* CSL 2009q1: Working NEON, Hardfp + Softfp Support&lt;br /&gt;
&lt;br /&gt;
Generally the CS2007q3 release is recommended, the CSL 2009q1 release is promising but it has not been thoroughly tested yet. One big problem with the current compilers is the heavy dependence on VFP code, currently they only output NEON code when an obvious chance of vectorization is encountered (rarely). Apart from the esoteric rounding, vector, etc modes of the VFP (most of which compilers don't use) and predication (used occasionally), most VFP floating point instructions can be exactly replicated using an order of magnitude faster NEON instructions.... Infact it has been reported to me that the GCC packaged with the iPhone 3GS SDK does exactly this. Hopefully future compilers will support this feature. &lt;br /&gt;
&lt;br /&gt;
Inorder to instruct the compiler to produce NEON or VFP code you should use the following compile flags: -mfpu=neon or -mfpu=vfp. Unfortunately the CSL 2007 / 2008 toolchains do not support the passing of values in floating point registers (i talk about this some more in the Transfers section), so you must specify a software ABI via -mfloat-abi=softfp. The CSL 2009q1 release is the first release to support the passing of values in FP registers (AKA hardfp) via the -mfloat-abi=hard compile flag. Note that hardfp compiled binaries are not compatible with softfp ones and vice versa, so make sure your libraries have the correct ABI. Additionally, If you want the compiler to attempt to vectorize your integer / floating point code for the NEON you should add: -ftree-vectorize to your flags. &lt;br /&gt;
&lt;br /&gt;
Therefore i recommend the following flags: '''-O3 -mcpu=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=(softfp|hard) -ffast-math -fsingle-precision-constant''' where -mfloat-abi=hard for the CSL 2009q1 release and softfp for all the others.&lt;br /&gt;
&lt;br /&gt;
== VFP-Lite RunFast ==&lt;br /&gt;
Under the correct circumstances some of The VFPs instructions will be executed in the NEON coprocessor. Unfortunately this does not gain the full benefit of the NEON, it still takes 7 cycles for an FMAC / FMUL / FADD. Due to this quirk you will likely get better scalar performance by accessing the NEON directly via Intrinsics or ASM.&lt;br /&gt;
&lt;br /&gt;
Inorder for VFP instructions to execute in the NFP the following constraints must be met:&lt;br /&gt;
* RunFast mode must be enabled&lt;br /&gt;
* Must be single precision floating point operands&lt;br /&gt;
* Must not be a vector instruction (GCC doesn't appear to use this feature, so don't worry about it)&lt;br /&gt;
&lt;br /&gt;
Runfast mode is enabled when the following conditions are present:&lt;br /&gt;
* Subnormal numbers are being flushed to zero &lt;br /&gt;
* Default NaN mode is active&lt;br /&gt;
* No floating point exceptions are enabled&lt;br /&gt;
&lt;br /&gt;
I'm not sure if Runfast mode will be enabled by default in the Angstrom distribution packaged with the Pandora. If it isn't you can use the following C code to enforce it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void enable_runfast()&lt;br /&gt;
{&lt;br /&gt;
	static const unsigned int x = 0x04086060;&lt;br /&gt;
	static const unsigned int y = 0x03000000;&lt;br /&gt;
	int r;&lt;br /&gt;
	asm volatile (&lt;br /&gt;
		&amp;quot;fmrx	%0, fpscr			\n\t&amp;quot;	//r0 = FPSCR&lt;br /&gt;
		&amp;quot;and	%0, %0, %1			\n\t&amp;quot;	//r0 = r0 &amp;amp; 0x04086060&lt;br /&gt;
		&amp;quot;orr	%0, %0, %2			\n\t&amp;quot;	//r0 = r0 | 0x03000000&lt;br /&gt;
		&amp;quot;fmxr	fpscr, %0			\n\t&amp;quot;	//FPSCR = r0&lt;br /&gt;
		: &amp;quot;=r&amp;quot;(r)&lt;br /&gt;
		: &amp;quot;r&amp;quot;(x), &amp;quot;r&amp;quot;(y)&lt;br /&gt;
	);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The instructions that are executed on the NFP are: FADDS, FSUBS, FABSS, FNEGS, FMULS, FNMULS, FMACS, FNMACS, FMSCS, FNMSCS, FCMPS, FCMPES, FCMPZS, FCMPEZS, FUITOS, FSITOS, FTOUIS, FTOSIS, FTOUIZS, FTOSIZS, FSHTOS, FSLTOS, FUHTOS, FULTOS, FTOSHS, FTOSLS, FTOUHS, FTOULS.&lt;br /&gt;
&lt;br /&gt;
== Single Precision Floating Point ==&lt;br /&gt;
One important and easy optimization is to make sure that single precision constants are being used. By default this is not the case, instead a double precision constant is being used, so all related operations involving that constant require slower double precision instructions and cannot be executed on the NEON. eg&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
float foo(float x)&lt;br /&gt;
{ &lt;br /&gt;
	return (2.123 * x); &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
might end up the same as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
float foo(float x)&lt;br /&gt;
{&lt;br /&gt;
	double dx = (double) x;&lt;br /&gt;
	double dy = (double) 2.123; &lt;br /&gt;
	double dr = dx * dy;&lt;br /&gt;
	float r = (float) dr;&lt;br /&gt;
	return r;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can enforce single precision constants by including the compiler flag: '''-fsingle-precision-constant''', alternatively you can append an 'f' to the end of each constant. ie 2.123f&lt;br /&gt;
&lt;br /&gt;
Another thing to watch out for is the double versions of the functions in libm (sin, exp, sqrt, etc). By default these functions operate on double precision floating point values and suffer the same problems as the constants. Luckily libm supplies floating point versions aswell, they can be accessed by appending an 'f' to the end of the function. ie sinf(), expf(), sqrtf().&lt;br /&gt;
&lt;br /&gt;
== NFP / VFP to ARM Transfers ==&lt;br /&gt;
Probably the biggest bottleneck in the architecture is that inorder to transfer a number from the VFP / NFP registers onto the ARM you must stall both the ARM and NFP / VFP for &amp;gt;20 cycles. This is particularly troublesome because this is how GCC (except the CSL 2009q1 release) supplies arguments and recieves returns from functions. Possibly The best way to minimize operand passing stalls is to make the floating point functions inline.&lt;br /&gt;
&lt;br /&gt;
Another source of NFP / VFP to ARM transfers are conditional branches that depend on floating point numbers. You can do the condition on the VFP but inorder to branch the flags must be sent from the VFP to the ARM. For very simple branches your best bet is to not branch at all and instead use arithmetic. ie&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;if (x &amp;lt; 0) {x += 1.1244;}&amp;lt;/source&amp;gt;&lt;br /&gt;
Is the same as:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = x + (x &amp;lt; 0) * 1.1244&amp;lt;/source&amp;gt;&lt;br /&gt;
However you might want to keep a close eye on what the compiler actually produces with the above code. &lt;br /&gt;
&lt;br /&gt;
One interesting fact is that using stores and loads do not cause a stall. So aslong as you don't need the result straight away you can hide the 20 cycle latency. Instead of doing a transfer you; store your NFP / VFP result to memory, do some work on the ARM, then load the result back onto the ARM without penalty. ie&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;void foo(float *x, float *r)&lt;br /&gt;
{&lt;br /&gt;
	*r = 123 + *x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void bar(float *x, float *r)&lt;br /&gt;
{&lt;br /&gt;
	*r = 546 + *x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
	float x = 10;&lt;br /&gt;
	float y, z;&lt;br /&gt;
	foo(&amp;amp;x, &amp;amp;y)&lt;br /&gt;
	&lt;br /&gt;
	//do ~20 cycles of ARM work&lt;br /&gt;
	&lt;br /&gt;
	bar(&amp;amp;y, &amp;amp;z);&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The last common source of transfers is when you cast a floating point value as an integer, by default all integer work will be done in the ARM pipeline and hence a transfer operation occurs. This is particularly problematic for complex algorithms that rely on bitwise or rounding operations on floating point numbers, ie almost all the functions in cmath depend on range reduction (rounding). A smart compiler would recognize that they can almost always be done in the NEON's integer pipeline.&lt;br /&gt;
&lt;br /&gt;
== NEON SIMD ==&lt;br /&gt;
The NEON unit is similar to the MMX and SSE extensions found on X86 processors, it is optimized for Single Instruction Multiple Data (SIMD) operations.&lt;br /&gt;
The NEON unit has 2 floating point pipelines, an integer pipeline and a 128bit load/store/permute pipeline. When properly utilized it is a very powerful coprocessor. Unfortunately GCC does a rather poor job of vectorizing code for the NEON unit. To get the best performance you should use either the intrinsics provided in the &amp;quot;arm_neon.h&amp;quot; header or hand written assembly. &lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
It's often said amongst software developers that you 'may aswell not bother trying to out perform a compiler', whilst there is a grain of truth in this where X86 is concerned, this is definitely not the case with Floating point on the ARM Cortex A8. Infact it is almost the opposite, you can almost always make significant gains via targeting the NEON. Therefore, Inorder to achieve the best floating point performance on the Pandora (or ARM Cortex A8 device):&lt;br /&gt;
* Use the CodeSourcery 2007q3 or 2009q1 releases and these flags: -O3 -mcpu=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=(softfp|hard) -ffast-math -fsingle-precision-constant&lt;br /&gt;
* Only use single precision floating point&lt;br /&gt;
* Use NEON intrinsics / ASM when ever you find a bottlenecking FP function. You can do better than the compiler.&lt;br /&gt;
* Minimize Conditional Branches&lt;br /&gt;
* Enable RunFast mode&lt;br /&gt;
&lt;br /&gt;
For softfp:&lt;br /&gt;
* Inline floating point code (unless its very large)&lt;br /&gt;
* Pass FP arguments via pointers instead of by value and do integer work in between function calls.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Combining_OpenGL_ES_1.1_and_SDL_to_create_a_window_on_the_Pandora&amp;diff=1997</id>
		<title>Combining OpenGL ES 1.1 and SDL to create a window on the Pandora</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Combining_OpenGL_ES_1.1_and_SDL_to_create_a_window_on_the_Pandora&amp;diff=1997"/>
		<updated>2010-01-10T20:41:44Z</updated>

		<summary type="html">&lt;p&gt;Glenn: + Category:Software&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There is a special SDL source code for pandora with OpenGL ES capability &lt;br /&gt;
available here : http://github.com/Cpasjuste&lt;br /&gt;
&lt;br /&gt;
The screen initialisation is now easy as this : SDL_SetVideoMode(800, 480, 16, SDL_OPENGLES)&lt;br /&gt;
&lt;br /&gt;
An SDL/GLES exemple is also available on the git repository.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Games&amp;diff=1988</id>
		<title>Games</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Games&amp;diff=1988"/>
		<updated>2010-01-10T20:36:21Z</updated>

		<summary type="html">&lt;p&gt;Glenn: + Category:Software&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Completed games go here.&lt;br /&gt;
&lt;br /&gt;
For unreleased games under development, see the [[Projects_Under_Development#Games|Projects Under Development page]].&lt;br /&gt;
&lt;br /&gt;
The games listed below are listed as completed build on the Under Development page.&lt;br /&gt;
&lt;br /&gt;
BattleJewels by Skeezix&lt;br /&gt;
&lt;br /&gt;
uHexen2: Hammer of Thyrion by Adventus&lt;br /&gt;
&lt;br /&gt;
Zdoom by Adventus&lt;br /&gt;
&lt;br /&gt;
Please note that production of these games will go much faster once the actual product is released, as right now only minimal testing is available for those that do not have dev boards. Also, many listed on the Under Development page list working builds, but are not listed here as they are not yet listed as complete.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Software&amp;diff=1987</id>
		<title>Category:Software</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Software&amp;diff=1987"/>
		<updated>2010-01-10T20:35:58Z</updated>

		<summary type="html">&lt;p&gt;Glenn: new&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Emulator_Compatibility&amp;diff=1986</id>
		<title>Category:Emulator Compatibility</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Emulator_Compatibility&amp;diff=1986"/>
		<updated>2010-01-10T20:32:12Z</updated>

		<summary type="html">&lt;p&gt;Glenn: catspec&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category for all the emulator compatibility pages.&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Emulators&amp;diff=1985</id>
		<title>Category:Emulators</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Emulators&amp;diff=1985"/>
		<updated>2010-01-10T20:31:22Z</updated>

		<summary type="html">&lt;p&gt;Glenn: + Category:Developer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages about emulators.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Software_projects&amp;diff=1982</id>
		<title>Software projects</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Software_projects&amp;diff=1982"/>
		<updated>2010-01-10T20:28:04Z</updated>

		<summary type="html">&lt;p&gt;Glenn: + Category:Development&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See the [[Port Requests]] article for open-source projects which ''could'' be ported but have not been taken on by anyone yet.&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Android Omap&lt;br /&gt;
|[http://elinux.org/Android_on_OMAP Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Angstrom Linux&lt;br /&gt;
|[http://www.angstrom-distribution.org/ Link]&lt;br /&gt;
|Working build, not completed&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AROS Arm&lt;br /&gt;
|[http://projects.powerdeveloper.org/project/imx515/735 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD&lt;br /&gt;
|[http://wiki.freebsd.org/FreeBSD/arm/OMAP Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fedora ARM&lt;br /&gt;
|[http://fedoraproject.org/wiki/Architectures/ARM Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Gentoo Linux&lt;br /&gt;
|[http://gentoo.openpandora.org Link]&lt;br /&gt;
|Working build, not completed&lt;br /&gt;
|javaJake, Viridior&lt;br /&gt;
|IRC: (FreeNode) #gentoo-pandora&lt;br /&gt;
|-&lt;br /&gt;
|HaikuOS&lt;br /&gt;
|[http://www.haiku-os.org Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|RISC OS&lt;br /&gt;
|[http://www.riscosopen.org Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Uwe Kall, Jeffrey Lee&lt;br /&gt;
|BeagleBoard port available for download and testing&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu ARM&lt;br /&gt;
|[http://www.ubuntu.com/products/whatisubuntu/arm Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Abuse&lt;br /&gt;
|[http://abuse.zoy.org/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|2D Platform&lt;br /&gt;
|-&lt;br /&gt;
|Aleph One&lt;br /&gt;
|[http://www.youtube.com/watch?v=1zQ7Fbwhb5I/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Battle for Wesnoth v1.6.2&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47936 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|BattleJewels&lt;br /&gt;
|&lt;br /&gt;
|Completed build for GP2X, WIP for Pandora&lt;br /&gt;
|Skeezix&lt;br /&gt;
|Logical&lt;br /&gt;
|-&lt;br /&gt;
|BlobWars&lt;br /&gt;
|[http://www.parallelrealities.co.uk/projects/blobWars.php Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|2D Platform&lt;br /&gt;
|-&lt;br /&gt;
|Caster&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46813 Link]&lt;br /&gt;
|Working build (tested on PC)&lt;br /&gt;
|Svartalf&lt;br /&gt;
|RPG&lt;br /&gt;
|- &lt;br /&gt;
|CDogs&lt;br /&gt;
|&lt;br /&gt;
|WIP&lt;br /&gt;
|Pickle&lt;br /&gt;
|Top down Shooter&lt;br /&gt;
|-&lt;br /&gt;
|Chaotic Vortex&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/49754-chaotic-vortex-dual-stick-arena-shooter Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Ruben&lt;br /&gt;
|Dual stick 2D shooter&lt;br /&gt;
|-&lt;br /&gt;
|Descent 1 (d1x-rebirth engine)&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1032 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Descent 2 (d2x-rebirth engine)&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1032 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Eternity 6: The Waterphoenix&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/50772-eternity-6-the-waterphoenix/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Darien&lt;br /&gt;
|Side Scroller / Beat 'Em Up&lt;br /&gt;
|-&lt;br /&gt;
|FHeroes Port (Heroes Of Might And Magic 2)&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47553 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|FreeCiv 2.1.9&lt;br /&gt;
|[http://freeciv.wikia.com/wiki/Main_Page Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|Galactic Artifact&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46836 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Trevor Bradley&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|GemRB (Infinity Engine)&lt;br /&gt;
|&lt;br /&gt;
|wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|open-source implementation of Bioware's Infinity Engine, supports games including Baldurs Gate 2 and Planescape Torment.&lt;br /&gt;
|-&lt;br /&gt;
|Giannas Return&lt;br /&gt;
|[http://www.gianas-return.de/ Link]&lt;br /&gt;
|Working&lt;br /&gt;
|Giannas Team&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|Gravity Blocks&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47662 Link]&lt;br /&gt;
|wip (early in developement)&lt;br /&gt;
|Awekening&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|Homeworld Port&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47565 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|LinuxHacker&lt;br /&gt;
|Simulation&lt;br /&gt;
|-&lt;br /&gt;
|Human Condition (was TINCS)&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46487 Link1][http://www.youtube.com/user/ButtermanHimself Link2]&lt;br /&gt;
|wip&lt;br /&gt;
|Butterman&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Lerp&lt;br /&gt;
|[http://grapefruitopia.com/lerp/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|benjymous&lt;br /&gt;
|2D physics puzzle platformer&lt;br /&gt;
|-&lt;br /&gt;
|Lord of the Rings Port&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46792&amp;amp;hl= Link]&lt;br /&gt;
|Unknown&lt;br /&gt;
|Daeglin&lt;br /&gt;
|RPG&lt;br /&gt;
|-&lt;br /&gt;
|Mental&lt;br /&gt;
|&lt;br /&gt;
|Working build, tested on PC&lt;br /&gt;
|Colin Jones (xentalion)&lt;br /&gt;
|2D Horror Survival Adventure&lt;br /&gt;
|-&lt;br /&gt;
|Monster!&lt;br /&gt;
|[http://christophsdevblog.blogspot.com/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Chris R&lt;br /&gt;
|Arcade&lt;br /&gt;
|- &lt;br /&gt;
|Ms Driller&lt;br /&gt;
|&lt;br /&gt;
|WIP&lt;br /&gt;
|Wally&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|NAEV&lt;br /&gt;
|[http://code.google.com/p/naev/ Link]&lt;br /&gt;
|wip (waiting for pandora to finish and test)&lt;br /&gt;
|bobbens&lt;br /&gt;
|Action/RPG/Sim&lt;br /&gt;
|-&lt;br /&gt;
|Nails Adventure&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46961 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|jsmtux/Mr. Gonzo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenLiero (Liero)&lt;br /&gt;
|&lt;br /&gt;
|working build, need to be polished&lt;br /&gt;
|Pickle&lt;br /&gt;
|Shoot'Em Up&lt;br /&gt;
|-&lt;br /&gt;
|OpenTyrian&lt;br /&gt;
|[http://code.google.com/p/opentyrian/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Shoot'Em Up&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Panic!&lt;br /&gt;
|[http://www.youtube.com/watch?v=y9d6UXhQP6o Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|PokeParadox / GP32X Community&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Pool Panic&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46996 Link]&lt;br /&gt;
|Almost Finished&lt;br /&gt;
|Unfathomable Depths&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|PanMMO - Pandora MMO Game via Internet&lt;br /&gt;
|[http://www.youtube.com/user/enirya Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Enirya&lt;br /&gt;
|RPG&lt;br /&gt;
|-&lt;br /&gt;
|PanDjoust&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51192-pandjoust-a-new-simple-platformer/ Link]&lt;br /&gt;
|Early Stages&lt;br /&gt;
|MarkoeZ&lt;br /&gt;
|Platformer&lt;br /&gt;
|-&lt;br /&gt;
|Powermanga&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Quake 1&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Quake 2&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Quake 3&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Quake 3&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Reminiscence (flashback)&lt;br /&gt;
|[http://cyxdown.free.fr/reminiscence/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Action/Adventure&lt;br /&gt;
|-&lt;br /&gt;
|Rise of The Triad&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47931 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|arrrgh&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Slitherlink&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/50756-slitherlink/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|Mia&lt;br /&gt;
|Puzzle&lt;br /&gt;
|-&lt;br /&gt;
|Super Lumenal&lt;br /&gt;
|[http://www.youtube.com/watch?v=sZHi3YT3xuE&amp;amp;feature=channel_page Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|SuperTux 1&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1040 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Platform&lt;br /&gt;
|-&lt;br /&gt;
|SuperTux 2&lt;br /&gt;
|[http://forum.openhandhelds.org/viewtopic.php?f=6&amp;amp;t=1040 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Platform&lt;br /&gt;
|-&lt;br /&gt;
|Tecnoballz&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Teeworlds&lt;br /&gt;
|[http://www.teeworlds.com/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|The Mana World&lt;br /&gt;
|[http://www.themanaworld.org/ Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|MMORPG&lt;br /&gt;
|-&lt;br /&gt;
|uHexen2: Hammer of Thyrion &lt;br /&gt;
|&lt;br /&gt;
|Completed build for GP2X, WIP for Pandora&lt;br /&gt;
|Adventus&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Ur-Quan Masters&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43625&amp;amp;st=165&amp;amp;p=673047&amp;amp;#entry673047 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|Space Exploration&lt;br /&gt;
|-&lt;br /&gt;
|Warioland-inspired game&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48680-warioland-inspired-game/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|foxblock&lt;br /&gt;
|Platformer&lt;br /&gt;
|-&lt;br /&gt;
|We Come In Peace&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43655 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Otaco&lt;br /&gt;
|Strategy&lt;br /&gt;
|-&lt;br /&gt;
|Where in world is...&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|Casual&lt;br /&gt;
|-&lt;br /&gt;
|Wizzley Presto and the Mysterious Time Machine&lt;br /&gt;
|[http://www.30daygame.com/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Craigix, Zodttd, Ruckage&lt;br /&gt;
|Arcade, 30 Day Game Competition&lt;br /&gt;
|-&lt;br /&gt;
|Wolf4SDL (Wolfenstein 3D)&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|FPS&lt;br /&gt;
|-&lt;br /&gt;
|Wandor&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48680-wandor-working-title/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|foxblock&lt;br /&gt;
|Side Scroller&lt;br /&gt;
|-&lt;br /&gt;
|XSwing Plus&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?s=&amp;amp;showtopic=43655&amp;amp;view=findpost&amp;amp;p=733021 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Tobse&lt;br /&gt;
|Arcade&lt;br /&gt;
|-&lt;br /&gt;
|ZEQ2Lite&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47623&amp;amp;hl= Link]&lt;br /&gt;
|Work in progress&lt;br /&gt;
|MDave&lt;br /&gt;
|Dragonball Z Third Person Fighter/Shooter&lt;br /&gt;
|-&lt;br /&gt;
|Zdoom &lt;br /&gt;
|&lt;br /&gt;
|Completed build for GP2X, WIP for Pandora&lt;br /&gt;
|Adventus&lt;br /&gt;
|FPP&lt;br /&gt;
|-&lt;br /&gt;
|Zombd&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46933 Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|iprice/Mr Gonzo&lt;br /&gt;
|Shoot'Em Up&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Emulators ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Emulated System&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Caprice32&lt;br /&gt;
|Amstrad CPC&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=48140 Link1] [http://www.caprice32.cybercube.com/ Link2]&lt;br /&gt;
|wip&lt;br /&gt;
|hdonk&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DosBox&lt;br /&gt;
|x86 DOS&lt;br /&gt;
|&lt;br /&gt;
|working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FinalBurnAdvance&lt;br /&gt;
|CPS1/2/3/taito...&lt;br /&gt;
|[http://www.youtube.com/watch?v=06hjDLMBaf8 Link]&lt;br /&gt;
|&lt;br /&gt;
|Squidge&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Frotz&lt;br /&gt;
|Z-Machine interpreter&lt;br /&gt;
|[http://www.cosam.org/computers/pandora/frotz-2.43.zip Link]&lt;br /&gt;
|working build&lt;br /&gt;
|SteveM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fuse&lt;br /&gt;
|ZX Spectrum&lt;br /&gt;
|[http://www.cosam.org/computers/pandora/fuse-0.9.0.zip Link]&lt;br /&gt;
|working build&lt;br /&gt;
|SteveM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GnGeo&lt;br /&gt;
|SNK NeoGeo&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link1] [http://www.youtube.com/user/cpasjuste Link2]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gpSP&lt;br /&gt;
|Nintendo GBA&lt;br /&gt;
|&lt;br /&gt;
|wip&lt;br /&gt;
|ZodTTD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Hatari&lt;br /&gt;
|Atari ST&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link1] [http://www.youtube.com/user/cpasjuste Link2]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jzintv&lt;br /&gt;
|Mattel Intellivision&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=48035 Link]&lt;br /&gt;
|&lt;br /&gt;
|WizardStan&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[MAME4ALL]]&lt;br /&gt;
|Arcade&lt;br /&gt;
|[http://www.youtube.com/user/franxism Link]&lt;br /&gt;
|&lt;br /&gt;
|Franxis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Mupen64plus&lt;br /&gt;
|Nintendo 64&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/49358-mupen64plus/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Ari64&lt;br /&gt;
|Adventus ported graphics plugin&lt;br /&gt;
|-&lt;br /&gt;
|NeoPop&lt;br /&gt;
|SNK NeoGeo Pocket&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link1] [http://www.youtube.com/user/cpasjuste Link2]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NullDC&lt;br /&gt;
|Sega Dreamcast&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?s=&amp;amp;showtopic=47065&amp;amp;view=findpost&amp;amp;p=709910 Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|Zezu / drkIIraziel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PandaSNES&lt;br /&gt;
|Nintendo SNES&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43213 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Squidge&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-PSP&lt;br /&gt;
|Sony Playstation Portable&lt;br /&gt;
|[http://jayfoxrox.bplaced.net/pandora-psp/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|[[User:JayFoxRox|JayFoxRox]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PAtari&lt;br /&gt;
|Atari 800&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PicoDrive&lt;br /&gt;
|Sega Genesis/CD/32x&lt;br /&gt;
|[http://www.youtube.com/watch?v=QDbLQI91510 Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Notaz&lt;br /&gt;
|Fullspeed emulator&lt;br /&gt;
|-&lt;br /&gt;
|PSMS&lt;br /&gt;
|Sega Master System&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PSnes&lt;br /&gt;
|Nintendo SNES&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[PSX4Pandora]]&lt;br /&gt;
|Sony PlayStation&lt;br /&gt;
|[http://www.zodttd.com Link]&lt;br /&gt;
|Not Status, working build&lt;br /&gt;
|ZodTTD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ScummVM&lt;br /&gt;
|x86 Scumm engine games&lt;br /&gt;
|&lt;br /&gt;
|Working build&lt;br /&gt;
|DJ Willis&lt;br /&gt;
|Fullspeed emulator&lt;br /&gt;
|-&lt;br /&gt;
|SIMH&lt;br /&gt;
|old hardware&lt;br /&gt;
|[http://www.cosam.org/computers/pandora/simh-3.8.zip Link]&lt;br /&gt;
|working build&lt;br /&gt;
|SteveM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Temper&lt;br /&gt;
|NEC PC Engine&lt;br /&gt;
|[http://exophase.devzero.co.uk/ Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Exophase&lt;br /&gt;
|Fullspeed emulator&lt;br /&gt;
|-&lt;br /&gt;
|Tempest&lt;br /&gt;
|Atari Jaguar&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=43119 Link]&lt;br /&gt;
|&lt;br /&gt;
|Firefox&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[UAE4ALL]]&lt;br /&gt;
|Amiga&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=44100 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|XMAME&lt;br /&gt;
|Arcade&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graphic Engines ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|GLES2D&lt;br /&gt;
|&lt;br /&gt;
|Wip&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|OpenGL ES 2D library&lt;br /&gt;
|-&lt;br /&gt;
|GL-WES-v2.0&lt;br /&gt;
|[http://code.google.com/p/gl-wes-v2/ link] &lt;br /&gt;
|Working Build&lt;br /&gt;
|Adventus&lt;br /&gt;
|Opensource OpenGL 2.0 driver built on OpenGL ES 2.0.&lt;br /&gt;
|-&lt;br /&gt;
|Irrlicht&lt;br /&gt;
|[http://irrlicht.sourceforge.net/] [http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32538&amp;amp;start=45]&lt;br /&gt;
|working build&lt;br /&gt;
|Hybrid&lt;br /&gt;
|3D game engine&lt;br /&gt;
|-&lt;br /&gt;
|NSS Engine&lt;br /&gt;
|[http://www.nosiestastudios.com/wiki/ Link1] [http://www.youtube.com/user/Prompt84 Link2]&lt;br /&gt;
|&lt;br /&gt;
|No Siesta Studios&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OGRE Engine&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46706 Link1] [http://www.youtube.com/watch?v=LDtUE5PIhV0 Link2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3D real-time renderer&lt;br /&gt;
|-&lt;br /&gt;
|Otaco Glost Engine&lt;br /&gt;
|[http://www.youtube.com/user/otacogloost Link1], [http://www.gp32x.com/board/index.php?/topic/48393-i-did-stuff/page__p__736650&amp;amp;#entry736650 Link2]&lt;br /&gt;
|working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Quad-Ren 2D&lt;br /&gt;
|[http://quad-ren.sourceforge.net/index.php Link]&lt;br /&gt;
|Working&lt;br /&gt;
|Hessiess&lt;br /&gt;
|Version 0.5 &lt;br /&gt;
|-&lt;br /&gt;
|SDL GLES&lt;br /&gt;
|[http://github.com/Cpasjuste/sdl-1.2.13_gles/tree Link]&lt;br /&gt;
|working&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|XreaL&lt;br /&gt;
|[http://xreal.sourceforge.net/xrealwiki/ Link]&lt;br /&gt;
|&lt;br /&gt;
|Pickle [?]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Stratagus&lt;br /&gt;
|[http://stratagus.sourceforge.net/ Link]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|RTS Engine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other programs ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|AbiWord - Word Processor&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|Claws Mail&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|Epiphany Web Bowser&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireFox - Internet Browser&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|GIMP - Image Editor&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|GMenu&lt;br /&gt;
|[http://www.youtube.com/watch?v=VYzi8gziC7E Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pandora Team&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Gnumeric Spreadsheet - Spreadsheet&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|for Angstrom OpenPandora&lt;br /&gt;
|-&lt;br /&gt;
|GoView&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Image Gallery&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Inside The Box&lt;br /&gt;
|[http://www.openpandora.pl Link1] [http://www.youtube.com/watch?v=uLMmJBDEs2E Link2]&lt;br /&gt;
|wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|Pandora e-zine&lt;br /&gt;
|-&lt;br /&gt;
|IRC Client&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LeafPad&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Matchbox Shell / GUI&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MPlayer&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=41420 Link1] [http://www.youtube.com/watch?v=v9RAPNa-55k Link2]&lt;br /&gt;
|Working build&lt;br /&gt;
|Squidge&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Math-NEON&lt;br /&gt;
|[http://code.google.com/p/math-neon/ Link1]&lt;br /&gt;
|Wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|cmath like library optimised for ARM NEON coprocessor.&lt;br /&gt;
|-&lt;br /&gt;
|Pandaphone&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48327-pandaphone/ Link]&lt;br /&gt;
|&lt;br /&gt;
|jb0yx&lt;br /&gt;
|A project to incorporate the Open Pandora handheld device with cell phone technology&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Sync Suite&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|Pangea GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=45631&amp;amp;hl=pangea Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|efegea&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|Panorama&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51076-panorama/ Link]&lt;br /&gt;
|WIP&lt;br /&gt;
|dflemstr&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|PDM&lt;br /&gt;
|[http://github.com/Cpasjuste/pdm/tree Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Light desktop manager for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PGui&lt;br /&gt;
|[http://github.com/Cpasjuste/pgui/tree Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Standard emulator fronted for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|Pidgin - IM (for Angstrom OpenPandora)&lt;br /&gt;
|[http://www.youtube.com/watch?v=oYf-I1UuWhk Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PMenu&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/ Link]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PND Maker (for Windows 9x/NT)&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Qemu&lt;br /&gt;
|[http://www.nongnu.org/qemu/status.html Link]&lt;br /&gt;
|testing build&lt;br /&gt;
|Fabrice Bellard&lt;br /&gt;
|open source machine emulator and virtualizer&lt;br /&gt;
|-&lt;br /&gt;
|Scale&lt;br /&gt;
|[http://www.youtube.com/user/Zoxc64 Link]&lt;br /&gt;
|wip&lt;br /&gt;
|Zoxc64&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|Simple Dev Studio for Pandora&lt;br /&gt;
|[http://www.openpandora.pl Link]&lt;br /&gt;
|Wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Application stack for multiplayer internet games&lt;br /&gt;
|-&lt;br /&gt;
|[[TS2A]]&lt;br /&gt;
|[[TS2A]]&lt;br /&gt;
|Documentation only&lt;br /&gt;
||[[User:JayFoxRox|JayFoxRox]]&lt;br /&gt;
|Teamspeak 2 Alternative Client / Server, Needs developer&lt;br /&gt;
|-&lt;br /&gt;
|XMMS&lt;br /&gt;
|[http://www.youtube.com/watch?v=sKKMj37Psd8 Link]&lt;br /&gt;
|Working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ZiB Emulator Frontend&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47203 Link1] [http://www.youtube.com/watch?v=UJvON8lCM3M Link2]&lt;br /&gt;
|&lt;br /&gt;
|Aimless_E&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Demos / Technical Demos for OpenPandora ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Project Name&lt;br /&gt;
! Link&lt;br /&gt;
! Status&lt;br /&gt;
! Author/Port Author&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Cell Shading&lt;br /&gt;
|[http://www.youtube.com/watch?v=cpAj0jHglGw Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Demo with MP3 Playback&lt;br /&gt;
|[http://www.youtube.com/watch?v=hkx18kruRJs Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Skull Demo&lt;br /&gt;
|[http://www.youtube.com/watch?v=qG7EDaZpyOo Link]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WaveDemo&lt;br /&gt;
|[http://www.youtube.com/watch?v=4wgEHFCq9Lo Link]&lt;br /&gt;
|Working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Cross-compiler&amp;diff=1981</id>
		<title>Cross-compiler</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Cross-compiler&amp;diff=1981"/>
		<updated>2010-01-10T20:27:36Z</updated>

		<summary type="html">&lt;p&gt;Glenn: + Category:Development&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''I'm still sorting this out myself, I'm going to give a short tutorial about compiling something from the Windows command line, the rest will be explained when the Pandora is released''&lt;br /&gt;
&lt;br /&gt;
What you need:  &lt;br /&gt;
&lt;br /&gt;
- Patience&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To compile your applications to the ARM architecture you're going to need a cross-compiler. Luckily, Code-Sourcery hosts a bunch of cross-compiling suites for various platforms on their site, some editions have to be paid for, but they do have &amp;quot;lite&amp;quot; editions without support that are completely free.&lt;br /&gt;
&lt;br /&gt;
Head up onto here, http://www.codesourcery.com/sgpp/lite/arm/releases/2007q3&lt;br /&gt;
&lt;br /&gt;
You want the  &amp;quot;ARM GNU/Linux&amp;quot; option, then choose whichever operating system you're running bellow.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Template:Pandora_Hardware&amp;diff=1978</id>
		<title>Template:Pandora Hardware</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Template:Pandora_Hardware&amp;diff=1978"/>
		<updated>2010-01-10T20:25:34Z</updated>

		<summary type="html">&lt;p&gt;Glenn: catspec  Category:Hardware&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 3rd Party Hardware ===&lt;br /&gt;
This is a list of hardware that can be used with the Pandora UMPC.&lt;br /&gt;
&lt;br /&gt;
This page lists the name of a product, the link to the product, miscellaneous notes on it, and then the status.&lt;br /&gt;
&lt;br /&gt;
The status has a possible 3 colors. (Editors, please copy and paste the styling when creating a new row.)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:green;color:white;text-align:center&amp;quot; | Works! with Pandora&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown to work&lt;br /&gt;
| style=&amp;quot;background:red;color:white;text-align:center&amp;quot; | Not compatible with Pandora&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;background:#000000; color:white&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Link&lt;br /&gt;
! Notes&lt;br /&gt;
! Status&lt;br /&gt;
! Source&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Keyboards&lt;br /&gt;
|-&lt;br /&gt;
| Apple Wireless Bluetooth Keyboard&lt;br /&gt;
| http://www.bestbuy.com/site/olspage.jsp?skuId=8509759&amp;amp;st=keyboard&amp;amp;lp=12&amp;amp;type=product&amp;amp;cp=1&amp;amp;id=1186005932539&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|-  style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Adesso Foldable Keyboard&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16823166038&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Adesso Mouse/Keyboard Combination&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16823166052&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Darfon Foldable Keyboard&lt;br /&gt;
| http://www.darfon.com.tw/English/HID_Portable.asp&lt;br /&gt;
| Possibly relisted under other manufacturers names&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| DealExtreme Compact 88 key keyboard&lt;br /&gt;
| http://www.dealextreme.com/details.dx/sku.11933&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| iGo Stowaway Ultra-Slim Bluetooth Keyboard&lt;br /&gt;
| http://www.amazon.com/Stowaway-Ultra-Slim-Bluetooth-Blackberry-Handhelds/dp/B0002OKCXE&lt;br /&gt;
| iGo no longer makes them, however many Nokia Internet tablet owners have them.&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Mice&lt;br /&gt;
|-&lt;br /&gt;
| Adesso Mouse w/ numpad&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16823166082&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Cases&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Accessories/Misc&lt;br /&gt;
|-&lt;br /&gt;
| Archos screen protectors&lt;br /&gt;
| http://www.zagg.com/invisibleshield/media-player/archos&lt;br /&gt;
| Assumed to work due to screen dimensions&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Mini-Box PicoLCD 4x20 External LCD display&lt;br /&gt;
| http://www.mini-box.com/PicoLCD-4X20-Sideshow&lt;br /&gt;
| Also works in Windows Vista&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| DealExtreme 58-n-1 card reader&lt;br /&gt;
| http://www.dealextreme.com/details.dx/sku.7523&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| DealExtreme clip-on 1.3 MP Webcap&lt;br /&gt;
| http://www.dealextreme.com/details.dx/sku.3569&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Game Controllers&lt;br /&gt;
|-&lt;br /&gt;
| Genius Portable USB Pandora Gamepad&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16826179016&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| NES/SNES to USB Converters and controllers&lt;br /&gt;
| http://www.retrousb.com/index.php?categoryID=79&lt;br /&gt;
| May be better off buying the controllers (retro) from eBay&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| USB Adapter for all kinds of retro joysticks&lt;br /&gt;
| http://www.raphnetshop.com/products/atari2usb/index.php?category=Gaming&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Logitech Precision&lt;br /&gt;
| http://www.logitech.com/index.cfm/gaming/pc_gaming/gamepads/devices/301&lt;br /&gt;
|&lt;br /&gt;
* Not all the buttons have been tested, but I think we can safely assume they'll work.  (When confirmed all work, remove this note)&lt;br /&gt;
* Requires USB adapter&lt;br /&gt;
| style=&amp;quot;background:green;color:white;text-align:center&amp;quot; | Works&lt;br /&gt;
| [http://www.youtube.com/watch?v=njgAQhwqJZg Source]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Hardware_documentation&amp;diff=1977</id>
		<title>Hardware documentation</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Hardware_documentation&amp;diff=1977"/>
		<updated>2010-01-10T20:25:13Z</updated>

		<summary type="html">&lt;p&gt;Glenn: catspec  Category:Hardware&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OMAP3530==&lt;br /&gt;
*OMAP35x: Main page on TI site[http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915]&lt;br /&gt;
*OMAP3530 specific page[http://focus.ti.com/docs/prod/folders/print/omap3530.html]  ''This lists the features of the chip and has all the applicable Technical Documents''&lt;br /&gt;
*OMAP35XX technical manual: [http://www.ti.com/litv/pdf/spruf98b] (38MB PDF)&lt;br /&gt;
&lt;br /&gt;
==C64x+==&lt;br /&gt;
*CPU and Instruction Set Reference Guide[http://focus.ti.com/lit/ug/spru732h/spru732h.pdf]&lt;br /&gt;
*TMS320C6000 Assembly Language Tools v 6.0 Beta User's Guide[http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&amp;amp;tabId=409&amp;amp;abstractName=spru186p]&lt;br /&gt;
*TMS320C6000 Optimizing Compiler v 6.0 Beta User's Guide[http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&amp;amp;tabId=409&amp;amp;familyId=44&amp;amp;abstractName=spru187n]&lt;br /&gt;
*TMS320C6000 Programmer's Guide[http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&amp;amp;tabId=409&amp;amp;abstractName=spru198i]&lt;br /&gt;
&lt;br /&gt;
==Cortex-A8==&lt;br /&gt;
*r1p1[http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344b/DDI0344.pdf]  ''Note: OMAP3530 uses r1p2''&lt;br /&gt;
*NEON instructions[http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html]&lt;br /&gt;
*'''UPDATE''': r2p2 Documentation [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344e/index.html]  ''Note: OMAP3530 uses r1p2''&lt;br /&gt;
*NEON memory hazards[http://hardwarebug.org/2008/12/31/arm-neon-memory-hazards/]&lt;br /&gt;
&lt;br /&gt;
==Screen==&lt;br /&gt;
*Screen datasheet (TD043MTEA2)[http://beyondinfinite.com/lcd/Library/Toppoly/TD043MTEA2.pdf]&lt;br /&gt;
&lt;br /&gt;
==OpenGL ES 2.0==&lt;br /&gt;
*Official site[http://khronos.org/opengles/2_X/]&lt;br /&gt;
&lt;br /&gt;
==Other OMAP3530 Projects==&lt;br /&gt;
*Beagle Board Resources[http://beagleboard.org/resources] As it uses the same SoC, many BB resources are also relevant for the Pandora.&lt;br /&gt;
*Beagle Board Google Group[http://groups.google.com/group/beagleboard]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Hardware_hacking&amp;diff=1976</id>
		<title>Hardware hacking</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Hardware_hacking&amp;diff=1976"/>
		<updated>2010-01-10T20:24:30Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Making an RS232 level converter for the Pandora=&lt;br /&gt;
How is this done?&lt;br /&gt;
&lt;br /&gt;
=Pinouts=&lt;br /&gt;
==Ext Connector==&lt;br /&gt;
''Please add any information you have here''&lt;br /&gt;
&lt;br /&gt;
''What is the pinout?''&lt;br /&gt;
&lt;br /&gt;
''Where can we get the connectors from?''&lt;br /&gt;
&lt;br /&gt;
==Battery==&lt;br /&gt;
3.7V &lt;br /&gt;
Lithium polymer single cell battery&lt;br /&gt;
4000 mAH&lt;br /&gt;
4 AH&lt;br /&gt;
battery cover here:&lt;br /&gt;
[http://www.openpandora.org/images/Battery2.jpg]&lt;br /&gt;
&lt;br /&gt;
==Internal connections==&lt;br /&gt;
''Please add any information you have here''&lt;br /&gt;
===LCD===&lt;br /&gt;
===UART===&lt;br /&gt;
''Does this exist???''&lt;br /&gt;
===GPIO===&lt;br /&gt;
===Battery===&lt;br /&gt;
===JTAG===&lt;br /&gt;
&lt;br /&gt;
===Keypad backlight===&lt;br /&gt;
Maximum current draw?&lt;br /&gt;
&lt;br /&gt;
==Breakout Board==&lt;br /&gt;
[[Image:Breakoutboard.jpg|thumb|alt=Developer's breakout board|Developer's breakout board]]&lt;br /&gt;
This is the breakout board used by Pandora team members during development. Only a small number were made, and they are not available to the public. However a similar product (or gerber files) may be released in the future. A schematic for this board is available here: http://openpandora.ca/schematic/AV_Board_schematic.pdf&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Hardware&amp;diff=1975</id>
		<title>Category:Hardware</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Hardware&amp;diff=1975"/>
		<updated>2010-01-10T20:24:12Z</updated>

		<summary type="html">&lt;p&gt;Glenn: new&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Special:Badtitle/NS104:FAQ&amp;diff=775</id>
		<title>Special:Badtitle/NS104:FAQ</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Special:Badtitle/NS104:FAQ&amp;diff=775"/>
		<updated>2008-10-04T11:54:45Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Preguntas==&lt;br /&gt;
===¿Qué es Pandora?===&lt;br /&gt;
&lt;br /&gt;
Es una videoconsola portátil Open-Source con Wifi y Bluetooth.&lt;br /&gt;
Características y especificaciones&lt;br /&gt;
&lt;br /&gt;
===¿Cómo se ha concebido?===&lt;br /&gt;
&lt;br /&gt;
Pandora es una máquina única. Ha sido diseñada basado en las sugerencias de cientos de usuarios de foros con un único objetivo: crear el dispositivo portátil de código abierto definitivo.&lt;br /&gt;
&lt;br /&gt;
===¿Cómo es de potente?===&lt;br /&gt;
&lt;br /&gt;
Es con mucho la consola portátil más potente hasta el momento en términos de proceso de CPU y capacidades gráficas 3D. Sus prestaciones técnicas harán que sea capaz de soportar aplicaciones como Firefox3 o Quake3 con facilidad.&lt;br /&gt;
&lt;br /&gt;
===¿Dónde y cuándo podré comprarla?===&lt;br /&gt;
&lt;br /&gt;
Actualmente ya está disponible para desarrolladores seleccionados. Los demás usuarios podrán reservarla desde el 30 de Septiembre. Los envíos empezarán a finales de Noviembre. Se distribuirá desde Inglaterra, USA, Canada, Alemania y Turquía.&lt;br /&gt;
&lt;br /&gt;
===¿Cuánto costará?===&lt;br /&gt;
&lt;br /&gt;
Precio final: €250 (impuestos incluidos)&lt;br /&gt;
&lt;br /&gt;
¿Para qué ha sido diseñado este dispositivo?&lt;br /&gt;
&lt;br /&gt;
Ha sido diseñado como un ordenador ultra portable de código abierto basado en GNU/Linux con controles de juego. Es muy pequeño, con el tamaño aproximado de una Nintendo DS. Cabe facilmente en tu bolsillo.&lt;br /&gt;
&lt;br /&gt;
===¿Por qué ese diseño tan radical?===&lt;br /&gt;
&lt;br /&gt;
El diseño es de tipo concha ya que da una máxima proteccion, comodidad y por supuesto el máximo tamaño de la batería para una mayor autonomía.&lt;br /&gt;
&lt;br /&gt;
Puedes ver una foto comparativa aquí.&lt;br /&gt;
&lt;br /&gt;
===Tengo una idea… / ¿Podríais cambiar… ?===&lt;br /&gt;
&lt;br /&gt;
Entra en los foros oficiales de Pandora (en inglés) y cuenta tu idea.&lt;br /&gt;
&lt;br /&gt;
Tambien puedes entrar en Pandora Wiki (en inglés) para tener más información. Dicha web no es oficial y por lo tanto los creadores no son responsables de su contenido.&lt;br /&gt;
&lt;br /&gt;
La página de Pandora Wiki dispone también de un FAQ mucho más completo (en inglés).&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Special:Badtitle/NS104:Acerca_de_Pandora&amp;diff=774</id>
		<title>Special:Badtitle/NS104:Acerca de Pandora</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Special:Badtitle/NS104:Acerca_de_Pandora&amp;diff=774"/>
		<updated>2008-10-04T11:54:13Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Pandora-newrender.jpg|Right|thumb|360px|La Pandora]]&lt;br /&gt;
&lt;br /&gt;
==¿Qué es Pandora?==&lt;br /&gt;
&lt;br /&gt;
Pandora es una videoconsola portátil “abierta”. Al estar basada en Linux permite a cualquier desarrollador programar sus aplicaciones y juegos para esta plataforma. Su apariencia y tamaño son similares al de una Nintendo DS.&lt;br /&gt;
&lt;br /&gt;
Características destacadas:&lt;br /&gt;
&lt;br /&gt;
    * Pantalla táctil panorámica de 4,3 pulgadas&lt;br /&gt;
    * Dos slots para tarjetas de memoria de hasta 64 Gb&lt;br /&gt;
    * Controles de juego completos,&amp;lt;br /&amp;gt; incluyendo dos controladores analógicos&lt;br /&gt;
    * Teclado QWERTY integrado con teclas de función&lt;br /&gt;
    * Conectividad: Wifi, Bluetooth, USB 2.0&lt;br /&gt;
    * Aceleración 3D&lt;br /&gt;
    * Duración de la batería en torno a 10 horas&lt;br /&gt;
&lt;br /&gt;
Especificaciones:&lt;br /&gt;
&lt;br /&gt;
    * Procesador Texas Instruments OMAP3530 a 625MHz, con núcleo ARM® Cortex™-A8&lt;br /&gt;
    * 128 Mb de memoria SDRAM DDR-333&lt;br /&gt;
    * 256 Mb de memoria FLASH NAND para almacenamiento interno.&lt;br /&gt;
    * Procesador de audio y video IVA2+ con tecnología DaVinci™ de Texas Instruments&lt;br /&gt;
    * Aceleración 3D por hardware PowerVR SGX compatible con OpenGL ES 2.0&lt;br /&gt;
    * Conexión inalámbrica Wifi 802.11b/g integrada&lt;br /&gt;
    * Bluetooth 2.0 + ERD integrado (3Mbps)&lt;br /&gt;
    * Pantalla táctil LCD 800×480, panorámica 4.3″, 16.7 millones de colores, brillo 300 cd/m2, contraste 450:1&lt;br /&gt;
    * Controles de juego: cruceta, 2 analógicos, 4 botones y 2 botones “gatillo”&lt;br /&gt;
    * Dos slots para tarjetas de memoria SDHC, hasta 64 Gb de capacidad&lt;br /&gt;
    * Salida de audio para auriculares hasta 150 mW por canal, 16 ohms, 99dB SNR&lt;br /&gt;
    * Salida de TV independiente (S-Video y video compuesto)&lt;br /&gt;
    * Micrófono incorporado. Posibilidad de conectar micrófono externo desde auriculares&lt;br /&gt;
    * Teclado de 43 teclas QWERTY y teclas numéricas&lt;br /&gt;
    * Puerto USB 2.0 OTG (480 Mb/s) con capacidad para cargar la batería.&lt;br /&gt;
    * Puerto USB Host 2.0 (480 Mb/s) capaz de proporcionar los 500 mA a los dispositivos conectados.&lt;br /&gt;
    * UART accesible externamente para depuración y hacking.&lt;br /&gt;
    * Diseño interno a prueba de fallos con autoarranque integrado para experimentación segura.&lt;br /&gt;
    * Sistema operativo Linux (2.6.x)&lt;br /&gt;
    * Dimensiones: 140 x 83 x 27 mm&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Development_tutorials&amp;diff=773</id>
		<title>Development tutorials</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Development_tutorials&amp;diff=773"/>
		<updated>2008-10-04T11:53:23Z</updated>

		<summary type="html">&lt;p&gt;Glenn: Redirecting to Development Tools&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Development Tools]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Development_Tools&amp;diff=772</id>
		<title>Development Tools</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Development_Tools&amp;diff=772"/>
		<updated>2008-10-04T11:52:39Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Development&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tools for Pandora Software Development==&lt;br /&gt;
&lt;br /&gt;
* CodeSourcery gcc[http://www.codesourcery.com/gnu_toolchains/arm]&lt;br /&gt;
* TI CodeComposer Studio: Free Evaluation Tools[http://focus.ti.com/dsp/docs/dspsupportaut.tsp?sectionId=3&amp;amp;tabId=416&amp;amp;familyId=44&amp;amp;toolTypeId=30]&lt;br /&gt;
* TI c6x Codegen tools for Linux[https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html]; License [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/doc/c6x/TILAW-%23180394-v1-Compiler_Clickwrap_For_OS_Community-2.html]; TI account required; this is *only* for Open Source development&lt;br /&gt;
* OpenGL ES 2.0 emulator for PC[http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp#GLES2]  ''This works both on Linux and Windows. One needs to register with imgtec before downloading.''&lt;br /&gt;
* Das U-boot: The Universal Bootloader[http://www.denx.de/wiki/DULG/WebHome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=User:Glenn&amp;diff=771</id>
		<title>User:Glenn</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=User:Glenn&amp;diff=771"/>
		<updated>2008-10-04T11:34:46Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*http://da.wikipedia.org/wiki/Bruger:Glenn&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Wiki&amp;diff=770</id>
		<title>Category:Wiki</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Wiki&amp;diff=770"/>
		<updated>2008-10-04T11:31:00Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages to do with the running of the wiki.&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Templates&amp;diff=769</id>
		<title>Category:Templates</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Templates&amp;diff=769"/>
		<updated>2008-10-04T11:30:18Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Templates used by this wiki.&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Newsletters&amp;diff=767</id>
		<title>Category:Newsletters</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Newsletters&amp;diff=767"/>
		<updated>2008-10-04T11:29:25Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page serves as an archive for the official OpenPandora newsletters&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:FAQ&amp;diff=766</id>
		<title>Category:FAQ</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:FAQ&amp;diff=766"/>
		<updated>2008-10-04T11:28:53Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Articles giving general information about the Pandora.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Emulators&amp;diff=765</id>
		<title>Category:Emulators</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Emulators&amp;diff=765"/>
		<updated>2008-10-04T11:28:30Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages about emulators.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Emulator_Compatibility&amp;diff=764</id>
		<title>Category:Emulator Compatibility</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Emulator_Compatibility&amp;diff=764"/>
		<updated>2008-10-04T11:28:13Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category for all the emulator compatibility pages.&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Development&amp;diff=763</id>
		<title>Category:Development</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Development&amp;diff=763"/>
		<updated>2008-10-04T11:27:39Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Articles relating to development.&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Template:Pandora_Hardware&amp;diff=754</id>
		<title>Template:Pandora Hardware</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Template:Pandora_Hardware&amp;diff=754"/>
		<updated>2008-10-04T10:57:25Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 3rd Party Hardware ===&lt;br /&gt;
This is a list of hardware that can be used with the Pandora UMPC.&lt;br /&gt;
&lt;br /&gt;
This page lists the name of a product, the link to the product, miscellaneous notes on it, and then the status.&lt;br /&gt;
&lt;br /&gt;
The status has a possible 3 colors. (Editors, please copy and paste the styling when creating a new row.)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:green;color:white;text-align:center&amp;quot; | Works! with Pandora&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown to work&lt;br /&gt;
| style=&amp;quot;background:red;color:white;text-align:center&amp;quot; | Not compatible with Pandora&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;background:#000000; color:white&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Link&lt;br /&gt;
! Notes&lt;br /&gt;
! Status&lt;br /&gt;
! Source&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Keyboards&lt;br /&gt;
|-&lt;br /&gt;
| Apple Wireless Bluetooth Keyboard&lt;br /&gt;
| http://www.bestbuy.com/site/olspage.jsp?skuId=8509759&amp;amp;st=keyboard&amp;amp;lp=12&amp;amp;type=product&amp;amp;cp=1&amp;amp;id=1186005932539&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|-  style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Adesso Foldable Keyboard&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16823166038&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Adesso Mouse/Keyboard Combination&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16823166052&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Darfon Foldable Keyboard&lt;br /&gt;
| http://www.darfon.com.tw/English/HID_Portable.asp&lt;br /&gt;
| Possibly relisted under other manufacturers names&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| DealExtreme Compact 88 key keyboard&lt;br /&gt;
| http://www.dealextreme.com/details.dx/sku.11933&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| iGo Stowaway Ultra-Slim Bluetooth Keyboard&lt;br /&gt;
| http://www.amazon.com/Stowaway-Ultra-Slim-Bluetooth-Blackberry-Handhelds/dp/B0002OKCXE&lt;br /&gt;
| iGo no longer makes them, however many Nokia Internet tablet owners have them.&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Mice&lt;br /&gt;
|-&lt;br /&gt;
| Adesso Mouse w/ numpad&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16823166082&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Cases&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Accessories/Misc&lt;br /&gt;
|-&lt;br /&gt;
| Archos screen protectors&lt;br /&gt;
| http://www.zagg.com/invisibleshield/media-player/archos&lt;br /&gt;
| Assumed to work due to screen dimensions&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Mini-Box PicoLCD 4x20 External LCD display&lt;br /&gt;
| http://www.mini-box.com/PicoLCD-4X20-Sideshow&lt;br /&gt;
| Also works in Windows Vista&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| DealExtreme 58-n-1 card reader&lt;br /&gt;
| http://www.dealextreme.com/details.dx/sku.7523&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| DealExtreme clip-on 1.3 MP Webcap&lt;br /&gt;
| http://www.dealextreme.com/details.dx/sku.3569&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#555555; color:white&amp;quot; width=&amp;quot;100%&amp;quot; colspan=5 | Game Controllers&lt;br /&gt;
|-&lt;br /&gt;
| Genius Portable USB Pandora Gamepad&lt;br /&gt;
| http://www.newegg.com/Product/Product.aspx?Item=N82E16826179016&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| NES/SNES to USB Converters and controllers&lt;br /&gt;
| http://www.retrousb.com/index.php?categoryID=79&lt;br /&gt;
| May be better off buying the controllers (retro) from eBay&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| USB Adapter for all kinds of retro joysticks&lt;br /&gt;
| http://www.raphnetshop.com/products/atari2usb/index.php?category=Gaming&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;background:orange;text-align:center&amp;quot; | Unknown&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:#CCCCCC;&amp;quot;&lt;br /&gt;
| Logitech Precision&lt;br /&gt;
| http://www.logitech.com/index.cfm/gaming/pc_gaming/gamepads/devices/301&lt;br /&gt;
|&lt;br /&gt;
* Not all the buttons have been tested, but I think we can safely assume they'll work.  (When confirmed all work, remove this note)&lt;br /&gt;
* Requires USB adapter&lt;br /&gt;
| style=&amp;quot;background:green;color:white;text-align:center&amp;quot; | Works&lt;br /&gt;
| [http://www.youtube.com/watch?v=njgAQhwqJZg Source]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Logo&amp;diff=753</id>
		<title>Logo</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Logo&amp;diff=753"/>
		<updated>2008-10-04T10:57:06Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High Resolution Logo ==&lt;br /&gt;
People keep asking for the logo, so in the interest of helping out, I re-drew the drawing. Here's the logo in PDF (using RGB colors as people are making things for screen use). I didn't have a high resolution copy to work from, so I did my best in the time I had. I do not know what the font is, and craigix has stated he believes it to be drawn.&lt;br /&gt;
&lt;br /&gt;
* [[Image:Pandora_logo-unofficial.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Logo Colors ==&lt;br /&gt;
&lt;br /&gt;
For those doing print or reproducing the logo, the CMYK colors are:&lt;br /&gt;
* box logo: 100% cyan, 75% black&lt;br /&gt;
* word logo: 100% cyan, 20% black&lt;br /&gt;
&lt;br /&gt;
== Logo Use ==&lt;br /&gt;
&lt;br /&gt;
I suspect there are no logo use rules at present, and so I'll just make some general design suggestions. Don't change the spacing between the letters. When presented side-by-side, try not to change the spacing between the box and the word logo. In general, don't overlay the word logo over the box (unless perhaps the box logo is enormous) as the legibility of both would suffer. The logo is best presented in solid colors, and the letters in the word logo should be of the same color. When scaling the logo, preserve the aspect ratio of height to width. (These are merely suggestions of best use, but design is about pushing boundaries, and so some rules can be a bit flexible.)&lt;br /&gt;
&lt;br /&gt;
I do not know the designer of the logo, and I imagine the logo copyright is owned by OpenPandora. Ask them, or check their web page for rights reserved.&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Hardware_documentation&amp;diff=751</id>
		<title>Hardware documentation</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Hardware_documentation&amp;diff=751"/>
		<updated>2008-10-04T10:56:22Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===OMAP3530===&lt;br /&gt;
*OMAP35x: Main page on TI site[http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915]&lt;br /&gt;
*OMAP3530 specific page[http://focus.ti.com/docs/prod/folders/print/omap3530.html]  ''This lists the features of the chip and has all the applicable Technical Documents''&lt;br /&gt;
*OMAP35XX technical manual: [http://www.ti.com/litv/pdf/spruf98a] (38MB PDF)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===C64x+===&lt;br /&gt;
*CPU and Instruction Set Reference Guide[http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&amp;amp;tabId=409&amp;amp;abstractName=spru732g]&lt;br /&gt;
*TMS320C6000 Assembly Language Tools v 6.0 Beta User's Guide[http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&amp;amp;tabId=409&amp;amp;abstractName=spru186p]&lt;br /&gt;
*TMS320C6000 Optimizing Compiler v 6.0 Beta User's Guide[http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&amp;amp;tabId=409&amp;amp;familyId=44&amp;amp;abstractName=spru187n]&lt;br /&gt;
*TMS320C6000 Programmer's Guide[http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&amp;amp;tabId=409&amp;amp;abstractName=spru198i]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cortex-A8===&lt;br /&gt;
*r1p1[http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344b/DDI0344.pdf]  ''Note: OMAP3530 uses r1p2''&lt;br /&gt;
*NEON instructions[http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html]&lt;br /&gt;
&lt;br /&gt;
===OpenGL ES 2.0===&lt;br /&gt;
*Official site[http://khronos.org/opengles/2_X/]&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Games&amp;diff=750</id>
		<title>Games</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Games&amp;diff=750"/>
		<updated>2008-10-04T10:56:02Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are no games yet.&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Community&amp;diff=747</id>
		<title>Category:Community</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Community&amp;diff=747"/>
		<updated>2008-10-04T10:54:40Z</updated>

		<summary type="html">&lt;p&gt;Glenn: new&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Categories&amp;diff=745</id>
		<title>Category:Categories</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Categories&amp;diff=745"/>
		<updated>2008-10-04T10:53:20Z</updated>

		<summary type="html">&lt;p&gt;Glenn: new&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Category:Wiki&amp;diff=744</id>
		<title>Category:Wiki</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Category:Wiki&amp;diff=744"/>
		<updated>2008-10-04T10:53:06Z</updated>

		<summary type="html">&lt;p&gt;Glenn: +Category:Categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages to do with the running of the wiki.&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
</feed>