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.21 by gbeauche, 2003-12-15T15:23:59Z vs.
Revision 1.26 by gbeauche, 2004-02-15T17:20:36Z

# Line 1 | Line 1
1   /*
2   *  rom_patches.cpp - ROM patches
3   *
4 < *  SheepShaver (C) 1997-2002 Christian Bauer and Marc Hellwig
4 > *  SheepShaver (C) 1997-2004 Christian Bauer and Marc Hellwig
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 319 | Line 319 | static bool check_rom_patch_space(uint32
319          size = (size + 3) & -4;
320          for (int i = 0; i < size; i += 4) {
321                  uint32 x = ntohl(*(uint32 *)(ROM_BASE + base + i));
322                printf("%08x\n", x);
322                  if (x != 0x6b636b63 && x != 0)
323                          return false;
324          }
# Line 872 | 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 1664 | Line 1664 | static bool patch_68k(void)
1664          wp = (uint16 *)(ROM_BASE + base + 12);
1665          loc = ntohs(wp[1]) + ((uintptr)wp - ROM_BASE) + 2;
1666          static const uint8 scc_init_dat[] = {0x20, 0x78, 0x01, 0xdc, 0x22, 0x78, 0x01, 0xd8};
1667 <        if ((base = find_rom_data(loc, loc + 0x80, scc_init_dat, sizeof(scc_init_dat))) != loc) return false;
1667 >        if ((base = find_rom_data(loc, loc + 0x80, scc_init_dat, sizeof(scc_init_dat))) == 0) return false;
1668          D(bug("scc_init %08lx\n", base));
1669          wp = (uint16 *)(ROM_BASE + base);
1670          *wp++ = htons(M68K_EMUL_OP_RESET);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines