partially revived platform support for PSP (unfinished), part 3
authorkub <derkub@gmail.com>
Thu, 14 Jan 2021 22:38:22 +0000 (23:38 +0100)
committerkub <derkub@gmail.com>
Fri, 15 Jan 2021 18:56:11 +0000 (19:56 +0100)
changes to libpicofe, fixed path handling

.gitmodules
platform/libpicofe
platform/psp/emu.c
platform/psp/menu.c
platform/psp/plat.c
platform/psp/psp.c

index 6d6f919..fc41256 100644 (file)
@@ -1,6 +1,6 @@
 [submodule "platform/libpicofe"]
        path = platform/libpicofe
-       url = https://github.com/notaz/libpicofe.git
+       url = https://github.com/irixxxx/libpicofe.git
 [submodule "cpu/cyclone"]
        path = cpu/cyclone
        url = https://github.com/notaz/cyclone68000.git
index e0bf794..26632f9 160000 (submodule)
@@ -1 +1 @@
-Subproject commit e0bf794693c1c2384ef704e687df448168cd5170
+Subproject commit 26632f960f881fa64f3f6805f588c729dc3d651d
index 6754681..69a3306 100644 (file)
@@ -609,6 +609,7 @@ void plat_init(void)
        in_psp_init(in_psp_defbinds);
        in_probe();
        sound_init();
+       plat_get_data_dir(rom_fname_loaded, sizeof(rom_fname_loaded));
 }
 
 /* platform dependend emulator deinitialization */
index fb39295..84e92c8 100644 (file)
@@ -36,7 +36,7 @@ static int mh_scale(int id, int keys)
        }
        if (keys & PBTN_LEFT)   *val += -0.01;
        if (keys & PBTN_RIGHT)  *val += +0.01;
-       if (*val <= 0)          *val  = +0.01;
+       if (*val < 0.01)        *val  = +0.01;
        return 0;
 }
 
index 9049e6a..37fe868 100644 (file)
@@ -110,17 +110,28 @@ void plat_early_init(void)
 /* base directory for configuration and save files */
 int plat_get_root_dir(char *dst, int len)
 {
-       *dst = 0;
-       if (len > 4)
-               strcpy(dst, "ms0:/");
+       if (len > 0) *dst = 0;
        return 0;
 }
 
 /* base directory for emulator resources */
 int plat_get_skin_dir(char *dst, int len)
 {
-       if (len > 0) *dst = 0;
-       return 0;
+       if (len > 4)
+               strcpy(dst, "skin/");
+       else if (len > 0)
+               *dst = 0;
+       return strlen(dst);
+}
+
+/* top directory for rom images */
+int plat_get_data_dir(char *dst, int len)
+{
+       if (len > 4)
+               strcpy(dst, "ms0:/");
+       else if (len > 0)
+               *dst = 0;
+       return strlen(dst);
 }
 
 /* check if path is a directory */
index 3273ad3..cc56827 100644 (file)
@@ -135,7 +135,7 @@ void psp_init(void)
        lprintf("\n%s\n", "PicoDrive v" VERSION " " __DATE__ " " __TIME__);
        lprintf("running on %08x kernel\n", sceKernelDevkitVersion()),
        lprintf("entered psp_init, threadId %08x, priority %i\n", main_thread_id,
-       sceKernelGetThreadCurrentPriority());
+               sceKernelGetThreadCurrentPriority());
 
        thid = sceKernelCreateThread("update_thread", callback_thread, 0x11, 0xFA0, 0, NULL);
        if (thid >= 0)