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.20 by gbeauche, 2006-05-06T09:23:28Z vs.
Revision 1.22 by asvitkine, 2007-01-21T17:21:23Z

# Line 355 | Line 355 | void CheckLoad(uint32 type, int16 id, ui
355                                  // Don't call FE0A opcode (7.6, 7.6.1, 8.0, 8.1, 8.5, 8.6, 9.0)
356                                  p[1] = htons(0x2008);   // move.l a0,d0
357                                  D(bug(" patch 3 applied\n"));
358 +                        } else if (PM(0,0x6c00) && PM(1,0x016a) && PM(2,0x2278) && PM(3,0x0134)) {
359 +                                // We don't have SonyVars (8.6)
360 +                                p[-4] = htons(0x21fc);  // move.l $40810000,($0000)
361 +                                p[-3] = htons(0x4081);
362 +                                p[-2] = htons(0x0000);
363 +                                p[-1] = htons(0x0000);
364 +                                p[0] = htons(0x6000);
365 +                                D(bug(" patch 4 applied\n"));
366                          }
367                          p++;
368                  }
# Line 579 | Line 587 | void CheckLoad(uint32 type, int16 id, ui
587                          p[(base + 0x1a) >> 1] = htons(0x6064);
588                          D(bug(" patch1 applied\n"));
589                  }
590 +
591 +        } else if (type == FOURCC('i','n','f','n') && (id == 129 || id == 200)) {
592 +                D(bug("infn %d found\n", id));
593 +                size >>= 1;
594 +                while (size--) {
595 +                        if (PM(0,0x203c) && PM(1,0xf800) && PM(2,0x0000) && PM(4,0x2040) && PM(5,0x1028) && PM(6,0x0090)) {
596 +                                // Don't read from 0xf8000090 during MacOS (8.5, 9.0) installation
597 +                                p[0] = htons(M68K_NOP);
598 +                                p[1] = htons(M68K_NOP);
599 +                                p[2] = htons(M68K_NOP);
600 +                                p[3] = htons(M68K_NOP);
601 +                                p[4] = htons(M68K_NOP);
602 +                                p[5] = htons(M68K_NOP);
603 +                                p[6] = htons(0x7000);   // moveq #0,d0
604 +                                D(bug(" patch 1 applied\n"));
605 +                                break;
606 +                        }
607 +                        p++;
608 +                }
609 +
610          }
611   }
612  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines