Message from discussion PDP-10 system calls, was 1132 printer history
Received: by 10.58.220.97 with SMTP id pv1mr508117vec.13.1347644648316;
Fri, 14 Sep 2012 10:44:08 -0700 (PDT)
From: glen herrmannsfeldt <g...@ugcs.caltech.edu>
Subject: Re: PDP-10 system calls, was 1132 printer history
Date: Sat, 8 Sep 2012 20:08:24 +0000 (UTC)
Organization: Aioe.org NNTP Server
References: <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <PM0004C9318592CFD0@aca2748b.ipt.aol.com> <firstname.lastname@example.org>
User-Agent: tin/1.9.6-20100522 ("Lochruan") (UNIX) (Linux/2.6.32-5-amd64 (x86_64))
X-Notice: Filtered by postfilter v. 0.8.2
In comp.lang.pl1 Quadibloc <jsav...@ecn.ab.ca> wrote:
> That was one of the few parts of the front panel that was for the use
> of machine operators instead of IBM service personnel. You turned the
> three knobs to choose the boot device, and then you pressed the IPL
> (Initial Program Load) to start the computer - you might boot it from
> cards, or tape, or disk. It didn't try scanning through them in an
> order set from the console screen, the way a modern PC does, but it
> did have a boot program of sorts in ROM, so that never had to be
> toggled in from the front panel.
Hmm. IPL doesn't do all that much compared to the boot ROM on
many machines now.
The first thing it needs to do is a 24 byte read from the IPL device.
I believe that this can be done by first writing an 8 byte CCW
to address zero, but usually is done without actually writing it.
If you do write the 8 byte CCW, with command chaining, then it
naturally goes on to execute the CCW at address 8, and usually
command chaining to address 16.
Then the only thing it needs to do it load the PSW from address zero.
Some PDP-11s have pretty simple boot hardware. One that I know,
if I remember it right, has a register (in I/O space) that normally
has an instruction that branches to itself. At the same time, the
disk controller itself reads the data into memory, and, when done,
instead returns a branch to the data it read. Just about a two byte ROM.