Is there a way to compress the N64 ROMs to the "romc" format? by PabloACZ at 8:23 AM EDT on April 13, 2011
AFAIK, the romc compressor made by jurai back in 2009 has a lot of bugs and doesn't work correctly, so it is not an option. Is there any other alternative to that program that really does work?

The romchu program from HCS does a pretty good work at decompressing the romc files from the N64 VC releases, but it lacks the ability of compressing existing files to that format.
by hcs at 8:26 AM EDT on April 13, 2011
I wasn't aware that the old compressor didn't work well, I was told that it produced 1:1 the original files.
When I get some time (this weekend is the most likely) I'll take a crack at it.
by PabloACZ at 12:04 PM EDT on April 13, 2011
Here's the original thread in ElOtroLado: http://www.elotrolado.net/hilo_romc-vc-compressor_1015640.

And no, it really doesn't produce 1:1 files, and has a lot of discrepancies with the file sizes :(. For example, take the romc file from the SSB64 VC release, decompress it to a *.n64 file with your utility and then compress it back to a romc file using the jurai's utility; you'll see it's just not the same: 12MB vs 14MB. The same thing happens if you compare the uncompressed ROMs with a hex editor: they're way too different.

What I mean is, the tool from jurai it's just great, but it doesn't work as it should. I hope you figure this out. Thanks in advance C:
by hcs at 11:07 PM EDT on April 13, 2011
Well my utility is for type 2, the existing compressor is just for type 1, so you wouldn't expect it to be the same. It should still decompress fine, though, the VC decompressor supports both methods.

What I meant was that a type 1 ROM would be recompressed to the same thing. Maybe that isn't the case.

edited 11:08 PM EDT April 13, 2011
by PabloACZ at 1:53 PM EDT on April 17, 2011
Did you find anything useful?
by hcs at 7:59 PM EDT on April 17, 2011
I haven't gotten around to looking at it yesterday, various other projects have sucked up my weekend.
by PabloACZ at 7:12 PM EDT on April 18, 2011
No prob, just take your time.
by PabloACZ at 6:44 PM EDT on May 4, 2011
Well, it seems you were right after all: the Jurai's compressor works very well with type 1 romc files (it really can recreate a 1:1 romc file)... but it still fails at compressing some other ROM's (for example, wrong sizes or game injections that just don't work no matter what you do).

I don't know if this is a problem with the compression routines rather than the program itself. That's exactly why I asked you if it was possible to crack the type 2 compression, to see if it works better than this one. I'll still wait in case you have some news.

edited 7:23 PM EDT May 4, 2011
by hcs at 4:57 PM EDT on May 8, 2011
As I haven't had a chance to work on the compressor, here's something quick you can try.
While I was reversing type 2, I noticed there was a type 0 that seems to be uncompressed. Here's a program that takes a file and adds a type 0 header, I think: romc0
by PabloACZ at 8:30 PM EDT on May 8, 2011
Tested it with a few games; it seems the only difference after using the compressor is that four bytes are added to the header. I got different results with every game:

"02 00 00 00" -> Super Mario 64.
"03 00 00 00" -> Star Fox 64 and Mario Kart 64.
"04 00 00 00" -> Super Smash Brothers.
"08 00 00 00" -> Zelda Ocarina of Time.
"0A 00 00 00" -> Paper Mario.

Is this header value generated randomly or does it depend of the file size of the used ROM? (sorry, I don't understand very well the source code).

Maybe this type 0 romc is the one included in the oldest VC releases that doesn't have any compression. I'll do some comparations and notify you if I see something the matter.
by hcs at 10:03 PM EDT on May 8, 2011
Yes, the header of a romc compressed file stores the file size and the compression type. I'd be interested to see if this works for injection, because then you won't have to bother with a compressor.
by PabloACZ at 11:51 AM EDT on May 27, 2011
No luck, none of the ROMs I looked at have this type of header (the oldest ones with no ROMC compression).

edited 11:52 AM EDT May 27, 2011
by hcs at 9:31 PM EDT on May 27, 2011
I'm telling you to try it in VC titles that do use romc compression. When I looked at the decompression code it accepted all of these types, so I expect that it will work with type 0. They probably wouldn't have used it once romc was available, to save bandwidth and flash space, but I think it is supported.


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source