[comp.sources.amiga] v02i032: lucas - little ugly cheap accelerator system, Part03/05

page@swan.ulowell.edu (Bob Page) (10/29/88)

Submitted-by: anakin@utcs.toronto.edu (Brad Fowles)
Posting-number: Volume 2, Issue 32
Archive-name: hardware/lucas.3

# This is a shell archive.  Remove anything before this line
# then unpack it by saving it in a file and typing "sh file"
# (Files unpacked will be owned by you and have default permissions).
# This archive contains the following files:
#	Packaging_List
#	Parts_List
#	README
#	Transactor_Article
#	Wiring_List
#
if `test ! -s Packaging_List`
then
echo "writing Packaging_List"
cat > Packaging_List << '\Rogue\Monster\'


%*********************************************************************
%                                                                    *
%     Program  :   PC-FORM VERSION 3.00                              *
%     Date     :   Jul 18 1988                                       *
%     Time     :   02:25:46 PM                                       *
%     File In  :   AM20AW27.PNL                                      *
%     File Out :   AM20AW27.PKL                                      *
%     Format   :   PACKAGING LIST                                    *
%                                                                    *
%*********************************************************************


U2      ( 1       =BGACK',   2       =DGND,     3       =RESET',   
          4       =VCC,      5       =FC0,      6       =SIZE0,    
          7       =,         8       =UN000013, 9       =DSACK1',  
          10      =DGND,     11      =AS20',    12      =DS20',    
          13      =D31,      14      =D28,      15      =D25,      
          16      =D22,      17      =D20,      18      =D17,      
          19      =DGND,     20      =VCC,      21      =D14,      
          22      =D12,      23      =D9,       24      =D8,       
          25      =VCC,      26      =D4,       27      =D2,       
          28      =D0,       29      =IPL1',    30      =DGND,     
          31      =VCC,      32      =,         33      =,         
          34      =A3,       35      =A5,       36      =A6,       
          37      =A8,       38      =A11,      39      =A14,      
          40      =DGND,     41      =VCC,      42      =A19,      
          43      =A22,      44      =A23,      45      =,         
          46      =,         47      =,         48      =A1,       
          49      =BG20',    50      =16M,      51      =VCC,      
          52      =,         53      =FC220,    54      =SIZE1,    
          55      =AVEC',    56      =BERR',    57      =HALT',    
          58      =R/W20,    59      =D29,      60      =D26,      
          61      =D24,      62      =D21,      63      =D18,      
          64      =D16,      65      =VCC,      66      =D13,      
          67      =D10,      68      =D6,       69      =D5,       
          70      =D3,       71      =D1,       72      =IPL0',    
          73      =IPL2',    74      =DGND,     75      =DGND,     
          76      =A2,       77      =A4,       78      =A7,       
          79      =A10,      80      =A13,      81      =A15,      
          82      =DGND,     83      =A18,      84      =A20,      
          85      =,         86      =,         87      =,         
          88      =BR',      89      =,         90      =VCC,      
          91      =VCC,      92      =FC1,      93      =DBEN',    
          94      =DSACK0',  95      =DGND,     96      =DGND,     
          97      =D30,      98      =D27,      99      =D23,      
          100     =D19,      101     =DGND,     102     =D15,      
          103     =D11,      104     =D7,       105     =DGND,     
          106     =VCC,      107     =A9,       108     =A12,      
          109     =A16,      110     =A17,      111     =A21,      
          112     =,         113     =,         114     =A0 )
        [ FIXED   =1 ]
U1      ( 1       =D20,      2       =D19,      3       =D18,      
          4       =D17,      5       =D16,      6       =UN000021, 
          7       =UN000022, 8       =UN000023, 9       =UN001020, 
          10      =DTACK',   11      =BG00',    12      =BGACK',   
          13      =BR',      14      =VCC,      15      =7M,       
          16      =DGND,     17      =HALT',    18      =RESET',   
          19      =VMA',     20      =E,        21      =VPA',     
          22      =BERR',    23      =IPL2',    24      =IPL1',    
          25      =IPL0',    26      =FC200,    27      =FC1,      
          28      =FC0,      29      =A1,       30      =A2,       
          31      =A3,       32      =A4,       33      =A5,       
          34      =A6,       35      =A7,       36      =A8,       
          37      =A9,       38      =A10,      39      =A11,      
          40      =A12,      41      =A13,      42      =A14,      
          43      =A15,      44      =A16,      45      =A17,      
          46      =A18,      47      =A19,      48      =A20,      
          49      =VCC,      50      =A21,      51      =A22,      
          52      =A23,      53      =DGND,     54      =D31,      
          55      =D30,      56      =D29,      57      =D28,      
          58      =D27,      59      =D26,      60      =D25,      
          61      =D24,      62      =D23,      63      =D22,      
          64      =D21 )
U3      ( 1       =VCC,      2       =VCC,      3       =DGND,     
          4       =RESET',   5       =,         6       =UN001004, 
          7       =DS20',    8       =AS20',    9       =A3,       
          10      =A1,       11      =R/W20,    12      =DGND,     
          13      =CPDSAK1', 14      =D30,      15      =D29,      
          16      =D27,      17      =D26,      18      =D24,      
          19      =D22,      20      =D21,      21      =D19,      
          22      =D18,      23      =D16,      24      =DGND,     
          25      =D15,      26      =D14,      27      =D11,      
          28      =DGND,     29      =D8,       30      =D7,       
          31      =D6,       32      =D4,       33      =D3,       
          34      =D1,       35      =D0,       36      =DGND,     
          37      =DGND,     38      =16M,      39      =DGND,     
          40      =VCC,      41      =DGND,     42      =A4,       
          43      =A2,       44      =VCC,      45      =CPCS',    
          46      =CPDSAK0', 47      =D31,      48      =D28,      
          49      =D25,      50      =DGND,     51      =D23,      
          52      =DGND,     53      =D20,      54      =D17,      
          55      =VCC,      56      =D12,      57      =D13,      
          58      =D10,      59      =VCC,      60      =DGND,     
          61      =D5,       62      =D2,       63      =,         
          64      =DGND,     65      =DGND,     66      =UN000025, 
          67      =VCC,      68      =D9 )
        [ FIXED   =1 ]
SIP1    ( 1       =VCC,      2       =UN001004, 3       =UN000025, 
          4       =AVEC',    5       =UN000013, 6       =RESET',   
          7       =CPDSAK0', 8       =CPDSAK1', 9       =SRDSAK1', 
          10      =SRDSAK0' )
        [ FP      =10SIP ]
SIP2    ( 1       =VCC,      2       =,         3       =AS20',    
          4       =DS20',    5       =,         6       =,         
          7       =,         8       =,         9       =,         
          10      = )
        [ FP      =10SIP ]
R2      ( 1       =R/W00,    2       =UN001020 )
        [ FP      =RC07 ]
R1      ( 1       =DGND,     2       =16M )
        [ FP      =RC07 ]
R3      ( 1       =16M,      2       =VCC )
        [ FP      =RC07 ]
R4      ( 1       =AS00BUF', 2       =UN000021 )
        [ FP      =RC07 ]
R5      ( 1       =UDS',     2       =UN000022 )
        [ FP      =RC07 ]
R6      ( 1       =LDS',     2       =UN000023 )
        [ FP      =RC07 ]
DIN     ( 1       =A0,       2       =VCC,      3       =A1,       
          4       =A2,       5       =VCC,      6       =A3,       
          7       =A4,       8       =VCC,      9       =A5,       
          10      =A6,       11      =VCC,      12      =A7,       
          13      =A8,       14      =VCC,      15      =A9,       
          16      =A10,      17      =VCC,      18      =A11,      
          19      =A12,      20      =VCC,      21      =A13,      
          22      =A14,      23      =16M,      24      =A15,      
          25      =A16,      26      =VCC,      27      =A17,      
          28      =A18,      29      =SIZE0,    30      =A19,      
          31      =A20,      32      =VCC,      33      =A21,      
          34      =A22,      35      =,         36      =A23,      
          37      =SIZE1,    38      =VCC,      39      =,         
          40      =,         41      =AS20',    42      =,         
          43      =VCC,      44      =VCC,      45      =,         
          46      =,         47      =DS20',    48      =,         
          49      =D0,       50      =DGND,     51      =D1,       
          52      =D2,       53      =R/W20,    54      =D3,       
          55      =D4,       56      =DGND,     57      =D5,       
          58      =D6,       59      =DBEN',    60      =D7,       
          61      =D8,       62      =DGND,     63      =D9,       
          64      =D10,      65      =SRDSAK0', 66      =D11,      
          67      =D12,      68      =DGND,     69      =D13,      
          70      =D14,      71      =SRDSAK1', 72      =D15,      
          73      =D16,      74      =DGND,     75      =D17,      
          76      =D18,      77      =DGND,     78      =D19,      
          79      =D20,      80      =DGND,     81      =D21,      
          82      =D22,      83      =DGND,     84      =D23,      
          85      =D24,      86      =DGND,     87      =D25,      
          88      =D26,      89      =DGND,     90      =D27,      
          91      =D28,      92      =DGND,     93      =D29,      
          94      =D30,      95      =DGND,     96      =D31 )
U4      ( 1       =7M',      2       =FC220,    3       =FC1,      
          4       =FC0,      5       =A19,      6       =A18,      
          7       =A17,      8       =A16,      9       =VPA',     
          10      =DGND,     11      =DGND,     12      =Z3',      
          13      =FC2,      14      =UN002004, 15      =UN000003, 
          16      =UN000002, 17      =UN000001, 18      =CPCS',    
          19      =E,        20      =VCC )
        [ FP      =DIP20 ]
U5      ( 1       =7M,       2       =VPA',     3       =AS20DLY', 
          4       =UN000001, 5       =UN000002, 6       =UN000003, 
          7       =UN002004, 8       =BGACK',   9       =BG20',    
          10      =DGND,     11      =DGND,     12      =AS00',    
          13      =HIGHZ,    14      =,         15      =,         
          16      =,         17      =VMA',     18      =AS20',    
          19      =BG00',    20      =VCC )
        [ FP      =DIP20 ]
U6      ( 1       =16M,      2       =AS20DLY', 3       =Z3',      
          4       =VMA',     5       =7M,       6       =DS20DLY', 
          7       =7ME2,     8       =DTACK',   9       =QUAL',    
          10      =DGND,     11      =DGND,     12      =,         
          13      =,         14      =,         15      =QUAL',    
          16      =,         17      =,         18      =DTTRIG',  
          19      =,         20      =VCC )
        [ FP      =DIP20 ]
U8      ( 1       =UN002012, 2       =UN002012, 3       =7M,       
          4       =VCC,      5       =,         6       =DS20DLY', 
          7       =DGND,     8       =AS20DLY', 9       =,         
          10      =VCC,      11      =7M,       12      =UN002011, 
          13      =UN002011, 14      =VCC )
U9      ( 1       =VCC,      2       =UN002020, 3       =16M,      
          4       =VCC,      5       =SYSDACK1, 6       =,         
          7       =DGND,     8       =7ME2,     9       =,         
          10      =VCC,      11      =7M,       12      =7ME2,     
          13      =VCC,      14      =VCC )
U11     ( 1       =AS00,     2       =AS00,     3       =UN002018, 
          4       =VCC,      5       =,         6       =UN002020, 
          7       =DGND,     8       =,         9       =R/W00,    
          10      =VCC,      11      =7M,       12      =R/W20,    
          13      =VCC,      14      =VCC )
U10     ( 1       =7M,       2       =7M',      3       =DS20',    
          4       =UN002012, 5       =AS20',    6       =UN002011, 
          7       =DGND,     8       =,         9       =,         
          10      =AS00,     11      =AS00',    12      =UN002018, 
          13      =DTTRIG',  14      =VCC )
OSC     ( 1       =,         2       =,         3       =,         
          4       =,         5       =,         6       =A4,       
          7       =DGND,     8       =16M,      9       =,         
          10      =,         11      =D15,      12      =,         
          13      =,         14      =VCC )
        [ FIXED   =0 ]
U7      ( 1       =HIGHZ,    2       =DS20DLY', 3       =A0,       
          4       =SIZE0,    5       =SIZE1,    6       =AS20DLY', 
          7       =CPCS',    8       =CPDSAK0', 9       =SRDSAK0', 
          10      =DGND,     11      =SYSDACK1, 12      =DSACK0',  
          13      =SRDSAK1', 14      =DSACK1',  15      =CPDSAK1', 
          16      =AS00BUF', 17      =AS00',    18      =LDS',     
          19      =UDS',     20      =VCC )
        [ FP      =DIP20 ]
J2      ( 1       =FC200,    2       =AVEC' )
        [ FP      =2STRIP ]
J1      ( 1       =FC220,    2       =FC2 )
        [ FP      =2STRIP ]
C19     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C7      ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C24     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C28     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C31     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C15     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C29     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C5      ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C6      ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C32     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C25     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C30     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C4      ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C13     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C14     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C12     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C16     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C2      ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C1      ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C27     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C26     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C23     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C3      ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C33     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C18     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C22     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C20     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C21     ( 1       =VCC,      2       =DGND )
        [ FP      =CK06 ]
C17     ( 1       =DGND,     2       =VCC )
        [ FP      =CK06 ]
C11     ( 1       =DGND,     2       =VCC )
        [ FP      =CK06 ]
C9      ( 1       =DGND,     2       =VCC )
        [ FP      =CK06 ]
C8      ( 1       =DGND,     2       =VCC )
        [ FP      =CK06 ]
C10     ( 1       =DGND,     2       =VCC )
        [ FP      =CK06 ]
\Rogue\Monster\
else
  echo "will not over write Packaging_List"
fi
if [ `wc -c Packaging_List | awk '{printf $1}'` -ne 15458 ]
then
echo `wc -c Packaging_List | awk '{print "Got " $1 ", Expected " 15458}'`
fi
if `test ! -s Parts_List`
then
echo "writing Parts_List"
cat > Parts_List << '\Rogue\Monster\'

        Parts List for the Lucas Board


U1              68000 Socket .. for Pin Header
U2              MC68020RC16
U3              MC6888116
U4              PAL 16R4-B2
U5              PAL 16R4-B2
U6              PAL 16R4-B2
U7              PAL 16L8-B2
U8              74F74
U9              74ALS74
U10             74F04
U11             74F74

SIP1            4.7K X 9 SIP
SIP2            4.7K X 9 SIP

OSC             16 Meg Clock Oscillator

R1              330 OHM
R2              30  OHM
R3              220 OHM
R4              30  OHM
R5              30  OHM
R6              30  OHM

C1              10  UF. 25V TANT.
C2              .1  UF MONOLITHIC
C3              .1  UF MONOLITHIC
C4              .1  UF MONOLITHIC
C5              .1  UF MONOLITHIC
C6              .1  UF MONOLITHIC
C7              .1  UF MONOLITHIC
C8              .47 UF MONOLITHIC
C9              .1  UF MONOLITHIC
C10             .47 UF MONOLITHIC
C11             .47 UF MONOLITHIC
C12             .1  UF MONOLITHIC
C13             .1  UF MONOLITHIC
C14             .1  UF MONOLITHIC
C15             .1  UF MONOLITHIC
C16             .1  UF MONOLITHIC
C17             .47 UF MONOLITHIC
C18             .1  UF MONOLITHIC
C19             100 UF TANT
C20             .47 UF MONOLITHIC
C21             .01 UF CERAMIC
C22             .47 UF MONOLITHIC
C23             .1  UF MONOLITHIC
C24             .1  UF MONOLITHIC
C25             10  UF TANT
C26             .1  UF MONOLITHIC
C27             .1  UF MONOLITHIC
C28             .1  UF MONOLITHIC
C29             .1  UF MONOLITHIC
C30             .1  UF MONOLITHIC
C31             .1  UF MONOLITHIC
C32             .1  UF MONOLITHIC
C33             .1  UF MONOLITHIC

DIN             96 PIN DIN CONNECTOR (FEMALE)

PCB             LUCAS BOARD REV# 3

2 ROWS 32 X 1, (.7 INCH long)  HEADER PINS (SAMTEC)  ** See Note **

SOCKETS

1, 114 PIN 68020 Socket
1, 68  PIN 68881 Socket
5, 14  PIN DIP   Socket
4, 20  PIN DIP   Socket


NOTE: READ the notes in the making it drawer.


\Rogue\Monster\
else
  echo "will not over write Parts_List"
fi
if [ `wc -c Parts_List | awk '{printf $1}'` -ne 2006 ]
then
echo `wc -c Parts_List | awk '{print "Got " $1 ", Expected " 2006}'`
fi
if `test ! -s README`
then
echo "writing README"
cat > README << '\Rogue\Monster\'

The USENET (comp.sources.amiga) distribution of the LUCAS project is
different than what you'd find on BIX, or get from the author.  The
Mandelbrot programs & sources, benchmark programs and the utilities
(SetCPU and DeciGel) were omitted, since they are available elsewhere
and because many people will be grabbing these files only to determine
if they want to build the board.

The Commodore utilities (More and IconX) have likewise been removed,
as well as the copyright notice they required.

In addition, all the ".info" and ".fastdir" files have been removed
from this distribution, and most of the files have been renamed.  All
the documentation has been reformatted to fit in 80 columns.

NO INFORMATION WAS CHANGED OR OMITTED.

Brad's comments appear below.

..Bob
(moderator - comp.sources.amiga)
---------------------------------------

   ************************************************************************
   *                                                                      *
   *                            DISCLAIMER                                *
   *                                                                      *
   *   NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO THE      *
   *   ACCURACY, RELIABILITY, PERFORMANCE OR OPERATION OF THIS            *
   *   DOCUMENTATION OR OF THE LUCAS BOARD ITSELF. TO BE CLEARER,         *
   *   YOU ARE DOING THIS TOTALLY AT YOUR OWN RISK AND THE NATURE OF      *
   *   THIS LEARNING EXPERIENCE WILL BE DIRECTLY PROPORTIONAL TO          *
   *   HOW WELL AND HOW CAREFULLY YOU DO THE WORK. TO BE EVEN MORE        *
   *   PRECISE IF ANYTHING WHATSOEVER HAPPENS IT IS NOT MY RESPONSIBILITY *
   *   ITS YOURS.                                                         *
   *                                                                      *
   ************************************************************************

Here's a brief discription of what you'll find here. 

Transactor_Article is the article I wrote for Transactor. Please
excuse any anacronisms which result from Transactor's current
difficulties.

The file Building is for those who are actually building the Lucas
board.  If you're just considering building one, a look through this
file will let you know what you're getting into and what you can
expect to get out of it.

The #?.draw files have the two drawings which comprise the LUCAS
board.  They were done using draw plus, and they are included here
in case you wish to make plots or printouts of your own.  You'll
have to join the similar draw1 and draw2 files together to get a
complete draw file (they were split for Usenet transmission).

The #?_List files are the PCAD document files.  The Net Lists will
help in debugging.

The #?.pld files are the four PAL equations for the pals on the LUCAS
Board.

If you've decided that you would like to build a Lucas Board here's
where and how much.

Bare PCB ............ $40.00
4 Pal set ........... $30.00
Mailing ............. $ 5.00
                      ------
Total ............... $75.00
 
If both the PCB and the Pals are ordered I'll send along a disk with
the information in the original ARC file (including the stuff omitted
from the Usenet distribution) and it will be updated with any new
information.

Send a cheque or money order made out to Brad Fowles to:

		Brad Fowles,
		RR#5,
		Caledon East,
		Ontario, Canada.
		LON 1E0 	

				Thanks, and Enjoy
\Rogue\Monster\
else
  echo "will not over write README"
fi
if [ `wc -c README | awk '{printf $1}'` -ne 3434 ]
then
echo `wc -c README | awk '{print "Got " $1 ", Expected " 3434}'`
fi
if `test ! -s Transactor_Article`
then
echo "writing Transactor_Article"
cat > Transactor_Article << '\Rogue\Monster\'
68020-68881 PLATFORM BOARD, "LUCAS", FOR THE AMIGA 1000

Most of you in the Amiga community are well aware of the wonderful
software which is available in the Public Domain. As a hardware type I
have often been envious of the ease with which software can be shared
among developers and users alike. Ideas and techniques can be
distributed through BBS networks to the general benefit of all. In
contrast, hardware developers lead a comparitively solitary existance,
the exchange of ideas impeded by economic and logistical problems.

Can there be such a thing as Public Domain Hardware? Obviously no one
can give away printed circuit boards, but perhaps we can do the next
best thing: give away as much information as possible and make bare
PCB's available for as close to cost as shipping allows.

The project is a platform board called LUCAS (Little Ugly Cheap
Accelerator System). which replaces the 68000 in your Amiga 1000.
LUCAS provides greater system performance and allows the use of the
68881 math coprocessor as well as an upgrade path to 32-bit wide
memory.

The board has a 68020 and 68881 running at 16 MHz, and interface logic
(consisting of 4 PALS, 4 discretes, 16 MHz crystal, 2 SIP resistor
paks, and some caps) to transpose 68020 cycles to 68000-like cycles.
LUCAS also has a connector which will allow you, at a future date, to
add 32 bit wide memory. (I'll try and get the fine people at
Transactor to publish a memory board for this system in a few months.)

Transactor magazine has graciously agreed to make available bare
printed circuit boards for this project for $40.00, and the complete 4
PAL set for $30.00. The rest is readily available from local
suppliers. The schematic is published here, as are the PAL equations.
Anyone who wants the film plots or Net Lists so they can adapt the
form factor to the Amiga 500 is welcome to them for whatever it costs
me to get and ship them to you. (PCB design was done using P-Cad on
er... an AT ( ...almost said the I word )).

If you own an Amiga 1000 and you would like to experiment with a 68020
and 68881 combination to improve performance this may be the cheapest
way to get there. Unfortunately the chip set is going to cost you
about $370.00 Canadian. Our aim is to make the rest as cheap as
possible. You should be able to be up and running for under $475.00,
or about three quarters of that if you live in the real world.

There are 3 reasons that I decided to do this project. One, I wanted
one myself and couldn't afford the commercial versions. Two, some
friends of mine who are using SCULPT 3D and ANIMATE from Byte by Byte
(both are available in 68020-68881 versions) needed more horsepower to
render their images fast enough to actually make money at it. Three, I
figured all of us Amiga 1000 owners out there with true hacker's
hearts needed some light in our future since 1 meg. of chip ram ain't.
(Maybe some of those 1000's out there can become dedicated rendering
machines.)

When I started the design of this board I used as a reference an
article from EDN January 9th 1986 pp216-219. While looking at this
design I became aware of an application note from Motorola AN944/D,
"MC68020 AND MC68881 PLATFORM BOARD FOR EVALUATION IN A 16 BIT
SYSTEM". I recommend both these documents, especially the latter, if
you wish a better understanding of how this board works. Unfortunately
it is impossible within a short article such as this one to give more
than a brief overview of how the board works. I will try and highlight
those aspects which are specific to the Amiga, but a thorough
understanding will require some digging on your part. I also recommend
the User's Manuals for the MC68020 and the MC68881 which are available
from Motorola as "MC68020UM/AD" and "MC68881UM/AD" respectively.

O.K. Here is the disclaimer. If you get one of these bare boards and
carefully put it together and then intstall it into your Amiga, you
should have no problem and you'll be up and running in an evening or
two. If you have problems then its up to your ingenuity to solve them.
If you don't have some experience with a soldering iron, please, don't
let this be your debut. I will gladly help anyone with problems. There
are three ways you can get in touch with me, USENET at
anakin@utcs.toronto.edu (Brad Fowles), BIX in the ANAKIN, AMIGA
conference or by regular mail through Transactor. If you do manage get
my phone number you better be able to sweet talk me within 30 seconds.
I hope that if there is sufficient interest out there that local user
groups or individuals will add their help to anyone having problems. I
have no objections should anyone get the bare boards and put them
together and install them for a modest price, but please remember that
the purpose of this is to make these available to end users as cheaply
as possible.

If I haven't scared you off, please read on. If I have, well... so
long, and thanks for all the fish.

Once you get one of the bare boards and procure all the parts, next
follow the enclosed instructions and carefully solder sockets for all
the IC's and the crystal onto the board. Solder the resistor paks and
the capacitors into place. Insert the 64 Pin header for the 68000
socket and solder it in.

Installation is quite simple but should be carefully done. Remove the
plastic cover and the EMI shield from the Amiga base unit. On the
right hand side of the PCB, just beside the Exansion connector, is the
68000 CPU. Gently pry the 68000 out of its socket, and store it on a
piece of styrofoam somewhere safe. Now insert the LUCAS board into the
68000 socket, being careful to insure that all 64 pins are correctly
inserted into the socket. If you want to be real careful remove the
disk drive so you can see better. Watch the ribbon cable for the
internal disk drive as the bends in the cable can make things awkward.
As long as you're careful and don't force anything you should have no
problem. You can do initial tests with the cover off, but once you're
satisfied its working put the base unit with its EMI shield back
together again. That's all there is to it. Your heart can now resume
normal operation.

You don't need to know a great deal about the inner workings of the
LUCAS board to enjoy using it, but for those who would like a better
understanding of the nature of running a 32-bit 68020 in a 16-bit
68000 system please read on and I will explain the key points.

Once the LUCAS board has been installed we essentially have divided
the CPU time into two discrete blocks. One, seemingly operating at
7.16 MHz and synchronous to the special purpose chips responsible for
the video, sound, etc. and two, a 16 megahetz asynchronous system
between the 68020 and 68881 and any possible 32-bit wide memory
connected to the LUCAS bus.

The essential design criteria I used for the board were that it should
be able to run asyncronously to the Amiga clock (so speeds of 16 MHz
or greater could be achieved) and that there be no connection other
than through the 68000 socket (to simplify installation.)

In order to achieve this the board must look like a 68000 (4 clock
standard bus cycle) running at 7.16 MHz when it is running its bus
cycles but when it is doing internal processing or talking to the
MC68881 or future 32 bit wide expansion ram, it should run at the full
16 MHz (3 clock bus cycle).

90% of the problem in making this board work comes down to the problem
of making the 68020 appear exactly like the original 68000 it replaces
as it has been used architecturally in the Amiga, but able to go like
stink when it gets the chance.

The address and data lines are easily implemented as they are
connected directly from the 68020 to the 68000 socket. Note that the
16 data bits are connected to data bits D16 through D31. The upper
eight address bits on the 68020 are simply left unconnected.

I have used the * convention to indicate low true signals for ease in
typesetting the article, i.e., *AS means AS is a low true signal. The
PAL equasions are written in CUPL format so I appologise to all you
PALASM user's.

	68020 to 68000 Interface.

The 68000 has an asynchonous bus structure. It asserts Address Strobe
(*AS) to begin a bus cycle then waits for the assertion of *DTACK to
end the cycle. This is usually 4 or 6 cycles, but may be held off by
some peripheral device. The 68020 works much the same way except there
are two *DTACK-like signals, *DSACK0 and *DSACK1. Because the 68020
can address in bytes (8 bits), words (16 bits) and longwords (32 bits)
it must be able to differentiate between them. It does this by use of
its dynamic bus sizing capability. A peripheral responds to a bus
cycle by asserting one or both of the *DSACKx signals which tells the
020 the size of the transfer.

DSACK0         DSACK1         	TRANSFER SIZE
   0             0             32 bit transfer
   1             0             16 bit transfer
   0             1              8 bit transfer
   1             1             Insert Wait States

Bus cycles on for the Amiga are always 16 bits wide so we will assert
only *DSACK1 when responding to Amiga cycles. When we are running
cycles for the 68881 (FPU) or 32-bit wide ram on the LUCAS board
expansion connector we must assert the appropriate *DSACKx
combination.

In general terms with no wait states the 68000 will run a bus cycle in
4 clock cycles; the 020, however, will run the same bus cycle in 3
clock cycles. To correct this we must delay *AS and *DS (Data Strobe)
from reaching the Amiga until after the rising edge of the S2 phase of
the 7.16 Meg. CPU clock. This is accomplished by the flip-flops U8a
and U8b: inverting *AS from the 020 and using the complementary output
with the flip-flop's reset tied to the inverted *AS will delay *AS the
desired amount and terminate *AS20DLY when the *AS from the 020
terminates. This same technique is used for *DS. This creates the two
timing signals *AS20DLY and *DS20DLY.

Byte addressability on the 68000 is accomplished by the Upper Data
Strobe (*UDS) and the Lower Data Strobe (*LDS). The 020 has only a
single Data Strobe (*DS). It uses a combination of the two SIZE pins
and A0 and A1 to define the tranfer pattern from the 020's internal
multiplexer to the external data bus. (Note: bytes appear on data bits
24-31, words appear on data bits 16-31). It is therefore necessary for
us to create *UDS and *LDS. This is accomplished by the following PAL
equations. Note: The data strobes are not asserted during a
Coprocessor cycle. (CPCS)

!UDS = (!DS20DLY) & (!A0)   & (CPCS)
!LDS = (!DS20DLY) & ( SIZ1) & (CPCS)
       (!DS20DLY) & (!SIZ0) & (CPCS) 
       (!DS20DLY) & (  A0 ) & (CPCS)

The 68000 contains logic to support the 6800 family of products, and
the Amiga uses this to interface to the 8250s. We must also emulate
this interface as it is not present on the 020. A secondary clock
called the E clock must be generated. It has a frequency of 1/10th the
CPU clock and has a duty cycle of 60% low and 40% high. This is done
by a decade counter in PAL U4. When running a 6800 family cycle the
Amiga or peripheral generates a Valid peripheral Address signal
(*VPA). The 68000 then syncs itself with the E clock and issues a
Valid Memory Address (*VMA) and ends the cycle on the falling edge of
the E clock. The equation,

!Z3 = !QD #
      QC #
      QB #
      QA ;

on PAL U4 in combination with the equation

!Z1.D = (DS20DLY) & (!Z1) #
		(DS20DLY) & ( Z3) & (!VMA);

asserts *DSACK1 in the 9th state of E clock by the generation of the
Z1 signal so that the long VPA, VMA cycle can be terminated correctly.

68020 to 68881 Interface

The MC68881 chip select (*CS) must be decoded from the 020. The 020
generates a 111 on the Function Code pins (CPU Space), a 0010 on the
address lines A16-A19 which means this is a FPU coprocessor cycle, and
a coprocessor ID on Address lines A13-A15. Since there is only one
coprocessor in this design, A13-A15 are undecoded. The rest is decoded
by PAL U4 in the following equation:

CPCS = (FC2)&(FC1)&FC0)&(!A19)&(!A18)&(A17)&(!A16)

This generates the *CS (Chip Select) to the 68881.

Zen and the Art of Cycle Termination
	(An Asynchronous Synchronous Asynchronicity.)

The generation of the *DSACK1 signal from the Amiga *DTACK caused me
at times to doubt not only my own sanity but that of the universe
itself. The *DTACK signal from the Amiga should appear and be sampled
during the S4 phase of the clock cycle. Unfortunately it doesn't quite
know that. It responds more or less correctly when it is talking to
internal ram but when external (FAST) ram is accessed *DTACK comes
back almost right away. Remember that *DTACK is the only way we have
of determining the length of a cycle. We will cope with this anomaly
in a moment.

Since the 020 is operating at 16 MHz - i.e., quite asynchronous to the
Amiga clock - you have to sync up somewhere along the line with the
Amiga 7.16 MHz clock. The ideal place to do this is when the two Amiga
clocks C1 and C3 are in the condition C1 high and C3 low. These
signals are not available at the processor and for a long time I had
these two lines coming up off the motherboard. However the 7.16 MHz
clock that is available at the processor can produce a reasonable
facsimile. I divide the 7.16 MHz clock by two using U9a then logically
OR it with the original 7.16 MHz clock and this turns out to have the
same timing as C1 high and C3 low (my faith in the universe began to
rekindle at this point.)

In the PAL equations this is DTPRELIM (DTack PRELIMinary). Now we have
a reference point to sync back up with the Amiga.

In a saner world the combination of *DTACK and the Z1 signal (for
termination of VPA,VMA cycles) would be sufficient to create the term
SYSDSPRE1 (SYStem DSack1 PREliminary 1), but we have to delay till
*DTPRELIM is true to sync up with the Amiga, plus cope with the quick
responce of *DTACK anomaly when talking to fast ram. And sync back up
with the 16 MHz 68020 when we do finally issue a *DSACK1.

Confused? Wait! It gets better.

Most dynamic memory boards when connected to the Amiga expansion bus
will assert XRDY to hold off the assertion of *DTACK while they do a
refresh cycle. This puts in enough wait states so that the memory
board can complete a refresh cycle. Problem is, soon as XRDY is
asserted, a 20-30 ns. glitch occurs in *DTACK, prompting the 020 to
terminate the cycle before the data is even thinking about arriving on
the bus. The solution is to avoid decoding it till the S4 phase of the
Amiga 7.16 MHz clock. I delay *AS20DLY again for *DTQUAL and again for
*DTQUAL1. DTQUAL becomes part of the *DTACK term and *DTQUAL1 is wired
to QUAL (I needed the 7ns. across the PAL) then QUAL is added to the
*DTACK term, giving:

!SYSDSPRE1 = !Z1#     

       (!DTACK)&(!AS20DLY)&(!DTQUAL)&(!QUAL)

This soves the quick *DTACK problem.

We buffer this (another 7 ns.) by:

!BUFOUT = !SYSDSPRE1

Add in the Amiga syncronizing term

!DTTRIG = (!BUFOUT) & (!DTPRELIM)

Now we have an edge which is syncronous to the 7.16 MHz Amiga system.
We then use this to trigger a Flip-Flop which has patiently been
waiting for all this tom-foolery to end and will ship !SYSDACK1 to yet
another Flip-Flop to sync it back up to the 16 MHz 020 clock, and then
to the awaiting PAL U7 for additional decoding. I feed the Flip-Flop
U9b with *ASDLY so that the !SYSDSACK1 signal will terminate when *AS
does.

We're almost done.

PAL U7 then combines *SYSDSACK1 with the 68881 *DSACK1 , CPDSACK1, and
*SRDSACK1 (which comes from the expansion connector for future Static
Ram), and finally and enthusiastically begets *DSACK1.

What could be simpler?

*DSACK0 is generated from the 68881 and from the future Static Ram only. 


Bus Arbitration
	
The Bus arbitration technique is quite similer to the 68000 with one
exception. During coprocessor cycles the *AS is blocked from the 68000
bus. This gives rise to a possible problem. If the 68020 begins a
coprocessor cycle with *AS blocked and responds to a alternate bus
master's *BR (Bus Request) with a *BG (Bus Grant) the 68020 will
assume the alternate bus master will wait for the negation of *AS.
Unfortunately *AS is blocked and therefore already negated. The result
is bus contention. Therefore we must prevent the assertion of *BG
until the interface negates *AS. This is done with the equation,

 !BG00 = (!BG20) & (!Z2) & (AS20)

	Benchmarks

To give some idea of the performance improvement you can expect with
the 68020-68881 pair, I have used 4 programs made available on the
DEVCON disks distributed at the Washington Developer's Conference.
Thanks to Al Aburto for letting me distribute them. These benchmarks
were run on an Amiga 1000 with a 2 Meg. Micrbotics Starboard memory
board and a Comspec 20 Meg. Hard Disk. The operating system was
Kickstart 1.2.1 and Workbench 1.3 Gamma 7. It should be noted that
when the 68020-68881 pair is installed the new IEEE math libraries
which support the 68881 are used for floating-point transparently. I
ran these benchmarks first with a standard 68000 and then with the
LUCAS board.

Savage:
		68000	470.0 sec.	Error -6.9e-7
		LUCAS	14.5 sec.	Error -5.7e-4
Whetstone:
		68000	24  kwhets/sec.
		LUCAS	126 kwhets/sec.
Calcpi:
		68000	4.85 kflops/sec.	Error -1.39e-11
		LUCAS	11.9 kflops/sec.	Error -2.78e-11
Float:
		68000	10000 interations	 45.74 sec.
			   256000 interations	286.96 sec.
		LUCAS	10000 interations	 12.80 sec.
			   256000 interations	118.56 sec.

Of course speed could be further enhanced by using inline F
instructions for the floating point stuff and even further enhanced by
using 32-bit wide no-wait-state Static Memory.

Please remember that benchmarks are like political speeches, they only
seem to make sense.

Software Considerations

Most software runs just fine on the 68020 but there are some programs
which will guru on you. One of the major reasons for this is that on
the 68020 all the instructions that are on the 68000 are implemented
with the inevitable exception of one: the MOVE SR <ea> instruction. On
the 68000 this is a user mode instruction; on the 68020 (and 68010 and
later parts) it is a supervisor mode only instruction, i.e., if its
executed on a 68020 in an Amiga you get a privelige violation guru. If
you're writing software, don't use this instruction; use instead the
GetCC() library function which translates to a MOVE CC <ea> on the
68020, which is a valid user mode instruction. This function
translates to a MOVE SR <ea> if there is a 68000 in the Amiga. This
way you're safe both ways.

If you're one of those people who thought encoding information in the
upper 8 bits of the address field was a nifty idea ... Oh well, time
to learn the error of your ways.

Of course if you use any instructions from the 68020 super set then
this code will never run on a standard Amiga. For further information
see section 21 of the Washington Amiga Developer Conference Notes,
"Software Issues in 32-bit Amiga Systems" by Dave Haynie.

The new release of 1.3 has new IEEE Double Precision Math Libraies
which take advantage of the 68020-68881 pair if it is present and can
immediately speed up any existing programs which use the math
libraries.

If you want blindingly fast floating point the best way is to
recompile your code so that it uses direct inline F instructions. I am
making available on the Transactor Disks two programs called Mandslow
and Mandfast. They are slight adaptations of RJ's original mandelbrot
program, adapted by Eric Haberfellner. These two programs are the same
except that mandslow was compiled for standard Amiga while mandfast
was compiled to use inline F instructions. As an example a moderately
deep mandelbrot which runs in 1 hr. 20 min. on a standard Amiga runs
in 4 min. 20 sec. with the LUCAS board installed.

Compatibility

The LUCAS board works with all the expansion boards I have but I'm
sure there will be some out there that will bomb out. I will keep a
list of those that do and those that don't and post it regularly on
Usenet and BIX. The ones I have are the Comspec 20 Meg. Hard Disk,
Comspec 2 Meg. Memory board, EASYL, and the Micobotics Starboard 2
Meg. Memory board.

As a matter of interest only, the board works fairly well at 20 MHz
but periodically bombs. I have only 16 MHz parts; when I debug the
bomb it seems to be the fault of the on-chip instruction cache. If you
have 20 MHz parts, try it and let me know. Even if you have 16 MHz
parts its worth the price of a 20 MHz crystal to see if it will work.
Who knows? You might get lucky.

Conclusion

The performance of the Amiga 1000 with the LUCAS board intalled will
be improved, but it won't perform miracles. For general purpose
computing I find that compiles are only about 1.4 times faster, hardly
worth the trouble. However, any program which uses Floating point will
be improved considerably, and those which have embedded F instructions
will indeed appear miraculous. On the other hand, the board does allow
for 32-bit wide expansion memory, and if installed you can expect
considerable general purpose performance improvements as well. I plan
to design two boards: one with standard 100 or 120 ns. DRAMs and a
second with some high speed Static Ram for no wait state operation at
16 MHz. You get most of the performance increase by having the memory
32 bits wide, but I can't resist seeing how fast it will go with no
wait states at 16 MHz.

Stay tuned to Transactor and the Nets for updates. Enjoy!
\Rogue\Monster\
else
  echo "will not over write Transactor_Article"
fi
if [ `wc -c Transactor_Article | awk '{printf $1}'` -ne 21429 ]
then
echo `wc -c Transactor_Article | awk '{print "Got " $1 ", Expected " 21429}'`
fi
if `test ! -s Wiring_List`
then
echo "writing Wiring_List"
cat > Wiring_List << '\Rogue\Monster\'


%*********************************************************************
%                                                                    *
%     Program  :   PC-FORM VERSION 3.00                              *
%     Date     :   Jul 18 1988                                       *
%     Time     :   02:25:47 PM                                       *
%     File In  :   AM20AW27.PNL                                      *
%     File Out :   AM20AW27.WRL                                      *
%     Format   :   WIRE LIST                                         *
%                                                                    *
%*********************************************************************


%
% NODE        REF. DESIGNATOR-PIN
% ----        -------------------
%
  D26             U2-60               U1-59             
                  U3-17               DIN-88            
  D20             U2-17               U1-1              
                  U3-53               DIN-79            
  D21             U2-62               U1-64             
                  U3-20               DIN-81            
  D22             U2-16               U1-63             
                  U3-19               DIN-82            
  D23             U2-99               U1-62             
                  U3-51               DIN-84            
  D24             U2-61               U1-61             
                  U3-18               DIN-85            
  D25             U2-15               U1-60             
                  U3-49               DIN-87            
  A17             U2-110              U1-45             
                  DIN-27              U4-7              
  D27             U2-98               U1-58             
                  U3-16               DIN-90            
  D28             U2-14               U1-57             
                  U3-48               DIN-91            
  AS00            U11-1               U11-2             
                  U10-10              
  D30             U2-97               U1-55             
                  U3-14               DIN-94            
  D31             U2-13               U1-54             
                  U3-47               DIN-96            
  SIZE1           U2-54               DIN-37            
                  U7-5                
  UN000025        U3-66               SIP1-3            
  SIZE0           U2-6                DIN-29            
                  U7-4                
  RESET'          U2-3                U1-18             
                  U3-4                SIP1-6            
  A0              U2-114              DIN-1             
                  U7-3                
  R/W00           R2-1                U11-9             
  A6              U2-36               U1-34             
                  DIN-10              
  A7              U2-78               U1-35             
                  DIN-12              
  A8              U2-37               U1-36             
                  DIN-13              
  A9              U2-107              U1-37             
                  DIN-15              
  A10             U2-79               U1-38             
                  DIN-16              
  A11             U2-38               U1-39             
                  DIN-18              
  A12             U2-108              U1-40             
                  DIN-19              
  A13             U2-80               U1-41             
                  DIN-21              
  A14             U2-39               U1-42             
                  DIN-22              
  A15             U2-81               U1-43             
                  DIN-24              
  A16             U2-109              U1-44             
                  DIN-25              U4-8              
  UN002020        U9-2                U11-6             
  A18             U2-83               U1-46             
                  DIN-28              U4-6              
  A19             U2-42               U1-47             
                  DIN-30              U4-5              
  A20             U2-84               U1-48             
                  DIN-31              
  UN001020        U1-9                R2-2              
  A22             U2-43               U1-51             
                  DIN-34              
  A23             U2-44               U1-52             
                  DIN-36              
  A3              U2-34               U1-31             
                  U3-9                DIN-6             
  A1              U2-48               U1-29             
                  U3-10               DIN-3             
  D3              U2-70               U3-33             
                  DIN-54              
  D4              U2-26               U3-32             
                  DIN-55              
  D5              U2-69               U3-61             
                  DIN-57              
  D6              U2-68               U3-31             
                  DIN-58              
  D7              U2-104              U3-30             
                  DIN-60              
  D8              U2-24               U3-29             
                  DIN-61              
  D9              U2-23               U3-68             
                  DIN-63              
  D10             U2-67               U3-58             
                  DIN-64              
  D11             U2-103              U3-27             
                  DIN-66              
  D12             U2-22               U3-56             
                  DIN-67              
  D13             U2-66               U3-57             
                  DIN-69              
  D14             U2-21               U3-26             
                  DIN-70              
  UN002004        U4-14               U5-7              
  D16             U2-64               U1-5              
                  U3-23               DIN-73            
  D17             U2-18               U1-4              
                  U3-54               DIN-75            
  D18             U2-63               U1-3              
                  U3-22               DIN-76            
  D2              U2-27               U3-62             
                  DIN-52              
  FC0             U2-5                U1-28             
                  U4-4                
  FC1             U2-92               U1-27             
                  U4-3                
  CPDSAK1'        U3-13               SIP1-8            
                  U7-15               
  UN001004        U3-6                SIP1-2            
  CPDSAK0'        U3-46               SIP1-7            
                  U7-8                
  AS20'           U2-11               U3-8              
                  SIP2-3              DIN-41            
                  U5-18               U10-5             
  DSACK1'         U2-9                U7-14             
  D19             U2-100              U1-2              
                  U3-21               DIN-78            
  DSACK0'         U2-94               U7-12             
  16M             U2-50               U3-38             
                  R1-2                R3-1              
                  DIN-23              U6-1              
                  U9-3                OSC-8             
  UN002018        U11-3               U10-12            
  UN000013        U2-8                SIP1-5            
  AVEC'           U2-55               SIP1-4            
                  J2-2                
  LDS'            R6-1                U7-18             
  R/W20           U2-58               U3-11             
                  DIN-53              U11-12            
  UN002012        U8-1                U8-2              
                  U10-4               
  FC220           U2-53               U4-2              
                  J1-1                
  BG20'           U2-49               U5-9              
  DTACK'          U1-10               U6-8              
  SRDSAK0'        SIP1-10             DIN-65            
                  U7-9                
  VPA'            U1-21               U4-9              
                  U5-2                
  IPL1'           U2-29               U1-24             
  IPL2'           U2-73               U1-23             
  HALT'           U2-57               U1-17             
  BGACK'          U2-1                U1-12             
                  U5-8                
  BERR'           U2-56               U1-22             
  DBEN'           U2-93               DIN-59            
  UDS'            R5-1                U7-19             
  VMA'            U1-19               U5-17             
                  U6-4                
  7M              U1-15               U5-1              
                  U6-5                U8-3              
                  U8-11               U9-11             
                  U11-11              U10-1             
  BR'             U2-88               U1-13             
  BG00'           U1-11               U5-19             
  E               U1-20               U4-19             
  FC200           U1-26               J2-1              
  IPL0'           U2-72               U1-25             
  AS00BUF'        R4-1                U7-16             
  UN000021        U1-6                R4-2              
  UN000022        U1-7                R5-2              
  UN000023        U1-8                R6-2              
  A5              U2-35               U1-33             
                  DIN-9               
  UN002011        U8-12               U8-13             
                  U10-6               
  DS20'           U2-12               U3-7              
                  SIP2-4              DIN-47            
                  U10-3               
  D15             U2-102              U3-25             
                  DIN-72              OSC-11            
  A4              U2-77               U1-32             
                  U3-42               DIN-7             
                  OSC-6               
  D0              U2-28               U3-35             
                  DIN-49              
  D1              U2-71               U3-34             
                  DIN-51              
  DGND            U2-2                U2-10             
                  U2-19               U2-30             
                  U2-40               U2-74             
                  U2-75               U2-82             
                  U2-95               U2-96             
                  U2-101              U2-105            
                  U1-16               U1-53             
                  U3-3                U3-12             
                  U3-24               U3-28             
                  U3-36               U3-37             
                  U3-39               U3-41             
                  U3-50               U3-52             
                  U3-60               U3-64             
                  U3-65               R1-1              
                  DIN-50              DIN-56            
                  DIN-62              DIN-68            
                  DIN-74              DIN-77            
                  DIN-80              DIN-83            
                  DIN-86              DIN-89            
                  DIN-92              DIN-95            
                  U4-10               U4-11             
                  U5-10               U5-11             
                  U6-10               U6-11             
                  U8-7                U9-7              
                  U11-7               U10-7             
                  OSC-7               U7-10             
                  C19-2               C7-2              
                  C24-2               C28-2             
                  C31-2               C15-2             
                  C29-2               C5-2              
                  C6-2                C32-2             
                  C25-2               C30-2             
                  C4-2                C13-2             
                  C14-2               C12-2             
                  C16-2               C2-2              
                  C1-2                C27-2             
                  C26-2               C23-2             
                  C3-2                C33-2             
                  C18-2               C22-2             
                  C20-2               C21-2             
                  C17-1               C11-1             
                  C9-1                C8-1              
                  C10-1               
  VCC             U2-4                U2-20             
                  U2-25               U2-31             
                  U2-41               U2-51             
                  U2-65               U2-90             
                  U2-91               U2-106            
                  U1-14               U1-49             
                  U3-1                U3-2              
                  U3-40               U3-44             
                  U3-55               U3-59             
                  U3-67               SIP1-1            
                  SIP2-1              R3-2              
                  DIN-2               DIN-5             
                  DIN-8               DIN-11            
                  DIN-14              DIN-17            
                  DIN-20              DIN-26            
                  DIN-32              DIN-38            
                  DIN-43              DIN-44            
                  U4-20               U5-20             
                  U6-20               U8-4              
                  U8-10               U8-14             
                  U9-1                U9-4              
                  U9-10               U9-13             
                  U9-14               U11-4             
                  U11-10              U11-13            
                  U11-14              U10-14            
                  OSC-14              U7-20             
                  C19-1               C7-1              
                  C24-1               C28-1             
                  C31-1               C15-1             
                  C29-1               C5-1              
                  C6-1                C32-1             
                  C25-1               C30-1             
                  C4-1                C13-1             
                  C14-1               C12-1             
                  C16-1               C2-1              
                  C1-1                C27-1             
                  C26-1               C23-1             
                  C3-1                C33-1             
                  C18-1               C22-1             
                  C20-1               C21-1             
                  C17-2               C11-2             
                  C9-2                C8-2              
                  C10-2               
  A2              U2-76               U1-30             
                  U3-43               DIN-4             
  7ME2            U6-7                U9-8              
                  U9-12               
  DTTRIG'         U6-18               U10-13            
  AS20DLY'        U5-3                U6-2              
                  U8-8                U7-6              
  Z3'             U4-12               U6-3              
  UN000001        U4-17               U5-4              
  UN000002        U4-16               U5-5              
  UN000003        U4-15               U5-6              
  FC2             U4-13               J1-2              
  DS20DLY'        U6-6                U8-6              
                  U7-2                
  HIGHZ           U5-13               U7-1              
  AS00'           U5-12               U10-11            
                  U7-17               
  QUAL'           U6-9                U6-15             
  SYSDACK1        U9-5                U7-11             
  7M'             U4-1                U10-2             
  CPCS'           U3-45               U4-18             
                  U7-7                
  SRDSAK1'        SIP1-9              DIN-71            
                  U7-13               
  D29             U2-59               U1-56             
                  U3-15               DIN-93            
  A21             U2-111              U1-50             
                  DIN-33              
\Rogue\Monster\
else
  echo "will not over write Wiring_List"
fi
if [ `wc -c Wiring_List | awk '{printf $1}'` -ne 16725 ]
then
echo `wc -c Wiring_List | awk '{print "Got " $1 ", Expected " 16725}'`
fi
echo "Finished archive 3 of 5"
# if you want to concatenate archives, remove anything after this line
exit
-- 
Bob Page, U of Lowell CS Dept.  page@swan.ulowell.edu  ulowell!page
Have five nice days.