Skip to main content

Apply patches to ROMs and other files

Project description

vidua

Vidua can be used to apply (BPS or IPS) patches. It is intended particularly for use with ROM hacks.

Installation

pip install vidua

Usage

A simple script is included to validate or apply patches from the command line:

vidua patch.bps original.rom patched_output.rom

Full usage instructions:

$ vidua --help
usage: vidua [-h] [-v] [-q] PATCH [ORIGINAL] [OUTPUT]

Apply or validate patches.

positional arguments:
  PATCH           the patch file
  ORIGINAL        the file to be patched
  OUTPUT          filename to write patched file

optional arguments:
  -h, --help      show this help message and exit
  -v, --validate  validate the patch only; do not apply it
  -q, --quiet     suppress output except errors

Vidua may also be used as a library, to validate or apply patches from within another program:

from vidua import bps

patch = open('patch.bps', 'rb')
original = open('original.rom', 'rb')

with open('patched.rom', 'wb') as patched:
    patched.write(bps.patch(original, patch).read())

If the file is very large, you may prefer to use shutil.copyfileobj when writing to disk.

Credits

Alcaro's Floating IPS was very useful in working out how to handle BPS files when byuu's documentation was unclear.

Test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vidua-0.4.5.tar.gz (27.5 kB view hashes)

Uploaded Source

Built Distribution

vidua-0.4.5-py3-none-any.whl (19.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page