Btw the way diagnose instruction worked was it used jumps into the microcode.  Very cool.  I still have a TILT deck that is a 4 card program written using mostly 360/67 diagnose instructions.  

FYI. The “DAT” (data address translation-aka the vm unit) was a separate box attached to the side of the CPU which was filled with incandescent lamps.  Also remember that the console bell on the 360 was a large fire alarm style bell

This program spelled TILT on the lights of the DAT box and sent a bell char to the console every .5 sec like a large pinball machine.  Sadly it was a standalone program that we could only run at night but very cool none the less.

Clem

On Sat, Nov 16, 2019 at 2:24 AM Peter Jeremy <peter@rulingia.com> wrote:
On 2019-Nov-16 09:42:47 +1100, Dave Horsfall <dave@horsfall.org> wrote:
>On Fri, 15 Nov 2019, Arthur Krewat wrote:
>> How did Amdahl get away with making 360 clones? I would have thought
>> that IBM would have crushed his bones into dust.
>
>Clones in the way that they were able to run OS/360; that's about all that
>I can remember.  Hitachi also came out with a clone, as did no doubt many
>other manufacturers; after all, the instruction set was public
>knowledge...

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.

>I dimly recall that some opcodes had undocumented side-effects, so in
>theory (and likely in practice) OS/360 could detect whether it was running
>on a clone, and "fail to proceed" (in Rolls Royce terms).

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).

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.

--
Peter Jeremy
_______________________________________________
COFF mailing list
COFF@minnie.tuhs.org
https://minnie.tuhs.org/cgi-bin/mailman/listinfo/coff
--
Sent from a handheld expect more typos than usual