diff options
Diffstat (limited to 'maemo')
-rw-r--r-- | maemo/hildon.c | 58 | ||||
-rw-r--r-- | maemo/main.c | 47 |
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; |