"The only possible way to have 100% compatability is copyright infringement.  But, 
you can certainly come up with something that is similar enough to do what you need."

On Tue, 6 Jun 2023, Paul Koning wrote:
That's not always true.  Another way to get it is to implement from 
sufficiently high quality specifications.  The DIX Ethernet spec, and the 
DECnet specs, are examples where if you do what they say you will have an 
interoperable implementation.
Unfortunately that level of quality is not common, but it can and has been done.

Well, our discussion will be hindered by variations in the definitions of compatability.
And, we are discussing it in the context of IBM 5150!

A perfect implementation of the specification is certainly one definition, and should certainly give you something similar enough to do what you need. In MOST cases.

But, what if the specification itself is not perfect?
If we, instead, define "100% compatability" as always behaving exactly the same as the original, we might have problems. With something like the IBM PC, you might still run up against a situation where somebody has exploited a bug, and the perfect implementation is therefore not completely the same as the real world example.

We have to agree first about whether 100% compatability means a perfect mplementation of the specification, or whether 100% compatability means "bug for bug compatability".
MY definition of 100% includes "bug for bug compatability".
"Do you want it completely compatible, or do you want it to work RIGHT?"

I can't off the top of my head come up with any GOOD examples, such as why you might WANT to do any of the specific floating point divisions that show that bug in certain early Pentiums, but should we call it completely compatible with THAT model if it fails to give that particular wrong result?

but...
In the screen capture section of XenoFont, the full 4000 bytes of text mode video memory could not be done fast enough (unless I did it in sections and synchronized when it happened) without a clash that produced a mometary sparkle of "static". I declared that to be a FEATURE, and said that that was "the flash going off" to tell you when the image got captured. :-) And, believe it or not, some users LIKED that! A machine that is enough faster than a 5150 to NOT get that "interference" might be BETTER, but not behaving exactly the same.

One of my students once was asking about the "freeze" of 5150 BASIC during "garbage collection" and wondered about using that to get random unexpected pauses and breaks for users doing long intensive tasks!

--
Grumpy Ol' Fred                 ci...@xenosoft.com

Reply via email to