Ok then so the "private" interface is the API for dealing with chipsets (hardware drivers) and various graphics cards.
Yes, indeed, tis is the case.
If I was reimplementing, speculating only here I admit, then I wouldn't bother with that end of it at all. I would just create a very simple system for the one chipset that I was supporting.
Unfortunately, there is nothing "simple" about that. The graphics library is really build around the blitter, and planar graphics, minterms, and a couple of blitter functionalities. It uses copperlists, and denise's sprite system.
The Vampire rtg graphics is chunky, not planar, has no hardware sprite and no copper list.
Any replacement of graphics hence has to deal with incompatible pixel formats (chunky, planar), the emulation of blitter min-terms, the emulation of sprites, and other elementary graphics and hardware primitives.
It's really all but simple.
I suspect that is what has been done because the Vampire implementation isn't a general purpose system meant to be reused with different chips.
It targets a single design, one done by the same "team" as the author, that supports little more than a framebuffer and some basic operations.
Yes, the vampire framebuffer is pretty simple indeed, and the driver is rather minimal. Mostly because it already uses many of the services that are natively available within P96.
We cannot know more with seeing the source code for it, or at least the team discussing it in more detail, however there's no reason to assume infringment of any license here.
Once again, if you depend on P96 services for your framebuffer, you're depending on a lot of work somebody has done. You also depend on the calling interface from P96 into the driver, which was only available on a license basis.
Yes, the framebuffer driver itself is pretty simple, but only because somebody else has put an enourmous amount of work into the P96 system to keep it that simple. Call me old fashioned, but I believe this is something worth paying for.
Hooking into "graphics.library" is pretty simple, and writing an "rtg.library" is almost trivial especially if you have access to the hardware designer who's written the underlying chip.
No, not at all. (-: The problem is that graphics doesn't have a well-defined interface for rtg graphics in first place. It really goes down to the blitter. So it's not that you have "just" to implement a handful of graphics primtives and you're done. It's more that you have to re-implement a major part of the graphics.library.
Actually, this is pretty much what P96 is: A better implementation of graphics.
So for example, due to the lack of a customized interface, a lot of work in graphics is replicated in P96, as for example line clipping and line drawing, text drawing, text clipping and so on.
It's really a design problem graphics has of not defining any useful interfaces for other graphics systems than the native one.
Now as to the second part about how you feel about it, well they took a look at what was offered and the licensing terms. They didn't like them or they decided that they were unnecessary given what they hoped to achieve.
Oh, sure, you can simply say that you didn't like the terms. Then you need to come up with better terms and negotiate. It's not that such discussions are quick, and decisions are easily made. It usually takes some time to come up with the result. In this particular case, it only took a week.
The point is not so much whether a decision has been made for or against a given solution. The point is rather that now, at this point, the decision must been accepted with full consequences. And the full consequences are that if you don't want P96, you cannot create a driver that depends upon it. I believe this is a pretty simple consequence.
Sorry that it didn't work out for the P96 API authors but I just can't see what the problem is here. Unless nefarious dealings mean that propriatary code was used in this SAGA P96 implementation it seems that it should be quite legal.
How you can build a code against a proprietary interface is one question. Whether this is legal a second.
But what I don't really like is first to say "we don't want to pay for this interface", but then also use it in first place.
Call me old fashioned, but if the interface was good enough for me to work with, it should also be good enough for me to pay for.