ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/README
(Generate patch)

Comparing BasiliskII/README (file contents):
Revision 1.20 by cebix, 2001-05-24T14:31:05Z vs.
Revision 1.32 by gbeauche, 2003-03-14T17:10:47Z

# Line 2 | Line 2
2    Basilisk II
3    A 68k Macintosh emulator
4  
5 <  Copyright (C) 1997-2001 Christian Bauer et al.
5 >  Copyright (C) 1997-2002 Christian Bauer et al.
6  
7  
8   License
# Line 22 | Line 22 | a Macintosh ROM image to use Basilisk II
22  
23   Basilisk II has currently been ported to the following systems:
24    - BeOS R4 (PowerPC and x86)
25 <  - Unix (tested under Linux, Solaris 2.5, FreeBSD 3.x, NetBSD 1.4.2 and
25 >  - Unix (tested under Linux, Solaris 2.x, FreeBSD 3.x, NetBSD 1.4.x and
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
30  
31   Some features of Basilisk II:
32    - Emulates either a Mac Classic (which runs MacOS 0.x thru 7.5)
# Line 68 | Line 69 | The settings are stored in a text file:
69   BeOS:
70    /boot/home/config/settings/BasiliskII_prefs
71  
72 < Unix:
72 > Unix, Mac OS X:
73    ~/.basilisk_ii_prefs
74  
75   AmigaOS:
# Line 94 | Line 95 | disk <volume description>
95    This item describes one MacOS volume to be mounted by Basilisk II.
96    There can be multiple "disk" lines in the preferences file. Basilisk II
97    can handle hardfiles (byte-per-byte images of HFS volumes in a file on
98 <  the host system) as well as HFS partitions on hard disks etc. (but Basilisk
99 <  II doesn't know about MacOS partition tables; it relies on the host OS to
100 <  handle this). The "volume description" is either the pathname of a hardfile
101 <  or a platform-dependant description of an HFS partition or drive. If the
102 <  volume description starts with an asterisk ("*"), the volume is write
103 <  protected for MacOS (and the "*" is discarded).
98 >  the host system), HFS partitions on hard disks etc., and MacOS-partitioned
99 >  disks (it can only access the first partition, though). The "volume
100 >  description" is either the pathname of a hardfile or a platform-dependant
101 >  description of an HFS partition or drive. If the volume description is
102 >  prefixed by an asterisk ("*"), the volume is write protected for MacOS.
103 >
104 >  Basilisk II can also handle some types of Mac "disk image" files directly,
105 >  as long as they are uncompressed and unencoded.
106  
107    BeOS:
108      To specify an HFS partition, simply specify its path (e.g.
109 <    "/dev/disk/scsi/0/1/0/0_3"). If you don't specify any volume, Basilisk II
109 >    "/dev/disk/scsi/0/1/0/0_3"). If you don't specify any volumes, Basilisk II
110      will search for and use all available HFS partitions.
111  
112    Unix:
113 <    To specify an HFS partition, simply specify its path (e.g.
114 <    "/dev/sda5").
113 >    To specify an HFS partition, simply specify its path (e.g. "/dev/sda5").
114 >    If you want to access a MacOS-partitioned hard disk or removable volume
115 >    (Jaz, Zip etc.) and your operating system doesn't understand MacOS
116 >    partition tables, you can specify the block device name (e.g. "/dev/sda")
117 >    to access the first HFS partition on the device. Under Linux, if you
118 >    don't specify any volumes, Basilisk II will search /etc/fstab for
119 >    unmounted HFS partitions and use these.
120  
121    AmigaOS:
122      Partitions/drives are specified in the following format:
# Line 146 | Line 154 | extfs <direcory path>
154    This item specifies the root directory for the "Host Directory Tree"
155    file system (the "Unix/BeOS/Amiga/..." icon on the Finder desktop).
156    All objects contained in that directory are accessible by Mac applications.
157 +
158    This feature is only available when File System Manager V1.2 or later
159    is installed on the Mac side. FSM 1.2 is built-in beginning with MacOS 7.6
160    and can be installed as a system extension (downloadable from Apple, look
# Line 185 | Line 194 | scsi0 <SCSI target> ... scsi6 <SCSI targ
194  
195   screen <video mode>
196  
197 <  This item describes the type of video display to be used by Basilisk II.
198 <  If you are using a Mac Classic ROM, the display is always 1-bit 512x342
199 <  and this item is ignored. The format of the "video mode" is platform
200 <  specific.
197 >  This item describes the type of video display to be used by default for
198 >  Basilisk II. If you are using a Mac Classic ROM, the display is always
199 >  1-bit 512x342 and this item is ignored. The format of the "video mode" is
200 >  platform specific.
201  
202    BeOS:
203      The "video mode" is one of the following:
# Line 208 | Line 217 | screen <video mode>
217    Unix:
218      The "video mode" is one of the following:
219        win/<width>/<height>
220 <        Color display in an X11 window of the given size. The color depth
221 <        (8/15/24 bit) depends on the depth of the underlying X11 screen.
222 <        This is the default.
220 >        Color display in an X11 window of the given size. There are several
221 >        resolutions and color depths available. The set of color depths
222 >        depends on the capabilities of the X11 server, the operating system,
223 >        and Basilisk II compile-time options, but 1 bit and the default depth
224 >        of the X11 screen should always be available.
225        dga/<width>/<height>
226          [if Basilisk II was configured with --enable-xf86-dga]
227          Full-screen display using the XFree86 DGA extension. The color depth
# Line 274 | Line 285 | screen <video mode>
285      application via Alt-Tab, Basilisk II is put in "snooze" mode (i.e. MacOS
286      is frozen).
287  
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.
293 +        The default <bits> is 32, which is the only depth currently supported.
294 +      full/<width>/<height>
295 +      full/<width>/<height>/<bits per pixel>
296 +        A CGDirectDisplay full screen mode. <bits> can currently be 8, 16 or 32.
297 +        If not specified, the default is 32. There is currently no way to switch
298 +        between the Mac OS X and Basilisk II display, but Apple-Option-Escape
299 +        instantly and safely terminates the Basilisk II program.
300 +      opengl/<width>/<height>
301 +      opengl/<width>/<height>/<bits per pixel>
302 +        Currently unimplemented, will be a fast windowed mode.
303 +
304   seriala <serial port description>
305  
306    This item describes the serial port to be used as Port A (Modem Port)
# Line 324 | Line 351 | ether <ethernet card description>
351    is not available and this setting is ignored. The "ethernet card description"
352    is a platform-dependant description of an ethernet card.
353  
354 +  General note: To use TCP/IP from MacOS, you should assign a different IP
355 +  address to the MacOS (entered into the MacOS TCP/IP (or MacTCP) control
356 +  panel). Otherwise there will be confusion about which operating system will
357 +  handle incoming packets.
358 +
359    BeOS:
360      It doesn't matter what you give as "ethernet card description", Basilisk II
361      will always use the first Ethernet card it finds as long an an "ether"
# Line 336 | Line 368 | ether <ethernet card description>
368      The "ethernet card description" is the name of an Ethernet interface.
369      There are two approaches to networking with Basilisk II:
370  
371 <      1. Direct access to an Ethernet card via the "sheep_net" driver.
372 <         In this case, the "ethernet card description" must be the name
373 <         of a real Ethernet card, e.g. "eth0". It also requires the "sheep_net"
374 <         driver to be installed and accessible. This approach will allow you
375 <         to run all networking protocols under MacOS (TCP/IP, AppleTalk, IPX
376 <         etc.) but there is no connection between Linux networking and MacOS
377 <         networking. MacOS will only be able to talk to other machines on
378 <         the Ethernet, but not to other networks that your Linux box routes
379 <         (e.g. a second Ethernet or a PPP connection to the Internet).
371 >      1. Direct access to an Ethernet card via the "sheep_net" kernel module.
372 >         The "ethernet card description" must be the name of a real Ethernet
373 >         card, e.g. "eth0".
374 >
375 >         The sheep_net module is included in the Basilisk II source
376 >         distribution in the directory "src/Unix/Linux/NetDriver". You have
377 >         to compile and install the module yourself:
378 >
379 >           $ su
380 >           [enter root password]
381 >           # make
382 >           # make dev
383 >           [this will create a /dev/sheep_net device node; you should give
384 >            appropriate access rights to the user(s) running Basilisk II]
385 >           # insmod sheep_net.o
386 >
387 >         If you copy the sheep_net.o module to a place where it can be found
388 >         by the kernel module loader ("/lib/modules/<version>/kernel/drivers/net"
389 >         for 2.4 kernels) and add the line
390 >
391 >           alias char-major-10-198 sheep_net
392 >
393 >         to "/etc/modules.conf", the kernel should be able to load the module
394 >         automatically when Basilisk II is started.
395 >
396 >         The sheep_net module will allow you to run all networking protocols
397 >         under MacOS (TCP/IP, AppleTalk, IPX etc.) but there is no connection
398 >         between Linux networking and MacOS networking. MacOS will only be
399 >         able to talk to other machines on the Ethernet, but not to other
400 >         networks that your Linux box routes (e.g. a second Ethernet or a PPP
401 >         connection to the Internet).
402  
403        2. Putting Basilisk II on a virtual Ethernet via the "ethertap" device.
404           In this case, the "ethernet card description" must be the name
405           of an ethertap interface, e.g. "tap0". It also requires that you
406 <         configure your kernel to enable routing and the ethertap device:
406 >         configure your kernel to enable routing and ethertap support:
407           under "Networking options", enable "Kernel/User netlink socket" and
408           "Netlink device emulation", under "Network device support", activate
409           "Ethertap network tap". You also have to modify drivers/net/ethertap.c
# Line 394 | Line 448 | ether <ethernet card description>
448      not an Ethernet device, Basilisk II will display a warning message and
449      disable Ethernet networking.
450  
451 +  See the next item for an alternative way to do networking with Basilisk II.
452 +
453 + udptunnel <"true" or "false">
454 +
455 +  Setting this to "true" enables a special network mode in which all network
456 +  packets sent by MacOS are tunnelled over UDP using the host operating
457 +  system's native TCP/IP stack. This can only be used to connect computers
458 +  running Basilisk II (and not, for example, for connecting to the Internet
459 +  or an AppleShare server running on a real Mac), but it is probably the
460 +  easiest way to set up a network between two instances of Basilisk II
461 +  because the UDP tunnelling doesn't require any special kernel modules or
462 +  network add-ons. It relies on IP broadcasting, however, so its range is
463 +  limited. It should be fine though for doing a little file sharing or
464 +  playing Spectre.
465 +
466 + udpport <IP port number>
467 +
468 +  This item specifies the IP port number to use for the "UDP Tunnel" mode.
469 +  The default is 6066.
470 +
471   rom <ROM file path>
472  
473    This item specifies the file name of the Mac ROM file to be used by
# Line 428 | Line 502 | frameskip <frames to skip>
502  
503   modelid <MacOS model ID>
504  
505 <  Specifies the Model ID that Basilisk II should report to MacOS.
506 <  The default is "5" which corresponds to a Mac IIci. If you want to
507 <  run MacOS 8, you have to set this to "14" (Quadra 900). Other values
508 <  are not officially supported and may result in crashes. MacOS versions
509 <  earlier than 7.5 may only run with the Model ID set to "5". If you are
510 <  using a Mac Classic ROM, the model is always "Mac Classic" and this
511 <  setting is ignored.
505 >  Specifies the Macintosh model ID that Basilisk II should report to MacOS.
506 >  The default is "5" which corresponds to a Mac IIci. If you want to run
507 >  MacOS 8, you have to set this to "14" (Quadra 900). Other values are not
508 >  officially supported and may result in crashes. MacOS versions earlier
509 >  than 7.5 may only run with the Model ID set to "5". If you are using a Mac
510 >  Classic ROM, the model is always "Mac Classic" and this setting is
511 >  ignored.
512  
513   nosound <"true" or "false">
514  
# Line 498 | Line 572 | Unix:
572      the number of key events sent to MacOS for each wheel movement (the
573      number of lines to scroll).
574  
575 +  ignoresegv <"true" or "false">
576 +
577 +    Set this to "true" to ignore illegal memory accesses. The default
578 +    is "false". This feature is only implemented on the following
579 +    platforms: Linux/x86, Linux/ppc, Darwin/ppc.
580 +
581 +  dsp <device name>
582 +  mixer <device name>
583 +
584 +    Under Linux and FreeBSD, this specifies the devices to be used for sound
585 +    output and volume control, respectively. The defaults are "/dev/dsp" and
586 +    "/dev/mixer".
587 +
588   AmigaOS:
589  
590    sound <sound output description>
# Line 531 | Line 618 | Windows:
618      means is that the control is not returned to the application until the
619      command is completely finished. Normally this is not an issue, but when a
620      CDR/CDRW is closed or erased the burner program typically wants to wait in
621 <    some progress dialog The result may be that the application reports a
621 >    some progress dialog the result may be that the application reports a
622      time-out error, but the operation completes all right anyway.
623  
624    nofloppyboot <"true" or "false">
# Line 545 | Line 632 | Windows:
632      This is very useful since many devices have almost identical ATAPI and SCSI
633      versions of their hardware, and MacOS applications usually support the SCSI
634      version only. The example below is typical:
635 <  
635 >
636        replacescsi "HP" "CD-Writer+ 7100" "PHILIPS" "CDD3600"
637 <  
637 >
638      Note the use of quotes.
639  
640    rightmouse <0/1>
# Line 572 | Line 659 | Windows:
659      and some other need it to be turned off. Consult the documentation
660      of your CD software to learn which one is optimal for you.
661  
662 <  framesleepticks <milliseconds>    
662 >  framesleepticks <milliseconds>
663  
664      The amount of time between video frames.
665  
# Line 582 | Line 669 | Windows:
669  
670    stickymenu <true/false>
671  
672 <    If true, the main menu bar is kept open even after the mouse button is released,
673 <    under all OS versions (OS 8 has this feature already). There are extensions to do
674 <    the same thing, but it's faster to handle this in native code.
675 <    Default is "true".
672 >    If true, the main menu bar is kept open even after the mouse button is
673 >    released, under all OS versions (OS 8 has this feature already). There
674 >    are extensions to do the same thing, but it's faster to handle this in
675 >    native code. Default is "true".
676  
677    ntdx5hack <"true" or "false">
678  
679 <    You may need this on NT if your display adapter driver has a bug in DirectX
680 <    palette support. Black and white are reversed. It fixes the palette issue
681 <    by using GDI palette instead of D3D palette. Default is false.
679 >    You may need this on NT if your display adapter driver has a bug in
680 >    DirectX palette support. Black and white are reversed. It fixes the
681 >    palette issue by using GDI palette instead of D3D palette. Default is
682 >    false.
683 >
684 >
685 > JIT-specific configuration
686 > --------------------------
687 >
688 > A Just-In-Time (JIT) translation engine is available for x86. This is
689 > aimed at translating 68040 instructions to native equivalent code
690 > sequences, thus providing faster emulation speeds.
691 >
692 >  jit <"true" or "false">
693 >
694 >    Set this to "true" to enable the JIT compiler. Default value is
695 >    "true" if the JIT compiler was compiled in. Besides, this is
696 >    effective only if Basilisk II is configured to emulate a 68040.
697 >
698 >  jitfpu <"true" or "false">
699 >
700 >    Set this to "true" to enable translation of floating-point (FPU)
701 >    instructions. Default is "true".
702 >
703 >  jitcachesize <size>
704 >
705 >    Allocate "size" kilobytes of RAM for the translation cache. The
706 >    value given will be rounded down to the nearest multiple of a page
707 >    size. Minimal value is "2048" (2MB). Default value is "8192" (8MB).
708 >
709 >  jitlazyflush <"true" or "false">
710 >
711 >    Set this to "true" to enable lazy invalidation of the translation
712 >    cache. This is always recommended as it usually makes the system
713 >    more responsive and faster, especially while running MacOS
714 >    8.X. Default value is "true".
715 >
716 >  jitdebug <"true" or "false">
717 >
718 >    Set this to "true" to enable the JIT debugger. This requires a
719 >    build of Basilisk II with the cxmon debugger. Default is "false".
720  
721  
722   Usage
# Line 616 | Line 741 | Keyboard:
741    On PC-style keyboards, "Alt" is the Mac "Command" key, while the "Windows"
742    key is the Mac "Option" key.
743  
744 + Mouse:
745 +  Under Unix, pressing Ctrl-F5 while the Basilisk II window is active will
746 +  grab the mouse. This is needed for compatibility with some MacOS programs,
747 +  especially games such as flight simulators. Press Ctrl-F5 again to return
748 +  to normal mouse operation.
749 +
750   Floppy:
751    Basilisk II can only handle 1.44MB MFM floppies. Depending on your platform,
752 <  flopyy disk changes might not be detected automatically. Under Linux, press
752 >  floppy disk changes might not be detected automatically. Under Unix, press
753    Ctrl-F1 to mount a floppy. Under BeOS, select the appropriate "Mount" menu
754    item or press Ctrl-F1 to mount a floppy. Under Windows, press Ctrl-Shift-F11.
755  
756   HFS partitions:
757    Having HFS partitions mounted for read-write access under Basilisk II while
758    they are also mounted on the host OS will most likely result in volume
759 <  corruption and data losses. Unmount your HFS volumes before starting
759 >  corruption and data loss. Unmount your HFS volumes before starting
760    Basilisk II.
761  
762   ZIP drives:
# Line 644 | Line 775 | Mac Classic emulation:
775    ROM. Also, the video display is fixed to 512x342 in monochrome. The AmigaOS
776    and BeOS/PPC versions of Basilisk II cannot do Mac Classic emulation.
777  
778 + Video resolution switching:
779 +  Run-time switching of video resolutions requires the Display Manager. This
780 +  is included in MacOS versions 7.6 and above, and available as a system
781 +  extension for earlier MacOS versions as a free download from ftp.apple.com
782 +  (look for "Display Software 2.x"). Click on "Options..." in the "Monitors"
783 +  control panel to select the resolution.
784 +
785   Sound output:
786    Sound output under Basilisk II requires Sound Manager 3.0 or later. This
787 <  is included starting with MacOS 7.5 and available as a system extension
788 <  for earlier MacOS versions. Sample rate, bit resolution and mono/stereo
789 <  can be selected in the Sound control panel (section "Sound Out").
787 >  is included in MacOS versions 7.5 and above, and available as a system
788 >  extension for earlier MacOS versions as a free download from ftp.apple.com.
789 >  Sample rate, bit resolution and mono/stereo can be selected in the Sound
790 >  control panel (section "Sound Out").
791  
792   Ethernet:
793    Basilisk II supports all Ethernet protocols. Running a protocol under
794    Basilisk II that already runs within the host operating system on the same
795    network card (e.g. running MacTCP under Basilisk II on a BeOS machine) may
796    or may not work (generally, it should work, but some specific things like
797 <  "ping" may not). If you have problems with FTP, try setting your FTP client
797 >  "ping" may not). If you have problems with FTP, try setting the FTP client
798    to passive mode.
799  
800   LocalTalk:
# Line 665 | Line 804 | LocalTalk:
804  
805   Serial:
806    You can use the serial ports in Basilisk II to connect to the Internet
807 <  with a modem and "MacPPP".
807 >  with a modem and the "MacPPP" or "Open Transport/PPP" software.
808  
809  
810   Technical Documentation
# Line 679 | Line 818 | Acknowledgements
818  
819   Contributions by (in alphabetical order):
820   - Orlando Bassotto <future@powercube.mediabit.net>: FreeBSD support
821 < - Gwenole Beauchesne <gb@dial.oleane.com>: SPARC assembly optimizations and
822 <   fbdev video code
821 > - Gwenolé Beauchesne <gb@dial.oleane.com>: SPARC assembly optimizations,
822 >   lots of work on the Unix video code, fixes and improvements to the
823 >   JIT compiler
824   - Marc Chabanas <Marc.Chabanas@france.sun.com>: Solaris sound support
825   - Marc Hellwig <Marc.Hellwig@uni-mainz.de>: audio output, BeOS video code
826     and networking
# Line 690 | Line 830 | Contributions by (in alphabetical order)
830   - Jürgen Lachmann <juergen_lachmann@t-online.de>: AmigaOS CyberGraphX support
831   - Samuel Lander <blair_sp@hotmail.com>: tile-based window refresh code
832   - David Lawrence <davidl@jlab.org>: incremental window refresh code
833 + - Bernier Meyer <bmeyer@csse.monash.edu.au>: original UAE-JIT code
834 + - Nigel Pearson <nigel@ind.tansu.com.au>: Mac OS X port
835   - Lauri Pesonen <lpesonen@nic.fi>: Windows NT port
836   - Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>: UAE 68k emulation
837   - and others...
# Line 709 | Line 851 | You found a bug? Well, use the source, f
851    <Christian.Bauer@uni-mainz.de>
852   for inclusion in the next release of Basilisk II.
853  
854 + If you don't have a fix, you should post a bug report using the Source Forge
855 + bug tracker, supplying as much information as possible (operating system and
856 + versions of Basilisk II and MacOS being used, relevant hardware information,
857 + the exact steps to reproduce the bug, etc.):
858 +  http://sourceforge.net/tracker/?group_id=2123&atid=102123
859 +
860 + I also strongly suggest reading this before posting a bug report:
861 +  http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
862 +
863  
864   Author
865   ------
866  
867 < You can contact me at <Christian.Bauer@uni-mainz.de>. Don't send bug
868 < reports, send fixes. Ports to other platforms are also very welcome.
869 < Please contact me before you intend to make major changes to the source.
870 < You might be working on something that I have already done or I may have
871 < different ideas about the Right Way to do it.
872 <
873 < Questions about ROM files will not be answered. There is also no point in
874 < sending me questions etc. that are specific to the Windows port of
875 < Basilisk II. I don't have Windows and can't say anything about that.
876 < Ask Lauri Pesonen instead.
867 > You can contact me at <Christian.Bauer@uni-mainz.de>, but please don't do
868 > so unless absolutely necessary. I'm maintaining Basilisk II in my spare
869 > time and am not able to provide technical support for everyone. If you have
870 > questions, consider posting them to one of the support forums mentioned
871 > below.
872 >
873 > You are encouraged to contact me personally when
874 > - you have bug fixes or small enhancements for the code
875 > - you want to port Basilisk II to another platform
876 > - you want to discuss technical issues
877 > - you intend to make major changes to the source; you might be working on
878 >   something that I have already done, or I may have different ideas about
879 >   the Right Way to do it
880 >
881 > There is no point in sending me questions about
882 > - ROM files and how/where to get them
883 > - versions of Basilisk II that run on operating systems other than Unix,
884 >   BeOS and AmigaOS. If you are using any other operating system, there's
885 >   no point in asking me how to to X or why Y doesn't work because I won't
886 >   know either. Instead, you should look in the "Acknowledgements" section
887 >   of this manual to find the person responsible. For example, if your
888 >   question is specific to the Windows operating system, ask Lauri Pesonen.
889 >   I don't have Windows and can't answer your questions and I'm too lazy to
890 >   forward mail to Lauri myself. In any case, it would probably be better
891 >   to post your questions to a public forum as it will get a much wider
892 >   audience there.
893  
894  
895   Support
# Line 731 | Line 898 | Support
898   The official Basilisk II home page is at
899    http://www.uni-mainz.de/~bauec002/B2Main.html
900  
901 < There is no user-level support for Basilisk II at the moment.
901 > The Basilisk II project page on SourceForge is at
902 >  http://sourceforge.net/projects/basilisk/
903 >
904 > If you have problems, you may want to visit the Basilisk II forums:
905 >  http://sourceforge.net/forum/?group_id=2123
906 >
907 > There is also a mailing list for Basilisk II users:
908 >  http://lists.sourceforge.net/lists/listinfo/basilisk-user
909 >
910 > And another mailing list for Basilisk II developers:
911 >  http://lists.sourceforge.net/lists/listinfo/basilisk-devel
912 >
913 > Some general advice about asking technical support questions can be found at
914 >  http://www.tuxedo.org/~esr/faqs/smart-questions.html
915 >
916 > Keeping this in mind will greatly increase your chances of getting a useful
917 > answer.
918  
919  
920   History

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines