summaryrefslogtreecommitdiff
path: root/libpcsxcore/psxmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore/psxmem.c')
-rwxr-xr-xlibpcsxcore/psxmem.c13
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;
}