Annotation of uae/docs/unix/README, revision 1.1

1.1     ! root        1: This file documents the details relevant to the Unix versions of UAE. General
        !             2: information can be found in the file "README"
        !             3: 
        !             4: System requirements
        !             5: ===================
        !             6: 
        !             7: UAE will run on most Unix systems, and by now most of the portability issues
        !             8: have been sorted out. However, since I am developing UAE using Linux, you may
        !             9: encounter problems from time to time. If this happens, let me know as soon as
        !            10: possible so these can be fixed in the next release.
        !            11: 
        !            12: These are the requirements for getting the Unix version to run:
        !            13:   - X11, or SVGAlib if you are using Linux.
        !            14:   - 8MB RAM (better 16MB) + some swap
        !            15:   - The 386 is the only CPU that UAE will not run on. You need a 486 or
        !            16:     higher if you want to use an Intel CPU.
        !            17:   - an ANSI C compiler. Do not use a K&R compiler, otherwise you risk getting
        !            18:     incorrect code. GCC is _strongly_ recommended. Don't use versions of GCC
        !            19:     older than 2.7.2.
        !            20:   - Optionally, the gtk library, available from ftp.gimp.org, and a pthreads
        !            21:     library.
        !            22: 
        !            23: For reference, this is my system configuration:
        !            24:   OS: Linux 2.0.33
        !            25:   CPU: AMD-K6-233
        !            26:   RAM: 32MB
        !            27:   X11: version 3.3.2
        !            28:   Compiler: egcs-1.0.1
        !            29:   Libraries: glibc-2.0.6 (includes libpthread), gtk-0.99.3
        !            30: If you have the same configuration, and it doesn't run, you're doing something
        !            31: wrong ;)
        !            32: 
        !            33: 
        !            34: Compilation
        !            35: ===========
        !            36: 
        !            37: To build UAE, first unpack it to an appropriate directory (e.g. /usr/src/uae
        !            38: on a Linux system). The simple way to proceed is to type "configure; make", 
        !            39: after that has completed you should have a working X11 version of UAE. Ignore
        !            40: warnings if you get them.
        !            41: 
        !            42: However, you should probably have a look at some of the compile-time options
        !            43: found in "config.h" before you do this. There are some things you can change
        !            44: there so that the resulting executable will perform better on your machine.
        !            45: Each of the options in that file has a description. You can edit config.h to
        !            46: suit your needs; and then do "configure; make" afterwards.
        !            47: 
        !            48: When running configure, there are a few options that you can use to
        !            49: influence configure's decision as to what kind of display should be used.
        !            50: The following displays are available:
        !            51:   - Standard X11, in a window. This is the default.
        !            52:   - X11/DGA. This runs full-screen and is somewhat faster than the normal X11
        !            53:     code. You need a recent (>= version 3.2) XFree86 X server.
        !            54:   - SVGAlib. This is only available on Linux systems. It is the default if X11
        !            55:     is not found by configure.
        !            56:   - ncurses character output. This is the last resort.
        !            57: 
        !            58: Type "configure --help" to get a list of options that configure understands.
        !            59: The following are likely to be useful:
        !            60:   --without-x        : Don't use X11 as target.
        !            61:   --with-svgalib     : Build a version that uses SVGAlib (Linux only)
        !            62:   --with-ggi         : Build a version that uses GGI (Linux only)
        !            63:   --with-asciiart    : Build a version that uses ASCII "graphics"
        !            64:   --enable-sound     : If a sound system is found that UAE knows about, sound
        !            65:                        emulation will be compiled in.
        !            66:   --enable-profiling : Build a much slower version of the emulator (if you 
        !            67:                        don't know what it's for, you don't want it)
        !            68:   --enable-dga       : If your X server supports the DGA extension, use it
        !            69:   --enable-vidmode   : If your X server supports the VidMode extension, use
        !            70:                        it. This enables the emulator to switch to low
        !            71:                        resolutions such as 320x256 or 400x300 if you have
        !            72:                       defined ModeLines for them.
        !            73:   --enable-ui        : Build a user interface if possible (enabled by default)
        !            74:   --enable-threads   : Build UAE multithreaded on systems that support it.
        !            75:                        Note that there is very little thread support in UAE at
        !            76:                       the moment.
        !            77:   --enable-penguins  : Enable some additional threads which only make sense on
        !            78:                        SMP (symmetric multi penguin) machines. If you have a
        !            79:                       single-CPU machine, you don't want to use this option.
        !            80: Note that there is a corresponding "--disable-xxx" for each "--enable-xxx"
        !            81: option, and a "--without-yyy" for each "--with-yyy".
        !            82: 
        !            83: Both the SVGAlib and the DGA version run full-screen, i.e. you can't run other
        !            84: programs at the same time very well. You also need to be root to run either of
        !            85: these two versions.
        !            86: Making UAE suid root is _not_ a particularly good idea if you care about the
        !            87: security of your system.
        !            88: 
        !            89: If you are not sure whether you have an SMP machine, you don't have one.
        !            90: 
        !            91: 
        !            92: Run-time options
        !            93: ================
        !            94: 
        !            95: The X11 version (without DGA) of UAE understands these special command-line
        !            96: options:
        !            97:   -L     : Use "low-bandwidth" mode, which can reduce the amount of data
        !            98:            transferred between UAE and the X server. That's particularly an
        !            99:           advantage when these are running on two different machines in a
        !           100:           network.
        !           101:   -T     : Use the MIT-SHM extension. This may not be available on all
        !           102:            machines, and it will not work if UAE and the X server are not
        !           103:           running on the same machine.
        !           104:           In all other configurations, turning on this option will give you
        !           105:           a huge speed improvement.
        !           106:   -x     : Turn off the X11 mouse cursor for the UAE window. Personally, I
        !           107:            find that seeing the X cursor helps, but that's a matter of taste.
        !           108: 
        !           109: The SVGAlib version understands the following command-line option:
        !           110:   -x     : Turn off linear frame buffer support, even if it is available.
        !           111:            Unless linear mode doesn't work properly, you don't want to disable
        !           112:           it, because UAE is much faster if it can draw into a linear
        !           113:           frame buffer.
        !           114: 
        !           115: 
        !           116: Keyboard mappings
        !           117: =================
        !           118: 
        !           119: You can exit the SVGAlib (and the DGA) version by pressing the F12 key.
        !           120: PgUp/PgDn emulate the right/left Amiga keys. In the SVGAlib version, F11 will
        !           121: bring you back to the user interface screen so you can change disks during the
        !           122: emulation.
        !           123: 
        !           124: The X11 version needs some help to figure out how to map keys: You'll have to
        !           125: tell it the keyboard language with the "-l" commandline option. Several
        !           126: languages ("us", "se", "de", "fr", "es", "it") are supported. If you have
        !           127: a different keyboard, patches to make UAE work with it are appreciated.
        !           128: 
        !           129: 
        !           130: Mouse and joystick emulation
        !           131: ============================
        !           132: 
        !           133: The X11 (non-DGA) version has one problem: There are two mouse pointers, the
        !           134: X11 mouse pointer and the mouse pointer in the emulator window. You can work
        !           135: that way, but you get confused quickly.
        !           136: The solution in previous (0.6.8 and before) versions of UAE was a small piece
        !           137: of code that looked at the position of sprite 0 on the screen and tried to
        !           138: generate mouse movements in an emulated hardware port. That worked reasonably
        !           139: well, but had several problems.
        !           140: The new solution is to use a small Amiga program which is called "mousehack".
        !           141: You will find this in the "amiga" subdirectory. Put it into the directory that
        !           142: you use for harddisk emulation so that you can run it from the emulator. Then
        !           143: put the command "run >NIL: mousehack" at the top of your startup-sequence. UAE
        !           144: will detect when this program is running and use the improved mouse pointer
        !           145: positioning method. (Don't run this program on old versions of UAE)
        !           146: If the program is not running, you get the old behaviour - almost. By default,
        !           147: the emulator will no longer try to keep Amiga and X mouse pointers at the same
        !           148: position, because that led to problems in the past. You can toggle this
        !           149: behaviour with F12.
        !           150: (If you just added "run mousehack" to your startup-sequence, that would have
        !           151: the effect that the initial CLI window would be impossible to close.
        !           152: Unfortunately, redirecting output to >NIL: disables all error messages that
        !           153: mousehack can give you - so if it does not work, try running it by hand
        !           154: without the >NIL: redirection.)
        !           155: 
        !           156: If you find a program in which the mouse pointer does not move at all if you
        !           157: use the X11 version, start that program with mousehack _not_ running
        !           158: (Magnetic Scrolls adventures are known to need this, for example).
        !           159: 
        !           160: The SVGAlib and DGA versions are not affected by any of this (and pressing F12
        !           161: exits those versions).
        !           162: 
        !           163: If you use Linux and have the joystick driver kernel module, "configure"
        !           164: should automatically enable support for it. UAE calibrates the joystick
        !           165: automatically. Turn it a few times on startup to get the calibration done. 
        !           166: 
        !           167: 
        !           168: Harddisk emulation
        !           169: ==================
        !           170: 
        !           171: Please read the appropriate sections in the file "README" on how to use the
        !           172: filesystem emulation. There are a few Unix-specific things about it, though.
        !           173: 
        !           174: If you want to execute files located on a native filesystem, they need to have
        !           175: the x permission bit set. That can be done in Unix by "chmod +x file" or in
        !           176: AmigaDOS with "protect file rwed".
        !           177: You should set aside a whole directory tree for AmigaOS files, and not use it
        !           178: from Unix in any way if you can avoid it. Changing permissions/owners,
        !           179: creating symbolic links and doing other stuff that AmigaOS does not know about
        !           180: is a good way to confuse the emulator and the emulated software. E.g. it's
        !           181: possible to have a symlink pointing at a mounted CD-ROM. The emulator would
        !           182: see that as a directory inside which it gets "read only filesystem" errors,
        !           183: and wouldn't know what to do about it. Avoid this sort of thing. It's best to
        !           184: start with an empty harddisk emulation directory and install software there
        !           185: only from within the emulation.
        !           186: The following setup can also lead to problems:
        !           187:   -m dh0:/foo -m dh1:/foo/bar
        !           188: Please take care that the filesystems you mount don't overlap each other
        !           189: (another great reason not to use symbolic links within them).
        !           190: 
        !           191: 
        !           192: Printing
        !           193: ========
        !           194: 
        !           195: If you give UAE the "-p lpr" option, output for the parallel port will be
        !           196: piped to lpr, which will in turn print it. You should use the Postscript
        !           197: printer driver on the Amiga side (since UAE relies on the ^D character at
        !           198: the end of the Postscript output).
        !           199: Note that I never tried this myself, so you're on your own.
        !           200: 
        !           201: 
        !           202: Transferring things over the serial port
        !           203: ========================================
        !           204: 
        !           205: There's an easy way to use a null-modem cable without terminal software if
        !           206: you use Linux (and probably other Unices). You can do
        !           207: 
        !           208:   transdisk >SER: <options>
        !           209: 
        !           210: on the Amiga to copy the data directly to the serial port. Before that, do
        !           211: 
        !           212:   cat /dev/ttyS1 >df0.adf
        !           213:   
        !           214: on your Linux box to receive the data (it may be ttyS0 on your system, or
        !           215: another number, depending on which serial port you are using). When the Amiga
        !           216: is done transferring, hit ^C on the PC to interrupt the cat program. To make
        !           217: this work, you need to use the same settings for the serial port on both
        !           218: sides. This is done with the Preferences program on the Amiga (this is split
        !           219: into several programs from Kickstart 2.0 upwards, you'll find a program called
        !           220: "serial" in the Prefs directory of your Workbench disk). On the Linux side,
        !           221: use the stty program. "man stty" will give you the manpage describing how to
        !           222: use it.
        !           223: To be on the safe side, set the speed to a low value (2400 baud). Turn off
        !           224: Xon/Xoff, but enable RTS/CTS.
        !           225: I use the following command myself:
        !           226: 
        !           227:   stty 19200 parenb -cstopb cread clocal crtscts -istrip -inlcr -icrnl -opost
        !           228:     -onlcr -parodd -isig -icanon -iexten raw cs8 </dev/ttyS1
        !           229: 
        !           230: which is probably overkill, but you never know :)
        !           231: This maps to 19200 baud, 8 bits, even parity, one stop bit, which you have to
        !           232: set in the Amiga preferences.
        !           233: 
        !           234: 
        !           235: Using the Linux AFFS filesystem
        !           236: ===============================
        !           237: 
        !           238: If you use Linux with a kernel version >= 2.0.7 and version 2.5k of the mount
        !           239: program, you can do
        !           240:    mount df0.adf /mnt -t affs -o loop
        !           241: to mount disk image df0.adf at the mount point /mnt. This is much more
        !           242: convenient than using the "readdisk" program.
        !           243: 
        !           244: You'll need to enable support for the Amiga filesystem and the loop device
        !           245: when configuring and compiling the kernel (say yes to the "Ask about
        !           246: experimental drivers" question at the start).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.