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.34 by nigel, 2003-03-21T09:14:34Z

# 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-2003 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, 10.2
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) 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.
299 +
300   seriala <serial port description>
301  
302    This item describes the serial port to be used as Port A (Modem Port)
# Line 324 | Line 347 | ether <ethernet card description>
347    is not available and this setting is ignored. The "ethernet card description"
348    is a platform-dependant description of an ethernet card.
349  
350 +  General note: To use TCP/IP from MacOS, you should assign a different IP
351 +  address to the MacOS (entered into the MacOS TCP/IP (or MacTCP) control
352 +  panel). Otherwise there will be confusion about which operating system will
353 +  handle incoming packets.
354 +
355    BeOS:
356      It doesn't matter what you give as "ethernet card description", Basilisk II
357      will always use the first Ethernet card it finds as long an an "ether"
# Line 336 | Line 364 | ether <ethernet card description>
364      The "ethernet card description" is the name of an Ethernet interface.
365      There are two approaches to networking with Basilisk II:
366  
367 <      1. Direct access to an Ethernet card via the "sheep_net" driver.
368 <         In this case, the "ethernet card description" must be the name
369 <         of a real Ethernet card, e.g. "eth0". It also requires the "sheep_net"
370 <         driver to be installed and accessible. This approach will allow you
371 <         to run all networking protocols under MacOS (TCP/IP, AppleTalk, IPX
372 <         etc.) but there is no connection between Linux networking and MacOS
373 <         networking. MacOS will only be able to talk to other machines on
374 <         the Ethernet, but not to other networks that your Linux box routes
375 <         (e.g. a second Ethernet or a PPP connection to the Internet).
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
369 >         card, e.g. "eth0".
370 >
371 >         The sheep_net module is included in the Basilisk II source
372 >         distribution in the directory "src/Unix/Linux/NetDriver". You have
373 >         to compile and install the module yourself:
374 >
375 >           $ su
376 >           [enter root password]
377 >           # make
378 >           # make dev
379 >           [this will create a /dev/sheep_net device node; you should give
380 >            appropriate access rights to the user(s) running Basilisk II]
381 >           # insmod sheep_net.o
382 >
383 >         If you copy the sheep_net.o module to a place where it can be found
384 >         by the kernel module loader ("/lib/modules/<version>/kernel/drivers/net"
385 >         for 2.4 kernels) and add the line
386 >
387 >           alias char-major-10-198 sheep_net
388 >
389 >         to "/etc/modules.conf", the kernel should be able to load the module
390 >         automatically when Basilisk II is started.
391 >
392 >         The sheep_net module will allow you to run all networking protocols
393 >         under MacOS (TCP/IP, AppleTalk, IPX etc.) but there is no connection
394 >         between Linux networking and MacOS networking. MacOS will only be
395 >         able to talk to other machines on the Ethernet, but not to other
396 >         networks that your Linux box routes (e.g. a second Ethernet or a PPP
397 >         connection to the Internet).
398  
399        2. Putting Basilisk II on a virtual Ethernet via the "ethertap" device.
400           In this case, the "ethernet card description" must be the name
401           of an ethertap interface, e.g. "tap0". It also requires that you
402 <         configure your kernel to enable routing and the ethertap device:
402 >         configure your kernel to enable routing and ethertap support:
403           under "Networking options", enable "Kernel/User netlink socket" and
404           "Netlink device emulation", under "Network device support", activate
405           "Ethertap network tap". You also have to modify drivers/net/ethertap.c
# Line 394 | Line 444 | ether <ethernet card description>
444      not an Ethernet device, Basilisk II will display a warning message and
445      disable Ethernet networking.
446  
447 +  See the next item for an alternative way to do networking with Basilisk II.
448 +
449 + udptunnel <"true" or "false">
450 +
451 +  Setting this to "true" enables a special network mode in which all network
452 +  packets sent by MacOS are tunnelled over UDP using the host operating
453 +  system's native TCP/IP stack. This can only be used to connect computers
454 +  running Basilisk II (and not, for example, for connecting to the Internet
455 +  or an AppleShare server running on a real Mac), but it is probably the
456 +  easiest way to set up a network between two instances of Basilisk II
457 +  because the UDP tunnelling doesn't require any special kernel modules or
458 +  network add-ons. It relies on IP broadcasting, however, so its range is
459 +  limited. It should be fine though for doing a little file sharing or
460 +  playing Spectre.
461 +
462 + udpport <IP port number>
463 +
464 +  This item specifies the IP port number to use for the "UDP Tunnel" mode.
465 +  The default is 6066.
466 +
467   rom <ROM file path>
468  
469    This item specifies the file name of the Mac ROM file to be used by
# Line 428 | Line 498 | frameskip <frames to skip>
498  
499   modelid <MacOS model ID>
500  
501 <  Specifies the Model ID that Basilisk II should report to MacOS.
502 <  The default is "5" which corresponds to a Mac IIci. If you want to
503 <  run MacOS 8, you have to set this to "14" (Quadra 900). Other values
504 <  are not officially supported and may result in crashes. MacOS versions
505 <  earlier than 7.5 may only run with the Model ID set to "5". If you are
506 <  using a Mac Classic ROM, the model is always "Mac Classic" and this
507 <  setting is ignored.
501 >  Specifies the Macintosh model ID that Basilisk II should report to MacOS.
502 >  The default is "5" which corresponds to a Mac IIci. If you want to run
503 >  MacOS 8, you have to set this to "14" (Quadra 900). Other values are not
504 >  officially supported and may result in crashes. MacOS versions earlier
505 >  than 7.5 may only run with the Model ID set to "5". If you are using a Mac
506 >  Classic ROM, the model is always "Mac Classic" and this setting is
507 >  ignored.
508  
509   nosound <"true" or "false">
510  
# Line 498 | Line 568 | Unix:
568      the number of key events sent to MacOS for each wheel movement (the
569      number of lines to scroll).
570  
571 +  ignoresegv <"true" or "false">
572 +
573 +    Set this to "true" to ignore illegal memory accesses. The default
574 +    is "false". This feature is only implemented on the following
575 +    platforms: Linux/x86, Linux/ppc, Darwin/ppc.
576 +
577 +  dsp <device name>
578 +  mixer <device name>
579 +
580 +    Under Linux and FreeBSD, this specifies the devices to be used for sound
581 +    output and volume control, respectively. The defaults are "/dev/dsp" and
582 +    "/dev/mixer".
583 +
584   AmigaOS:
585  
586    sound <sound output description>
# Line 531 | Line 614 | Windows:
614      means is that the control is not returned to the application until the
615      command is completely finished. Normally this is not an issue, but when a
616      CDR/CDRW is closed or erased the burner program typically wants to wait in
617 <    some progress dialog The result may be that the application reports a
617 >    some progress dialog the result may be that the application reports a
618      time-out error, but the operation completes all right anyway.
619  
620    nofloppyboot <"true" or "false">
# Line 545 | Line 628 | Windows:
628      This is very useful since many devices have almost identical ATAPI and SCSI
629      versions of their hardware, and MacOS applications usually support the SCSI
630      version only. The example below is typical:
631 <  
631 >
632        replacescsi "HP" "CD-Writer+ 7100" "PHILIPS" "CDD3600"
633 <  
633 >
634      Note the use of quotes.
635  
636    rightmouse <0/1>
# Line 572 | Line 655 | Windows:
655      and some other need it to be turned off. Consult the documentation
656      of your CD software to learn which one is optimal for you.
657  
658 <  framesleepticks <milliseconds>    
658 >  framesleepticks <milliseconds>
659  
660      The amount of time between video frames.
661  
# Line 582 | Line 665 | Windows:
665  
666    stickymenu <true/false>
667  
668 <    If true, the main menu bar is kept open even after the mouse button is released,
669 <    under all OS versions (OS 8 has this feature already). There are extensions to do
670 <    the same thing, but it's faster to handle this in native code.
671 <    Default is "true".
668 >    If true, the main menu bar is kept open even after the mouse button is
669 >    released, under all OS versions (OS 8 has this feature already). There
670 >    are extensions to do the same thing, but it's faster to handle this in
671 >    native code. Default is "true".
672  
673    ntdx5hack <"true" or "false">
674  
675 <    You may need this on NT if your display adapter driver has a bug in DirectX
676 <    palette support. Black and white are reversed. It fixes the palette issue
677 <    by using GDI palette instead of D3D palette. Default is false.
675 >    You may need this on NT if your display adapter driver has a bug in
676 >    DirectX palette support. Black and white are reversed. It fixes the
677 >    palette issue by using GDI palette instead of D3D palette. Default is
678 >    false.
679 >
680 >
681 > JIT-specific configuration
682 > --------------------------
683 >
684 > A Just-In-Time (JIT) translation engine is available for x86. This is
685 > aimed at translating 68040 instructions to native equivalent code
686 > sequences, thus providing faster emulation speeds.
687 >
688 >  jit <"true" or "false">
689 >
690 >    Set this to "true" to enable the JIT compiler. Default value is
691 >    "true" if the JIT compiler was compiled in. Besides, this is
692 >    effective only if Basilisk II is configured to emulate a 68040.
693 >
694 >  jitfpu <"true" or "false">
695 >
696 >    Set this to "true" to enable translation of floating-point (FPU)
697 >    instructions. Default is "true".
698 >
699 >  jitcachesize <size>
700 >
701 >    Allocate "size" kilobytes of RAM for the translation cache. The
702 >    value given will be rounded down to the nearest multiple of a page
703 >    size. Minimal value is "2048" (2MB). Default value is "8192" (8MB).
704 >
705 >  jitlazyflush <"true" or "false">
706 >
707 >    Set this to "true" to enable lazy invalidation of the translation
708 >    cache. This is always recommended as it usually makes the system
709 >    more responsive and faster, especially while running MacOS
710 >    8.X. Default value is "true".
711 >
712 >  jitdebug <"true" or "false">
713 >
714 >    Set this to "true" to enable the JIT debugger. This requires a
715 >    build of Basilisk II with the cxmon debugger. Default is "false".
716  
717  
718   Usage
# Line 616 | Line 737 | Keyboard:
737    On PC-style keyboards, "Alt" is the Mac "Command" key, while the "Windows"
738    key is the Mac "Option" key.
739  
740 + Mouse:
741 +  Under Unix, pressing Ctrl-F5 while the Basilisk II window is active will
742 +  grab the mouse. This is needed for compatibility with some MacOS programs,
743 +  especially games such as flight simulators. Press Ctrl-F5 again to return
744 +  to normal mouse operation.
745 +
746   Floppy:
747    Basilisk II can only handle 1.44MB MFM floppies. Depending on your platform,
748 <  flopyy disk changes might not be detected automatically. Under Linux, press
748 >  floppy disk changes might not be detected automatically. Under Unix, press
749    Ctrl-F1 to mount a floppy. Under BeOS, select the appropriate "Mount" menu
750    item or press Ctrl-F1 to mount a floppy. Under Windows, press Ctrl-Shift-F11.
751  
752   HFS partitions:
753    Having HFS partitions mounted for read-write access under Basilisk II while
754    they are also mounted on the host OS will most likely result in volume
755 <  corruption and data losses. Unmount your HFS volumes before starting
755 >  corruption and data loss. Unmount your HFS volumes before starting
756    Basilisk II.
757  
758   ZIP drives:
# Line 644 | Line 771 | Mac Classic emulation:
771    ROM. Also, the video display is fixed to 512x342 in monochrome. The AmigaOS
772    and BeOS/PPC versions of Basilisk II cannot do Mac Classic emulation.
773  
774 + Video resolution switching:
775 +  Run-time switching of video resolutions requires the Display Manager. This
776 +  is included in MacOS versions 7.6 and above, and available as a system
777 +  extension for earlier MacOS versions as a free download from ftp.apple.com
778 +  (look for "Display Software 2.x"). Click on "Options..." in the "Monitors"
779 +  control panel to select the resolution.
780 +
781   Sound output:
782    Sound output under Basilisk II requires Sound Manager 3.0 or later. This
783 <  is included starting with MacOS 7.5 and available as a system extension
784 <  for earlier MacOS versions. Sample rate, bit resolution and mono/stereo
785 <  can be selected in the Sound control panel (section "Sound Out").
783 >  is included in MacOS versions 7.5 and above, and available as a system
784 >  extension for earlier MacOS versions as a free download from ftp.apple.com.
785 >  Sample rate, bit resolution and mono/stereo can be selected in the Sound
786 >  control panel (section "Sound Out").
787  
788   Ethernet:
789    Basilisk II supports all Ethernet protocols. Running a protocol under
790    Basilisk II that already runs within the host operating system on the same
791    network card (e.g. running MacTCP under Basilisk II on a BeOS machine) may
792    or may not work (generally, it should work, but some specific things like
793 <  "ping" may not). If you have problems with FTP, try setting your FTP client
793 >  "ping" may not). If you have problems with FTP, try setting the FTP client
794    to passive mode.
795  
796   LocalTalk:
# Line 665 | Line 800 | LocalTalk:
800  
801   Serial:
802    You can use the serial ports in Basilisk II to connect to the Internet
803 <  with a modem and "MacPPP".
803 >  with a modem and the "MacPPP" or "Open Transport/PPP" software.
804  
805  
806   Technical Documentation
# Line 679 | Line 814 | Acknowledgements
814  
815   Contributions by (in alphabetical order):
816   - Orlando Bassotto <future@powercube.mediabit.net>: FreeBSD support
817 < - Gwenole Beauchesne <gb@dial.oleane.com>: SPARC assembly optimizations and
818 <   fbdev video code
817 > - Gwenolé Beauchesne <gb@dial.oleane.com>: SPARC assembly optimizations,
818 >   lots of work on the Unix video code, fixes and improvements to the
819 >   JIT compiler
820   - Marc Chabanas <Marc.Chabanas@france.sun.com>: Solaris sound support
821   - Marc Hellwig <Marc.Hellwig@uni-mainz.de>: audio output, BeOS video code
822     and networking
# Line 690 | Line 826 | Contributions by (in alphabetical order)
826   - Jürgen Lachmann <juergen_lachmann@t-online.de>: AmigaOS CyberGraphX support
827   - Samuel Lander <blair_sp@hotmail.com>: tile-based window refresh code
828   - David Lawrence <davidl@jlab.org>: incremental window refresh code
829 + - Bernie Meyer <bmeyer@csse.monash.edu.au>: original UAE-JIT code
830 + - Nigel Pearson <nigel@ind.tansu.com.au>: Mac OS X port
831   - Lauri Pesonen <lpesonen@nic.fi>: Windows NT port
832   - Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>: UAE 68k emulation
833   - and others...
# Line 709 | Line 847 | You found a bug? Well, use the source, f
847    <Christian.Bauer@uni-mainz.de>
848   for inclusion in the next release of Basilisk II.
849  
850 + If you don't have a fix, you should post a bug report using the Source Forge
851 + bug tracker, supplying as much information as possible (operating system and
852 + versions of Basilisk II and MacOS being used, relevant hardware information,
853 + the exact steps to reproduce the bug, etc.):
854 +  http://sourceforge.net/tracker/?group_id=2123&atid=102123
855 +
856 + I also strongly suggest reading this before posting a bug report:
857 +  http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
858 +
859  
860   Author
861   ------
862  
863 < You can contact me at <Christian.Bauer@uni-mainz.de>. Don't send bug
864 < reports, send fixes. Ports to other platforms are also very welcome.
865 < Please contact me before you intend to make major changes to the source.
866 < You might be working on something that I have already done or I may have
867 < different ideas about the Right Way to do it.
868 <
869 < Questions about ROM files will not be answered. There is also no point in
870 < sending me questions etc. that are specific to the Windows port of
871 < Basilisk II. I don't have Windows and can't say anything about that.
872 < Ask Lauri Pesonen instead.
863 > You can contact me at <Christian.Bauer@uni-mainz.de>, but please don't do
864 > so unless absolutely necessary. I'm maintaining Basilisk II in my spare
865 > time and am not able to provide technical support for everyone. If you have
866 > questions, consider posting them to one of the support forums mentioned
867 > below.
868 >
869 > You are encouraged to contact me personally when
870 > - you have bug fixes or small enhancements for the code
871 > - you want to port Basilisk II to another platform
872 > - you want to discuss technical issues
873 > - you intend to make major changes to the source; you might be working on
874 >   something that I have already done, or I may have different ideas about
875 >   the Right Way to do it
876 >
877 > There is no point in sending me questions about
878 > - ROM files and how/where to get them
879 > - versions of Basilisk II that run on operating systems other than Unix,
880 >   BeOS and AmigaOS. If you are using any other operating system, there's
881 >   no point in asking me how to to X or why Y doesn't work because I won't
882 >   know either. Instead, you should look in the "Acknowledgements" section
883 >   of this manual to find the person responsible. For example, if your
884 >   question is specific to the Windows operating system, ask Lauri Pesonen.
885 >   I don't have Windows and can't answer your questions and I'm too lazy to
886 >   forward mail to Lauri myself. In any case, it would probably be better
887 >   to post your questions to a public forum as it will get a much wider
888 >   audience there.
889  
890  
891   Support
# Line 731 | Line 894 | Support
894   The official Basilisk II home page is at
895    http://www.uni-mainz.de/~bauec002/B2Main.html
896  
897 < There is no user-level support for Basilisk II at the moment.
897 > The Basilisk II project page on SourceForge is at
898 >  http://sourceforge.net/projects/basilisk/
899 >
900 > If you have problems, you may want to visit the Basilisk II forums:
901 >  http://sourceforge.net/forum/?group_id=2123
902 >
903 > There is also a mailing list for Basilisk II users:
904 >  http://lists.sourceforge.net/lists/listinfo/basilisk-user
905 >
906 > And another mailing list for Basilisk II developers:
907 >  http://lists.sourceforge.net/lists/listinfo/basilisk-devel
908 >
909 > Some general advice about asking technical support questions can be found at
910 >  http://www.tuxedo.org/~esr/faqs/smart-questions.html
911 >
912 > Keeping this in mind will greatly increase your chances of getting a useful
913 > answer.
914  
915  
916   History

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines