From c9b8dd6628a0332acd705f4f79b152ae71857a71 Mon Sep 17 00:00:00 2001 From: gbeauche <> Date: Sun, 5 Oct 2003 23:49:19 +0000 Subject: [PATCH] tm_task is actually correct for both nw & gossamer ROMs --- SheepShaver/src/rom_patches.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/SheepShaver/src/rom_patches.cpp b/SheepShaver/src/rom_patches.cpp index d0160e89..2b6c5a10 100644 --- a/SheepShaver/src/rom_patches.cpp +++ b/SheepShaver/src/rom_patches.cpp @@ -1842,25 +1842,17 @@ static bool patch_68k(void) *wp = htons(M68K_RTS); // Don't install Time Manager task for 60Hz interrupt (Enable60HzInts, via 0x2b8) - if (ROMType == ROMTYPE_NEWWORLD) { + if (ROMType == ROMTYPE_NEWWORLD || ROMType == ROMTYPE_GOSSAMER) { static const uint8 tm_task_dat[] = {0x30, 0x3c, 0x4e, 0x2b, 0xa9, 0xc9}; - if ((base = find_rom_data(0x2e0, 0x320, tm_task_dat, sizeof(tm_task_dat))) == 0) return false; + if ((base = find_rom_data(0x2a0, 0x320, tm_task_dat, sizeof(tm_task_dat))) == 0) return false; D(bug("tm_task %08lx\n", base)); - wp = (uint16 *)(ROM_BASE + base + 28); // FIXME: this is not right for all nw ROMs + wp = (uint16 *)(ROM_BASE + base + 28); *wp++ = htons(M68K_NOP); *wp++ = htons(M68K_NOP); *wp++ = htons(M68K_NOP); *wp++ = htons(M68K_NOP); *wp++ = htons(M68K_NOP); *wp = htons(M68K_NOP); - } else if (ROMType == ROMTYPE_GOSSAMER) { - static const uint8 tm_task_dat[] = {0x30, 0x3c, 0x4e, 0x2b, 0xa9, 0xc9}; - if ((base = find_rom_data(0x2a0, 0x2e0, tm_task_dat, sizeof(tm_task_dat))) == 0) return false; - D(bug("tm_task %08lx\n", base)); - wp = (uint16 *)(ROM_BASE + base + 28); - *wp++ = htons(M68K_NOP); - *wp++ = htons(M68K_NOP); - *wp++ = htons(M68K_NOP); } else { static const uint8 tm_task_dat[] = {0x20, 0x3c, 0x73, 0x79, 0x73, 0x61}; if ((base = find_rom_data(0x280, 0x300, tm_task_dat, sizeof(tm_task_dat))) == 0) return false;