2 |
|
Basilisk II |
3 |
|
A 68k Macintosh emulator |
4 |
|
|
5 |
< |
Copyright (C) 1997-2002 Christian Bauer et al. |
5 |
> |
Copyright (C) 1997-2004 Christian Bauer et al. |
6 |
|
|
7 |
|
|
8 |
|
License |
26 |
|
IRIX 6.5) |
27 |
|
- AmigaOS 3.x |
28 |
|
- Windows NT 4.0 (mostly works under Windows 95/98, too) |
29 |
< |
- Mac OS X 10.1 |
29 |
> |
- Mac OS X 10.1, 10.2 |
30 |
|
|
31 |
|
Some features of Basilisk II: |
32 |
|
- Emulates either a Mac Classic (which runs MacOS 0.x thru 7.5) |
285 |
|
application via Alt-Tab, Basilisk II is put in "snooze" mode (i.e. MacOS |
286 |
|
is frozen). |
287 |
|
|
288 |
– |
|
288 |
|
Mac OS X: |
289 |
|
The "video mode" is one of the following: |
290 |
|
win/<width>/<height> |
291 |
|
win/<width>/<height>/<bits per pixel> |
292 |
< |
A refreshed (and buffered) [and very slow] Quartz window. |
294 |
< |
The default <bits> is 32, which is the only depth currently supported. |
292 |
> |
A refreshed (and buffered) Quartz window. |
293 |
|
full/<width>/<height> |
294 |
|
full/<width>/<height>/<bits per pixel> |
295 |
|
A CGDirectDisplay full screen mode. <bits> can currently be 8, 16 or 32. |
296 |
|
If not specified, the default is 32. There is currently no way to switch |
297 |
|
between the Mac OS X and Basilisk II display, but Apple-Option-Escape |
298 |
|
instantly and safely terminates the Basilisk II program. |
301 |
– |
opengl/<width>/<height> |
302 |
– |
opengl/<width>/<height>/<bits per pixel> |
303 |
– |
Currently unimplemented, will be a fast windowed mode. |
304 |
– |
|
299 |
|
|
300 |
|
seriala <serial port description> |
301 |
|
|
362 |
|
|
363 |
|
Linux: |
364 |
|
The "ethernet card description" is the name of an Ethernet interface. |
365 |
< |
There are two approaches to networking with Basilisk II: |
365 |
> |
There are four approaches to networking with Basilisk II: |
366 |
|
|
367 |
|
1. Direct access to an Ethernet card via the "sheep_net" kernel module. |
368 |
|
The "ethernet card description" must be the name of a real Ethernet |
432 |
|
your network administrator about the nets and zones you can use |
433 |
|
(instead of the ones given in the example above). |
434 |
|
|
435 |
+ |
3. Access the network through a "tuntap" interface. |
436 |
+ |
The "ethernet card description" must be set to "tun". |
437 |
+ |
|
438 |
+ |
TUN/TAP provides packet reception and transmission for user |
439 |
+ |
space programs. It can be viewed as a simple Point-to-Point |
440 |
+ |
or Ethernet device, which instead of receiving packets from a |
441 |
+ |
physical media, receives them from user space program and |
442 |
+ |
instead of sending packets via physical media writes them to |
443 |
+ |
the user space program. |
444 |
+ |
|
445 |
+ |
A virtual network configuration script is required and the |
446 |
+ |
default is /usr/local/BasiliskII/tunconfig unless you specify |
447 |
+ |
a different file with the "etherconfig" item. |
448 |
+ |
|
449 |
+ |
This script requires you that "sudo" is properly configured |
450 |
+ |
so that "/sbin/ifconfig" and "/sbin/iptables" can be executed |
451 |
+ |
as root. Otherwise, you can still write a helper script which |
452 |
+ |
invokes your favorite program to enhance a user priviledges. |
453 |
+ |
e.g. in a KDE environment, kdesu can be used as follows: |
454 |
+ |
|
455 |
+ |
#!/bin/sh |
456 |
+ |
exec /usr/bin/kdesu -c /path/to/tunconfig $1 $2 |
457 |
+ |
|
458 |
+ |
4. Access the network through the user mode network stack. |
459 |
+ |
(the code and this documentation come from QEMU) |
460 |
+ |
|
461 |
+ |
By setting the "ethernet card description" to "slirp", |
462 |
+ |
Basilisk II uses a completely user mode network stack (you |
463 |
+ |
don't need root priviledges to use the virtual network). The |
464 |
+ |
virtual network configuration is the following: |
465 |
+ |
|
466 |
+ |
Basilisk II <------> Firewall/DHCP server <-----> Internet |
467 |
+ |
(10.0.2.x) | (10.0.2.2) |
468 |
+ |
| |
469 |
+ |
----> DNS server (10.0.2.3) |
470 |
+ |
| |
471 |
+ |
----> SMB server (10.0.2.4) |
472 |
+ |
|
473 |
+ |
Basilisk II behaves as if it was behind a firewall which |
474 |
+ |
blocks all incoming connections. You can use a DHCP client to |
475 |
+ |
automatically configure the network in Basilisk II. |
476 |
+ |
|
477 |
+ |
In order to check that the user mode network is working, you |
478 |
+ |
can ping the address 10.0.2.2 and verify that you got an |
479 |
+ |
address in the range 10.0.2.x from the Basilisk II virtual |
480 |
+ |
DHCP server. |
481 |
+ |
|
482 |
+ |
Note that ping is not supported reliably to the internet as |
483 |
+ |
it would require root priviledges. It means you can only ping |
484 |
+ |
the local router (10.0.2.2). |
485 |
+ |
|
486 |
+ |
When using the built-in TFTP server, the router is also the |
487 |
+ |
TFTP server. |
488 |
+ |
|
489 |
|
FreeBSD: |
490 |
|
The "ethertap" method described above also works under FreeBSD, but since |
491 |
|
no-one has found the time to write a section for this manual, you're on |
578 |
|
error alerts. All errors will then be reported to stdout. The default |
579 |
|
is "false". |
580 |
|
|
581 |
+ |
keyboardtype <keyboard-id> |
582 |
+ |
|
583 |
+ |
Specifies the keyboard type that BasiliskII should report to the MacOS. |
584 |
+ |
The default is "5" which is a "Apple Extended Keyboard II (ISO)", |
585 |
+ |
but many other numbers are understood by most versions of the MacOS |
586 |
+ |
(e.g. 11 is a "Macintosh Plus Keyboard with keypad", |
587 |
+ |
13 is a "Apple PowerBook Keyboard (ISO)" ) |
588 |
+ |
|
589 |
|
For additional information, consult the source. |
590 |
|
|
591 |
|
|
630 |
|
the number of key events sent to MacOS for each wheel movement (the |
631 |
|
number of lines to scroll). |
632 |
|
|
633 |
+ |
ignoresegv <"true" or "false"> |
634 |
+ |
|
635 |
+ |
Set this to "true" to ignore illegal memory accesses. The default |
636 |
+ |
is "false". This feature is only implemented on the following |
637 |
+ |
platforms: Linux/x86, Linux/ppc, Darwin/ppc. |
638 |
+ |
|
639 |
+ |
dsp <device name> |
640 |
+ |
mixer <device name> |
641 |
+ |
|
642 |
+ |
Under Linux and FreeBSD, this specifies the devices to be used for sound |
643 |
+ |
output and volume control, respectively. The defaults are "/dev/dsp" and |
644 |
+ |
"/dev/mixer". |
645 |
+ |
|
646 |
|
AmigaOS: |
647 |
|
|
648 |
|
sound <sound output description> |
740 |
|
false. |
741 |
|
|
742 |
|
|
743 |
+ |
JIT-specific configuration |
744 |
+ |
-------------------------- |
745 |
+ |
|
746 |
+ |
A Just-In-Time (JIT) translation engine is available for x86. This is |
747 |
+ |
aimed at translating 68040 instructions to native equivalent code |
748 |
+ |
sequences, thus providing faster emulation speeds. |
749 |
+ |
|
750 |
+ |
jit <"true" or "false"> |
751 |
+ |
|
752 |
+ |
Set this to "true" to enable the JIT compiler. Default value is |
753 |
+ |
"true" if the JIT compiler was compiled in. Besides, this is |
754 |
+ |
effective only if Basilisk II is configured to emulate a 68040. |
755 |
+ |
|
756 |
+ |
jitfpu <"true" or "false"> |
757 |
+ |
|
758 |
+ |
Set this to "true" to enable translation of floating-point (FPU) |
759 |
+ |
instructions. Default is "true". |
760 |
+ |
|
761 |
+ |
jitcachesize <size> |
762 |
+ |
|
763 |
+ |
Allocate "size" kilobytes of RAM for the translation cache. The |
764 |
+ |
value given will be rounded down to the nearest multiple of a page |
765 |
+ |
size. Minimal value is "2048" (2MB). Default value is "8192" (8MB). |
766 |
+ |
|
767 |
+ |
jitlazyflush <"true" or "false"> |
768 |
+ |
|
769 |
+ |
Set this to "true" to enable lazy invalidation of the translation |
770 |
+ |
cache. This is always recommended as it usually makes the system |
771 |
+ |
more responsive and faster, especially while running MacOS |
772 |
+ |
8.X. Default value is "true". |
773 |
+ |
|
774 |
+ |
jitdebug <"true" or "false"> |
775 |
+ |
|
776 |
+ |
Set this to "true" to enable the JIT debugger. This requires a |
777 |
+ |
build of Basilisk II with the cxmon debugger. Default is "false". |
778 |
+ |
|
779 |
+ |
|
780 |
|
Usage |
781 |
|
----- |
782 |
|
|
877 |
|
Contributions by (in alphabetical order): |
878 |
|
- Orlando Bassotto <future@powercube.mediabit.net>: FreeBSD support |
879 |
|
- Gwenolé Beauchesne <gb@dial.oleane.com>: SPARC assembly optimizations, |
880 |
< |
lots of work on the Unix video code |
880 |
> |
lots of work on the Unix video code, fixes and improvements to the |
881 |
> |
JIT compiler |
882 |
|
- Marc Chabanas <Marc.Chabanas@france.sun.com>: Solaris sound support |
883 |
|
- Marc Hellwig <Marc.Hellwig@uni-mainz.de>: audio output, BeOS video code |
884 |
|
and networking |
888 |
|
- Jürgen Lachmann <juergen_lachmann@t-online.de>: AmigaOS CyberGraphX support |
889 |
|
- Samuel Lander <blair_sp@hotmail.com>: tile-based window refresh code |
890 |
|
- David Lawrence <davidl@jlab.org>: incremental window refresh code |
891 |
+ |
- Bernie Meyer <bmeyer@csse.monash.edu.au>: original UAE-JIT code |
892 |
|
- Nigel Pearson <nigel@ind.tansu.com.au>: Mac OS X port |
893 |
|
- Lauri Pesonen <lpesonen@nic.fi>: Windows NT port |
894 |
|
- Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>: UAE 68k emulation |
895 |
+ |
- Michael Z. Sliczniak <msliczniak@comcast.net>: Mach memory fault recovery |
896 |
|
- and others... |
897 |
|
|
898 |
|
Special thanks to: |