From: notaz Date: Sun, 27 Apr 2008 19:16:32 +0000 (+0000) Subject: cue support wip X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ceda4176ff86029e143802e2b5999dd2d091e9c;p=libpicofe.git cue support wip git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@432 be3aeb3a-fb24-0410-a615-afba39da0efa --- diff --git a/common/emu.c b/common/emu.c index feb3167..1bbdf35 100644 --- a/common/emu.c +++ b/common/emu.c @@ -164,6 +164,9 @@ int emu_cdCheck(int *pregion) unsigned char buf[32]; pm_file *cd_f; int type = 0, region = 4; // 1: Japan, 4: US, 8: Europe + char ext[5]; + + get_ext(romFileName, ext); cd_f = pm_open(romFileName); if (!cd_f) return 0; // let the upper level handle this @@ -330,7 +333,7 @@ int emu_ReloadRom(void) // check for MegaCD image cd_state = emu_cdCheck(&cd_region); - if (cd_state > 0) + if (cd_state != CIT_NOT_CD) { PicoAHW |= PAHW_MCD; // valid CD image, check for BIOS.. @@ -405,8 +408,8 @@ int emu_ReloadRom(void) Pico.m.frame_count = 0; // insert CD if it was detected - if (cd_state > 0) { - ret = Insert_CD(romFileName, cd_state == 2); + if (cd_state != CIT_NOT_CD) { + ret = Insert_CD(romFileName, cd_state); if (ret != 0) { sprintf(menuErrorMsg, "Insert_CD() failed, invalid CD image?"); lprintf("%s\n", menuErrorMsg); diff --git a/gp2x/menu.c b/gp2x/menu.c index 919fdb9..af7397e 100644 --- a/gp2x/menu.c +++ b/gp2x/menu.c @@ -200,7 +200,7 @@ void menu_romload_end(void) static unsigned short file2color(const char *fname) { const char *ext = fname + strlen(fname) - 3; - static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso" }; + static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso", "cue" }; static const char *other_exts[] = { "gmv", "pat" }; int i; @@ -256,7 +256,7 @@ static int scandir_cmp(const void *p1, const void *p2) static char *filter_exts[] = { ".mp3", ".MP3", ".srm", ".brm", "s.gz", ".mds", "bcfg", ".txt", ".htm", "html", - ".jpg", ".gpe", ".cue" + ".jpg", ".gpe" }; static int scandir_filter(const struct dirent *ent) @@ -1724,10 +1724,11 @@ int menu_loop_tray(void) case 0: // select image selfname = romsel_loop(curr_path); if (selfname) { - int ret = -1, cd_type; + int ret = -1; + cd_img_type cd_type; cd_type = emu_cdCheck(NULL); - if (cd_type > 0) - ret = Insert_CD(romFileName, cd_type == 2); + if (cd_type != CIT_NOT_CD) + ret = Insert_CD(romFileName, cd_type); if (ret != 0) { sprintf(menuErrorMsg, "Load failed, invalid CD image?"); printf("%s\n", menuErrorMsg); diff --git a/psp/menu.c b/psp/menu.c index 1613cfb..48de81e 100644 --- a/psp/menu.c +++ b/psp/menu.c @@ -185,7 +185,7 @@ struct my_dirent static unsigned short file2color(const char *fname) { const char *ext = fname + strlen(fname) - 3; - static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso" }; + static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso", "cue" }; static const char *other_exts[] = { "gmv", "pat" }; int i; @@ -241,7 +241,7 @@ static int scandir_cmp(const void *p1, const void *p2) static char *filter_exts[] = { ".mp3", ".srm", ".brm", "s.gz", ".mds", "bcfg", ".txt", ".htm", "html", - ".jpg", ".cue", ".pbp" + ".jpg", ".pbp" }; static int scandir_filter(const struct my_dirent *ent) @@ -1810,10 +1810,11 @@ int menu_loop_tray(void) case 0: // select image selfname = romsel_loop(curr_path); if (selfname) { - int ret = -1, cd_type; + int ret = -1; + cd_img_type cd_type; cd_type = emu_cdCheck(NULL); - if (cd_type > 0) - ret = Insert_CD(romFileName, cd_type == 2); + if (cd_type != CIT_NOT_CD) + ret = Insert_CD(romFileName, cd_type); if (ret != 0) { sprintf(menuErrorMsg, "Load failed, invalid CD image?"); lprintf("%s\n", menuErrorMsg);