home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1999 June
/
PCWorld_1999-06_cd.bin
/
software
/
temacd
/
basilisk
/
README
< prev
next >
Wrap
Text File
|
1999-04-15
|
15KB
|
418 lines
Basilisk II, Version 0.4
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 an attempt at creating a free, portable 68k Mac emulator.
It requires a copy of a 512K or 1MB Mac ROM and a copy of MacOS 7.x or
8.x 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)
- AmigaOS 3.x
Some features of Basilisk II:
- Runs MacOS 7.x and 8.x (7.0 not recommended)
- Color video
- 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 far from being complete. See the file "TODO" for a list
of unimplemented stuff.
Installation
------------
BeOS:
The archive contains a precompiled BeOS binary (unless it's a "src"
archive). 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). Basilisk II cannot run concurrently
with SheepShaver. Trying to do so will crash Basilisk II, or SheepShaver,
or both.
Unix:
You need X11R6. To compile, cd to "src/Unix", and type "./configure"
followed by "make".
AmigaOS:
The archive contains a precompiled AmigaOS binary (unless it's a "src"
archive). You need at least a 68020 and AmigaOS 3.0. You must also have
the "PrepareEmul" utility installed that comes with ShapeShifter (or any
equivalent PrepareEmul substitute, see the ShapeShifter docs).
Basilisk II needs a 512K or 1MB 32-bit clean Macintosh ROM image. For
copyright reasons this is not included in the archive. No, I don't know
where you can download it. No, I won't send you one. 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 a text file.
BeOS:
/boot/home/config/settings/BasiliskII_prefs
Unix:
~/.basilisk_ii_prefs
AmigaOS:
ENV:BasiliskII_prefs
If no preferences file is present, Basilisk II will create one with the
default settings upon startup.
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 <volume description>
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. 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")
Unix:
To specify an HFS partition, simply specify its path (e.g.
"/dev/sda5")
AmigaOS:
Partitions/drives are specified in the following format:
/dev/<device name>/<unit>/<open flags>/<start byte>/<size>/<block size>
"start byte", "size" and "block size" are given in bytes.
floppy <floppy drive description>
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 <CD-ROM drive description>
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 <SCSI target> ... scsi6 <SCSI target>
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 "<bus>/<unit>" (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.
Unix:
<not yet implemented>
AmigaOS:
The "SCSI target" has the format "<device name>/<unit>" (e.g.
"scsi.device/2").
screen <video mode>
This item describes the type of video display to be used by Basilisk II.
The format of the "video mode" is platform specific.
BeOS:
The "video mode" is one of the following:
win/<width>/<height>
8-bit color display in a window of the given size. This is the
default.
scr
Full-screen display in an 8-bit 640x480 BWindowScreen.
Unix:
The "video mode" is one of the following:
win/<width>/<height>
Color display in an X11 window of the given size. The color depth
(8/15/24 bit) depends on the depth of the underlying X11 screen.
This is the default.
dga
Full-screen display using the X11 DGA extensions. The color depth
(8/15/24 bit) depends on the depth of the underlying X11 screen.
For DGA to work, Basilisk II must be compiled with DGA support
enabled (set ENABLE_DGA to 1 in Unix/video_x.cpp).
AmigaOS:
The "video mode" is one of the following:
win/<width>/<height>
Black-and-white display in a window of the given size on the
Workbench screen. This is the default and will also be used when
one of the other options (PIP/screen) fails to open.
pip/<width>/<height>
15-bit truecolor display in a Picasso96 PIP. This requires
Picasso96 as well as a PIP-capable graphics card (e.g. Picasso IV).
scr/<hexadecimal mode ID>
8/15/24-bit fullscreen display on a Picasso96 screen with the given
mode ID. This requires Picasso96. For 15 and 24 bit, the frame buffer
format must be QuickDraw-compatible (big-endian, xRGB 1:5:5:5 or
xRGB 8:8:8:8). The screen size will be the default size for that
mode ID.
seriala <serial port description>
This item describes the serial port to be used as Port A (Modem Port)
by Basilisk II. If no "seriala" line is given, Basilisk II will try to
automatically detect and use installed serial ports. The "serial port
description" is a platform-dependant description of a serial port.
BeOS:
Either specify the name of a serial port (e.g. "serial1") or one of
"parallel1", "parallel2" or "parallel3". See below for more information
about parallel ports.
Unix:
Specify the device name of a serial port (e.g. "/dev/ttyS0") or a
parallel "lp" port (e.g. "/dev/lp1"; this only works under Linux).
See below for more information about parallel ports.
AmigaOS:
You have to specify the name of the serial device and the device unit
as "<device name>/<unit>" (e.g. "serial.device/0"). If the given device
is not compatible to serial.device, Basilisk II will crash. If the
device name starts with an asterisk (e.g. "*parallel.device/0"), the
device is treated as a parallel.device compatible device. See below for
more information about parallel ports.
Parallel ports: If you select a parallel port it will look like a serial
port to MacOS but Basilisk II will only allow data output and ignore baud
rate settings etc. You should be able to get some printers to work with
this method (provided that you have the right printer driver, like
"PowerPrint").
serialb <serial port description>
This item describes the serial port to be used as Port B (Printer Port)
by Basilisk II. If no "serialb" line is given, Basilisk II will try to
automatically detect and use installed serial ports. The format of the
"serial port description" is the same as that of the "seriala" option.
ether <ethernet card description>
This item describes the Ethernet card to be used for Ethernet networking
by Basilisk II. If no "ether" line is given, Ethernet networking is disabled
(although the Ethernet driver of Basilisk II will behave like a "dummy"
Ethernet card in this case). The "ethernet card description" is a platform-
dependant description of an ethernet card.
BeOS:
It doesn't matter what you give as "ethernet card description", Basilisk II
will always use the first Ethernet card it finds as long an an "ether"
line exists (e.g. say "ether yes"). As Basilisk II requires the sheep_net
net server add-on from SheepShaver, you can only use Ethernet on PowerPC
machines.
Unix:
<not implemented>
AmigaOS:
You have to specify the name of the SANA-II Ethernet device and the device
unit as "<device name>/<unit>" (e.g. "ariadne.device/0"). If the given
device is not a SANA-II device, Basilisk II will crash. If the device is
not an Ethernet device, Basilisk II will display a warning message and
disable Ethernet networking.
rom <ROM file path>
This item specifies the file name of the Mac ROM file to be used by
Basilisk II. If no "rom" line is given, the ROM file has to be named
"ROM" and put in the same directory as the Basilisk II executable.
bootdrive <drive number>
Specify MacOS drive number of boot volume. "0" (the default) means
"boot from first bootable volume".
bootdriver <driver number>
Specify MacOS driver number of boot volume. "0" (the default) means
"boot from first bootable volume". Use "-62" to boot from CD-ROM.
ramsize <bytes>
Allocate "bytes" bytes of RAM for MacOS system and application memory.
The value given should be a multiple of 4096. The default is 8MB.
frameskip <frames to skip>
For refreshed graphics modes (usually window modes), this specifies
how many frames to skip after drawing one frame. Higher values make
the video display more responsive but require more processing power.
The default is "8".
modelid <MacOS model ID>
Specifies the Model ID that Basilisk II should report to MacOS.
The default is "5" which corresponds to a Mac IIci. If you want to
run MacOS 8, you have to set this to "14" (Quadra 900). Other values
are not officially supported and may result in crashes.
nocdrom <"true" or "false">
Set this to "true" to disable Basilisk's built-in CD-ROM driver.
The only reason to do this is if you want to use a third-party CD-ROM
driver that uses the SCSI Manager. The default is "false".
nogui <"true" or "false">
Set this to "true" to disable the GUI preferences editor and GUI
error alerts. All errors will then be reported to stdout. The default
is "false".
For additional information, consult prefs.cpp, prefs.h, sys_*.cpp,
serial_*.cpp, scsi_*.cpp and video_*.cpp.
Usage
-----
Quitting:
The right way to quit Basilisk II is to select the "Shut Down" menu item
from the Finder's "Special" menu. You should not kill it from the shell
unless it hangs. Under Unix, pressing "q" while holding the F12 key will
also quit Basilisk II (in case you are using it in DGA mode and it crashed).
Floppy:
Basilisk II can only handle 1.44MB MFM floppies. Depending on your platform,
flopyy disk changes might not be detected automatically.
Hardfiles:
In addition to plain images of HFS volumes, Basilisk II can also handle
some types of Mac "disk image" files, as long as they are uncompressed
and unencoded.
Ethernet:
Basilisk II supports all Ethernet protocols. Running a protocol under
Basilisk II that already runs within the host operating system on the same
network card (e.g. running MacTCP under Basilisk II on a BeOS machine) may
or may not work (generally, it should work, but some specific things like
"ping" may not).
LocalTalk:
LocalTalk is not supported by Basilisk II. There is no way of getting
LocalTalk to work with the serial drivers of Basilisk II. Any attempt to
activate LocalTalk will either result in a crash or revert to Ethernet.
Serial:
You can use the serial ports in Basilisk II to connect to the Internet
with a modem and "MacPPP".
MacOS versions supported
------------------------
Basilisk II has been tested (i.e. it booted) with MacOS System 7.1, 7.5
and 8.0. Your Mileage May Vary. Booting from floppy may take several minutes,
so be patient.
Technical Documentation
-----------------------
Please see the included file "TECH" for a technical overview of the emulator.
Acknowledgements
----------------
Contributions by:
- Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>: UAE 68k emulation
- Mac Hellwig <hellwig@iphcip1.physik.uni-mainz.de>: Some BeOS video code
- Bill Huey <billh@mag.ucsd.edu>: 15/16 bit DGA and 15/16/32 bit X11
window support
Special thanks to:
- Bernd Schmidt for letting me use his UAE 68k emulation
- Daniel Bobbert who printed dozens of pages from the THINK Reference for
me years ago
- All ShapeShifter users and beta testers
- Apple Computer Inc., who made writing a Macintosh emulator a child's play
Bug reports
-----------
You found a bug? Well, use the source, fix it and send the fix to
<cbauer@iphcip1.physik.uni-mainz.de>
for inclusion in the next release of Basilisk II.
Author
------
You can contact me at <cbauer@iphcip1.physik.uni-mainz.de>. Don't send
bug reports, send fixes. Ports to other platforms are also very welcome.
Please contact me before you intend to make major changes to the source.
You might be working on something that I have already done or I may have
different ideas about the Right Way to do it.
There are two things I will NOT do:
1. Send you Mac ROM files
2. Explain to you how to use a Macintosh, install printer drivers etc.
Support
-------
The official Basilisk II home page can be found at
http://www.uni-mainz.de/~bauec002/B2Main.html
There is no user-level support for Basilisk II at the moment.
History
-------
Please consult the file "CHANGES" for the release history.
Christian Bauer
<cbauer@iphcip1.physik.uni-mainz.de>