Releases: ullenius/spctag
Releases · ullenius/spctag
v2.1.0
v2.0.1
v2.0.0
- Bug fix: Make maven run unit tests
Breaking changes:
- API changes:
Id666
-class method return type changed fromString
toLocalDate
public String dateDumpWasCreated() // re-named method
public LocalDate getDateDumpWasCreated() // new method
Id666
"dumped date"-parsing is now spec compliant:
Background
- Most dumped-dates in text-tag format are stored in the ISO-8601 date-format
(YYYY/MM/DD
).
- The spec however, clearly states that text-tag dump-dates are in:
MM/DD/YYYY
-format.
Old behaviour
- Dates were parsed as:
DD-MM-YYYY
if possible. - For example:
06/12/1999
was parsed as1999-12-06
(6 December 1999)
New behaviour
- Allowed formats:
YYYY-MM-DD
,MM-DD-YYYY
- Sometimes allowed:
YYYY-DD-MM
,DD-MM-YYYY
- For example:
06/12/1999
is parsed as1999-06-12
(12 June 1999)
Parsing rules
- Try to parse as ISO-8601 date
YYYY-MM-DD
- Try to parse as spec-date
MM/DD/YYYY
- a) If month/day is invalid in step 1 or 2. Swap them and parse as
DD/MM
Examples:
2005-31-12
gets parsed as2005-12-31
31-12-2005
gets parsed as2005-12-31
05-12-1999
gets parsed as1999-05-12
31-31-2005
fails parsing2001-02-29
fails parsing (not leap year)
v1.2.0
v1.1.0
v1.0.1
v1.0.0
- Breaking change: "Dumped date"-field (
Id666
) is consistently formatted on output asyyyy/MM/dd
- For example:
Date SPC was dumped: 2003/12/24
Old behaviour
- Binary tags:
yyyyMMdd
(20031224
) - Text tags: Inconsistent. Any 11 (sic) byte string allowed
New behaviour
- Binary tags:
Date SPC was dumped: yyyy/MM/dd
- Text tags:
Date SPC was dumped: yyyy/MM/dd
Parsing
Text tags
Permitted date formats:
yyyy/MM/dd
dd/MM/yyyy
v0.3.9
v0.3.8
- Fix broken binary dump-date parsing.
Binary dump dates are stored as:
byte, byte, short { day, month, year }
in little-endian format.
Previously they were incorrectly parsed as a 4-byte int
and thus failed to parse as a valid ISO-8601 date.
Buggy behaviour
09:25:57.125 WARN: Invalid date format: java.time.format.DateTimeParseException: Text '131402265' could not be parsed at index 0
09:25:57.129 WARN: Setting dump date to empty as fallback
After fix
$ java -jar spctag.jar -v "17 - Ending.spc"
File header: SNES-SPC700 Sound File Data v0.30
Tag format: Binary
Artist: Stefan Kramer, Jesper "Jo" Olsen
Song title: Ending
Game title: Rendering Ranger R2
Name of dumper: Knurek
Comments:
Date SPC was dumped: 20051025
Emulator used to dump SPC: ZSNES
-----------
XID6 tags:
-----------
OST track: 0
Publisher's name: Rainbow Arts
Copyright year: 1995
Introduction length: 3.0
Fade length: 448000