/[qemu]/qemu/vl.c
ViewVC logotype

Diff of /qemu/vl.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.136 by bellard, Sat Sep 3 21:33:43 2005 UTC revision 1.137 by bellard, Sun Oct 30 18:58:21 2005 UTC
# Line 127  int nb_nics; Line 127  int nb_nics;
127  NetDriverState nd_table[MAX_NICS];  NetDriverState nd_table[MAX_NICS];
128  QEMUTimer *gui_timer;  QEMUTimer *gui_timer;
129  int vm_running;  int vm_running;
130    #ifdef HAS_AUDIO
131  int audio_enabled = 0;  int audio_enabled = 0;
132  int sb16_enabled = 1;  int sb16_enabled = 0;
133  int adlib_enabled = 1;  int adlib_enabled = 0;
134  int gus_enabled = 1;  int gus_enabled = 0;
135    int es1370_enabled = 0;
136    #endif
137  int pci_enabled = 1;  int pci_enabled = 1;
138  int prep_enabled = 0;  int prep_enabled = 0;
139  int rtc_utc = 1;  int rtc_utc = 1;
# Line 930  static void init_timers(void) Line 933  static void init_timers(void)
933  #ifdef _WIN32  #ifdef _WIN32
934      {      {
935          int count=0;          int count=0;
936          timerID = timeSetEvent(10,    // interval (ms)          timerID = timeSetEvent(1,     // interval (ms)
937                                 0,     // resolution                                 0,     // resolution
938                                 host_alarm_handler, // function                                 host_alarm_handler, // function
939                                 (DWORD)&count,  // user parameter                                 (DWORD)&count,  // user parameter
# Line 2837  void help(void) Line 2840  void help(void)
2840  #ifndef _WIN32  #ifndef _WIN32
2841             "-k language     use keyboard layout (for example \"fr\" for French)\n"             "-k language     use keyboard layout (for example \"fr\" for French)\n"
2842  #endif  #endif
2843    #ifdef HAS_AUDIO
2844             "-enable-audio   enable audio support\n"             "-enable-audio   enable audio support\n"
2845               "-audio-help     print list of audio drivers and their options\n"
2846               "-soundhw c1,... comma separated list of sound card names\n"
2847               "                use -soundhw ? to get the list of supported sound cards\n"
2848    #endif
2849             "-localtime      set the real time clock to local time [default=utc]\n"             "-localtime      set the real time clock to local time [default=utc]\n"
2850             "-full-screen    start in full screen\n"             "-full-screen    start in full screen\n"
2851  #ifdef TARGET_I386  #ifdef TARGET_I386
# Line 2935  enum { Line 2943  enum {
2943      QEMU_OPTION_snapshot,      QEMU_OPTION_snapshot,
2944      QEMU_OPTION_m,      QEMU_OPTION_m,
2945      QEMU_OPTION_nographic,      QEMU_OPTION_nographic,
2946    #ifdef HAS_AUDIO
2947      QEMU_OPTION_enable_audio,      QEMU_OPTION_enable_audio,
2948        QEMU_OPTION_audio_help,
2949        QEMU_OPTION_soundhw,
2950    #endif
2951    
2952      QEMU_OPTION_nics,      QEMU_OPTION_nics,
2953      QEMU_OPTION_macaddr,      QEMU_OPTION_macaddr,
# Line 2998  const QEMUOption qemu_options[] = { Line 3010  const QEMUOption qemu_options[] = {
3010      { "m", HAS_ARG, QEMU_OPTION_m },      { "m", HAS_ARG, QEMU_OPTION_m },
3011      { "nographic", 0, QEMU_OPTION_nographic },      { "nographic", 0, QEMU_OPTION_nographic },
3012      { "k", HAS_ARG, QEMU_OPTION_k },      { "k", HAS_ARG, QEMU_OPTION_k },
3013    #ifdef HAS_AUDIO
3014      { "enable-audio", 0, QEMU_OPTION_enable_audio },      { "enable-audio", 0, QEMU_OPTION_enable_audio },
3015        { "audio-help", 0, QEMU_OPTION_audio_help },
3016        { "soundhw", HAS_ARG, QEMU_OPTION_soundhw },
3017    #endif
3018    
3019      { "nics", HAS_ARG, QEMU_OPTION_nics},      { "nics", HAS_ARG, QEMU_OPTION_nics},
3020      { "macaddr", HAS_ARG, QEMU_OPTION_macaddr},      { "macaddr", HAS_ARG, QEMU_OPTION_macaddr},
# Line 3117  void register_machines(void) Line 3133  void register_machines(void)
3133  #endif  #endif
3134  }  }
3135    
3136    #ifdef HAS_AUDIO
3137    static void select_soundhw (const char *optarg)
3138    {
3139        if (*optarg == '?') {
3140        show_valid_cards:
3141            printf ("Valid sound card names (comma separated):\n");
3142            printf ("sb16       Creative Sound Blaster 16\n");
3143    #ifdef CONFIG_ADLIB
3144    #ifdef HAS_YMF262
3145            printf ("adlib      Ymaha YMF262 (OPL3)\n");
3146    #else
3147            printf ("adlib      Ymaha YM3812 (OPL2)\n");
3148    #endif
3149    #endif
3150    #ifdef CONFIG_GUS
3151            printf ("gus        Gravis Ultrasound GF1\n");
3152    #endif
3153            printf ("es1370     ENSONIQ AudioPCI ES1370\n");
3154            exit (*optarg != '?');
3155        }
3156        else {
3157            struct {
3158                char *name;
3159                int *enabledp;
3160            } soundhw_tab[] = {
3161                { "sb16", &sb16_enabled },
3162    #ifdef CONFIG_ADLIB
3163                { "adlib", &adlib_enabled },
3164    #endif
3165    #ifdef CONFIG_GUS
3166                { "gus", &gus_enabled },
3167    #endif
3168                { "es1370", &es1370_enabled },
3169            };
3170            size_t tablen, l, i;
3171            const char *p;
3172            char *e;
3173            int bad_card = 0;
3174    
3175            p = optarg;
3176            tablen = sizeof (soundhw_tab) / sizeof (soundhw_tab[0]);
3177    
3178            while (*p) {
3179                e = strchr (p, ',');
3180                l = !e ? strlen (p) : (size_t) (e - p);
3181                for (i = 0; i < tablen; ++i) {
3182                    if (!strncmp (soundhw_tab[i].name, p, l)) {
3183                        audio_enabled = 1;
3184                        *soundhw_tab[i].enabledp = 1;
3185                        break;
3186                    }
3187                }
3188                if (i == tablen) {
3189                    if (l > 80) {
3190                        fprintf (stderr,
3191                                 "Unknown sound card name (too big to show)\n");
3192                    }
3193                    else {
3194                        fprintf (stderr, "Unknown sound card name `%.*s'\n",
3195                                 (int) l, p);
3196                    }
3197                    bad_card = 1;
3198                }
3199                p += l + (e != NULL);
3200            }
3201    
3202            if (bad_card)
3203                goto show_valid_cards;
3204        }
3205    }
3206    #endif
3207    
3208  #define NET_IF_TUN   0  #define NET_IF_TUN   0
3209  #define NET_IF_USER  1  #define NET_IF_USER  1
3210  #define NET_IF_DUMMY 2  #define NET_IF_DUMMY 2
# Line 3401  int main(int argc, char **argv) Line 3489  int main(int argc, char **argv)
3489              case QEMU_OPTION_dummy_net:              case QEMU_OPTION_dummy_net:
3490                  net_if_type = NET_IF_DUMMY;                  net_if_type = NET_IF_DUMMY;
3491                  break;                  break;
3492    #ifdef HAS_AUDIO
3493              case QEMU_OPTION_enable_audio:              case QEMU_OPTION_enable_audio:
3494                  audio_enabled = 1;                  audio_enabled = 1;
3495                    sb16_enabled = 1;
3496                    adlib_enabled = 1;
3497                    gus_enabled = 1;
3498                    es1370_enabled = 1;
3499                    break;
3500                case QEMU_OPTION_audio_help:
3501                    AUD_help ();
3502                    exit (0);
3503                    break;
3504                case QEMU_OPTION_soundhw:
3505                    select_soundhw (optarg);
3506                  break;                  break;
3507    #endif
3508              case QEMU_OPTION_h:              case QEMU_OPTION_h:
3509                  help();                  help();
3510                  break;                  break;

Legend:
Removed from v.1.136  
changed lines
  Added in v.1.137

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26