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

Comparing BasiliskII/src/rom_patches.cpp (file contents):
Revision 1.23 by cebix, 2004-01-12T15:29:22Z vs.
Revision 1.24 by gbeauche, 2004-11-15T23:27:43Z

# Line 41 | Line 41
41   // Global variables
42   uint32 UniversalInfo;           // ROM offset of UniversalInfo
43   uint32 PutScrapPatch;           // Mac address of PutScrap() patch
44 + uint32 GetScrapPatch = 0;       // Mac address of GetScrap() patch
45   uint32 ROMBreakpoint = 0;       // ROM offset of breakpoint (0 = disabled, 0x2310 = CritError)
46   bool PrintROMInfo = false;      // Flag: print ROM information in PatchROM()
47   bool PatchHWBases = true;       // Flag: patch hardware base addresses
# Line 1624 | Line 1625 | static bool patch_rom_32(void)
1625          *wp++ = htons(M68K_JMP);
1626          *wp++ = htons(base >> 16);
1627          *wp = htons(base & 0xffff);
1628 +
1629 +        // Install GetScrap() patch for clipboard data exchange (the patch is activated by EMUL_OP_INSTALL_DRIVERS)
1630 +        GetScrapPatch = ROMBaseMac + sony_offset + 0xd00;
1631 +        base = ROMBaseMac + find_rom_trap(0xa9fd);
1632 +        wp = (uint16 *)(ROMBaseHost + sony_offset + 0xd00);
1633 +        *wp++ = htons(M68K_EMUL_OP_GET_SCRAP);
1634 +        *wp++ = htons(M68K_JMP);
1635 +        *wp++ = htons(base >> 16);
1636 +        *wp = htons(base & 0xffff);
1637  
1638          // Look for double PACK 4 resources
1639          if ((base = find_rom_resource(FOURCC('P','A','C','K'), 4)) == 0) return false;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines