.: Introduction :. This unQue patch series is directed at restoring save support and reversing library changes in iQue titles so they function reliably on retail consoles and a wider range of emulators--at the expense of breaking iQue support. For the sake of emulators/flashcarts that look at GUID codes to differentiate these patches from retail titles, a GUID and timestamp were added. The device type is set to "B" for "BB Player" (not "Q"), and region to "C" for China or "W" for Taiwan/Hong Kong. Internal names are encoded using codepage 936 (normally CP 932). This information is not used by console. Bootstraps (IPL3) are swapped to match their retail counterparts; iQue does not, in fact, run this code, and many use the "development" IPL not tied to a CIC. "Mario Kadingche", aka "Mario Kart 64" in other regions, uses emulated EEPROM and Controller Paks on iQue. Data is loaded into the top of RDRAM and flushed back later. All controller slot devices are emulated as simple reads and writes to an assigned address range. The BB Hack flags allowed mirroring the main controller to a port of your choice. The patched ROM expects a 4k EEPROM on its board; CIC is 6102. Up to four controllers and Controller Paks are supported. .: Patching :. Apply the xdelta patch using the similarly named xdelta; use version 3.0.8 or up. The patch will only apply to a *decrypted* ROM in native (big-endian) byteorder. (The process for extracting your console's tickets and decrypting an extracted ROM are well outside the scope of this readme.) There are two versions of this title. Use the appropriate patch as described below. V1.0 Patch Name Mario Kadingche (old).xdelta V1.0 Common Names 5201104 004F5CD0.z64 Mario Kadingche (old).z64 V1.0 Original File Checksums (Decrypted) SHA-1 219660D0A321FC200AC4295DD79FD3417DA3EEA8 SHA-512 4D792F030F36A7BD16912B72C5864D0940AA61A02316B209BA2AB5BBBCA010BB6F103DCD12C0B32F28A86C718DAECFB6305FED25DB64ACEC680202149AE96A93 V1.0 Patched File Checksums SHA-1 FC9A82561A72238E382E1CE0942FA89F9C0942D2 SHA-512 C42F338F4E9CCCB2279C98C31063665577B4F415EA915CF89A3DF53E060FE64B10F401338942C39350C0932AAC851595C4C73926FBB91706DBB77B1987C13626 V1.1 Patch Name Mario Kadingche.xdelta V1.1 Common Names 5201105 004F5CD1.z64 Mario Kadingche.z64 V1.1 Original File Checksums (Decrypted) SHA-1 D6605879918B0DCA3EAFA1C75ECBC850A3B2535D SHA-512 2FCCF122649E92D09B19B11E89B99825CCE3B97E914C9664BA103889FADAEE09702787C98DE042175A3AE28D44E050C5040D6C02C50B029F0609ED3523DD0D58 V1.1 Patched File Checksums SHA-1 78B8C022C383E66EBB3BCCAEDAA92FAC7DD31FBD SHA-512 FC57A6B28858680656F861827CA83D719D22D411F0B336FCEE98A26FBA0ECEE3BB60B05827F52A1446E67681CE55075B8D6CCBF7F2CE874D04800BF739E079D1 .: Notes :. *) Not all changes to the standard library are reversed, only those which directly affect operation or expose iQue-specific registers to emulators (console won't be affected, but emus may throw errors). This includes rewriting system initialization, controller pak detection, and most dedicated save-related functions to some degree. Other code is already isolated when iQue hardware is not detected. Thankfully, the PFS library was retained to manage the virtual Controller Paks. Only low-level hardware access needed to be added to support saving ghosts. *) There are negligible code differences between versions. The earlier ROM explicitly sets the size of RDRAM to 4MB during initialization, uses a slightly different bootstrap, and the Controller Pak manager is accessible. The manager was excised from the later version, restored by this patch. No game resources changed. *) The "no controller" warning is in Chinese. *) The Controller Pak manager can be accessed by holding Start on controller 1 while the game is booting. It will only appear if a Controller Pak is in controller 1; other controllers are ignored. The menu is entirely in English. -Zoinkity