diff --git a/PDP11/pdp11_io_lib.c b/PDP11/pdp11_io_lib.c index 7fdf816b..98ed06ac 100644 --- a/PDP11/pdp11_io_lib.c +++ b/PDP11/pdp11_io_lib.c @@ -784,7 +784,7 @@ if ((c = strrchr (namebuf, ']'))) strcpy (namebuf, c+1); packid = eth_crc32(0, namebuf, strlen (namebuf)); buf[0] = (uint16)packid; -buf[1] = (uint16)(packid >> 16); +buf[1] = (uint16)(packid >> 16) & 0x7FFF; /* Make sure MSB is clear */ buf[2] = buf[3] = 0; for (i = 4; i < wds; i++) buf[i] = 0177777u; diff --git a/sim_disk.c b/sim_disk.c index d113d417..ca65cce1 100644 --- a/sim_disk.c +++ b/sim_disk.c @@ -1435,7 +1435,7 @@ if ((c = strrchr (namebuf, ']'))) strcpy (namebuf, c+1); packid = eth_crc32(0, namebuf, strlen (namebuf)); buf[0] = (uint16)packid; -buf[1] = (uint16)(packid >> 16); +buf[1] = (uint16)(packid >> 16) & 0x7FFF; /* Make sure MSB is clear */ buf[2] = buf[3] = 0; for (i = 4; i < wds; i++) buf[i] = 0177777u;