Skip to main content
Home
Legroom.net
User account menu
  • Log in

Read Game Media 2.0 Released

By jbreland , 09/01/2026

Read Game Media 2.0 is a major update/refactor of Read Game ID.  It's almost a complete rewrite, hence the new major version number AND new name.  The fundamental purpose is still the same - read embedded game ID and metadata from game ROM files and discs, but now outputs allmetadata by default instead of just the game id (use -q for just game ID).  Highlights include:

Native File Reading/Extraction

Most "helper" tools have been eliminated.  Data is no generally read and extracted directly from the file.  For PS3 discs, for example, PARAM.SFO is now found, read, and parsed natively vs. using 7z to extract the file and sfo to parse the contents.  This simplifies external dependencies and, depending on platform, can greatly improved speed.  PS4, for example, no longer first requiring extracting a multi-GB app.pkg before then extracting PARAM.SFO - now the SFO file is found and read directly from the PKG file within the ISO.

Some helpers are still required - for example, nstool is required to read most metadata for Switch ROMs.  In these cases, metadata that can be obtained without the tool will be extracted first; if the tool is available additional metadata will be extracted and reported, otherwise it will gracefully fall back and only print the available subset.

Support for MANY New Formats

See the changelog below for the complete list, but I added support for 35+ new platforms and formats with this release.  It now covers the same set of platforms as Verify Game.

Native Compression Support

Where possible, it now directly reads metadata from compressed files rather than first decompressing the entire file.  Specifically, the script can read metadata directly from CSO (PS2/PSP), NSZ (Switch), RVZ (GameCube and Wii), and WUX (Wii U) files, making extraction as fast as their uncompressed equivalents.

CHD and CDEmu Support

CHD support was also added.  Unlike the above compressed formats, CHD does not preserve key metadata in an uncompressed location, so as an alternative CHDs can be mounted as a virtual device via CDEemu and directly extracted from the virtual device.  By default, CHDs will first be decompressed via chdman, but passing -c will instruct it to add the CHD as a virtual device in CDEmu instead.  This can save significant time on large CHD collections, but there are some caveats:

  • This requires a very recent version of CDEmu - libmirage 3.3.2 and cdemu-daemon 3.3.1
  • There's a startup cost to spinning a bunch of virtual devices up and down - depending on the speed of your computer and number/size of CHDs, it can be faster to decompress instead.  This has been optimized as much as possible, but generally the more CHDs you're reading the more benefit you'l see from this.
  • Dreamcast and TurboGrafx-CD (PC Engine CD) games cannot be read via cdemu due to need for exact track layout; omit the -c to decompress these formats with chdman instead
Transparent Decompression Support

In addition to the compressed formats listed above, transparent decompression for all common compression and archive formats have also been added.  E.g., if you compress your ROMs with 7z or zstd, they will be transparently decompressed to a temporary file, then read and deleted.

Major Script Refactor

This is not a user-facing change, but the logic used to read files, detect the format, process and output metadata has all been complete refactored and rewritten.  The result is a much more logically consistent approach that should produce more consistent results with fewer edge cases as well as being easier to maintain and extend going forward.

 

Here's the full changelog:

  • COMPLETE SCRIPT REWRITE - structure, logic, data handling all new; the following notes just detail new features
  • Add support for the following new platforms:
    • 3DO, Dreamcast, Neo Geo CD, PC-FX, PS5, TG/PCE-CD, Wii, Wii U, and Xbox ISOs
    • 2600, 5200, 7800, Lynx, Jaguar, WonderSwan, Intellivision, TG16/PCE, SGX, NES+FDS, SNES, N64, GB, GBC, GBA, DS, 3DS, Switch (XCI/NSP), SMS,  GEN, GG, NGP+NGPC, VB, and Vita (PSV) ROMs
    • 3DS/Wii U TMD, Xbox XBE, X360 STFS, and Wii WAD files
  • Add native read of CSO, NSZ, RVZ, and WUX images - no need for full decompression;
    • Note: non-standard CSO images may not be compatible; use -C to disable this feature
  • Add generic Unkown / PC fallback for ISOs - print useful PVD info
  • Add direct CHD reading via cdemu (-c) - no need to first decompress;
    • Note: Dreamcast and TG/PCE CHD images cannot be supported by -c
  • Add support for reading from physical devices (e.g., /dev/cdrom)
     

Verify Game 5.0 Released

By jbreland , 07/11/2026

Verify Game 5.0 is a major update, accumulating many changes since the last official release nearly five years ago.  The full changelog is below, but here are the major highlights:

Report Mode

The new -r option enables report mode, which compares your local file names against the verified names from No-Intro/Redump and reports on any mismatches.  This can be customized to support a personalized naming convention by using -R instead, but requires use and setup of an additional configuration file.  More details included in the Verify Game page and in the source code.

Group Mode

Group mode, enabled with -g, enables verification of a group of related files as a single unit.  E.g., Wii U DLC and updates are provided as a bundle of files, each DATted separately.  Verifying each individually can be done but is messy.  With group mode, you can now give it a directory containing all of the patch files, and it will report on verification as a single unit rather than individual files.  -v and -a can be used to enable more verbose display of all individual matches if desired.

Group Mode for CDs

This is handled automatically (no need to specify -g) - if a multi-track CD is detected, individual tracks are validated as described above, but Verify Game will now report the results as a single unit for the CD vs. individual tracks as done previously.  -v and -a can again be used to display details of individual tracks if desired.

Additionally, new logic is implemented to determine and report the "correct" name for verified CD tracks.  Many games contain individual tracks that may be used in different games, such as common data tracks that may be present in different regional releases of a game, or very commonly a "this is not a music CD" track present on a great many early CD-ROM titles.  If all tracks are verified, Verify Game now reports only the correct matching name for each track rather than all matching names.  This logic also applies to group mode for DLC/update files.

SHA1 used by default

Most modern CPUs include a SHA instruction set (sha_ni) to accelerate SHA1 hashing.  This means SHA1 checksums can be computed faster than MD5, despite SHA1 technically being a slower algorithm.  Verify Game now uses and defaults to SHA1 instead of MD5 for faster verification, but you can use -c to switch back to MD5 if preferred.

Verify Game script name change

verify_game.sh has been renamed to verify-game.sh.  This does not result in any functional change, but note the change and delete the older version when updating to version 5.0.

 

Here's the full changelog:

  • Add support for new ROM formats:
    • Atari 5200, 7800, and 8-bit; Amiga IPF and and CD32; Switch NSP; Vita PSVgameSD
  • Add support for new compression formats:
    • CHD; ZST; RVZ (Wii/GC); NSZ (Switch); NBZ (Commodore 64)
  • Add support for Aftermarket and Private DAT files
  • Add support for report mode to identify misnamed ROMs; additionally add support for optional 'personalized' reporting with -R
  • Add support for 'group mode' to validate a bundle of related files (such as a Wii U DLC or updates);
    • -e can be used to specify unique files like certs that should be excluded
  • Add support for auto-excluding known unique files with group mode
  • Add support for choosing hashing algorithm (SHA1 or MD5);
  • Add support for verbose flag to print additional details in output
  • Change name to verify-game.sh
  • Change default hashing algorithm to SHA1; this is faster than MD5 on modern CPUs with sha_ni instruction
  • Change handling for some DAT files and platforms:
    • Merge psp, psp-psn, and psp-psn-dec; ps4-psn and ps4-upd; vita-psn and vita-psn-dec
    • Rename 360-dlc to 360-cdn; wiiu-dlc to wiiu-cdn; vita* tp psv*
  • Remove 3ds-digital (3DS (Digital)) DAT support
  • Update platform detection logic to improve auto-detection
  • Update disc handling to verify and report as a single object
  • Update output to show DAT game title instead of DAT file name; use -f option to revert to file name output
  • Update the following to support newer DAT file names and formats:
    • 3DO; Atari platforms, NGPC, 3DS Updates and DLC, SNES, Wii WAD, PS3 PSN
  • Update WUX decompression to use JWUDTool; requires java, and must define path to JWUDTool.jar in $JWUDTOOL
  • Update error handling logic to fix some errors and improve output
  • Update multi-file matches to filter on original filename; should, e.g., prevent common audio tracks from spewing multiple matches;
    • added '-a' option to revert this behavior and show all matches
  • Update CUE handling to assume all Dreamcast-games are CUE-based; this will break GDI-based images, which need to be re-compressed
  • Update cert strip process to eliminate extra copy operation
  • Update verbose output to show both original and extracted file names
  • Update platform detection to walk directory tree for matches
  • Update -V option to trigger debug output instead of showing version; includes performance metrics; does not delete temporary files
  • Update script to use common directory for all temp files

Legroom Server Migration

By jbreland , 04/18/2026

I'm migrating the Legroom website and all related services to a new server.  As part of this process I've re-implemented Drupal from scratch.  I'm basically using this opportunity to re-baseline on the current version without all the old content and customizations I've been carrying forward since Drupal 4.  I exported and imported all primary content from the old site, but none of the forum content, comments, users, etc.

Some functionality depending on customizations from the old website won't display correctly, but all content should be there.  I've also switched to a customized version of the new default Olivero theme, which I've made less terrible by removing a lot of the wasted whitespace.  I'm also using the Olivero Dark Mode subtheme to enable dark mode for the site, which is a nice new feature.

I hate to lose all the old content and functionality, but the constant changes by Drupal with each upgrade have made things pretty fragile after 20 years of upgrades.  Plus, I obviously don't update the site much at all any more, so this felt like the right time to make a pretty clean break, re-baseline, and simplify the maintenance project going forward.

Major Legroom.net Website Upgrade

By jbreland , 09/30/2025

I'm in the process of a major upgrade for legroom.net. This includes jumping two major versions of Drupal, the software that powers this site. Unfortunately, a number of the components I use on my site, including the theme, are no longer supported with the latest version. Some functionality is definitely broken at this time until I'm able to find alternate solutions. All content should generally be available, but some downloads may not work. Site navigation is broken as well. as this new theme is... not my favorite, to be polite.

I'll be plugging away at this over the next few days.

Legroom.net Website Upgrade

By jbreland , 11/30/2021
I just completed a major upgrade to the Legroom.net website. Some things probably don't work. I see at least that some posts aren't showing any content, which I'm working on now. Please let me know if you notice any other issues. Thanks.

New Utility: SFO Extract Released

By jbreland , 09/19/2021

SFO Extract is a new utility intended to simplify extract SFO files (aka., param.sfo) from any PS3/PSP and newer games. It's meant to be fast and easy to use.

Additional info, download link, usage info, and technical details can be found on the Extract SFO page.

Verify Game 4.1 and Read Game ID 1.3 Released

By jbreland , 08/21/2021

I have a couple updates available for my game management scripts.

Verify Game 4.1 adds support for a few new consoles and compression formats formats, plus includes some bug fixes. The bundle version also includes all current supported Redump and No-Intro public and private DAT files.

  • Add support for IBM PC Compatible (pc) optical media
  • Add support for Intellivision
  • Add support for NKit-compressed images (Wii/GC)
    • Drop support for deprecated nNASOS (Wii/GC)
  • Add support for 3DS CDN files (Updates and DLC)
    • Rename 3ds-dlc to 3ds-digital
  • Add support for PS4 updates
  • Strip certificate from 3DS and XCI ROMs to match no-intro DAT
  • Strip headers from LNX ROMs to match no-intro DAT
  • Check for header before stripping
  • Indicate in verification output if ROM has been stripped
  • Include MD5 checksum in output for unmatched ROMs
  • N64 only supports big indian format; z64 and n64 treated the same
  • Update FDS dat filename to match no-intro change

Read Game ID 1.3 also adds support adds support for more formats and bug fixes:

  • Add support for Saturn and Sega CD images
  • Add support for PS4 discs with multiple or differently named
    • app.pkg files, such as Final Fantasy VII Remake
  • Add converted ID for PS1/2 games (e.g., SLUS_200.35 -> SLUS-20035)
  • Fixed a couple bugs in PS2 ISO handling
  • Fixed bug in package ver display for Vita games
  • Changed from read-sfo to sfo for better internationalization support

Convert to FLAC 2.1.5 Released

By jbreland , 11/26/2019
I just released version 2.1.5 of Convert to FLAC. This relatively minor update changes the following:
  • Added -k option to keep foreign metadata
  • Added support for TAK files via ffmpeg
  • Fixed bug preventing ffmpeg from decoding non-WMA files

Verify Game 4.0 Released

By jbreland , 02/03/2019

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.1 Released

By jbreland , 12/15/2018

I've released a minor update for Read Game ID, adding support for Xbox 360 ISOs and XEX files (utilizing abgx360).

Download from the Read Game ID page.

Pagination

  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Page 5
  • Page 6
  • Page 7
  • Page 8
  • Page 9
  • …
  • Next page
  • Last page

Navigation

  • Home
  • Miscellaneous
  • Software
  • Tips and Tricks
Color theme

All logos, trademarks, and comments on this site are property of their respective owner. 
All other content is ©2026 by Jared Breland and licensed under CC BY-SA 4.0. 
This website is syndicated with an RSS 2.0 newsfeed.  Syndicate content