Well, except for s/BME/BNE/ on the third line (address
2004) and
s/.R4/,R4/ on the twelfth (address 2034), this looks not entirely
unreasonable.
Hehe... oops... typo's. Sorry about that. I typed that in by hand, and
I must have made a couple futz keystrokes.
So it had sent the command to the tape but was sitting
in the spin loop
at locations 2026 and 2032, waiting for the ack.
Given how small this is, and the control structure of the code, it
appears to be expecting the device at 172552 to DMA some boot code into
low memory; when this is done, as signaled by finding 122204 in what I
assume is the device's CSR, it jumps to it with the CLR PC.
I checked my connections again, and lo and behold, I had the tape drive
cables reversed. The pin 1 markings on the back of the drive threw me
off, since the connectors are so close together, I got the labels mixed
up and was reading the pin 1 from the adjacent connector, thus both
connectors were rotated 180 degrees. I swapped them, and typed in the
program again. I the typed 2000g, and the tape drive started to whir!
It seeked back and forth in tiny and equal increments. Then, the drive
stopped and 012710 was displayed, then the @ prompt. I typed g, and got
: *** THIS VOLUME DOES NOT CONTAIN A HARDWARE BOOTABLE SYSTEM ***. It
still didn't boot, but at least it's doing something! (Lesson for
today, never connect hardware while tired, and always use a flashlight
to see behind racks.)
It might be instructive to clear low memory first,
then run the above
code, and see if low memory has changed.
For example,
001764 012700 b: mov #b,r0
001766 001764
001770 012701 mov #b/2,r1
001772 000772
001774 005040 x: clr -(r0)
001776 077102 sob r1,x
the rest of the code as above, and then use 1764G. When you break it,
examine low memory (type 0/ and just hit return a bunch of times). If
low memory isn't all 0, _something_ has changed it, and if you send me
the contents (a capture of the output when you hit return until you
find a bunch of all-0 memory locations) I can disassemble it for you.
Not that that will _necessarily_ help, but if the disassembly makes
sense, there is an excellent chance the hardware is connected
correctly.
I might end up doing that, I can write down the output, and email it to
you. Right now though, it looks like the program _is_ running, it's
just not clear what it's looking for on the tape. I was told that the
tapes I have are bootable, so I must be doing something else wrong.
Either that, or all three tapes I tried have gone bad.
I have two blank tapes, as well as the SCSI nine track tape drive that
goes with my Prime. I should be able to connect the other tape drive to
a PC, and dd a tape image to a real tape. Is there a known working,
bootable tape image out there on the 'net that I could use to test?
I've been looking around, and so far I've found only a couple, and I'm
not sure that they would work on my machine. I found a couple different
places that had BSD 2.11, one of which had it as one tape image,
another had it as three. I only have two tapes, so installing from
three would be a pain (write first two, install one, install two while
rewriting one into three, install three, then scream when installer
asks for one again...)
Ian Primus
ian_primus(a)yahoo.com