Annotation of uae/config.h, revision 1.1.1.4

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

unix.superglobalmegacorp.com

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