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.2 by cebix, 1999-10-03T16:21:28Z vs.
Revision 1.22 by cebix, 2001-07-12T19:48:24Z

# Line 1 | Line 1
1  
2 <        Basilisk II, Version 0.7
3 <        A free, portable Mac II emulator
2 >  Basilisk II
3 >  A 68k Macintosh emulator
4  
5 <        Copyright (C) 1997-1999 Christian Bauer et al.
6 <        Freely distributable
5 >  Copyright (C) 1997-2001 Christian Bauer et al.
6  
7  
8   License
9   -------
10  
11   Basilisk II is available under the terms of the GNU General Public License.
12 < See the file "COPYING" that is included in this archive for details.
12 > See the file "COPYING" that is included in the distribution for details.
13  
14  
15   Overview
16   --------
17  
18 < Basilisk II is a free, portable, Open Source 68k Mac emulator. It requires
19 < a copy of a Mac ROM and a copy of MacOS to run. Basilisk II is freeware and
20 < distributed under the GNU General Public License.
18 > Basilisk II is an Open Source 68k Macintosh emulator. That is, it enables
19 > you to run 68k MacOS software on you computer, even if you are using a
20 > different operating system. However, you still need a copy of MacOS and
21 > 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 and IRIX 6.5)
25 >  - Unix (tested under Linux, Solaris 2.5, FreeBSD 3.x, NetBSD 1.4.2 and
26 >    IRIX 6.5)
27    - AmigaOS 3.x
28    - Windows NT 4.0 (mostly works under Windows 95/98, too)
29  
# Line 35 | Line 36 | Some features of Basilisk II:
36    - Floppy disk driver (only 1.44MB disks supported)
37    - Driver for HFS partitions and hardfiles
38    - CD-ROM driver with basic audio functions
39 +  - Easy file exchange with the host OS via a "Host Directory Tree" icon
40 +    on the Mac desktop
41    - Ethernet driver
42    - Serial drivers
43    - SCSI Manager (old-style) emulation
44    - Emulates extended ADB keyboard and 3-button mouse
45 <  - Uses UAE 68k emulation or (under AmigaOS) real 68k processor
45 >  - Uses UAE 68k emulation or (under AmigaOS and NetBSD/m68k) real 68k
46 >    processor
47  
48   The emulator is not yet complete. See the file "TODO" for a list of
49   unimplemented stuff.
50  
51  
52 < Requirements
53 < ------------
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."
52 > Requirements and Installation
53 > -----------------------------
54  
55 < AmigaOS:
56 <  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.
55 > Please consult the file "INSTALL" for a list of system requirements and
56 > installation instructions.
57  
58  
59   Configuration
# Line 221 | Line 141 | cdrom <CD-ROM drive description>
141    installed CD-ROM drives. The format of the "CD-ROM drive description"
142    is the same as that of "disk" lines.
143  
144 + extfs <direcory path>
145 +
146 +  This item specifies the root directory for the "Host Directory Tree"
147 +  file system (the "Unix/BeOS/Amiga/..." icon on the Finder desktop).
148 +  All objects contained in that directory are accessible by Mac applications.
149 +  This feature is only available when File System Manager V1.2 or later
150 +  is installed on the Mac side. FSM 1.2 is built-in beginning with MacOS 7.6
151 +  and can be installed as a system extension (downloadable from Apple, look
152 +  for the FSM SDK in the developer section) for earlier MacOS versions.
153 +
154   scsi0 <SCSI target> ... scsi6 <SCSI target>
155  
156    These items describe the SCSI target to be used for a given Mac SCSI
# Line 250 | Line 180 | scsi0 <SCSI target> ... scsi6 <SCSI targ
180      "scsi.device/2").
181  
182    Windows:
183 <    Ignored. Basilisk II scans for all SCSI devices and the first 6 found
184 <    devices are made visible to the MacOS. You cannot explicitly enable a
255 <    device, but you can disable a device (see the "disablescsi" command).
183 >    The "SCSI target" has the format <"Vendor"> <"Model"> (e.g.
184 >    scsi0 "HP" "CD-Writer+ 7100"). Note the use of quotes.
185  
186   screen <video mode>
187  
# Line 282 | Line 211 | screen <video mode>
211          Color display in an X11 window of the given size. The color depth
212          (8/15/24 bit) depends on the depth of the underlying X11 screen.
213          This is the default.
214 <      dga
215 <        Full-screen display using the X11 DGA extensions. The color depth
214 >      dga/<width>/<height>
215 >        [if Basilisk II was configured with --enable-xf86-dga]
216 >        Full-screen display using the XFree86 DGA extension. The color depth
217          (8/15/24 bit) depends on the depth of the underlying X11 screen.
218 <        For DGA to work, Basilisk II must be compiled with DGA support
219 <        enabled (selectable in the configure script).
218 >        "width" and "height" specify the maximum width/height to use.
219 >        Saying "dga/0/0" means "complete screen".
220 >      dga/<frame buffer name>
221 >        [if Basilisk II was configured with --enable-fbdev-dga]
222 >        Full-screen display using the frame buffer device /dev/fb. The color
223 >        depth (8/15/24 bit) depends on the depth of the underlying X11 screen.
224 >        The "frame buffer name" is looked up in the "fbdevices" file (whose
225 >        path can be specified with the "fbdevicefile" prefs item) to determine
226 >        certain characteristics of the device (doing a "ls -l /dev/fb" should
227 >        tell you what your frame buffer name is).
228  
229    AmigaOS:
230      The "video mode" is one of the following:
# Line 298 | Line 236 | screen <video mode>
236          15-bit truecolor display in a Picasso96 PIP. This requires
237          Picasso96 as well as a PIP-capable graphics card (e.g. Picasso IV).
238        scr/<hexadecimal mode ID>
239 <        8/15/24-bit fullscreen display on a Picasso96 screen with the given
240 <        mode ID. This requires Picasso96. For 15 and 24 bit, the frame buffer
241 <        format must be QuickDraw-compatible (big-endian, xRGB 1:5:5:5 or
242 <        xRGB 8:8:8:8). The screen size will be the default size for that
243 <        mode ID.
239 >        8/15/24-bit fullscreen display on a Picasso96/CyberGraphX screen with
240 >        the given mode ID. This requires Picasso96 or CyberGraphX. For 15 and
241 >        24 bit, the frame buffer format must be QuickDraw-compatible
242 >        (big-endian, xRGB 1:5:5:5 or xRGB 8:8:8:8). The screen size will be
243 >        the default size for that mode ID.
244  
245    Windows:
246      The "video mode" is one of the following:
# Line 389 | Line 327 | ether <ethernet card description>
327    BeOS:
328      It doesn't matter what you give as "ethernet card description", Basilisk II
329      will always use the first Ethernet card it finds as long an an "ether"
330 <    line exists (e.g. say "ether yes"). As Basilisk II requires the sheep_net
331 <    net server add-on from SheepShaver, you can only use Ethernet on PowerPC
332 <    machines.
330 >    line exists (e.g. say "ether yes"). Using Ethernet requires the "sheep_net"
331 >    Net Server add-on to be installed. The first time you start Basilisk II
332 >    with Ethernet enabled you will be asked whether it's OK to make the
333 >    necessary changes to your BeOS network configuration to enable sheep_net.
334  
335    Linux:
336      The "ethernet card description" is the name of an Ethernet interface.
337      There are two approaches to networking with Basilisk II:
338 +
339        1. Direct access to an Ethernet card via the "sheep_net" driver.
340           In this case, the "ethernet card description" must be the name
341           of a real Ethernet card, e.g. "eth0". It also requires the "sheep_net"
# Line 405 | Line 345 | ether <ethernet card description>
345           networking. MacOS will only be able to talk to other machines on
346           the Ethernet, but not to other networks that your Linux box routes
347           (e.g. a second Ethernet or a PPP connection to the Internet).
348 +
349        2. Putting Basilisk II on a virtual Ethernet via the "ethertap" device.
350           In this case, the "ethernet card description" must be the name
351           of an ethertap interface, e.g. "tap0". It also requires that you
352           configure your kernel to enable routing and the ethertap device:
353           under "Networking options", enable "Kernel/User netlink socket" and
354           "Netlink device emulation", under "Network device support", activate
355 <         "Ethertap network tap". Next, see /usr/src/linux/Documentation/
356 <         networking/ethertap.txt for information on how to set up /dev/tap*
357 <         device nodes and activate the ethertap interface. Under MacOS,
358 <         select an IP address that is on the virtual network and set the
359 <         default gateway to the IP address of the ethertap interface. This
360 <         approach will let you access all networks that your Linux box has
361 <         access to (especially, if your Linux box has a dial-up Internet
362 <         connection and is configured for IP masquerading, you can access
363 <         the Internet from MacOS). The drawback is that you can only use
364 <         network protocols that Linux can route, so you have to install and
365 <         configure netatalk if you want to use AppleTalk.
355 >         "Ethertap network tap". You also have to modify drivers/net/ethertap.c
356 >         a bit before compiling the new kernel:
357 >
358 >          - insert "#define CONFIG_ETHERTAP_MC 1" near the top (after the
359 >            #include lines)
360 >          - comment out the line "dev->flags|=IFF_NOARP;" in ethertap_probe()
361 >
362 >         Next, see /usr/src/linux/Documentation/networking/ethertap.txt for
363 >         information on how to set up /dev/tap* device nodes and activate the
364 >         ethertap interface. Under MacOS, select an IP address that is on the
365 >         virtual network and set the default gateway to the IP address of the
366 >         ethertap interface. This approach will let you access all networks
367 >         that your Linux box has access to (especially, if your Linux box has
368 >         a dial-up Internet connection and is configured for IP masquerading,
369 >         you can access the Internet from MacOS). The drawback is that you
370 >         can only use network protocols that Linux can route, so you have to
371 >         install and configure netatalk if you want to use AppleTalk. Here is
372 >         an example /etc/atalk/atalkd.conf for a LAN:
373 >
374 >           eth0 -seed -phase 2 -net 1 -addr 1.47 -zone "Ethernet"
375 >           tap0 -seed -phase 2 -net 2 -addr 2.47 -zone "Basilisknet"
376 >
377 >         (the "47" is an arbitrary node number). This will set up a zone
378 >         "Ethernet" (net 1) for the Ethernet and a zone "Basilisknet" (net 2)
379 >         for the internal network connection of the ethertap interface.
380 >         MacOS should automatically recognize the nets and zones upon startup.
381 >         If you are in an existing AppleTalk network, you should contact
382 >         your network administrator about the nets and zones you can use
383 >         (instead of the ones given in the example above).
384 >
385 >  FreeBSD:
386 >    The "ethertap" method described above also works under FreeBSD, but since
387 >    no-one has found the time to write a section for this manual, you're on
388 >    your own here...
389  
390    AmigaOS:
391      You have to specify the name of the SANA-II Ethernet device and the device
# Line 430 | Line 394 | ether <ethernet card description>
394      not an Ethernet device, Basilisk II will display a warning message and
395      disable Ethernet networking.
396  
397 +  See the next item for an alternative way to do networking with Basilisk II.
398 +
399 + udptunnel <"true" or "false">
400 +
401 +  Setting this to "true" enables a special network mode in which all network
402 +  packets sent by MacOS are tunnelled over UDP using the host operating
403 +  system's native TCP/IP stack. This only works with AppleTalk and can only
404 +  be used to connect computers running Basilisk II (and not, for example, for
405 +  connecting to an AppleShare server running on a real Mac), but it is
406 +  probably the easiest way to set up a network between two instances of
407 +  Basilisk II because the UDP tunnelling doesn't require any special kernel
408 +  modules or network add-ons. It relies on IP broadcasting, however, so
409 +  its range is limited.
410 +
411 + udpport <IP port number>
412 +
413 +  This item specifies the IP port number to use for the "AppleTalk over UDP"
414 +  tunnel mode. The default is 6066.
415 +
416   rom <ROM file path>
417  
418    This item specifies the file name of the Mac ROM file to be used by
# Line 458 | Line 441 | frameskip <frames to skip>
441    For refreshed graphics modes (usually window modes), this specifies
442    how many frames to skip after drawing one frame. Higher values make
443    the video display more responsive but require more processing power.
444 <  The default is "8".
444 >  The default is "8". Under Unix/X11, a value of "0" selects a "dynamic"
445 >  update mode that cuts the display into rectangles and updates each
446 >  rectangle individually, depending on display changes.
447  
448   modelid <MacOS model ID>
449  
# Line 497 | Line 482 | System-specific configuration
482   Unix:
483  
484    keycodes <"true" or "false">
485 <  keycodefile <Keycode file path>
485 >  keycodefile <keycodes file path>
486  
487      By default, the X11 event handler in Basilisk II uses KeySyms to
488      translate keyboard event to Mac keycodes. While this method is very
# Line 508 | Line 493 | Unix:
493      not on the selected keymap. Unfortunately it depends on the X server
494      being used and possibly also on the type of keyboard attached. So
495      Basilisk II needs a table to translate X keycodes to Mac keycodes.
496 <    This table is read by default from /usr/local/lib/basilisk_ii_keycodes
496 >    This table is read by default from /usr/local/share/BasiliskII/keycodes
497      unless you specify a different file with the "keycodefile" item.
498 <    A sample keycode file ("basilisk_ii_keycodes") is included with
499 <    Basilisk II.
498 >    A sample keycode file is included with Basilisk II.
499 >
500 >  fbdevicefile <fbdevices file path>
501 >
502 >    This option specifies the file that contains frame buffer device
503 >    specifications for the fbdev-DGA video mode (when Basilisk II was
504 >    configured with --enable-fbdev-dga). The default location of the file
505 >    is /usr/local/share/BasiliskII/fbdevices. A sample file is included
506 >    with Basilisk II.
507 >
508 >  mousewheelmode <mode>
509 >
510 >    If you have a mouse with a wheel, this option specifies whether moving
511 >    the wheel will be reported to the MacOS as "Page up/down" (mode 0) or
512 >    "Cursor up/down" (mode 1) keys.
513 >
514 >  mousewheellines <number of lines>
515 >
516 >    If "mousewheelmode" is set to mode 1 (Cursor up/down), this option sets
517 >    the number of key events sent to MacOS for each wheel movement (the
518 >    number of lines to scroll).
519  
520   AmigaOS:
521  
# Line 523 | Line 527 | AmigaOS:
527  
528        ahi/<hexadecimal mode ID>
529  
530 +  scsimemtype <type>
531 +
532 +    This item controls the type of memory to use for SCSI buffers. Possible
533 +    values are:
534 +      0 Chip memory
535 +      1 24-bit DMA capable memory
536 +      2 Any memory
537 +
538 +    Be warned that many SCSI host adapters will not work with the "Any memory"
539 +    setting. Basilisk II has no way of knowing which memory type is supported
540 +    by the host adapter and setting an unsupported type will result in data
541 +    corruption.
542 +
543   Windows:
544  
545    noscsi <"true" or "false">
# Line 552 | Line 569 | Windows:
569    
570      Note the use of quotes.
571  
572 <  disablescsi <"Vendor"> <"Model">
572 >  rightmouse <0/1>
573  
574 <    Disables this vendor/model combination. You may need this simply because
575 <    you have more than 6 SCSI devices, or the particular device has problems
576 <    under BasiliskII. E.g.
574 >    Defines what the right mouse button is used for. The default values of 0
575 >    means that it is used to move windowed mode BasiliskII screen.
576 >    Value 1 sends a combination Control and mouse click to the MacOS.
577 >    This may be useful under OS versions 8 and above.
578  
579 <      disablescsi "HP" "CD-Writer+ 7100"
580 <  
581 <    Again, note the use of quotes.
579 >  keyboardfile <path>
580 >
581 >    Defines the path of the customized keyboard code file.
582 >
583 >  pollmedia <"true" or "false">
584 >
585 >    If true (default), tries to automatically detect new media.
586 >    Applies to all "floppy", "cd" or "disk" removable media except
587 >    1.44 MB floppies. May cause modest slow down. If unchecked,
588 >    use Ctrl-Shift-F11 to manually mount new media.
589 >    If you have auto-insert notification (AIN) enabled, you may turn this
590 >    option off. Note that some CD related software require AIN,
591 >    and some other need it to be turned off. Consult the documentation
592 >    of your CD software to learn which one is optimal for you.
593 >
594 >  framesleepticks <milliseconds>    
595 >
596 >    The amount of time between video frames.
597 >
598 >  showfps <true/false>
599 >
600 >    If true, the real frame rate is displayed.
601 >
602 >  stickymenu <true/false>
603 >
604 >    If true, the main menu bar is kept open even after the mouse button is released,
605 >    under all OS versions (OS 8 has this feature already). There are extensions to do
606 >    the same thing, but it's faster to handle this in native code.
607 >    Default is "true".
608  
609    ntdx5hack <"true" or "false">
610  
# Line 591 | Line 635 | Keyboard:
635    On PC-style keyboards, "Alt" is the Mac "Command" key, while the "Windows"
636    key is the Mac "Option" key.
637  
638 + Mouse:
639 +  Under Unix, press Ctrl-F5 while the Basilisk II window is active will grab
640 +  the mouse. This is needed for compatibility with some MacOS programs,
641 +  especially games. Press Ctrl-F5 again to return to normal mouse operation.
642 +
643   Floppy:
644    Basilisk II can only handle 1.44MB MFM floppies. Depending on your platform,
645 <  flopyy disk changes might not be detected automatically. Under Linux, press
645 >  floppy disk changes might not be detected automatically. Under Unix, press
646    Ctrl-F1 to mount a floppy. Under BeOS, select the appropriate "Mount" menu
647    item or press Ctrl-F1 to mount a floppy. Under Windows, press Ctrl-Shift-F11.
648  
# Line 652 | Line 701 | Please see the included file "TECH" for
701   Acknowledgements
702   ----------------
703  
704 < Contributions by:
656 < - Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>: UAE 68k emulation
657 < - Marc Hellwig <Marc.Hellwig@uni-mainz.de>: audio output, BeOS video code
658 <   and networking
659 < - Lauri Pesonen <lpesonen@nic.fi>: Windows NT port
704 > Contributions by (in alphabetical order):
705   - Orlando Bassotto <future@powercube.mediabit.net>: FreeBSD support
706 < - Brian J. Johnson <bjohnson@sgi.com>: IRIX support
706 > - Gwenole Beauchesne <gb@dial.oleane.com>: SPARC assembly optimizations and
707 >   fbdev video code
708   - Marc Chabanas <Marc.Chabanas@france.sun.com>: Solaris sound support
709 + - Marc Hellwig <Marc.Hellwig@uni-mainz.de>: audio output, BeOS video code
710 +   and networking
711   - Bill Huey <billh@mag.ucsd.edu>: 15/16 bit DGA and 15/16/32 bit X11
712     window support
713 + - Brian J. Johnson <bjohnson@sgi.com>: IRIX support
714 + - Jürgen Lachmann <juergen_lachmann@t-online.de>: AmigaOS CyberGraphX support
715 + - Samuel Lander <blair_sp@hotmail.com>: tile-based window refresh code
716   - David Lawrence <davidl@jlab.org>: incremental window refresh code
717 + - Lauri Pesonen <lpesonen@nic.fi>: Windows NT port
718 + - Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>: UAE 68k emulation
719 + - and others...
720  
721   Special thanks to:
722   - Bernd Schmidt for letting me use his UAE 68k emulation

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines