diff -u -w -r basiliskII-jit-1.0_pre20060501-r1-/work/BasiliskII-1.0/src/Unix/ether_unix.cpp basiliskII-jit-1.0_pre20060501-r1/work/BasiliskII-1.0/src/Unix/ether_unix.cpp --- BasiliskII-1.0/src/Unix/ether_unix.cpp 2012-02-09 15:12:58.000000000 +0100 +++ BasiliskII-1.0/src/Unix/ether_unix.cpp 2012-02-09 15:15:08.000000000 +0100 @@ -598,7 +598,7 @@ M68kRegisters r; r.d[0] = type; // Packet type r.d[1] = length - 14; // Remaining packet length (without header, for ReadPacket) - r.a[0] = p + 14; // Pointer to packet (Mac address, for ReadPacket) + r.a[0] = (unsigned long)p + 14; // Pointer to packet (Mac address, for ReadPacket) r.a[3] = ether_data + ed_RHA + 14; // Pointer behind header in RHA r.a[4] = ether_data + ed_ReadPacket; // Pointer to ReadPacket/ReadRest routines D(bug(" calling protocol handler %08x, type %08x, length %08x, data %08x, rha %08x, read_packet %08x\n", handler, r.d[0], r.d[1], r.a[0], r.a[3], r.a[4])); diff -u -w -r basiliskII-jit-1.0_pre20060501-r1-/work/BasiliskII-1.0/src/ether.cpp basiliskII-jit-1.0_pre20060501-r1/work/BasiliskII-1.0/src/ether.cpp --- BasiliskII-1.0/src/ether.cpp 2012-02-09 15:12:58.000000000 +0100 +++ BasiliskII-1.0/src/ether.cpp 2012-02-09 15:15:40.000000000 +0100 @@ -440,7 +440,7 @@ M68kRegisters r; r.d[0] = type; // Packet type r.d[1] = length - 14; // Remaining packet length (without header, for ReadPacket) - r.a[0] = packet + 14; // Pointer to packet (Mac address, for ReadPacket) + r.a[0] = (unsigned long)packet + 14; // Pointer to packet (Mac address, for ReadPacket) r.a[3] = ether_data + ed_RHA + 14; // Pointer behind header in RHA r.a[4] = ether_data + ed_ReadPacket; // Pointer to ReadPacket/ReadRest routines D(bug(" calling protocol handler %08x, type %08x, length %08x, data %08x, rha %08x, read_packet %08x\n", handler, r.d[0], r.d[1], r.a[0], r.a[3], r.a[4]));