More PDP 11 hacking (help!)

From: Paul Koning <pkoning_at_equallogic.com>
Date: Wed Feb 9 08:45:07 2005

> Ok, so I checked at 17765426 and this time I see what looks like code. In
> fact, I dumped memory from 765400 through 765456:
>
> _at_17765400/000761
> 765402/005721 ; tst _at_r1
> 765404/100406 ; bmi 765422 (probably "branch if error set")
> 765406/122737 ; cmpb #240,_at_#0 (cmpB???? That's bogus.)
> 765410/000240
> 765412/000000
> 765414/001002 ; bne 765422
> 765416/005007 ; clr pc
> 765420/005741 ; tst -(r1)
> 765422/011102 ; mov _at_r1, r2
> 765424/000000 ; halt

So yes, if something goes wrong you'd get a halt at 765424, i.e., PC
would contain 765426. R2 would give some indication of what the
trouble is.

One possible reason for the halt is that the disk in question doesn't
contain a standard bootstrap, with a NOP (240 octal) in word 0. Some
OSs would put a dummy bootstrap on a disk when initializing it that
starts with a reset (5) in word 0 rather than a NOP. The code above
rejects such code and just halts. Look at location 0 to be sure.

Of course, the CMPB at 765406 is bogus -- an opcode check should be a
cmp not a cmpb. But for valid bootstraps it will work fine; it will
just let some invalid cases slip through as well.

     paul
Received on Wed Feb 09 2005 - 08:45:07 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:37:36 BST