Inter-Office MemorandumToAlto Gateway ProjectDateJuly 31, 1978FromDavid BoggsLocationPalo AltoSubjectHow to install extra EthernetOrganizationParcInterfaces in an AltoXEROX Filed on: [Ivy]ExtraEther.bravoThis memo describes how to install up to two extra Ethernet interfaces in an Alto. This can easilybe done to any vintage Alto though these instructions are for an Alto II. The hardwareconfiguration of your Alto determines which card slots and tasks you use, so this memo is not acomplete recipe - you must understand what you are doing.Mechanical considerationsAn extra Ethernet interface may be installed in any spare processor slot, 15-20. There are nouncommitted connector mounting holes on the rear bulkhead, but the TRICON radial cable hole isthe right size and will work for the first extra interface. Be sure to clearly label both ends of thecable.Board modificationsAn Ethernet board used in one of the extra positions needs several modifications. The ICmd &OCmd flip flop inputs must be disconnected from BUS[14-15]: cut the trace at 35-2cut the trace at 35-14,and brought out to edge pins so that they can be set by jumpers:add a wire from 35-2 to edge pin 98 (OCmd)add a wire from 35-14 to edge pin 97 (ICmd).The signal IBusy, which is brought out to an edge pin for debugging, collides with TaskA', socut the trace at edge pin 113.To prevent the extra boards from responding to the emulator's ReadSerialNumber function, and toavoid driving the signal SIO from more than one place,remove the 3205 at position 9.If this is an Alto II, replace the following chips with schottky versions:7402 at position 407404 at position 5574157 at position 487438s at positions 14, 15, 24, 25, 26.]gp c8q]r-q7Br ]q]r -q7Br Yq]r-q 7Br]WSsr M( GP Fi= D0/ C_9 @3t =rV ;%qr 9$B 8x 5Lt 2 r>qr 0qr,q r-o+ (@%%qr$ &qr qr4 >qr qr J  v & =^XHow to install extra Ethernet interfaces in an Alto2A modified board will work in a normal Ethernet slot if you replace the 3205 at position 9 andjumper pin 14-98 to 14-95 and pin 14-97 to 14-94 on the backplane.Backplane modificationsAn Ethernet board needs some signals which are not present on the standard processor bus slots.These are available on the corresponding pins of slot 14, the standard Ethernet.SysClk'12AuSysClk72_KData'111EmAct'99SWakMRT'68In addition, two BUS bits must be connected to the Cmd flip flops, and a task must be assigned byconnecting the board's Active and Wakeup signals. These are discussed below.Note that SReset' and EStop are not wired on extra interfaces. SReset is the signal which boots themachine, and it is sufficient for the standard Ethernet to yank on it; besides, SIO decoding on theextra boards is disabled. EStop is the signal which stops the clocks for one cycle to fix a long pathin the interface. Installing Schottky chips in the path makes it unnecessary to do this.Host addressesThe host address logic in an extra Ethernet interface is disabled by removing the 3205, so the SIOinstruction returns the address set by the jumpers on the standard Ethernet interface in slot 14.Host jumpers on the extra slots are not required.Tasks, SIO bits, and Page 1 locationsThe choice of task for an extra Ethernet interface is invisible to the emulator level program. Anactive interface consumes about 15% of an Alto, which is low enough that any of the fouruncommitted tasks available on the backplane will work. Pick one of them and wire its wakeup andactive pins on the control board (slot 11) to EtherWakeup' (pin 103) and EtherActive' (pin 100) on theextra Ethernet board. The table below gives the pin numbers on the control board for theuncommitted tasks.TaskWakeup'Active'1113119258525601026104101The microcode for the extra interfaces use page 1 locations 630-640B and 642-652B in the same waythat the standard Ethernet uses 600-610B. The extra interfaces may be assigned different hostaddresses than the standard one by putting different numbers in 640B and 652B, but as mentionedabove, SIO returns the address set on the backplane of the standard interface so you must invent anew way to get the additional addresses. Unless there is a compelling reason, I recommend thatadditional interfaces use the same host address as the standard one.The emulator task signals an Ether task by placing a value on BUS and executing the SIO emulatorfunction. Each Ethernet interface checks two BUS bits during an SIO and wakes up its task if eitherbit is one. The task then performs some action which ends up modifying its page 1 locations. Thusthe software must know the correspondence between SIO bits and page 1 locations. I recommendthe following correspondence: fr3G bX `B ]mt ZArJ XPU$T $R$Q$O|$ LPqrqr Jqrqr% G qrqr qr F>qr D qrF CY ?t Zf\How to install extra Ethernet interfaces in an Alto3SIO bitspage 114 & 15600-610B(standard Ethernet interface)12 & 13630-640B10 & 11642-651Bwhere the MSB of the pair sets the ICmd FF by being wired to pin 97, and the LSB sets the OCmd FFby being wired to pin 98. The MESA and BCPL PUP packages assume this; if you do it differentlyyou forfeit compatibility. BUS[0-15] are on pins 80-95.MicrocodeFiles ExtraEther1.mu and ExtraEther2.mu contain copies of the Ether microcode which use page 1locations 630-640B and 642-652B respectively. These files do not define task numbers or R-registersto be used. File ExtraEther.mu is an example of how to do this, assigning tasks 2 and 3, andregisters 14-17B, and adding enough other definitions to make a stand-alone ram image for twoextra Ethernets. These files are stored in [Ivy]GatewayMc.dmNote that the registers must be in the first group of 32 since the Ether hardware can't be ram-related (function and bus sources collide with the ram). This is a problem for MESA, since only oneR-register is available. Another one can be freed by rewriting the memory refresh task to eliminateits use of ClockTemp. To get the next two, the cursor must be sacrificed. This involves deleting allreferences to CurX and CurData from the MRT, Cursor, and DVT tasks.Revision HistoryJuly 20, 1978First release. fr3Gbqr` q)`r^q]rq Yr qrqrqr#qr qrq XQr qrqrqr/ Vqr St PtrF Nqr qr:qr MjV KqrM J`F G4,3 E2qr D*qrH B qr6 A  qrqr qr qr =t :r 7 J 4)=3 TIMESROMAN  TIMESROMAN TIMESROMAN LOGO TIMESROMAN  TIMESROMAN 6j/ extraether.bravoBoggsJuly 31, 1978 5:17 PM