Service manual

Service Manual
Links
The Ethernet I PCB should be viewed from the
component side with the 96 way podule bus connector on
the left and the rear panel on the right. When viewed like
this, west is to the left, east the right, north the top and
south the bottom.
LK1 and LK2 select the RAM size
If 32 KB devices are fitted (normally) the links should both
be south. 8 KB devices will not normally be fitted but in
this case LK1 and LK2 should be north.
LK3 to LK8 select Ethernet or Cheapernet.
For Ethernet operation the links should be west (link pin a
to pin b). For Cheapernet operation the links should be
east (link pin b to pin c).
LK9 is tracked south and not fitted on production
units.
See data sheets for the 82502 for use.
PROM CRC calculation
The following is a code fragment in the C programming
language that calculates and validates the Ethernet
PROM checksum.
/* To calculate and check the PROM checksum */
int ROM_chk(vector) /* array 0..32 bytes*/
u_char vector[32];
{ register int i,j;
register unsigned chk = -1;
/* Set the CRC register*/
/* to FFFFFFFF*/
register unsigned byte;/* temp
for (i = 0; i < 28; i++) {
/* CRC on bytes 0..28*/
byte = vector[i];
for (j = 0; j < 8; j++) {
if (((byte & 1) ^ (chk ยป 31)) != 0) /* IF feedback = 1*/
chk = (chk << 1) ^ (0x04C11DB7); /* shift and FOR taps*/
else /* ELSE
chk = (chk << 1);
/* just shift*/
byte = byte >> 1;
/* next bit*/
/* chk is now the calculated CRC */
/* Now get CRC from PROM */
byte = (vector[31] << 24) | (vector[30] << 16) | (vector[29] << 8) |
(vector[28] << 0);
/* Test to see if the same */
if (byte != chk) return (FALSE); /* checksum error*/
else return (TRUE);
2-12 Issue 2, June 1991 Part 2 - Interface cards