enable Wall warnings by default
[pcsx_rearmed.git] / maemo / main.c
index 267fb55..f797c12 100644 (file)
@@ -7,17 +7,13 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <stdarg.h>
-#include <dlfcn.h>
-#include <sys/stat.h>
-#include <sys/types.h>
+#include <stdint.h>
 #include <unistd.h>
-#include <signal.h>
 
 #include "main.h"
 #include "plugin.h"
 #include "../libpcsxcore/misc.h"
-#include "../plugins/cdrcimg/cdrcimg.h"
+#include "../libpcsxcore/new_dynarec/new_dynarec.h"
 
 // from softgpu plugin
 extern int iUseDither;
@@ -34,11 +30,14 @@ extern int iXAPitch;
 extern int iSPUIRQWait;
 extern int iUseTimer;
 
+enum sched_action emu_action;
+void do_emu_action(void);
+
 static void ChangeWorkingDirectory(char *exe)
 {
-       s8 exepath[1024];
-       s8* s;
-       sprintf(exepath, "%s", exe);
+       char exepath[1024];
+       char *s;
+       snprintf(exepath, sizeof(exepath), "%s", exe);
        s = strrchr(exepath, '/');
        if (s != NULL) {
                *s = '\0';
@@ -53,7 +52,6 @@ int maemo_main(int argc, char **argv)
        char path[MAXPATHLEN];
        const char *cdfile = NULL;
        int loadst = 0;
-       void *tmp;
        int i;
 
        strcpy(Config.BiosDir, "/home/user/MyDocs");
@@ -175,11 +173,8 @@ int maemo_main(int argc, char **argv)
 
        // If a state has been specified, then load that
        if (loadst) {
-               char state_filename[MAXPATHLEN];
-               int ret = get_state_filename(state_filename, sizeof(state_filename), loadst - 1);
-               if (ret == 0)
-                       ret = LoadState(state_filename);
-               printf("%s state %s\n", ret ? "failed to load" : "loaded", state_filename);
+               int ret = emu_load_state(loadst - 1);
+               printf("%s state %d\n", ret ? "failed to load" : "loaded", loadst);
        }
 
        if (ready_to_go)
@@ -190,7 +185,15 @@ int maemo_main(int argc, char **argv)
                return 0;
        }
 
-       psxCpu->Execute();
+       while (1)
+       {
+               stop = 0;
+               emu_action = SACTION_NONE;
+
+               psxCpu->Execute();
+               if (emu_action != SACTION_NONE)
+                       do_emu_action();
+       }
 
        return 0;
 }