u7/pandora release
This commit is contained in:
parent
931b76c04b
commit
ffc30d2567
2
gui.c
2
gui.c
|
@ -42,7 +42,7 @@
|
||||||
|
|
||||||
#define FILE_LIST_ROWS 25
|
#define FILE_LIST_ROWS 25
|
||||||
#define FILE_LIST_POSITION 5
|
#define FILE_LIST_POSITION 5
|
||||||
#define DIR_LIST_POSITION 360
|
#define DIR_LIST_POSITION (resolution_width * 3 / 4)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
7
main.c
7
main.c
|
@ -133,7 +133,7 @@ void trigger_ext_event();
|
||||||
|
|
||||||
static const char *file_ext[] = { ".gba", ".bin", ".zip", NULL };
|
static const char *file_ext[] = { ".gba", ".bin", ".zip", NULL };
|
||||||
|
|
||||||
#ifdef PSP_BUILD
|
#ifndef PSP_BUILD
|
||||||
static void ChangeWorkingDirectory(char *exe)
|
static void ChangeWorkingDirectory(char *exe)
|
||||||
{
|
{
|
||||||
#ifndef _WIN32_WCE
|
#ifndef _WIN32_WCE
|
||||||
|
@ -170,7 +170,6 @@ static void switch_to_romdir(void)
|
||||||
static void save_romdir(void)
|
static void save_romdir(void)
|
||||||
{
|
{
|
||||||
char buff[512];
|
char buff[512];
|
||||||
int r = -1;
|
|
||||||
|
|
||||||
snprintf(buff, sizeof(buff), "%s" PATH_SEPARATOR "romdir.txt", main_path);
|
snprintf(buff, sizeof(buff), "%s" PATH_SEPARATOR "romdir.txt", main_path);
|
||||||
file_open(romdir_file, buff, write);
|
file_open(romdir_file, buff, write);
|
||||||
|
@ -270,7 +269,7 @@ int main(int argc, char *argv[])
|
||||||
debug_screen_printl(" ");
|
debug_screen_printl(" ");
|
||||||
debug_screen_printl("When you do get it name it gba_bios.bin and put it");
|
debug_screen_printl("When you do get it name it gba_bios.bin and put it");
|
||||||
#ifdef PND_BUILD
|
#ifdef PND_BUILD
|
||||||
debug_screen_printl("in <CD card>/pandora/appdata/gpsp/ . ");
|
debug_screen_printl("in <SD card>/pandora/appdata/gpsp/ . ");
|
||||||
#else
|
#else
|
||||||
debug_screen_printl("in the same directory as gpSP. ");
|
debug_screen_printl("in the same directory as gpSP. ");
|
||||||
#endif
|
#endif
|
||||||
|
@ -323,7 +322,6 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
if(argc > 1)
|
if(argc > 1)
|
||||||
{
|
{
|
||||||
switch_to_romdir();
|
|
||||||
if(load_gamepak(argv[1]) == -1)
|
if(load_gamepak(argv[1]) == -1)
|
||||||
{
|
{
|
||||||
#ifndef PSP_BUILD
|
#ifndef PSP_BUILD
|
||||||
|
@ -341,6 +339,7 @@ int main(int argc, char *argv[])
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char load_filename[512];
|
char load_filename[512];
|
||||||
|
switch_to_romdir();
|
||||||
if(load_file(file_ext, load_filename) == -1)
|
if(load_file(file_ext, load_filename) == -1)
|
||||||
{
|
{
|
||||||
menu(copy_screen());
|
menu(copy_screen());
|
||||||
|
|
|
@ -26,7 +26,7 @@ LIBS += -ldl -lpthread -lz
|
||||||
|
|
||||||
# Compilation:
|
# Compilation:
|
||||||
|
|
||||||
all: $(BIN)
|
all: $(BIN) picorestore
|
||||||
|
|
||||||
%.o: %.S
|
%.o: %.S
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
@ -37,5 +37,14 @@ $(BIN): $(OBJS)
|
||||||
$(CC) $(OBJS) $(LIBS) -o $(BIN)
|
$(CC) $(OBJS) $(LIBS) -o $(BIN)
|
||||||
|
|
||||||
clean:
|
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
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
|
@ -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>
|
|
@ -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
|
|
@ -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;
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue