add .pnd stuff r1
authornotaz <notasas@gmail.com>
Sat, 25 Dec 2010 19:53:50 +0000 (21:53 +0200)
committernotaz <notasas@gmail.com>
Sat, 25 Dec 2010 19:53:50 +0000 (21:53 +0200)
Makefile
pandora/pcsx.png [new file with mode: 0644]
pandora/pcsx.pxml [new file with mode: 0644]
pandora/pcsx.sh [new file with mode: 0755]
pandora/picorestore.c [new file with mode: 0644]
pandora/readme.txt [new file with mode: 0644]

index 3062753..f195b9b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -91,3 +91,15 @@ spunull.so: plugins/spunull/spunull.c
 clean:
        $(RM) $(TARGET) $(OBJS)
 
+# ----------- release -----------
+
+PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh
+
+VER ?= $(shell git describe --abbrev=0 master)
+
+rel: pcsx pandora/pcsx.sh pandora/pcsx.pxml pandora/pcsx.png \
+               pandora/picorestore pandora/readme.txt skin COPYING
+       rm -rf out
+       mkdir out
+       cp -r $^ out/
+       $(PND_MAKE) -p pcsx_rearmed_$(VER).pnd -d out -x pandora/pcsx.pxml -i pandora/pcsx.png -c
diff --git a/pandora/pcsx.png b/pandora/pcsx.png
new file mode 100644 (file)
index 0000000..71f36d0
Binary files /dev/null and b/pandora/pcsx.png differ
diff --git a/pandora/pcsx.pxml b/pandora/pcsx.pxml
new file mode 100644 (file)
index 0000000..3ffe8b0
--- /dev/null
@@ -0,0 +1,23 @@
+<?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">
+<application id="pcsx_rearmed">
+  <title lang="en_US">PCSX ReARMed</title>
+  <description lang="en_US">PlayStation 1 Emulator.</description>
+  <exec command="pcsx.sh"/>
+  <icon src="pcsx.png"/>
+  <author name="PCSX team/notaz" website="http://notaz.gp2x.de/"/>
+  <version major="1" minor="9" release="92" build="0"/>
+  <info name="PCSX ReARMed readme" type="text/plain" src="readme.txt"/>
+  <categories>
+    <category name="Game">
+    <subcategory name="Emulator"/>
+    </category>
+  </categories>
+</application>
+</PXML>
diff --git a/pandora/pcsx.sh b/pandora/pcsx.sh
new file mode 100755 (executable)
index 0000000..a401714
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+./pcsx "$@"
+
+# restore stuff if pcsx crashes
+./picorestore
diff --git a/pandora/picorestore.c b/pandora/picorestore.c
new file mode 100644 (file)
index 0000000..77f5720
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * picorestore - clean up after an omapfb program crash
+ *
+ * Copyright (c) GraÅžvydas "notaz" Ignotas, 2010
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of the organization nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <linux/fb.h>
+#include <linux/omapfb.h>
+#include <linux/kd.h>
+
+int main()
+{
+       struct fb_var_screeninfo fbvar;
+       struct omapfb_plane_info pi;
+       struct omapfb_mem_info mi;
+       int ret, fbdev, kbdfd;
+
+       fbdev = open("/dev/fb0", O_RDWR);
+       if (fbdev == -1) {
+               perror("open fb0");
+               goto end_fb0;
+       }
+
+       ret = ioctl(fbdev, FBIOGET_VSCREENINFO, &fbvar);
+       if (ret == -1) {
+               perror("FBIOGET_VSCREENINFO ioctl");
+               goto end_fb0;
+       }
+
+       if (fbvar.yoffset != 0) {
+               printf("fixing yoffset.. ");
+               fbvar.yoffset = 0;
+               ret = ioctl(fbdev, FBIOPAN_DISPLAY, &fbvar);
+               if (ret < 0)
+                       perror("ioctl FBIOPAN_DISPLAY");
+               else
+                       printf("ok\n");
+       }
+
+end_fb0:
+       if (fbdev >= 0)
+               close(fbdev);
+
+       fbdev = open("/dev/fb1", O_RDWR);
+       if (fbdev == -1) {
+               perror("open fb1");
+               goto end_fb1;
+       }
+
+       ret  = ioctl(fbdev, OMAPFB_QUERY_PLANE, &pi);
+       ret |= ioctl(fbdev, OMAPFB_QUERY_MEM, &mi);
+       if (ret != 0)
+               perror("QUERY_*");
+
+       pi.enabled = 0;
+       ret = ioctl(fbdev, OMAPFB_SETUP_PLANE, &pi);
+       if (ret != 0)
+               perror("SETUP_PLANE");
+
+       mi.size = 0;
+       ret = ioctl(fbdev, OMAPFB_SETUP_MEM, &mi);
+       if (ret != 0)
+               perror("SETUP_MEM");
+
+end_fb1:
+       if (fbdev >= 0)
+               close(fbdev);
+
+       kbdfd = open("/dev/tty", O_RDWR);
+       if (kbdfd == -1) {
+               perror("open /dev/tty");
+               return 1;
+       }
+
+       if (ioctl(kbdfd, KDSETMODE, KD_TEXT) == -1)
+               perror("KDSETMODE KD_TEXT");
+
+       close(kbdfd);
+
+       return 0;
+}
diff --git a/pandora/readme.txt b/pandora/readme.txt
new file mode 100644 (file)
index 0000000..36c55d9
--- /dev/null
@@ -0,0 +1,49 @@
+
+PCSX-ReARMed - yet another PCSX fork
+
+
+About
+-----
+
+PCSX ReARMed is yet another PCSX fork based on the PCSX-Reloaded project,
+which itself contains code from PCSX, PCSX-df and PCSX-Revolution. This
+version is ARM architecture oriented and features MIPS->ARM recompiler by
+Ari64. It was created for Pandora handheld, but should be usable on other
+devices after some code adjustments.
+
+It does not, however, have anything in common with similar psx4all and
+pcsx4all projects, except that all of these are PCSX ports.
+
+
+Usage
+-----
+
+This version features a framebuffer driven menu that can be used to run
+games and configure the emulator.
+
+Supportd CD image formats:
+- .cue/.bin
+- .toc/.bin
+- .img
+- .mds
+- .Z/.Z.table
+
+CDDA (CD audio) support requires .cue/.bin format.
+
+
+Credits / License
+-----------------
+
+(C) 1999-2003 PCSX Team
+(C) 2005-2009 PCSX-df Team
+(C) 2009-2010 PCSX-Reloaded Team
+GPU and SPU code by Pete Bernert and the P.E.Op.S. team
+ARM recompiler (C) 2009-2010 Ari64
+integration, optimization and frontend (C) 2010 notaz
+
+Source code is released under GNU GPL license, version 2 or later.
+See COPYING included in the archive (.pnd can be extracted using unsquashfs).
+The source code is available in a GIT repository at:
+
+git://notaz.gp2x.de/~notaz/pcsx_rearmed.git
+