|
|
uae-0.6.8
This file documents the details relevant to the Unix versions of UAE. General
information can be found in the file "README"
System requirements
===================
UAE will run on most Unix systems, and by now most of the portability issues
have been sorted out. However, since I am developing UAE using Linux, you may
encounter problems from time to time. If this happens, let me know as soon as
possible so these can be fixed in the next release.
These are the requirements for getting the Unix version to run:
- X11, or SVGAlib if you are using Linux.
- The 386 is the only CPU that UAE will not run on. You need a 486 or
higher if you want to use an Intel CPU.
- an ANSI C compiler. Do not use a K&R compiler, otherwise you risk getting
incorrect code. GCC is _strongly_ recommended.
- 8MB RAM (better 16MB) + some swap
- Optionally, tcl7.4/tk4.0 or the X Forms library (version 0.80 or higher)
Compilation
===========
To build UAE, first unpack it to an appropriate directory (e.g. /usr/src/uae
on a Linux system). The simple way to proceed is to type "configure; make",
after that has completed you should have a working X11 version of UAE. Ignore
warnings if you get them.
However, you should probably have a look at some of the compile-time options
found in "config.h" before you do this. There are some things you can change
there so that the resulting executable will perform better on your machine.
Each of the options in that file has a description. You can edit config.h to
suit your needs; and then do "configure; make" afterwards.
If you are running Linux, you can say "configure --without-x" as an
alternative. If you do this, UAE will be configured to use the SVGA library.
If you use SVGAlib, be warned that SVGAlib is not too stable and using it is
inherently a little dangerous, you might want to have a way to log in from a
remote terminal if things go horribly wrong. If you are very unfortunate, you
might lock up your machine otherwise.
Note that you must be root to run SVGAlib programs. Making UAE suid root is
_not_ a particularly good idea if you care about the security of your system.
If you use a recent XFree86 server (such as XFree86 3.2, or one of the betas
before that), you can configure UAE to use the DGA extension for speed. This
will make UAE access the framebuffer directly. It also means that you'll have
to exit UAE if you want to use another X program in between, because it
completely takes over the control. The mouse will be emulated slightly better
if you use DGA mode. To enable it, pass the "--enable-dga" option to
configure.
If you configure UAE for building the X11 version (which is the default if you
simply say "configure"), the configure script will try to find the program
"wish4.0" in the path. You can disable the UAE user-interface by passing the
"--disable-gui" option to configure. By default, the X11 version of UAE
tries to use a GUI written in Tcl. This requires Tk version 4.0.
The SVGAlib version uses a ncurses-based user interface.
If you are a daring person, you can edit custom.c before compiling and enable
the "EMULATE_AGA" define. UAE will then try to emulate some AGA features. I'd
like to hear feedback as to how well it works (expect it not to work at all
for a start).
Keyboard mappings
=================
You can exit the SVGAlib (and the DGA) version by pressing the F12 key.
PgUp/PgDn emulate the right/left Amiga keys.
The X11 version needs some help to figure out how to map keys: You'll have to
tell it the keyboard language with the "-l" commandline option. Several
languages ("us", "se", "de", "fr", "es", "it") are supported. If you have
a different keyboard, patches to make UAE work with it are appreciated.
Mouse and joystick emulation
============================
The X11 version will try to keep the Amiga mouse pointer at the same location
as the X mouse pointer. You can turn off this mode if it does not work with
your program by pressing F12. This is needed (for example) for Lemmings, the
Magnetic Scrolls adventures and ProTracker; these programs don't use sprite 0
as a mouse pointer. The SVGAlib and DGA versions do not have this problem.
If you use Linux and have the joystick driver kernel module, "configure"
should automatically enable support for it. UAE calibrates the joystick
automatically. Turn it a few times on startup to get the calibration done.
Harddisk emulation
==================
If you want to execute files located on a native filesystem, they need to have
the x permission bit set. That can be done in Unix by "chmod +x file" or in
AmigaDOS with "protect file rwed".
Printing
========
If you give UAE the "-p lpr" option, output for the parallel port will be
piped to lpr, which will in turn print it. You should use the Postscript
printer driver on the Amiga side (since UAE relies on the ^D character at
the end of the Postscript output).
Note that I never tried this myself, so you're on your own.
Transferring things over the serial port
========================================
There's an easy way to use a null-modem cable without terminal software if
you use Linux (and probably other Unices). You can do
transdisk >SER: <options>
on the Amiga to copy the data directly to the serial port. Before that, do
cat /dev/ttyS1 >df0.adf
on your Linux box to receive the data (it may be ttyS0 on your system, or
another number, depending on which serial port you are using). When the Amiga
is done transferring, hit ^C on the PC to interrupt the cat program. To make
this work, you need to use the same settings for the serial port on both
sides. This is done with the Preferences program on the Amiga (this is split
into several programs from Kickstart 2.0 upwards, you'll find a program called
"serial" in the Prefs directory of your Workbench disk). On the Linux side,
use the stty program. "man stty" will give you the manpage describing how to
use it.
To be on the safe side, set the speed to a low value (2400 baud). Turn off
Xon/Xoff, but enable RTS/CTS.
I use the following command myself:
stty 19200 parenb -cstopb cread clocal crtscts -istrip -inlcr -icrnl -opost
-onlcr -parodd -isig -icanon -iexten raw cs8 </dev/ttyS1
which is probably overkill, but you never know :)
This maps to 19200 baud, 8 bits, even parity, one stop bit, which you have to
set in the Amiga preferences.
Using the Linux AFFS filesystem
===============================
If you use Linux with a kernel version >= 2.0.7 and version 2.5k of the mount
program, you can do
mount df0.adf /mnt -t affs -o loop
to mount disk image df0.adf at the mount point /mnt.
You'll need to enable support for the Amiga filesystem and the loop device
when configuring and compiling the kernel (say yes to the "Ask about
experimental drivers" question at the start).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.