diff options
Diffstat (limited to 'libpcsxcore/psxbios.c')
-rw-r--r-- | libpcsxcore/psxbios.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/libpcsxcore/psxbios.c b/libpcsxcore/psxbios.c index 04c959a..144a7b4 100644 --- a/libpcsxcore/psxbios.c +++ b/libpcsxcore/psxbios.c @@ -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; |