I've got a DEC 3000 model 300 and a couple of DEC 3000 model 600 alphas which
failed some time ago and the recent Alphaservers thread has rekindled my
interest in getting them working again.

A couple of years ago, there was another thread "AlphaStation 200 NVRAM Problem"
where the Alpha SROM mini console and various items of useful documentation
were mentioned.  I have now made up an adapter (cable and MAX232 line driver /
receiver) as described in that thread to allow me to to talk to the the SROM
mini console in my alphas and I am please to find they are all responsive at
this level.  I also found: "DEC 3000 300/400/500/600/700/800/900 AXP Models
System Programmer's Manual Order Number: EK-D3SYS-PM. B01" (d3syspmb.pdf)
which describes some of the internals of the machines in question.

The mini console commands available on the model 300 are very limited compared
to those in the documentation which targets a much later machine.  However, it
does have mt (memory test) which is not present on the model 600 for some
reason.  Results from this suggests that all 6 SIMMs present are bad in pretty
much all locations. This seems a bit unlikely to me.  Perhaps there is a
failure in logic which causes the memory not to be accessed at all? 
Unfortunately, the manual does not seem to give any leads on how to diagnose
this further.

The em (examine memory) and dm (deposit memory) commands only accept 32 bit
addresses meaning they cannot to be used to access input/output areas which
require at least 33 bit addresses.  However, a little experimentation led me
to the existance of ei and di commands which can do this on the DEC 3000
machines and I found I can use di to update the diagnostic LEDs on the machines.

The DEC 3000 600 machines both (usually) count down to F0 on their diagnostic
LEDs and hang without producting any output on the main console.  They do
however produce output on the mini console - for example:

DEC 3000 - M600 SROM 6.1
Powerup Sequence
ff.fd.fb.fa.f9.f8.f7.f6.f5.f4.f3.f2.f1.f0.
sysROM  00000033.000006f1
ioROM   00000033.00000162
MCRstat 11111111.808011c0
bnkSize 00000300.00000c01
memSize 000000c0.000000c0

However, they do not provide the SROM> prompt or accept mini console commands
unless a I engineer another fault condition such as by pulling out one of the
memory risers.  I wonder if there is a jumper to enable mini console commands
to be accepted without doing this? Looking around the system board, I see a
pair of jumper pins labelled J9 hidden under the I/O board which looks like it
could do this.  Unfortunately, while there is legend on the PCB indicating the
function of all other jumpers, there is none for J9 and it is not mentioned in
the manual either.

On the I/O board, there is one three pin jumper labelled simply "Off" and "On"
and it is jumpered to the "On" side.  It is close to the SCSI connector so I
suspect it is more likely to be something to do with termination or termpwr
than the mini console.

One of the model 600s sometimes generates a machine check, like this:

DEC 3000 - M600 SROM 6.1
Powerup Sequence
ff.fd.fb.fa.f9.20.
MCHK
exc_addr        00000000.00001484
biu_stat        00000000.000022d8
dc_stat         00000000.00000007
fill_adr        00000001.f0080050
fill_syn        00000000.00000000
DataExp aaaaaaaa.aaaaaaaa
DataRec aaaaaaaa.aaaaaaaa
MCRstat 11111111.808011c0
bnkSize 00000300.00000c01
memSize 000000c0.000000c0


SROM>

While this can be useful because it gets me to the SROM> prompt, I can't
find anything in the manual which helps me diagnose what might be causing
this.  The meaning of the contents of biu_stat might be a useful start.

The 600 machines have a socketed 27C512 EPROM.  I assume this must be the SROM
(although I can't see what is serial about it) as the machines fail to update
the diagnostic LEDs or write to the mini console if it is removed.  I dumped
the two EPROMs and compared them and they are identical.  However, I can't see
any ASCII strings in them.  Perhaps the bits are not used in the standard
order?  The manual suggests that there are 8 different 8KB SROM images present
and those other than the "standard" one may be used for testing and diagnostics
by setting jumpers. Unfortunatly, there is no further information about these
images.

The manual hints that the System ROM (SYSROM) (actually an FEPROM) is located
at 1 E000 0000 to 1 E003 FFFF, however, looking at the beginning of this area
with ei suggests it is in fact the IOROM (also an FEPROM).  Hunting around
some more, it seems that setting bit 9 of the System Support Register at
1 E004 0100 brings in the SYSROM instead (although the manual suggests bit 7
is also involved which seems unlikely as this bit is one of the diagnostic
LEDs).

The format of the headers in the SYSROM and IOROM do not exactly match the
format given in the manual but they are "close".  I wonder if this might
be my problem or if the manual is incorrect.  If anyone else has a 3000 600,
could they take a peek at their SYSROM and maybe we could compare notes?
It may be possible to map the SYSROM from a running operating system but as
none of my 3000 machines run right now, I am not in a position to try this
myself.

Regards,
Peter Coghlan.

Reply via email to