Reply 20 of 70, by jklaiho
Well, that got lively fast. Frankly, I'm puzzled why there seems to be such a frequent streak of hostility on these forums. Be that as it may, let me try and address various points made here.
You know what, before going deeper into this, you should compile a list of games that *really* need this imaging, for which normal images made in dos with a good floppy image program, do not work in dosbox
Someone has compiled a list of booters and DOS games that have copy protection here. I have no idea how exhaustive it is, but it is a nontrivial list of games. The funny thing is, many (perhaps most) of those are also on the DOSBox compatibility list, despite them only being playable as pirated copies (or cracked, which is still shady if not technically illegal, and this can vary by jurisdiction). Not a ding on the developers, I know the compatibility list is user-submitted, but for DOSBox to be truly capital-c Compatible with them, it would need to deal with authentic disk images in some way.
As for GPL and IPF openness, I highly recommend this thread on the KryoFlux forums: IPF and openness. It's sixteen pages long and from 2011, but it's the big discussion that took place when the IPF library license choice was up for debate. The intent of the developers there is plainly in view: they want it to be used as widely as possible, since that's the only way to make a preservation format credible in the long run. The thread attempts to explain why they felt GPL wasn't a good fit for them, but they very much want GPL software to be able to use IPF. (To that end, note that the Developer Library and Access API are licensed differently on the SPS site, with the latter allowed static linking to any program, open source or commercial.)
A quote from "mr. vince", one of the devs, in the thread that was spawned off the first thread after the license choice was made: We really encourage you to ask us if you feel you need the source licensed under a different licence. They share your free ideals, it's just that their specific implementation is a little (not a lot) different, and can apparently be made to mesh with yours in one way or another.
Sufficient freedom and actual intent are what's important, the choice of license shouldn't be seen as more than an implementation detail, certainly not as an ideological blocker.
Regarding the IPF, the first issue with implementing it is that DOSBox does not fully, if at all, emulate the NEC 765 Floppy Controller. DOSBox instead emulates Int 13h floppy writes and DOS calls. The copy protection schemes which the IPF seeks to preserve rely on the behavior of that controller. So there is the first obstacle.
I'm on unsure footing on the technical side, so excuse misunderstandings. As I've understood it, there are two ways to approach this: either let the library feed your emulated floppy controller the data (which, I take it from your comment, is not possible since DOSBox does not emulate the controller), OR use the floppy emulator built in to the library. See this post on page 3 of the thread. I'm not familiar with the functionality myself, but would this approach theoretically be applicable to DOSBox without entirely rewriting the current floppy handling scheme?
Second, due in part to its high price and limited appeal, relatively few DOS gamers own a Kyroflux. Why bother implementing a feature that only 10-15 people may use?
Third, there are no tools available to the public to turn KF streaming files into IPF files, and even less support if you actually want to rewrite them to a disk. Also, if its not an Amiga game, especially a pristine one not yet in the SPS, good luck getting attention.
...Kyroflux is not a good solution for DOS gamers at this time, and judging by the antipathy to any platform not released by Commodore or Atari, it may never be.
First, SPS has in recent times been quite welcoming of dumps on any platform that KryoFlux supports. I've been explicitly told to submit any dumps I make for IPF conversion. Before KF existed, they couldn't easily source preservation-quality dumps of games for a larger variety of platforms. They can now, and it is apparent in their recent communications.
As for the presumed limited appeal of KF, I was about to reply to this detailing the philosophical reasoning for the inclusion of KryoFlux support as the only realistic way (not widely used, but still the only way) to keep playing legally owned copy-protected games in the time where people no longer bother to have a floppy drive inside their machine (but do keep one around for connecting to the KF). But I decided against it. Let's just shed the pretense, shall we?
DOSBox users overwhelmingly use it to play at least some games they don't own. In the best case, they might have once owned them in the early nineties or something, but they've long since sold them or given them away or lost them or see them succumb to bit rot and be thrown away. That doesn't mean they won't get the occasional pang of nostalgia and want to relive those memories. Sure, some shining beacons of human virtue may actually hunt down a copy from eBay, if and only if they possess the means to transfer the game to DOSBox. That is rare and will only become more so. Of the people who have upgraded their computer in recent years or will do so in years to come, only nerds like us have floppy drives, even USB ones. Others, the majority, will just go look for it on abandonware sites or The Pirate Bay. Soon enough (and already for users of new Mac Minis or MacBooks), it'll be the same for CD games since optical drives are slowly fading away. Remember, we should be forward-thinking, looking 10-20 years into the future at least.
To anyone about to ragereply to this: kindly skip the "Well I NEVER..!" outrage and face facts. The developers (perhaps wisely) stay quiet about it, but it would be living in denial to not tacitly acknowledge that this is the practical reality of things. Just because YOU own all the games you play doesn't mean everybody else does, or that even the majority does.
So. Currently your average abandonware site or retro torrent haven hosts a mishmash of cracked, preinstalled games; disk images if you're lucky; TeleDisk images of copy-protected games if you're REALLY lucky (though PCE is your only option there). As more and more serious game collectors get KryoFluxes, and SPS accordingly ramps up IPF production of them, they will become more widely available via ever prevalent casual piracy.
Look at the Amiga side of things. People could just as easily play the cracked .adf games, but there is still a lot of demand for IPFs. It's the packrat mentality of a lot of retro game hobbyists: collect, store and preserve the most "pure" representation of a game available.
It would be silly to assume that if DOS and PC booter IPFs become available, there wouldn't be demand for them in the DOSBox user base - whether they consist of people dumping their own collection or (more frequently) playing games others have dumped and then shared via piracy.
In the end it comes down to this: there will be PC IPF images in increasing numbers. There will be users who want to use them. Some DOSBox ports or other emulators like PCE or MESS will pick up the slack and support them. Will DOSBox? If not, why not? Don't think now, think 2023.
Supporting IPF images is no more or less conducive to piracy than the mere fact of emulating DOS is in the first place: to pirate or not pirate is still the exclusive choice of the user, the emulator itself is not to blame. The only thing an emulator developer can do to discourage piracy is to provide the users the most comprehensive means of playing legally owned old games, not just right now but in the future as well. (This means no reliance on physical floppy drives existing in the machine that is used to play the game.) For copy-protected games, IPF support is the only realistic way to go about doing it.
Your choices are the following:
1. Implement IPF support, either yourself or through a GSoC project or equivalent. You are philosophically consistent by providing the means for users to play even the most problematic copy-protected games legally, which is in line with your stated anti-piracy stance. (The "putting your money where your mouth is" option.)
2. Do not implement IPF support, but explicitly state that you do not support games that have physical copy protection on the floppy disks. You are philosophically consistent: even though users can run cracked versions of these games, you are disclaiming any part in it. The fact that they can run is incidental, not intentional.
3. Do not implement IPF support and do not express non-support for the physically protected games. This is philosophically inconsistent, since you frown upon piracy, yet tacitly acknowledge that it is the only way to play a number of games that are considered supported. This is the worst option, and effectively the situation right now.
I'll finish with this:
The concept of DOSBox is firmly rooted in the GPL and open source. The developers are trying to rid themselves of any vestiges of non GPL-MAME code. It is simply contrary to the aim of DOSBox to have most of DOSBox released under the GPL and some portions released under a different license.
Consider: is the point of DOSBox to enable its users to emulate the DOS games of days gone by and to serve the users' needs as well as it can, or is it to be a good GPL citizen for its own sake?