ZZ9000Net.device Ethernet emulation
Amiberry’s ZZ9000 board exposes the Ethernet register and frame windows used
by the installed SANA-II ZZ9000Net.device. Select a ZZ9000 board in the
Expansions panel, then choose its Ethernet backend. The default is SLIRP user
mode NAT. The backend is separate from bsdsocket.library emulation and from
other emulated network cards. The settings are saved in .uae files:
zz9000_net=slirp
zz9000_int2=false
For a test of the installed SANA-II stack, set bsdsocket_emu=false in the
Amiberry configuration. Otherwise a guest application can use Amiberry’s
host bsdsocket.library emulation without sending frames through the ZZ9000.
zz9000_net=none disconnects the card. TAP and pcap adapters appear in the
selector when those backends are built and available. An unavailable backend
leaves the card visible to the guest but causes transmit to return an error;
Amiberry logs the failed host connection. SLIRP does not provide a bridge to
other devices on the host’s physical LAN.
SLIRP supports one emulated network card at a time. If another card already uses it, the ZZ9000 host backend stays disconnected. Choose TAP or pcap for one card, or disable the other card, to use ZZ9000Net through SLIRP.
The interface uses board offsets 0x2000 for the current RX frame and
0x8000 for TX staging. Writing a frame length to register 0x80 transmits
the staged frame and reading it returns the send status. The RX window starts
with a big-endian size and serial header. Writing that serial to 0x82
accepts the frame; the previous driver’s constant 1 acknowledgement also
works. An empty window reads as zero. Frames are bounded to 1518 bytes and
the receive backlog holds up to 128 frames. The MAC address uses registers
0x84 through 0x88; status and drop counters use 0x8c and 0x8e.
The Ethernet interrupt is bit 0 of register 0x04. It shares Paula’s EXTER
line (INT6) with ZZ9000AX by default. The guest’s ENV:ZZ9K_INT2 or
ZZ9000.CFG INT2 setting requires zz9000_int2=true in Amiberry, selecting
the PORTS line (INT2) for both functions. Change the setting before booting.
The A4000 test boot used writable copies of both real-machine hardfiles,
zz9000_net=slirp, and bsdsocket_emu=false. The installed guest network
stack carried traffic while ZZ9000AX audio played. The originals were not
mounted by that test. The focused frame protocol test and Windows debug build
passed. Longer bidirectional transfers, reset during traffic, TAP/pcap, Zorro
II, and INT2 remain to be qualified.