Basilisk II, Version 0.7 A free, portable Mac II emulator Copyright (C) 1997-1999 Christian Bauer et al. Freely distributable License ------- Basilisk II is available under the terms of the GNU General Public License. See the file "COPYING" that is included in this archive for details. Overview -------- Basilisk II is a free, portable, Open Source 68k Mac emulator. It requires a copy of a Mac ROM and a copy of MacOS to run. Basilisk II is freeware and distributed under the GNU General Public License. Basilisk II has currently been ported to the following systems: - BeOS R4 (PowerPC and x86) - Unix (tested under Linux, Solaris 2.5, FreeBSD 3.x and IRIX 6.5) - AmigaOS 3.x - Windows NT 4.0 (mostly works under Windows 95/98, too) Some features of Basilisk II: - Emulates either a Mac Classic (which runs MacOS 0.x thru 7.5) or a Mac II series machine (which runs MacOS 7.x, 8.0 and 8.1), depending on the ROM being used - Color video display - CD quality sound output - Floppy disk driver (only 1.44MB disks supported) - Driver for HFS partitions and hardfiles - CD-ROM driver with basic audio functions - Ethernet driver - Serial drivers - SCSI Manager (old-style) emulation - Emulates extended ADB keyboard and 3-button mouse - Uses UAE 68k emulation or (under AmigaOS) real 68k processor The emulator is not yet complete. See the file "TODO" for a list of unimplemented stuff. Requirements ------------ To use Basilisk II, you need either a 512K Mac Classic ROM image or a 512K or 1MB 32-bit clean Macintosh ROM image. You also need a copy of MacOS (0.x thru 7.5 for Classic emulation, 7.x or 8.0/8.1 for Mac II emulation). For copyright reasons, none of these items are included with Basilisk II. MacOS 7.5.3 and earlier versions can be downloaded from Apple and various other Internet sites. Mac ROM files are not freely available. You have to own a real Mac and read out its ROM. No, I don't know where you can download ROM files. No, I won't send you one. Depending on the platform you use, Basilisk II has additional requirements: BeOS: You need BeOS R4 or better. On a PowerPC system you also need the "sheep" driver that comes with SheepShaver. To use Ethernet, you need the "sheep_net" add-on that also comes with SheepShaver (both items are included in the SheepShaver Trial Versions). The PowerPC version of Basilisk II cannot do Mac Classic emulation. Unix: You need X11R4, pthreads support and GNU make. To use the GUI preferences editor, you also need GTK+ version 1.2 or better. On Linux, you need glibc 2.0 or better. AmigaOS: You need at least a 68020 and AmigaOS 3.0 or better. To get the GUI preferences editor, you need gtlayout.library V39 or later. To get sound output, you need AHI V2 or later. Both items can be found on Aminet. You also need the "PrepareEmul" utility that somes with ShapeShifter (or any equivalent PrepareEmul substitute). The AmigaOS version of Basilisk II cannot do Mac Classic emulation. Windows: You need at least Windows NT 4.0. Windows 95 and 98 can be used too, with a somewhat reduced set of features. Basilisk II supports DirectX version 5 or later, but version 3 may also work, depending on your graphics card. Installation ------------ BeOS: If you have a binary distribution of Basilisk II for BeOS, there are executables for BeOS/PPC and BeOS/x86 included. If you have the source distribution, cd to "src/BeOS", and type "make". Basilisk II cannot run concurrently with SheepShaver. Trying to do so will crash Basilisk II, or SheepShaver, or both. On a PowerPC system you must have installed the "sheep" driver that comes with SheepShaver. To use Ethernet, you must have installed the "sheep_net" add-on that also comes with SheepShaver Unix: To compile Basilisk II, cd to "src/Unix", and type "./configure" followed by "make" and (optionally) "make install". To use Ethernet networking under Linux, you either have to configure your kernel for ethertap support or make and install the "sheep_net" driver: cd to "src/Unix/Linux/NetDriver" and type "make". This should produce a kernel module "sheep_net.o". Now su root and type "./MAKEDEV" which will install the device node "/dev/sheep_net". Then say "/sbin/insmod sheep_net.o" and the driver should be ready for use. You should give appropriate access rights to /dev/sheep_net if you don't want to run Basilisk II as root. This is what Brian J. Johnson says about compiling for IRIX: "I recommend compiling with "-Ofast". This requires changing "-g" to "-Ofast" in the Makefile, and adding "-ipa" to LDFLAGS. This turns on massive interprocedural optimization, and makes for much better performance." AmigaOS: If you have a binary distribution of Basilisk II for AmigaOS, there is an executable included. You must also have the "PrepareEmul" utility installed that comes with ShapeShifter (or any equivalent PrepareEmul substitute, see the ShapeShifter docs). If you have the source distribution, cd to "src/AmigaOS" and type "smake". To recompile Basilisk II, you need SAS/C 6.58. Earlier versions may not work. Windows NT: If you have a binary distribution of Basilisk II for Windows, there is a Windows NT binary included. To access CD-ROMs under Windows NT, the driver "cdenable.sys" must be copied to your "\WinNT\System32\drivers" directory. To access CD-ROMs under Windows 9x, the driver "cdenable.vxd" must be copied to the "\Windows\System" directory. To recompile Basilisk II, you need MS Visual V++ 5.0 or later. Symantec C++ should work, too, with some modifications. See the "sysdeps.h" file in the "Windows" directory. The ROM file has to be named "ROM" and put in the same directory as the Basilisk II executable but you can specify a different location for the ROM file with the "rom" option in the preferences file. Configuration ------------- Basilisk II is configured via the preferences editor that appears on startup. If you have a version without preferences editor (e.g. because of missing GTK+ under Unix), you have to edit the preferences file manually. The settings are stored in a text file: BeOS: /boot/home/config/settings/BasiliskII_prefs Unix: ~/.basilisk_ii_prefs AmigaOS: ENV:BasiliskII_prefs Windows: BasiliskII_prefs (in the same directory as the executable) If no preferences file is present, Basilisk II will create one with the default settings upon startup. Preferences File Format ----------------------- The preferences file is a text file editable with any text editor. Each line in this file has the format "keyword value" and describes one preferences item. For each keyword, the meaning of the "value" string may vary across platforms. The following keywords exist: disk This item describes one MacOS volume to be mounted by Basilisk II. There can be multiple "disk" lines in the preferences file. Basilisk II can handle hardfiles (byte-per-byte images of HFS volumes in a file on the host system) as well as HFS partitions on hard disks etc. (but Basilisk II doesn't know about MacOS partition tables; it relies on the host OS to handle this). The "volume description" is either the pathname of a hardfile or a platform-dependant description of an HFS partition or drive. If the volume description starts with an asterisk ("*"), the volume is write protected for MacOS (and the "*" is discarded). BeOS: To specify an HFS partition, simply specify its path (e.g. "/dev/disk/scsi/0/1/0/0_3"). If you don't specify any volume, Basilisk II will search for and use all available HFS partitions. Unix: To specify an HFS partition, simply specify its path (e.g. "/dev/sda5"). AmigaOS: Partitions/drives are specified in the following format: /dev////// "start block" and "size" are given in blocks, "block size" is given in bytes. Windows: To define a logical volume (Windows NT only), specify its path (e.g. "c:\"). To define a physical volume (NT and 9x), additionally give the "physical" keyword (E.g. "physical c:\"). For safety reasons, volumes are mounted as read-only. This is due to the bugs in PC Exchange. If you don't specify any volume, the files *.hfv and *.dsk are searched from the current directory. Note that in this case, Basilisk II tries to boot from the first volume file found, which is random and may not be what you want. floppy This item describes one floppy drive to be used by Basilisk II. There can be multiple "floppy" lines in the preferences file. If no "floppy" line is given, Basilisk II will try to automatically detect and use installed floppy drives. The format of the "floppy drive description" is the same as that of "disk" lines. cdrom This item describes one CD-ROM drive to be used by Basilisk II. There can be multiple "cdrom" lines in the preferences file. If no "cdrom" line is given, Basilisk II will try to automatically detect and use installed CD-ROM drives. The format of the "CD-ROM drive description" is the same as that of "disk" lines. scsi0 ... scsi6 These items describe the SCSI target to be used for a given Mac SCSI ID by Basilisk II. Basilisk II emulates the old SCSI Manager and allows to assign a different SCSI target (they don't even have to be on the same SCSI bus) for each SCSI ID (0..6) as seen by the MacOS. "scsi0" describes the target for ID 0, "scsi1" the target for ID 1 etc. The format of the "SCSI target" is platform specific. BeOS: The "SCSI target" has the format "/" (e.g. "0/2"). Due to a bug in BeOS, using SCSI with Basilisk II may cause the SCSI bus to hang. Use with caution. Linux: The "SCSI target" has to be the name of a device that complies to the Generic SCSI driver API. On a standard Linux installation, these devices are "/dev/sg0", "/dev/sg1" etc. Note that you must have appropriate access rights to these devices and that Generic SCSI support has to be compiled into the kernel. FreeBSD: The "SCSI target" has the format "/" (e.g. "2/0"). AmigaOS: The "SCSI target" has the format "/" (e.g. "scsi.device/2"). Windows: Ignored. Basilisk II scans for all SCSI devices and the first 6 found devices are made visible to the MacOS. You cannot explicitly enable a device, but you can disable a device (see the "disablescsi" command). screen