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

Comparing SheepShaver/src/rsrc_patches.cpp (file contents):
Revision 1.19 by gbeauche, 2006-05-05T19:05:24Z vs.
Revision 1.20 by gbeauche, 2006-05-06T09:23:28Z

# Line 266 | Line 266 | void CheckLoad(uint32 type, int16 id, ui
266                                  p[-3] = htons(M68K_NOP);
267                                  p[0] = htons(0x6018);
268                                  D(bug(" patch 2 applied\n"));
269 +                        } else if (PM(0,0x6660) && PM(1,0x2278) && PM(2,0x0134)) {
270 +                                // We don't have SonyVars (7.5.3 Revision 2.2)
271 +                                p[-6] = htons(M68K_NOP);
272 +                                p[-3] = htons(M68K_NOP);
273 +                                p[0] = htons(0x6060);
274 +                                D(bug(" patch 3 applied\n"));
275                          } else if (PM(0,0x666e) && PM(1,0x2278) && PM(2,0x0134)) {
276                                  // We don't have SonyVars (7.5.5)
277                                  p[-6] = htons(M68K_NOP);
278                                  p[-3] = htons(M68K_NOP);
279                                  p[0] = htons(0x606e);
280 <                                D(bug(" patch 3 applied\n"));
280 >                                D(bug(" patch 4 applied\n"));
281                          } else if (PM(0,0x6400) && PM(1,0x011c) && PM(2,0x2278) && PM(3,0x0134)) {
282                                  // We don't have SonyVars (7.6.1, 8.0, 8.1, 8.5, 8.6, 9.0)
283                                  p[0] = htons(0x6000);
284 <                                D(bug(" patch 4 applied\n"));
284 >                                D(bug(" patch 5 applied\n"));
285                          } else if (PM(0,0x6400) && PM(1,0x00e6) && PM(2,0x2278) && PM(3,0x0134)) {
286                                  // We don't have SonyVars (7.6)
287                                  p[0] = htons(0x6000);
288 <                                D(bug(" patch 5 applied\n"));
288 >                                D(bug(" patch 6 applied\n"));
289                          }
290                          p++;
291                  }
# Line 439 | Line 445 | void CheckLoad(uint32 type, int16 id, ui
445  
446          } else if (type == FOURCC('n','s','r','d') && id == 1) {
447                  D(bug("nsrd 1 found\n"));
448 <                if (p[(0x378 + 0x570) >> 1] == htons(0x7c08) && p[(0x37a + 0x570) >> 1] == htons(0x02a6)) {
448 >                if (p[(0x378 + 0x460) >> 1] == htons(0x7c08) && p[(0x37a + 0x460) >> 1] == htons(0x02a6)) {
449 >                        // Don't overwrite our serial drivers (7.5.3 Revision 2.2)
450 >                        p[(0x378 + 0x460) >> 1] = htons(0x4e80);                // blr
451 >                        p[(0x37a + 0x460) >> 1] = htons(0x0020);
452 >                        D(bug(" patch 1 applied\n"));
453 >                } else if (p[(0x378 + 0x570) >> 1] == htons(0x7c08) && p[(0x37a + 0x570) >> 1] == htons(0x02a6)) {
454                          // Don't overwrite our serial drivers (8.0, 8.1)
455                          p[(0x378 + 0x570) >> 1] = htons(0x4e80);                // blr
456                          p[(0x37a + 0x570) >> 1] = htons(0x0020);
457 <                        D(bug(" patch 1 applied\n"));
457 >                        D(bug(" patch 2 applied\n"));
458                  } else if (p[(0x378 + 0x6c0) >> 1] == htons(0x7c08) && p[(0x37a + 0x6c0) >> 1] == htons(0x02a6)) {
459                          // Don't overwrite our serial drivers (8.5, 8.6)
460                          p[(0x378 + 0x6c0) >> 1] = htons(0x4e80);                // blr
461                          p[(0x37a + 0x6c0) >> 1] = htons(0x0020);
462 <                        D(bug(" patch 2 applied\n"));
462 >                        D(bug(" patch 3 applied\n"));
463                  } else if (p[(0x374 + 0x510) >> 1] == htons(0x7c08) && p[(0x376 + 0x510) >> 1] == htons(0x02a6)) {
464                          // Don't overwrite our serial drivers (9.0)
465                          p[(0x374 + 0x510) >> 1] = htons(0x4e80);                // blr
466                          p[(0x376 + 0x510) >> 1] = htons(0x0020);
467 <                        D(bug(" patch 3 applied\n"));
467 >                        D(bug(" patch 4 applied\n"));
468                  }
469  
470          } else if (type == FOURCC('c','i','t','t') && id == 45) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines