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.24 by cebix, 2004-01-12T15:37:18Z vs.
Revision 1.28 by gbeauche, 2004-05-15T16:36:41Z

# Line 871 | Line 871 | static bool patch_nanokernel_boot(void)
871                          lp[8] = htonl(0x00800002);      // TLB total size/TLB assoc
872                          break;
873   //              case 11:        // X704?
874 <                case 12:        // ???
874 >                case 12:        // 7400, 7410
875 >                case 0x800c:
876                          lp[0] = htonl(0x1000);          // Page size
877                          lp[1] = htonl(0x8000);          // Data cache size
878                          lp[2] = htonl(0x8000);          // Inst cache size
# Line 2227 | Line 2228 | static bool patch_68k(void)
2228          lp = (uint32 *)(ROM_BASE + ntohl(*lp));
2229          lp[0xa9fd & 0x3ff] = htonl(GET_SCRAP_PATCH_SPACE);
2230  
2230 #if __BEOS__
2231          // Patch SynchIdleTime()
2232          if (PrefsFindBool("idlewait")) {
2233                  wp = (uint16 *)(ROM_BASE + find_rom_trap(0xabf7) + 4);  // SynchIdleTime()
2234                  D(bug("SynchIdleTime at %08lx\n", wp));
2235 <                if (ntohs(*wp) == 0x2078) {
2235 >                if (ntohs(*wp) == 0x2078) {                                                             // movea.l      ExpandMem,a0
2236                          *wp++ = htons(M68K_EMUL_OP_IDLE_TIME);
2237                          *wp = htons(M68K_NOP);
2238 <                } else {
2238 >                }
2239 >                else if (ntohs(*wp) == 0x70fe)                                                  // moveq        #-2,d0
2240 >                        *wp++ = htons(M68K_EMUL_OP_IDLE_TIME_2);
2241 >                else {
2242                          D(bug("SynchIdleTime patch not installed\n"));
2243                  }
2244          }
2242 #endif
2245  
2246          // Construct list of all sifters used by sound components in ROM
2247          D(bug("Searching for sound components with type sdev in ROM\n"));
# Line 2304 | Line 2306 | void InstallDrivers(void)
2306                  WriteMacInt16(dce + dCtlFlags, SonyDriverFlags);
2307          }
2308  
2309 < #if DISABLE_SCSI && 0
2309 > #if DISABLE_SCSI && HAVE_SIGSEGV_SKIP_INSTRUCTION
2310          // Fake SCSIGlobals
2311          WriteMacInt32(0xc0c, SheepMem::ZeroPage());
2312   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines