From 303ee308587f4d2d24047ed5c43de999777cd275 Mon Sep 17 00:00:00 2001 From: notaz Date: Sat, 25 Dec 2010 21:53:50 +0200 Subject: [PATCH] add .pnd stuff --- Makefile | 12 +++++ pandora/pcsx.png | Bin 0 -> 7981 bytes pandora/pcsx.pxml | 23 +++++++++ pandora/pcsx.sh | 6 +++ pandora/picorestore.c | 109 ++++++++++++++++++++++++++++++++++++++++++ pandora/readme.txt | 49 +++++++++++++++++++ 6 files changed, 199 insertions(+) create mode 100644 pandora/pcsx.png create mode 100644 pandora/pcsx.pxml create mode 100755 pandora/pcsx.sh create mode 100644 pandora/picorestore.c create mode 100644 pandora/readme.txt diff --git a/Makefile b/Makefile index 30627530..f195b9b6 100644 --- 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 index 0000000000000000000000000000000000000000..71f36d0e8d0e841aca41d387d6a9cb28eb4319e2 GIT binary patch literal 7981 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 literal 0 HcmV?d00001 diff --git a/pandora/pcsx.pxml b/pandora/pcsx.pxml new file mode 100644 index 00000000..3ffe8b0b --- /dev/null +++ b/pandora/pcsx.pxml @@ -0,0 +1,23 @@ + + + + PCSX ReARMed + + PlayStation 1 Emulator. + + + + + + + + + + + + + + + + + diff --git a/pandora/pcsx.sh b/pandora/pcsx.sh new file mode 100755 index 00000000..a4017141 --- /dev/null +++ b/pandora/pcsx.sh @@ -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 index 00000000..77f57202 --- /dev/null +++ b/pandora/picorestore.c @@ -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 +#include +#include +#include +#include +#include +#include +#include +#include + +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 index 00000000..36c55d95 --- /dev/null +++ b/pandora/readme.txt @@ -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 + -- 2.39.2