Forums  ›  Romz  ›  InSearchOf
 

GoodTools Suite to Complete DATs

Many years ago I audited my GoodSets using the latest and FINAL version of GoodTools suite of ROM auditing applications at: http://cowering.blogspot.com/2016/04/

I believe Cowering has long abandoned the GoodTools already and moved on.

I now have the same # of MISSING as at: https://github.com/SnowflakePowered/opengood#incomplete-dats

The author of OpenGood just scans the ROMs that he has and was not extracted from the EXE files and refuses to provide the decoded CRC32 & SHA1 checksums for the MISSING roms. I hate using the GoodTools as it is kind of buggy and no where as good as a ROM Manager which uses DATs, and it does not update its internal databases properly during re-scans if you manually move the renamed ROMs to a different location.

Anyhow, the author of OpenGood created "zengyaku" at: https://github.com/SnowflakePowered/zengyaku about two years ago for ROM enthusiasts to generate there own complete sets of Good DATs or to just fill in the missing ones. Here's the list of the missing ones.

Incomplete DATs

These DATs are reported by their corresponding GoodTool to have some missing ROMs when the hash information was compiled.

  • Open2600 (Atari 2600) — 7,204 of 7216 - (12 Missing ROMs)
  • Open7800 (Atari 7800) — 925 of 932 - (7 Missing ROMs)
  • OpenCoCo (Tandy Color Computer) — 168 of 184 - (16 Missing ROMs)
  • OpenN64 (Nintendo 64/Nintendo 64DD) — 5265 of 5282 - (17 Missing ROMs)
  • OpenNES (Nintendo Entertainment System) — 22094 of 22096 - (2 Missing ROMs)
  • OpenPico (Sega Pico) —- 173 of 178 - (5 Missing ROMs)
  • OpenSNES (Super Nintendo Entertainment System) — 24486 of 24508 - (22 Missing ROMs)
  • OpenWSx (Bandai WonderSwan/Bandai WonderSwan Color) — 375 of 377 - (2 Missing ROMs)

 

I'm not familiar with the use of the x32dbg debugger in searching for the extracted hashes from memory & dumping it onto a file.

Has anyone followed "zengyaku" instructions and extracted the missing file's CRC32s & SHA1s already. If you have, will you consider sharing them?

Thanks....

-SimonF

If you don't have a Goodmerged sets collection, you can start from:

 

GoodSets - All available 2020-Oct

https://thepiratebay.org/description.php?id=36667616

 

GoodSets: All available on 2020 Oct 5. This is an almost-complete collection of all GoodSets. It is everything that I have been able to find for download anywhere. A GoodSet is a collection of all ROM's for a console or system -- everything found "in the wild", including hacks, overdumps, etc. http://en.wikipedia.org/wiki/GoodTools http://www.allgoodthings.us/ All of the GoodSets in this torrent have been: ` `- GoodMerge'd (*) ` `- optimized for compression (re-Merged when necessary) ` `- aligned into a uniform archive format. Also, the names of the consoles (in the archive names) have been brought to be as accurate as possible. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Contents: Up to date: Amstrad CPC. . . . . . . . . . . . .(GoodCPC `v3.1415) Atari 2600 . . . . . . . . . . . . .(Good2600 v3.14 missing 12) Atari 5200 . . . . . . . . . . . . .(Good5200 v2.01) Atari 7800 . . . . . . . . . . . . .(Good7800 v3.28 missing 7) Atari Jaguar . . . . . . . . . . . .(GoodJag `v2.01) Atari Lynx . . . . . . . . . . . . .(GoodLynx v2.01) Bandai WonderSwan [Color]. . . . . .(GoodWSx 'v3.29 missing 2) ColecoVision . . . . . . . . . . . .(GoodCol `v3.14) Commodore 64 . . . . . . . . . . . .(GameBase 64 v3.00) Commodore 64 PSID music. . . . . . .(GoodPSID v3.22) Fairchild, Luxor, Zircon, SABA Fairchild Channel F (GoodChaF v3.1415) GCE Vectrex. . . . . . . . . . . . .(GoodVect v1.06) Mattel Intellivision . . . . . . . .(GoodINTV v2.03) Memotech MTX . . . . . . . . . . . .(GoodMTX `v3.1415) Miles Gordon SAM Coupe . . . . . . .(GoodSAMC v2.03) NEC PC Engine, TurboGrafx-16 . . . .(GoodPCE `v1.09a) Nintendo 64, 64DD. . . . . . . . . .(GoodN64 `v3.27 missing 16) Nintendo Famicom, NES. . . . . . . .(GoodNES `v3.23b missing 2) Nintendo Game Boy [Color]. . . . . .(GoodGBx `v3.14) Nintendo Game Boy Advance. . . . . .(GoodGBA `v3.27) Nintendo SFC-SNES SPC music (GoodSPC v3.22) Nintendo Super Famicom, SNES, SC, Satellaview (GoodSNES v3.27 missing 22) Nintendo Virtual Boy . . . . . . . .(GoodVBoy v3.1415) Sega Game Gear . . . . . . . . . . .(GoodGG ` v3.20) Sega Master System, Mark III . . . .(GoodSMS `v3.20) Sega Mega Drive, Genesis, 32X. . . .(GoodGen `v3.21) Sega Pico. . . . . . . . . . . . . .(GoodPico v3.15 missing 5) SNK Neo Geo Pocket [Color] . . . . .(GoodNGPx v3.27) Spectravideo-Yamaha-Microsoft MSX. .(GoodMSX1 v0.999.3) Spectravideo-Yamaha-Microsoft MSX2 .(GoodMSX2 v0.999.3) Tandy Color Computer . . . . . . . .(GoodCoCo v3.27 missing 16) Tangerine Oric, Atmos, Stratos, Telestrat (GoodOric v2.01) Thomson MO5. . . . . . . . . . . . .(GoodMO5 `v3.1415) Tiger Game.com . . . . . . . . . . .(GoodGCOM v3.27) Watara-QuickShot Supervision . . . .(GoodSV` `v3.27) Out of date: [none] Not present: [none] ~~~~~~~~~~~ (*) All GoodMerge'd except for GoodSPC and GoodPSID, which had no GoodMerge [up-to-date] database yet. GoodCPC was merged "manually"

 

Torrent/Magnet download link from the above thepiratebay page:

magnet:?xt=urn:btih:5CBD5A5C23F1976015D06542632162C00A8922FA&dn=GoodSets%20-%20All%20available%202020-Oct%20goodset&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.bittor.pw%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Fbt.xxx-tracker.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce

 

I don't know how many sets / files are updated since then, but you can figure things yourself by using the tools above or so. I don't know anything about the procedures needed to be done, and I satisfied with the above collection.

 

Note: The torrent is still working and has a fast seeder. Thanks to piman314 for the upload of the torrent.

Thanks Daffy,

It's been so many years, and I thought a Complete GoodTools Collection should've been present already as Cowering was an early pioneer in ROM management but his tools are a pain in the ass to work with and he is very protective of his file "HASHES" and was very arrogant about it.  I've only recently learned that he had been "banned" from the emulation/retro communities for about a decade before he abandoned GoodTools for good about 7 years ago.

Anyhow, for those not wanting to use the Last & Final Versions of GoodTools to scan their ROMs.

Here are the OpenGood DATs that are also available on GitHub. They pretty much do everything that GoodTools will do and also contain SHA1/MD5 Checksums. The renamed ROMs will be IDENTICAL to that of GoodTools.

These DATs will work well with any ROM Manager. Most of the ROMs are now in other Collections with the Homebew/Mods/Hacks/Bad/etc removed. For historical reasons, many emulation developers still go back to these collections to see if there are gems to be found as Cowering collected all sorts of strange and esoteric creations along with the original good stuff.

-SimonF

SNES: 24'508 entries

NES: 22'096 entries

If i am doing it right and you (or anyone else) want the rest, let me know. I would need a copy of GoodWSx v3.29 though, can only find 3.27.

(Attempt 2 - forgot to convert ampersands in the first set).

 

GoodSNES_V327.zip1.2M25 downloads
GoodNES_V323b.zip1022.8K21 downloads

Wow, thanks therion23,

For decoding and extracting all the checksums... I believe WSx 3,27 is the final version on Cowering's Blog at: http://cowering.blogspot.com/2016/04/

These DATs are reported by their corresponding GoodTool to have some missing ROMs when the hash information was compiled.

  • Open2600 (Atari 2600) — 7,204 of 7216 - (12 Missing ROMs)
  • Open7800 (Atari 7800) — 925 of 932 - (7 Missing ROMs)
  • OpenCoCo (Tandy Color Computer) — 168 of 184 - (16 Missing ROMs)
  • OpenN64 (Nintendo 64/Nintendo 64DD) — 5265 of 5282 - (17 Missing ROMs)
  • OpenNES (Nintendo Entertainment System) — 22094 of 22096 - (2 Missing ROMs)
  • OpenPico (Sega Pico) —- 173 of 178 - (5 Missing ROMs)
  • OpenSNES (Super Nintendo Entertainment System) — 24486 of 24508 - (22 Missing ROMs)
  • OpenWSx (Bandai WonderSwan/Bandai WonderSwan Color) — 375 of 377 - (2 Missing ROMs)

Can you include the other 6 with missing hashes?

Thank..

SimonF

Right, i could not find any later GoodWSx either, so i suppose the version number on TPB was a typo.

Now, i haven't managed Good7800 yet - if you notice, it has the highest version number of them all, and it definitely does things a bit differently. I can find the SHA1 and CRC tables, however, i believe he has encrypted the values, because they make no sense compared to the known values.

Also ran into some trouble with the 3.1x ones, but i figured that out. Those versions actually store the game list in reverse alphabetical order, so you have to point to the last instead of the first.

Please double check them for me - i only replaced ampersands with & and nothing else, but they load fine in my RomVault.

 

Good2600_V314.zip342.3K20 downloads
GoodCoCo_V327.zip10.2K16 downloads
GoodN64_V327.zip255.3K19 downloads
GoodPico_V315.zip10K17 downloads
GoodWSx_V327.zip20.3K17 downloads

Hi,

For Dats, I've only had replace these two characters:

&      &
 '       '



I'd search and replace the ampersand and apostrophe characters in rom names as these two WILL choke RomVault .

Thanks... Hopefully the collection can be completed using RomVault as it is so much better than GoodTools..Thanks for the effort...

I don't see no-intro use ' so that shouldn't be necessary. Should of course have checked that before sending you the files - my bad! Anyway, should work at least with RV.

I've noticed the GoodNES will rename OK using GoodTools, but the hashes don't match. GoodTools do not include file sizes and does header skipping. I wish I had a tool to strip 21,868 header from the NES collection.

I came across that phenomenon while trying to do the Pico DAT - no file sizes anywhere. Same probably goes for 7800, which is why i cannot find my way around it - most likely he seeded the digest algorithms with something non standard, and that means i have no chance of finding useful data for any other tool.

Stripping headers is a simple task on any other platform than Windows (although both mingw, cygwin and WSL could help). The tool you want is called "dd".

for f in *.nes ; do dd if="$f" of="$f.strip" bs=16 skip=1 status=progress ; done

And then feed *.strip to RomVault.

Were you able to extract the "Completed" ones' hashes. I suspect alot of the others, except GoodGB64, 34-8=26.

Were you able to extract the other 26 GoodTools' hashes. They appear to have lower version numbers and some older ones will not even have sha1 values, only crc32 checksums. I also wonder what their headerless crc32 are, as many roms have "junk/useless" headers, which GoodTools take in account for by skipping during calculations of hashes. Cowering appears to have removed all his previous versions of GoodTools higher than 2.0x. Only 2.0x or older are available outside his page, it seems.

If the OpenGood DATs are otherwise up to date with the final GoodTools, i see no point in redoing those - OpenGood should contain unheadered files (only glimpsed but it looks that way).

And correct, from 3.x he disallowed third party distribution of his tools.

Yeah, you are correct. The last thing @chyran did to OpenGood was strip the headers two years ago. I don't know enough about reverse-engineering, but would you consider asking him the method used to decode Good7800? I believe his name is Ronny Chan and a reverse-engineer & file systems expert, here's his contact info:  chyyran (Ronny Chan) · GitHub

 

 

Consider it done.

Hi,

I was trying to find the only missing file in the OpenSNES.SNES collection:

<game name="BS Zelda - Map 1 - Restoration (J) [T+Eng2015-08-14_BSZHP]">

<description>BS Zelda - Map 1 - Restoration (J) [T+Eng2015-08-14_BSZHP]</description>

<rom name="BS Zelda - Map 1 - Restoration (J) [T+Eng2015-08-14_BSZHP].srm" size="65536" crc="deab7e4e" sha1="472a55b0ba289b0f4e538bb4c8b826dede3a40bb" md5="ecb99e6ffea7be1e5419350f725da86b"/>

</game>

 

I believe it is created once an emulator runs the game.... so one should edit the DAT file and remove that entry.  Virtually ALL GoodSets are 1G1R (1 Game 1 Rom), so don't try looking for that rom, it is just the "save" file to resume where you stopped playing & possibly score stats of previous game plays.

do you know how many bytes to strip from GoodN64 & GoodSNES? (I'm missing 66 (16 MIA) files & 31 (22 MIA) Files respectively. 

OpenGoodN64 has 50 files which the dumped CRCs do not recognize & OpenGoodSNES has 9 Files which the dumped CRCs do not recognize. Thanks..

I don't think N64 has ever had headers, but there is the matter of endianness. Also, i seem to recall either SNES or Genesis could be interlaced.

If you know what you are doing, uCON64 might be helpful (there might be fancier alternatives nowadays):

https://ucon64.sourceforge.io/

It's a very powerful tool, so make sure to work on copies of your files until you get the hang of it. Also, you're on your own with it - haven't used it for a couple of decades.

 

About the "BS Zelda - Map 1 - Restoration (J) [T+Eng2015-08-14_BSZHP].srm" file in OpenSNES:

This file also stumped me a few days ago. It turns out this file is empty, in that it simply contains 64KiB worth of 0xFF and nothing else. As such it is a pretty boring file and you can literally (re)create it with a single command if you wanted to:

$ dd if=/dev/zero bs=1k count=64 | tr '\000' '\377' > boring.srm
$ rhash -C -M -H boring.srm
boring.srm deab7e4e ecb99e6ffea7be1e5419350f725da86b 472a55b0ba289b0f4e538bb4c8b826dede3a40bb

I agree with SimonF that it is sensible to ignore that entry. In fact I think this entry should be removed from OpenSNES upstream as it looks to me like some stray leftover file that somehow slipped in during the conversion process. I won't create an issue on GitHub however because I don't want to use my account for that and don't feel like creating a new account. Feel free to forward the above info onto GitHub though, in case you want to.

If i understand the OpenGood concept right, the whole idea is to create a verbatim version of whatever was integrated in the GoodTools. So, changes are probably not possible, what you get is the original, flaws and all.

Plus, whoever created the OpenGood dats still has not replied to the message i wrote him, so there is little to no luck in getting those modified.

That being said, if you are into GoodTools for the ROM hacks, you of course know RetroPlay, but there is also the Dominater01 collections on archive.org which you might want to trawl.

Forums  ›  Romz  ›  InSearchOf