X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fpsxbios.c;h=f2f254056eb91c03d8d917a9cf6dd3c297a3c167;hp=b135b522061fa87f2cf730de792d7ae61bd4a8fb;hb=66ade3810a3c9077a8d779884d6ed42d036b129c;hpb=452b85f99f8c0d3f31c7c4ec352d22a8917499d9 diff --git a/libpcsxcore/psxbios.c b/libpcsxcore/psxbios.c index b135b522..f2f25405 100644 --- a/libpcsxcore/psxbios.c +++ b/libpcsxcore/psxbios.c @@ -1869,14 +1869,13 @@ 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; } + // firstfile() calls _card_read() internally, so deliver it's event + DeliverEvent(0x11, 0x2); + pc0 = ra; } @@ -2545,6 +2544,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);