psxbios: merge from pcsxr r90224-r90227
authornotaz <notasas@gmail.com>
Sun, 21 Dec 2014 18:31:42 +0000 (20:31 +0200)
committernotaz <notasas@gmail.com>
Sun, 21 Dec 2014 18:35:29 +0000 (20:35 +0200)
Author: weimingzhi
psxbios: format()

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;