News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Author Topic: "Fixes" to info on NES Translations in the Fully Playabe state  (Read 749 times)

firedropdl

  • Jr. Member
  • **
  • Posts: 42
    • View Profile
Hey everybody,

I've gone through all of the Fully Playable NES games.  Assuming that the CRCs given were correct on all of the roms that matched, most games had good information about pre-patched rom checksum values.

In the end, there were only 9 games that I will need to try to contact the authors to clear things up.  There were quite a few that had some issues though that I was able to figure out on my own.  I tried my best to document this stuff along the way because I wanted to post the info here.  Hopefully somebody could verify and update the pages at some point, but in the mean time this thread could be used to correct issues people may have with these patches in the future.  I will list them in alphabetical order. (I will update the 9 bad ones if I get good info from the authors).

It should be assumed that if the game is an NES Translation in the Fully Playable state on or before 8/17/2017 and it is not on this list that the rom with the CRC32 and/or MD5 or other check is actually out there.  A vast majority of them can be found in GoodNES 3.23b or the recent No-Intro set, but a handful of them are quite a bit trickier to locate.  Google is your friend.   ;D

Without further ado, here's the list:

1. 1991 Horse Racing - NEED TO TALK TO PACNSACDAVE ABOUT THIS. http://www.romhacking.net/translations/2227/

[NOT IN GOODNES 3.23b, 74967338fcfc1603c0758300445fe0d3 on [website withheld... google the MD5] as "1991 Du Ma Racing (As).nes", but the download is b41815bbb496c5505b3c113d5db51511.  Can't find this MD5 anywhere else.  Headerless and patched roms don't match either.]

2. The Black Bass http://www.romhacking.net/translations/3167/

    Black Bass, The (J) [!].nes (GoodNES v3.23b)
    CRC: 73BCCC8B

(The above rom/CRC matches the MD5/SHA-1 values that are provided on the Romhacking page, but it is a different CRC.  CRC listed on Romhacking is 50622D20)


3. Dash Rascal http://www.romhacking.net/translations/2214/

MISSING CRC VALUE: 2DDD5F68


4. Dr Jekyll and Mr Hyde http://www.romhacking.net/translations/1571/

    Jekyll Hakase no Houma ga Toki (J) [!].nes (GoodSET 3.23b)
    CRC: A5B34384
    PATCHED CRC: 7D66F653

CRC listed on page is for the headerless version.


5. Dragon Knife http://www.romhacking.net/translations/2196/

MISSING CRC VALUE: FC87ABB1


6. Dragon Ninja http://www.romhacking.net/translations/1544/

    Dragon Ninja (J) (PRG0) [!].nes (GoodSET 3.23b)
    CRC: DB6EF617
    PATCHED CRC: 5970CF2A

CRC listed on page is for the headerless version.


7. Flowering Star Highway http://www.romhacking.net/translations/2382/

    Hana no Star Kaidou (J) [!].nes (GoodNES 3.23b)
    CRC32: 5962A10D
    PATCHED CRC: C6034187

(The above rom/CRC matches the MD5/SHA-1 values that are provided on the Romhacking page, but it is a different CRC.  CRC listed on Romhacking is 1222029D)


8. Game Party http://www.romhacking.net/translations/2469/

    Game Party (J).nes (GoodSET 3.23b)
    CRC: 9C744BC3
    PATCHED CRC: E81E2062

CRC listed on page is for the headerless version.


9. Ganbare Goemon Gaiden http://www.romhacking.net/translations/3079/

MISSING CRC VALUE: 1D2DBC90


10. Gun-Dec http://www.romhacking.net/translations/2319/

MISSING CRC VALUE: 4B08E280


11. Journey to the West http://www.romhacking.net/translations/2471/

    Ganso Saiyuuki - Super Monkey Daibouken (J) [!]nes (GoodNES v3.23b)
    CRC32: 74DE437A
    PATCHED CRC: F6BC9964

(The above rom/CRC matches the MD5/SHA-1 values that are provided on the Romhacking page, but it is a different CRC.  CRC listed on Romhacking is e8faf3ca)


12. Keisan Game - Sansuu 1 Toshi http://www.romhacking.net/translations/1999/

    Sansuu 1 Nen - Keisan Game (E) [hM03][a1].nes (GoodSET 3.23b)
    CRC: 45BB53C6
    PATCHED CRC: 73957C84

(Romhacking's listed ROM CRC and MD5 is this ROM after it was patched, and after the header was stripped out!!!)


13. Keisan Game - Sansuu 2 Toshi http://www.romhacking.net/translations/2000/

    Sansuu 2 Nen - Keisan Game (J) [b1].nes (GoodSET 3.23b)
    CRC: AAAEAAB5
    PATCHED CRC: 24D57E98

CRC listed on page is for the headerless version.


14. Keisan Game - Sansuu 3 Toshi http://www.romhacking.net/translations/2002/

    Sansuu 3 Nen - Keisan Game (J) [hM03].nes (GoodSET 3.23b)
    CRC: CE2F2E71
    PATCHED CRC: 18D5139D

(Romhacking's listed ROM CRC and MD5 is this ROM after it was patched, and after the header was stripped out!!!)


15. Keisan Game - Sansuu 4 Toshi http://www.romhacking.net/translations/1998/

    Sansuu 4 Nen - Keisan Game (J) [!].nes (GoodSET 3.23b)
    CRC: C461327A
    PATCHED CRC: D91CCD93

CRC listed on page is for the headerless version.


16. Keisan Game Sansuu - 5&6 Toshi http://www.romhacking.net/translations/2007/

    Keisan Game Sansuu - 5&6 Toshi.nes (GoodSET 3.23b)
    CRC: D587CD41
    PATCHED CRC: 953F9645

CRC listed on page is for the headerless version.


17. Labors of the Divine Hero http://www.romhacking.net/translations/1681/

Rom Name: Herakles no Eikou - Toujin Makyou Den (J) [!].nes (GoodNES 3.23b)
CRC: 825F8089

(Page says it is usable on "both" versions.  Might as well just have the verified GoodNES value.)


18. Lagrange Point - NEED TO TALK TO AEON GENESIS ABOUT THIS. http://www.romhacking.net/translations/2294/

[NOT IN GOODNES 3.23b, patch page says that listed CRC/MD5 values came from a bad rom.  Can't locate the bad rom anywhere and "turning off SRAM" is above my paygrade.  What values should you apply the patch to?]


19. Light of Indra - http://www.romhacking.net/translations/3153/

    Original ROM, including header (128 KB):
    ROM: Indora no Hikari (J) [!].nes (GoodNES 3.23b)
    CRC32: FF03672E

    Above expanded to 256KB with NFlate:
    CRC32: F51AFBD7

    Final patched/translated rom:
    CRC32: 3B5CCB05

20. Little Ninja Hattori - NEED TO TALK TO PACNSACDAVE ABOUT THIS. http://www.romhacking.net/translations/2220/

[NOT IN GOODNES 3.23b, 9c00ae27de4ff78ae8675fdaa5fbf0d9 on [website withheld... google the MD5] as "Ninja Hattori Kun (J) [b1].nes", but the download is 5ba531e244ca12dc05a677b728a187c3.  Can't find this MD5 anywhere else.  Headerless and patched roms don't match either.]


21. Mashin Hero Wataru Gaiden http://www.romhacking.net/translations/1816/

CRC: B563981F
GoodNES Name: Mashin Eiyuu Den Wataru Gaiden (J) [!].nes
No-Intro Name: Mashin Eiyuu Den Wataru Gaiden (Japan).nes

(No idea if this is right since the page and readme doesn't specify any checks at all.)


22. Mini Putt http://www.romhacking.net/trans/185/

    Mini Putt (J) [!].nes (GoodSET 3.23b)
    CRC: 098AD414
    PATCHED CRC: 892C61BE

CRC listed on page is for the headerless version.


23. Monkey King - NEED TO TALK TO PACNSACDAVE ABOUT THIS. http://www.romhacking.net/translations/2394/

[NOT IN GOODNES 3.23b, the few versions I could find of this have MD5's of 99d210d6e6de3aa31b08a311632d86df "Monkey King (Unl).nes" and 71a4b2977f8bc8c15905749e10e38a95 "Monkey King (Ch) (Wxn).nes"]


24. Murder on the Mississippi http://www.romhacking.net/translations/3133/

    Mississippi Satsujin Jiken (J) [!].nes (GoodNES v3.23b))
    CRC: 5D003EAD
    PATCHED CRC: F698E872

(The above rom/CRC matches the MD5/SHA-1 values that are provided on the Romhacking page, but it is a different CRC.  CRC listed on Romhacking is 52366456)


25. Ninja Kid's Demon Castle Adventure - NEED TO TALK TO PACNSACDAVE ABOUT THIS. http://www.romhacking.net/translations/2219/

[NOT IN GOODNES 3.23b.  Can't find 2F453F9834472EEDDA95C48964C3EF10 anywhere.  13994a3710af239dfea41e7abe478aeb on [website withheld... google the MD5] as "Ninja Kun - Ashura no Shou (J) [b2].nes", but the download is 4b52cd334fdcb4342625816f8bb60da5.  Can't find this MD5 anywhere else.  Headerless and patched roms don't match either.]


26. Parodius - From Myth to Laughter http://www.romhacking.net/translations/1621/

    Parodius da! (J) [!].nes (GoodSET 3.23b)
    CRC: EC8AEFFC
    PATCHED CRC: 7012E75A

CRC listed on page is for the headerless version.


27. Popeye Lingo Game http://www.romhacking.net/trans/785/

Popeye no Eigo Asobi (J) [T+Eng1.0_KingMike].nes (GoodNES 3.23b)

(No fix here, but finding that specific rom is a lot easier than hex editing the file or even finding and using the rom expander for it that isn't included in the patch zip.)

28. Princesstual Orgy - NEED TO TALK TO SUICIDAL TRANSLATIONS ABOUT THIS. http://www.romhacking.net/trans/202/

[All four values stated here for this game are not for this game, but they are for "Terao no Dosukoi Oozumou (J) [!].nes" in the GoodNES 3.23b. ]


29. Q-Taro the Ghost - NEED TO TALK TO PACNSACDAVE ABOUT THIS. http://www.romhacking.net/translations/2224/

[NOT IN GOODNES 3.23b, 9838e4ccb8406d487592545aa57700a4 on [website withheld... google the MD5] as "Obake no Q Tarou - Wanwan Panic (J).nes", but the download is d10a98c0aa8e67576f6c807ad3ff43b6.  Can't find this MD5 anywhere else.  Headerless and patched roms don't match either.]


30. Saiyuuki World http://www.romhacking.net/translations/2799/

MISSING CRC VALUE: 5AD9AEEF


31. SD Hero Total Battle http://www.romhacking.net/translations/2354/

Filename: SD Hero Soukessen - Taose! Aku no Gundan (J) [!].nes (GoodNES V3.23b)
CRC32 06e42c00

(Romhacking says this game is in the GoodNES 3.23b set.  The above rom's CRC is actually F17FEFDD.  It is not in 3.23b with the CRC 06E42C00. That CRC value does exist somewhere online though....  Maybe google it?).

32. Spelunker II http://www.romhacking.net/translations/1591/

    Spelunker 2 - Yuusha e no Chousen (J) [!].nes (GoodSET 3.23b)
    CRC: F076F168
    PATCHED CRC: 72A28744

CRC listed on page is for the headerless version.


33. Street Basket - Ganbare Dunk Heroes http://www.romhacking.net/translations/1548/

    Nekketsu! Street Basket - Ganbare Dunk Heroes (J).nes (GoodSET 3.23b)
    CRC: A2952508
    PATCHED CRC: A4680CA5

CRC listed on page is for the headerless version.


34. Suddenly! Machoman

    Country: Japan
    Rom Name: Totsuzen! Machoman(J).nes
    CRC32: C8D4DC2F????
    MD5: C1496BFE1BB765533617E735C5EC55A3
    SHA-1: B504A7A24EB92EF0A32F356693578745DDC6E7FA

(Using c8d4dc2f as per romhacking.net, but GoodNES 3.23b lists this as a prototype. Is this right???)


35. Super Contra VII - NEED TO TALK TO PACNSACDAVE ABOUT THIS. http://www.romhacking.net/translations/2210/

[NOT IN GOODNES 3.23b, 4b41d4e324a5bb9d7f51a6775272c6c6 on [website withheld... google the MD5] as "Super Contra 7 (Unl) [p1].nes", but the download is 4eabfa3b883817bfb609b5eb48b0e645.  Can't find this MD5 anywhere else.  Headerless and patched roms don't match either.]


36. Super Star Force - Secrets of Space http://www.romhacking.net/translations/2499/

    Super Star Force (J) [!].nes (GoodNES 3.23b)
    CRC: 0CA0B143
    PATCHED CRC: A40E552E

(The above rom/CRC matches the MD5/SHA-1 values that are provided on the Romhacking page, but it is a different CRC.  CRC listed on Romhacking is 5807d7a3)


37. Time Zone http://www.romhacking.net/translations/228/

    Time Zone (J) [!].nes (GoodSET 3.23b)
    CRC: C99628BC
    PATCHED CRC: 4FFE1CEB

CRC listed on page is for the headerless version.


38. Wing of Madoola http://www.romhacking.net/translations/3060/

    Wing of Madoola, The (J) [!].nes (GoodSET 3.23b)
    CRC: 929899D8
    PATCHED CRC: C583A427

(Psyklax is already aware of the issue.  He had the patched CRC value listed as the pre-CRC value and plans to update the page with this fix.)


39. Youkai Club

    Youkai Club (Japan).nes (No-Intro)
    CRC: 7FCEFE0C
    PATCHED CRC: 27937903

(Romhacking lists the correct CRC/MD5 values for this rom without the header, but incorrect values for the game with a header.  It's possible that the header values were different on the version that was originally hacked, but a CRC of B292E1D5 cannot be found online.  Use 7FCEFE0C because if you remove the header from this rom it matches the headerless values provided on romhacking.)





Well.... that's about it.

If you're the author of one of these and I'm wrong about something, please let me know so I can update the thread with the good info. 

I haven't actually tested any of these yet, they're just patched.  I will make any updates of problems I find when I start testing them.

Thanks again for all of your work here guys and gals.  This site is awesome.  I'm glad to be able to help out in this small way and I hope this is of use to some of you.
« Last Edit: August 20, 2017, 01:41:07 pm by firedropdl »

goldenband

  • Full Member
  • ***
  • Posts: 232
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #1 on: August 18, 2017, 11:16:36 am »
And thank you for all your hard work on this. I hope the folks whose work is at issue get back to you quickly -- and I hope that if there's a reason for these bad CRC32s, e.g. a tool that messes them up for some reason, we're able to get to the bottom of it.

firedropdl

  • Jr. Member
  • **
  • Posts: 42
    • View Profile
Re: \"Fixes\" to info on NES Translations in the Fully Playabe state
« Reply #2 on: August 18, 2017, 12:19:02 pm »
Not a problem man.  I just have this thing about documenting stuff that I do anyway, so it took a bit of work to prepare this thread with that data but I figured it would be kinda crappy to have all of that info and not share it.

I hope nobody here takes any of it the wrong way.  I'm not trying to call anybody out.  Putting the data up on a page is probably how cops feel when they have to fill out paperwork.  That's not fun.  It's no surprise that errors get made, and really, as long as the game hacks and translations are awesome that's all that matters.

I could never program a game.  Documentation and organization are kind of my thing though, so I'm happy to be able to help in my own way.

That being said, I might have made some errors here too.  I stand by the data, but if anybody sees anything I need to change, please let me know and I'll look into it and update the top post.

I'm not going to start bothering the authors of the problem roms just yet and hope that they see it here and reply on their own.  I don't want to be a pest or anything.  I'm new here and don't want to step on any toes.  In the mean time, maybe somebody else has figured out something I haven't about patching the roms with RED above and could share their thoughts on it.




I too am curious in certain situations what is going on when there is a pattern, goldenband.  Again, It's not my intention to call anybody out, but the strangest regular thing that I've seen is how the CRC32 value for many of GAFF Translation's games does not match while the MD5, SHA-1 and GoodNES file name all match. 


Now we wait......   :laugh:

August 20, 2017, 03:49:41 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Thanks to KingMike for clearing up the issue with Light of Indra.  Also thanks to Psyklax for doing the same for doing the same with Wing of Madoola.

I've got a message out to pacnsacdave for the questions on some of his translations so assuming we can iron those out, that only leaves two left that I can't figure out.

Princesstual Orgy by Suicidal Translations

and

Lagrange Point by Aeon Genesis


It doesn't look like there's any way to PM either of them.  The one by Suicidal Tranlsations is a 16 year old patch, the one from Aeon Genesis is 3-4 years old.

Anybody ever get those working and really kick them around a bit?  2 out of around 385 without a perfect match isn't bad.  I'd just love to hear some good and tested numbers if anybody has ever used them.
« Last Edit: August 20, 2017, 03:49:41 pm by firedropdl »

SCO

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #3 on: August 21, 2017, 04:19:35 am »
I dislike when patches requires 'transformations' not included in the patch to work, like the light of indra patch.

Since i prefer softpatching, it's a extra layer i 'have' to do to keep things consistent with the base rom being no-intro. What i do is copy the rom, do the expansion and hardpatch on the copy, and only then create a new patch from the original no-intro to hardpatch and keep only that.

This also serves to softpatch for patches which use a different base rom while using no-intro roms as a base of the new patch, but it's tiresome to remember.

I've also seen very many romhacks pages where it seems the crc of the base rom was lifted from the net, *not* from a md5sum or crc32 tool. Mostly because for some reason the person doing the patch doesn't have access to these tools (whyyyy?). They're often wrong.

But anyway, a way for verification of the base rom to be done on file upload (javascript calculating hashes asking for the base rom, maybe matching against approved dats?) would probably be useful.

firedropdl

  • Jr. Member
  • **
  • Posts: 42
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #4 on: August 21, 2017, 10:20:04 am »
I dislike when patches requires 'transformations' not included in the patch to work, like the light of indra patch.

Since i prefer softpatching, it's a extra layer i 'have' to do to keep things consistent with the base rom being no-intro. What i do is copy the rom, do the expansion and hardpatch on the copy, and only then create a new patch from the original no-intro to hardpatch and keep only that.

This also serves to softpatch for patches which use a different base rom while using no-intro roms as a base of the new patch, but it's tiresome to remember.

I just keep a copy of the original rom and the patched rom.  I hear that not all emulators will play the soft patches, so this just seems to make more sense.  It's less stuff to keep track of for sure.

Sure...  It's kind of a pain to do those extra steps to prepare a rom, but from the little I understand and what I've learned while doing all of these patches it's absolutely necessary.

Somebody could correct me if I'm wrong here, but it seems like there is some wasted space in quite a few games and these rom expanding programs can re-group stuff in a way where the cart keeps a "legal" size, but makes use of every spare byte for the translation.  My only confusion comes in why some roms take these steps to keep the base size of the original rom and others will actually double the size of the rom. 

Quote
I've also seen very many romhacks pages where it seems the crc of the base rom was lifted from the net, *not* from a md5sum or crc32 tool. Mostly because for some reason the person doing the patch doesn't have access to these tools (whyyyy?). They're often wrong.

If this is true, it might explain some of the existing issues with the 8 roms I can't figure out, as well as quite a few NES games that listed the headerless rom CRC/MD5 values instead of the headered version.  I dunno.

I'm sure anybody doing hacks and translations has access to the right tools.  Even if they didn't know about a program like hashmyfiles, you can easily see the CRC value of the rom in winrar.  If somebody is actually grabbing these values from some place online it's probably because it's a site with a good repuatation and they just didn't double check that the info was right.  Hell... Even after all the work I did documenting issues with NES and FDS roms that I've posted here I would never say my info is 100%.  It would require me to re-patch every single game and re-verify, which is something I would NEVER do.  :)

Quote
But anyway, a way for verification of the base rom to be done on file upload (javascript calculating hashes asking for the base rom, maybe matching against approved dats?) would probably be useful.

Maybe, but they're not actually uploading any pre or post patched roms here... just a zip file with the patch that often times has readme files and other stuff in it too.  I don't see any way that there could be a dummy proof way of doing this, at least in that step.

Also...  I'm not a coder, but I've known some and I just know people like them in other completely unrelated areas.  There's a real chance that I'm very annoying to some of them right now, even though I'm trying to help.  They did all the work and have all the creative talent.  They made this great thing.  Documentation usually isn't their priority and something they enjoy even in the slightest. 

At the end of the day, nobody could blame them for thinking "I did all of this work and made this thing... let them figure out what they're doing wrong if they can't follow the bare bones documentation I included".  Of course it's not fair to say anything like that includes everybody.  Some of the readme files for patches were very extensive and the step by step instructions were written so well a 2 year old could do it.  Then a bunch of patches don't have one. 

If this were a professional and for profit organization, they'd have different people with different skills on staff that were working together and making a paycheck and none of these things would be an issue because there would be internal checks and balances.  Of course it's not.

So, I know my strengths and weaknesses.  I'm tenacious and even when people tell me that I'm being way to anal about something I do it my way.  I could never program one of these translations, but I wanted to patch them and make sure that I was using the exact rom that the author worked on.  After weeks of working on this I finally got it for all of them except for a few I'm still hoping to work out. 

I keep some shorthand notes when I do things like this so if I have to re-do something I'm not starting from scratch or re-doing stuff I've already done.  I wouldn't have put all of that time in documentation for myself, but I really love what everybody here at this site does and I wanted to contribute in the only way that I could.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6056
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #5 on: August 21, 2017, 12:30:14 pm »
I dislike when patches requires 'transformations' not included in the patch to work, like the light of indra patch.

It's unfortunately necessary on the NES to expand a ROM that way, otherwise the patch would include some and up to half the original ROM.
Nearly all NES mappers expect certain parts of the program to be at the end of the program ROM, and so expansion will require data to be moved to keep it that way.
Quote
Sir Howard Stringer, chief executive of Sony, on Christmas sales of the PS3:
"It's a little fortuitous that the Wii is running out of hardware."

SCO

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Yes, i suspected that. I believe bps does not behave that way, so i expected it to replace ips in more games by now.

I'm sure anybody doing hacks and translations has access to the right tools.  Even if they didn't know about a program like hashmyfiles, you can easily see the CRC value of the rom in winrar.  If somebody is actually grabbing these values from some place online it's probably because it's a site with a good repuatation and they just didn't double check that the info was right.  Hell... Even after all the work I did documenting issues with NES and FDS roms that I've posted here I would never say my info is 100%.  It would require me to re-patch every single game and re-verify, which is something I would NEVER do.  :)

I believe this happens mostly to people not using windows and that don't have the habit of using the cmd line. Mostly IOS users, and some linux users. Of course actually using a value that you calculated yourself is better, but webpages with crcs are unexplainably popular as sources, even if they guarantee nothing. Thus my suggestion of that being a verification step on the site javascript before the author uploads (javascript runs on the local computer so the rom won't be uploaded). Though i can totally see that backfiring and the 'hardpatched' crc being calculated instead of the original rom if whitelisting is not used.

Besides that, a accurate database of these things would be useful, for knowing when to upgrade the translation automatically instead of constantly checking the site. That would be helpful for *anyone*. I'd admittedly prefer if the 'softpatching' usecase was catered for too, but i'm aware as you can tell from the bitching about the 'preprocessing steps' on my posts that is not so simple to do consistently if you insist on a consistent collection of base roms (like i do, all no-intro), because many translations need to be modified with the 'hardpatch and create a new softpatch from new base to hardpatch' trick, or the tricks below.

On a subject change, more of that consistency bitching, another annoying thing is snes rom headers being needed or not for translations. When something like ipsbehead exists.

Yet another annoying thing that is rather specialized is n64 patches. n64 have 3 (!) different byte order organizations on their 'base' roms, and it's not unusual for a ips or bps file to have to be recreated on the 'target base rom' for a softpatch to decrease from the size of the rom to 150kb.
The process is like this:
1. find out patch base rom is not the no-intro byte order.
2. *sigh*.
3. copy n64 no-intro rom, use tool64 to change no-intro rom to byte order the patch needs, verify crc.
4. hardpatch byte order changed rom
5. use tool64 to change byte order changed rom to no-intro rom byte order
6. create a bps or ips patch from original no-intro to hardpatched rom, delete extras.

August 21, 2017, 06:50:04 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
BTW, i think the lagrange point page is saying that the 'base rom' doesn't matter in this case (or doesn't matter as long as it is a header variant of that one 'base rom'.

This is very strange thing to say because ips doesn't make a distinction between the header and the rest of the rom and will happily overwrite the header if i understand it correctly.

Maybe the original was supposed to be bps and you supposed to ignore the crc error if it happened?

Regardless, i just 'tried' (not exhaustedly) the lagrange point translation on the no-intro  rom crcs:

9ac10a68   Lagrange Point (Japan).ips
ead4dedc   Lagrange Point (Japan).nes

and didn't see a problem in the intro, though that doesn't mean anything of course (especially with the mentions of 'SRAM disabled', maybe saves don't work?)

Another possibility to 'it was supposed to be bps' is that something similar to ipsbehead (similar because this is a nes rom not snes) was applied to the ips and that text simply doesn't matter because the ips no longer affects the header and it is ready to run on a no-header rom.

August 21, 2017, 11:47:00 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
BTW, i've been applying nes translations and found that sometimes, when the game has both .bps patch and ips patch translations, since bps is 'stricter' and will not apply if the base rom doesn't have the right checksum, you sometimes want to use ips even if it's 'wrong'

This:
http://www.romhacking.net/translations/1539/

is one such case. The no-intro rom changed (probably the header). BPS fails, but the IPS will happily overwrite (or maybe just ignore) the header and apply the translation.

August 22, 2017, 02:01:33 am - (Auto Merged - Double Posts are not allowed before 7 days.)
There is also another strange case i've found:
Juvei Quest (Japan) translation here:

http://www.romhacking.net/translations/1826/

applies not to the first no-intro version but not to the last (Rev 1). A bit off-putting. Another bps + ips patch, haven't tried the ips on the Rev 1, because the page says to use the first.

August 22, 2017, 03:37:04 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Another. This patch:


http://www.romhacking.net/translations/773/

Says on the main page it uses the no-intro rom (with crc32: d994d5ff ) but this corrupts the game on movement and the readme says it uses the rom with crc32: b661b602 (whatever that is).

August 22, 2017, 05:06:37 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Yet another:

http://www.romhacking.net/hacks/2374/

The crc checksums on that page look familiar...

Oh right:
http://dorando.emuverse.com/html/final-fantasy-6.html#na

August 22, 2017, 10:35:12 am - (Auto Merged - Double Posts are not allowed before 7 days.)
http://www.romhacking.net/forum/index.php?topic=16956.0

The quest of Ki patch doesn't apply to no intro. It's claimed this is because no-intro has wrong headers, but the user needs to modify the patch anyway.

August 22, 2017, 11:34:53 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Another case of the same thing (no-intro rom having wrong header). Check the translation description on the page, i verified the 6th byte has 40 instead of 41 on the no-intro rom:

http://www.romhacking.net/translations/234/

But since this is a ips patch not bps it 'applies'. Just wrongly. It's quite easy to regenerate the patches to apply to the normal no intro with the 'create a new patch' trick if you're aware of this problem.
« Last Edit: August 22, 2017, 11:36:46 am by SCO »

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6056
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #7 on: August 22, 2017, 01:17:26 pm »
Since I thought I already said this:

NO-INTRO DOES NOT VERIFY HEADERS

So a "No-Intro ROM set" can include ROMs that pass No-Intro but have wrong headers.
That is what they told me when I brought up the Quest of Ki translation to them.
They say they are only interested in validating data that actually exists on the original media. (I know the issue with N64 is because people in that scene have been arguing apparently forever what the "correct" byte order is.)

Those Namco game errors are probably because Namco used a mapper SIMILAR to MMC3, but not the same. So they were probably originally mistagged as MMC3 when they were originally dumped. Of course people never updated their ROMs to correct the headers. (are ROM sets STILL distributing Ys 3 with the wrong header, a decade after it was pointed out when the fan-translation was released?)
But anyways, whereas a normal MMC3 uses software mirroring (making the mirroring bit irrelevant since thus the game should be properly re-setting it), Namco's mapper does not (thus requiring the hard mirroring value to be set correctly). I don't know, maybe people were using emulators that defaulted the register to a state where the game originally worked regardless. Kind of like the old "no-title" SMB bootleg ROMs that people played on Nesticle because Nesticle's RAM initialization made the game work when it shouldn't have (it was a multicart rip that removed the level initialization, from what I've heard)

While it's good that FCEUX soft-patched games with known bad headers, I wonder if it would've worked better for it to throw an error like "this game has a known bad header and you need to fix these (specified) errors before I'll run it". That would get the ROM sets updated pretty quick, I bet. But of course they wouldn't do that since they wouldn't want to force the user to learn how to use a hex editor and find documentation on the header/find a header editor program.
Quote
Sir Howard Stringer, chief executive of Sony, on Christmas sales of the PS3:
"It's a little fortuitous that the Wii is running out of hardware."

SCO

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #8 on: August 22, 2017, 02:16:35 pm »
Uh, while the romset doesn't update, it's not the romset i will change, but the patch, so i can softpatch. I prefer to redownload a patch if the set ever updates to having the base file wrong on ctrlmamepro, which will be a long-ass time until updates, and i can already see them not bothering if the 'plan' is to strip all headers and they're using *that* as a excuse to not correct wrong ones (because it will break patches much more than individual fixes).

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6056
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #9 on: August 22, 2017, 05:12:50 pm »
I had actually seen Quest of Ki headers with both the correct and incorrect headers, which is how I knew it was a header problem.

If you really insist on softpatching, it would be simple and faster to download a header editor and fix it (or use a hex editor). Then use a patch creation program to create a new one.

This header thing is like asking me to fix DISKDUDE!-infested ROMs. (wait, I think I did create one of my patches to remove DiskDude! as a courtesy. So now the patch won't match on a good ROM. Is it now my responsibility to make a new patch for the unpolluted ROM? And possibly someone else complaining later? I don't think so, that's a user-end problem, I think. :P )
Quote
Sir Howard Stringer, chief executive of Sony, on Christmas sales of the PS3:
"It's a little fortuitous that the Wii is running out of hardware."

SCO

  • Jr. Member
  • **
  • Posts: 54
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #10 on: August 22, 2017, 06:21:06 pm »
Them fixing the dumps is the 'right' solution, but i wish these cases were documented and the archives had a 'workaround' patch too. Anyway, to show this is not only a problem on game hacking, Everdrive has this problem too.

goldenband

  • Full Member
  • ***
  • Posts: 232
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #11 on: August 22, 2017, 07:20:17 pm »
An easy solution (as I've mentioned elsewhere) would be to add the header of the target ROM (if any) to the project README file. The header isn't copyrighted content and that would make it trivial to reconstruct whatever the hacker had, unless it was a bad dump.

The inherent problem with all these hashes is that there's no way to know whether you're off by 1 byte or a thousand, or where the likely issue is. I know you can surmise likely problems if you know the NES mappers and the iNES header inside and out, but that's a very high minimum standard for end-users.

firedropdl

  • Jr. Member
  • **
  • Posts: 42
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #12 on: August 23, 2017, 01:05:37 am »
Well, I'm glad this seemed to spark some discussion.  :)

The good news after my NES/FDS "fully playable" translation testing is that there were zero issues at all with patching the FDS games with the correct roms, and there were only 10 NES problems, and only 8 more to figure out since KingMike and Psyklax figured their two out.

Then again, I still haven't actually tested more than a few dozen of the NES games.  I think for the most part they should be good.  The only one I had issues with was Chess Academy, but if I remember right the original rom was pretty buggy and suffered the same strange behavior without the patch.  I don't think most emulators out there play that Sachen POS very well, unfortunately.


Still haven't heard back from pacnsacdave yet.  Does anybody know if there's a better way to contact him than PM here?  6 of the issue were on his patches.  Contacting him would only leave two roms that I wasn't able to match up.... one of them being the strange situation with Lagrange Point, and the other being Princesstual Orgy where the patch page hash check values are all for a completely different game.

snarfblam

  • Submission Reviewer
  • Hero Member
  • *****
  • Posts: 580
  • CANT HACK METROID
    • View Profile
    • snarfblam
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #13 on: August 23, 2017, 06:57:50 am »
The inherent problem with all these hashes is that there's no way to know whether you're off by 1 byte or a thousand, or where the likely issue is.

One solution here is to include both a ROM hash and a file hash. (Emulators typically give you a ROM hash.) If the ROM hash matches and the file hash does not, you know the issue lies in the header. If the ROM hash does not match, you know you have the wrong ROM altogether.

firedropdl

  • Jr. Member
  • **
  • Posts: 42
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #14 on: August 23, 2017, 09:23:38 am »
One solution here is to include both a ROM hash and a file hash. (Emulators typically give you a ROM hash.) If the ROM hash matches and the file hash does not, you know the issue lies in the header. If the ROM hash does not match, you know you have the wrong ROM altogether.

Cool.  Thanks for explaining that.  I saw only about 5-10 games that had a file hash and a ROM hash out of nearly 400 of them.  I didn't even realize that I was looking at a hash with and without the header. 

I probably would have figured it out if I had a problem with any of them, but I didn't.  I'm thinking that the hackers/translators here that went out of their way to provide both values had already done such a fine job with the final presentation that there weren't any issues patching the roms. 
« Last Edit: August 23, 2017, 02:44:54 pm by danke »

Pennywise

  • Hero Member
  • *****
  • Posts: 2132
  • I'm curious
    • View Profile
    • Yojimbo's Translations
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #15 on: August 23, 2017, 04:18:47 pm »
For the most part I never gave two shits about crc's and which ROM to use etc. I copied all the crc's for all of my translations from no-intro, which didn't include the header. Doesn't bother me either way.

As for IPS patches that require extra steps to apply the patch, several years ago I used to do that, but found the process to be much easier and simpler by switching to BPS to avoid all that nonsense.

firedropdl

  • Jr. Member
  • **
  • Posts: 42
    • View Profile
Re: \"Fixes\" to info on NES Translations in the Fully Playabe state
« Reply #16 on: August 23, 2017, 07:56:18 pm »
Hey guys... I just realized that a reply I made was edited.  I think both the OP and my reply had a link to a site with full roms.

Sorry about that.   ::)

August 29, 2017, 12:39:10 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Just a little FYI update.

I finished testing through the letter E on a Pi Zero and only had one "bad" game so far for all of the NES translations.  It was "Dog Town"... The game plays, but flashes so much it could give you seizures.  I don't believe that's how the game is supposed to play.  Oh... and Chess Academy is borked as well, but I already said that.  I think the original rom is just a POS.

This is great news since most of these translations run on an emulator called "quicknes" which I don't think any of them were originally tested on.  All of the others play on either fceumm or Nestopia, but they're kind of slow on a Pi Zero.  A Pi 3 should have absolutely no problems running most of these on Nestopia.

I'll update when I finally tested them all out.
« Last Edit: August 29, 2017, 12:39:10 am by firedropdl »

firedropdl

  • Jr. Member
  • **
  • Posts: 42
    • View Profile
Re: "Fixes" to info on NES Translations in the Fully Playabe state
« Reply #17 on: September 18, 2017, 09:24:53 am »
I'm still going to get around to testing all of these NES games out.  It's just been really busy for about a month here and I haven't even turned on my XBox or Pi for about a month.  Will update when I have more info.


BTW... if anybody talks with pacnsacdave, could you ask him about the info for his NES hacks and direct him to this thread?

I've tried to contact him several ways and haven't heard back from him.  I don't want to pester him about it.
« Last Edit: September 20, 2017, 07:31:10 pm by firedropdl »