Originally Posted by
Revfan9
Reverse engineering is legal because you can't copyright or patent the function of something, you can only copyright how it works. "Clean Room" reverse engineering is perfectly legal because it provides similar function to another device or piece of software, without stepping on any copyrights by copying how it actually performs its job. ZC's code is very different from how the original Zelda works, but in the end it provides similar function.
ZC isn't technically legal because it uses names, characters, and levels that are copyrighted by Nintendo. If Nintendo wanted to come and shut us down, they could do it easily. They won't, however, since it would take more money to pay the legal force to sift through all the paperwork than they could possibly profit from rubbing us out.
ZC takes up much more RAM than the original game since the original game is a freaking NES title. The original game was programmed to be able to allow the levels, enemies, and areas that are in the game to function properly, and that's it. Ever tried to edit the original Zelda with ROM hacking software? It's inflexible as hell. ZC has to modularize everything to make sure that every software call is always available, to give quest makers the freedom to do whatever they want. Not to mention that ZC has about 1000 times as many features that Zelda.nes does, and that ZC was coded using Allegro which isn't quite the most friendly or efficient library.
It's increased processing requirements has nothing to do with the fact that it's reverse engineered. It takes up more processing because it has more features. Reverse engineering/cloning itself has almost no actual effect on the quality of the end software. So long as the programmers know what they're doing, it won't have significant impact. In many cases, the resulting cloned software is actually much more efficient than the original. (ReactOS, anyone? :3)
We can't have ZC on the Wii right now because of the Allegro library and because of a lack of developer initiative, as well as ZC being closed source software. The Allegro library pretty much can't be ported to other processor architectures without a complete rewrite. I guess you could come up with some freaky emulation solution, but that would in the end just be more trouble than its worth.