cdriso: merge from pcsxr r90558
[pcsx_rearmed.git] / libpcsxcore / psxbios.c
index 04c959a..144a7b4 100644 (file)
@@ -1025,6 +1025,26 @@ _start:
        pc0 = ra;
 }
 
+void psxBios_format() { // 0x41
+       if (strcmp(Ra0, "bu00:") == 0 && Config.Mcd1[0] != '\0')
+       {
+               CreateMcd(Config.Mcd1);
+               LoadMcd(1, Config.Mcd1);
+               v0 = 1;
+       }
+       else if (strcmp(Ra0, "bu10:") == 0 && Config.Mcd2[0] != '\0')
+       {
+               CreateMcd(Config.Mcd2);
+               LoadMcd(2, Config.Mcd2);
+               v0 = 1;
+       }
+       else
+       {
+               v0 = 0;
+       }
+       pc0 = ra;
+}
+
 /*
  *     long Load(char *name, struct EXEC *header);
  */
@@ -2521,7 +2541,7 @@ void psxBiosInit() {
        biosB0[0x3c] = psxBios_getchar;
        //biosB0[0x3e] = psxBios_gets;
        //biosB0[0x40] = psxBios_cd;
-       //biosB0[0x41] = psxBios_format;
+       biosB0[0x41] = psxBios_format;
        biosB0[0x42] = psxBios_firstfile;
        biosB0[0x43] = psxBios_nextfile;
        biosB0[0x44] = psxBios_rename;