Hello. I've managed to replace the save data in the WW demo included with the Collector's Edition with a blank version created from the full version of the game. This allows you to start the "demo" from the very beginning with no restrictions (although you still cannot save, thus making savestates pretty much mandatory). If you then extract the WW demo using GC-Tool or an equivalent editor/extractor and convert it to a GCM using TGCtoGCM, you can play almost the entire game without a time restriction as well. The demo definitely works at least up until the Deku Tree (I tested it myself), but I noticed some of the endgame map files are missing, notably the ones for Hyrule, so presumably the entire game is not present.
However, the problem is if you do not extract and convert the WW demo, the 20 minute timer is still in effect (presumably it's part of the Collector's Edition logic). I'm not competent enough to figure out how to disable or remove the timer, either in-memory using some sort of cheat or on-disc by debugging (is there even a GCN debugger?) and finding where the timer is located and disabling it. I thought I'd share my experience and maybe someone else can get it working or at least benefit from knowing what I did.
Basically, the WW demo is stored on the CE disc as a TGC file. Apparently this is pretty similar to a disc image file and can be converted into a GCM image, which can be played on Dolphin or whatever. The WW demo image is very similar to the actual WW image, but it's missing the ending cinematic and some late-game areas as I said earlier. However, there is one addition: under the "res" directory, there is a new sub-directory called "ShopDemo," which contains "zelda_save.bin." This is almost identical to a large section of a memory card save of the full game, but it cannot be modified in-game since it's located on the disc.
However, we can modify this data ourselves. I created a blank memory card save from the full WW game and extracted it to a GCI file using Dolphin's memory card manager. Using a hex editor, I copied the section from address 2040 and going for 1FC0 blocks up to address 4000 into a new blank file called zelda_save.bin. Using GC-Tool, I replaced that file in the extracted demo GCM image with my new one (not updating the filesize, as it should be the same anyway). Lo and behold, the demo works and shows three blank save locations, which lets you start from the beginning.
I couldn't find a way to convert a GCM back into a TGC, but luckily it seems there was no encoding used on the disc itself for this data. I did a search on the full CE image for the first two lines of the original zelda_save.bin and found it at offset 419FD5E8. Replacing it there accomplished the same thing as replacing it in the GCM; upon loading the demo from the CE disc, it let me start from the beginning with three blank saves. However, there was one major difference: the 20 minute timer works when it's loaded from the CE disc, even with this done. Obviously the timer logic is included on the CE disc and not in the demo image.
I'm not sure what I can or cannot include as an attachment, so right now I'm including nothing. All of the tools I've mentioned here should be easily found online and I've provided a way to reproduce my steps, should anyone want to. If someone can assure me it's acceptable, I'd be happy to upload my modified zelda_save.bin.
Edit: Note that I am using the US version of the game. The hex editor I use is HxD.
Also, just to clarify, the extracted and converted version of the WW demo works just fine. No timer or anything, since the timer logic is on the CE disc and not the WW demo image.
Other things people may find interesting:
The OoT and MM roms are stored as tgc images, which can be converted to gcm images (meaning you can play them standalone). The N64 roms can be extracted from those images (which you can also play standalone, but on an N64 or N64 emulator), though they glitch on the final cutscene unless you use a code (this is documented and already known).
The NES roms are stored in a similar way; you can convert them to GCM images just like with the N64 ones. However, I don't know of any tool able to extract the NES roms from those images. But, you can do it yourself with a hex editor. On the original CE disc, Zelda 1 is located at offset 19A749E0 and ends at 19A949EF (20010 in length). Zelda 2 is located at offset 19C148E0 and ends at 19C548EF (40010 in length). The on-disc NES ROM data is very similar to a ROM dump of the original cartridges and the size matches perfectly, so it was pretty easy to find where the data was at. This technique seems like it can be extended to work with some other games with NES data (the bytes to look for are 4E 45 53 1A, the first four bytes of any NES-NTSC rom dump; the endpoint is usually where it would be in the actual NES romdump). Based on my own tests, this is probably not true, as the data appears to be stored differently in other games (such as Animal Crossing and Metroid Prime).
The two N64 games work both on Dolphin and in an N64 emulator. The two NES games work on an NES emulator, but Dolphin fails at running them (that's a bug with their software, though; the standalone GCM images are still valid and would theoretically run fine on a GCN).
However, the problem is if you do not extract and convert the WW demo, the 20 minute timer is still in effect (presumably it's part of the Collector's Edition logic). I'm not competent enough to figure out how to disable or remove the timer, either in-memory using some sort of cheat or on-disc by debugging (is there even a GCN debugger?) and finding where the timer is located and disabling it. I thought I'd share my experience and maybe someone else can get it working or at least benefit from knowing what I did.
Basically, the WW demo is stored on the CE disc as a TGC file. Apparently this is pretty similar to a disc image file and can be converted into a GCM image, which can be played on Dolphin or whatever. The WW demo image is very similar to the actual WW image, but it's missing the ending cinematic and some late-game areas as I said earlier. However, there is one addition: under the "res" directory, there is a new sub-directory called "ShopDemo," which contains "zelda_save.bin." This is almost identical to a large section of a memory card save of the full game, but it cannot be modified in-game since it's located on the disc.
However, we can modify this data ourselves. I created a blank memory card save from the full WW game and extracted it to a GCI file using Dolphin's memory card manager. Using a hex editor, I copied the section from address 2040 and going for 1FC0 blocks up to address 4000 into a new blank file called zelda_save.bin. Using GC-Tool, I replaced that file in the extracted demo GCM image with my new one (not updating the filesize, as it should be the same anyway). Lo and behold, the demo works and shows three blank save locations, which lets you start from the beginning.
I couldn't find a way to convert a GCM back into a TGC, but luckily it seems there was no encoding used on the disc itself for this data. I did a search on the full CE image for the first two lines of the original zelda_save.bin and found it at offset 419FD5E8. Replacing it there accomplished the same thing as replacing it in the GCM; upon loading the demo from the CE disc, it let me start from the beginning with three blank saves. However, there was one major difference: the 20 minute timer works when it's loaded from the CE disc, even with this done. Obviously the timer logic is included on the CE disc and not in the demo image.
I'm not sure what I can or cannot include as an attachment, so right now I'm including nothing. All of the tools I've mentioned here should be easily found online and I've provided a way to reproduce my steps, should anyone want to. If someone can assure me it's acceptable, I'd be happy to upload my modified zelda_save.bin.
Edit: Note that I am using the US version of the game. The hex editor I use is HxD.
Also, just to clarify, the extracted and converted version of the WW demo works just fine. No timer or anything, since the timer logic is on the CE disc and not the WW demo image.
Other things people may find interesting:
The OoT and MM roms are stored as tgc images, which can be converted to gcm images (meaning you can play them standalone). The N64 roms can be extracted from those images (which you can also play standalone, but on an N64 or N64 emulator), though they glitch on the final cutscene unless you use a code (this is documented and already known).
The NES roms are stored in a similar way; you can convert them to GCM images just like with the N64 ones. However, I don't know of any tool able to extract the NES roms from those images. But, you can do it yourself with a hex editor. On the original CE disc, Zelda 1 is located at offset 19A749E0 and ends at 19A949EF (20010 in length). Zelda 2 is located at offset 19C148E0 and ends at 19C548EF (40010 in length). The on-disc NES ROM data is very similar to a ROM dump of the original cartridges and the size matches perfectly, so it was pretty easy to find where the data was at. This technique seems like it can be extended to work with some other games with NES data (the bytes to look for are 4E 45 53 1A, the first four bytes of any NES-NTSC rom dump; the endpoint is usually where it would be in the actual NES romdump). Based on my own tests, this is probably not true, as the data appears to be stored differently in other games (such as Animal Crossing and Metroid Prime).
The two N64 games work both on Dolphin and in an N64 emulator. The two NES games work on an NES emulator, but Dolphin fails at running them (that's a bug with their software, though; the standalone GCM images are still valid and would theoretically run fine on a GCN).