1 |
|
|
2 |
< |
Basilisk II, Version 0.7 |
2 |
> |
Basilisk II, Version 0.8 |
3 |
|
A free, portable Mac II emulator |
4 |
|
|
5 |
|
Copyright (C) 1997-1999 Christian Bauer et al. |
10 |
|
------- |
11 |
|
|
12 |
|
Basilisk II is available under the terms of the GNU General Public License. |
13 |
< |
See the file "COPYING" that is included in this archive for details. |
13 |
> |
See the file "COPYING" that is included in the distribution for details. |
14 |
|
|
15 |
|
|
16 |
|
Overview |
35 |
|
- Floppy disk driver (only 1.44MB disks supported) |
36 |
|
- Driver for HFS partitions and hardfiles |
37 |
|
- CD-ROM driver with basic audio functions |
38 |
+ |
- Easy file exchange with the host OS via a "Host Directory Tree" icon |
39 |
+ |
on the Mac desktop |
40 |
|
- Ethernet driver |
41 |
|
- Serial drivers |
42 |
|
- SCSI Manager (old-style) emulation |
47 |
|
unimplemented stuff. |
48 |
|
|
49 |
|
|
50 |
< |
Requirements |
51 |
< |
------------ |
50 |
< |
|
51 |
< |
To use Basilisk II, you need either a 512K Mac Classic ROM image or a |
52 |
< |
512K or 1MB 32-bit clean Macintosh ROM image. You also need a copy of MacOS |
53 |
< |
(0.x thru 7.5 for Classic emulation, 7.x or 8.0/8.1 for Mac II emulation). |
54 |
< |
For copyright reasons, none of these items are included with Basilisk II. |
55 |
< |
MacOS 7.5.3 and earlier versions can be downloaded from Apple and various |
56 |
< |
other Internet sites. Mac ROM files are not freely available. You have to |
57 |
< |
own a real Mac and read out its ROM. No, I don't know where you can download |
58 |
< |
ROM files. No, I won't send you one. |
59 |
< |
|
60 |
< |
Depending on the platform you use, Basilisk II has additional requirements: |
61 |
< |
|
62 |
< |
BeOS: |
63 |
< |
You need BeOS R4 or better. On a PowerPC system you also need the |
64 |
< |
"sheep" driver that comes with SheepShaver. To use Ethernet, you need |
65 |
< |
the "sheep_net" add-on that also comes with SheepShaver (both items |
66 |
< |
are included in the SheepShaver Trial Versions). The PowerPC version of |
67 |
< |
Basilisk II cannot do Mac Classic emulation. |
68 |
< |
|
69 |
< |
Unix: |
70 |
< |
You need X11R4, pthreads support and GNU make. To use the GUI preferences |
71 |
< |
editor, you also need GTK+ version 1.2 or better. On Linux, you need |
72 |
< |
glibc 2.0 or better. |
73 |
< |
|
74 |
< |
AmigaOS: |
75 |
< |
You need at least a 68020 and AmigaOS 3.0 or better. To get the GUI |
76 |
< |
preferences editor, you need gtlayout.library V39 or later. To get sound |
77 |
< |
output, you need AHI V2 or later. Both items can be found on Aminet. You |
78 |
< |
also need the "PrepareEmul" utility that somes with ShapeShifter (or any |
79 |
< |
equivalent PrepareEmul substitute). The AmigaOS version of Basilisk II |
80 |
< |
cannot do Mac Classic emulation. |
81 |
< |
|
82 |
< |
Windows: |
83 |
< |
You need at least Windows NT 4.0. Windows 95 and 98 can be used too, with a |
84 |
< |
somewhat reduced set of features. Basilisk II supports DirectX version 5 or |
85 |
< |
later, but version 3 may also work, depending on your graphics card. |
86 |
< |
|
87 |
< |
|
88 |
< |
Installation |
89 |
< |
------------ |
90 |
< |
|
91 |
< |
BeOS: |
92 |
< |
If you have a binary distribution of Basilisk II for BeOS, there are |
93 |
< |
executables for BeOS/PPC and BeOS/x86 included. If you have the source |
94 |
< |
distribution, cd to "src/BeOS", and type "make". Basilisk II cannot run |
95 |
< |
concurrently with SheepShaver. Trying to do so will crash Basilisk II, |
96 |
< |
or SheepShaver, or both. On a PowerPC system you must have installed the |
97 |
< |
"sheep" driver that comes with SheepShaver. To use Ethernet, you must have |
98 |
< |
installed the "sheep_net" add-on that also comes with SheepShaver |
99 |
< |
|
100 |
< |
Unix: |
101 |
< |
To compile Basilisk II, cd to "src/Unix", and type "./configure" followed |
102 |
< |
by "make" and (optionally) "make install". To use Ethernet networking under |
103 |
< |
Linux, you either have to configure your kernel for ethertap support or make |
104 |
< |
and install the "sheep_net" driver: cd to "src/Unix/Linux/NetDriver" and |
105 |
< |
type "make". This should produce a kernel module "sheep_net.o". Now su root |
106 |
< |
and type "./MAKEDEV" which will install the device node "/dev/sheep_net". |
107 |
< |
Then say "/sbin/insmod sheep_net.o" and the driver should be ready for use. |
108 |
< |
You should give appropriate access rights to /dev/sheep_net if you don't |
109 |
< |
want to run Basilisk II as root. |
110 |
< |
|
111 |
< |
This is what Brian J. Johnson says about compiling for IRIX: |
112 |
< |
"I recommend compiling with "-Ofast". This requires changing "-g" |
113 |
< |
to "-Ofast" in the Makefile, and adding "-ipa" to LDFLAGS. This |
114 |
< |
turns on massive interprocedural optimization, and makes for much |
115 |
< |
better performance." |
50 |
> |
Requirements and Installation |
51 |
> |
----------------------------- |
52 |
|
|
53 |
< |
AmigaOS: |
54 |
< |
If you have a binary distribution of Basilisk II for AmigaOS, there is an |
119 |
< |
executable included. You must also have the "PrepareEmul" utility installed |
120 |
< |
that comes with ShapeShifter (or any equivalent PrepareEmul substitute, |
121 |
< |
see the ShapeShifter docs). If you have the source distribution, cd to |
122 |
< |
"src/AmigaOS" and type "smake". To recompile Basilisk II, you need SAS/C |
123 |
< |
6.58. Earlier versions may not work. |
124 |
< |
|
125 |
< |
Windows NT: |
126 |
< |
If you have a binary distribution of Basilisk II for Windows, there is a |
127 |
< |
Windows NT binary included. To access CD-ROMs under Windows NT, the driver |
128 |
< |
"cdenable.sys" must be copied to your "\WinNT\System32\drivers" directory. |
129 |
< |
To access CD-ROMs under Windows 9x, the driver "cdenable.vxd" must be copied |
130 |
< |
to the "\Windows\System" directory. To recompile Basilisk II, you need |
131 |
< |
MS Visual V++ 5.0 or later. Symantec C++ should work, too, with some |
132 |
< |
modifications. See the "sysdeps.h" file in the "Windows" directory. |
133 |
< |
|
134 |
< |
The ROM file has to be named "ROM" and put in the same directory as the |
135 |
< |
Basilisk II executable but you can specify a different location for the ROM |
136 |
< |
file with the "rom" option in the preferences file. |
53 |
> |
Please consult the file "INSTALL" for a list of system requirements and |
54 |
> |
installation instructions. |
55 |
|
|
56 |
|
|
57 |
|
Configuration |
139 |
|
installed CD-ROM drives. The format of the "CD-ROM drive description" |
140 |
|
is the same as that of "disk" lines. |
141 |
|
|
142 |
+ |
extfs <direcory path> |
143 |
+ |
|
144 |
+ |
This item specifies the root directory for the "Host Directory Tree" |
145 |
+ |
file system (the "Unix/BeOS/Amiga/..." icon on the Finder desktop). |
146 |
+ |
All objects contained in that directory are accessible by Mac applications. |
147 |
+ |
This feature is only available when File System Manager V1.2 or later |
148 |
+ |
is installed on the Mac side. FSM 1.2 is built-in beginning with MacOS 7.6 |
149 |
+ |
and can be installed as a system extension (downloadable from Apple, look |
150 |
+ |
for the FSM SDK in the developer section) for earlier MacOS versions. |
151 |
+ |
|
152 |
|
scsi0 <SCSI target> ... scsi6 <SCSI target> |
153 |
|
|
154 |
|
These items describe the SCSI target to be used for a given Mac SCSI |
178 |
|
"scsi.device/2"). |
179 |
|
|
180 |
|
Windows: |
181 |
< |
Ignored. Basilisk II scans for all SCSI devices and the first 6 found |
182 |
< |
devices are made visible to the MacOS. You cannot explicitly enable a |
255 |
< |
device, but you can disable a device (see the "disablescsi" command). |
181 |
> |
The "SCSI target" has the format <"Vendor"> <"Model"> (e.g. |
182 |
> |
scsi0 "HP" "CD-Writer+ 7100"). Note the use of quotes. |
183 |
|
|
184 |
|
screen <video mode> |
185 |
|
|
209 |
|
Color display in an X11 window of the given size. The color depth |
210 |
|
(8/15/24 bit) depends on the depth of the underlying X11 screen. |
211 |
|
This is the default. |
212 |
< |
dga |
213 |
< |
Full-screen display using the X11 DGA extensions. The color depth |
212 |
> |
dga/<width>/<height> |
213 |
> |
[if Basilisk II was configured with --enable-xf86-dga] |
214 |
> |
Full-screen display using the XFree86 DGA extension. The color depth |
215 |
|
(8/15/24 bit) depends on the depth of the underlying X11 screen. |
216 |
< |
For DGA to work, Basilisk II must be compiled with DGA support |
217 |
< |
enabled (selectable in the configure script). |
216 |
> |
"width" and "height" specify the maximum width/height to use. |
217 |
> |
Saying "dga/0/0" means "complete screen". |
218 |
> |
dga/<frame buffer name> |
219 |
> |
[if Basilisk II was configured with --enable-fbdev-dga] |
220 |
> |
Full-screen display using the frame buffer device /dev/fb. The color |
221 |
> |
depth (8/15/24 bit) depends on the depth of the underlying X11 screen. |
222 |
> |
The "frame buffer name" is looked up in the "fbdevices" file (whose |
223 |
> |
path can be specified with the "fbdevicefile" prefs item) to determine |
224 |
> |
certain characteristics of the device (doing a "ls -l /dev/fb" should |
225 |
> |
tell you what your frame buffer name is). |
226 |
|
|
227 |
|
AmigaOS: |
228 |
|
The "video mode" is one of the following: |
332 |
|
Linux: |
333 |
|
The "ethernet card description" is the name of an Ethernet interface. |
334 |
|
There are two approaches to networking with Basilisk II: |
335 |
+ |
|
336 |
|
1. Direct access to an Ethernet card via the "sheep_net" driver. |
337 |
|
In this case, the "ethernet card description" must be the name |
338 |
|
of a real Ethernet card, e.g. "eth0". It also requires the "sheep_net" |
342 |
|
networking. MacOS will only be able to talk to other machines on |
343 |
|
the Ethernet, but not to other networks that your Linux box routes |
344 |
|
(e.g. a second Ethernet or a PPP connection to the Internet). |
345 |
+ |
|
346 |
|
2. Putting Basilisk II on a virtual Ethernet via the "ethertap" device. |
347 |
|
In this case, the "ethernet card description" must be the name |
348 |
|
of an ethertap interface, e.g. "tap0". It also requires that you |
349 |
|
configure your kernel to enable routing and the ethertap device: |
350 |
|
under "Networking options", enable "Kernel/User netlink socket" and |
351 |
|
"Netlink device emulation", under "Network device support", activate |
352 |
< |
"Ethertap network tap". Next, see /usr/src/linux/Documentation/ |
353 |
< |
networking/ethertap.txt for information on how to set up /dev/tap* |
354 |
< |
device nodes and activate the ethertap interface. Under MacOS, |
355 |
< |
select an IP address that is on the virtual network and set the |
356 |
< |
default gateway to the IP address of the ethertap interface. This |
357 |
< |
approach will let you access all networks that your Linux box has |
358 |
< |
access to (especially, if your Linux box has a dial-up Internet |
359 |
< |
connection and is configured for IP masquerading, you can access |
360 |
< |
the Internet from MacOS). The drawback is that you can only use |
361 |
< |
network protocols that Linux can route, so you have to install and |
362 |
< |
configure netatalk if you want to use AppleTalk. |
352 |
> |
"Ethertap network tap". You also have to modify devices/net/ethertap.c |
353 |
> |
a bit before compiling the new kernel: |
354 |
> |
|
355 |
> |
- insert "#define CONFIG_ETHERTAP_MC 1" near the top (after the |
356 |
> |
#include lines) |
357 |
> |
- comment out the line "dev->flags|=IFF_NOARP;" in ethertap_probe() |
358 |
> |
|
359 |
> |
Next, see /usr/src/linux/Documentation/networking/ethertap.txt for |
360 |
> |
information on how to set up /dev/tap* device nodes and activate the |
361 |
> |
ethertap interface. Under MacOS, select an IP address that is on the |
362 |
> |
virtual network and set the default gateway to the IP address of the |
363 |
> |
ethertap interface. This approach will let you access all networks |
364 |
> |
that your Linux box has access to (especially, if your Linux box has |
365 |
> |
a dial-up Internet connection and is configured for IP masquerading, |
366 |
> |
you can access the Internet from MacOS). The drawback is that you |
367 |
> |
can only use network protocols that Linux can route, so you have to |
368 |
> |
install and configure netatalk if you want to use AppleTalk. Here is |
369 |
> |
an example /etc/atalk/atalkd.conf for a LAN: |
370 |
> |
|
371 |
> |
eth0 -seed -phase 2 -net 1 -addr 1.47 -zone "Ethernet" |
372 |
> |
tap0 -seed -phase 2 -net 2 -addr 2.47 -zone "Basilisknet" |
373 |
> |
|
374 |
> |
(the "47" is an arbitrary node number). This will set up a zone |
375 |
> |
"Ethernet" (net 1) for the Ethernet and a zone "Basilisknet" (net 2) |
376 |
> |
for the internal network connection of the ethertap interface. |
377 |
> |
MacOS should automatically recognize the nets and zones upon startup. |
378 |
> |
If you are in an existing AppleTalk network, you should contact |
379 |
> |
your network administrator about the nets and zones you can use |
380 |
> |
(instead of the ones given in the example above). |
381 |
|
|
382 |
|
AmigaOS: |
383 |
|
You have to specify the name of the SANA-II Ethernet device and the device |
453 |
|
Unix: |
454 |
|
|
455 |
|
keycodes <"true" or "false"> |
456 |
< |
keycodefile <Keycode file path> |
456 |
> |
keycodefile <keycodes file path> |
457 |
|
|
458 |
|
By default, the X11 event handler in Basilisk II uses KeySyms to |
459 |
|
translate keyboard event to Mac keycodes. While this method is very |
464 |
|
not on the selected keymap. Unfortunately it depends on the X server |
465 |
|
being used and possibly also on the type of keyboard attached. So |
466 |
|
Basilisk II needs a table to translate X keycodes to Mac keycodes. |
467 |
< |
This table is read by default from /usr/local/lib/basilisk_ii_keycodes |
467 |
> |
This table is read by default from /usr/local/share/BasiliskII/keycodes |
468 |
|
unless you specify a different file with the "keycodefile" item. |
469 |
< |
A sample keycode file ("basilisk_ii_keycodes") is included with |
470 |
< |
Basilisk II. |
469 |
> |
A sample keycode file is included with Basilisk II. |
470 |
> |
|
471 |
> |
fbdevicefile <fbdevices file path> |
472 |
> |
|
473 |
> |
This option specifies the file that contains frame buffer device |
474 |
> |
specifications for the fbdev-DGA video mode (when Basilisk II was |
475 |
> |
configured with --enable-fbdev-dga). The default location of the file |
476 |
> |
is /usr/local/share/BasiliskII/fbdevices. A sample file is included |
477 |
> |
with Basilisk II. |
478 |
|
|
479 |
|
AmigaOS: |
480 |
|
|
515 |
|
|
516 |
|
Note the use of quotes. |
517 |
|
|
518 |
< |
disablescsi <"Vendor"> <"Model"> |
518 |
> |
rightmouse <0/1> |
519 |
|
|
520 |
< |
Disables this vendor/model combination. You may need this simply because |
521 |
< |
you have more than 6 SCSI devices, or the particular device has problems |
522 |
< |
under BasiliskII. E.g. |
520 |
> |
Defines what the right mouse button is used for. The default values of 0 |
521 |
> |
means that it is used to move windowed mode BasiliskII screen. |
522 |
> |
Value 1 sends a combination Control and mouse click to the MacOS. |
523 |
> |
This may be useful under OS versions 8 and above. |
524 |
|
|
525 |
< |
disablescsi "HP" "CD-Writer+ 7100" |
526 |
< |
|
527 |
< |
Again, note the use of quotes. |
525 |
> |
keyboardfile <path> |
526 |
> |
|
527 |
> |
Defines the path of the customized keyboard code file. |
528 |
> |
|
529 |
> |
pollmedia <"true" or "false"> |
530 |
> |
|
531 |
> |
If true (default), tries to automatically detect new media. |
532 |
> |
Applies to all "floppy", "cd" or "disk" removable media except |
533 |
> |
1.44 MB floppies. May cause modest slow down. If unchecked, |
534 |
> |
use Ctrl-Shift-F11 to manually mount new media. |
535 |
> |
If you have auto-insert notification (AIN) enabled, you may turn this |
536 |
> |
option off. Note that some CD related software require AIN, |
537 |
> |
and some other need it to be turned off. Consult the documentation |
538 |
> |
of your CD software to learn which one is optimal for you. |
539 |
> |
|
540 |
> |
framesleepticks <milliseconds> |
541 |
> |
|
542 |
> |
The amount of time between video frames. |
543 |
> |
|
544 |
> |
showfps <true/false> |
545 |
> |
|
546 |
> |
If true, the real frame rate is displayed. |
547 |
> |
|
548 |
> |
stickymenu <true/false> |
549 |
> |
|
550 |
> |
If true, the main menu bar is kept open even after the mouse button is released, |
551 |
> |
under all OS versions (OS 8 has this feature already). There are extensions to do |
552 |
> |
the same thing, but it's faster to handle this in native code. |
553 |
> |
Default is "true". |
554 |
|
|
555 |
|
ntdx5hack <"true" or "false"> |
556 |
|
|
653 |
|
- Bill Huey <billh@mag.ucsd.edu>: 15/16 bit DGA and 15/16/32 bit X11 |
654 |
|
window support |
655 |
|
- David Lawrence <davidl@jlab.org>: incremental window refresh code |
656 |
+ |
- Gwenole Beauchesne <gb@dial.oleane.com>: SPARC assembly optimizations and |
657 |
+ |
fbdev video code |
658 |
+ |
- and others... |
659 |
|
|
660 |
|
Special thanks to: |
661 |
|
- Bernd Schmidt for letting me use his UAE 68k emulation |