mamedev / mame

MAME
https://www.mamedev.org/
Other
8.03k stars 2k forks source link

apple nubus ethernet: inbound AppleTalk broadcast ethernet frames ignored #3871

Closed rakslice closed 6 years ago

rakslice commented 6 years ago

Running maciici on the 0.200b release Windows 64-bit, an EtherTalk AppleShare file server on the LAN does not appear to the maciici.

dp8390 appears to drop all frames to MAC addresses where the 1 bit of the leading byte is set, such as the the AppleTalk broadcast address (09:00:07:ff:ff:ff), except for the Ethernet broadcast (ff:ff:ff:ff:ff:ff).

rakslice commented 6 years ago

Steps to reproduce:

  1. Prepare two separate maciici configurations with separate blank chd hard disk images, which we will call client and server, and install System 7.5.x on them. (see old mess wiki documentation at http://mess.redump.net/howto/install_mac_os_7; there may be a newer mame project version of that documentation but if so I don't know where it is)
  2. Create separate configuration and nvram directories for each maciici.
  3. Ensure each maciici has a unique MAC address. To work around #3864, you'll actually need to modify the MAC address in ROM -- give each maciici its own rompath with a separate copy of the roms, and modify the MAC address value at aenet1 offset 0 with a hex editor. You'll get a warning about the ROM not matching the checksum, but you can just carry on despite the warning.
  4. Launch both maciicis with Apple NuBus Ethernet (-nbd enetnb). For reference my command lines look like: mame64 maciici -window -volume -12 -hard1 disks/server.chd -ramsize 64m -nbd enetnb -nothrottle -nomax -cfg_directory server_cfg -rompath server_roms -nvram_directory server_nvram mame64 maciici -window -volume -12 -hard1 disks/client.chd -ramsize 64m -nbd enetnb -nothrottle -nomax -cfg_directory client_cfg -rompath client_roms -nvram_directory client_nvram
  5. On each running maciici, bind it to a separate bridged TAP device: From the on screen display manu, choose Network Devices, and then use left and right arrows to change the selected value.
  6. On each maciici, ensure that AppleTalk is set to use Ethernet: Go to Apple menu -> Control Panels -> Network if using legacy networking, or Apple menu -> Control Panels -> AppleTalk if using Open Transport, and ensure that Ethernet is selected
  7. On the "server" maciici, enable file sharing: Go to Apple menu -> Control Panels -> Sharing Setup, fill in an owner name, password, and Macintosh name, and hit Start next to file sharing.
  8. Create a shared folder: Open the hard drive, go to File -> New Folder, name it something, then select it and go to File -> Sharing...; check the box "Share this item and its contents"
  9. On the "client" maciici, access the shared folder: Go to Apple menu -> Chooser, click on AppleShare

Expected:

You see the server's name in Chooser's file server list immediately or after a few seconds.

Actual:

Chooser's file server list remains empty.