machjas Posted May 3, 2023 Share Posted May 3, 2023 Machtendo No-Intro ROM Parse View File What's this? This is a Windows Powershell script you can use to sort any No-Intro romset into a consistent and intuitive structure. The goal is to sort and organize ROM files by region, release type and revision. This script creates a directory structure to accommodate for all the various release types and flags found in a No-Intro set, which is then replicated to folders for the four major release regions, then sorted appropriately. By default, this script creates full sets for each region - for example, (World) releases are actually COPIED to every major region - I wanted to avoid regional biases where I could so that if someone wanted a full Japanese set or a European set, you only need run the script and grab the contents of the corresponding folder. You can disable this by commenting or removing the "Regional Bias" section of the script. Only available as a Windows Powershell script, not compatible with Linux or macOS currently. Why's this? In order to simplify compatibility with various frontends, to satisfy my own preferences, and possibly the preferences of others. A few use-cases can be found below. When using LaunchBox, playlists can be created by using the "Application/ROM Path" parameter - the filepaths/folder structure created by this script will allow you to be as granular as you would like. When using other frontends or utilities, usually you're actually just browsing your file/folder structure - the filepaths/folder structure created by this script are meant to be descriptive and (hopefully) intuitive. Once the script is run, one could simply delete entire regions, remove all the various Test Programs, trim BIOS files, delete Demo or Sample roms, Prototypes, and easily create a custom set that suits their individual taste. This script is entirely filetype agnostic - it doesn't care about file extensions, so as long as the set of files you're applying this script to uses No-Intro's flags, this script can be used to sort them - one could also use this script to sort through artwork/image/media files for corresponding ROM files. Instructions Simply copy this script file into the folder containing your rom files, and double click to run it. That's it! If you happen to receive an error saying something along the lines of "Running Scripts is Disabled on this System" you can open the folder in Terminal or PowerShell and run the script with the following command. I'll defer to this article if you would like more information. powershell -ExecutionPolicy Bypass -File .\Machtendo No-Intro ROM Parse v5.0.ps1 Logic & Structure How have these files been sorted, and why? BIOS Files BIOS files are first moved into a _BIOS folder prior to any sorting functionality. This is so that any available version is immediately and easily accessible for use with an emulator if needed. Regions I'm going by the three historically major release regions, with a fourth "Other" region to cover the other minor release regions. North America US Canada Japan Japan Europe Italy Spain Sweden France Germany Australia Denmark Scandinavia Other Korea Brazil Argentina Taiwan Mexico Russia Hong Kong Netherlands China Greece Asia No-Intro Flags The file structure for the No-Intro flags is replicated to the four regional folders described above. Aftermarket Releases - Licensed, Unlicensed, or Homebrew games released for a platform after its "active" or "canonical" lifespan. Hacks - Not strictly within the scope of No-Intro - these ROMs have had patches applied to them to modify, transform, or attempt to improve an existing game. i.e. patches that can be found at RDHN (romhacking.net) Alternate Releases - Re-release of a ROM on a later platform or in a "Classics" Collection, i.e. Virtual Console, Nintendo Switch Online, or compilations such as "Castlevania Anniversary Collection" Official Releases - Licensed games released at the time of a platform's "active" lifespan. Pre-Release - Unfinished games - betas, demos, or prototypes not meant for the general public Test Cartridges & Utilities - These are tools generally used by developers or hardware manufacturers, mostly for testing purposes or diagnostics/troubleshooting Translations - Again, not strictly within the scope of No-Intro, but these are ROM files with an applied translation patch, commonly denoted with the [T-En] flag. Note that the region that these translations are targeting is the region the rom will be moved to - i.e. target language is English, therefore ends up in the North America > Translations folder. Currently, only [T-En] is supported. Unlicensed Releases - Unlicensed games that were released DURING the canonical lifespan of the platform in question without explicit permission or input of the platform's manufacturer. Previous Revisions - Earlier releases of a given title - The latest Revision is kept in the "Official Releases" folder, while the earlier revisions end up here. Notes & Clarification Keep in mind, this script is only intended for use with romsets following the No-Intro naming convention. More information can be found here: https://wiki.no-intro.org/index.php?title=Naming_Convention This script cares ONLY about the No-Intro naming convention - the use of DAT files and ROM managers have not been considered, and splitting up these ROM files may break compatibility with said DAT files or ROM managers. Starting with v5.0, support for parsing/sorting numbered revisions was added - I have not yet verified if this script generates a perfect DAT-worthy 1G1R set. By default, no ROM files are deleted by this script - I'm only sorting and organizing. I am also not responsible for any undesirable effects or outcomes running this script on your machine may have. Feedback welcome in the comments! Tested with the following platforms Spoiler Atari - 2600 Atari - 5200 Atari - 7800 Atari - Jaguar Atari - Lynx Bandai - WonderSwan Bandai - WonderSwan Color GCE - Vectrex NEC - PC Engine - TurboGrafx-16 NEC - PC Engine CD NEC - PC Engine SuperGrafx Nintendo - 3DS Nintendo - Family Computer Disk System Nintendo - Game and Watch Nintendo - Game Boy Nintendo - Game Boy Advance Nintendo - Game Boy Color Nintendo - Nintendo 64 Nintendo - Nintendo 64DD Nintendo - GameCube Nintendo - DS Nintendo - Nintendo Entertainment System Nintendo - Satellaview Nintendo - Super Nintendo Entertainment System Nintendo - Virtual Boy Nintendo - Wii Sega - 32X Sega - Dreamcast Sega - Game Gear Sega - Master System - Mark III Sega - Mega Drive - Genesis Sega - Saturn Sega - SG-1000 SNK - NeoGeo Pocket SNK - NeoGeo Pocket Color Sony - PlayStation Sony - PlayStation 2 Sony - PSP Sony - PS Vita Submitter machjas Submitted 05/03/2023 Category Third-party Apps and Plugins Quote Link to comment Share on other sites More sharing options...
KayKay919 Posted May 2 Share Posted May 2 When I run this script, a command line windows appears for a brief moment then disappears. No folders are created. I have it inside the same folder as my no intro roms. You know what I could be doing wrong? Quote Link to comment Share on other sites More sharing options...
Uplink Posted August 13 Share Posted August 13 Any way this could work to not move the files, but just create playlists?? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.