--- BasiliskII/src/rom_patches.cpp 1999/10/19 17:41:18 1.5 +++ BasiliskII/src/rom_patches.cpp 1999/10/22 15:08:12 1.7 @@ -648,8 +648,10 @@ void PatchAfterStartup(void) r.d[0] = 0xa05c; Execute68kTrap(0xa247, &r); // SetOSTrapAddress() +#if SUPPORTS_EXTFS // Install external file system InstallExtFS(); +#endif } @@ -666,7 +668,7 @@ bool CheckROM(void) // Real addressing mode requires a 32-bit clean ROM return ROMVersion == ROM_VERSION_32; #else - // Virtual addressing mode works with 32-bit clean Mac II ROMs and Classic ROMs (experimental) + // Virtual addressing mode works with 32-bit clean Mac II ROMs and Classic ROMs return (ROMVersion == ROM_VERSION_CLASSIC) || (ROMVersion == ROM_VERSION_32); #endif } @@ -1401,6 +1403,14 @@ static bool patch_rom_32(void) *wp++ = htons(M68K_EMUL_OP_MEMORY_DISPATCH); *wp = htons(M68K_RTS); +#if EMULATED_68K + // Replace BlockMove() + wp = (uint16 *)(ROMBaseHost + find_rom_trap(0xa02e)); // BlockMove() + *wp++ = htons(M68K_EMUL_OP_BLOCK_MOVE); + *wp++ = htons(0x7000); + *wp = htons(M68K_RTS); +#endif + // Patch VIA interrupt handler wp = (uint16 *)(ROMBaseHost + 0x9bc4); // Level 1 handler *wp++ = htons(0x7002); // moveq #2,d0 (always 60Hz interrupt)