[Scummvm-cvs-logs] scummvm master -> a8e9946a2b53ef6d534989fde400b695c69440ac
djwillis
John.Willis at Distant-earth.com
Sun Jan 22 17:55:10 CET 2012
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b429096b36 OPENPANDORA: Move all dist files into own folder under dists.
b016cf572d OPENPANDORA: Fix file attributes after move.
7e0a88f69b GPH: Move all dist files into own folder under dists.
a8e9946a2b DEVTOOLS: Add files in OpenPandora and GPH backends that need version number updating.
Commit: b429096b36cf44f773f01b371c0ff5a60ed61c95
https://github.com/scummvm/scummvm/commit/b429096b36cf44f773f01b371c0ff5a60ed61c95
Author: David-John Willis (John.Willis at Distant-earth.com)
Date: 2012-01-22T08:53:31-08:00
Commit Message:
OPENPANDORA: Move all dist files into own folder under dists.
* Update OpenPandora bundle targets to suit new layout.
* Also add .in input files so we can automatically update version numbers.
Changed paths:
A dists/openpandora/PXML.xml
A dists/openpandora/PXML.xml.in
A dists/openpandora/PXML_schema.xsd
A dists/openpandora/README-OPENPANDORA
A dists/openpandora/README-OPENPANDORA.in
A dists/openpandora/README-PND.txt
A dists/openpandora/README-PND.txt.in
A dists/openpandora/icon/preview-pic.png
A dists/openpandora/icon/scummvm.png
A dists/openpandora/index.html
A dists/openpandora/index.html.in
A dists/openpandora/pnd_make.sh
A dists/openpandora/runscummvm.sh
R backends/platform/openpandora/build/PXML.xml
R backends/platform/openpandora/build/PXML_schema.xsd
R backends/platform/openpandora/build/README-OPENPANDORA
R backends/platform/openpandora/build/README-PND.txt
R backends/platform/openpandora/build/icon/preview-pic.png
R backends/platform/openpandora/build/icon/scummvm.png
R backends/platform/openpandora/build/index.html
R backends/platform/openpandora/build/pnd_make.sh
R backends/platform/openpandora/build/runscummvm.sh
backends/platform/openpandora/op-bundle.mk
diff --git a/backends/platform/openpandora/build/PXML.xml b/backends/platform/openpandora/build/PXML.xml
deleted file mode 100755
index a87c49e..0000000
--- a/backends/platform/openpandora/build/PXML.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<PXML xmlns="http://openpandora.org/namespaces/PXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PXML_schema.xsd">
- <!-- This is the package, in our case ScummVM -->
- <package id="scummvm.djwillis.0001">
- <author name="DJWillis" website="http://www.scummvm.org/"/>
- <!-- version type can be alpha, beta or release, set to release in branch -->
- <version major="1" minor="4" release="0" build="1" type="alpha"/>
- <!-- Both title and titles are needed -->
- <title lang="en_US">ScummVM</title>
- <titles>
- <title lang="en_US">ScummVM</title>
- </titles>
- <descriptions>
- <description lang="en_US">
- ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
-
- ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more.
- </description>
- </descriptions>
- <icon src="icon/scummvm.png"/>
- </package>
-
- <!-- This is the application, the ScummVM binary -->
- <application id="scummvm.djwillis.0001" appdata="scummvm">
- <exec command="./runscummvm.sh"/>
- <author name="DJWillis" website="http://www.scummvm.org/"/>
- <!-- version type can be alpha, beta or release, set to release in branch -->
- <version major="1" minor="4" release="0" build="1" type="alpha"/>
- <!-- Both title and titles are needed -->
- <title lang="en_US">ScummVM</title>
- <titles>
- <title lang="en_US">ScummVM</title>
- </titles>
- <descriptions>
- <description lang="en_US">
- ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
-
- ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more.
- </description>
- </descriptions>
- <licenses>
- <license name="GPLv2" url="http://www.gnu.org/licenses/gpl-2.0.html" sourcecodeurl="http://www.scummvm.org"/>
- </licenses>
- <icon src="icon/scummvm.png"/>
- <previewpics>
- <pic src="icon/preview-pic.png"/>
- </previewpics>
- <info name="ScummVM Documentation" type="text/html" src="docs/index.html"/>
- <categories>
- <category name="Game">
- <subcategory name="AdventureGame"/>
- </category>
- </categories>
- </application>
-</PXML>
diff --git a/backends/platform/openpandora/build/PXML_schema.xsd b/backends/platform/openpandora/build/PXML_schema.xsd
deleted file mode 100644
index 7c0d635..0000000
--- a/backends/platform/openpandora/build/PXML_schema.xsd
+++ /dev/null
@@ -1,341 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema targetNamespace="http://openpandora.org/namespaces/PXML" xmlns="http://openpandora.org/namespaces/PXML" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
-
-
- <!-- declare some simpleTypes for later usage -->
-
- <!-- Specify params allows with the 'x11' entry in exec -->
- <xs:simpleType name="x11Param">
- <xs:restriction base="xs:string">
- <xs:enumeration value="req" />
- <xs:enumeration value="stop" />
- <xs:enumeration value="ignore" />
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Specify the valid documentation formats in the <info> block -->
- <xs:simpleType name="docType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="text/html" />
- <xs:enumeration value="text/plain" />
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Make sure that version numbers only consist of letters, numbers and + as well as - -->
- <xs:simpleType name="versionNumber">
- <xs:restriction base="xs:string">
- <xs:minLength value="1"/>
- <xs:pattern value="[a-zA-Z0-9+-]*" />
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Specify what is valid as release type -->
- <xs:simpleType name="releaseType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="alpha" />
- <xs:enumeration value="beta" />
- <xs:enumeration value="release" />
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Specify what makes an email address "valid" -->
- <xs:simpleType name="emailAddress">
- <xs:restriction base="xs:string">
- <xs:pattern value="[^@]+@[^\.]+\..+"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- some restrictions regarding file names that are eg not allowed/possible when using sd cards formated as fat32 -->
- <xs:simpleType name="dumbPath">
- <xs:restriction base="xs:normalizedString">
- <xs:pattern value="[^?>:]+" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="dumbFolderName">
- <xs:restriction base="xs:normalizedString">
- <xs:pattern value="[^?>:/]+" />
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Specify lang codes -->
- <xs:simpleType name="isoLangcode">
- <xs:restriction base="xs:string">
- <xs:minLength value="2"/>
- <xs:pattern value="[a-zA-Z]{2,3}(_[a-zA-Z0-9]{2,3})*" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="isoLangcode_en_US">
- <xs:restriction base="xs:string">
- <xs:enumeration value="en_US" />
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Definition of all allowed categories following the FDO specs -->
- <xs:simpleType name="fdoCategory">
- <xs:restriction base="xs:string">
- <xs:pattern value="AudioVideo|Audio|Video|Development|Education|Game|Graphics|Network|Office|Settings|System|Utility"/>
- </xs:restriction>
- </xs:simpleType>
- <!-- Definition of all allowed subcategories following the FDO specs (should be based upon the given main categories, but would significantly increase complexity of the schema) -->
- <xs:simpleType name="fdoSubCategory">
- <xs:restriction base="xs:string">
- <xs:pattern value="Building|Debugger|IDE|GUIDesigner|Profiling|RevisionControl|Translation|Calendar|ContactManagement|Database|Dictionary|Chart|Email|Finance|FlowChart|PDA|ProjectManagement|Presentation|Spreadsheet|WordProcessor|2DGraphics|VectorGraphics|RasterGraphics|3DGraphics|Scanning|OCR|Photography|Publishing|Viewer|TextTools|DesktopSettings|HardwareSettings|Printing|PackageManager|Dialup|InstantMessaging|Chat|IRCClient|FileTransfer|HamRadio|News|P2P|RemoteAccess|Telephony|TelephonyTools|VideoConference|WebBrowser|WebDevelopment|Midi|Mixer|Sequencer|Tuner|TV|AudioVideoEditing|Player|Recorder|DiscBurning|ActionGame|AdventureGame|ArcadeGame|BoardGame|BlocksGame|CardGame|KidsGame|LogicGame|RolePlaying|Simulation|SportsGame|StrategyGame|Art|Construction|Music|Languages|Science|ArtificialIntelligence|Astronomy|Biology|Chemistry|ComputerScience|DataVisualization|Economy|Electricity|Geography|Geology|Geoscience|History|ImageProcessing|Literature|Math|NumericalAnalysis|Medi
calSoftware|Physics|Robotics|Sports|ParallelComputing|Amusement|Archiving|Compression|Electronics|Emulator|Engineering|FileTools|FileManager|TerminalEmulator|Filesystem|Monitor|Security|Accessibility|Calculator|Clock|TextEditor|Documentation|Core|KDE|GNOME|GTK|Qt|Motif|Java|ConsoleOnly"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Create some way to enforce entries to be nonempty -->
- <xs:simpleType name="nonempty_token">
- <xs:restriction base="xs:token">
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="nonempty_string">
- <xs:restriction base="xs:string">
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="nonempty_normalizedString">
- <xs:restriction base="xs:string">
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
-
-
-
- <!-- declare some complexTypes for later usage -->
-
- <!-- type used for file associations -->
- <xs:complexType name="association_data">
- <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
- <xs:attribute name="filetype" use="required" type="nonempty_token" />
- <xs:attribute name="exec" use="required" type="nonempty_token" />
- </xs:complexType>
-
- <!-- type used for author info -->
- <xs:complexType name="author_data">
- <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
- <xs:attribute name="website" use="optional" type="xs:anyURI" />
- <xs:attribute name="email" use="optional" type="emailAddress" />
- </xs:complexType>
-
- <!-- type used for version informations (full entry as well as os version) -->
- <xs:complexType name="app_version_info">
- <xs:attribute name="major" use="required" type="versionNumber" />
- <xs:attribute name="minor" use="required" type="versionNumber" />
- <xs:attribute name="release" use="required" type="versionNumber" />
- <xs:attribute name="build" use="required" type="versionNumber" />
- <xs:attribute name="type" use="optional" type="releaseType" />
- </xs:complexType>
- <xs:complexType name="os_version_info">
- <xs:attribute name="major" use="required" type="versionNumber" />
- <xs:attribute name="minor" use="required" type="versionNumber" />
- <xs:attribute name="release" use="required" type="versionNumber" />
- <xs:attribute name="build" use="required" type="versionNumber" />
- </xs:complexType>
-
- <!-- type used for exec entries -->
- <xs:complexType name="exec_params">
- <xs:attribute name="command" use="required" type="nonempty_token" />
- <xs:attribute name="arguments" use="optional" type="nonempty_token" />
- <xs:attribute name="background" use="optional" type="xs:boolean" />
- <xs:attribute name="startdir" use="optional" type="dumbPath" />
- <xs:attribute name="standalone" use="optional" type="xs:boolean" />
- <xs:attribute name="x11" use="optional" type="x11Param" />
- </xs:complexType>
-
- <!-- type used for tiles or descriptions, once in 'normal' version, once enforcing usage of en_US -->
- <xs:complexType name="title_or_description">
- <xs:simpleContent>
- <xs:extension base="nonempty_string">
- <xs:attribute name="lang" use="required" type="isoLangcode" />
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="title_or_description_enUS">
- <xs:simpleContent>
- <xs:extension base="nonempty_string">
- <xs:attribute name="lang" use="required" type="isoLangcode_en_US" />
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
- <!-- type used for referencing images -->
- <xs:complexType name="image_entry">
- <xs:attribute name="src" use="required" type="dumbPath" />
- </xs:complexType>
-
- <!-- type for referencing manuals/readme docs -->
- <xs:complexType name="information_entry">
- <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
- <xs:attribute name="type" use="required" type="docType" />
- <xs:attribute name="src" use="required" type="dumbPath" />
- </xs:complexType>
-
- <!-- type used for the license information -->
- <xs:complexType name="license_info">
- <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
- <xs:attribute name="url" use="optional" type="xs:anyURI" />
- <xs:attribute name="sourcecodeurl" use="optional" type="xs:anyURI" />
- </xs:complexType>
-
-
-
- <!-- Combine the symple and complex types into the "real" PXML specification -->
-
- <xs:element name="PXML">
- <xs:complexType>
- <xs:sequence>
- <!-- specify the <package> tag with info about the complete package, information providable:
- author
- version
- title(s)
- description(s)
- icon
- -->
- <xs:element name="package" minOccurs="1" maxOccurs="1">
- <xs:complexType>
- <xs:all>
- <!--Author info-->
- <xs:element name="author" type="author_data" minOccurs="1" />
- <!--App version info-->
- <xs:element name="version" type="app_version_info" minOccurs="1" />
- <!--Title-->
- <xs:element name="titles" minOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="title" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" />
- <xs:element name="title" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Description-->
- <xs:element name="descriptions" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="title" type="title_or_description_enUS" minOccurs="0" maxOccurs="1" />
- <xs:element name="description" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Icon-->
- <xs:element name="icon" type="image_entry" minOccurs="0" />
- </xs:all>
- <!--Package ID-->
- <xs:attribute name="id" use="required" type="dumbFolderName" />
- </xs:complexType>
- </xs:element>
- <!-- specify the <application> tag with info about a single program
- executable call
- author
- version (of the application)
- osversion (min OS version supported)
- title(s) (allowing compatibility to <HF6, too!)
- description(s) (allowing compatibility to <HF6, too!)
- icon
- license
- preview pictures
- info/manual/readme entry
- categories
- associations to file types
- clockspeed
- -->
- <xs:element name="application" minOccurs="1" maxOccurs="unbounded">
- <xs:complexType>
- <xs:all>
- <!--Execution params -->
- <xs:element name="exec" type="exec_params" minOccurs="1" />
- <!--Author info-->
- <xs:element name="author" type="author_data" minOccurs="1" />
- <!--App version info-->
- <xs:element name="version" type="app_version_info" minOccurs="1" />
- <!--OS Version info-->
- <xs:element name="osversion" type="os_version_info" minOccurs="0" />
- <!--Title-->
- <!-- via <titles> element, used for HF6+ -->
- <xs:element name="titles" minOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="title" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" />
- <xs:element name="title" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Title-->
- <!-- via <title> element, only one for en_US allowed, meant for backwards compatibility with libpnd from <HF6 -->
- <xs:element name="title" type="title_or_description_enUS" minOccurs="0" />
- <!--Description-->
- <!-- via <descriptions> element, used for HF6+ -->
- <xs:element name="descriptions" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="description" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" />
- <xs:element name="description" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Description-->
- <!-- via <description> element, only one for en_US allowed, meant for backwards compatibility with libpnd from <HF6 -->
- <xs:element name="description" type="title_or_description_enUS" minOccurs="0" />
- <!--Icon-->
- <xs:element name="icon" type="image_entry" minOccurs="0" />
- <!--License-->
- <xs:element name="licenses" minOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="license" type="license_info" minOccurs="1" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Preview pics-->
- <xs:element name="previewpics" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="pic" type="image_entry" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Info (aka manual or readme entry)-->
- <xs:element name="info" type="information_entry" minOccurs="0" />
- <!--Categories-->
- <xs:element name="categories" minOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="category" minOccurs="1" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="subcategory" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:attribute name="name" type="fdoSubCategory" />
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="fdoCategory" />
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Associations-->
- <xs:element name="associations" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="association" type="association_data" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Clockspeed-->
- <xs:element name="clockspeed" minOccurs="0">
- <xs:complexType>
- <xs:attribute name="frequency" use="required" type="xs:positiveInteger" />
- </xs:complexType>
- </xs:element>
- </xs:all>
- <!--AppID-->
- <xs:attribute name="id" use="required" type="dumbFolderName" />
- <xs:attribute name="appdata" use="optional" type="dumbFolderName" />
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-</xs:schema>
diff --git a/backends/platform/openpandora/build/README-OPENPANDORA b/backends/platform/openpandora/build/README-OPENPANDORA
deleted file mode 100755
index c8aabcb..0000000
--- a/backends/platform/openpandora/build/README-OPENPANDORA
+++ /dev/null
@@ -1,19 +0,0 @@
-ScummVM - OPENPANDORA SPECIFIC README
-------------------------------------------------------------------------
-Please refer to the:
-
-ScummVM Forum: <http://forums.scummvm.org/>
-WiKi: <http://wiki.scummvm.org/index.php/OpenPandora>
-
-for the most current information on the port and any updates to this
-documentation.
-
-The wiki includes detailed instructions on how to use the port and
-control information.
-
-------------------------------------------------------------------------
-Credits
-
-Core ScummVM code (c) The ScummVM Team
-OpenPandora backend (c) John Willis
-Detailed (c) information can be found within the source code
diff --git a/backends/platform/openpandora/build/README-PND.txt b/backends/platform/openpandora/build/README-PND.txt
deleted file mode 100755
index 942c3a4..0000000
--- a/backends/platform/openpandora/build/README-PND.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-ScummVM - OPENPANDORA README - HOW TO INSTALL
-------------------------------------------------------------------------
-
-Please refer to the:
-
-ScummVM Forum: <http://forums.scummvm.org/>
-WiKi: <http://wiki.scummvm.org/index.php/OpenPandora>
-
-for the most current information on the port and any updates to this
-documentation.
-
-------------------------------------------------------------------------
-Installing:
-
-This archive contains ScummVM in a PND format ready to be copied to the
-OpenPandora and used.
-
-To install just copy the .pnd file from this archive to your device.
-
-You will need to place the .pnd file in a suitable location on your SD
-card.
-
-/pandora/desktop <- place here if you wish the icon to show on the
- desktop. Documentation will show in the menu.
-
-/pandora/menu <- place here if you wish the icon to show on the
- Xfce menu. Documentation will show in the menu.
-
-/pandora/apps <- place here if you wish the icon to show on the
- desktop and in the menu. Documentation will show
- in the menu.
-
-------------------------------------------------------------------------
-Credits
-
-Core ScummVM code (c) The ScummVM Team
-OpenPandora backend (c) John Willis
-Detailed (c) information can be found within the source code
diff --git a/backends/platform/openpandora/build/icon/preview-pic.png b/backends/platform/openpandora/build/icon/preview-pic.png
deleted file mode 100755
index 2f4a536..0000000
Binary files a/backends/platform/openpandora/build/icon/preview-pic.png and /dev/null differ
diff --git a/backends/platform/openpandora/build/icon/scummvm.png b/backends/platform/openpandora/build/icon/scummvm.png
deleted file mode 100755
index 128e59e..0000000
Binary files a/backends/platform/openpandora/build/icon/scummvm.png and /dev/null differ
diff --git a/backends/platform/openpandora/build/index.html b/backends/platform/openpandora/build/index.html
deleted file mode 100755
index 34d381d..0000000
--- a/backends/platform/openpandora/build/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<html>
-
-<h3>
- <p>Welcome to the ScummVM!</p>
-</h3>
-
-<h4>
- <p>ScummVM: OpenPandora Specific Documentation</p>
-</h4>
-
-<A href="docs/README-OPENPANDORA">ScummVM OpenPandora README</a><br/>
-<A href="http://scummvm.distant-earth.com/">ScummVM OpenPandora Website</a><br/>
-<A href="http://wiki.scummvm.org/index.php/OpenPandora">ScummVM OpenPandora WiKi</a><br/>
-
-<h4>
- <p>ScummVM: General Documentation</p>
-</h4>
-
-<A href="http://www.scummvm.org/">ScummVM website</a><br/>
-<A href="docs/README">ScummVM README</a><br/>
-<A href="docs/NEWS">ScummVM NEWS</a><br/>
-<A href="docs/AUTHORS">ScummVM Authors</a><br/>
-<A href="docs/COPYRIGHT">ScummVM Copyright</a><br/>
-<A href="docs/COPYING">GPL Licence</a><br/>
-
-</html>
diff --git a/backends/platform/openpandora/build/pnd_make.sh b/backends/platform/openpandora/build/pnd_make.sh
deleted file mode 100755
index 0c03e81..0000000
--- a/backends/platform/openpandora/build/pnd_make.sh
+++ /dev/null
@@ -1,321 +0,0 @@
-#!/bin/bash
-#
-# pnd_make.sh
-#
-# This script is meant to ease generation of a pnd file. Please consult the output
-# when running --help for a list of available parameters and an explaination of
-# those.
-#
-# Required tools when running the script:
-# bash
-# echo, cat, mv, rm
-# mkisofs or mksquashfs (the latter when using the -c param!)
-# xmllint (optional, only for validation of the PXML against the schema)
-
-
-PXML_schema=$(dirname ${0})/PXML_schema.xsd
-GENPXML_PATH=$(dirname ${0})/genpxml.sh
-
-# useful functions ...
-black='\E[30m'
-red='\E[31m'
-green='\E[32m'
-yellow='\E[33m'
-blue='\E[34m'
-magenta='\E[35m'
-cyan='\E[36m'
-white='\E[37m'
-
-check_for_tool()
-{
- which $1 &> /dev/null
- if [ "$?" -ne "0" ];
- then
- cecho "ERROR: Could not find the program '$1'. Please make sure
-that it is available in your PATH since it is required to complete your request." $red
- exit 1
- fi
-}
-
-cecho () # Color-echo. Argument $1 = message, Argument $2 = color
-{
- local default_msg="No message passed." # Doesn't really need to be a local variable.
- message=${1:-$default_msg} # Defaults to default message.
- color=${2:-$black} # Defaults to black, if not specified.
- echo -e "$color$message"
- tput sgr0 # Reset to normal.
- return
-}
-
-
-print_help()
-{
- cat << EOSTREAM
-pnd_make.sh - A script to package "something" into a PND.
-
-Usage:
- $(basename ${0}) {--directory|-d} <folder> {--pndname|-p} <file> [{--compress-squashfs|-c}]
- [{--genpxml} <file>] [{--icon|-i} <file>] [{--pxml|-x} <file>]
- [{--schema|-s} <file>] [{--help|-h}]
-
-
-Switches:
- --compress-squashfs / -c Define whether or not the pnd should be compressed using
- squashfs. If this parameter is selected, a compressed pnd
- will be created.
-
- --directory / -d Sets the folder that is to be used for the resulting pnd
- to <folder>. This option is mandatory for the script to
- function correctly.
-
- --genpxml Sets the script used for generating a PXML file (if none
- is available already) to <file>. Please make sure to either
- provide a full path or prefix a script in the current folder
- with './' so that the script can actually be executed. If
- this variable is not specified, $GENPXML_PATH
- will be used.
-
- --help / -h Displays this help text.
-
- --icon / -i Sets the icon that will be appended in the pnd to <file>.
-
- --pndname / -p Sets the output filename of the resulting pnd to <file>.
- This option is mandatory for the script to function
- correctly.
-
- --pxml / -x Sets the PXML file that is to be used to <file>. If you
- neither provide a PXML file or set this entry to 'guess',
- an existing 'PXML.xml' in your selected '--directory'
- will be used, or the script $GENPXML_PATH
- will be called to try to generate a basic PXML file for you.
-
- --schema / -s Sets the schema file, that is to be used for validation,
- to <file. If this is not defined, the script will try to
- use the file '$PXML_schema'. If this fails,
- a warning is issued.
-
-If you select the option to create a compressed squashfs, a version >=4.0 of squashfs
-is required to be available in your PATH.
-EOSTREAM
-}
-
-
-# Parse command line parameters
-while [ "${1}" != "" ]; do
- if [ "${1}" = "--compress-squashfs" ] || [ "${1}" = "-c" ];
- then
- SQUASH=1
- shift 1
- elif [ "${1}" = "--directory" ] || [ "${1}" = "-d" ];
- then
- FOLDER=$2
- shift 2
- elif [ "${1}" = "--genpxml" ];
- then
- GENPXML_PATH=$2
- shift 2
- elif [ "${1}" = "--help" ] || [ "${1}" = "-h" ];
- then
- print_help
- exit 0
- elif [ "${1}" = "--icon" ] || [ "${1}" = "-i" ];
- then
- ICON=$2
- shift 2
- elif [ "${1}" = "--pndname" ] || [ "${1}" = "-p" ];
- then
- PNDNAME=$2
- shift 2
- elif [ "${1}" = "--pxml" ] || [ "${1}" = "-x" ];
- then
- PXML=$2
- shift 2
- elif [ "${1}" = "--schema" ] || [ "${1}" = "-f" ]
- then
- PXML_schema=$2
- shift 2
- else
- cecho "ERROR: '$1' is not a known argument. Printing --help and aborting." $red
- print_help
- exit 1
- fi
-done
-
-
-# Generate a PXML if the param is set to Guess or it is empty.
-if [ ! $PXML ] || [ $PXML = "guess" ] && [ $PNDNAME ] && [ $FOLDER ];
-then
- if [ -f $FOLDER/PXML.xml ]; # use the already existing PXML.xml file if there is one...
- then
- PXML=$FOLDER/PXML.xml
- PXML_ALREADY_EXISTING="true"
- else
- if [ -f $GENPXML_PATH ];
- then
- $GENPXML_PATH --src $FOLDER --dest $FOLDER --author $USER
- if [ -f $FOLDER/PXML.xml ];
- then
- PXML_GENERATED="true"
- else
- cecho "ERROR: Generating a PXML file using '$GENPXML_PATH' failed.
-Please generate a PXML file manually." $red
- exit 1
- fi
- else
- cecho "ERROR: Could not find '$GENPXML_PATH' for generating a PXML file." $red
- exit 1
- fi
- fi
-fi
-
-
-# Probe if required variables were set
-echo -e
-cecho "Checking if all required variables were set." $green
-if [ ! $PNDNAME ] || [ ! $FOLDER ] || [ ! $PXML ];
-then
- echo -e
- cecho "ERROR: Not all required options were set! Please see the --help information below." $red
- echo -e
- print_help
- exit 1
-else
- echo "PNDNAME set to '$PNDNAME'."
-fi
-# Check if the selected folder actually exists
-if [ ! -d $FOLDER ];
-then
- echo -e
- cecho "ERROR: '$FOLDER' doesn't exist or is not a folder." $red
- exit 1
-else
- echo "FOLDER set to '$FOLDER'."
-fi
-# Check if the selected PXML file actually exists
-if [ ! -f $PXML ];
-then
- echo -e
- cecho "ERROR: '$PXML' doesn't exist or is not a file." $red
- exit 1
-else
- if [ $PXML_ALREADY_EXISTING ];
- then
- echo "You have not explicitly specified a PXML to use, but an existing file was
-found. Will be using this one."
- elif [ $PXML_GENERATED ];
- then
- echo "A PXML file was generated for you using '$GENPXML_PATH'. This file will
-not be removed at the end of this script because you might want to review it, adjust
-single entries and rerun the script to generate a pnd with a PXML file with all the
-information you want to have listed."
- fi
- echo "PXML set to '$PXML'."
-fi
-
-# Print the other variables:
-if [ $ICON ];
-then
- if [ ! -f $ICON ]
- then
- cecho "WARNING: '$ICON' doesn't exist, will not append the selected icon to the pnd." $red
- else
- echo "ICON set to '$ICON'."
- USE_ICON="true"
- fi
-fi
-if [ $SQUASH ];
-then
- echo "Will use a squashfs for '$PNDNAME'."
-fi
-
-
-# Validate the PXML file (if xmllint is available)
-# Errors and problems in this section will be shown but are not fatal.
-echo -e
-cecho "Trying to validate '$PXML' now. Will be using '$PXML_schema' to do so." $green
-which xmllint &> /dev/null
-if [ "$?" -ne "0" ];
-then
- VALIDATED=false
- cecho "WARNING: Could not find 'xmllint'. Validity check of '$PXML' is not possible!" $red
-else
- if [ ! -f "$PXML_schema" ];
- then
- VALIDATED=false
- cecho "WARNING: Could not find '$PXML_schema'. If you want to validate your
-PXML file please make sure to provide a schema using the --schema option." $red
- else
- xmllint --noout --schema $PXML_schema $PXML
- if [ "$?" -ne "0" ]; then VALIDATED=false; else VALIDATED=true; fi
- fi
-fi
-# Print some message at the end about the validation in case the user missed the output above
-if [ $VALIDATED = "false" ]
-then
- cecho "WARNING: Could not successfully validate '$PXML'. Please check the output
-above. This does not mean that your pnd will be broken. Either you are not following the strict
-syntax required for validation or you don't have all files/programs required for validating." $red
-else
- cecho "Your file '$PXML' was validated successfully. The resulting pnd should
-work nicely with libpnd." $green
-fi
-
-
-# Make iso from folder
-echo -e
-cecho "Creating an iso file based on '$FOLDER'." $green
-if [ $SQUASH ];
-then
- check_for_tool mksquashfs
- if [ $(mksquashfs -version | awk 'BEGIN{r=0} $3>=4{r=1} END{print r}') -eq 0 ];
- then
- cecho "ERROR: Your squashfs version is older then version 4, please upgrade to 4.0 or later" $red
- exit 1
- fi
- mksquashfs $FOLDER $PNDNAME.iso -nopad -no-recovery
-else
- check_for_tool mkisofs
- mkisofs -o $PNDNAME.iso -R $FOLDER
-fi
-
-# Check that the iso file was actually created before continuing
-if [ ! -f $PNDNAME.iso ];
-then
- cecho "ERROR: The temporary file '$PNDNAME.iso' could not be created.
-Please check the output above for any errors and retry after fixing them. Aborting." $red
- exit 1
-fi
-
-
-# Append pxml to iso
-echo -e
-cecho "Appending '$PXML' to the created iso file." $green
-cat $PNDNAME.iso $PXML > $PNDNAME
-rm $PNDNAME.iso #cleanup
-
-
-# Append icon if specified and available
-if [ $USE_ICON ];
-then
- echo -e
- cecho "Appending the icon '$ICON' to the pnd." $green
- mv $PNDNAME $PNDNAME.tmp
- cat $PNDNAME.tmp $ICON > $PNDNAME # append icon
- rm $PNDNAME.tmp #cleanup
-fi
-
-
-# Final message
-echo -e
-if [ -f $PNDNAME ];
-then
- cecho "Successfully finished creating the pnd '$PNDNAME'." $green
-else
- cecho "There seems to have been a problem and '$PNDNAME' was not created. Please check
-the output above for any error messages. A possible cause for this is that there was
-not enough space available." $red
- exit 1
-fi
-
-
-#if [ $PXML = "guess" ];then rm $FOLDER/PXML.xml; fi #cleanup
diff --git a/backends/platform/openpandora/build/runscummvm.sh b/backends/platform/openpandora/build/runscummvm.sh
deleted file mode 100755
index 9c9d836..0000000
--- a/backends/platform/openpandora/build/runscummvm.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-# Make sure any extra libs not in the firmware are pulled in.
-LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:../lib
-export LD_LIBRARY_PATH
-
-# Ensure we have a folder to store save games on the SD card.
-mkdir saves
-
-# make a runtime dir, just incase it creates anything in CWD
-mkdir runtime
-cd runtime
-
-../bin/scummvm --fullscreen --gfx-mode=2x --config=../scummvm.config --themepath=../data
diff --git a/backends/platform/openpandora/op-bundle.mk b/backends/platform/openpandora/op-bundle.mk
index 089430f..284a049 100755
--- a/backends/platform/openpandora/op-bundle.mk
+++ b/backends/platform/openpandora/op-bundle.mk
@@ -14,15 +14,15 @@ op-bundle: $(EXECUTABLE)
$(MKDIR) "$(bundle_name)/scummvm/icon"
$(MKDIR) "$(bundle_name)/scummvm/lib"
- $(CP) $(srcdir)/backends/platform/openpandora/build/runscummvm.sh $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/openpandora/build/PXML.xml $(bundle_name)/scummvm/data/
+ $(CP) $(srcdir)/dists/openpandora/runscummvm.sh $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/openpandora/PXML.xml $(bundle_name)/scummvm/data/
- $(CP) $(srcdir)/backends/platform/openpandora/build/icon/scummvm.png $(bundle_name)/scummvm/icon/
- $(CP) $(srcdir)/backends/platform/openpandora/build/icon/preview-pic.png $(bundle_name)/scummvm/icon/
+ $(CP) $(srcdir)/dists/openpandora/icon/scummvm.png $(bundle_name)/scummvm/icon/
+ $(CP) $(srcdir)/dists/openpandora/icon/preview-pic.png $(bundle_name)/scummvm/icon/
- $(CP) $(srcdir)/backends/platform/openpandora/build/README-OPENPANDORA $(bundle_name)/scummvm/docs/
- $(CP) $(srcdir)/backends/platform/openpandora/build/index.html $(bundle_name)/scummvm/docs/
+ $(CP) $(srcdir)/dists/openpandora/README-OPENPANDORA $(bundle_name)/scummvm/docs/
+ $(CP) $(srcdir)/dists/openpandora/index.html $(bundle_name)/scummvm/docs/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/scummvm/docs/
@@ -50,15 +50,15 @@ op-pnd: $(EXECUTABLE)
$(MKDIR) "$(bundle_name)/scummvm/icon"
$(MKDIR) "$(bundle_name)/scummvm/lib"
- $(CP) $(srcdir)/backends/platform/openpandora/build/runscummvm.sh $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/openpandora/build/PXML.xml $(bundle_name)/scummvm/data/
+ $(CP) $(srcdir)/dists/openpandora/runscummvm.sh $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/openpandora/PXML.xml $(bundle_name)/scummvm/data/
- $(CP) $(srcdir)/backends/platform/openpandora/build/icon/scummvm.png $(bundle_name)/scummvm/icon/
- $(CP) $(srcdir)/backends/platform/openpandora/build/icon/preview-pic.png $(bundle_name)/scummvm/icon/
+ $(CP) $(srcdir)/dists/openpandora/icon/scummvm.png $(bundle_name)/scummvm/icon/
+ $(CP) $(srcdir)/dists/openpandora/icon/preview-pic.png $(bundle_name)/scummvm/icon/
- $(CP) $(srcdir)/backends/platform/openpandora/build/README-OPENPANDORA $(bundle_name)/scummvm/docs/
- $(CP) $(srcdir)/backends/platform/openpandora/build/index.html $(bundle_name)/scummvm/docs/
+ $(CP) $(srcdir)/dists/openpandora/README-OPENPANDORA $(bundle_name)/scummvm/docs/
+ $(CP) $(srcdir)/dists/openpandora/index.html $(bundle_name)/scummvm/docs/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/scummvm/docs/
@@ -75,9 +75,10 @@ endif
$(CP) $(libloc)/../arm-angstrom-linux-gnueabi/usr/lib/libFLAC.so.8.2.0 $(bundle_name)/scummvm/lib/libFLAC.so.8
- $(srcdir)/backends/platform/openpandora/build/pnd_make.sh -p $(bundle_name).pnd -c -d $(bundle_name)/scummvm -x $(bundle_name)/scummvm/data/PXML.xml -i $(bundle_name)/scummvm/icon/scummvm.png
+ $(srcdir)/dists/openpandora/pnd_make.sh -p $(bundle_name).pnd -c -d $(bundle_name)/scummvm -x $(bundle_name)/scummvm/data/PXML.xml -i $(bundle_name)/scummvm/icon/scummvm.png
+
+ $(CP) $(srcdir)/dists/openpandora/README-PND.txt $(bundle_name)
- $(CP) $(srcdir)/backends/platform/openpandora/build/README-PND.txt $(bundle_name)
tar -cvjf $(bundle_name)-pnd.tar.bz2 $(bundle_name).pnd $(bundle_name)/README-PND.txt
rm -R ./$(bundle_name)
diff --git a/dists/openpandora/PXML.xml b/dists/openpandora/PXML.xml
new file mode 100644
index 0000000..896210b
--- /dev/null
+++ b/dists/openpandora/PXML.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PXML xmlns="http://openpandora.org/namespaces/PXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PXML_schema.xsd">
+ <!-- This is the package, in our case ScummVM -->
+ <package id="scummvm.djwillis.0001">
+ <author name="DJWillis" website="http://www.scummvm.org/"/>
+ <!-- version type can be alpha, beta or release, set to release in branch -->
+ <version major="1" minor="5" release="0" build="1" type="release"/>
+ <!-- Both title and titles are needed -->
+ <title lang="en_US">ScummVM 1.5.0git</title>
+ <titles>
+ <title lang="en_US">ScummVM 1.5.0git</title>
+ </titles>
+ <descriptions>
+ <description lang="en_US">
+ ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
+
+ ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more.
+ </description>
+ </descriptions>
+ <icon src="icon/scummvm.png"/>
+ </package>
+
+ <!-- This is the application, the ScummVM binary -->
+ <application id="scummvm.djwillis.0001" appdata="scummvm">
+ <exec command="./runscummvm.sh"/>
+ <author name="DJWillis" website="http://www.scummvm.org/"/>
+ <!-- version type can be alpha, beta or release, set to release in branch -->
+ <version major="1" minor="5" release="0" build="1" type="release"/>
+ <!-- Both title and titles are needed -->
+ <title lang="en_US">ScummVM</title>
+ <titles>
+ <title lang="en_US">ScummVM</title>
+ </titles>
+ <descriptions>
+ <description lang="en_US">
+ ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
+
+ ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more.
+ </description>
+ </descriptions>
+ <licenses>
+ <license name="GPLv2" url="http://www.gnu.org/licenses/gpl-2.0.html" sourcecodeurl="http://www.scummvm.org"/>
+ </licenses>
+ <icon src="icon/scummvm.png"/>
+ <previewpics>
+ <pic src="icon/preview-pic.png"/>
+ </previewpics>
+ <info name="ScummVM Documentation" type="text/html" src="docs/index.html"/>
+ <categories>
+ <category name="Game">
+ <subcategory name="AdventureGame"/>
+ </category>
+ </categories>
+ </application>
+</PXML>
diff --git a/dists/openpandora/PXML.xml.in b/dists/openpandora/PXML.xml.in
new file mode 100644
index 0000000..938e9cb
--- /dev/null
+++ b/dists/openpandora/PXML.xml.in
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PXML xmlns="http://openpandora.org/namespaces/PXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PXML_schema.xsd">
+ <!-- This is the package, in our case ScummVM -->
+ <package id="scummvm.djwillis.0001">
+ <author name="DJWillis" website="http://www.scummvm.org/"/>
+ <!-- version type can be alpha, beta or release, set to release in branch -->
+ <version major="@VER_MAJOR@" minor="@VER_MINOR@" release="@VER_PATCH@" build="1" type="release"/>
+ <!-- Both title and titles are needed -->
+ <title lang="en_US">ScummVM @VERSION@</title>
+ <titles>
+ <title lang="en_US">ScummVM @VERSION@</title>
+ </titles>
+ <descriptions>
+ <description lang="en_US">
+ ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
+
+ ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more.
+ </description>
+ </descriptions>
+ <icon src="icon/scummvm.png"/>
+ </package>
+
+ <!-- This is the application, the ScummVM binary -->
+ <application id="scummvm.djwillis.0001" appdata="scummvm">
+ <exec command="./runscummvm.sh"/>
+ <author name="DJWillis" website="http://www.scummvm.org/"/>
+ <!-- version type can be alpha, beta or release, set to release in branch -->
+ <version major="@VER_MAJOR@" minor="@VER_MINOR@" release="@VER_PATCH@" build="1" type="release"/>
+ <!-- Both title and titles are needed -->
+ <title lang="en_US">ScummVM</title>
+ <titles>
+ <title lang="en_US">ScummVM</title>
+ </titles>
+ <descriptions>
+ <description lang="en_US">
+ ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
+
+ ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more.
+ </description>
+ </descriptions>
+ <licenses>
+ <license name="GPLv2" url="http://www.gnu.org/licenses/gpl-2.0.html" sourcecodeurl="http://www.scummvm.org"/>
+ </licenses>
+ <icon src="icon/scummvm.png"/>
+ <previewpics>
+ <pic src="icon/preview-pic.png"/>
+ </previewpics>
+ <info name="ScummVM Documentation" type="text/html" src="docs/index.html"/>
+ <categories>
+ <category name="Game">
+ <subcategory name="AdventureGame"/>
+ </category>
+ </categories>
+ </application>
+</PXML>
diff --git a/dists/openpandora/PXML_schema.xsd b/dists/openpandora/PXML_schema.xsd
new file mode 100644
index 0000000..7c0d635
--- /dev/null
+++ b/dists/openpandora/PXML_schema.xsd
@@ -0,0 +1,341 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema targetNamespace="http://openpandora.org/namespaces/PXML" xmlns="http://openpandora.org/namespaces/PXML" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
+
+
+ <!-- declare some simpleTypes for later usage -->
+
+ <!-- Specify params allows with the 'x11' entry in exec -->
+ <xs:simpleType name="x11Param">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="req" />
+ <xs:enumeration value="stop" />
+ <xs:enumeration value="ignore" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Specify the valid documentation formats in the <info> block -->
+ <xs:simpleType name="docType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="text/html" />
+ <xs:enumeration value="text/plain" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Make sure that version numbers only consist of letters, numbers and + as well as - -->
+ <xs:simpleType name="versionNumber">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ <xs:pattern value="[a-zA-Z0-9+-]*" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Specify what is valid as release type -->
+ <xs:simpleType name="releaseType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="alpha" />
+ <xs:enumeration value="beta" />
+ <xs:enumeration value="release" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Specify what makes an email address "valid" -->
+ <xs:simpleType name="emailAddress">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[^@]+@[^\.]+\..+"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- some restrictions regarding file names that are eg not allowed/possible when using sd cards formated as fat32 -->
+ <xs:simpleType name="dumbPath">
+ <xs:restriction base="xs:normalizedString">
+ <xs:pattern value="[^?>:]+" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="dumbFolderName">
+ <xs:restriction base="xs:normalizedString">
+ <xs:pattern value="[^?>:/]+" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Specify lang codes -->
+ <xs:simpleType name="isoLangcode">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="2"/>
+ <xs:pattern value="[a-zA-Z]{2,3}(_[a-zA-Z0-9]{2,3})*" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="isoLangcode_en_US">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="en_US" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Definition of all allowed categories following the FDO specs -->
+ <xs:simpleType name="fdoCategory">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="AudioVideo|Audio|Video|Development|Education|Game|Graphics|Network|Office|Settings|System|Utility"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <!-- Definition of all allowed subcategories following the FDO specs (should be based upon the given main categories, but would significantly increase complexity of the schema) -->
+ <xs:simpleType name="fdoSubCategory">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="Building|Debugger|IDE|GUIDesigner|Profiling|RevisionControl|Translation|Calendar|ContactManagement|Database|Dictionary|Chart|Email|Finance|FlowChart|PDA|ProjectManagement|Presentation|Spreadsheet|WordProcessor|2DGraphics|VectorGraphics|RasterGraphics|3DGraphics|Scanning|OCR|Photography|Publishing|Viewer|TextTools|DesktopSettings|HardwareSettings|Printing|PackageManager|Dialup|InstantMessaging|Chat|IRCClient|FileTransfer|HamRadio|News|P2P|RemoteAccess|Telephony|TelephonyTools|VideoConference|WebBrowser|WebDevelopment|Midi|Mixer|Sequencer|Tuner|TV|AudioVideoEditing|Player|Recorder|DiscBurning|ActionGame|AdventureGame|ArcadeGame|BoardGame|BlocksGame|CardGame|KidsGame|LogicGame|RolePlaying|Simulation|SportsGame|StrategyGame|Art|Construction|Music|Languages|Science|ArtificialIntelligence|Astronomy|Biology|Chemistry|ComputerScience|DataVisualization|Economy|Electricity|Geography|Geology|Geoscience|History|ImageProcessing|Literature|Math|NumericalAnalysis|Medi
calSoftware|Physics|Robotics|Sports|ParallelComputing|Amusement|Archiving|Compression|Electronics|Emulator|Engineering|FileTools|FileManager|TerminalEmulator|Filesystem|Monitor|Security|Accessibility|Calculator|Clock|TextEditor|Documentation|Core|KDE|GNOME|GTK|Qt|Motif|Java|ConsoleOnly"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Create some way to enforce entries to be nonempty -->
+ <xs:simpleType name="nonempty_token">
+ <xs:restriction base="xs:token">
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="nonempty_string">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="nonempty_normalizedString">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+
+
+ <!-- declare some complexTypes for later usage -->
+
+ <!-- type used for file associations -->
+ <xs:complexType name="association_data">
+ <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
+ <xs:attribute name="filetype" use="required" type="nonempty_token" />
+ <xs:attribute name="exec" use="required" type="nonempty_token" />
+ </xs:complexType>
+
+ <!-- type used for author info -->
+ <xs:complexType name="author_data">
+ <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
+ <xs:attribute name="website" use="optional" type="xs:anyURI" />
+ <xs:attribute name="email" use="optional" type="emailAddress" />
+ </xs:complexType>
+
+ <!-- type used for version informations (full entry as well as os version) -->
+ <xs:complexType name="app_version_info">
+ <xs:attribute name="major" use="required" type="versionNumber" />
+ <xs:attribute name="minor" use="required" type="versionNumber" />
+ <xs:attribute name="release" use="required" type="versionNumber" />
+ <xs:attribute name="build" use="required" type="versionNumber" />
+ <xs:attribute name="type" use="optional" type="releaseType" />
+ </xs:complexType>
+ <xs:complexType name="os_version_info">
+ <xs:attribute name="major" use="required" type="versionNumber" />
+ <xs:attribute name="minor" use="required" type="versionNumber" />
+ <xs:attribute name="release" use="required" type="versionNumber" />
+ <xs:attribute name="build" use="required" type="versionNumber" />
+ </xs:complexType>
+
+ <!-- type used for exec entries -->
+ <xs:complexType name="exec_params">
+ <xs:attribute name="command" use="required" type="nonempty_token" />
+ <xs:attribute name="arguments" use="optional" type="nonempty_token" />
+ <xs:attribute name="background" use="optional" type="xs:boolean" />
+ <xs:attribute name="startdir" use="optional" type="dumbPath" />
+ <xs:attribute name="standalone" use="optional" type="xs:boolean" />
+ <xs:attribute name="x11" use="optional" type="x11Param" />
+ </xs:complexType>
+
+ <!-- type used for tiles or descriptions, once in 'normal' version, once enforcing usage of en_US -->
+ <xs:complexType name="title_or_description">
+ <xs:simpleContent>
+ <xs:extension base="nonempty_string">
+ <xs:attribute name="lang" use="required" type="isoLangcode" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="title_or_description_enUS">
+ <xs:simpleContent>
+ <xs:extension base="nonempty_string">
+ <xs:attribute name="lang" use="required" type="isoLangcode_en_US" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!-- type used for referencing images -->
+ <xs:complexType name="image_entry">
+ <xs:attribute name="src" use="required" type="dumbPath" />
+ </xs:complexType>
+
+ <!-- type for referencing manuals/readme docs -->
+ <xs:complexType name="information_entry">
+ <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
+ <xs:attribute name="type" use="required" type="docType" />
+ <xs:attribute name="src" use="required" type="dumbPath" />
+ </xs:complexType>
+
+ <!-- type used for the license information -->
+ <xs:complexType name="license_info">
+ <xs:attribute name="name" use="required" type="nonempty_normalizedString" />
+ <xs:attribute name="url" use="optional" type="xs:anyURI" />
+ <xs:attribute name="sourcecodeurl" use="optional" type="xs:anyURI" />
+ </xs:complexType>
+
+
+
+ <!-- Combine the symple and complex types into the "real" PXML specification -->
+
+ <xs:element name="PXML">
+ <xs:complexType>
+ <xs:sequence>
+ <!-- specify the <package> tag with info about the complete package, information providable:
+ author
+ version
+ title(s)
+ description(s)
+ icon
+ -->
+ <xs:element name="package" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:all>
+ <!--Author info-->
+ <xs:element name="author" type="author_data" minOccurs="1" />
+ <!--App version info-->
+ <xs:element name="version" type="app_version_info" minOccurs="1" />
+ <!--Title-->
+ <xs:element name="titles" minOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="title" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" />
+ <xs:element name="title" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Description-->
+ <xs:element name="descriptions" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="title" type="title_or_description_enUS" minOccurs="0" maxOccurs="1" />
+ <xs:element name="description" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Icon-->
+ <xs:element name="icon" type="image_entry" minOccurs="0" />
+ </xs:all>
+ <!--Package ID-->
+ <xs:attribute name="id" use="required" type="dumbFolderName" />
+ </xs:complexType>
+ </xs:element>
+ <!-- specify the <application> tag with info about a single program
+ executable call
+ author
+ version (of the application)
+ osversion (min OS version supported)
+ title(s) (allowing compatibility to <HF6, too!)
+ description(s) (allowing compatibility to <HF6, too!)
+ icon
+ license
+ preview pictures
+ info/manual/readme entry
+ categories
+ associations to file types
+ clockspeed
+ -->
+ <xs:element name="application" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:all>
+ <!--Execution params -->
+ <xs:element name="exec" type="exec_params" minOccurs="1" />
+ <!--Author info-->
+ <xs:element name="author" type="author_data" minOccurs="1" />
+ <!--App version info-->
+ <xs:element name="version" type="app_version_info" minOccurs="1" />
+ <!--OS Version info-->
+ <xs:element name="osversion" type="os_version_info" minOccurs="0" />
+ <!--Title-->
+ <!-- via <titles> element, used for HF6+ -->
+ <xs:element name="titles" minOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="title" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" />
+ <xs:element name="title" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Title-->
+ <!-- via <title> element, only one for en_US allowed, meant for backwards compatibility with libpnd from <HF6 -->
+ <xs:element name="title" type="title_or_description_enUS" minOccurs="0" />
+ <!--Description-->
+ <!-- via <descriptions> element, used for HF6+ -->
+ <xs:element name="descriptions" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="description" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" />
+ <xs:element name="description" type="title_or_description" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Description-->
+ <!-- via <description> element, only one for en_US allowed, meant for backwards compatibility with libpnd from <HF6 -->
+ <xs:element name="description" type="title_or_description_enUS" minOccurs="0" />
+ <!--Icon-->
+ <xs:element name="icon" type="image_entry" minOccurs="0" />
+ <!--License-->
+ <xs:element name="licenses" minOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="license" type="license_info" minOccurs="1" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Preview pics-->
+ <xs:element name="previewpics" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="pic" type="image_entry" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Info (aka manual or readme entry)-->
+ <xs:element name="info" type="information_entry" minOccurs="0" />
+ <!--Categories-->
+ <xs:element name="categories" minOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="category" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="subcategory" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="fdoSubCategory" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" use="required" type="fdoCategory" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Associations-->
+ <xs:element name="associations" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="association" type="association_data" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--Clockspeed-->
+ <xs:element name="clockspeed" minOccurs="0">
+ <xs:complexType>
+ <xs:attribute name="frequency" use="required" type="xs:positiveInteger" />
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ <!--AppID-->
+ <xs:attribute name="id" use="required" type="dumbFolderName" />
+ <xs:attribute name="appdata" use="optional" type="dumbFolderName" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/dists/openpandora/README-OPENPANDORA b/dists/openpandora/README-OPENPANDORA
new file mode 100644
index 0000000..b394797
--- /dev/null
+++ b/dists/openpandora/README-OPENPANDORA
@@ -0,0 +1,19 @@
+ScummVM 1.5.0git - OPENPANDORA SPECIFIC README
+------------------------------------------------------------------------
+Please refer to the:
+
+ScummVM Forum: <http://forums.scummvm.org/>
+WiKi: <http://wiki.scummvm.org/index.php/OpenPandora>
+
+for the most current information on the port and any updates to this
+documentation.
+
+The wiki includes detailed instructions on how to use the port and
+control information.
+
+------------------------------------------------------------------------
+Credits
+
+Core ScummVM code (c) The ScummVM Team
+OpenPandora backend (c) John Willis
+Detailed (c) information can be found within the source code
diff --git a/dists/openpandora/README-OPENPANDORA.in b/dists/openpandora/README-OPENPANDORA.in
new file mode 100644
index 0000000..0a63a59
--- /dev/null
+++ b/dists/openpandora/README-OPENPANDORA.in
@@ -0,0 +1,19 @@
+ScummVM @VERSION@ - OPENPANDORA SPECIFIC README
+------------------------------------------------------------------------
+Please refer to the:
+
+ScummVM Forum: <http://forums.scummvm.org/>
+WiKi: <http://wiki.scummvm.org/index.php/OpenPandora>
+
+for the most current information on the port and any updates to this
+documentation.
+
+The wiki includes detailed instructions on how to use the port and
+control information.
+
+------------------------------------------------------------------------
+Credits
+
+Core ScummVM code (c) The ScummVM Team
+OpenPandora backend (c) John Willis
+Detailed (c) information can be found within the source code
diff --git a/dists/openpandora/README-PND.txt b/dists/openpandora/README-PND.txt
new file mode 100644
index 0000000..240936f
--- /dev/null
+++ b/dists/openpandora/README-PND.txt
@@ -0,0 +1,38 @@
+ScummVM 1.5.0git - OPENPANDORA README - HOW TO INSTALL
+------------------------------------------------------------------------
+
+Please refer to the:
+
+ScummVM Forum: <http://forums.scummvm.org/>
+WiKi: <http://wiki.scummvm.org/index.php/OpenPandora>
+
+for the most current information on the port and any updates to this
+documentation.
+
+------------------------------------------------------------------------
+Installing:
+
+This archive contains ScummVM in a PND format ready to be copied to the
+OpenPandora and used.
+
+To install just copy the .pnd file from this archive to your device.
+
+You will need to place the .pnd file in a suitable location on your SD
+card.
+
+/pandora/desktop <- place here if you wish the icon to show on the
+ desktop. Documentation will show in the menu.
+
+/pandora/menu <- place here if you wish the icon to show on the
+ Xfce menu. Documentation will show in the menu.
+
+/pandora/apps <- place here if you wish the icon to show on the
+ desktop and in the menu. Documentation will show
+ in the menu.
+
+------------------------------------------------------------------------
+Credits
+
+Core ScummVM code (c) The ScummVM Team
+OpenPandora backend (c) John Willis
+Detailed (c) information can be found within the source code
diff --git a/dists/openpandora/README-PND.txt.in b/dists/openpandora/README-PND.txt.in
new file mode 100644
index 0000000..076c0e0
--- /dev/null
+++ b/dists/openpandora/README-PND.txt.in
@@ -0,0 +1,38 @@
+ScummVM @VERSION@ - OPENPANDORA README - HOW TO INSTALL
+------------------------------------------------------------------------
+
+Please refer to the:
+
+ScummVM Forum: <http://forums.scummvm.org/>
+WiKi: <http://wiki.scummvm.org/index.php/OpenPandora>
+
+for the most current information on the port and any updates to this
+documentation.
+
+------------------------------------------------------------------------
+Installing:
+
+This archive contains ScummVM in a PND format ready to be copied to the
+OpenPandora and used.
+
+To install just copy the .pnd file from this archive to your device.
+
+You will need to place the .pnd file in a suitable location on your SD
+card.
+
+/pandora/desktop <- place here if you wish the icon to show on the
+ desktop. Documentation will show in the menu.
+
+/pandora/menu <- place here if you wish the icon to show on the
+ Xfce menu. Documentation will show in the menu.
+
+/pandora/apps <- place here if you wish the icon to show on the
+ desktop and in the menu. Documentation will show
+ in the menu.
+
+------------------------------------------------------------------------
+Credits
+
+Core ScummVM code (c) The ScummVM Team
+OpenPandora backend (c) John Willis
+Detailed (c) information can be found within the source code
diff --git a/dists/openpandora/icon/preview-pic.png b/dists/openpandora/icon/preview-pic.png
new file mode 100644
index 0000000..2f4a536
Binary files /dev/null and b/dists/openpandora/icon/preview-pic.png differ
diff --git a/dists/openpandora/icon/scummvm.png b/dists/openpandora/icon/scummvm.png
new file mode 100644
index 0000000..128e59e
Binary files /dev/null and b/dists/openpandora/icon/scummvm.png differ
diff --git a/dists/openpandora/index.html b/dists/openpandora/index.html
new file mode 100644
index 0000000..d7238c1
--- /dev/null
+++ b/dists/openpandora/index.html
@@ -0,0 +1,26 @@
+<html>
+
+<h3>
+ <p>Welcome to the ScummVM!</p>
+</h3>
+
+<h4>
+ <p>ScummVM 1.5.0git: OpenPandora Specific Documentation</p>
+</h4>
+
+<A href="docs/README-OPENPANDORA">ScummVM OpenPandora README</a><br/>
+<A href="http://scummvm.distant-earth.com/">ScummVM OpenPandora Website</a><br/>
+<A href="http://wiki.scummvm.org/index.php/OpenPandora">ScummVM OpenPandora WiKi</a><br/>
+
+<h4>
+ <p>ScummVM 1.5.0git: General Documentation</p>
+</h4>
+
+<A href="http://www.scummvm.org/">ScummVM website</a><br/>
+<A href="docs/README">ScummVM README</a><br/>
+<A href="docs/NEWS">ScummVM NEWS</a><br/>
+<A href="docs/AUTHORS">ScummVM Authors</a><br/>
+<A href="docs/COPYRIGHT">ScummVM Copyright</a><br/>
+<A href="docs/COPYING">GPL Licence</a><br/>
+
+</html>
diff --git a/dists/openpandora/index.html.in b/dists/openpandora/index.html.in
new file mode 100644
index 0000000..42c8e8c
--- /dev/null
+++ b/dists/openpandora/index.html.in
@@ -0,0 +1,26 @@
+<html>
+
+<h3>
+ <p>Welcome to the ScummVM!</p>
+</h3>
+
+<h4>
+ <p>ScummVM @VERSION@: OpenPandora Specific Documentation</p>
+</h4>
+
+<A href="docs/README-OPENPANDORA">ScummVM OpenPandora README</a><br/>
+<A href="http://scummvm.distant-earth.com/">ScummVM OpenPandora Website</a><br/>
+<A href="http://wiki.scummvm.org/index.php/OpenPandora">ScummVM OpenPandora WiKi</a><br/>
+
+<h4>
+ <p>ScummVM @VERSION@: General Documentation</p>
+</h4>
+
+<A href="http://www.scummvm.org/">ScummVM website</a><br/>
+<A href="docs/README">ScummVM README</a><br/>
+<A href="docs/NEWS">ScummVM NEWS</a><br/>
+<A href="docs/AUTHORS">ScummVM Authors</a><br/>
+<A href="docs/COPYRIGHT">ScummVM Copyright</a><br/>
+<A href="docs/COPYING">GPL Licence</a><br/>
+
+</html>
diff --git a/dists/openpandora/pnd_make.sh b/dists/openpandora/pnd_make.sh
new file mode 100644
index 0000000..0c03e81
--- /dev/null
+++ b/dists/openpandora/pnd_make.sh
@@ -0,0 +1,321 @@
+#!/bin/bash
+#
+# pnd_make.sh
+#
+# This script is meant to ease generation of a pnd file. Please consult the output
+# when running --help for a list of available parameters and an explaination of
+# those.
+#
+# Required tools when running the script:
+# bash
+# echo, cat, mv, rm
+# mkisofs or mksquashfs (the latter when using the -c param!)
+# xmllint (optional, only for validation of the PXML against the schema)
+
+
+PXML_schema=$(dirname ${0})/PXML_schema.xsd
+GENPXML_PATH=$(dirname ${0})/genpxml.sh
+
+# useful functions ...
+black='\E[30m'
+red='\E[31m'
+green='\E[32m'
+yellow='\E[33m'
+blue='\E[34m'
+magenta='\E[35m'
+cyan='\E[36m'
+white='\E[37m'
+
+check_for_tool()
+{
+ which $1 &> /dev/null
+ if [ "$?" -ne "0" ];
+ then
+ cecho "ERROR: Could not find the program '$1'. Please make sure
+that it is available in your PATH since it is required to complete your request." $red
+ exit 1
+ fi
+}
+
+cecho () # Color-echo. Argument $1 = message, Argument $2 = color
+{
+ local default_msg="No message passed." # Doesn't really need to be a local variable.
+ message=${1:-$default_msg} # Defaults to default message.
+ color=${2:-$black} # Defaults to black, if not specified.
+ echo -e "$color$message"
+ tput sgr0 # Reset to normal.
+ return
+}
+
+
+print_help()
+{
+ cat << EOSTREAM
+pnd_make.sh - A script to package "something" into a PND.
+
+Usage:
+ $(basename ${0}) {--directory|-d} <folder> {--pndname|-p} <file> [{--compress-squashfs|-c}]
+ [{--genpxml} <file>] [{--icon|-i} <file>] [{--pxml|-x} <file>]
+ [{--schema|-s} <file>] [{--help|-h}]
+
+
+Switches:
+ --compress-squashfs / -c Define whether or not the pnd should be compressed using
+ squashfs. If this parameter is selected, a compressed pnd
+ will be created.
+
+ --directory / -d Sets the folder that is to be used for the resulting pnd
+ to <folder>. This option is mandatory for the script to
+ function correctly.
+
+ --genpxml Sets the script used for generating a PXML file (if none
+ is available already) to <file>. Please make sure to either
+ provide a full path or prefix a script in the current folder
+ with './' so that the script can actually be executed. If
+ this variable is not specified, $GENPXML_PATH
+ will be used.
+
+ --help / -h Displays this help text.
+
+ --icon / -i Sets the icon that will be appended in the pnd to <file>.
+
+ --pndname / -p Sets the output filename of the resulting pnd to <file>.
+ This option is mandatory for the script to function
+ correctly.
+
+ --pxml / -x Sets the PXML file that is to be used to <file>. If you
+ neither provide a PXML file or set this entry to 'guess',
+ an existing 'PXML.xml' in your selected '--directory'
+ will be used, or the script $GENPXML_PATH
+ will be called to try to generate a basic PXML file for you.
+
+ --schema / -s Sets the schema file, that is to be used for validation,
+ to <file. If this is not defined, the script will try to
+ use the file '$PXML_schema'. If this fails,
+ a warning is issued.
+
+If you select the option to create a compressed squashfs, a version >=4.0 of squashfs
+is required to be available in your PATH.
+EOSTREAM
+}
+
+
+# Parse command line parameters
+while [ "${1}" != "" ]; do
+ if [ "${1}" = "--compress-squashfs" ] || [ "${1}" = "-c" ];
+ then
+ SQUASH=1
+ shift 1
+ elif [ "${1}" = "--directory" ] || [ "${1}" = "-d" ];
+ then
+ FOLDER=$2
+ shift 2
+ elif [ "${1}" = "--genpxml" ];
+ then
+ GENPXML_PATH=$2
+ shift 2
+ elif [ "${1}" = "--help" ] || [ "${1}" = "-h" ];
+ then
+ print_help
+ exit 0
+ elif [ "${1}" = "--icon" ] || [ "${1}" = "-i" ];
+ then
+ ICON=$2
+ shift 2
+ elif [ "${1}" = "--pndname" ] || [ "${1}" = "-p" ];
+ then
+ PNDNAME=$2
+ shift 2
+ elif [ "${1}" = "--pxml" ] || [ "${1}" = "-x" ];
+ then
+ PXML=$2
+ shift 2
+ elif [ "${1}" = "--schema" ] || [ "${1}" = "-f" ]
+ then
+ PXML_schema=$2
+ shift 2
+ else
+ cecho "ERROR: '$1' is not a known argument. Printing --help and aborting." $red
+ print_help
+ exit 1
+ fi
+done
+
+
+# Generate a PXML if the param is set to Guess or it is empty.
+if [ ! $PXML ] || [ $PXML = "guess" ] && [ $PNDNAME ] && [ $FOLDER ];
+then
+ if [ -f $FOLDER/PXML.xml ]; # use the already existing PXML.xml file if there is one...
+ then
+ PXML=$FOLDER/PXML.xml
+ PXML_ALREADY_EXISTING="true"
+ else
+ if [ -f $GENPXML_PATH ];
+ then
+ $GENPXML_PATH --src $FOLDER --dest $FOLDER --author $USER
+ if [ -f $FOLDER/PXML.xml ];
+ then
+ PXML_GENERATED="true"
+ else
+ cecho "ERROR: Generating a PXML file using '$GENPXML_PATH' failed.
+Please generate a PXML file manually." $red
+ exit 1
+ fi
+ else
+ cecho "ERROR: Could not find '$GENPXML_PATH' for generating a PXML file." $red
+ exit 1
+ fi
+ fi
+fi
+
+
+# Probe if required variables were set
+echo -e
+cecho "Checking if all required variables were set." $green
+if [ ! $PNDNAME ] || [ ! $FOLDER ] || [ ! $PXML ];
+then
+ echo -e
+ cecho "ERROR: Not all required options were set! Please see the --help information below." $red
+ echo -e
+ print_help
+ exit 1
+else
+ echo "PNDNAME set to '$PNDNAME'."
+fi
+# Check if the selected folder actually exists
+if [ ! -d $FOLDER ];
+then
+ echo -e
+ cecho "ERROR: '$FOLDER' doesn't exist or is not a folder." $red
+ exit 1
+else
+ echo "FOLDER set to '$FOLDER'."
+fi
+# Check if the selected PXML file actually exists
+if [ ! -f $PXML ];
+then
+ echo -e
+ cecho "ERROR: '$PXML' doesn't exist or is not a file." $red
+ exit 1
+else
+ if [ $PXML_ALREADY_EXISTING ];
+ then
+ echo "You have not explicitly specified a PXML to use, but an existing file was
+found. Will be using this one."
+ elif [ $PXML_GENERATED ];
+ then
+ echo "A PXML file was generated for you using '$GENPXML_PATH'. This file will
+not be removed at the end of this script because you might want to review it, adjust
+single entries and rerun the script to generate a pnd with a PXML file with all the
+information you want to have listed."
+ fi
+ echo "PXML set to '$PXML'."
+fi
+
+# Print the other variables:
+if [ $ICON ];
+then
+ if [ ! -f $ICON ]
+ then
+ cecho "WARNING: '$ICON' doesn't exist, will not append the selected icon to the pnd." $red
+ else
+ echo "ICON set to '$ICON'."
+ USE_ICON="true"
+ fi
+fi
+if [ $SQUASH ];
+then
+ echo "Will use a squashfs for '$PNDNAME'."
+fi
+
+
+# Validate the PXML file (if xmllint is available)
+# Errors and problems in this section will be shown but are not fatal.
+echo -e
+cecho "Trying to validate '$PXML' now. Will be using '$PXML_schema' to do so." $green
+which xmllint &> /dev/null
+if [ "$?" -ne "0" ];
+then
+ VALIDATED=false
+ cecho "WARNING: Could not find 'xmllint'. Validity check of '$PXML' is not possible!" $red
+else
+ if [ ! -f "$PXML_schema" ];
+ then
+ VALIDATED=false
+ cecho "WARNING: Could not find '$PXML_schema'. If you want to validate your
+PXML file please make sure to provide a schema using the --schema option." $red
+ else
+ xmllint --noout --schema $PXML_schema $PXML
+ if [ "$?" -ne "0" ]; then VALIDATED=false; else VALIDATED=true; fi
+ fi
+fi
+# Print some message at the end about the validation in case the user missed the output above
+if [ $VALIDATED = "false" ]
+then
+ cecho "WARNING: Could not successfully validate '$PXML'. Please check the output
+above. This does not mean that your pnd will be broken. Either you are not following the strict
+syntax required for validation or you don't have all files/programs required for validating." $red
+else
+ cecho "Your file '$PXML' was validated successfully. The resulting pnd should
+work nicely with libpnd." $green
+fi
+
+
+# Make iso from folder
+echo -e
+cecho "Creating an iso file based on '$FOLDER'." $green
+if [ $SQUASH ];
+then
+ check_for_tool mksquashfs
+ if [ $(mksquashfs -version | awk 'BEGIN{r=0} $3>=4{r=1} END{print r}') -eq 0 ];
+ then
+ cecho "ERROR: Your squashfs version is older then version 4, please upgrade to 4.0 or later" $red
+ exit 1
+ fi
+ mksquashfs $FOLDER $PNDNAME.iso -nopad -no-recovery
+else
+ check_for_tool mkisofs
+ mkisofs -o $PNDNAME.iso -R $FOLDER
+fi
+
+# Check that the iso file was actually created before continuing
+if [ ! -f $PNDNAME.iso ];
+then
+ cecho "ERROR: The temporary file '$PNDNAME.iso' could not be created.
+Please check the output above for any errors and retry after fixing them. Aborting." $red
+ exit 1
+fi
+
+
+# Append pxml to iso
+echo -e
+cecho "Appending '$PXML' to the created iso file." $green
+cat $PNDNAME.iso $PXML > $PNDNAME
+rm $PNDNAME.iso #cleanup
+
+
+# Append icon if specified and available
+if [ $USE_ICON ];
+then
+ echo -e
+ cecho "Appending the icon '$ICON' to the pnd." $green
+ mv $PNDNAME $PNDNAME.tmp
+ cat $PNDNAME.tmp $ICON > $PNDNAME # append icon
+ rm $PNDNAME.tmp #cleanup
+fi
+
+
+# Final message
+echo -e
+if [ -f $PNDNAME ];
+then
+ cecho "Successfully finished creating the pnd '$PNDNAME'." $green
+else
+ cecho "There seems to have been a problem and '$PNDNAME' was not created. Please check
+the output above for any error messages. A possible cause for this is that there was
+not enough space available." $red
+ exit 1
+fi
+
+
+#if [ $PXML = "guess" ];then rm $FOLDER/PXML.xml; fi #cleanup
diff --git a/dists/openpandora/runscummvm.sh b/dists/openpandora/runscummvm.sh
new file mode 100644
index 0000000..9c9d836
--- /dev/null
+++ b/dists/openpandora/runscummvm.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Make sure any extra libs not in the firmware are pulled in.
+LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:../lib
+export LD_LIBRARY_PATH
+
+# Ensure we have a folder to store save games on the SD card.
+mkdir saves
+
+# make a runtime dir, just incase it creates anything in CWD
+mkdir runtime
+cd runtime
+
+../bin/scummvm --fullscreen --gfx-mode=2x --config=../scummvm.config --themepath=../data
Commit: b016cf572ddaa0249c67b3409bb1660ecbdd9c28
https://github.com/scummvm/scummvm/commit/b016cf572ddaa0249c67b3409bb1660ecbdd9c28
Author: David-John Willis (John.Willis at Distant-earth.com)
Date: 2012-01-22T08:53:31-08:00
Commit Message:
OPENPANDORA: Fix file attributes after move.
Changed paths:
A dists/openpandora/pnd_make.sh
A dists/openpandora/runscummvm.sh
R dists/openpandora/pnd_make.sh
R dists/openpandora/runscummvm.sh
diff --git a/dists/openpandora/pnd_make.sh b/dists/openpandora/pnd_make.sh
old mode 100644
new mode 100755
diff --git a/dists/openpandora/runscummvm.sh b/dists/openpandora/runscummvm.sh
old mode 100644
new mode 100755
Commit: 7e0a88f69b05e71f41e2ea776b85a13fbb132bfc
https://github.com/scummvm/scummvm/commit/7e0a88f69b05e71f41e2ea776b85a13fbb132bfc
Author: David-John Willis (John.Willis at Distant-earth.com)
Date: 2012-01-22T08:53:32-08:00
Commit Message:
GPH: Move all dist files into own folder under dists.
* Update vairous GPH bundle targets to suit new layout.
* Also add .in input files so we can automatically update version numbers.
Changed paths:
A dists/gph/README-GPH
A dists/gph/README-GPH.in
A dists/gph/caanoo/scummvm-gdb.gpe
A dists/gph/caanoo/scummvm.gpe
A dists/gph/gp2x/mmuhack/Makefile
A dists/gph/gp2x/mmuhack/README
A dists/gph/gp2x/mmuhack/flush_uppermem_cache.h
A dists/gph/gp2x/mmuhack/flush_uppermem_cache.s
A dists/gph/gp2x/mmuhack/mmuhack.c
A dists/gph/gp2x/mmuhack/mmuhack.o
A dists/gph/gp2x/scummvm.gpe
A dists/gph/gp2xwiz/scummvm-gdb.gpe
A dists/gph/gp2xwiz/scummvm.gpe
A dists/gph/scummvm.ini
A dists/gph/scummvm.ini.in
A dists/gph/scummvm.png
A dists/gph/scummvmb.png
R backends/platform/gph/devices/common/README-GPH
R backends/platform/gph/devices/caanoo/scummvm-gdb.gpe
R backends/platform/gph/devices/caanoo/scummvm.gpe
R backends/platform/gph/devices/gp2x/mmuhack/Makefile
R backends/platform/gph/devices/gp2x/mmuhack/README
R backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.h
R backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.s
R backends/platform/gph/devices/gp2x/mmuhack/mmuhack.c
R backends/platform/gph/devices/gp2x/mmuhack/mmuhack.o
R backends/platform/gph/devices/gp2x/scummvm.gpe
R backends/platform/gph/devices/gp2xwiz/scummvm-gdb.gpe
R backends/platform/gph/devices/gp2xwiz/scummvm.gpe
R backends/platform/gph/devices/common/scummvm.ini
R backends/platform/gph/devices/common/scummvm.png
R backends/platform/gph/devices/common/scummvmb.png
backends/platform/gph/caanoo-bundle.mk
backends/platform/gph/gp2x-bundle.mk
backends/platform/gph/gp2xwiz-bundle.mk
diff --git a/backends/platform/gph/caanoo-bundle.mk b/backends/platform/gph/caanoo-bundle.mk
index 8aabca9..2cf8e62 100755
--- a/backends/platform/gph/caanoo-bundle.mk
+++ b/backends/platform/gph/caanoo-bundle.mk
@@ -14,11 +14,11 @@ caanoo-bundle: $(EXECUTABLE)
echo "Please put your save games in this dir" >> "$(bundle_name)/scummvm/saves/PUT_SAVES_IN_THIS_DIR"
- $(CP) $(srcdir)/backends/platform/gph/devices/caanoo/scummvm.gpe $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvmb.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/README-GPH $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.ini $(bundle_name)/
+ $(CP) $(srcdir)/dists/gph/caanoo/scummvm.gpe $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvmb.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/README-GPH $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.ini $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/scummvm/
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(bundle_name)/scummvm/
@@ -45,11 +45,11 @@ caanoo-bundle-debug: $(EXECUTABLE)
echo "Please put your save games in this dir" >> "$(bundle_name)/scummvm/saves/PUT_SAVES_IN_THIS_DIR"
- $(CP) $(srcdir)/backends/platform/gph/devices/caanoo/scummvm-gdb.gpe $(bundle_name)/scummvm/scummvm.gpe
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvmb.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/README-GPH $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.ini $(bundle_name)/
+ $(CP) $(srcdir)/dists/gph/caanoo/scummvm-gdb.gpe $(bundle_name)/scummvm/scummvm.gpe
+ $(CP) $(srcdir)/dists/gph/scummvm.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvmb.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/README-GPH $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.ini $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/scummvm/
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(bundle_name)/scummvm/
diff --git a/backends/platform/gph/devices/caanoo/scummvm-gdb.gpe b/backends/platform/gph/devices/caanoo/scummvm-gdb.gpe
deleted file mode 100644
index 63ce193..0000000
--- a/backends/platform/gph/devices/caanoo/scummvm-gdb.gpe
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-# Export the location of any libs ScummVM depends on
-# (to avoid installing to the NAND and overwriting the broken ones there).
-export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
-
-# Run ScummVM via GDB (so make sure you have a terminal open or serial).
-# Oh, and GDB installed of course ;)
-gdb --args ./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
-
-# Sync the SD card to check that everything is written.
-sync
-
-# Return to the GPH menu screen
-cd /usr/gp2x
-exec /usr/gp2x/gp2xmenu
diff --git a/backends/platform/gph/devices/caanoo/scummvm.gpe b/backends/platform/gph/devices/caanoo/scummvm.gpe
deleted file mode 100644
index 37d0f65..0000000
--- a/backends/platform/gph/devices/caanoo/scummvm.gpe
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# Export the location of any libs ScummVM depends on
-# (to avoid installing to the NAND and overwriting the broken ones there).
-export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
-
-# Run ScummVM, important this bit.
-./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
-
-# Sync the SD card to check that everything is written.
-sync
-
-# Return to the GPH menu screen
-cd /usr/gp2x
-exec /usr/gp2x/gp2xmenu
diff --git a/backends/platform/gph/devices/common/README-GPH b/backends/platform/gph/devices/common/README-GPH
deleted file mode 100644
index ea196f6..0000000
--- a/backends/platform/gph/devices/common/README-GPH
+++ /dev/null
@@ -1,60 +0,0 @@
-ScummVM - GPH DEVICE SPECIFIC README
-------------------------------------------------------------------------
-
-Contents:
-
- * About the backend/port <#About_the_backendport>
- * Supported audio options <#Supported_audio_options>
- * Credits <#Credits>
-
-------------------------------------------------------------------------
-
-Please refer to the:
-
-GPH ScummVM Forum: <http://forums.scummvm.org/viewforum.php?f=14>
-
-WiKi: (Select your device)
-
-<http://wiki.scummvm.org/index.php/GP2X>
-<http://wiki.scummvm.org/index.php/GP2XWiz>
-<http://wiki.scummvm.org/index.php/Caanoo>
-
-for the most current information on the port and any updates to this
-documentation.
-
-The wiki includes detailed instructions on how to use the port and
-control information.
-
-------------------------------------------------------------------------
-About the backend/port
-
-This is the readme for the official GPH ScummVM backend (also known as
-the GP2X port/GP2XWiz port or Caanoo port).
-
-This is an SVN test release of ScummVM for GPH devices, it would be
-appreciated if this SVN test distribution was not mirrored and that
-people be directed to http://scummvm.distant-earth.com/ instead for
-updated SVN builds.
-
-Fully supported official releases of the GPH ScummVM backend are made in
-line with main official releases and are avalalble from the ScummVM
-downloads page <http://www.scummvm.org/downloads.php> for the GP2X,
-GP2XWiz and Caanoo.
-
-------------------------------------------------------------------------
-Supported audio options
-
-Raw audio.
-MP3 audio.
-OGG Vorbis audio.
-
-FLAC audio is currently unsupported.
-
-For best results use uncompressed audio in games.
-
-------------------------------------------------------------------------
-Credits
-
-Core ScummVM code (c) The ScummVM Team
-Portions of the GPH backend (c) John Willis
-Detailed (c) information can be found within the source code
diff --git a/backends/platform/gph/devices/common/scummvm.ini b/backends/platform/gph/devices/common/scummvm.ini
deleted file mode 100644
index c9cce92..0000000
--- a/backends/platform/gph/devices/common/scummvm.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[info]
-name="ScummVM"
-path="/scummvm/scummvm.gpe"
-icon="/scummvm/scummvm.png"
-title="/scummvm/scummvmb.png"
diff --git a/backends/platform/gph/devices/common/scummvm.png b/backends/platform/gph/devices/common/scummvm.png
deleted file mode 100644
index 128e59e..0000000
Binary files a/backends/platform/gph/devices/common/scummvm.png and /dev/null differ
diff --git a/backends/platform/gph/devices/common/scummvmb.png b/backends/platform/gph/devices/common/scummvmb.png
deleted file mode 100644
index 24a27bc..0000000
Binary files a/backends/platform/gph/devices/common/scummvmb.png and /dev/null differ
diff --git a/backends/platform/gph/devices/gp2x/mmuhack/Makefile b/backends/platform/gph/devices/gp2x/mmuhack/Makefile
deleted file mode 100644
index a35d5c2..0000000
--- a/backends/platform/gph/devices/gp2x/mmuhack/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-TARGET = mmuhack
-INCLUDE = -I/opt/gcc-3.4.4-glibc-2.3.6/arm-open2x-linux/sys-include
-CFLAGS = -O2 -DMODULE -D__KERNEL__ ${INCLUDE}
-CC = arm-open2x-linux-gcc
-
-all: ${TARGET}.o
-
-${TARGET}.o: ${TARGET}.c
-
-clean:
- rm -rf ${TARGET}.o
diff --git a/backends/platform/gph/devices/gp2x/mmuhack/README b/backends/platform/gph/devices/gp2x/mmuhack/README
deleted file mode 100644
index 6db7d81..0000000
--- a/backends/platform/gph/devices/gp2x/mmuhack/README
+++ /dev/null
@@ -1,116 +0,0 @@
-PLEASE NOTE:
-
-The binary object 'mmuhack.o' is stored in the source tree as it is very awkward to
-build it manually each time and would require the use of 2 toolchains to do so.
-
-Notes on how to rebuild from the included source can be found below.
-
-About
------
-
-This is a module for GP2X 2.4 based Linux kernel, created for developers to use in their
-programs.
-
-Normally the upper 32MB is uncached. This means that reads/writes on the memory
-are always done via the physical memory modules rather than the much faster
-memory built into the processor (called 'cache'). Access to the upper 32MB can
-be sped up by Squidge's MMU hack. The easiest way to use the MMU hack is to add
-and load the MMU hack kernel module into your program.
-
-Note: Building this module requries a GP2X 'kernel' toolchain (i.e. GCC 2.95.*
-for the GP2X stock, 3.* for Open2X).
-
-You can't build this module with the GCC 4 based application toolchains.
-
-Operation
----------
-
-When loaded into kernel, this module creates /dev/mmuhack device. Whenever
-a program opens that device using open() call, the module traverses all
-memory, which was allocated in 0x02000000-0x03ffffff range by the program via
-using mmap() system call. While doing that, it marks all encountered memory
-as bufferable and cacheable.
-
-The most common use of this is to remove the framebuffer access bottleneck.
-Note that, however, by making the framebuffer cacheable you can cause display
-artifacts. This can happen because parts of your framebuffer may stay in CPU
-cache and not to be written back to the physical memory. The display
-controller only fetches data from the physical memory, so you get incomplete
-image (the memory will most likely contain data from previous frame, so these
-artifacts are better visible during fade effects). The easy way to fix this
-is by using a special ARM Linux system call, which flushes the cache (forces
-the CPU to write data in cache to the physical memory (see section "Flushing
-the cache")).
-
-Using this module affects the whole upper memory area. But in some situations
-this may be not desirable, for example when using ARM940 core in your program
-(ether using 940 libraries like ogg940 and gpu940, or using your custom code,
-which needs uncacheable memory for communication and such). If you need part
-of your upper memory to be cached, and other part not, you should mmap() that
-memory (which you want to be uncached) _after_ doing open("/dev/mmuhack").
-Another way is to modify mmuhack.c to suit your needs and rebuild the module.
-
-
-Usage
------
-
-The very first thing to do is to load the kernel module (mmuhack.o) into the
-running kernel. But before that you should try to unload mmuhack module,
-because other program might have left a different version loaded with
-different memory configuration, which may not suit your program.
-
-system("/sbin/rmmod mmuhack");
-system("/sbin/insmod mmuhack.o");
-
-Now you can assume the module is loaded into kernel and open /dev/mmuhack
-device. You don't need to worry about previous calls failing, because in that
-case open() will simply fail and nothing bad will happen.
-
-IMPORTANT: you _must_ do the open() call _after_ you initialize your graphics
-library or allocate your memory, because it can only work with memory which is
-already allocated, it won't affect memory you or your lib allocates after the
-open() call.
-
-int mmufd = open("/dev/mmuhack", O_RDWR);
-if(mmufd < 0)
-{
- printf("MMU hack failed");
-}
-else
-{
- printf("MMU hack loaded");
- close(mmufd);
-}
-
-If the above call succeeded, you are all done.
-I recommend to unload the module when your program exits, because the other
-program may want to load a different mmuhack.o and may fail, because you left
-your mmuhack.o loaded (it does not get unloaded automatically on exit).
-
-system("/sbin/rmmod mmuhack");
-
-
-Flushing the cache
-------------------
-
-If using mmuhack.o causes your program to display artifacts (see "Operation"
-section for explanation), you will need to flush the CPU cache. This should
-be done after finishing every frame and just before flipping your display
-buffer/surface. You will need to add flush_uppermem_cache.s file to your
-Makefile/project and add a call to flush_uppermem_cache() just before final
-framebuffer flip or blit.
-
-flush_uppermem_cache() has 3 parameters. First param is the start address,
-second param is the end address, third one should always be 0. The addresses
-should be virtual ones (most often pointers to the start/end of your
-framebuffer). Example:
-
-flush_uppermem_cache(screen_surface->pixels, screen_surface->pixels + 320*240, 0);
-
-
-Credits
--------
-
-Original idea/implementation: Squidge (this whole thing is also known as squidgehack)
-Kernel module: NK
-Documentation: notaz
diff --git a/backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.h b/backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.h
deleted file mode 100644
index d01548e..0000000
--- a/backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-void flush_uppermem_cache(void *start_address, void *end_address, int flags);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.s b/backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.s
deleted file mode 100644
index 265908e..0000000
--- a/backends/platform/gph/devices/gp2x/mmuhack/flush_uppermem_cache.s
+++ /dev/null
@@ -1,5 +0,0 @@
-.global flush_uppermem_cache @ void *start_address, void *end_address, int flags
-
-flush_uppermem_cache:
- swi #0x9f0002
- bx lr
diff --git a/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.c b/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.c
deleted file mode 100644
index 2e38bdb..0000000
--- a/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include <linux/config.h>
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/miscdevice.h>
-#include <asm/memory.h>
-
-#define MMUHACK_MINOR 225
-#define DEVICE_NAME "mmuhack"
-
-#if __GNUC__ == 3
-#include <linux/version.h>
-static const char __module_kernel_version_gcc3[] __attribute__((__used__)) __attribute__((section(".modinfo"))) =
-"kernel_version=" UTS_RELEASE;
-#endif
-
-static ssize_t mmuhack_open(struct inode *inode, struct file *filp)
-{
- unsigned int *pgtable;
- unsigned int *cpt;
- int i, j;
- int ttb;
- int ret = -EFAULT;
-
- // get the pointer to the translation table base...
- asm volatile(
- "stmdb sp!, {r0}\n\t"
- "mrc p15, 0, r0, c2, c0, 0\n\t"
- "mov %0, r0\n\t"
- "ldmia sp!, {r0}\n\t": "=r"(ttb)
- );
-
- pgtable = __va(ttb);
-
- for (i = 0; i < 4096; i ++) if ( (pgtable[i] & 3) == 1 ) {
- cpt = __va(pgtable[i] & 0xfffffc00);
-
- for (j = 0; j < 256; j ++) {/*
- if ( (cpt[j] & 0xfe00000f) == 0x02000002 ) {
- // set C and B bits in upper 32MB memory area...
- printk("Set C&B bits %08x\n",cpt[j]);
- cpt[j] |= 0xFFC;
- ret = 0;
- }
- */
- if (((cpt[j] & 0xff000000) == 0x02000000) && ((cpt[j] & 12)==0) )
- {
- //printk("Set C&B bits %08x\n",cpt[j]);
- cpt[j] |= 0xFFC;
- }
- //if ((a>=0x31 && a<=0x36) && ((cpt[i] & 12)==0))
- if (((cpt[j] & 0xff000000) == 0x03000000) && ((cpt[j] & 12)==0))
- {
- //printk("Set C&B bits %08x\n",cpt[j]);
- //printf("SDL c and b bits not set, overwriting\n");
- cpt[j] |= 0xFFC;
- }
- }
- }
-
- // drain the write buffer and flush the tlb caches...
- asm volatile(
- "stmdb sp!, {r0}\n\t"
- "mov r0, #0\n\t"
- "mcr 15, 0, r0, cr7, cr10, 4\n\t"
- "mcr 15, 0, r0, cr8, cr7, 0\n\t"
- "ldmia sp!, {r0}\n\t"
- );
-
- if (ret == 0)
- printk("MMU hack applied.\n");
-
- return 0;
-}
-
-static struct file_operations mmuhack_fops = {
- owner: THIS_MODULE,
- open: mmuhack_open,
-};
-
-
-static struct miscdevice mmuhack = {
- MMUHACK_MINOR, DEVICE_NAME, &mmuhack_fops
-};
-
-static int __init mmuhack_init(void)
-{
- misc_register(&mmuhack);
-/*
- printk("MMSP2 MMU Hack module.\n");
-*/
- return 0;
-}
-
-static void __exit mmuhack_exit(void)
-{
- misc_deregister(&mmuhack);
-/*
- printk(KERN_ALERT "MMU Hack module removed.\n");
-*/
-}
-
-module_init(mmuhack_init);
-module_exit(mmuhack_exit);
diff --git a/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.o b/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.o
deleted file mode 100644
index 475f4a5..0000000
Binary files a/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.o and /dev/null differ
diff --git a/backends/platform/gph/devices/gp2x/scummvm.gpe b/backends/platform/gph/devices/gp2x/scummvm.gpe
deleted file mode 100644
index 51a49f7..0000000
--- a/backends/platform/gph/devices/gp2x/scummvm.gpe
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Remount SD with forced Sync, does this really work?
-mount -o sync,remount /dev/mmcsd/disc0/part1 /mnt/sd/
-
-# Export the location of any libs ScummVM depends on
-# (to avoid installing to the NAND and overwriting the broken ones there).
-export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
-
-# Run ScummVM, important this bit.
-./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
-
-# Sync the SD card to check that everything is written.
-sync
-
-# Return to the GPH menu screen
-cd /usr/gp2x
-exec /usr/gp2x/gp2xmenu
diff --git a/backends/platform/gph/devices/gp2xwiz/scummvm-gdb.gpe b/backends/platform/gph/devices/gp2xwiz/scummvm-gdb.gpe
deleted file mode 100644
index 63ce193..0000000
--- a/backends/platform/gph/devices/gp2xwiz/scummvm-gdb.gpe
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-# Export the location of any libs ScummVM depends on
-# (to avoid installing to the NAND and overwriting the broken ones there).
-export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
-
-# Run ScummVM via GDB (so make sure you have a terminal open or serial).
-# Oh, and GDB installed of course ;)
-gdb --args ./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
-
-# Sync the SD card to check that everything is written.
-sync
-
-# Return to the GPH menu screen
-cd /usr/gp2x
-exec /usr/gp2x/gp2xmenu
diff --git a/backends/platform/gph/devices/gp2xwiz/scummvm.gpe b/backends/platform/gph/devices/gp2xwiz/scummvm.gpe
deleted file mode 100644
index 59ff562..0000000
--- a/backends/platform/gph/devices/gp2xwiz/scummvm.gpe
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# Export the location of any libs ScummVM depends on
-# (to avoid installing to the NAND and overwriting the broken ones there).
-export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
-
-# Run ScummVM, important this bit.
-./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
-
-# Sync the SD card to check that everything is written.
-sync
-
-# Return to the GPH menu screen
-cd /usr/gp2x
-exec /usr/gp2x/gp2xmenu
diff --git a/backends/platform/gph/gp2x-bundle.mk b/backends/platform/gph/gp2x-bundle.mk
index 810ff8b..adac489 100644
--- a/backends/platform/gph/gp2x-bundle.mk
+++ b/backends/platform/gph/gp2x-bundle.mk
@@ -12,10 +12,10 @@ gp2x-bundle: $(EXECUTABLE)
echo "Please put your save games in this dir" >> "$(bundle_name)/saves/PUT_SAVES_IN_THIS_DIR"
- $(CP) $(srcdir)/backends/platform/gph/devices/gp2x/scummvm.gpe $(bundle_name)/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.png $(bundle_name)/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/README-GPH $(bundle_name)/
- $(CP) $(srcdir)/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.o $(bundle_name)/
+ $(CP) $(srcdir)/dists/gph/gp2x/scummvm.gpe $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/README-GPH $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/gp2x/mmuhack/mmuhack.o $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(bundle_name)/
@@ -42,10 +42,10 @@ gp2x-bundle-debug: $(EXECUTABLE)
echo "Please put your save games in this dir" >> "$(bundle_name)/saves/PUT_SAVES_IN_THIS_DIR"
- $(CP) $(srcdir)/backends/platform/gph/devices/gp2x/scummvm.gpe $(bundle_name)/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.png $(bundle_name)/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/README-GPH $(bundle_name)/
- $(CP) $(srcdir)/backends/platform/gph/devices/gp2x/mmuhack/mmuhack.o $(bundle_name)/
+ $(CP) $(srcdir)/dists/gph/gp2x/scummvm.gpe $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/README-GPH $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/gp2x/mmuhack/mmuhack.o $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(bundle_name)/
diff --git a/backends/platform/gph/gp2xwiz-bundle.mk b/backends/platform/gph/gp2xwiz-bundle.mk
index 65e2952..4f49850 100755
--- a/backends/platform/gph/gp2xwiz-bundle.mk
+++ b/backends/platform/gph/gp2xwiz-bundle.mk
@@ -13,11 +13,11 @@ gp2xwiz-bundle: $(EXECUTABLE)
echo "Please put your save games in this dir" >> "$(bundle_name)/scummvm/saves/PUT_SAVES_IN_THIS_DIR"
- $(CP) $(srcdir)/backends/platform/gph/devices/gp2xwiz/scummvm.gpe $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvmb.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/README-GPH $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.ini $(bundle_name)/
+ $(CP) $(srcdir)/dists/gph/gp2xwiz/scummvm.gpe $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvmb.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/README-GPH $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.ini $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/scummvm/
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(bundle_name)/scummvm/
@@ -47,11 +47,11 @@ gp2xwiz-bundle-debug: $(EXECUTABLE)
echo "Please put your save games in this dir" >> "$(bundle_name)/scummvm/saves/PUT_SAVES_IN_THIS_DIR"
- $(CP) $(srcdir)/backends/platform/gph/devices/gp2xwiz/scummvm-gdb.gpe $(bundle_name)/scummvm/scummvm.gpe
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvmb.png $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/README-GPH $(bundle_name)/scummvm/
- $(CP) $(srcdir)/backends/platform/gph/devices/common/scummvm.ini $(bundle_name)/
+ $(CP) $(srcdir)/dists/gph/gp2xwiz/scummvm-gdb.gpe $(bundle_name)/scummvm/scummvm.gpe
+ $(CP) $(srcdir)/dists/gph/scummvm.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvmb.png $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/README-GPH $(bundle_name)/scummvm/
+ $(CP) $(srcdir)/dists/gph/scummvm.ini $(bundle_name)/
$(INSTALL) -c -m 644 $(DIST_FILES_DOCS) $(bundle_name)/scummvm/
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(bundle_name)/scummvm/
diff --git a/dists/gph/README-GPH b/dists/gph/README-GPH
new file mode 100644
index 0000000..29f0175
--- /dev/null
+++ b/dists/gph/README-GPH
@@ -0,0 +1,61 @@
+ScummVM 1.5.0git - GPH DEVICE SPECIFIC README
+
+------------------------------------------------------------------------
+
+Contents:
+
+ * About the backend/port <#About_the_backendport>
+ * Supported audio options <#Supported_audio_options>
+ * Credits <#Credits>
+
+------------------------------------------------------------------------
+
+Please refer to the:
+
+GPH ScummVM Forum: <http://forums.scummvm.org/viewforum.php?f=14>
+
+WiKi: (Select your device)
+
+<http://wiki.scummvm.org/index.php/GP2X>
+<http://wiki.scummvm.org/index.php/GP2XWiz>
+<http://wiki.scummvm.org/index.php/Caanoo>
+
+for the most current information on the port and any updates to this
+documentation.
+
+The wiki includes detailed instructions on how to use the port and
+control information.
+
+------------------------------------------------------------------------
+About the backend/port
+
+This is the readme for the official GPH ScummVM backend (also known as
+the GP2X port/GP2XWiz port or Caanoo port).
+
+This is an SVN test release of ScummVM for GPH devices, it would be
+appreciated if this SVN test distribution was not mirrored and that
+people be directed to http://scummvm.distant-earth.com/ instead for
+updated SVN builds.
+
+Fully supported official releases of the GPH ScummVM backend are made in
+line with main official releases and are avalalble from the ScummVM
+downloads page <http://www.scummvm.org/downloads.php> for the GP2X,
+GP2XWiz and Caanoo.
+
+------------------------------------------------------------------------
+Supported audio options
+
+Raw audio.
+MP3 audio.
+OGG Vorbis audio.
+
+FLAC audio is currently unsupported.
+
+For best results use uncompressed audio in games.
+
+------------------------------------------------------------------------
+Credits
+
+Core ScummVM code (c) The ScummVM Team
+Portions of the GPH backend (c) John Willis
+Detailed (c) information can be found within the source code
diff --git a/dists/gph/README-GPH.in b/dists/gph/README-GPH.in
new file mode 100644
index 0000000..31ec3e4
--- /dev/null
+++ b/dists/gph/README-GPH.in
@@ -0,0 +1,61 @@
+ScummVM @VERSION@ - GPH DEVICE SPECIFIC README
+
+------------------------------------------------------------------------
+
+Contents:
+
+ * About the backend/port <#About_the_backendport>
+ * Supported audio options <#Supported_audio_options>
+ * Credits <#Credits>
+
+------------------------------------------------------------------------
+
+Please refer to the:
+
+GPH ScummVM Forum: <http://forums.scummvm.org/viewforum.php?f=14>
+
+WiKi: (Select your device)
+
+<http://wiki.scummvm.org/index.php/GP2X>
+<http://wiki.scummvm.org/index.php/GP2XWiz>
+<http://wiki.scummvm.org/index.php/Caanoo>
+
+for the most current information on the port and any updates to this
+documentation.
+
+The wiki includes detailed instructions on how to use the port and
+control information.
+
+------------------------------------------------------------------------
+About the backend/port
+
+This is the readme for the official GPH ScummVM backend (also known as
+the GP2X port/GP2XWiz port or Caanoo port).
+
+This is an SVN test release of ScummVM for GPH devices, it would be
+appreciated if this SVN test distribution was not mirrored and that
+people be directed to http://scummvm.distant-earth.com/ instead for
+updated SVN builds.
+
+Fully supported official releases of the GPH ScummVM backend are made in
+line with main official releases and are avalalble from the ScummVM
+downloads page <http://www.scummvm.org/downloads.php> for the GP2X,
+GP2XWiz and Caanoo.
+
+------------------------------------------------------------------------
+Supported audio options
+
+Raw audio.
+MP3 audio.
+OGG Vorbis audio.
+
+FLAC audio is currently unsupported.
+
+For best results use uncompressed audio in games.
+
+------------------------------------------------------------------------
+Credits
+
+Core ScummVM code (c) The ScummVM Team
+Portions of the GPH backend (c) John Willis
+Detailed (c) information can be found within the source code
diff --git a/dists/gph/caanoo/scummvm-gdb.gpe b/dists/gph/caanoo/scummvm-gdb.gpe
new file mode 100644
index 0000000..63ce193
--- /dev/null
+++ b/dists/gph/caanoo/scummvm-gdb.gpe
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# Export the location of any libs ScummVM depends on
+# (to avoid installing to the NAND and overwriting the broken ones there).
+export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
+
+# Run ScummVM via GDB (so make sure you have a terminal open or serial).
+# Oh, and GDB installed of course ;)
+gdb --args ./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
+
+# Sync the SD card to check that everything is written.
+sync
+
+# Return to the GPH menu screen
+cd /usr/gp2x
+exec /usr/gp2x/gp2xmenu
diff --git a/dists/gph/caanoo/scummvm.gpe b/dists/gph/caanoo/scummvm.gpe
new file mode 100644
index 0000000..37d0f65
--- /dev/null
+++ b/dists/gph/caanoo/scummvm.gpe
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Export the location of any libs ScummVM depends on
+# (to avoid installing to the NAND and overwriting the broken ones there).
+export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
+
+# Run ScummVM, important this bit.
+./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
+
+# Sync the SD card to check that everything is written.
+sync
+
+# Return to the GPH menu screen
+cd /usr/gp2x
+exec /usr/gp2x/gp2xmenu
diff --git a/dists/gph/gp2x/mmuhack/Makefile b/dists/gph/gp2x/mmuhack/Makefile
new file mode 100644
index 0000000..a35d5c2
--- /dev/null
+++ b/dists/gph/gp2x/mmuhack/Makefile
@@ -0,0 +1,11 @@
+TARGET = mmuhack
+INCLUDE = -I/opt/gcc-3.4.4-glibc-2.3.6/arm-open2x-linux/sys-include
+CFLAGS = -O2 -DMODULE -D__KERNEL__ ${INCLUDE}
+CC = arm-open2x-linux-gcc
+
+all: ${TARGET}.o
+
+${TARGET}.o: ${TARGET}.c
+
+clean:
+ rm -rf ${TARGET}.o
diff --git a/dists/gph/gp2x/mmuhack/README b/dists/gph/gp2x/mmuhack/README
new file mode 100644
index 0000000..6db7d81
--- /dev/null
+++ b/dists/gph/gp2x/mmuhack/README
@@ -0,0 +1,116 @@
+PLEASE NOTE:
+
+The binary object 'mmuhack.o' is stored in the source tree as it is very awkward to
+build it manually each time and would require the use of 2 toolchains to do so.
+
+Notes on how to rebuild from the included source can be found below.
+
+About
+-----
+
+This is a module for GP2X 2.4 based Linux kernel, created for developers to use in their
+programs.
+
+Normally the upper 32MB is uncached. This means that reads/writes on the memory
+are always done via the physical memory modules rather than the much faster
+memory built into the processor (called 'cache'). Access to the upper 32MB can
+be sped up by Squidge's MMU hack. The easiest way to use the MMU hack is to add
+and load the MMU hack kernel module into your program.
+
+Note: Building this module requries a GP2X 'kernel' toolchain (i.e. GCC 2.95.*
+for the GP2X stock, 3.* for Open2X).
+
+You can't build this module with the GCC 4 based application toolchains.
+
+Operation
+---------
+
+When loaded into kernel, this module creates /dev/mmuhack device. Whenever
+a program opens that device using open() call, the module traverses all
+memory, which was allocated in 0x02000000-0x03ffffff range by the program via
+using mmap() system call. While doing that, it marks all encountered memory
+as bufferable and cacheable.
+
+The most common use of this is to remove the framebuffer access bottleneck.
+Note that, however, by making the framebuffer cacheable you can cause display
+artifacts. This can happen because parts of your framebuffer may stay in CPU
+cache and not to be written back to the physical memory. The display
+controller only fetches data from the physical memory, so you get incomplete
+image (the memory will most likely contain data from previous frame, so these
+artifacts are better visible during fade effects). The easy way to fix this
+is by using a special ARM Linux system call, which flushes the cache (forces
+the CPU to write data in cache to the physical memory (see section "Flushing
+the cache")).
+
+Using this module affects the whole upper memory area. But in some situations
+this may be not desirable, for example when using ARM940 core in your program
+(ether using 940 libraries like ogg940 and gpu940, or using your custom code,
+which needs uncacheable memory for communication and such). If you need part
+of your upper memory to be cached, and other part not, you should mmap() that
+memory (which you want to be uncached) _after_ doing open("/dev/mmuhack").
+Another way is to modify mmuhack.c to suit your needs and rebuild the module.
+
+
+Usage
+-----
+
+The very first thing to do is to load the kernel module (mmuhack.o) into the
+running kernel. But before that you should try to unload mmuhack module,
+because other program might have left a different version loaded with
+different memory configuration, which may not suit your program.
+
+system("/sbin/rmmod mmuhack");
+system("/sbin/insmod mmuhack.o");
+
+Now you can assume the module is loaded into kernel and open /dev/mmuhack
+device. You don't need to worry about previous calls failing, because in that
+case open() will simply fail and nothing bad will happen.
+
+IMPORTANT: you _must_ do the open() call _after_ you initialize your graphics
+library or allocate your memory, because it can only work with memory which is
+already allocated, it won't affect memory you or your lib allocates after the
+open() call.
+
+int mmufd = open("/dev/mmuhack", O_RDWR);
+if(mmufd < 0)
+{
+ printf("MMU hack failed");
+}
+else
+{
+ printf("MMU hack loaded");
+ close(mmufd);
+}
+
+If the above call succeeded, you are all done.
+I recommend to unload the module when your program exits, because the other
+program may want to load a different mmuhack.o and may fail, because you left
+your mmuhack.o loaded (it does not get unloaded automatically on exit).
+
+system("/sbin/rmmod mmuhack");
+
+
+Flushing the cache
+------------------
+
+If using mmuhack.o causes your program to display artifacts (see "Operation"
+section for explanation), you will need to flush the CPU cache. This should
+be done after finishing every frame and just before flipping your display
+buffer/surface. You will need to add flush_uppermem_cache.s file to your
+Makefile/project and add a call to flush_uppermem_cache() just before final
+framebuffer flip or blit.
+
+flush_uppermem_cache() has 3 parameters. First param is the start address,
+second param is the end address, third one should always be 0. The addresses
+should be virtual ones (most often pointers to the start/end of your
+framebuffer). Example:
+
+flush_uppermem_cache(screen_surface->pixels, screen_surface->pixels + 320*240, 0);
+
+
+Credits
+-------
+
+Original idea/implementation: Squidge (this whole thing is also known as squidgehack)
+Kernel module: NK
+Documentation: notaz
diff --git a/dists/gph/gp2x/mmuhack/flush_uppermem_cache.h b/dists/gph/gp2x/mmuhack/flush_uppermem_cache.h
new file mode 100644
index 0000000..d01548e
--- /dev/null
+++ b/dists/gph/gp2x/mmuhack/flush_uppermem_cache.h
@@ -0,0 +1,10 @@
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+void flush_uppermem_cache(void *start_address, void *end_address, int flags);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/dists/gph/gp2x/mmuhack/flush_uppermem_cache.s b/dists/gph/gp2x/mmuhack/flush_uppermem_cache.s
new file mode 100644
index 0000000..265908e
--- /dev/null
+++ b/dists/gph/gp2x/mmuhack/flush_uppermem_cache.s
@@ -0,0 +1,5 @@
+.global flush_uppermem_cache @ void *start_address, void *end_address, int flags
+
+flush_uppermem_cache:
+ swi #0x9f0002
+ bx lr
diff --git a/dists/gph/gp2x/mmuhack/mmuhack.c b/dists/gph/gp2x/mmuhack/mmuhack.c
new file mode 100644
index 0000000..2e38bdb
--- /dev/null
+++ b/dists/gph/gp2x/mmuhack/mmuhack.c
@@ -0,0 +1,126 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include <linux/config.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/miscdevice.h>
+#include <asm/memory.h>
+
+#define MMUHACK_MINOR 225
+#define DEVICE_NAME "mmuhack"
+
+#if __GNUC__ == 3
+#include <linux/version.h>
+static const char __module_kernel_version_gcc3[] __attribute__((__used__)) __attribute__((section(".modinfo"))) =
+"kernel_version=" UTS_RELEASE;
+#endif
+
+static ssize_t mmuhack_open(struct inode *inode, struct file *filp)
+{
+ unsigned int *pgtable;
+ unsigned int *cpt;
+ int i, j;
+ int ttb;
+ int ret = -EFAULT;
+
+ // get the pointer to the translation table base...
+ asm volatile(
+ "stmdb sp!, {r0}\n\t"
+ "mrc p15, 0, r0, c2, c0, 0\n\t"
+ "mov %0, r0\n\t"
+ "ldmia sp!, {r0}\n\t": "=r"(ttb)
+ );
+
+ pgtable = __va(ttb);
+
+ for (i = 0; i < 4096; i ++) if ( (pgtable[i] & 3) == 1 ) {
+ cpt = __va(pgtable[i] & 0xfffffc00);
+
+ for (j = 0; j < 256; j ++) {/*
+ if ( (cpt[j] & 0xfe00000f) == 0x02000002 ) {
+ // set C and B bits in upper 32MB memory area...
+ printk("Set C&B bits %08x\n",cpt[j]);
+ cpt[j] |= 0xFFC;
+ ret = 0;
+ }
+ */
+ if (((cpt[j] & 0xff000000) == 0x02000000) && ((cpt[j] & 12)==0) )
+ {
+ //printk("Set C&B bits %08x\n",cpt[j]);
+ cpt[j] |= 0xFFC;
+ }
+ //if ((a>=0x31 && a<=0x36) && ((cpt[i] & 12)==0))
+ if (((cpt[j] & 0xff000000) == 0x03000000) && ((cpt[j] & 12)==0))
+ {
+ //printk("Set C&B bits %08x\n",cpt[j]);
+ //printf("SDL c and b bits not set, overwriting\n");
+ cpt[j] |= 0xFFC;
+ }
+ }
+ }
+
+ // drain the write buffer and flush the tlb caches...
+ asm volatile(
+ "stmdb sp!, {r0}\n\t"
+ "mov r0, #0\n\t"
+ "mcr 15, 0, r0, cr7, cr10, 4\n\t"
+ "mcr 15, 0, r0, cr8, cr7, 0\n\t"
+ "ldmia sp!, {r0}\n\t"
+ );
+
+ if (ret == 0)
+ printk("MMU hack applied.\n");
+
+ return 0;
+}
+
+static struct file_operations mmuhack_fops = {
+ owner: THIS_MODULE,
+ open: mmuhack_open,
+};
+
+
+static struct miscdevice mmuhack = {
+ MMUHACK_MINOR, DEVICE_NAME, &mmuhack_fops
+};
+
+static int __init mmuhack_init(void)
+{
+ misc_register(&mmuhack);
+/*
+ printk("MMSP2 MMU Hack module.\n");
+*/
+ return 0;
+}
+
+static void __exit mmuhack_exit(void)
+{
+ misc_deregister(&mmuhack);
+/*
+ printk(KERN_ALERT "MMU Hack module removed.\n");
+*/
+}
+
+module_init(mmuhack_init);
+module_exit(mmuhack_exit);
diff --git a/dists/gph/gp2x/mmuhack/mmuhack.o b/dists/gph/gp2x/mmuhack/mmuhack.o
new file mode 100644
index 0000000..475f4a5
Binary files /dev/null and b/dists/gph/gp2x/mmuhack/mmuhack.o differ
diff --git a/dists/gph/gp2x/scummvm.gpe b/dists/gph/gp2x/scummvm.gpe
new file mode 100644
index 0000000..51a49f7
--- /dev/null
+++ b/dists/gph/gp2x/scummvm.gpe
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Remount SD with forced Sync, does this really work?
+mount -o sync,remount /dev/mmcsd/disc0/part1 /mnt/sd/
+
+# Export the location of any libs ScummVM depends on
+# (to avoid installing to the NAND and overwriting the broken ones there).
+export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
+
+# Run ScummVM, important this bit.
+./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
+
+# Sync the SD card to check that everything is written.
+sync
+
+# Return to the GPH menu screen
+cd /usr/gp2x
+exec /usr/gp2x/gp2xmenu
diff --git a/dists/gph/gp2xwiz/scummvm-gdb.gpe b/dists/gph/gp2xwiz/scummvm-gdb.gpe
new file mode 100644
index 0000000..63ce193
--- /dev/null
+++ b/dists/gph/gp2xwiz/scummvm-gdb.gpe
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# Export the location of any libs ScummVM depends on
+# (to avoid installing to the NAND and overwriting the broken ones there).
+export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
+
+# Run ScummVM via GDB (so make sure you have a terminal open or serial).
+# Oh, and GDB installed of course ;)
+gdb --args ./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
+
+# Sync the SD card to check that everything is written.
+sync
+
+# Return to the GPH menu screen
+cd /usr/gp2x
+exec /usr/gp2x/gp2xmenu
diff --git a/dists/gph/gp2xwiz/scummvm.gpe b/dists/gph/gp2xwiz/scummvm.gpe
new file mode 100644
index 0000000..59ff562
--- /dev/null
+++ b/dists/gph/gp2xwiz/scummvm.gpe
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Export the location of any libs ScummVM depends on
+# (to avoid installing to the NAND and overwriting the broken ones there).
+export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
+
+# Run ScummVM, important this bit.
+./scummvm.gph --fullscreen --gfx-mode=1x --config=$(pwd)/.scummvmrc
+
+# Sync the SD card to check that everything is written.
+sync
+
+# Return to the GPH menu screen
+cd /usr/gp2x
+exec /usr/gp2x/gp2xmenu
diff --git a/dists/gph/scummvm.ini b/dists/gph/scummvm.ini
new file mode 100644
index 0000000..952cd0d
--- /dev/null
+++ b/dists/gph/scummvm.ini
@@ -0,0 +1,5 @@
+[info]
+name="ScummVM 1.5.0git"
+path="/scummvm/scummvm.gpe"
+icon="/scummvm/scummvm.png"
+title="/scummvm/scummvmb.png"
diff --git a/dists/gph/scummvm.ini.in b/dists/gph/scummvm.ini.in
new file mode 100644
index 0000000..1c80d97
--- /dev/null
+++ b/dists/gph/scummvm.ini.in
@@ -0,0 +1,5 @@
+[info]
+name="ScummVM @VERSION@"
+path="/scummvm/scummvm.gpe"
+icon="/scummvm/scummvm.png"
+title="/scummvm/scummvmb.png"
diff --git a/dists/gph/scummvm.png b/dists/gph/scummvm.png
new file mode 100644
index 0000000..128e59e
Binary files /dev/null and b/dists/gph/scummvm.png differ
diff --git a/dists/gph/scummvmb.png b/dists/gph/scummvmb.png
new file mode 100644
index 0000000..24a27bc
Binary files /dev/null and b/dists/gph/scummvmb.png differ
Commit: a8e9946a2b53ef6d534989fde400b695c69440ac
https://github.com/scummvm/scummvm/commit/a8e9946a2b53ef6d534989fde400b695c69440ac
Author: David-John Willis (John.Willis at Distant-earth.com)
Date: 2012-01-22T08:53:32-08:00
Commit Message:
DEVTOOLS: Add files in OpenPandora and GPH backends that need version number updating.
Changed paths:
devtools/update-version.pl
diff --git a/devtools/update-version.pl b/devtools/update-version.pl
index 169fba7..b313846 100755
--- a/devtools/update-version.pl
+++ b/devtools/update-version.pl
@@ -43,6 +43,12 @@ my @subs_files = qw(
dists/wii/meta.xml
dists/android/AndroidManifest.xml
dists/android/plugin-manifest.xml
+ dists/openpandora/PXML.xml
+ dists/openpandora/README-OPENPANDORA
+ dists/openpandora/README-PND.txt
+ dists/openpandora/index.html
+ dists/gph/README-GPH
+ dists/gph/scummvm.ini
backends/platform/psp/README.PSP
);
More information about the Scummvm-git-logs
mailing list