All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.2.0 - 2024-01-11
CICKind.get_entrypoint
: Returns the entrypoint address that would be used on runtime.CICKind.calculate_checksum
: Convinience method that wrapschecksum::calculate_checksum
.- Python bindings:
- Expose
Ipl3ChecksumError
to Python as a new exception for each error of the enum. Refer toipl3checksum.exceptions
.
- Expose
- Rewrite the checksum algorithm for readability and simplicity.
1.1.1 - 2023-12-23
- Python bindings:
- Fix
detectCIC
anddetect_cic_raw
functions not acceptingbytearray
objects.
- Fix
- Fix some typos.
1.1.0 - 2023-12-22
- Add Rust support.
- New static methods for
CICKind
.CICKind.fromHashMd5
: Returns a CIC kind based on the passed md5 hash.CICKind.fromName
: Returns a CIC kind based a string representing its name.
- Add C bindings.
- Add support for the IPL3 5101 variant (Used by Aleck 64 games).
- New frontends:
check
: Checks if the checksum in the ROM matches the calculated one.detect_cic
: Allows to detect the cic type used by a rom.sum
: Calculates the ipl3 checksum of a rom.
- Library was reimplemented in Rust, allowing faster runtime calculation.
- The Python API is still the same.
- Fix links in
CHANGELOG.md
1.0.1 - 2023-09-21
- Allow invoking
ipl3checksum
as a CLI program.- Currently it only allows the
-V
/--version
argument, which prints the version of the library.
- Currently it only allows the
- A
CHANGELOG.md
- Cleanup the
README.md
- Reorder sections.
- Add more notes about installing and the develop version.
- Reference the changelog.
- List features.
- Add a
py.typed
file.
1.0.0 - 2023-09-20
- Initial relase