some pdp11 floppies to try...

From: Paul Koning <pkoning_at_equallogic.com>
Date: Fri Feb 11 08:46:38 2005

>>>>> "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