https://github.com/qalle2/qromp
Qalle's ROM Patcher / Patch Creator
https://github.com/qalle2/qromp
bps command-line ips patcher python3 rom-hacking
Last synced: 3 months ago
JSON representation
Qalle's ROM Patcher / Patch Creator
- Host: GitHub
- URL: https://github.com/qalle2/qromp
- Owner: qalle2
- License: gpl-3.0
- Created: 2022-01-28T13:38:39.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-22T13:02:12.000Z (over 1 year ago)
- Last Synced: 2023-11-22T14:26:19.158Z (over 1 year ago)
- Topics: bps, command-line, ips, patcher, python3, rom-hacking
- Language: Python
- Homepage:
- Size: 188 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Qalle's ROM Patcher / Qalle's ROM Patch Creator
Apply a BPS/IPS patch to a binary file or create a BPS/IPS patch file from the
differences of two binary files.Table of contents:
* [qromp_bps.py](#qromp_bpspy)
* [qromp_ips.py](#qromp_ipspy)
* [qromp_enc_bps.py](#qromp_enc_bpspy)
* [qromp_enc_ips.py](#qromp_enc_ipspy)
* [Other files](#other-files)## qromp_bps.py
```
usage: qromp_bps.py [-h] [-v] orig_file patch_file output_fileQalle's BPS Patcher. Applies a BPS patch to a file.
positional arguments:
orig_file Original (unpatched) file to read.
patch_file Patch file (.bps) to read.
output_file Patched copy of orig_file to write.options:
-h, --help show this help message and exit
-v, --verbose Print more info. (CRC32 checksums are of zlib variety and
hexadecimal.)
```## qromp_ips.py
```
usage: qromp_ips.py [-h] [-v] orig_file patch_file output_fileQalle's IPS Patcher. Applies an IPS patch to a file. Has the 'EOF' address
(0x454f46) bug.positional arguments:
orig_file Original (unpatched) file to read.
patch_file Patch file (.ips) to read.
output_file Patched copy of orig_file to write.options:
-h, --help show this help message and exit
-v, --verbose Print more info. (CRC32 checksums are of zlib variety and
hexadecimal.)
```## qromp_enc_bps.py
```
usage: qromp_enc_bps.py [-h] [--min-copy-len MIN_COPY_LEN]
[--metadata METADATA]
orig_file modified_file patch_fileQalle's BPS Patch Creator. Creates a BPS patch from the differences of two
files. Slow.positional arguments:
orig_file Original file to read.
modified_file File to read and compare against orig_file.
patch_file Patch file to write (.bps).options:
-h, --help show this help message and exit
--min-copy-len MIN_COPY_LEN
Minimum length of substrings to copy from original or
patched file. 1-32, default=4. A larger value is
usually faster but less efficient and requires more
memory.
--metadata METADATA Metadata to save in the patch file, in ASCII.
Default=none.
```## qromp_enc_ips.py
```
usage: qromp_enc_ips.py [-h] [--min-rle-len MIN_RLE_LEN]
[--max-unchg-len MAX_UNCHG_LEN]
orig_file modified_file patch_fileQalle's IPS Patch Creator. Creates an IPS patch from the differences of two
files. Somewhat inefficient.positional arguments:
orig_file Original file to read.
modified_file File to read and compare against orig_file. Must be at
least as large as orig_file.
patch_file Patch file to write (.ips).options:
-h, --help show this help message and exit
--min-rle-len MIN_RLE_LEN
Minimum length of blocks to encode as RLE. 1-16,
default=9. Affects efficiency.
--max-unchg-len MAX_UNCHG_LEN
Maximum length of unchanged substring to store. 0-16,
default=1. Affects efficiency.
```## Other files
* `*.sh`: Linux scripts that test the programs. Warning: they delete files.
* `*.md5`: MD5 hashes of correctly-patched test files.Test files used by the scripts are not included for legal reasons.