|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * User configuration options
5: *
1.1.1.2 root 6: * Copyright 1995, 1996 Bernd Schmidt
1.1 root 7: */
8:
9: /*
1.1.1.2 root 10: * Please note: Many things are configurable with command line parameters,
11: * and you can put anything you can pass on the command line into a
12: * configuration file ~/.uaerc. Please read the documentation for more
13: * information.
1.1.1.4 ! root 14: *
! 15: * NOTE NOTE NOTE
! 16: * Whenever you change something in this file, you have to "make clean"
! 17: * afterwards.
! 18: * Don't remove the '#' signs. If you want to enable something, move it out
! 19: * of the C comment block, if you want to disable something, move it inside
! 20: * the block.
1.1 root 21: */
22:
23: /*
1.1.1.4 ! root 24: * CPU level: 0 = 68000, 1 = 68010, 2 = 68020, 3 = 68020/68881
1.1.1.3 root 25: * If configured for 68020, the emulator will be a little slower.
26: */
27: #define CPU_LEVEL 0
28:
29: /*
1.1.1.2 root 30: * Define this when you are compiling UAE for the first time. If it works, you
31: * can try to undefine it to get (much) better performance. It does not seem
32: * to work on all machines, though.
1.1 root 33: */
1.1.1.2 root 34: #define DONT_WANT_SHM
1.1 root 35:
36: /*
1.1.1.2 root 37: * If you are running UAE over the network on a remote X server, this can
38: * boost performance quite a bit. It can even boost performance on a
39: * non-networked system.
40: #define LOW_BANDWIDTH
1.1 root 41: */
42:
43: /*
1.1.1.2 root 44: * When these two are enabled, a subset of the ECS features is emulated.
45: * Actually, it's only the chip identification and big blits. This may be
46: * enough to persuade some ECS programs to run.
47: * DON'T enable SuperHires or Productivity modes. They are not emulated,
48: * and will look very messy. NTSC doesn't work either.
1.1 root 49: */
1.1.1.2 root 50: #define ECS_AGNUS
51: #define ECS_DENISE
1.1 root 52:
1.1.1.3 root 53: /*
54: * If you don't have any sound hardware, or if you don't want to use it, then
55: * this option may make the emulator a little faster. I don't really know
56: * whether it's worthwhile, so if you have any results with this one, tell
57: * me about it.
58: */
1.1.1.4 ! root 59: #define DONT_WANT_SOUND
1.1.1.3 root 60:
61: /*
1.1.1.4 ! root 62: * With this parameter, you can tune the CPU speed vs. graphics/sound hardware
! 63: * speed. If you set this to 1, you'll get maximum CPU speed, but demos and
! 64: * games will run very slowly. With large values, the CPU can't execute many
! 65: * instructions per frame, but for many demos, it doesn't have to. A good
! 66: * compromise is setting this to 4. Higher values may produce better sound
! 67: * output, but can make some programs crash because they don't get enough CPU
! 68: * time.
1.1.1.3 root 69: */
1.1.1.4 ! root 70: #define M68K_SPEED 4
1.1.1.3 root 71:
72: /*
73: * When USE_COMPILER is defined, a m68k->i386 instruction compiler will be
74: * used. This is experimental. It has only been tested on a Linux/i386 ELF
75: * machine, although it might work on other i386 Unices.
76: * This is supposed to speed up application programs. It will not work very
77: * well for hardware bangers like games and demos, in fact it will be much
78: * slower. It can also be slower for some applications and/or benchmarks.
79: * It needs a lot of tuning. Please let me know your results with this.
80: * The second define, RELY_ON_LOADSEG_DETECTION, decides how the compiler
81: * tries to detect self-modifying code. If it is not set, the first bytes
82: * of every compiled routine are used as checksum before executing the
83: * routine. If it is set, the UAE filesystem will perform some checks to
84: * detect whether an executable is being loaded. This is less reliable
85: * (it won't work if you don't use the harddisk emulation, so don't try to
86: * use floppies or even the RAM disk), but much faster.
87: #define USE_COMPILER
88: #define RELY_ON_LOADSEG_DETECTION
89: */
90:
1.1.1.4 ! root 91: /*
! 92: * Set USER_PROGRAMS_BEHAVE to 1 or 2 to indicate that you are only running
! 93: * non-hardware banging programs which leave all the dirty work to the
! 94: * Kickstart. This affects the compiler, and on Linux systems it also
! 95: * affects the normal CPU emulation. Any program that is _not_ in the ROM
! 96: * (i.e. everything but the Kickstart) will use faster memory access
! 97: * functions.
! 98: * There is of course the problem that the Amiga doesn't really distinguish
! 99: * between user programs and the kernel. Not all of the OS is in the ROM,
! 100: * e.g. the parallel.device is on the disk and gets loaded into RAM at least
! 101: * with Kickstart 1.3 (don't know about newer Kickstarts). So you probably
! 102: * can't print, and some other stuff may also fail to work.
! 103: * A useless option, really, given the way lots of Amiga software is written.
! 104: #define USER_PROGRAMS_BEHAVE 0
! 105: */
! 106:
1.1.1.2 root 107: /***************************************************************************
1.1.1.3 root 108: * Operating system specific options
109: */
110:
111: /*
112: * Define this if you have the AF System and want sound in UAE.
113: * You also have to set the right paths in the Makefile.
114: #define AF_SOUND
115: */
116:
117: /*
1.1.1.4 ! root 118: * Define this if you have a Solaris box with sound hardware and the
! 119: * right header files.
1.1.1.3 root 120: #define SOLARIS_SOUND
1.1 root 121: */
122:
123: /*
124: * Define if you have installed the Linux sound driver and if you have read
125: * the section about sound in the README.
1.1.1.3 root 126: * Enable sound at run-time by passing the -S parameter with a value >= 2.
1.1 root 127: #define LINUX_SOUND
128: */
129:
130: /*
1.1.1.4 ! root 131: * This option enables a different planar->chunky conversion routine. It may
! 132: * work slightly faster on some machines, it will work a lot slower on others,
! 133: * and it will crash most RISC machines.
! 134: * It seems to be a win on the Pentium. No idea about other x86's.
! 135: */
! 136: #define UNALIGNED_PROFITABLE
! 137:
! 138: /*
! 139: * SMP support - if this is defined, the graphics update code runs in a
! 140: * separate thread. This works only for Linux right now. You can define this
! 141: * even if you have a single processor machine, but that will give you a
! 142: * performance loss. I can more or less guarantee that it will also give you
! 143: * a performance loss even on an SMP machine, because the code is written very
! 144: * sloppily and is far too happy about making syscalls; but I want people with
! 145: * the right hardware to test this out anyway.
! 146: #define SUPPORT_PENGUINS
1.1 root 147: */
148:
149: /***************************************************************************
150: * Support for broken software. These options are set to default values
151: * that are reasonable for most uses. You should not need to change these.
152: */
153:
154: /*
155: * Some STUPID programs access a longword at an odd address and expect to
156: * end up at the routine given in the vector for exception 3.
1.1.1.2 root 157: * (For example, Katakis does this). And yes, I know it's legal, but it's dumb
158: * anyway.
1.1 root 159: * If you leave this commented in, memory accesses will be faster,
160: * but some programs may fail for an obscure reason.
161: */
162: #define NO_EXCEPTION_3
163:
164: /*
165: * If you want to see the "Hardwired" demo, you need to define this.
166: * Otherwise, it will say "This demo don't like Axel" - apparently, Axel
167: * has a 68040.
1.1.1.4 ! root 168: * NEWS FLASH! My sources tell me that "Axel" stands for accelerator. Not
! 169: * that it really matters...
1.1 root 170: #define WANT_SLOW_MULTIPLY
171: */
172:
1.1.1.4 ! root 173: /*
! 174: * This variable was introduced because a program could do a Bcc from
! 175: * whithin chip memory to a location whitin expansion memory. With a
! 176: * pointer variable the program counter would point to the wrong location.
! 177: * With this variable unset the program counter is always correct, but
! 178: * programs will run slower (about 4%).
! 179: * Usually, you'll want to have this defined.
! 180: */
! 181: #define USE_POINTER
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.