The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history:

4.01 - Wed July 12 2017
        - Now licensed under MIT License.
        - Minor documentation updates.

4.00 - Fri June 30 2017
        - Updated to handle PSID/RSID files versions 1 through 4.
        - The text fields of 'title', 'author' and 'released' are now
          allowed to be exactly 32 chars in length as per the latest SID file
          format spec.
        - Added support for second and third SID model fields.
        - Added support for second and third SID address fields.
        - Fixed 'speed' field related algorithms for PSID v1 or PlaySID-
          specific files when the number of songs is more than 32 as per the
          latest SID file format spec.
        - Fixed MD5 calculation bug for files with more than 32 songs. (I'm
          hoping this will fix MD5 calculations once and for all. :-)
        - Fixed: v1 files are now always considered PlaySID specific.
        - Fixed: during validation, ROM area checks for the relocation range
          are now applied to RSID files only.

3.11 - Sun Aug 14 2005
        - The textual fields of "title", "author" and "released" were
          handled as Unicode. They were supposed to be ISO 8859-1 ASCII
          single-byte chars in SID files. This is now enforced when doing
          a set(), write() or validate().
        - getC64BASIC() returned undef for RSIDs, which was incorrect.

3.10 - Sun Jul 17 2005
        - Fixed MD5 calculation for RSIDs.
        - The 'name' field is now called 'title' for consistency with
          HVSC and other SID-related programs. 'name' is still accepted
          for backwards compatibility.
        - New method isRSID() that returns 'true' if the file is a RealSID,
          'false' otherwise.

3.03 - Tue Jan 31 2004
        - Added check in validate() to make sure the initAddress is within
          the load range for PSIDs.
        - Added complete support for the 'C64 BASIC' RSID flag: added the new
          getC64BASIC(), isC64BASIC(), setC64BASIC() methods, changed the
          PlaySID flag related methods. See documentation for details.

3.02 - Fri Nov 22 2002
        - The load range wasn't calculated correctly when checking for the
          relocation range. Fixed it.
        - Changed the "copyright" field name to "released", but "copyright"
          remains an accepted alias for "released".

3.01 - Sat Nov 03 2002
        - There was a bug in the relocation page checking code. Fixed it.

3.00 - Tue Oct 29 2002
        Major changes:
        - First of all, the module name was changed from Audio::PSID to
          Audio::SID.
        - The module now also handles RSID (Real SID) files, which are
          basically PSID v2NG files with 'RSID' as their magic ID (instead
          of 'PSID'). These files strictly require a C64 environment in SID
          emulators to run properly, appropriate PSID v2NG restrictions are
          enforced for it.
        - 'magicID' is a new field that can also be changed: it can be set
          either to 'PSID' or 'RSID'.
        - new(), read() and write() can also take named parameters (see POD
          for details).
        - The validate() method was updated so it produces a valid PSID v2NG
          or RSID file.
        - The included PSID_v2NG.txt file containing the file specification
          was extended to include RSID and renamed to SID_file_format.txt.

        Bugfixes:
        - The read() method didn't take a filehandle correctly. (Thanks to
          Niklas Bichinger for reporting it!)
        - The last byte of a file wasn't read if the C64 data was exactly
          64 kB large (#$%@ boundary conditions!).
        - set() didn't always set the fields properly if a hash containing
          more than one field-value pair was passed to it.

2.02 - Tue Sep 5 2002
        There was a bug in the new MD5 calculation when PSID version was 1.
        Fixed it.

2.01 - Tue Sep 3 2002
        Changed the MD5 calculation to include the CLOCK field if it's
        set to NTSC. The old MD5 fingerprints can still be asked - see
        POD for details.

2.00 - Wed Apr 3 2002
        Added PSID v2NG support.
        Major interface changes - see POD for details.

1.60 - Sun Jan 6 2002
        First version released to CPAN.

1.00 - Fri Jun 11 1999
        First publicly released version.