aboutsummaryrefslogtreecommitdiff
path: root/maemo
diff options
context:
space:
mode:
Diffstat (limited to 'maemo')
-rw-r--r--maemo/hildon.c58
-rw-r--r--maemo/main.c47
2 files changed, 38 insertions, 67 deletions
diff --git a/maemo/hildon.c b/maemo/hildon.c
index 6c59b6f..ba035d1 100644
--- a/maemo/hildon.c
+++ b/maemo/hildon.c
@@ -13,14 +13,14 @@
#define D_WIDTH 640
#define D_HEIGHT 480
+int g_layer_x = (X_RES - D_WIDTH) / 2;
+int g_layer_y = (Y_RES - D_HEIGHT) / 2;
+int g_layer_w = D_WIDTH, g_layer_h = D_HEIGHT;
+
static GdkImage *image;
static HildonAnimationActor *actor;
static GtkWidget *window, *drawing;
-void *pl_fbdev_buf;
-int in_type1 = PSE_PAD_TYPE_STANDARD, in_type2 = PSE_PAD_TYPE_STANDARD;
-int in_keystate, in_a1[2], in_a2[2];
-
static int keymap[65536];
// map psx4m compatible keymap to PSX keys
@@ -157,15 +157,15 @@ void menu_loop(void)
{
}
-void *pl_fbdev_set_mode(int w, int h, int bpp)
+void *hildon_set_mode(int w, int h)
{
if (w <= 0 || h <= 0)
- return pl_fbdev_buf;
+ return pl_vout_buf;
if (image) gdk_image_destroy(image);
image = gdk_image_new( GDK_IMAGE_FASTEST, gdk_visual_get_system(), w, h );
- pl_fbdev_buf = (void *) image->mem;
+ pl_vout_buf = (void *) image->mem;
gtk_image_set_from_image (GTK_IMAGE(drawing), image, NULL);
@@ -175,60 +175,26 @@ void *pl_fbdev_set_mode(int w, int h, int bpp)
(gdouble)D_HEIGHT / (gdouble)h
);
- return pl_fbdev_buf;
+ return pl_vout_buf;
}
-void *pl_fbdev_flip(void)
+void *hildon_flip(void)
{
gtk_widget_queue_draw (drawing);
- return pl_fbdev_buf;
-}
-
-void pl_frame_limit(void)
-{
- extern void CheckFrameRate(void);
- //CheckFrameRate();
/* process GTK+ events */
while (gtk_events_pending())
gtk_main_iteration();
-}
-void pl_fbdev_close(void)
-{
+ return pl_vout_buf;
}
-int pl_fbdev_open(void)
+int omap_enable_layer(int enabled)
{
return 0;
}
-static void pl_get_layer_pos(int *x, int *y, int *w, int *h)
-{
- *x = 0;
- *y = 0;
- *w = 800;
- *h = 640;
-}
-
-void *pl_prepare_screenshot(int *w, int *h, int *bpp)
-{
- return NULL;
-}
-
-int writepng()
+void menu_notify_mode_change(int w, int h, int bpp)
{
- return -1;
}
-extern int UseFrameSkip; // hmh
-
-const struct rearmed_cbs pl_rearmed_cbs = {
- pl_get_layer_pos,
- pl_fbdev_open,
- pl_fbdev_set_mode,
- pl_fbdev_flip,
- pl_fbdev_close,
- &UseFrameSkip,
-};
-
diff --git a/maemo/main.c b/maemo/main.c
index f797c12..388e07c 100644
--- a/maemo/main.c
+++ b/maemo/main.c
@@ -11,25 +11,20 @@
#include <unistd.h>
#include "main.h"
+#include "menu.h"
#include "plugin.h"
+#include "plugin_lib.h"
#include "../libpcsxcore/misc.h"
#include "../libpcsxcore/new_dynarec/new_dynarec.h"
-// from softgpu plugin
-extern int iUseDither;
-extern int UseFrameSkip;
-extern int UseFrameLimit;
-extern uint32_t dwActFixes;
-extern float fFrameRateHz;
-extern int dwFrameRateTicks;
-
// sound plugin
extern int iUseReverb;
extern int iUseInterpolation;
-extern int iXAPitch;
extern int iSPUIRQWait;
extern int iUseTimer;
+int g_opts = OPT_SHOWFPS;
+
enum sched_action emu_action;
void do_emu_action(void);
@@ -80,25 +75,22 @@ int maemo_main(int argc, char **argv)
cdfile = isofilename;
}
- else if (!strcmp(argv[i],"-frameskip")){
-
- int tv_reg=atol(argv[++i]);
- if (tv_reg>0){
- UseFrameSkip=1;
- fFrameRateHz = (tv_reg==1)?50.0f: 59.94f;
- dwFrameRateTicks = (100000*100 / (unsigned long)(fFrameRateHz*100));
- }
+ else if (!strcmp(argv[i],"-frameskip")) {
+
+ int tv_reg = atol(argv[++i]);
+ if (tv_reg > 0)
+ pl_rearmed_cbs.frameskip = 1;
}
- else if (!strcmp(argv[i],"-sputhreaded")){
+ else if (!strcmp(argv[i],"-sputhreaded")) {
iUseTimer=1;
}
- else if (!strcmp(argv[i],"-nosound")){
- strcpy(Config.Spu, "spunull.so");
+ else if (!strcmp(argv[i],"-nosound")) {
+ strcpy(Config.Spu, "spunull.so");
}
else if(!strcmp(argv[i], "-bdir")) sprintf(Config.BiosDir, "%s", argv[++i]);
else if(!strcmp(argv[i], "-bios")) sprintf(Config.Bios, "%s", argv[++i]);
else if (!strcmp(argv[i],"-gles")){
- strcpy(Config.Gpu, "gpuGLES.so");
+ strcpy(Config.Gpu, "gpuGLES.so");
}
else if (!strcmp(argv[i], "-cdda")) Config.Cdda = 1;
else if (!strcmp(argv[i], "-xa")) Config.Xa = 1;
@@ -136,6 +128,15 @@ int maemo_main(int argc, char **argv)
}
}
+ pl_rearmed_cbs.gpu_peops.dwActFixes = 1<<7;
+ iUseReverb = 2;
+ iUseInterpolation = 1;
+ iSPUIRQWait = 1;
+ iUseTimer = 2;
+
+ in_type1 = PSE_PAD_TYPE_STANDARD;
+ in_type2 = PSE_PAD_TYPE_STANDARD;
+
hildon_init(&argc, &argv);
if (cdfile)
@@ -144,6 +145,8 @@ int maemo_main(int argc, char **argv)
if (SysInit() == -1)
return 1;
+ pl_init();
+
if (LoadPlugins() == -1) {
SysMessage("Failed loading plugins!");
return 1;
@@ -185,6 +188,8 @@ int maemo_main(int argc, char **argv)
return 0;
}
+ pl_timing_prepare(Config.PsxType);
+
while (1)
{
stop = 0;