u7/pandora release

This commit is contained in:
notaz 2011-09-08 02:43:35 +03:00
parent 931b76c04b
commit ffc30d2567
9 changed files with 1395 additions and 7 deletions

2
gui.c
View File

@ -42,7 +42,7 @@
#define FILE_LIST_ROWS 25
#define FILE_LIST_POSITION 5
#define DIR_LIST_POSITION 360
#define DIR_LIST_POSITION (resolution_width * 3 / 4)
#endif

7
main.c
View File

@ -133,7 +133,7 @@ void trigger_ext_event();
static const char *file_ext[] = { ".gba", ".bin", ".zip", NULL };
#ifdef PSP_BUILD
#ifndef PSP_BUILD
static void ChangeWorkingDirectory(char *exe)
{
#ifndef _WIN32_WCE
@ -170,7 +170,6 @@ static void switch_to_romdir(void)
static void save_romdir(void)
{
char buff[512];
int r = -1;
snprintf(buff, sizeof(buff), "%s" PATH_SEPARATOR "romdir.txt", main_path);
file_open(romdir_file, buff, write);
@ -270,7 +269,7 @@ int main(int argc, char *argv[])
debug_screen_printl(" ");
debug_screen_printl("When you do get it name it gba_bios.bin and put it");
#ifdef PND_BUILD
debug_screen_printl("in <CD card>/pandora/appdata/gpsp/ . ");
debug_screen_printl("in <SD card>/pandora/appdata/gpsp/ . ");
#else
debug_screen_printl("in the same directory as gpSP. ");
#endif
@ -323,7 +322,6 @@ int main(int argc, char *argv[])
if(argc > 1)
{
switch_to_romdir();
if(load_gamepak(argv[1]) == -1)
{
#ifndef PSP_BUILD
@ -341,6 +339,7 @@ int main(int argc, char *argv[])
else
{
char load_filename[512];
switch_to_romdir();
if(load_file(file_ext, load_filename) == -1)
{
menu(copy_screen());

View File

@ -26,7 +26,7 @@ LIBS += -ldl -lpthread -lz
# Compilation:
all: $(BIN)
all: $(BIN) picorestore
%.o: %.S
$(CC) $(CFLAGS) -c -o $@ $<
@ -37,5 +37,14 @@ $(BIN): $(OBJS)
$(CC) $(OBJS) $(LIBS) -o $(BIN)
clean:
rm -f *.o $(BIN)
rm -f *.o $(BIN) picorestore
# ----------- release -----------
PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh
rel: gpsp gpsp.sh gpsp.pxml gba_icon.png picorestore readme.txt ../game_config.txt ../COPYING.DOC
rm -rf out
mkdir out
cp $^ out/
$(PND_MAKE) -p gpsp.pnd -d out -x out/gpsp.pxml -i out/gba_icon.png -c

BIN
pandora/gba_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

40
pandora/gpsp.pxml Normal file
View File

@ -0,0 +1,40 @@
<?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">
<package id="package.gpsp.notaz">
<titles>
<title lang="en_US">gpSP</title>
</titles>
<version major="0" minor="9" release="2" build="7"/>
<author name="Exophase/notaz" website="http://notaz.gp2x.de/"/>
</package>
<application id="gpsp.notaz" appdata="gpsp">
<titles>
<title lang="en_US">gpSP</title>
</titles>
<title lang="en_US">gpSP</title>
<descriptions>
<description lang="en_US">An optimized GBA emulator.</description>
</descriptions>
<exec command="gpsp.sh"/>
<icon src="gba_icon.png"/>
<author name="Exophase/notaz" website="http://notaz.gp2x.de/"/>
<version major="0" minor="9" release="2" build="7"/>
<licenses>
<license name="GPLv2+" url="http://www.gnu.org/licenses/gpl-2.0.html" sourcecodeurl="http://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=gpsp.git"/>
</licenses>
<info name="gpSP u7 readme" type="text/plain" src="readme.txt"/>
<categories>
<category name="Game">
<subcategory name="Emulator"/>
</category>
</categories>
</application>
</PXML>

11
pandora/gpsp.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
if [ ! -f romdir.txt ]; then
echo -n "/media/" > romdir.txt
fi
sudo -n /usr/pandora/scripts/op_lcdrate.sh 60
./gpsp "$@"
# restore stuff in case of crash
./picorestore

109
pandora/picorestore.c Normal file
View File

@ -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;
}

1218
pandora/readme.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -49,6 +49,8 @@ void debug_screen_update();
extern u32 frame_speed;
extern u32 resolution_width, resolution_height;
extern s32 affine_reference_x[2];
extern s32 affine_reference_y[2];