Emaculation.com

Appletalk for SheepShaver/Basilisk in Leopard, Snow Leopard or (Mountain)Lion (32 and 64 bit)

(the following guide is based on this original document and this forum discussion)

Specific BasiliskII builds with Appletalk support
  • Please note that we have an alternative to the method described below for getting Appletalk running in BasiliskII. This does, however, require you to run a specific version of BasiliskII. You can find this version and a short manual in our forum.

Preparations

  • There is one exception to the rule about using absolute paths, but only for SheepShaver. When you use Sheepvm's you can leave the preferences file as it is.

Network configuration this guide used (adapt to your situation)

  • A router connected to the internet with local IP-address 172.19.3.1 and DNS 217.149.196.6
  • An OSX machine with a static IP-address 172.19.3.14, router set to 172.19.3.1 and DNS set to 217.149.196.6
  • MacOS is going to use the IP-address 172.19.3.13

Steps

1. Through the SheepShaver GUI or other preferences editor set the networking option from “slirp” to “tap0”

(note: you need to manually type “tap0” as it is not a choice in the networking selection box in the GUI)

2. Open two terminal windows. (the steps below can all be automated by creating a script that does the dirty work for you. (see at bottom of this page!))

3. In the first terminal window execute:

sudo ~/SheepShaver/SheepShaver.app/Contents/MacOS/SheepShaver & sleep 5

(effectively starting sheepshaver with root privileges)

Or, if you are using the SheepShaver launcher:

In the second terminal windows enter:

sudo ifconfig tap0 172.19.3.10 netmask 255.255.255.

4. Start IPNetrouter. Go to the Interfaces tab and deselect “filters” and “external”. Under the heading “Bridge”, select your active network device (e.g. Ethernet Adapter (en0) and the tap0 device. Turn the software on by clicking the checkbox before “IPNetRouter On” Save the working configuration by selecting the option “save” on the file menu. At the next start IPNetRouterX will then already be configured.

5. In MacOS, go to the Appletalk control panel and select “Ethernet” (if not yet selected)

6. In MacOS go to the TCP/IP control panel and set the following:

  • Connect via Ethernet
  • Configure Manually
  • IP address to some free address in your subnet
  • Subnet to 255.255.255.0
  • Router to the IP-address of the actual router device you connect to the internet with
  • DNS: the real DNS entries your router uses

7. Start some internet browser and see if it connects to the internet. If so, you can also see machines talking AppleTalk on your network.

Start Filesharing through the Filesharing control panel in Mac OS to make your emulated Mac discoverable in the Chooser of other machines running AppleTalk on your local network.

Results

Automating the Leopard/Snow Leopard procedure with a script

Based on: http://68kmla.org/forums/viewtopic.php?f=15&t=11685

You can use the script below (4 lines) to automate the procedure:

#!/bin/bash

sudo *Replace with location of your SheepShaver folder*/SheepShaver.app/Contents/MacOS/SheepShaver & sleep 10
sudo ifconfig tap0 *replace with free ip-adress on your network* netmask 255.255.255.

*Replace with the location of your IPNetrouterX folder*/IPNetrouterX.app/Contents/MacOS/IPNetRouterX

Copy the 4 lines above into a text editor like TextEdit, adjust the paths to the applications and save the file with a .command extension. MAKE SURE THE FILE IS SAVED IN PLAIN TEXT FORMAT (In TextEdit, if required use Format/Make Plain Text before you save). Then use “chmod +x “filename”.command” to make the script executable. If everything is right, you doubleclick the file, enter your root password and SheepShaver starts, the tap device gets configured and IPNetRouterX is started.

Please Note: If this leads to the execution of the 64 bit SheepShaver version where you want the 32 bit version (the 64 bit version is automatically selected on 64 bit systems, regardless of the setting under “get info” for the packaged application), add “-arch i386” (without quotes) to the command that starts SheepShaver in the second line of the script:
sudo arch -arch i386 /path-to-SheepShaver.app/Contents/MacOS/SheepShaver & sleep 10

For users using sheepvm, the second line in the script can read:
sudo /*path to SheepShaver folder*/SheepShaver.app/Contents/MacOS/SheepShaver /*path to folder with sheepvm*/MySheepVM.sheepvm & sleep 10

Mountain Lion

Make sure the paths to hard disk images, roms and other files referred to in your .sheepshaver_prefs file are absolute, not relative, to the application (unless you are using SheepShaver' sheepvm functionality, see below at the script examples). When e.g., your hard disk image file is in your SheepShaver folder in your home folder, address it like /Users/“Yourusername”/SheepShaver/“harddiskname”
You can edit the required file by opening a terminal and typing “open .sheepshaver_prefs”, change the file and save it.

Example .sheepshaver_prefs with the required alterations:
disk /Users/hsp/SheepShaver/MacOS85_500
extfs /Users/hsp/SheepShaver/Shared
rom /Users/hsp/SheepShaver/MacOSROM

Create a script like below:

#!/bin/bash
sudo *Replace with location of your SheepShaver folder*/SheepShaver.app/Contents/MacOS/SheepShaver & sleep 10
sudo ifconfig bridge0 create
sudo ifconfig bridge0 addm *ethernetinterfacename*
sudo ifconfig bridge0 up
sudo ifconfig bridge0 addm tap0

Howto:

-Copy the 6 lines above into a text editor like TextEdit, adjust the required settings for the location of SheepShaver, an unused IP address, and check under what name your wired ethernet interface name is known (most probably en0).
-Make sure the file will be saved as a PLAIN TEXT file: In TextEdit, if required use Format/Make Plain Text before you save.
-Save the file in your SheepShaver folder with a .command extension. (Something like SheepShaverAppletalk.command)
-Open a terminal window and use “chmod +x “filename”.command” to make the script executable.

Script example:

#!/bin/bash
sudo /Users/hsp/SheepShaver/SheepShaver.app/Contents/MacOS/SheepShaver & sleep 10
sudo ifconfig bridge0 create
sudo ifconfig bridge0 addm en0
sudo ifconfig bridge0 up
sudo ifconfig bridge0 addm tap0

If everything is right, you can now doubleclick the file, have 10 seconds to enter your root password and then SheepShaver starts, the tap device gets configured and the ethernet bridge is created.

When done appletalking, you can delete the network bridge.
-In a command window, enter: sudo ifconfig bridge0 destroy

Please Note: If this leads to the execution of the 64 bit SheepShaver version where you want the 32 bit version (the 64 bit version is automatically selected on 64 bit systems, regardless of the setting under “get info” for the packaged application), add ”-arch i386” (without quotes) to the command that starts SheepShaver in the second line of the script:
sudo -arch i386 /path-to-SheepShaver.app/Contents/MacOS/SheepShaver & sleep 10

For users using sheepvm, the second line in the script can read: sudo /*path to SheepShaver folder*/SheepShaver.app/Contents/MacOS/SheepShaver /*path to folder with sheepvm*/MySheepVM.sheepvm & sleep 10

Some things to Remember

If SheepShaver/Basilisk crashes, you need to redo all steps, as the tap0 device gets deactivated every time SheepShaver exits. The script above should come in handy.

In some configurations, when SheepShaver/Basilisk are using the AppleTalk connection, your normal networking in OSX stops to function. It will become active again after stopping SheepShaver and the IpNetRouterX software.

Troubleshooting

If things don’t seem to work, you can try to run the following commands from a terminal window to see what might be wrong:

Ifconfig

Sudo tcpdump –i en0 

(or en1, depending on your active network device in OSX)

appletalk_for_sheepshaver.txt · Last modified: 2023/01/07 00:20