Verify Game 4.0 Released

Submitted by jbreland on Sun, 02/03/2019 - 23:06

This is a fairly big update for Verify Game. The most notable new feature is that I'm bundling all supported DAT files with the release, so there's no need to individually download each DAT file from No-Intro and Redump yourself. This even includes the restricted Redump for newer consoles that aren't generally available. All credit and thanks to the leaders of these projects for both providing the content as well as the permission to redistribute these files.

Other changes include the usual mix of support for new features and bug fixes:

  • Add support for Xbox 360 DLC, PS4 DLC, and Wii WAD files
  • Add support for Wii U Updates and DLC
  • Add support for nNASOS-compressed images (.dec)
  • Add support for compressed WUD images (.wux)
  • Add -d option to specify temp directory
  • Set vita-psn as default platform for Vita
  • Fixed bug relating to TEMPDIR


You can grab both the new bundled version as well as the updated standalone version from the Verify Game page.

Read Game ID 1.2 Released

Submitted by jbreland on Wed, 08/15/2018 - 23:02

I've released a couple new versions of Read Game ID, adding support for more systems and formats and fixing a couple of bugs.  Changes:

1.1 (08/12/2018):
    Add support for PS3, Vita, and PS4 PSN packages
    Add support for PSP ISOs and CSOs
    Add support for Vita NoNpDrm zip packages
    Fix bug with PS4 attribute 2 metadata

1.2 (08/15/2018):
    Add -d option to specify temp directory
    Add support for PS4 discs with multiple game packages, such as Life Is Strange: Before the Storm

Download from the Read Game ID page.

New Utility: Read Game ID Released

Submitted by jbreland on Sat, 08/11/2018 - 14:00

Read Game ID ( is a Linux-native script to read the game ID from rips of PlayStation game backups.  It provides an easy way to get the ID if your particular ISO or BIN/CUE image.  Note that most end users will not need this, but if you are in a situation where you need to know the game ID, this will be of use.

Please see the Read Game ID page for details and the download link.

Website Update

Submitted by jbreland on Thu, 08/09/2018 - 23:03

General FYI - I modified the PHP configuration on my webserver, converting over to FPM from the old mod_php mode.  This was done to address some compatibility issues, but this change itself can cause other compatibility issues.  Did a spot check of the various components and things *seem* to be good, but if you notice anything broken, please let me know.


Verify Game 3.2 Released

Submitted by jbreland on Sun, 08/05/2018 - 01:34

This is a relatively minor update with a couple useful changes:

  • The new -t option can be used to specify the max number of threads.  As noted in the Technical Details, the default behavior of using all available threads can be problematic in certain situations.
  • I've worked on this script over a few years, and Redump has changed their DAT file naming scheme since I initially started.  I updated all of the DAT filenames in the script to match the current standard, which should make getting started easier for new users.


The two additional changes are pretty minor:

  • Add support fpr pc-fx, vita-psn[-dec]
  • Include support for both encrypted and decrypted PSN files


You can grab the latest version from the Verify Game page.

New Utility: Verify Game Released

Submitted by jbreland on Wed, 08/01/2018 - 01:28

Verify Game ( is a Linux-native script to check and verify your video game backups (ROMs/ISOs/etc.) against trusted sources.  It's meant to fill the gap for this kind of utility under Linux.  It's intended to just verify games, so there are no additional ROM management features included such as renaming, but it does include a few handy features such as transparent decompression and parallel verification.

Please see the Verify Game page for details and the download link.

This is one of the many scripts I mentioned in my general update that I've been tinkering with for the last few years, hence the immediate jump to version 3.1.  :-)  Expect more to follow.

How to Strip and Inject XCI (Nintendo Switch ROM) Certificates under Linux

Submitted by jbreland on Tue, 07/31/2018 - 22:02

Note: I previously posted this to Reddit, but posting here as well for permanence.  This post is of a technical nature and focuses on messing with dumped Nintendo Switch game cartridges, so for most people reading this site it'll be of little interest.  For anyone else interested in the subject, by all means continue reading...

This won't be of much use to people running Windows, but it may be helpful for fellow Linux users (and potentially OSX users as well). This will show to to strip a certificate out of a dumped XCI ROM, as well as restore it to return the ROM back to its original state. XCI Explorer provides an easier way to do this from within Windows, I just don't run Windows. :-)

So here is a Cave Story+ ROM that I dumped with gcdumptool:

$ md5sum Cave\ Story+.xci
a311902acb6813bf61f9cde9e0139913  Cave Story+.xci

If I try to verify the ROM (using a home-grown scripts that checks against no-intro DAT files), we'll see it doesn't match because the certificate field is stripped in the No-Intro dumps:

$ -p xci Cave\ Story+.xci
Warning: No match found for XCI game 'Cave Story+.xci'

Using the following dd and printf commands I can strip the certificate and copy it to a separate file. Note that the checksum of the new XCI is different from the original and, this time, matches against No-Intro:

# First, backup the certificate to a separate file
$ dd bs=1 skip=28672 count=512 if=Cave\ Story+.xci >Cave\ Story+.cert
512+0 records in
512+0 records out
512 bytes copied, 0.0010961 s, 467 kB/s

$ ls -l Cave\ Story+.cert
-rw-r--r-- 1 user user 512 2018-07-30 19:01 Cave Story+.cert

# Next, strip the certificate from a copy of the ROM file
$ cp Cave\ Story+.xci test.xci
$ printf '\xff%.0s' {1..512} | dd bs=1 seek=28672 count=512 conv=notrunc of=test.xci
512+0 records in
512+0 records out
512 bytes copied, 0.00115365 s, 444 kB/s

$ md5sum Cave\ Story+.xci test.xci
a311902acb6813bf61f9cde9e0139913  Cave Story+.xci
af8ac186efd0fa1a02d0c63c40dd2fd4  test.xci

$ test.xci
Verified XCI game: Cave Story+ (USA).xci

So far, so good. Now, let's say something happened to my original dump of Cave Story+ and I wanted to inject my certificate back into the stripped copy to re-create the original. The following dd command will write the certificate back to the ROM. Note that the test.xci file then has the same checksum as the original.

$ cat Cave\ Story+.cert | dd bs=1 seek=28672 count=512 conv=notrunc of=test.xci
512+0 records in
512+0 records out
512 bytes copied, 0.000806952 s, 634 kB/s

$ md5sum Cave\ Story+.xci test.xci
a311902acb6813bf61f9cde9e0139913  Cave Story+.xci
a311902acb6813bf61f9cde9e0139913  test.xci

Hope someone finds this helpful.

Legroom General Update

Submitted by jbreland on Tue, 07/31/2018 - 17:47

Wanted to put out a short general update. I clearly haven't been putting much time into the website in recent years. It honestly just hasn't been enough of a priority compared to other stuff going on. Heck, it's been over a year since my last post, about a major upgrade mentioning a few remaining issues that I still need to resolve... and those issues are still unresolved. Sigh

However, while I haven't posted much to the website, I've still been tinkering around with stuff, writing new scripts and whatnot that would be of interest to at least some people out there. I'm going to make an effort over the next few days to start publishing this stuff on the site so it's publicly available. To be clear, nothing here will be earth-shattering, but it'll include a few posts, scripts, tips & tricks and whatnot that some my find useful. So, you'll see a flurry of activity while I'm working on this, and then afterward I'll try to get back into the habit of posting new stuff here to share with the world.

In the process I'll likely clean up some other content on the site. Much of the content is dated and I've left it on here solely for archival reasons, but I mean really - how useful is my Installing Gentoo Linux page originally written in 2003 for a Pentium III-based system really going to be today? I'm not sure yet what will go and what will stay, but just a heads up that changes are coming. That's it for now. If anyone's still reading this site after being idle so long, well, buckle up. Going to get (comparatively) busy soon!