Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: RetroRain on September 21, 2015, 09:28:30 pm

Title: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: RetroRain on September 21, 2015, 09:28:30 pm
I've read this page:

http://www.romhacking.net/system/common/rominfo.html

And I'm not ashamed to say that even after reading that, I just don't get it.

About a month ago, before I started work on my Zelda Optimum hack, I took all of my mapper conversions out of the pack I had, and tried to upload them all onto the RHDN database, but they all got rejected because I didn't provide adequate ROM/ISO information.

I can put the ROM name (for instance "Megaman (USA).nes"), and according to that page, I can use a hex editor such as HxD to get the checksum, but all of the other information, I'm not sure how to go about getting (I don't even know what the hell it all means).

I would just like to know what's the easiest way going about getting the ROM/ISO information, so that I can upload my hacks without having a problem.

Thanks.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Disch on September 21, 2015, 09:36:55 pm
For an NES ROM, you can get the CRC/MD5 from FCEUX.

Load up the original unmodified ROM, go in Help | Message Log.  It should give you a bunch of info about the ROM.

A suitable entry would be:

Quote
GoodNES name:  Adventures of Lolo 2 (U) [!].nes
ROM CRC32:  0x1992d163
ROM MD5:  0x6ea5a463d04ddc42e9483dcfef86b0cf

The idea is to remove ambiguity over which version of the ROM the patch requires.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: RetroRain on September 21, 2015, 10:32:28 pm
Alright, thanks Disch.  I'll take a look at it.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Zynk on September 21, 2015, 11:34:22 pm
For an NES ROM, you can get the CRC/MD5 from FCEUX.

We prefer that you use ROMHasher or GameHeader for generating ROM information tho
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Disch on September 21, 2015, 11:57:50 pm
We prefer that you use ROMHasher or GameHeader for generating ROM information tho

Does it matter?  Does FCEUX compute it incorrectly or something?

EDIT:

I guess ROMHasher includes SHA-1 hashes as well as optionally including the header in the hash.  But yowsa 1.5 MB download just to generate hashes when an emu you're already using has the same functionality built in?
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: RetroRain on September 22, 2015, 12:29:15 am
I had my Megaman 2 MMC5 Patch rejected because I already released Megaman 2 Optimum, which is MMC5 + CHR-ROM.

My MMC5 patch is simply that, a conversion to MMC5.  The game uses its original CHR-RAM, where-as my Optimum pach uses CHR-ROM, and it took me a month to make.

Could you please re-instate my submission?  There was no reason for it to be rejected.

Thank you.

~RetroRain
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Zynk on September 22, 2015, 01:35:46 am
I had my Megaman 2 MMC5 Patch rejected because I already released Megaman 2 Optimum, which is MMC5 + CHR-ROM.

My MMC5 patch is simply that, a conversion to MMC5.  The game uses its original CHR-RAM, where-as my Optimum pach uses CHR-ROM, and it took me a month to make.

Could you please re-instate my submission?  There was no reason for it to be rejected.

Thank you.

~RetroRain
But they essentially do the same thing, there is no point making another page. I suggest adding that patch with the MM2Optimum page.


Does it matter?  Does FCEUX compute it incorrectly or something?

EDIT:

I guess ROMHasher includes SHA-1 hashes as well as optionally including the header in the hash.  But yowsa 1.5 MB download just to generate hashes when an emu you're already using has the same functionality built in?
GameHeader is 125kb tho. I'm not saying you can't use what the emulator generates tho, as long as the crc32 or md5 or whatever info that has the match for the base rom used for the patch are provided.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Recca on September 22, 2015, 01:55:43 am
I hate to be rude, but in my honest opinion, I find this whole new policy with the ROM/ISO information to be rather annoying and pointless. Most people don't even know what any of it actually means. Wouldn't it be enough to just have a readme text file included with the patch that says "use version 1.0 or 1.1 of the ROM - headered or unheadered" or whatever?

Before I was able to finally submit my Silva Saga-II translation last year, it was rejected about two or three times because I didn't add this useless information in the ROM/ISO field. I had to ask my team mates for it just so I could get past this new field requirement for submissions.

I'm not saying that it should be removed, but could it at least be made an optional field? I firmly believe that if RHDN keeps up this new rigid enforcement of pointless rules and requirements, many fans will stop submitting hacks and translations here because they simply don't want to put up with their submissions being constantly rejected. This otherwise great site will then miss out on many possible future hack and translation submissions. Again, I don't mean to be neither rude nor pushy. This is merely a suggestion, not an order, nor anything else.

Thank you very much for your time and understanding in this manner (holds for applause)... :laugh:
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Disch on September 22, 2015, 02:09:53 am
I don't hate to be rude, but IPS is a completely retarded format and is the cause of all these ambiguities in the first place.  And any halfway respectable patch format would have the ability to do a basic CRC to make sure you're patching the correct file and at least give a warning if you're not.

If you're worried about ambiguities in patches -- maybe requiring new hacks be submitted in a less naive format is a better approach than having the submitter specify MD5s that most people are going to ignore anyway.  It might be an inconvenience at first, but if any site has the weight to push people away from the POS format that is IPS, it's this site.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: RetroRain on September 22, 2015, 02:14:21 am
But they essentially do the same thing

(http://api.ning.com/files/7fSVyjXLzVg7HYQx7VIYXXOkKPfFeC4QhNaLIwoG7xF7yO-gyFNM7byqwFU0hhEo4kRpynUNm9ylXWkZWyuNw-rdTykydoRw/picardfacepalm2_0.jpg?width=550)

The difference between the two patches is huge.  There is a big code and graphical difference in MM2 Optimum.  I wanted to keep them separate.  The MMC5 patch actually came first, but I uploaded Optimum instead.  I feel it is better for people to have more options.  They can use MMC5 with CHR-RAM, or MMC5 with CHR-ROM.  It is their choice.

So if I get my Zelda MMC5 patch approved, and then I decide to go and upload my Zelda Optimum hack (which is MMC5 + CHR-ROM), that will get rejected also?

I can add my MM2 MMC5 patch to the Optimum page, yes, but then I'd have to post a link to where I have it on acmlm.kafuka.org.  I thought the RHDN database was meant as a more official place for hacks.  Incase my hack ever got deleted on acmlm.kafuka.org, it would still be on RHDN.  You can't submit more than one file on a RHDN hack submission.

So from what you're saying, I have to link to the standard MMC5 patch in the hack description.

I'm not going to make anymore issue out of it.  If that's the way it is, then that's the way it is.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Zynk on September 22, 2015, 04:19:24 am
The difference between the two patches is huge.  There is a big code and graphical difference in MM2 Optimum.  I wanted to keep them separate.  The MMC5 patch actually came first, but I uploaded Optimum instead.  I feel it is better for people to have more options.  They can use MMC5 with CHR-RAM, or MMC5 with CHR-ROM.  It is their choice.
(http://api.ning.com/files/7fSVyjXLzVg7HYQx7VIYXXOkKPfFeC4QhNaLIwoG7xF7yO-gyFNM7byqwFU0hhEo4kRpynUNm9ylXWkZWyuNw-rdTykydoRw/picardfacepalm2_0.jpg?width=550)

All right then. Just let the queues get cleared first.

And any halfway respectable patch format would have the ability to do a basic CRC to make sure you're patching the correct file and at least give a warning if you're not.
Isn't that what the bps patcher does?

Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Disch on September 22, 2015, 05:14:20 am
Isn't that what the bps patcher does?

It's one of the many things BPS does better than IPS.

Seriously, IPS sucks.  Hard.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: puzzledude on September 22, 2015, 10:39:46 am
Quote
Seriously, IPS sucks. Hard.
Thumbs up. There is also a German "version" of a romhacking site and guess what, IPS is not allowed. All patches are required to be in UPS format (which has a CRC validation of the original rom and will not patch if CRC of the original rom doesn't match), plus all patches have a txt with the info on original rom again in crc and if it needs to be headered or unheadered and a version as well US, EU, Jap, Ger). This should be a rolemodel.



Quote
I hate to be rude, but in my honest opinion, I find this whole new policy with the ROM/ISO information to be rather annoying and pointless. Most people don't even know what any of it actually means. Wouldn't it be enough to just have a readme text file included with the patch that says "use version 1.0 or 1.1 of the ROM - headered or unheadered" or whatever?
Unfortunatelly thats not enough. Every patch needs to have the exact ID of the original rom to patch to. Usually the CRC checksum will do, but ofcourse the MD5 and SHA are too much, however one byte can still be different on identical CRC. So the MD5 id checksum is necessary. It's like going into the bank, you need your personal bank account: id est a number.

When dealing with IPS, you also need such an id number for the original rom to patch to. If the number doesn't match, the patching will produce a bugged rom. So the Rom/Iso info is vital, as well as the header info (since sometimes the header is not included into the id number, which is a false thing to do).

Mandatory info should be this: the id of the original rom (but CRC and MD5 only) and also of the correctly patched rom. And the header should be included into the id calculation. 4 numbers which would ensure correct patching.

The other possibility would be to unallow IPS and switch to UPS format or xdelta. Anything which has this id CRC calculation info in the patch itself and won't allow patching if the original rom CRC is not the same from the one the author used to create the patch.

Of course I agree though that the submission process is quite complex in general.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: FAST6191 on September 22, 2015, 11:06:58 am
Though I am certainly no fan of IPS (no relocation, no hashing, offsets a kind of hack/addition if available at all, adding data on being tricky, 16 megs or thereabouts max file size if windows/offsets not supported...) it is supported by various emulators, flash carts (as in actually in hardware), flash cart programs, is output by various editing programs if you want it to be and other things that might be easier said than done on matters of changing them. It has been a while since I looked at the UPS spec and I am not even going to humour something like xdelta in this but if memory serves it would be considerably harder to do UPS at microcontroller/already overloaded programmable chip level, assuming you are not going to do a limited feature set, than it would be to do IPS. Also there would probably have to be a debate for the new format -- UPS falls quite short on some of the newer (but still non current) systems.
To that end I think I would sooner back a call for more hardline approach to the base ROM supported (only with ? type of header, only non interleaved, only untrimmed....) first, and I am very unlikely to do that.

What is the collision rate or lack of change for small changes for CRC32 then? I was under the impression it was more than reasonable for basic corruption detection and verification.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: RetroRain on September 22, 2015, 11:20:41 am
All right then. Just let the queues get cleared first.

Thank you.  Do I have to go through the submission process again?  Or will you approve it once the queues get cleared?

puzzledude, I tried to send you a PM, but I guess you have PMs blocked or something.  It was nice to see a reply from you.  I hope things have gotten better for you. :)

Disch, thanks again for your help.  I now know how to fill in the ROM/ISO information of the hack submission page. :)
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: KingMike on September 22, 2015, 12:14:33 pm
Does it matter?  Does FCEUX compute it incorrectly or something?

FCEUX ignores the header when it calculates the hashes.

Actually, CRC validation could create another annoyance with NES patches: header garbage.
Back in the Nesticle days, some people (such as whoever/whatever "DiskDude!" was) would insert garbage in the headers (including byte 0x7, which is the high bits of the mapper number, since apparently the last Windows version, the most widespread, of Nesticle didn't support beyond mapper 15). Unfortunately while Nesticle died, that crap got into the "GoodNES" database as "good" ROMs where it lived on forever, as the most commonly distributed ROMs on the Internet as GoodNES became the defacto standard in NES ROM sets. Can only imagine how many ROM hackers made hacks out of those ROMs and were unaware of the issue.
I think I may even once deliberately made a patch with a cleaned header against one with a dirty header as, in IPS format, that would wipe that crap out as a bonus to ensure no complaints of "it doesn't work" because of a corrupted header.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Disch on September 22, 2015, 12:56:53 pm
FCEUX ignores the header when it calculates the hashes.

Actually, CRC validation could create another annoyance with NES patches: header garbage.

Perhaps that's why FCEUX ignores the header?  :P

I know all about DiskDude and the unreliability of iNES headers.  But frankly this is another problem entirely.

If we are comparing the merits of a CRC validated patch format vs. IPS -- any problem that exists with CRC validation will exist with IPS.  The only difference is that with IPS you won't know about the problem because it will just silently succeed and leave you with a ROM that doesn't work.  Whereas with validation you'll at least get a warning/error message saying the source ROM is the wrong version.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: STARWIN on September 22, 2015, 01:08:52 pm
I believe the current guidelines are somewhat broken as far as NES hacks are concerned. While it is clear that a checksum is required, it is not clear if it is over the header or not. I think the rominfo page would on average cause the file checksum to be provided (which then differs from what FCEUX or ROM Hasher shows, for example). Any "CRC32" currently given could refer to either, and even if you clarify the supposed interpretation, those old checksums will stay. And what if an old hack or translation specifies file/ROM checksum in its readme as opposed to what RHDN would currently require? Hence the field for NES should always specify file or ROM..

Regarding IPS being outdated, there is one more property that IPS fulfills and a checksum-enforcing patching format doesn't: the ability to patch a small hack / hack component to any version of a ROM (assuming they are similar enough). It would be seriously annoying to require a patch format that would disallow high compatibility hacks. For this use case file/ROM checksums are too broad, instead a checksum over the sequences of patched byte locations would work (yet shouldn't be enforced even then).
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: puzzledude on September 23, 2015, 06:22:24 am
Quote
puzzledude, I tried to send you a PM, but I guess you have PMs blocked or something. It was nice to see a reply from you. I hope things have gotten better for you.
The setting should be fixed now.

Quote
While it is clear that a checksum is required, it is not clear if it is over the header or not. I think the rominfo page would on average cause the file checksum to be provided (which then differs from what FCEUX or ROM Hasher shows, for example).
ROM/ISO info should be changed into Original file info, and the hashes should always be provided for the whole file. If headered file is necessary, then the info should be different from the situation, where the unheadered file is necessary.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: ShadowOne333 on September 23, 2015, 01:09:53 pm
@Rockman

Why don't you add the MMC5 patch to the Optimum release?
You could do the same with other Optimum releases of yours.

Simply add the complete Optimum patch along with another patch that has only the MMC5 modification in a nice .RAR
Just be sure to edit the hack description to mention what each one of the two patches does.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: snarfblam on September 23, 2015, 08:53:14 pm
I believe the current guidelines are somewhat broken as far as NES hacks are concerned. While it is clear that a checksum is required, it is not clear if it is over the header or not.

It is not required to be either, but I'd strongly recommend you state which one you're providing if you make a submission. Emulators will give you a hash on the unheadered ROM. General purpose hashing utilities will give you a hash that includes the header (and byte-swapping/interleaving/overdump/etc). Or, for completeness, you can provide both. ROM Hasher (http://www.romhacking.net/utilities/1002/) spits out something like this, and couldn't possibly be easier to use. Everyone is also certainly more than welcome to use a format that does file verification.
Quote
No-Intro Name: Sonic 3D Blast ~ Sonic 3D Flickies' Island (USA, Europe)
(No-Intro version  20130710-102701)
File SHA-1: 576F578D0ED9740A0325F6EB4C7530D86123DD29
ROM SHA-1: 89957568386A5023D198AC2251DED9DFB2AB65E7

In the case of NES, if you see that the file hash is wrong but the ROM hash is right, you can be pretty certain it's just a case of header garbage.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: RetroRain on September 24, 2015, 01:01:34 am
@Rockman

Why don't you add the MMC5 patch to the Optimum release?
You could do the same with other Optimum releases of yours.

Simply add the complete Optimum patch along with another patch that has only the MMC5 modification in a nice .RAR
Just be sure to edit the hack description to mention what each one of the two patches does.

Because sometimes the simplest way to do something just doesn't occur to someone.

That's a good idea.  I don't know why it didn't even occur to me to do that.  You're right, I CAN put both patches in a single zip/rar file.  Such an easy thing to do, and yet I didn't even think to do that.

Thanks for the advice.  I'll keep it in mind the next time I have two different versions. :)
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: Recca on September 24, 2015, 02:36:23 am
I disagree with the idea of removing IPS patches completely. For starters, it's a very small and simple to use file that is still the most commonly known and used. For ROM hackers, it's not a big deal what type of file they use for patching, but most gamers have no idea how to use anything besides an IPS patch. Not only are IPS patching utilities easier to use than those of other types, but they also allow for the soft patching method with Zsnes and Snes9x.

RHDN could encourage people to not use them anymore, but not ban them completely. Doing so will stop many potential ROM hacks and translations from being submitted to this site anymore in the future. Besides, do you really want to see a ton of people asking "how do I patch this" or "how do I use this patch"?

I believe that it's best to allow people to choose for themselves what they want to do and which patch format to use. We at Dynamic-Designs for example, have multiple patch formats available for download for most of our projects (including all the current ones, but there's plans to release multiple patch formats for some of the older translations as well). Besides, what's the point in using new patch formats for old gaming systems such as the SNES when IPS does the job rather well? I understand updating the patch types used for newer and larger systems, not the older small ones that have games under 16 MB...

By the way, not to get off topic here, but what's with all the Zsnes hate lately? Sure it's not the most accurate emulator for ROM hacking and beta testing, but it's still damn good for gaming in general. And yes, I know that there's a few games that don't work well or even at all with Zsnes, but that's where Snes9x comes in handy. When it comes to casual gaming, most people on gaming and emulation sites still prefer Zsnes, followed by Snes9x in that order. For example, I still use Zsnes for playing most games and Snes9x for beta testing translations and playing games that don't work well with Zsnes. It may be a bit out of date, but it's still a great emulator nonetheless in my opinion. Not to mention, one of the first SNES ones ever made, as well as small in size, simple to use, functional and requiring no installation.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: SunGodPortal on September 24, 2015, 02:52:32 am
Quote
Besides, do you really want to see a ton of people asking "how do I patch this" or "how do I use this patch"?

Aren't there already posts like that every day? :P

I like IPS for reasons that have already been expressed. When I patch a ROM and it doesn't work right I add/remove the header (with Tush or a hex editor) and see if that does the trick. If it doesn't I just download the ROM from a different site. If there were problems of this sort (which were incredibly rare) I was usually able to find the right ROM with the 2nd or 3rd download. These days I have the knowledge and skills to take a more calculated approach but I don't because the way I just described doesn't require much thought. "Oh. This ROM doesn't work. Google. Download." and in a matter of a minute or two it's all sorted out with next to no thought or effort. Any idiot can do that (even without the header add/removal part) and find the right ROM for the hack. If they can't then they're even lazier than me and don't deserve to play hacks. They should just stick to checkers.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: puzzledude on September 24, 2015, 07:29:30 am
Quote
I disagree with the idea of removing IPS patches completely. For starters, it's a very small and simple to use file that is still the most commonly known and used. For ROM hackers, it's not a big deal what type of file they use for patching, but most gamers have no idea how to use anything besides an IPS patch. Not only are IPS patching utilities easier to use than those of other types, but they also allow for the soft patching method with Zsnes and Snes9x.
Not really, the UPS patching is identical to IPS patching. The UPS is the "next gen" derivate of IPS and easy to use as well. Shame that IPS "has won" the battle and that everything is based on it, specially soft patching. It would be easy to implement soft patching for UPS, I believe the new Snes9x actually has the UPS soft patching programed already.

Quote
RHDN could encourage people to not use them anymore, but not ban them completely. Doing so will stop many potential ROM hacks and translations from being submitted to this site anymore in the future. Besides, do you really want to see a ton of people asking "how do I patch this" or "how do I use this patch"?
The author of the hack can make the UPS as easy as IPS. If the IPS exists and if any user knows how to correctly patch it, the additional/alternative patch can be easily made.

And the person who is patching it should have no problems when patching IPS or UPS or any other format actually, since the process is always the same or similar.

But there is one difference: IPS patch can produce false of bugged roms (due to patching to the wrong original file), other patching formats don't. I really don't understand why this format has won, or why wan't it updated with that easy-to-implement CRC checksum validating before the patching is actually processed. Then it would be the best patching format for small games.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: mziab on September 24, 2015, 08:30:47 am
Not really, the UPS patching is identical to IPS patching. The UPS is the "next gen" derivate of IPS and easy to use as well. Shame that IPS "has won" the battle and that everything is based on it, specially soft patching. It would be easy to implement soft patching for UPS, I believe the new Snes9x actually has the UPS soft patching programed already.

UPS was actually deprecated by byuu when some of its inherent flaws came to light. One of them was that the patches weren't reversible in all circumstances (AFAIR if you used expansion), basically defeating the main selling point of XOR patching. Another was that the spec had some ambiguities which could lead to unintended differences between implementations. BPS drops the reversible patching aspect and simplifies the spec, while introducing delta patching, which is useful in some scenarios. All in all, I personally believe it to be a superior format. And if memory serves, newer builds of Snes9x have both UPS and BPS soft-patching support.
Title: Re: I don't understand the ROM/ISO Info Section when submitting a hack
Post by: ShadowOne333 on September 24, 2015, 10:46:18 am
Because sometimes the simplest way to do something just doesn't occur to someone.

That's a good idea.  I don't know why it didn't even occur to me to do that.  You're right, I CAN put both patches in a single zip/rar file.  Such an easy thing to do, and yet I didn't even think to do that.

Thanks for the advice.  I'll keep it in mind the next time I have two different versions. :)

No need to thank. :)

Just trying to be of help, glad you can work it out that way, I find it rather simple and easy so that you don't have to deal with that kind of problems with the submissions.
Just remember to add a description in the Hack's page about each patch like:
Quote
Optimum: Contains a MMC5 + CHR-ROM conversion of the game.
MMC5: Contains only a MMC5 conversion of the game, while retaining the original CHR-RAM.

Add that and you're good to go. :)

----------------------------

On a side note, what is going on with the constant IPS/UPS/BPS patch discussion?
Isn't that a little out of topic here?