some pdp11 floppies to try...
>>>>> "Graham" == Graham Toal <gtoal_at_gtoal.com> writes:
Graham> What I can remember from the past is booting from a rk02
Graham> (hard disc). What you did if nothing else was available was
Graham> to put an instruction into its dma registers to boot down
Graham> from its block 0 into address 0 in memory (this being quite
Graham> easy). I would have thought you would have wanted about 128
Graham> to come down.
Graham> Now from memory, I don't think on executed from location zero
Graham> as that is made to be zero to stop any program dead that
Graham> jumped to location 0 by accident. The number 0400 (octal)
Graham> comes to mind as to where one started executing.
Graham> The lower addresses (up to 0200 ?) are used for device
Graham> interrupt vectors. So try checking contents of memory
Graham> looking for sensible instructions on the 100 (octal)
Graham> boundaries up to & including 01000.
Close.
Vectors go from 4 up to 776, though I think they were usually kept
below 400.
And yes, once you have a running OS, putting a jump-to-0 catcher at
zero would be a good idea, and RSTS for one certainly did that.
However, the PDP11 bootstrap rule has always been:
1. Read block 0 into memory starting at location 0. One block (256
words).
2. Start executing at location 0.
Tapes are slightly different, there it's the second block, because the
first block is the "DOS format" tape label.
Papertape loads are different yet, because the papertape binary data
formats all have load addresses in them, so there the loader does what
it's told, rather than using a fixed destination address. Or at least
that's how I remember it; I never did spend much time with paper tape.
paul
Received on Fri Feb 11 2005 - 08:46:38 GMT
This archive was generated by hypermail 2.3.0
: Fri Oct 10 2014 - 23:37:37 BST