summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/psxmem.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/libpcsxcore/psxmem.c b/libpcsxcore/psxmem.c
index 2c47ed06..f46e7261 100644
--- a/libpcsxcore/psxmem.c
+++ b/libpcsxcore/psxmem.c
@@ -21,8 +21,6 @@
* PSX memory functions.
*/
-// TODO: Implement caches & cycle penalty.
-
#include "psxmem.h"
#include "r3000a.h"
#include "psxhw.h"
@@ -113,7 +111,8 @@ void psxMemReset() {
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");
@@ -127,7 +126,17 @@ void psxMemReset() {
fclose(f);
Config.HLE = FALSE;
}
- } else Config.HLE = TRUE;
+ } else Config.HLE = TRUE;
+
+ // Load Net Yaroze runtime library (if exists)
+ sprintf(bios, "%s/libps.exe", Config.BiosDir);
+ f = fopen(bios, "rb");
+
+ if (f != NULL) {
+ fseek(f, 0x800, SEEK_SET);
+ fread(psxM + 0x10000, 0x61000, 1, f);
+ fclose(f);
+ }
}
void psxMemShutdown() {