diff options
Diffstat (limited to 'libpcsxcore/psxmem.c')
| -rwxr-xr-x | libpcsxcore/psxmem.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/libpcsxcore/psxmem.c b/libpcsxcore/psxmem.c index bc2a0ca0..ae2600ab 100755 --- a/libpcsxcore/psxmem.c +++ b/libpcsxcore/psxmem.c @@ -107,16 +107,22 @@ int psxMemInit() { void psxMemReset() { FILE *f = NULL; - char bios[1024]; + char bios[1024] = { '\0' }; memset(psxM, 0, 0x00200000); memset(psxP, 0, 0x00010000); // Load BIOS if (strcmp(Config.Bios, "HLE") != 0) { - sprintf(bios, "%s/%s", Config.BiosDir, Config.Bios); - f = fopen(bios, "rb"); + //AppPath's priority is high. + const char* apppath = GetAppPath(); + if( strlen(apppath) > 0 ) + strcat( strcat( strcat( bios, GetAppPath() ), "bios\\"), Config.Bios ); + else + sprintf(bios, "%s/%s", Config.BiosDir, Config.Bios); + + f = fopen(bios, "rb"); if (f == NULL) { SysMessage(_("Could not open BIOS:\"%s\". Enabling HLE Bios!\n"), bios); memset(psxR, 0, 0x80000); @@ -125,6 +131,7 @@ void psxMemReset() { fread(psxR, 1, 0x80000, f); fclose(f); Config.HLE = FALSE; + SysPrintf(_("Loaded BIOS: %s\n"), bios ); } } else Config.HLE = TRUE; } |
