{"id":26052543,"url":"https://github.com/qalle2/qromp","last_synced_at":"2025-07-26T00:12:09.998Z","repository":{"id":171908777,"uuid":"453080890","full_name":"qalle2/qromp","owner":"qalle2","description":"Qalle's ROM Patcher / Patch Creator","archived":false,"fork":false,"pushed_at":"2023-11-22T13:02:12.000Z","size":193,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-11-22T14:26:19.158Z","etag":null,"topics":["bps","command-line","ips","patcher","python3","rom-hacking"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qalle2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-01-28T13:38:39.000Z","updated_at":"2023-11-22T14:26:20.144Z","dependencies_parsed_at":null,"dependency_job_id":"3ddccf33-16b1-43e5-9c07-e238e9716f02","html_url":"https://github.com/qalle2/qromp","commit_stats":null,"previous_names":["qalle2/qromp"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fqromp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fqromp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fqromp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fqromp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qalle2","download_url":"https://codeload.github.com/qalle2/qromp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242512383,"owners_count":20141390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bps","command-line","ips","patcher","python3","rom-hacking"],"created_at":"2025-03-08T06:40:56.554Z","updated_at":"2025-07-26T00:12:09.957Z","avatar_url":"https://github.com/qalle2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qalle's ROM Patcher / Qalle's ROM Patch Creator\n*Note: This project has been moved to [Codeberg](https://codeberg.org/qalle/qromp). This version will no longer be updated.*\n\nApply a BPS/IPS patch to a binary file or create a BPS/IPS patch file from the\ndifferences of two binary files.\n\nTable of contents:\n* [qromp_bps.py](#qromp_bpspy)\n* [qromp_ips.py](#qromp_ipspy)\n* [qromp_enc_bps.py](#qromp_enc_bpspy)\n* [qromp_enc_ips.py](#qromp_enc_ipspy)\n* [Other files](#other-files)\n\n## qromp_bps.py\n```\nusage: qromp_bps.py [-h] [-v] orig_file patch_file output_file\n\nQalle's BPS Patcher. Applies a BPS patch to a file.\n\npositional arguments:\n  orig_file      Original (unpatched) file to read.\n  patch_file     Patch file (.bps) to read.\n  output_file    Patched copy of orig_file to write.\n\noptions:\n  -h, --help     show this help message and exit\n  -v, --verbose  Print more info. (CRC32 checksums are of zlib variety and\n                 hexadecimal.)\n```\n\n## qromp_ips.py\n```\nusage: qromp_ips.py [-h] [-v] orig_file patch_file output_file\n\nQalle's IPS Patcher. Applies an IPS patch to a file. Has the 'EOF' address\n(0x454f46) bug.\n\npositional arguments:\n  orig_file      Original (unpatched) file to read.\n  patch_file     Patch file (.ips) to read.\n  output_file    Patched copy of orig_file to write.\n\noptions:\n  -h, --help     show this help message and exit\n  -v, --verbose  Print more info. (CRC32 checksums are of zlib variety and\n                 hexadecimal.)\n```\n\n## qromp_enc_bps.py\n```\nusage: qromp_enc_bps.py [-h] [--min-copy-len MIN_COPY_LEN]\n                        [--metadata METADATA]\n                        orig_file modified_file patch_file\n\nQalle's BPS Patch Creator. Creates a BPS patch from the differences of two\nfiles. Slow.\n\npositional arguments:\n  orig_file             Original file to read.\n  modified_file         File to read and compare against orig_file.\n  patch_file            Patch file to write (.bps).\n\noptions:\n  -h, --help            show this help message and exit\n  --min-copy-len MIN_COPY_LEN\n                        Minimum length of substrings to copy from original or\n                        patched file. 1-32, default=4. A larger value is\n                        usually faster but less efficient and requires more\n                        memory.\n  --metadata METADATA   Metadata to save in the patch file, in ASCII.\n                        Default=none.\n```\n\n## qromp_enc_ips.py\n```\nusage: qromp_enc_ips.py [-h] [--min-rle-len MIN_RLE_LEN]\n                        [--max-unchg-len MAX_UNCHG_LEN]\n                        orig_file modified_file patch_file\n\nQalle's IPS Patch Creator. Creates an IPS patch from the differences of two\nfiles. Somewhat inefficient.\n\npositional arguments:\n  orig_file             Original file to read.\n  modified_file         File to read and compare against orig_file. Must be at\n                        least as large as orig_file.\n  patch_file            Patch file to write (.ips).\n\noptions:\n  -h, --help            show this help message and exit\n  --min-rle-len MIN_RLE_LEN\n                        Minimum length of blocks to encode as RLE. 1-16,\n                        default=9. Affects efficiency.\n  --max-unchg-len MAX_UNCHG_LEN\n                        Maximum length of unchanged substring to store. 0-16,\n                        default=1. Affects efficiency.\n```\n\n## Other files\n* `*.sh`: Linux scripts that test the programs. Warning: they delete files.\n* `*.md5`: MD5 hashes of correctly-patched test files.\n\nTest files used by the scripts are not included for legal reasons.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqalle2%2Fqromp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqalle2%2Fqromp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqalle2%2Fqromp/lists"}