Number of languages known [was Re: Python is readable] - somewhat OT

Dave Angel d at davea.name
Tue Apr 3 12:28:31 EDT 2012


On 04/03/2012 11:16 AM, Mark Lawrence wrote:
> On 03/04/2012 15:56, Chris Angelico wrote:
>> On Wed, Apr 4, 2012 at 12:46 AM, Grant
>> Edwards<invalid at invalid.invalid>  wrote:
>>> Anybody remember DEC's VAX/VMS "patch" utility?  Apparently, DEC
>>> thought it was a practical way to fix things.  It had a built-in
>>> assembler and let you "insert" new code into a function by
>>> auto-allocating a location for the new code an hooking it into the
>>> indicated spot with jump instructions.
>>>
>>> The mind wobbled.
>>
>> Not specifically, but I _have_ heard of various systems whose source
>> code and binary were multiple years divergent. It's actually not a
>> difficult trap to fall into, especially once you start patching
>> running systems. I've had quite a few computers that have been unable
>> to reboot without assistance, because they go for months or years
>> without ever having to go through that initial program load. (I've had
>> _programs_ that were unable to load, for the same reason.) But
>> auto-allocating a new spot for your expanded function? That's just...
>> awesome. My mind is, indeed, wobbling.
>>
>> ChrisA
>
> Around 1990 I worked on Telematics kit.  The patches on all their
> software were implemented via assembler once the original binary had
> been loaded into memory.  They even came up with a system that let you
> select which patches you wanted and which you didn't, as e.g. some
> patches were customer specific.
>

And I worked on a system where the microcode was in ROM, and there was a
"patch board" consisting of lots of diodes and some EPROMs.  The diodes
were soldered into place to specfy the instruction(s) to be patched, and
the actual patches were in the EPROMs, which were reusable.  The diodes
were the only thing fast enough to "patch" the ROM, by responding more
quickly than the ROM.  This was back when issuing a new ROM was a very
expensive proposition;  there were masking charges, so you couldn't
reasonably do low quantities.



-- 

DaveA




More information about the Python-list mailing list