@PatchEmAll
The Original Automated ROM Patcher
About
PatchEmAll or PEA is the original software application for automating the process of building ROMs from patches and building patches from ROMs.
Are you a ROM collector who wants to save vast amounts of time and bandwidth? Are you a patcher who is tired of working like an octopussy? If so, PatchEmAll is for you. It's easy and fun to use.
PatchEmAll comes with both a command line interface and a graphical interface. No matter which interface you choose, building ROMs and patches is easy. Just run PatchEmAll to build all of the ROMs or patches.
PatchEmAll uses Xdelta to create a patch containing the diff data between two ROMs. The resulting patch is usually very small and can be used to recreate an exact image of a second ROM.
Although PatchEmAll has more than one purpose, it's main purpose is to automate the process of building ROMs and patches. This automated process not only saves you vast amounts of time and bandwidth, but also creates a uniform set of patches.
PatchEmAll makes life simpler and easier. Just run PatchEmAll and go eat dinner, go to work or go to sleep. When you return, PatchEmAll has built every possible ROM or patch that it can... Or at least it's still working on it.
Using PatchEmAll, the sky is the limit as to how many patches and datafiles you create.
Notes
- The ROMs, patches and datafiles directories should be as close to the drive's root directory as possible. The nature of things dictates that there will be very long filenames, on occasion. Keep in mind that some things may not work correctly if you choose too long of a path to put your files.
- This software does not work on Zip, 7zip, TZip or any kind of archived ROMs. You must unzip or unarchive them into the appropriate directories.
- Patch names and ROM names that do not exactly match the names in all official datafiles may break this software and may cause havoc, serious injury or death.
- This software is not recursive. That means it won't find patches or ROMs inside of sub directories.
- This software is not a ROM manager. Use a ROM manager for renaming, checking and managing your ROMs and patches.
- This software is not a datafile tool. It doesn't have the ability to recognize every kind of datafile in existence. It should only be used with officially supported PatchEmAll datafiles.
Installation
This software is designed to run on various operating systems, using .NET or Mono. Windows already comes with .NET Framework, but you can still install and use Mono if you'd like.
First, if you are installing Mono, you should switch to the root user or System Administrator to install and use Mono and then switch to your downloademall user to install and use DownloadEmAll.
Next, download and unzip the software to any new location that you wish to use. However, this software should be installed as close to the drive's root directory as possible.
I like to put my installation in a directory called PEA on my Windows C:\ drive or in my Linux ~/ (home) directory. My installation layout looks like this:
C:\PEA\BASHes\
C:\PEA\Batches\
C:\PEA\Dats\
C:\PEA\Docs\
C:\PEA\Logs\
C:\PEA\Options\
C:\PEA\Patches\
C:\PEA\ROMs\
C:\PEA\Xdelta\
C:\PEA\PatchEmAll-CLI.exe
C:\PEA\PatchEmAll-GUI.exe
or
~/PEA/BASHes/
~/PEA/Batches/
~/PEA/Dats/
~/PEA/Docs/
~/PEA/Logs/
~/PEA/Options/
~/PEA/Patches/
~/PEA/ROMs/
~/PEA/Xdelta/
~/PEA/PatchEmAll-CLI.exe
~/PEA/PatchEmAll-GUI.exe
After this software is installed, you can create a new options file using the GUI or CLI version.
PatchEmAll will try to automatically load the saved default options file. If it is not found, it will load some default options.
PatchEmAll allows you to save many sets of options for numerous sets of patches and prepatches and quickly switch between them.
How To Build ROMs, Patches and Datafiles
The CLI or GUI version can be used to build ROMs, patches and datafiles.
- Download the official PatchEmAll patches (.dat) and prepatches (.ppd) datafiles and unzip them into the Dats folder.
- Set the options according to the following requirements:
- Building ROMs requires a ROMs directory, a patches directory, an Xdelta file and a delimiter.
- Building patches requires a ROMs directory, a patches directory, an Xdelta file, an Xdelta build command, a delimiter and a Dat/PPD/XML file.
- Building an official datafile requires a patches directory, an Xdelta file, an Xdelta build command, a machine name, a dats directory, and optionally a comment.
- Place all of the unzipped, unarchived ROMs into the ROMs directory.
- Place all of the unzipped, unarchived patches into the patches directory.
- Click the button with the action that you want to perform.
How To Build PPDs
Only the GUI version can be used to build PPDs.
- Click the Load Dat button to load a datafile into the ROMs boxes.
- Select a ROM on the left to patch from. Select a ROM on the right to patch to. Click the Add Prepatch button. Add as many prepatches as you want.
- Set the machine name and a comment in the options.
- Save your PPD file.
FAQ
Q1: What is PatchEmAll?
A1: PatchEmAll is a software application that automates the processes of building ROMs from patches and building patches from ROMs.
Q2: Why do I need PatchEmAll?
A2: To automate the process of building ROMs and patches. Working like an octopussy is needless and senseless, when you can just run BuildEmall to build everything possible and all at once. A better question is, why would anyone want to build one ROM or one patch at a time, unless he only needs one ROM or patch?
Q3: What makes PatchEmAll different?
A3: PatchEmAll is a software project, not a patching project. PatchEmAll is used by groups or individuals who operate and maintain patching projects.
Q4: How do I get my datafiles included in the official PatchEmAll datafiles?
A4: Simply submit them to be included in the official datafiles. The official PatchEmAll datafiles should only contain 100% working patches. Each set has it's own datafile and there is no mess.
Q5: I only want to build a few ROMs or patches. Do I have to build the entire set?
A5: Certainly not! Just put the few ROMs and patches into the ROMs and Patches directories and run PatchEmAll. It will only build the ROMs and patches that are possible out of the ROMs and patches that you supplied it with.
Contributing
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
- Collector
- Database Administrator
- Datter
- Developer
- Dumper
- Graphic Artist
- Translator
- Player
- Tester
Feel free to:
- Fork the repository
- Create an issue
- Branch your repository with the issue number and a meaningful name related to the changes you are making
- Create a pull request
Contact
GitEmAll: https://gitemall.devemall.int.eu.org/TommySalami/PatchEmAll
Disclaimers
We do not upload, share or distribute ROMs, patches, files or links.
This software includes Xdelta software, freely available from http://www.xdelta.org/