On Sat, 16 Nov 2019, Peter Jeremy wrote:
More than just the instruction set - IBM published a
formal description
of the S/360 (in APL in the IBM Systems Journal issue that announced the
S/360). The S/360 was (I believe) the first case where a company
announced a computer architecture (rather than an implementation) and
implementations were expected to precisely comply with the architecture
(no more finding undocumented instructions and side-effects and writing
code that depended on them). This meant that clone makers could build a
clone that accurately emulated a S/360.
Ah, I'd forgotten about the APL documentation; thanks! Talk about giving
away the keys to the kingdom: Amdahl, Fujitsu, Hitachi...
AFAIR, the only "implementation defined"
instruction was DIAGNOSE,
OS/360 could presumably tell what it was running on by checking
particular DIAGNOSE function. (VM/370 was paravirtualised and used
DIAGNOSE to communicate with the hypervisor - CP).
Another point I had forgotten :-( Yep, the DIAG instruction was utterly
implementation-dependent, and thus OS/360 could tell whether it was
running on a clone or not.
Cut me some slack; I turned 67 last month :-(
In the early PC era, it was not uncommon for
applications to verify they
were running on a genuine IBM PC by looking for the copyright notice in
the BIOS - which clone makers countered by placing a "not" before an
equivalent copyright notice.
I remember the days of the "grey imports" (or "gray" for the
Americans);
if it ran Flight Simulator and not labelled "IBM" then it was technically
illegal; shortly afterwards if it did *not* run FS then nobody would buy
it :-)
How things change...
-- Dave