 /* 
  * UAE - The Un*x Amiga Emulator
  * 
  * User configuration options
  *
  * Copyright 1995, 1996 Bernd Schmidt
  */

/*
 * Please note: Many things are configurable with command line parameters,
 * and you can put anything you can pass on the command line into a 
 * configuration file ~/.uaerc. Please read the documentation for more
 * information.
 */

/*
 * This variable was introduced because a program could do a Bcc from
 * whithin chip memory to a location whitin expansion memory. With a
 * pointer variable the program counter would point to the wrong location.
 * With this variable unset the program counter is always correct, but
 * programs will run slower (about 4%).
 * Usually, you'll want to have this defined.
 */
#define USE_POINTER

/*
 * The blitter emulator contains a few optimizations. You can choose one out
 * five methods.
 * 0: Old uae-0.1 style blitter. Slow.
 * 2: This is the most reliable one.
 * 3: This tries to do 32 bit accesses when possible. It will not work on
 *    most RISC chips (expect to see bus errors)
 * 4: Like 2, but the blitter finishes instantly. May lead to 
 *    incompatibilities, since some programs depend on the blitter delay.
 * 5: Like 3, but the blitter finishes instantly.
 * I recommend methods 4 and 5 only for Workbench based applications, although
 * well-written games should have no problems with these.
 */
#define FAST_BLITTER 2

/*
 * CPU level: 0 = 68000, 1 = 68010, 2 = 68020/68881
 * If configured for 68020, the emulator will be a little slower.
 * Proper 68020 support is new in this version, but it ought to be reasonably
 * stable.
 */
#define CPU_LEVEL 0

/*
 * Define this when you are compiling UAE for the first time. If it works, you
 * can try to undefine it to get (much) better performance. It does not seem
 * to work on all machines, though.
 */
#define DONT_WANT_SHM

/*
 * If you are running UAE over the network on a remote X server, this can
 * boost performance quite a bit. It can even boost performance on a 
 * non-networked system.
#define LOW_BANDWIDTH
 */

/*
 * When these two are enabled, a subset of the ECS features is emulated.
 * Actually, it's only the chip identification and big blits. This may be
 * enough to persuade some ECS programs to run.
 * DON'T enable SuperHires or Productivity modes. They are not emulated,
 * and will look very messy. NTSC doesn't work either.
 */
#define ECS_AGNUS
#define ECS_DENISE

/*
 * If you don't have any sound hardware, or if you don't want to use it, then
 * this option may make the emulator a little faster. I don't really know
 * whether it's worthwhile, so if you have any results with this one, tell
 * me about it.
#define DONT_WANT_SOUND
 */

/*
 * If you don't care about games, this may make the CPU emulator run faster,
 * but it will take longer to complete one frame. For UltraSparc owners this
 * may be a good way to lower the key repeat rate.
#define FASTER_CPU
 */

/*
 * When USE_COMPILER is defined, a m68k->i386 instruction compiler will be
 * used. This is experimental. It has only been tested on a Linux/i386 ELF
 * machine, although it might work on other i386 Unices.
 * This is supposed to speed up application programs. It will not work very
 * well for hardware bangers like games and demos, in fact it will be much
 * slower. It can also be slower for some applications and/or benchmarks.
 * It needs a lot of tuning. Please let me know your results with this.
 * The second define, RELY_ON_LOADSEG_DETECTION, decides how the compiler 
 * tries to detect self-modifying code. If it is not set, the first bytes
 * of every compiled routine are used as checksum before executing the
 * routine. If it is set, the UAE filesystem will perform some checks to 
 * detect whether an executable is being loaded. This is less reliable
 * (it won't work if you don't use the harddisk emulation, so don't try to
 * use floppies or even the RAM disk), but much faster.
#define USE_COMPILER
#define RELY_ON_LOADSEG_DETECTION
 */

/***************************************************************************
 * Operating system specific options
 */

/*
 * Define this if you have the AF System and want sound in UAE.
 * You also have to set the right paths in the Makefile.
#define AF_SOUND
 */

/*
 * Define this if you have a Solaris box with sound hardware
#define SOLARIS_SOUND
 */

/*
 * Define if you have installed the Linux sound driver and if you have read
 * the section about sound in the README.
 * Enable sound at run-time by passing the -S parameter with a value >= 2.
#define LINUX_SOUND
 */

/*
 * Try defining this if you don't get steady sound output. 
#define LINUX_SOUND_SLOW_MACHINE
 */

/***************************************************************************
 * Support for broken software. These options are set to default values
 * that are reasonable for most uses. You should not need to change these.
 */

/*
 * Some STUPID programs access a longword at an odd address and expect to
 * end up at the routine given in the vector for exception 3.
 * (For example, Katakis does this). And yes, I know it's legal, but it's dumb
 * anyway.
 * If you leave this commented in, memory accesses will be faster,
 * but some programs may fail for an obscure reason.
 */
#define NO_EXCEPTION_3

/*
 * If you want to see the "Hardwired" demo, you need to define this.
 * Otherwise, it will say "This demo don't like Axel" - apparently, Axel
 * has a 68040.
#define WANT_SLOW_MULTIPLY
 */

