From: kub Date: Thu, 14 Jan 2021 22:38:22 +0000 (+0100) Subject: partially revived platform support for PSP (unfinished), part 3 X-Git-Tag: v2.00~617 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80bc22540af367c1dd1823c15da3ad6859e91676;p=picodrive.git partially revived platform support for PSP (unfinished), part 3 changes to libpicofe, fixed path handling --- diff --git a/.gitmodules b/.gitmodules index 6d6f9193..fc412564 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/platform/libpicofe b/platform/libpicofe index e0bf7946..26632f96 160000 --- a/platform/libpicofe +++ b/platform/libpicofe @@ -1 +1 @@ -Subproject commit e0bf794693c1c2384ef704e687df448168cd5170 +Subproject commit 26632f960f881fa64f3f6805f588c729dc3d651d diff --git a/platform/psp/emu.c b/platform/psp/emu.c index 67546810..69a3306b 100644 --- a/platform/psp/emu.c +++ b/platform/psp/emu.c @@ -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 */ diff --git a/platform/psp/menu.c b/platform/psp/menu.c index fb392950..84e92c85 100644 --- a/platform/psp/menu.c +++ b/platform/psp/menu.c @@ -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; } diff --git a/platform/psp/plat.c b/platform/psp/plat.c index 9049e6af..37fe868c 100644 --- a/platform/psp/plat.c +++ b/platform/psp/plat.c @@ -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 */ diff --git a/platform/psp/psp.c b/platform/psp/psp.c index 3273ad31..cc568273 100644 --- a/platform/psp/psp.c +++ b/platform/psp/psp.c @@ -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)