ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/rom_patches.cpp
(Generate patch)

Comparing SheepShaver/src/rom_patches.cpp (file contents):
Revision 1.11 by gbeauche, 2003-10-05T23:05:03Z vs.
Revision 1.13 by gbeauche, 2003-10-05T23:49:19Z

# Line 1842 | Line 1842 | static bool patch_68k(void)
1842          *wp = htons(M68K_RTS);
1843  
1844          // Don't install Time Manager task for 60Hz interrupt (Enable60HzInts, via 0x2b8)
1845 <        if (ROMType == ROMTYPE_NEWWORLD) {
1845 >        if (ROMType == ROMTYPE_NEWWORLD || ROMType == ROMTYPE_GOSSAMER) {
1846                  static const uint8 tm_task_dat[] = {0x30, 0x3c, 0x4e, 0x2b, 0xa9, 0xc9};
1847 <                if ((base = find_rom_data(0x2e0, 0x320, tm_task_dat, sizeof(tm_task_dat))) == 0) return false;
1847 >                if ((base = find_rom_data(0x2a0, 0x320, tm_task_dat, sizeof(tm_task_dat))) == 0) return false;
1848                  D(bug("tm_task %08lx\n", base));
1849 <                wp = (uint16 *)(ROM_BASE + base + 28); // FIXME: this is not right for all nw ROMs
1849 >                wp = (uint16 *)(ROM_BASE + base + 28);
1850                  *wp++ = htons(M68K_NOP);
1851                  *wp++ = htons(M68K_NOP);
1852                  *wp++ = htons(M68K_NOP);
1853                  *wp++ = htons(M68K_NOP);
1854                  *wp++ = htons(M68K_NOP);
1855                  *wp = htons(M68K_NOP);
1856        } else if (ROMType == ROMTYPE_GOSSAMER) {
1857                static const uint8 tm_task_dat[] = {0x30, 0x3c, 0x4e, 0x2b, 0xa9, 0xc9};
1858                if ((base = find_rom_data(0x2a0, 0x2e0, tm_task_dat, sizeof(tm_task_dat))) == 0) return false;
1859                D(bug("tm_task %08lx\n", base));
1860                wp = (uint16 *)(ROM_BASE + base + 22);
1861                *wp++ = htons(M68K_NOP);
1862                *wp++ = htons(M68K_NOP);
1863                *wp++ = htons(M68K_NOP);
1856          } else {
1857                  static const uint8 tm_task_dat[] = {0x20, 0x3c, 0x73, 0x79, 0x73, 0x61};
1858                  if ((base = find_rom_data(0x280, 0x300, tm_task_dat, sizeof(tm_task_dat))) == 0) return false;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines