drc: allow move-to-r0 condition
[pcsx_rearmed.git] / libpcsxcore / psxbios.c
index f2751b8..aa49b23 100644 (file)
@@ -26,6 +26,9 @@
 #include "psxbios.h"
 #include "psxhw.h"
 
+#undef SysPrintf
+#define SysPrintf if (Config.PsxOut) printf
+
 char *biosA0n[256] = {
 // 0x00
        "open",         "lseek",        "read",         "write",
@@ -1866,12 +1869,8 @@ void psxBios_firstfile() { // 42
        nfile = 1;
        if (!strncmp(Ra0, "bu00", 4)) {
                bufile(1);
-               v0 = _dir;
-       }
-
-       if (!strncmp(Ra0, "bu10", 4)) {
+       } else if (!strncmp(Ra0, "bu10", 4)) {
                bufile(2);
-               v0 = _dir;
        }
 
        pc0 = ra;
@@ -2542,6 +2541,17 @@ void psxBiosInit() {
        memset(Thread, 0, sizeof(Thread));
        Thread[0].status = 2; // main thread
 
+       jmp_int = NULL;
+       pad_buf = NULL;
+       pad_buf1 = NULL;
+       pad_buf2 = NULL;
+       pad_buf1len = pad_buf2len = 0;
+       heap_addr = NULL;
+       heap_end = NULL;
+       CardState = -1;
+       CurThread = 0;
+       memset(FDesc, 0, sizeof(FDesc));
+
        psxMu32ref(0x0150) = SWAPu32(0x160);
        psxMu32ref(0x0154) = SWAPu32(0x320);
        psxMu32ref(0x0160) = SWAPu32(0x248);