[LMH]Cold Booting

Daniel Seagraves dseagrav@sakura.lunar-tokyo.net
Tue May 21 07:47:01 2002


On Sun, 19 May 2002, Paul Fuqua wrote:

>     The last question is about the CPU cold-start - Did the Explorer (either
>     one) have a front-end CPU to load microcode and start the CPU, or was the
>     Explorer CPU the only one?  If the Explorer CPU is the only CPU, how does
>     it reload I-Memory without confusing itself?
> 
> No, no FEP.  It probably ran the loading code in high memory and
> arranged for a reset to happen when that was overwritten.  I'll see if I
> can find a hint of that in some ancient listings, if I can find that
> box.

I figured out this much - The E1 had a 2Kx56-bit PROM with the
boot/diagnostic ROM.  I have the images of these and I'm working out the
format now.  I think I have it (I can read text in the ROMs) but I don't
know the entry addresses.  It appears to overlay I-Memory at location 0
until bit 11 (MCR-PROM-Disable) in the MCR is set. I tried to start it at
0, but that disassembles to a HALT.  (I might still have the format
wrong.)

There are 7 PROMs, numbered 2236480-03 through 2236486-03.

I started at 0 and ended at 6, dumping 8 bits from each to make a 56-bit
word.  This is a partial dump of the result:

00000000: 47 44 4f 53, 00 00 06 74, 69 6e 67 20, 00 06 0d 0a ;GDOS...ting ....
00000010: 0a 57 61 69, 06 53 6c 6f, 74 20 00 06, 20 00 00 00 ;.Wai.Slot .. ...
00000020: 00 00 06 3d, 20 53 6c 6f, 74 02 42 4f, 4f 54 00 00 ;...= Slot.BOOT..
00000030: 06 4f 52 3a, 20 00 00 06, 0d 0a 0a 45, 52 52 02 63 ;.OR: ......ERR.c
00000040: 65 20 3a 20, 00 02 64 20, 64 65 76 69, 02 63 74 20 ;e : ..d devi.ct
00000050: 6c 6f 61 02, 0d 0a 53 65, 6c 65 06 20, 3a 20 00 00 ;loa...Sele. : ..
00000060: 00 02 64 20, 6e 61 6d 65, 06 65 6d 20, 6c 6f 61 06 ;..d name.em loa.
00000070: 0d 0a 53 79, 73 74 06 20, 00 00 00 00, 00 06 6e 61 ;..Syst. ......na
00000080: 6d 65 20 3a, 02 6f 6c 6f, 61 64 20 06, 0d 0a 4d 69 ;me :.oload ...Mi
00000090: 63 72 06 00, 00 00 00 00, 00 02 73 74, 73 20 3a 20 ;cr........sts :
000000a0: 02 64 65 64, 20 74 65 06, 3d 45 78 74, 65 6e 06 65 ;.ded te.=Exten.e
000000b0: 73 74 2c 20, 45 02 20 52, 3d 52 65 74, 02 20 6c 6f ;st, E. R=Ret. lo
000000c0: 61 64 2c 02, 4d 3d 4d 65, 6e 75 06 6c, 6f 61 64 2c ;ad,.M=Menu.load,
000000d0: 20 02 66 61, 75 6c 74 20, 06 0d 0a 44, 3d 44 65 02 ; .fault ...D=De.

There's ASCII in there (GDOS? ^_^) but it's still somewhat scrambled...