> On Mar 14, 2025, at 3:30 PM, ben via cctalk <cctalk@classiccmp.org> wrote:
> 
> The Electrologica X1, had the upper block of core memory as ROM for
> fixed system programs use. I am doing the same for my computer.
> 
> Did any other computers have the same concept before the 1977?
> Ben.

Definitely.  I think the X1 got it from earlier research machines at CWI, where 
some of the main memory drum tracks were set aside for fixed code.

Note that the ROM core is not simply core memory set aside as ROM; it is actual 
read-only memory built very differently than read/write core memory.  It is 
similar to the "core rope" ROM memory used in the Apollo space craft computers, 
but the details are different and the X1 design is faster and more efficient.  
More precisely, the access time is reduced, and it can share significant 
portions of the memory electronics with the read/write memory.

I like to refer to the X1 ROM (called "dead memory" in the documentation) as 
the world's first BIOS.  That's because, like IBM PC BIOS, it contains I/O 
support routines intended to make application I/O a lot easier.  E.W. Dijkstra 
designed this and wrote his Ph.D. thesis about it (and how it serves as a way 
to manage the design complexity of dealing with interrupts, which was a 
brand-new problem then).

A very different example of a separate block of memory appears in the 
"emulator" option in the IBM 360 model 44.  By default that machine does not 
have the string and decimal arithmetic instructions, but the emulator option 
adds a block of memory used by an emulation mode, so you can run standard 360 
programs and have the missing instructions emulated.  It's somewhat like what 
microVAX did years later, except that the memory used is separate from regular 
main memory and not visible to either applications or the OS.  There's a 
separate boot process to load that memory (implemented entirely in a channel 
program that fits on one card!)

        paul

Reply via email to