(The old one was buggy.) Frontend / backend splitup and most code taken from sys/dev/ic/dp8390.c and sys/dev/isa/if_we.c.