Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is "Create WinSFV-compatible SFV files"? #183

Open
SkepticalSnail opened this issue Feb 7, 2023 · 2 comments
Open

What is "Create WinSFV-compatible SFV files"? #183

SkepticalSnail opened this issue Feb 7, 2023 · 2 comments

Comments

@SkepticalSnail
Copy link

What does the option do? Also, is it common for SFV files to be WinSFV-compatible (do other hash tools expect them to be in that format)?

@OV2
Copy link
Owner

OV2 commented Feb 7, 2023

It adds the "Generated by WIN-SFV32 v1" comment in the first line of the sfv file. WinSFV does not open files without a compatible header in the first line.

This option is very old and predates RCRC-Unicode, it is not required if you do not want to use winsfv.

@SkepticalSnail
Copy link
Author

Thanks. I did some digging and found some background on this in pdSFV's documentation. It seems this was an issue only back in the '90s, while WIN-SFV was the only SFV tool available. I would suggest to disable the option by default, since it just adds confusion. In any case, you can consider the issue closed.

Here are the relevant excerpts from documentation (v1.2, November 2000), in case someone finds it useful in the future:

A short trip to the history of SFV files and background of pdSFV

[...]

In the early days of SFV files there was only one tool used by almost everyone, simply called “SFV” with the Windows version called “WIN-SFV” and the Unix pedant “SFV*NIX”. Everyone was happy with those until SFV files became more and more popular and – especially MP3 groups – started using their own tools to create SFV files. Some MP3 groups even had tools ripping an audio CD, converting it to MP3s, creating a SFV file for them and uploading it to a FTP site fully automated. 

Problems emerged when the mass of end-users had to find out that those SFV files could not be processed by WIN-SFV and SFV*NIX. This was because those two SFV file utils added their name as comment into the SFV files they created. The tricky point is that they refused to process any other SFV files, i.e. SFV files not created by WIN-SFV or SFV*NIX. Thus, unless the other SFV creating utilities pretended to be WIN-SFV, the end user had a hard time performing SFV checks.

About the same time some ISO/VCD topsites started adding banners and logos of their own to SFV files – as comments (see the discussion of the SFV file format later). Other topsites’ countermeasures “of course” were to remove those unwanted banners from the SFV files again – mostly done by simply removing all comments from uploaded SFV files. During that process the information that a SFV file was created by WIN-SFV or SFV*NIX got lost. This again led to the problem that end-users had problems with WIN-SFV and SFV*NIX because those tools again refused to process these SFV files.

After some heated discussions the author of WIN-SFV and SFV*NIX was contacted and asked to remove this limitation from his programs and said he would do so – but never did. 

For two months the situation remained unsolved – then pdSFV 1.0 was released [either late 1999 or early 2000]. Intended as a quick & dirty hack pdSFV’s primary target was to provide end-users with a tool flexible enough for all existing SFV file formats, even those which cannot be processed with WIN-SFV. Because several skilled programmers pointed out their interest in helping to contribute to a flexible SFV utility and their only problem was lacking knowledge of the used CRC/32 checksum algorithm, pdSFV was distributed with its full source to encourage the others to work on the details.

Meanwhile, about a year later [2000-11], we’ve decided to release pdSFV v1.2 to the public, having implemented several often-heard user requests and hoping that v1.2 will be as useful to you as v1.0 was.

Using the Windows GUI version

[...]

[...] The second option is backward compatibility to WIN-SFV. It is turned off by default because we consider it unnecessary nowadays, only turn it on if you really need to, since it unnecessarily implies restrictions to the SFV file format. [...]

[...]

Using the LINUX / UNIX version

[...]

WIN-SFV compatibility mode is activated by using the -w switch. As stated in the Windows section, this is considered unnecessary nowadays and you only should use it if you have a special reason for it.

[...]

The SFV File Format

[...]

The very first line of a SFV file usually is a special comment line: the “generated by” message. It basically looks like this:

; Generated by pdSFV v1.2 (WIN) on 2000-03-19 at 15:30.07

The date format is YYYY-MM-DD and the time format is HH:MM.SS. You will figure out that current versions of WIN-SFV and SFV*NIX cannot process SFV files which don’t have

; Generated by WIN-SFV v1

(or the unix version string) as beginning of their “generated by” line. Thus, what pdSFV is doing in WIN-SFV compatibility is simply pretending that it is WIN-SFV by faking this line.

[...]

Just mentioned for completeness: a SFV file doesn’t have to contain any comment lines. A simple list of files and their CRCs will do as well. (see next section if you want to go into the details that have caused some trouble on “scene” sites because of that)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants