Re: [Psid64-devel] SID file format (was: SIDDB)
Convert PSID and RSID files into C64 executables
Brought to you by:
rolandh
|
From: Roland H. <rol...@gm...> - 2007-04-17 22:16:18
|
> I do not know how rigorous other software developers were when implementing PSID loader routines, but technically, they should reject files if they a) don't start with either "PSID" or "RSID", b) have a version number larger than 2, c) have a dataOffset other than 0x0076 or 0x007C. I'm just thinking of backwards compatibility here. By looking at e.g. TinySID source I noticed that it only uses the least significant byte of the header length word, but I'm sure Rainer Sinsch is willing fix this. The original PlaySID code declares the dataOffset field as "length", most likely short for "header length". One can either call the field dataOffset and declare everything before this address part of the header, or call the field headerLength and declare everything after it data. In the end it's just a matter of wording and doesn't change the contents of a file, but the latter case sounds more logical to me. > One reason we switched the magic ID to "RSID" was so that non-RSID-compatible players would reject those files. We could do the same (say, use "XSID" for version > 2). I guess that's the function of a version field ;-). In general software should not expect forward compatibility of a file format and thus not accept any newer versions than it can handle. > BTW, add Unicode UTF-8 support to my list of desired features. So we could have longer and linguistically correct "title", "author" and "copyright" fields. (We could keep the equivalent PSID fields for backwards compatibility, though - sort of how MP3 ID3v1 and ID3v2 can coexist.) That would also help with STIL entries, too. I have no clue how Unicode chars would be displayed by PSID64, though. =) I'm also in favor of adding UTF-8 support. PSID64 currently translates ISO Latin 1 characters to PETSCII by removing any diacritics present in these fields. Maybe for some Unicode characters a similar translation is possible, others will probably just shown as '?'. Regards, Roland |