From: perelet@avignon.wri.com (Oleg Perelet)
Subject: Re: Instructions on modifying CPU board for multi-CPU NeXTcube
Organization: Wolfram Research, Inc.
Date: Thu, 31 Dec 1992 20:00:55 GMT

In article <C04DoL.L6J@sounds.wa.com> BrianW@SoundS.WA.com (Brian  
Willoughby) writes:
> 
> 	I have heard from other UseNet folks that there was a posting (a  
long  
> time ago) in comp.sys.next about how to modify a NeXTcube CPU .....



Not really long time ago, but it was really good time ....
Have fun.
--------------------------------------------------------------------

From: coco@ihcoco.ih.att.com (Felix_A_Lugo)
Subject: REPOST:  030 + 040 in single cube ... the solution!
Date: 16 Oct 91 19:32:19 GMT


        Some time ago I posted an article on how to use both an 040 and  
030
NeXT system boards on the same NeXT cube.  Since then, several people have
asked that I repost the article.  Here it is ...

_____________________________ POSTED ARTICLE  
________________________________

        Well, for those who said that it couldn't be done ...  here it is  
..
                USING TWO MOTHERBOARDS ON A SINGLE NeXT cube!

        First of all, a disclaimer:

**********************   DISCLAIMER  DISCLAIMER    
**************************
        The following procedure is not supported by NeXT, Inc. and will
definitely void the warranty on your NeXT computer.  Follow it at your own
risk.  I disclaim all responsibilities for damages caused by negligence in
following the procedure.  There is no guarantee that the procedure will  
work on
all versions(?) of the NeXT cube hardware.  All I know is that it worked  
on the
NeXT cube I was working on!!!!  SO BEWARE!
**********************   DISCLAIMER  DISCLAIMER    
**************************

        Here we go!  I'll first provide a description of the hardware I  
was
using and comment on what I accomplished and how I got the information on  
how
to do it!

        The hardware included a NeXT cube with 660 MB drive, OD, etc., a  
68040
upgrade board, and a 68030 motherboard.  I successfully installed both the
68040 and 68030 boards on a SINGLE NeXT cube and linked them together  
through
their ethernet ports.  The 68040 was configured as a boot server and the  
68030
was used as its client (booting off the network for lack of an additional  
hard
drive).

        The procedure reconfigures slot #2 on the cube's back-plane as  
slot #0.
This provides two slots configured as #0, required for booting the two
motherboards.  Once I determined what the slot pin-outs were (thanks to my  
good
friend John Chmielewski), it was a matter of time before the two boards  
happily
co-existed.

        The procedure:

        1. First, follow the procedure on the NeXT User's Reference manual  
for
removing the system board (Appendix C: Opening the Cube, page 291 of the  
2.0
manual).

        2. Using the NeXT supplied screwdriver, remove the two screws that
attach the power-supply housing to the cube (the screws are located on the
lower part of the housing) and gently pull the housing out.  Set it aside  
in a
safe place (away from kids and nosey friends!)

        3. Remove the two plastic grooved plates (used to slide the system
boards in) at each side of the inside bottom of the cube.  (For each  
plate,
lift the side closest to the rear opening and gently pull them out).  Set  
them
aside.

        4. Using the NeXT tool, remove three screws holding the back-plane  
to
the cube and then take the back-plane out of the cube.  Let the cube rest  
for a
while.

        Inspect the back-plane.  You will see five bus slots (four  
vertical and
one horizontal).  The horizontal slot connects the back-plane to the power
supply housing.  We're only interested in the four vertical slots.  >From  
the
factory these slots are configured as 6, 2, 0, and 4 (starting from the  
left
and going right with the horizontal slot at the bottom).  The system board
connects to slot #0 (which you've probably noticed).  Each slot contains  
three
columns of 32 pins.  Following is an ASCII representation of one of the  
slots:

                        x y z    C B A
                        o-o o 32 . . .
                        o-o o 31 . . .
                        o-o o 30 . . .
                        o-o o 29 . . .
                              28 . . .
                                   .
                                   .
                                   .
                               3 . . .
                               2 . . .
                               1 . . .

        where x, y, and z are labeled GND, SID, and VCC, respectively.   
The
GND, SID, and VCC "holes" are used to configure the slot number using  
simple
binary encoding, where GND is logical zero, VCC is logical one, and SID  
(for
Slot-ID I guess) determines the current bit state (one or zero).  Notice  
the
four rows of GND, SID, VCC triads; each row is equivalent to one bit  
position
in the slot number, the bottom row bit position 0, the top row bit  
position 3.
This gives a total of four bit positions, or 16 possible slot numbers.  To
encode a slot number, you need to connect an SID row to its corresponding  
GND
or VCC row.  For example, the diagram below shows the configuration of the
slots in my cube's back-plane (you'll have to look very closely to see the
actual connections):

                SLOT #6         SLOT #2         SLOT #0         SLOT #4
        BIT 3:  o-o o           o-o o           o-o o           o-o o
        BIT 2:  o o-o           o-o o           o-o o           o o-o
        BIT 1:  o o-o         * o o-o *         o-o o           o-o o
        BIT 0:  o-o o           o-o o           o-o o           o-o o

        ... Now on with the procedure:

        5. To reconfigure slot #2 as slot #0, cut the trace between SID  
and VCC
for bit position 1 (see * o o-o * above) and connect SID to GND on the  
same
row.  I used the SIMM removal tool supplied by NeXT in the 040 upgrade  
(talk
about multi-purpose) to cut the trace!  Very gently, scrape the solder off
between the two holes.  Take a paperclip, shape it to fit between the  
holes in
SID and GND, and trim it down to an even 1/4 inch (perfect fit)!

        That's all there is to it.  If for some reason you ever want to  
revert
to slot #2, just remove the paperclip from GND-SID and reconnect it to  
SID-VCC.

        6. Now put the cube back together.  First, re-install the  
back-plane
using its three connecting screws, then snap on the plastic plates, and  
finally
insert the power-supply housing and secure with its two screws.

        At this point the cube is ready to take on the two system boards  
(it is
up to you to determine where/how you want to use the two boards; I'll  
explain
how I used mine) ...

        7. I installed the 68040 in the original slot #0 and the 68030 in  
the
reconfigured slot #0 (previously slot #2).  The 68040 was used as the main
processor board.  I connected the 660 MB drive, the OD, and the monitor to  
it.
NOTE:
        Before beginning the procedure, I went into the NeXT Monitor on  
the
68030 and disabled the Sound out, SCSI tests and verbose test mode and  
enabled
serial port A as a console terminal.  I also made "en" the default boot  
device.
I setup the 68040 as a boot server and taught it about the 68030 (which  
took
some time in getting it setup properly).

        8. I connected the 68040 to the 68030 using a thin-ethernet cable  
and I
booted.  First thing I noticed was that the 030 timed-out a couple of  
times
waiting for the 040 to tell it to boot.  But after the 040 was up, the 030
booted nicely.

        That's all folks.  Hope all this made some sense and people find  
it
useful.

        Comments:

        -  To power off the cube, I have to first shutdown the 030 (I run
"halt -p" as root from a telnet connection and wait for the 030 to go  
down),
and I then power-down the 040.  If you shut down the 040 before the 030,  
you'll
have to pull the power plug to turn the machine off.  The cube will not  
power
off if either of the two boards is providing a load to the power-supply.
        -  Remember, I've only performed this procedure on one system.  I  
do
not know what will happen on your system.  So make sure you plan ahead  
what
your going to do and that you understand the procedure.
        -  I don't know what problems may arise when you add a board that  
uses
the NeXTbus, such as the NeXTdimension, or how it will behave. If someone  
is
courageous enough to perform the procedure and intalls another board,  
please
post your results to the net.
        -  If you think this procedure has done any good for you, please  
feel
free to send in donations.  8^)  (think of it as "hardshare")

________________________ UPDATE TO PREVIOUS ARTICLE  
__________________________

        To clear up some misunderstandings with the settings in the "p"  
command
of the NeXT monitor (these settings are only required for the system board  
that
doesn't have the NeXT display monitor connected):

        1. Sound out test must be "no"; the boot process will not proceed  
if
the monitor isn't connected to the board and this is set to "yes" (the  
sound
out tests will fail, aborting the boot procedure).
        2. SCSI tests should be "no" if you don't have SCSI devices  
attached to
the board (SCSI tests will fail otherwise, aborting the boot procedure).
        3. Verbose test mode must be "no" for booting from the network.   
If set
to "yes", the boot process will timeout waiting for a BOOTP and you'll be  
left
in the monitor with no means of restarting the board (except pulling the  
power
plug)!  This is probably true also for booting from an OD that hasn't been
inserted (assuming the OD was attached to the board).
        4. Allow serial port A as alternate console if you want to view  
the
boot process (for problems and peace-of-mind).
        5. Other settings were not modified from their factory defaults or  
had
no effect on the procedure.

========================================================================== 
=====
Felix A. Lugo

E-Mail: (NeXTmail preferred)
   AT&T Bell Laboratories, Naperville, IL       Felix_A_Lugo@ATT.COM
                                                coco@ihcoco.att.com
   AT&T NeXT User Group                         nug@ihcoco.att.com
   T.Y.C. Software, Lisle, IL                   coco@ihtyc.att.com
   HOME NeXTcube                                coco@erika.ihcoco.att.com
========================================================================== 
=====

Newsgroups: comp.sys.next.hardware