[cctalk] Re: System 360 question

2024-11-03 Thread Raymond Wiker via cctalk
The 6800 had an "HCF" instruction. The 6502 had several KIL instructions that 
had similar behaviour. I don't think either of these made any permanent damage.

https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)
https://www.pagetable.com/?p=39
https://en.wikipedia.org/wiki/Killer_poke

> On 1 Nov 2024, at 23:00, Peter Coghlan via cctalk  
> wrote:
> 
> 
> Nope.  If you believe this mythical instruction exists, you are the
> person that gets to spend the time digging up the references to it.
> 
> I've been writing assembly on the 6502 since the early 1980s and I have
> never managed to damage one when my programs went off the rails, which
> they did on many occasions.
> 
> I have never heard from any other 6502 users about issues like this either.
> 
> Regards,
> Peter Coghlan.
> 
> David Barto wrote:
>> 
>> Nope. Read the documentation for the chip. Turns out that the HCF 
>> instruction basically sent the chip into an internal loop which would render 
>> parts of it unusable after about 30-45 seconds.
>> 
>> Tried it once and the chip got hot. Very very hot and then just stopped 
>> working.
>> 
>>  David
>> 
>>> On Nov 1, 2024, at 9:55 AM, Peter Coghlan via cctalk 
>>>  wrote:
>>> 
>>> David Barto wrote:
 
 The 6502 had a HCF (halt and catch fire) undocumented instruction. 
 I forget the opcode and if you knew what you were doing you could get the 
 instruction executed on the chip using any assembler. 
 
 Security through obscurity back in the 70s. 
 The chip was advanced enough that the DOD wanted to avoid it falling into 
 the “wrong” hands. 
 
David
 
 Sent from iPhone Hotblack Desiato
 
>>> 
>>> Did someone tell you this on April 1st?
>>> 
>>> Regards,
>>> Peter Coghlan
>>> 
>>> Sent from my DEC Alphaserver 800
>> 
>> There is nothing more difficult to carry out, nor more doubtful of success,
>> nor more dangerous to handle, than to initiate a new order of things.
>> For the reformer has enemies in all those who profit by the old order,
>> and only lukewarm defenders in all those who would profit by the new...
>>--Niccolo Macchiavelli, The Prince
>> David Barto
>> ba...@kdbarto.org
>> 
>> 



[cctalk] Re: System 360 question

2024-11-01 Thread Peter Coghlan via cctalk


Nope.  If you believe this mythical instruction exists, you are the
person that gets to spend the time digging up the references to it.

I've been writing assembly on the 6502 since the early 1980s and I have
never managed to damage one when my programs went off the rails, which
they did on many occasions.

I have never heard from any other 6502 users about issues like this either.

Regards,
Peter Coghlan.

David Barto wrote:
>
> Nope. Read the documentation for the chip. Turns out that the HCF instruction 
> basically sent the chip into an internal loop which would render parts of it 
> unusable after about 30-45 seconds.
> 
> Tried it once and the chip got hot. Very very hot and then just stopped 
> working.
> 
>   David
>
>> On Nov 1, 2024, at 9:55 AM, Peter Coghlan via cctalk  
>> wrote:
>> 
>> David Barto wrote:
>>> 
>>> The 6502 had a HCF (halt and catch fire) undocumented instruction. 
>>> I forget the opcode and if you knew what you were doing you could get the 
>>> instruction executed on the chip using any assembler. 
>>> 
>>> Security through obscurity back in the 70s. 
>>> The chip was advanced enough that the DOD wanted to avoid it falling into 
>>> the “wrong” hands. 
>>> 
>>> David
>>> 
>>> Sent from iPhone Hotblack Desiato
>>> 
>> 
>> Did someone tell you this on April 1st?
>> 
>> Regards,
>> Peter Coghlan
>> 
>> Sent from my DEC Alphaserver 800
>
> There is nothing more difficult to carry out, nor more doubtful of success,
> nor more dangerous to handle, than to initiate a new order of things.
> For the reformer has enemies in all those who profit by the old order,
> and only lukewarm defenders in all those who would profit by the new...
> --Niccolo Macchiavelli, The Prince
> David Barto
> ba...@kdbarto.org
> 
>


[cctalk] Re: System 360 question

2024-11-01 Thread Jon Elson via cctalk

On 11/1/24 14:55, CAREY SCHUG via cctalk wrote:

Wikipedia lists models 60, 62, 64, and 66 (never shipped)
and 65 and 67 as shipped, but no 63.

since I don't remember 65s, I assume not many of them made it out the door?

Uh, no.  The 360/65 was a very popular model, QUITE (4X) a 
step up from the 360/50.  The /67 was a variant  of the /65, 
which had an address translator feature pretty identical to 
what was used in the later 370/168 for demand-paged virtual 
memory.  The model 65 also allowed two processors to run 
from shared memory.  This was called the MP65.  The model 
/60 was only produced for a short time, it was replaced with 
the model /65.


There is a picture of the /65 console in the Wikipedia article.

Also, a variant of the 360/65 was part of the FAA's air 
traffic control computer complexes.  They were called a 
model 9020.


Jon



[cctalk] Re: System 360 question

2024-11-01 Thread CAREY SCHUG via cctalk
Wikipedia lists models 60, 62, 64, and 66 (never shipped)
and 65 and 67 as shipped, but no 63.  

since I don't remember 65s, I assume not many of them made it out the door?

https://en.wikipedia.org/wiki/IBM_System/360

--Carey

> On 11/01/2024 1:12 PM CDT Van Snyder via cctalk  wrote:
> 
>  
> On Fri, 2024-11-01 at 11:01 -0700, David Barto via cctalk wrote:
> > > > The 6502 had a HCF (halt and catch fire) undocumented
> > > > instruction. 
> > > > I forget the opcode and if you knew what you were doing you could
> > > > get the instruction executed on the chip using any assembler. 
> 
> Early in 1965 Caltech installed one of only a few 360/63 computers.
> After they installed it, they discovered that the default instruction
> when it started up was HCF. It was replaced with a 360/67.


[cctalk] Re: System 360 question

2024-11-01 Thread Van Snyder via cctalk
On Fri, 2024-11-01 at 11:01 -0700, David Barto via cctalk wrote:
> > > The 6502 had a HCF (halt and catch fire) undocumented
> > > instruction. 
> > > I forget the opcode and if you knew what you were doing you could
> > > get the instruction executed on the chip using any assembler. 

Early in 1965 Caltech installed one of only a few 360/63 computers.
After they installed it, they discovered that the default instruction
when it started up was HCF. It was replaced with a 360/67.



[cctalk] Re: System 360 question

2024-11-01 Thread David Barto via cctalk
Nope. Read the documentation for the chip. Turns out that the HCF instruction 
basically sent the chip into an internal loop which would render parts of it 
unusable after about 30-45 seconds.

Tried it once and the chip got hot. Very very hot and then just stopped working.

David

> On Nov 1, 2024, at 9:55 AM, Peter Coghlan via cctalk  
> wrote:
> 
> David Barto wrote:
>> 
>> The 6502 had a HCF (halt and catch fire) undocumented instruction. 
>> I forget the opcode and if you knew what you were doing you could get the 
>> instruction executed on the chip using any assembler. 
>> 
>> Security through obscurity back in the 70s. 
>> The chip was advanced enough that the DOD wanted to avoid it falling into 
>> the “wrong” hands. 
>> 
>> David
>> 
>> Sent from iPhone Hotblack Desiato
>> 
> 
> Did someone tell you this on April 1st?
> 
> Regards,
> Peter Coghlan
> 
> Sent from my DEC Alphaserver 800

There is nothing more difficult to carry out, nor more doubtful of success,
nor more dangerous to handle, than to initiate a new order of things.
For the reformer has enemies in all those who profit by the old order,
and only lukewarm defenders in all those who would profit by the new...
--Niccolo Macchiavelli, The Prince
David Barto
ba...@kdbarto.org




[cctalk] Re: System 360 question

2024-11-01 Thread Peter Coghlan via cctalk
David Barto wrote:
>
> The 6502 had a HCF (halt and catch fire) undocumented instruction. 
> I forget the opcode and if you knew what you were doing you could get the 
> instruction executed on the chip using any assembler. 
> 
> Security through obscurity back in the 70s. 
> The chip was advanced enough that the DOD wanted to avoid it falling into the 
> “wrong” hands. 
> 
>  David
> 
> Sent from iPhone Hotblack Desiato
>

Did someone tell you this on April 1st?

Regards,
Peter Coghlan

Sent from my DEC Alphaserver 800


[cctalk] Re: System 360 question

2024-11-01 Thread donald donaldwhittemore.com via cctalk
Glad I never tried it. 😊


[cctalk] Re: System 360 question

2024-11-01 Thread David Barto via cctalk
The 6502 had a HCF (halt and catch fire) undocumented instruction. 
I forget the opcode and if you knew what you were doing you could get the 
instruction executed on the chip using any assembler. 

Security through obscurity back in the 70s. 
The chip was advanced enough that the DOD wanted to avoid it falling into the 
“wrong” hands. 

 David

Sent from iPhone Hotblack Desiato

> On Oct 31, 2024, at 5:03 PM, Jon Elson via cctalk  
> wrote:
> 
> On 10/31/24 09:35, Donald Whittemore via cctalk wrote:
>> If I remember right I was told back in the early 70s by our IBM CE that 
>> physical damage could be done to our model 30 or 40 if we ran a program that 
>> did an Assembler instruction, B *For those non-Assembler people that is 
>> an instruction to branch to the location of the instruction.  I think it 
>> might have caused a heat problem in the core or CCROS or TROS.
>> 
>> Possible? Or is my 76 year old brain hallucinating?
> 
> Hammering a single location in core could overheat the select wires, the 
> individual cores or the select driver cards.  I can believe this could 
> happen.  I seriously doubt it could harm the CCROS or TROS.  The model 30 was 
> SLOW, the original version (first 1000 machines) had a 2.5 us memory cycle 
> time.  But, a B instruction occupied 4 bytes.  And the model 30 memory was 
> ONE SINGLE BYTE wide!  So, it would have to access 4 consecutive bytes over a 
> 10 us period to read the entire instruction.  This would involve t different 
> select wires in one axis, but likely the same wire in the other axis.
> 
> On the model 40, memory was 16 bits wide, so it would still have to access 2 
> consecutive words.
> 
> Anyway, I was told that on a model 40 (I think) that if you pressed and held 
> stop, system reset, and load simultaneously, it would pop a component on a 
> circuit card in the machine.
> 
> Jon


[cctalk] Re: System 360 question

2024-10-31 Thread jim stephens via cctalk




On 10/31/24 19:02, Jon Elson via cctalk wrote:

On 10/31/24 09:35, Donald Whittemore via cctalk wrote:
If I remember right I was told back in the early 70s by our IBM CE 
that physical damage could be done to our model 30 or 40 if we ran a 
program that did an Assembler instruction, B *    For those 
non-Assembler people that is an instruction to branch to the location 
of the instruction.  I think it might have caused a heat problem in 
the core or CCROS or TROS.


Possible? Or is my 76 year old brain hallucinating?


Hammering a single location in core could overheat the select wires, 
the individual cores or the select driver cards.  I can believe this 
could happen.  I seriously doubt it could harm the CCROS or TROS.  The 
model 30 was SLOW, the original version (first 1000 machines) had a 
2.5 us memory cycle time.  But, a B instruction occupied 4 bytes.  And 
the model 30 memory was ONE SINGLE BYTE wide!  So, it would have to 
access 4 consecutive bytes over a 10 us period to read the entire 
instruction.  This would involve t different select wires in one axis, 
but likely the same wire in the other axis.


On the model 40, memory was 16 bits wide, so it would still have to 
access 2 consecutive words.


Anyway, I was told that on a model 40 (I think) that if you pressed 
and held stop, system reset, and load simultaneously, it would pop a 
component on a circuit card in the machine.


Jon
The Microdata 1600 8k memory boards, and sometimes the 16k core they had 
would do bad things with continuous half cycle reads.


The full cycle was 1ms long and could heat up the resistors, but when 
you did the half cycle reads it was only 600ns long continuous and could 
damage the system core.


It was used for rippling moves up or down of strings where you'd read a 
byte from somewhere in core and write it elsewhere with a pointer 
increment in between.


The 1600 was microprogrammed, so there were no machine (macro level) 
instructions to do damage, so the implementer of the machine language 
microcode would have had to do the deed to damage the core.


Or one could do it from the front panel, as one could execute micro 
instructions there in 'run" at full speed (200ns) speed.  There was a 
processor delay if you did reads like that which, so the speed would be 
600ns back to back.


We had a 360/50 with both 512k internal processor core and an LCS of 
1mb, and neither had any restrictions on such instructions, though I 
don't think I know if there were hardware protections like others in 
this thread are suggesting.

thanks
Jim



[cctalk] Re: System 360 question

2024-10-31 Thread CAREY SCHUG via cctalk
remember, core memory is destructive read out.  to read the bits you erase them 
and have to rewrite them.

I doubt the B * running for 30 seconds, then cancel the job would be bad, but 
if you started it up Friday and it ran all weekend?  every time you demagnetize 
and re-magnetize those cores, probably an atom 
 or two gets displaced. 
--Carey

> On 10/31/2024 7:02 PM CDT Jon Elson via cctalk  wrote:
> 
>  
> On 10/31/24 09:35, Donald Whittemore via cctalk wrote:
> > If I remember right I was told back in the early 70s by our IBM CE that 
> > physical damage could be done to our model 30 or 40 if we ran a program 
> > that did an Assembler instruction, B *For those non-Assembler people 
> > that is an instruction to branch to the location of the instruction.  I 
> > think it might have caused a heat problem in the core or CCROS or TROS.
> >
> > Possible? Or is my 76 year old brain hallucinating?
> 
> Hammering a single location in core could overheat the 
> select wires, the individual cores or the select driver 
> cards.  I can believe this could happen.  I seriously doubt 
> it could harm the CCROS or TROS.  The model 30 was SLOW, the 
> original version (first 1000 machines) had a 2.5 us memory 
> cycle time.  But, a B instruction occupied 4 bytes.  And the 
> model 30 memory was ONE SINGLE BYTE wide!  So, it would have 
> to access 4 consecutive bytes over a 10 us period to read 
> the entire instruction.  This would involve t different 
> select wires in one axis, but likely the same wire in the 
> other axis.
> 
> On the model 40, memory was 16 bits wide, so it would still 
> have to access 2 consecutive words.
> 
> Anyway, I was told that on a model 40 (I think) that if you 
> pressed and held stop, system reset, and load 
> simultaneously, it would pop a component on a circuit card 
> in the machine.
> 
> Jon


[cctalk] Re: System 360 question

2024-10-31 Thread Jon Elson via cctalk

On 10/31/24 09:35, Donald Whittemore via cctalk wrote:

If I remember right I was told back in the early 70s by our IBM CE that 
physical damage could be done to our model 30 or 40 if we ran a program that 
did an Assembler instruction, B *For those non-Assembler people that is an 
instruction to branch to the location of the instruction.  I think it might 
have caused a heat problem in the core or CCROS or TROS.

Possible? Or is my 76 year old brain hallucinating?


Hammering a single location in core could overheat the 
select wires, the individual cores or the select driver 
cards.  I can believe this could happen.  I seriously doubt 
it could harm the CCROS or TROS.  The model 30 was SLOW, the 
original version (first 1000 machines) had a 2.5 us memory 
cycle time.  But, a B instruction occupied 4 bytes.  And the 
model 30 memory was ONE SINGLE BYTE wide!  So, it would have 
to access 4 consecutive bytes over a 10 us period to read 
the entire instruction.  This would involve t different 
select wires in one axis, but likely the same wire in the 
other axis.


On the model 40, memory was 16 bits wide, so it would still 
have to access 2 consecutive words.


Anyway, I was told that on a model 40 (I think) that if you 
pressed and held stop, system reset, and load 
simultaneously, it would pop a component on a circuit card 
in the machine.


Jon


[cctalk] Re: System 360 question

2024-10-31 Thread Gavin Scott via cctalk
On Thu, Oct 31, 2024 at 9:35 AM Donald Whittemore via cctalk
 wrote:
> If I remember right I was told back in the early 70s by our IBM CE that 
> physical damage could be done to our model 30 or 40 if we ran a program that 
> did an Assembler instruction, B *For those non-Assembler people that is 
> an instruction to branch to the location of the instruction.

Tangentially related: The classic stack-based HP 3000 has an XEQ
instruction to treat a word on the stack as an instruction. It was
commonly used to generate a customized EXIT instruction at the end of
a function. Pretty much every use case was "XEQ 0" meaning take the
word from the top of the stack and execute it, but you could also do
XEQ 1-7 specifying how far down the stack from the top your
instruction word was. On our Series 40 sometime in the 80s I
discovered that if you put an "XEQ n" at n words down the stack, where
n was 4-7, the microcode would go into a loop that not even the HALT
button on the front panel could interrupt and you would have to
power-cycle the CPU to recover (this was an unprivileged operation
too).

The CPU kept the top four words of the stack in registers, so I guess
when the target instruction was outside that range it took a different
path through the microcode having to fetch it over and over from
memory.

Fortunately nobody ever used this for evil purposes because it would
have been very hard to identify what was going on since you could not
get a memory dump.


[cctalk] Re: System 360 question

2024-10-31 Thread Chuck Guzis via cctalk
On 10/31/24 10:39, Paul Koning wrote:

> I could imagine it in PPs, also in 6400 machines since they don't have an 
> "instruction stack" so instruction fetches would go to memory.  For all of 
> those you'd end up hammmering a single memory cell at high speed, and each 
> time you do that you get a read and a write cycle, both of which inject some 
> energy into the cores in question.

http://www.bitsavers.org/pdf/cdc/cyber/cyber_70/60258200C_7600_RefMan_Feb71.pdf,
PDF page 90 "Duty Cycle Integrator" for SCM in the CPU was the fix for
the problem.  You won't find it described in the very early 7600
hardware manuals.

At first, I wondered if it might be a PPU thing, as the 7600 PPUs
operate independently (no "barrel"), but the situation would be easy to
avoid, since the casual user doesn't write PPU code.  "Don't do that"
would be sufficient.

At any rate, the 7600 was a marvel of complexity when compared with its
earlier 6000-series relatives.  I remember marveling at the SCOPE 2
design documents and how very different they were from the 6000
operating system implementation.

--Chuck



[cctalk] Re: System 360 question

2024-10-31 Thread Jeff Woolsey via cctalk


On 10/31/24 10:39 AM, Paul Koning via cctalk wrote:



On Oct 31, 2024, at 11:41 AM, Chuck Guzis via cctalk  
wrote:

On 10/31/24 07:35, Donald Whittemore via cctalk wrote:

If I remember right I was told back in the early 70s by our IBM CE that 
physical damage could be done to our model 30 or 40 if we ran a program that 
did an Assembler instruction, B *For those non-Assembler people that is an 
instruction to branch to the location of the instruction.  I think it might 
have caused a heat problem in the core or CCROS or TROS.

Possible? Or is my 76 year old brain hallucinating?

I recall that sort of thing was an issue in the CDC 7600; it could throw
parity errors because of core heating.  I believe that the problem was
in the PPUs, but it's been too many years to remember accurately.
Ahh, yes, the Duty Cycle Integrator.  Slows things down when they heat 
up.  The DECwriter III has a similar feature when you're printing long 
lines of dense characters, such as '#'.

I could imagine it in PPs, also in 6400 machines since they don't have an 
"instruction stack" so instruction fetches would go to memory.  For all of 
those you'd end up hammmering a single memory cell at high speed, and each time you do 
that you get a read and a write cycle, both of which inject some energy into the cores in 
question.

In CDC's OS (NOS) the idle loop contains a couple of instructions which are 
fairly slow, apparently with the specific intent to slow down memory references.
A couple divides, or count instructions, though bit counting might not 
be as slow as divides on machines that have an instruction stack, 
similar to the difference between iterative shifting and a barrel shifter.


--
Jeff Woolsey {woolsey,jlw}@{jlw,jxh}.com first.last@{gmail,jlw}.com
Spum bad keming.
Nature abhors a straight antenna, a clean lens, and empty storage.
"Delete! Delete! OK!" -Dr. Bronner on disk space management
"Card sorting, Joel." -me, re Solitaire


[cctalk] Re: System 360 question

2024-10-31 Thread Paul Koning via cctalk



> On Oct 31, 2024, at 11:41 AM, Chuck Guzis via cctalk  
> wrote:
> 
> On 10/31/24 07:35, Donald Whittemore via cctalk wrote:
>> If I remember right I was told back in the early 70s by our IBM CE that 
>> physical damage could be done to our model 30 or 40 if we ran a program that 
>> did an Assembler instruction, B *For those non-Assembler people that is 
>> an instruction to branch to the location of the instruction.  I think it 
>> might have caused a heat problem in the core or CCROS or TROS.
>> 
>> Possible? Or is my 76 year old brain hallucinating?
> 
> I recall that sort of thing was an issue in the CDC 7600; it could throw
> parity errors because of core heating.  I believe that the problem was
> in the PPUs, but it's been too many years to remember accurately.

I could imagine it in PPs, also in 6400 machines since they don't have an 
"instruction stack" so instruction fetches would go to memory.  For all of 
those you'd end up hammmering a single memory cell at high speed, and each time 
you do that you get a read and a write cycle, both of which inject some energy 
into the cores in question.

In CDC's OS (NOS) the idle loop contains a couple of instructions which are 
fairly slow, apparently with the specific intent to slow down memory references.

I remember a PDP-11 diagnostic called the "core heating test": it knows the 
geometry of the core modules it was written for, and uses that knowledge to do 
lots of memory cycles in a small physical region of the core so that section 
heats up.  It them moves around the core planes, looking for regions that are 
marginal and start misbehaving when heated.  It's a very slow test.  I actually 
ran it once, mostly for grins; it didn't fail.

paul



[cctalk] Re: System 360 question

2024-10-31 Thread Chuck Guzis via cctalk
On 10/31/24 07:35, Donald Whittemore via cctalk wrote:
> If I remember right I was told back in the early 70s by our IBM CE that 
> physical damage could be done to our model 30 or 40 if we ran a program that 
> did an Assembler instruction, B *For those non-Assembler people that is 
> an instruction to branch to the location of the instruction.  I think it 
> might have caused a heat problem in the core or CCROS or TROS.
> 
> Possible? Or is my 76 year old brain hallucinating?

I recall that sort of thing was an issue in the CDC 7600; it could throw
parity errors because of core heating.  I believe that the problem was
in the PPUs, but it's been too many years to remember accurately.

--Chuck