tm_task is actually correct for both nw & gossamer ROMs

This commit is contained in:
gbeauche 2003-10-05 23:49:19 +00:00
parent 84ce1f2b0d
commit c9b8dd6628

View File

@ -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;