Annotation of uae/src/include/options.h, revision 1.1.1.5

1.1       root        1:  /*
                      2:   * UAE - The Un*x Amiga Emulator
                      3:   *
1.1.1.2   root        4:   * Stuff
1.1       root        5:   *
1.1.1.3   root        6:   * Copyright 1995, 1996 Ed Hanway
1.1.1.5 ! root        7:   * Copyright 1995-98 Bernd Schmidt
1.1       root        8:   */
                      9: 
                     10: #define UAEMAJOR 0
1.1.1.5 ! root       11: #define UAEMINOR 8
        !            12: #define UAESUBREV 5
1.1       root       13: 
1.1.1.2   root       14: typedef enum { KBD_LANG_US, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang;
1.1       root       15: 
1.1.1.5 ! root       16: extern long int version;
        !            17: 
        !            18: struct uaedev_mount_info;
1.1.1.3   root       19: 
                     20: struct uae_prefs {
                     21:     int framerate;
                     22:     int illegal_mem;
                     23:     int no_xhair;
                     24:     int use_serial;
                     25:     int serial_demand;
                     26:     int parallel_demand;
                     27:     int automount_uaedev;
                     28: 
                     29:     int fake_joystick;
                     30:     KbdLang keyboard_lang;
                     31:     int allow_save;
                     32:     int emul_accuracy;
                     33:     int test_drawing_speed;
                     34: 
                     35:     int produce_sound;
                     36:     int stereo;
                     37:     int sound_bits;
                     38:     int sound_freq;
                     39:     int sound_minbsiz;
                     40:     int sound_maxbsiz;
                     41: 
                     42:     int gfx_width;
                     43:     int gfx_height;
                     44:     int gfx_lores;
                     45:     int gfx_linedbl;
                     46:     int gfx_correct_aspect;
1.1.1.5 ! root       47:     int gfx_afullscreen;
        !            48:     int gfx_pfullscreen;
1.1.1.3   root       49:     int gfx_xcenter;
                     50:     int gfx_ycenter;
                     51:     int color_mode;
                     52: 
                     53:     /* X11 specific options */
                     54:     int use_low_bandwidth;
                     55:     int use_mitshm;
1.1.1.5 ! root       56:     int use_dgamode;
1.1.1.3   root       57: 
                     58:     int blits_32bit_enabled;
                     59:     int immediate_blits;
                     60: 
                     61:     char df[4][256];
                     62: 
                     63:     int m68k_speed;
                     64:     int cpu_level;
                     65:     int cpu_compatible;
                     66:     int address_space_24;
1.1.1.5 ! root       67:     
        !            68:     uae_u32 z3fastmem_size;
        !            69:     uae_u32 fastmem_size;
        !            70:     uae_u32 chipmem_size;
        !            71:     uae_u32 bogomem_size;
        !            72:     uae_u32 a3000mem_size;
        !            73:     uae_u32 gfxmem_size;
        !            74:     
        !            75:     struct uaedev_mount_info *mountinfo;
1.1.1.3   root       76: };
                     77: 
1.1.1.5 ! root       78: extern void fixup_prefs_dimensions (struct uae_prefs *prefs);
        !            79: 
        !            80: extern void check_prefs_changed_custom (void);
        !            81: extern void check_prefs_changed_cpu (void);
        !            82: extern void check_prefs_changed_audio (void);
        !            83: extern int check_prefs_changed_gfx (void);
        !            84: 
1.1.1.3   root       85: #define JSEM_DECODEVAL(n,v) (((v) >> (n*8)) & 255)
                     86: /* Determine how port n is configured with the value v in fake_joystick */
                     87: #define JSEM_ISJOY0(n,v) (JSEM_DECODEVAL(n,v) == 0)
                     88: #define JSEM_ISJOY1(n,v) (JSEM_DECODEVAL(n,v) == 1)
                     89: #define JSEM_ISMOUSE(n,v) (JSEM_DECODEVAL(n,v) == 2)
                     90: #define JSEM_ISNUMPAD(n,v) (JSEM_DECODEVAL(n,v) == 3)
                     91: #define JSEM_ISCURSOR(n,v) (JSEM_DECODEVAL(n,v) == 4)
                     92: #define JSEM_ISSOMEWHEREELSE(n,v) (JSEM_DECODEVAL(n,v) == 5)
                     93: extern const char *gameport_state (int n);
1.1.1.5 ! root       94: extern int parse_joy_spec (char *spec);
1.1.1.3   root       95: 
                     96: /* These preferences make sense only at startup. */
                     97: extern int no_gui, use_debugger, use_gfxlib;
                     98: 
                     99: extern struct uae_prefs currprefs, changed_prefs;
                    100: 
1.1.1.5 ! root      101: #if __GNUC__ - 1 > 1 || __GNUC_MINOR__ - 1 > 6
        !           102: extern void write_log (const char *, ...) __attribute__ ((format (printf, 1, 2)));
        !           103: #else
        !           104: extern void write_log (const char *, ...);
        !           105: #endif
        !           106: 
1.1.1.3   root      107: extern void machdep_init (void);
1.1       root      108: 
                    109: /* AIX doesn't think it is Unix. Neither do I. */
                    110: #if defined(_ALL_SOURCE) || defined(_AIX)
                    111: #undef __unix
                    112: #define __unix
                    113: #endif
                    114: 
1.1.1.3   root      115: extern char romfile[], keyfile[], prtname[], sername[];
                    116: 
                    117: extern int cloanto_rom;
1.1       root      118: 
1.1.1.2   root      119: #define MAX_COLOR_MODES 5
1.1       root      120: 
1.1.1.2   root      121: extern int fast_memcmp(const void *foo, const void *bar, int len);
                    122: extern int memcmpy(void *foo, const void *bar, int len);
1.1       root      123: 
                    124: /*
                    125:  * You can specify numbers from 0 to 5 here. It is possible that higher
                    126:  * numbers will make the CPU emulation slightly faster, but if the setting
                    127:  * is too high, you will run out of memory while compiling.
                    128:  * Best to leave this as it is.
                    129:  */
                    130: #define CPU_EMU_SIZE 0
                    131: 
                    132: /* #define NEED_TO_DEBUG_BADLY */
                    133: 
1.1.1.2   root      134: #if !defined(USER_PROGRAMS_BEHAVE)
                    135: #define USER_PROGRAMS_BEHAVE 0
                    136: #endif
                    137: 
1.1.1.3   root      138: /* Some memsets which know that they can safely overwrite some more memory
                    139:  * at both ends and use that knowledge to align the pointers. */
                    140: 
1.1.1.2   root      141: #define QUADRUPLIFY(c) (((c) | ((c) << 8)) | (((c) | ((c) << 8)) << 16))
                    142: 
                    143: /* When you call this routine, bear in mind that it rounds the bounds and
                    144:  * may need some padding for the array. */
                    145: 
                    146: #define fuzzy_memset(p, c, o, l) fuzzy_memset_1 ((p), QUADRUPLIFY (c), (o) & ~3, ((l) + 4) >> 2)
1.1.1.3   root      147: static __inline__ void fuzzy_memset_1 (void *p, uae_u32 c, int offset, int len)
1.1.1.2   root      148: {
1.1.1.3   root      149:     uae_u32 *p2 = (uae_u32 *)((char *)p + offset);
1.1.1.2   root      150:     int a = len & 7;
                    151:     len >>= 3;
                    152:     switch (a) {
                    153:      case 7: p2--; goto l1;
                    154:      case 6: p2-=2; goto l2;
                    155:      case 5: p2-=3; goto l3;
                    156:      case 4: p2-=4; goto l4;
                    157:      case 3: p2-=5; goto l5;
                    158:      case 2: p2-=6; goto l6;
                    159:      case 1: p2-=7; goto l7;
1.1.1.3   root      160:      case 0: if (!--len) return; break;
1.1.1.2   root      161:     }
                    162: 
                    163:     for (;;) {
                    164:        p2[0] = c;
                    165:        l1:
                    166:        p2[1] = c;
                    167:        l2:
                    168:        p2[2] = c;
                    169:        l3:
                    170:        p2[3] = c;
                    171:        l4:
                    172:        p2[4] = c;
                    173:        l5:
                    174:        p2[5] = c;
                    175:        l6:
                    176:        p2[6] = c;
                    177:        l7:
                    178:        p2[7] = c;
1.1.1.3   root      179: 
1.1.1.2   root      180:        if (!len)
                    181:            break;
                    182:        len--;
                    183:        p2 += 8;
                    184:     }
                    185: }
                    186: 
1.1.1.3   root      187: #define fuzzy_memset_le32(p, c, o, l) fuzzy_memset_le32_1 ((p), QUADRUPLIFY (c), (o) & ~3, ((l) + 7) >> 2)
                    188: static __inline__ void fuzzy_memset_le32_1 (void *p, uae_u32 c, int offset, int len)
1.1.1.2   root      189: {
1.1.1.3   root      190:     uae_u32 *p2 = (uae_u32 *)((char *)p + offset);
1.1.1.2   root      191: 
                    192:     switch (len) {
                    193:      case 9: p2[0] = c; p2[1] = c; p2[2] = c; p2[3] = c; p2[4] = c; p2[5] = c; p2[6] = c; p2[7] = c; p2[8] = c; break;
                    194:      case 8: p2[0] = c; p2[1] = c; p2[2] = c; p2[3] = c; p2[4] = c; p2[5] = c; p2[6] = c; p2[7] = c; break;
                    195:      case 7: p2[0] = c; p2[1] = c; p2[2] = c; p2[3] = c; p2[4] = c; p2[5] = c; p2[6] = c; break;
                    196:      case 6: p2[0] = c; p2[1] = c; p2[2] = c; p2[3] = c; p2[4] = c; p2[5] = c; break;
                    197:      case 5: p2[0] = c; p2[1] = c; p2[2] = c; p2[3] = c; p2[4] = c; break;
                    198:      case 4: p2[0] = c; p2[1] = c; p2[2] = c; p2[3] = c; break;
                    199:      case 3: p2[0] = c; p2[1] = c; p2[2] = c; break;
                    200:      case 2: p2[0] = c; p2[1] = c; break;
                    201:      case 1: p2[0] = c; break;
                    202:      case 0: break;
                    203:      default: printf("Hit the programmer.\n"); break;
                    204:     }
                    205: }
                    206: 
1.1.1.3   root      207: #if defined(AMIGA) && defined(__GNUC__)
                    208: #include "od-amiga/amiga-kludges.h"
                    209: #endif

unix.superglobalmegacorp.com

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