.: 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 tied to a CIC. "Zelda Chuanshou Shiguang Zhi Di", "Legend of Zelda: Ocarina of Time" or "Zelda no Densetsu: Toki no Ocarina" in other regions, uses emulated SRAM 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. Functions to check if a Rumble Pak is present and send it values are stubbed. The BB Hack flags allowed mirroring the main controller to a port of your choice. The patched ROM expects a 256k SRAM on its board; CIC is 6105. Rumble Paks are supported. The displayed cost of light arrows in the Simplified Chinese version has been corrected from 2MP to 4MP. An 8MB Expansion Pak is REQUIRED for the Traditional Chinese version. See "Notes" below for more information. An Expansion Pak is optional but VERY HIGHLY RECOMMENDED for Simplified Chinese. Without one the game is subject to the same load failures and crash bugs the original iQue release is plagued with. .: 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. Simplified Chinese Patch Name Zelda Chuanshou Shiguang Zhi Di (Simplified).xdelta Simplified Chinese Common Names 2101104 00200F70.z64 Zelda Chuanshou Shiguang Zhi Di (Simplified).z64 Simplified Chinese Original File Checksums (Decrypted) SHA-1 1015D0F3AF34B89149BFD773580BBC66466AF54E SHA-512 6D4473730799D631E457F8BF289CABC4979560EDCFD83E549133865600D6696E6C4236272FA925AA8A40A46D5C3A7166319AC9296B005442122120402DFD2D5A Simplified Chinese Patched File Checksums SHA-1 7EB05FCD154023D5DA8205A356CD2B7085E1FB4F SHA-512 DE102A1649BF2B2F2222B9BF77CDE5EAB50A1D7B093CE68C9A1BEBA96E97A5A4BEDFDE333034CF3245BDE6E73792A16A9A39CA8EDE6F8A33724A015CE96B967C Traditional Chinese Patch Name Zelda Chuanshou Shiguang Zhi Di (Traditional).xdelta Traditional Chinese Common Names 2106101 002022F5.z64 Zelda Chuanshou Shiguang Zhi Di (Traditional).z64 Traditional Chinese Original File Checksums (Decrypted) SHA-1 8668469647423735CC05F55A479C9D3135FBF838 SHA-512 1C4A3BEA974C48C716B66F2DBCCA3AD287E801E0AC3E46202F58D0ADFAC3CE5179271B2202C81EA7B4CCB86AF58E0F00BF0B381156D926BA734ADB317BFF8610 Traditional Chinese Patched File Checksums SHA-1 BB8B3A7A90CE63C566B441A0AC84F09CA1D846F5 SHA-512 05CF7A6299B8CFD3A8C3C7CBC7465769AB121F7DA8FC54885587FC96EA85625F36A826A77793ABACE559F159705EC341C98E55FD484C9D2AC615A1129706C5B6 .: 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, preNMI, and most dedicated save-related functions to some degree. Other code is already isolated when iQue hardware is not detected. *) Heap sizes, due to a number of factors, are smaller in iQue versions--too small to allocate space for all the data that needs to be loaded at any given time. The Simplified version predictably runs out when dynamic objects are in use, horseback archery a notable offender. This caused unpredictable behaviour and crash bugs. Side quests like poe hunting are difficult or impossible to complete. iQue developers used a dirty hack in the Traditional Chinese version to circumvent this problem. They dedicated 1MB of rdram over the normal* rdram size of 4MB, split into 16 parts, and manage this manually. File object 0x14 (ovl_En_Horse) will always load here, and any files that fail to load onto the heap will attempt to allocate another block in this area. As a result, Traditional REQUIRES an 8MB Expansion Pak. The patch for Simplified uses a different, more practical solution. 64DD features were designed to use 6MB of rdram (not 8MB, funny story), and although 64DD code is not present the memory manager still accepts an argument to use the additional memory when provided. By passing TRUE instead of FALSE, the extra 2MB will be added to the heap when present, happily solving the problem with room to spare. If you wish to experience the bugs in the original release (arguably speeding up the game a smidge), remove your Memory Expansion Pak. *) The "no controller" warning remains in English. *) All 64DD detection and its file substitution mechanism--the entire n64dd code blob in fact--were removed. -Zoinkity