Rinku Posted January 3, 2014 Share Posted January 3, 2014 Hello there, I would like to know if there's any tool to decompress any Zelda ROMs, especially Majora's Mask ROMs, especially the MM debug ROM? I've read about a tool called zdec but I couldn't find any download links; I don't know how old it is and if it is the only decompressing tool. Thank you very much for reading! Link to comment Share on other sites More sharing options...
0 mzxrules Posted January 3, 2014 Share Posted January 3, 2014 You can find zdec packaged with Utility of Time. From my experience with creating Dungeon Rush, zdec causes some minor graphical bugs and graphic exceptions, but these disappeared when I recompressed the rom. Link to comment Share on other sites More sharing options...
0 Rinku Posted January 4, 2014 Author Share Posted January 4, 2014 Thank you very much! I found zdec. I am now following a tutorial to use it, but it won't work because my ROM is .n64 and not .z64. What is the difference between them? How to convert it? Thank you! Link to comment Share on other sites More sharing options...
0 CloudMax Posted January 4, 2014 Share Posted January 4, 2014 You can most likely just change the extension manually on the ROM file if it isn't .z64 Link to comment Share on other sites More sharing options...
0 Rinku Posted January 4, 2014 Author Share Posted January 4, 2014 I tried to, but it says: Error, abnormal ROM. (I'm using the MM debug ROM.) Link to comment Share on other sites More sharing options...
0 Jason777 Posted January 4, 2014 Share Posted January 4, 2014 I .n64 is little-endian. You'll need to run it through a byte-swapper first. Link to comment Share on other sites More sharing options...
0 Rinku Posted January 4, 2014 Author Share Posted January 4, 2014 I byte-swapped it to big-endian with xdaniel's SceneNavi, but it didn't change the extension automatically (or rather it lets you choose the whole name and extension of the ROM), so I got a byte-swapped ROM who had still a .n64 extension; so I changed the extension manually to .z64. But it still says "abnormal ROM". Link to comment Share on other sites More sharing options...
0 CloudMax Posted January 4, 2014 Share Posted January 4, 2014 (edited) I .n64 is little-endian. You'll need to run it through a byte-swapper first. Ah, that's right. Though, I didn't have to byteswap mine before using zdec (Didn't have a tool for that until a few days ago when I downloaded GZRT). I guess I just happened to download one that already was byte-swapped. I have such a hard time finding clean ROMs these days, especially OoT Debug ROM, where I don't even own a perfectly clean one anymore. They always have the room fixes. So by default .n64 SHOULD be little-endian, and .z64 byte-swapped? I didn't actually know that. I guess you learn something new every day. Edited January 4, 2014 by CloudMax Link to comment Share on other sites More sharing options...
0 Guest Posted January 4, 2014 Share Posted January 4, 2014 So by default .n64 SHOULD be little-endian, and .z64 byte-swapped? I didn't actually know that. I guess you learn something new every day. Except of course when Nintendo itself decides to use .n64 on big-endian ROMS (e.g. Zelda Collector's Edition) Also IIRC zdec doesn't work on the MM Debug ROM; SoD made a modified z64dump or something that was able to decompress it I believe. Link to comment Share on other sites More sharing options...
0 xdaniel Posted January 4, 2014 Share Posted January 4, 2014 File extensions are quite arbitrary, so they're not a reliable way to detect endianness, although I believe .z64 files should be big-endian, .v64 little-endian and .n64 middle-/mixed-endian. As far as I know: First and ninth byte in ROM are 0x80 = big-endian = .z64 Second and tenth byte in ROM are 0x80 = middle-endian = .n64 Fourth and twelfth byte in ROM are 0x80 = little-endian = .v64 That's how SceneNavi detects which endianness a given ROM has. Also: http://en.wikipedia.org/wiki/Endianness#Examples_of_storing_the_value_0A0B0C0Dh_in_memory (just waiting for someone to point out I read the wikipedia article wrong or something, wouldn't bloody surprise me today...) Link to comment Share on other sites More sharing options...
0 Rinku Posted January 4, 2014 Author Share Posted January 4, 2014 xdaniel -> I don't remember ever seeing .v64 files, but I do have .rom files. Do you know what these are? Where could I find that tool by SoD? I searched for topics here on the GCN but I didn't find anything. Link to comment Share on other sites More sharing options...
0 xdaniel Posted January 4, 2014 Share Posted January 4, 2014 .rom, just like ex. .bin, is a super-generic file extension that could be anything, really. Easiest would probably be you open your .rom files in a hex editor and have a look at the bytes I mentioned in my last post, i.e. where the 0x80 bytes are near the start. That should tell you what endianness they have, and thus if they are (meaning, "would usually be named") .v64, .z64 or .n64. .v64 files are ROMs intended for and/or dumped using a Doctor V64 backup unit; .z64 files in turn got their "name" from the Z64 backup unit. Link to comment Share on other sites More sharing options...
0 Rinku Posted January 4, 2014 Author Share Posted January 4, 2014 In big-endian ROMs, there's also the title "ZELDA MAJORA'S MASK" that can be read, while others give things like "EZDL AAMOJARS'M SAK". Link to comment Share on other sites More sharing options...
0 Vexiant Posted January 5, 2014 Share Posted January 5, 2014 Differences between N64, V64 and Z64. Link to comment Share on other sites More sharing options...
0 Rinku Posted January 5, 2014 Author Share Posted January 5, 2014 I searched for SoD's tool, but I didn't find any release. Does anyone have a download link? Thank you! Link to comment Share on other sites More sharing options...
0 Rinku Posted January 7, 2014 Author Share Posted January 7, 2014 Sorry for double post: Problem resolved! I took an MM (E) ROM, searched for the last seemingly used bytes (following these bytes was a probably unused space with repeating bytes), searched for the same bytes in MM debug ROM and found them right before the padding space and the OoT Dump. I cut the whole padding space and OoT Dump out of the ROM. Now zdec works with it and decompressed Majora's Mask Debug ROM! Link to comment Share on other sites More sharing options...
Question
Rinku
Hello there,
I would like to know if there's any tool to decompress any Zelda ROMs, especially Majora's Mask ROMs, especially the MM debug ROM?
I've read about a tool called zdec but I couldn't find any download links; I don't know how old it is and if it is the only decompressing tool.
Thank you very much for reading!
Link to comment
Share on other sites
15 answers to this question
Recommended Posts