patch-2.1.67 linux/drivers/sound/configure.c

Next file: linux/drivers/sound/cs4232.c
Previous file: linux/drivers/sound/audio.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.66/linux/drivers/sound/configure.c linux/drivers/sound/configure.c
@@ -87,12 +87,12 @@
 
 typedef struct
   {
-    unsigned long   conditions;
-    unsigned long   exclusive_options;
-    char            macro[20];
-    int             verify;
-    int             alias;
-    int             default_answ;
+	  unsigned long   conditions;
+	  unsigned long   exclusive_options;
+	  char            macro[20];
+	  int             verify;
+	  int             alias;
+	  int             default_answ;
   }
 
 hw_entry;
@@ -117,209 +117,209 @@
 /*
  * 0
  */
-  {0, 0, "PAS", 1, 0, 0},
-  {0, 0, "SB", 1, 0, 0},
-  {0, B (OPT_PAS) | B (OPT_SB), "ADLIB", 1, 0, 0},
-
-  {0, 0, "GUS", 1, 0, 0},
-  {0, 0, "MPU401", 1, 0, 0},
-  {0, 0, "UART6850", 1, 0, 0},
-  {0, 0, "PSS", 1, 0, 0},
-  {B (OPT_GUS), 0, "GUS16", 1, 0, 0},
-  {B (OPT_GUS), B (OPT_GUS16), "GUSMAX", 1, 0, 0},
-  {0, 0, "MSS", 1, 0, 0},
-  {0, 0, "SSCAPE", 1, 0, 0},
-  {0, 0, "TRIX", 1, 0, 0},
-  {0, 0, "MAD16", 1, 0, 0},
-  {0, 0, "CS4232", 1, 0, 0},
-  {0, 0, "MAUI", 1, 0, 0},
-  {0, 0, "SPNP", 1, 0, 0},
-  {0, 0, "OPL3SA1", 1, 0, 0},
-  {0, 0, "SOFTOSS", 1, 0, 0},
-
-  {B (OPT_SB), B (OPT_PAS), "UNUSED1", 1, 0, 1},
-  {B (OPT_SB) | B (OPT_UNUSED1), B (OPT_PAS), "UNUSED2", 1, 0, 1},
-  {B (OPT_UNUSED1) | B (OPT_MSS) | B (OPT_MPU401), 0, "AEDSP16", 1, 0, 0},
-  {AUDIO_CARDS, 0, "UNUSED3", 1, 0, 1},
-  {B (OPT_MPU401) | B (OPT_MAUI), 0, "UNUSED4", 0, 0, 0},
-  {MIDI_CARDS, 0, "UNUSED5", 1, 0, 1},
-  {B (OPT_ADLIB), 0, "YM3812_AUTO", 0, OPT_YM3812, 0},
-  {B (OPT_PSS) | B (OPT_SB) | B (OPT_PAS) | B (OPT_ADLIB) | B (OPT_MSS) | B (OPT_PSS), B (OPT_YM3812_AUTO), "YM3812", 1, 0, 1}
+	{0, 0, "PAS", 1, 0, 0},
+	{0, 0, "SB", 1, 0, 0},
+	{0, B(OPT_PAS) | B(OPT_SB), "ADLIB", 1, 0, 0},
+
+	{0, 0, "GUS", 1, 0, 0},
+	{0, 0, "MPU401", 1, 0, 0},
+	{0, 0, "UART6850", 1, 0, 0},
+	{0, 0, "PSS", 1, 0, 0},
+	{B(OPT_GUS), 0, "GUS16", 1, 0, 0},
+	{B(OPT_GUS), B(OPT_GUS16), "GUSMAX", 1, 0, 0},
+	{0, 0, "MSS", 1, 0, 0},
+	{0, 0, "SSCAPE", 1, 0, 0},
+	{0, 0, "TRIX", 1, 0, 0},
+	{0, 0, "MAD16", 1, 0, 0},
+	{0, 0, "CS4232", 1, 0, 0},
+	{0, 0, "MAUI", 1, 0, 0},
+	{0, 0, "SPNP", 1, 0, 0},
+	{0, 0, "OPL3SA1", 1, 0, 0},
+	{0, 0, "SOFTOSS", 1, 0, 0},
+
+	{B(OPT_SB), B(OPT_PAS), "UNUSED1", 1, 0, 1},
+	{B(OPT_SB) | B(OPT_UNUSED1), B(OPT_PAS), "UNUSED2", 1, 0, 1},
+    {B(OPT_UNUSED1) | B(OPT_MSS) | B(OPT_MPU401), 0, "AEDSP16", 1, 0, 0},
+	{AUDIO_CARDS, 0, "UNUSED3", 1, 0, 1},
+	{B(OPT_MPU401) | B(OPT_MAUI), 0, "UNUSED4", 0, 0, 0},
+	{MIDI_CARDS, 0, "UNUSED5", 1, 0, 1},
+	{B(OPT_ADLIB), 0, "YM3812_AUTO", 0, OPT_YM3812, 0},
+	{B(OPT_PSS) | B(OPT_SB) | B(OPT_PAS) | B(OPT_ADLIB) | B(OPT_MSS) | B(OPT_PSS), B(OPT_YM3812_AUTO), "YM3812", 1, 0, 1}
 };
 
 char           *questions[] =
 {
-  "ProAudioSpectrum 16 support",
-  "100%% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support",
-  "Generic OPL2/OPL3 FM synthesizer support",
-  "Gravis Ultrasound support",
-  "MPU-401 support (NOT for SB16)",
-  "6850 UART Midi support",
-  "PSS (ECHO-ADI2111) support",
-  "16 bit sampling option of GUS (_NOT_ GUS MAX)",
-  "GUS MAX support",
-  "Microsoft Sound System support",
-  "Ensoniq SoundScape support",
-  "MediaTrix AudioTrix Pro support",
-  "Support for OPTi MAD16 and/or Mozart based cards",
-  "Support for Crystal CS4232 based (PnP) cards",
-  "Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers",
-  "Support for PnP sound cards (_EXPERIMENTAL_)",
-  "Yamaha OPL3-SA1 audio controller",
-  "SoftOSS software wave table engine",
-
-  "*** Unused option 1 ***",
-  "*** Unused option 2 ***",
-  "Audio Excel DSP 16 initialization support",
-  "*** Unused option 3 ***",
-  "*** Unused option 4 ***",
-  "*** Unused option 5 ***",
-  "This should not be asked",
-  "FM synthesizer (YM3812/OPL-3) support",
-  "Is the sky really falling"
+	"ProAudioSpectrum 16 support",
+     "100%% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support",
+	"Generic OPL2/OPL3 FM synthesizer support",
+	"Gravis Ultrasound support",
+	"MPU-401 support (NOT for SB16)",
+	"6850 UART Midi support",
+	"PSS (ECHO-ADI2111) support",
+	"16 bit sampling option of GUS (_NOT_ GUS MAX)",
+	"GUS MAX support",
+	"Microsoft Sound System support",
+	"Ensoniq SoundScape support",
+	"MediaTrix AudioTrix Pro support",
+	"Support for OPTi MAD16 and/or Mozart based cards",
+	"Support for Crystal CS4232 based (PnP) cards",
+	"Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers",
+	"Support for PnP sound cards (_EXPERIMENTAL_)",
+	"Yamaha OPL3-SA1 audio controller",
+	"SoftOSS software wave table engine",
+
+	"*** Unused option 1 ***",
+	"*** Unused option 2 ***",
+	"Audio Excel DSP 16 initialization support",
+	"*** Unused option 3 ***",
+	"*** Unused option 4 ***",
+	"*** Unused option 5 ***",
+	"This should not be asked",
+	"FM synthesizer (YM3812/OPL-3) support",
+	"Is the sky really falling"
 };
 
 /* help text for each option */
 char           *help[] =
 {
-  "Enable this option only if you have a Pro Audio Spectrum 16,\n"
-  "Pro Audio Studio 16, or Logitech SoundMan 16. Don't enable this if\n"
-  "you have some other card made by MediaVision or Logitech as\n"
-  "they are not PAS16 compatible.\n",
+	"Enable this option only if you have a Pro Audio Spectrum 16,\n"
+   "Pro Audio Studio 16, or Logitech SoundMan 16. Don't enable this if\n"
+	"you have some other card made by MediaVision or Logitech as\n"
+	"they are not PAS16 compatible.\n",
 
-  "Enable this if you have an original Sound Blaster card made by\n"
-  "Creative Labs or a 100%% hardware compatible clone. For an\n"
-  "unknown card you may want to try this if it claims to be\n"
-  "Sound Blaster compatible.\n",
+	"Enable this if you have an original Sound Blaster card made by\n"
+	"Creative Labs or a 100%% hardware compatible clone. For an\n"
+	"unknown card you may want to try this if it claims to be\n"
+	"Sound Blaster compatible.\n",
 
-  "Enable this option if your sound card has a Yamaha OPL2 or OPL3\n"
-  "FM synthesizer chip.\n",
+      "Enable this option if your sound card has a Yamaha OPL2 or OPL3\n"
+	"FM synthesizer chip.\n",
 
-  "Enable this option for any type of Gravis Ultrasound card\n"
-  "including the GUS or GUS MAX.\n",
+	"Enable this option for any type of Gravis Ultrasound card\n"
+	"including the GUS or GUS MAX.\n",
 
-  "The MPU401 interface is supported by almost all sound cards. However,\n"
-  "some natively supported cards have their own driver for\n"
-  "MPU401. Enabling the MPU401 option with these cards will cause a\n"
-  "conflict. Also enabling MPU401 on a system that doesn't really have a\n"
-  "MPU401 could cause some trouble. It's safe to enable this if you have a\n"
-  "true MPU401 MIDI interface card.\n",
+"The MPU401 interface is supported by almost all sound cards. However,\n"
+	"some natively supported cards have their own driver for\n"
+     "MPU401. Enabling the MPU401 option with these cards will cause a\n"
+"conflict. Also enabling MPU401 on a system that doesn't really have a\n"
+	"MPU401 could cause some trouble. It's safe to enable this if you have a\n"
+	"true MPU401 MIDI interface card.\n",
 
-  "This option enables support for MIDI interfaces based on the 6850\n"
-  "UART chip. This interface is rarely found on sound cards.\n",
+    "This option enables support for MIDI interfaces based on the 6850\n"
+	"UART chip. This interface is rarely found on sound cards.\n",
 
-  "Enable this option if you have an Orchid SW32, Cardinal DSP16 or other\n"
-  "sound card based on the PSS chipset (AD1848 codec, ADSP-2115 DSP chip,\n"
-  "and Echo ESC614 ASIC CHIP).\n",
+"Enable this option if you have an Orchid SW32, Cardinal DSP16 or other\n"
+"sound card based on the PSS chipset (AD1848 codec, ADSP-2115 DSP chip,\n"
+	"and Echo ESC614 ASIC CHIP).\n",
 
-  "Enable this if you have installed the 16-bit sampling daughtercard on\n"
-  "your GUS card. Do not use if you have a GUS MAX as enabling this option\n"
-  "disables GUS MAX support.\n",
+"Enable this if you have installed the 16-bit sampling daughtercard on\n"
+	"your GUS card. Do not use if you have a GUS MAX as enabling this option\n"
+	"disables GUS MAX support.\n",
 
-  "Enable this option if you have a Gravis Ultrasound MAX sound\n"
-  "card\n",
+	"Enable this option if you have a Gravis Ultrasound MAX sound\n"
+	"card\n",
 
-  "Enable this option if you have the original Windows Sound System\n"
-  "card made by Microsoft or the Aztech SG 16 Pro or NX16 Pro.\n",
+     "Enable this option if you have the original Windows Sound System\n"
+	"card made by Microsoft or the Aztech SG 16 Pro or NX16 Pro.\n",
 
-  "Enable this if you have a sound card based on the Ensoniq\n"
-  "SoundScape chipset. Such cards are being manufactured by Ensoniq,\n"
-  "Spea and Reveal (Reveal makes other cards as well).\n",
+	"Enable this if you have a sound card based on the Ensoniq\n"
+    "SoundScape chipset. Such cards are being manufactured by Ensoniq,\n"
+	"Spea and Reveal (Reveal makes other cards as well).\n",
 
-  "Enable this option if you have the AudioTrix Pro sound card\n"
-  "manufactured by MediaTrix.\n",
+	"Enable this option if you have the AudioTrix Pro sound card\n"
+	"manufactured by MediaTrix.\n",
 
-  "Enable this if your card has a Mozart (OAK OTI-601) or MAD16 (OPTi\n"
-  "82C928 or 82C929) audio interface chip. These chips are currently\n"
-  "quite common so it's possible that many no-name cards have one of\n"
-  "them. In addition the MAD16 chip is used in some cards made by known\n"
-  "manufacturers such as Turtle Beach (Tropez), Reveal (some models) and\n"
-  "Diamond (latest ones).\n",
+   "Enable this if your card has a Mozart (OAK OTI-601) or MAD16 (OPTi\n"
+    "82C928 or 82C929) audio interface chip. These chips are currently\n"
+    "quite common so it's possible that many no-name cards have one of\n"
+ "them. In addition the MAD16 chip is used in some cards made by known\n"
+"manufacturers such as Turtle Beach (Tropez), Reveal (some models) and\n"
+	"Diamond (latest ones).\n",
 
-  "Enable this if you have a card based on the Crystal CS4232 chip set.\n",
+"Enable this if you have a card based on the Crystal CS4232 chip set.\n",
 
-  "Enable this option if you have a Turtle Beach Wave Front, Maui,\n"
-  "or Tropez sound card.\n",
+      "Enable this option if you have a Turtle Beach Wave Front, Maui,\n"
+	"or Tropez sound card.\n",
 
-  "Use this option to enable experimental support for cards that\n"
-  "use the Plug and Play protocol.\n",
+	"Use this option to enable experimental support for cards that\n"
+	"use the Plug and Play protocol.\n",
 
-  "Use this option with Yamaha OPL3-SA1 (YMF701) chip.\n",
+	"Use this option with Yamaha OPL3-SA1 (YMF701) chip.\n",
 
-  "SoftOSS is a virtual wave table engine by 4Front Technologies. It can\n"
-  "be used together with any 16 bit stereo soundcard.\n"
+"SoftOSS is a virtual wave table engine by 4Front Technologies. It can\n"
+	"be used together with any 16 bit stereo soundcard.\n"
 
-  "Enable this option if your card is a Sound Blaster Pro or\n"
-  "Sound Blaster 16. It also works with many Sound Blaster Pro clones.\n",
+	"Enable this option if your card is a Sound Blaster Pro or\n"
+ "Sound Blaster 16. It also works with many Sound Blaster Pro clones.\n",
 
-  "Enable this if you have a Sound Blaster 16, including the AWE32.\n",
+    "Enable this if you have a Sound Blaster 16, including the AWE32.\n",
 
-  "Enable this if you have an Audio Excel DSP16 card. See the file\n"
-  "Readme.aedsp16 for more information.\n",
+      "Enable this if you have an Audio Excel DSP16 card. See the file\n"
+	"Readme.aedsp16 for more information.\n",
 
-  "This option enables the A/D and D/A converter (PCM) devices\n"
-  "supported by almost all sound cards.\n",
+	"This option enables the A/D and D/A converter (PCM) devices\n"
+	"supported by almost all sound cards.\n",
 
-  "This should not be asked",
+	"This should not be asked",
 
-  "This enables the dev/midixx devices and access to any MIDI ports\n"
-  "using /dev/sequencer and /dev/music. This option also affects any\n"
-  "MPU401 and/or General MIDI compatible devices.\n",
+     "This enables the dev/midixx devices and access to any MIDI ports\n"
+    "using /dev/sequencer and /dev/music. This option also affects any\n"
+	"MPU401 and/or General MIDI compatible devices.\n",
 
-  "This should not be asked",
+	"This should not be asked",
 
-  "This enables the Yamaha FM synthesizer chip used on many sound\n"
-  "cards.\n",
+	"This enables the Yamaha FM synthesizer chip used on many sound\n"
+	"cards.\n",
 
-  "Is the sky really falling"
+	"Is the sky really falling"
 };
 
 struct kludge
   {
-    char           *name;
-    int             mask;
+	  char           *name;
+	  int             mask;
   }
 extra_options[] =
 {
-  {
-    "MPU_EMU", MPU_DEVS
-  }
-  ,
-  {
-    "AD1848", AD1848_DEVS
-  }
-  ,
-  {
-    "SBDSP", SBDSP_DEVS
-  }
-  ,
-  {
-    "UART401", UART401_DEVS
-  }
-  ,
-  {
-    "GUSHW", B (OPT_GUS) | B (OPT_SPNP)
-  }
-  ,
-  {
-    "SSCAPEHW", B (OPT_SSCAPE) | B (OPT_SPNP)
-  }
-  ,
-  {
-    "SEQUENCER", SEQUENCER_DEVS
-  }
-  ,
-  {
-    "AUDIO", AUDIO_CARDS
-  }
-  ,
-  {
-    "MIDI", MIDI_CARDS
-  }
-  ,
-  {
-    NULL, 0
-  }
+	{
+		"MPU_EMU", MPU_DEVS
+	}
+	,
+	{
+		"AD1848", AD1848_DEVS
+	}
+	,
+	{
+		"SBDSP", SBDSP_DEVS
+	}
+	,
+	{
+		"UART401", UART401_DEVS
+	}
+	,
+	{
+		"GUSHW", B(OPT_GUS) | B(OPT_SPNP)
+	}
+	,
+	{
+		"SSCAPEHW", B(OPT_SSCAPE) | B(OPT_SPNP)
+	}
+	,
+	{
+		"SEQUENCER", SEQUENCER_DEVS
+	}
+	,
+	{
+		"AUDIO", AUDIO_CARDS
+	}
+	,
+	{
+		"MIDI", MIDI_CARDS
+	}
+	,
+	{
+		NULL, 0
+	}
 };
 
 char           *oldconf = "/etc/soundconf";
@@ -332,1377 +332,1338 @@
 
 int             dump_only = 0;
 
-void            build_defines (void);
+void            build_defines(void);
 
 #include "hex2hex.h"
-int             bin2hex (char *path, char *target, char *varname);
+int             bin2hex(char *path, char *target, char *varname);
 
 int
-can_select_option (int nr)
+can_select_option(int nr)
 {
 
-  if (hw_table[nr].conditions)
-    if (!(hw_table[nr].conditions & selected_options))
-      return 0;
-
-  if (hw_table[nr].exclusive_options)
-    if (hw_table[nr].exclusive_options & selected_options)
-      return 0;
+	if (hw_table[nr].conditions)
+		if (!(hw_table[nr].conditions & selected_options))
+			return 0;
+
+	if (hw_table[nr].exclusive_options)
+		if (hw_table[nr].exclusive_options & selected_options)
+			return 0;
 
-  if (DISABLED_OPTIONS & B (nr))
-    return 0;
+	if (DISABLED_OPTIONS & B(nr))
+		return 0;
 
-  return 1;
+	return 1;
 }
 
 int
-think_positively (char *prompt, int def_answ, char *help)
+think_positively(char *prompt, int def_answ, char *help)
 {
-  char            answ[512];
-  int             len;
+	char            answ[512];
+	int             len;
 
-response:
-  fprintf (stderr, prompt);
-  if (def_answ)
-    fprintf (stderr, " [Y/n/?] ");
-  else
-    fprintf (stderr, " [N/y/?] ");
-
-  if ((len = read (0, answ, sizeof (answ))) < 1)
-    {
-      fprintf (stderr, "\n\nERROR! Cannot read stdin\n");
-
-      perror ("stdin");
-      printf ("invalid_configuration__run_make_config_again\n");
-      exit (-1);
-    }
+      response:
+	fprintf(stderr, prompt);
+	if (def_answ)
+		fprintf(stderr, " [Y/n/?] ");
+	else
+		fprintf(stderr, " [N/y/?] ");
 
-  if (len < 2)			/*
+	if ((len = read(0, answ, sizeof(answ))) < 1)
+	  {
+		  fprintf(stderr, "\n\nERROR! Cannot read stdin\n");
+
+		  perror("stdin");
+		  printf("invalid_configuration__run_make_config_again\n");
+		  exit(-1);
+	  }
+	if (len < 2)		/*
 				 * There is an additional LF at the end
 				 */
-    return def_answ;
+		return def_answ;
 
-  if (answ[0] == '?')
-    {				/* display help message */
-      fprintf (stderr, "\n");
-      fprintf (stderr, help);
-      fprintf (stderr, "\n");
-      goto response;
-    }
-
-  answ[len - 1] = 0;
+	if (answ[0] == '?')
+	  {			/* display help message */
+		  fprintf(stderr, "\n");
+		  fprintf(stderr, help);
+		  fprintf(stderr, "\n");
+		  goto response;
+	  }
+	answ[len - 1] = 0;
 
-  if (!strcmp (answ, "y") || !strcmp (answ, "Y"))
-    return 1;
+	if (!strcmp(answ, "y") || !strcmp(answ, "Y"))
+		return 1;
 
-  return 0;
+	return 0;
 }
 
 int
-ask_value (char *format, int default_answer)
+ask_value(char *format, int default_answer)
 {
-  char            answ[512];
-  int             len, num;
+	char            answ[512];
+	int             len, num;
 
-play_it_again_Sam:
+      play_it_again_Sam:
 
-  if ((len = read (0, answ, sizeof (answ))) < 1)
-    {
-      fprintf (stderr, "\n\nERROR! Cannot read stdin\n");
-
-      perror ("stdin");
-      printf ("invalid_configuration__run_make_config_again\n");
-      exit (-1);
-    }
+	if ((len = read(0, answ, sizeof(answ))) < 1)
+	  {
+		  fprintf(stderr, "\n\nERROR! Cannot read stdin\n");
 
-  if (len < 2)			/*
+		  perror("stdin");
+		  printf("invalid_configuration__run_make_config_again\n");
+		  exit(-1);
+	  }
+	if (len < 2)		/*
 				 * There is an additional LF at the end
 				 */
-    return default_answer;
-
-  answ[len - 1] = 0;
+		return default_answer;
 
-  if (sscanf (answ, format, &num) != 1)
-    {
-      fprintf (stderr, "Illegal format. Try again: ");
-      goto play_it_again_Sam;
-    }
+	answ[len - 1] = 0;
 
-  return num;
+	if (sscanf(answ, format, &num) != 1)
+	  {
+		  fprintf(stderr, "Illegal format. Try again: ");
+		  goto play_it_again_Sam;
+	  }
+	return num;
 }
 
 #define FMT_HEX 1
 #define FMT_INT 2
 
 void
-show_comment (int mask, char *txt)
+show_comment(int mask, char *txt)
 {
-  int             i;
+	int             i;
 
-  if (dump_only)
-    {
+	if (dump_only)
+	  {
 
-      for (i = 0; i < OPT_LAST; i++)
-	if (mask == B (i))
+		  for (i = 0; i < OPT_LAST; i++)
+			  if (mask == B(i))
+			    {
+				    printf("\n\nif [ \"$CONFIG_%s\" = \"y\" ]; then\n",
+					   hw_table[i].macro);
+				    printf("comment '%s'\n", txt);
+				    printf("fi\n");
+			    }
+	} else
 	  {
-	    printf ("\n\nif [ \"$CONFIG_%s\" = \"y\" ]; then\n",
-		    hw_table[i].macro);
-	    printf ("comment '%s'\n", txt);
-	    printf ("fi\n");
-	  }
-    }
-  else
-    {
-      if (!(mask & selected_options))
-	return;
+		  if (!(mask & selected_options))
+			  return;
 
-      fprintf (stderr, "%s\n", txt);
-    }
+		  fprintf(stderr, "%s\n", txt);
+	  }
 }
 
 void
-ask_int_choice (int mask, char *macro,
-		char *question,
-		int format,
-		int defa,
-		char *choices)
+ask_int_choice(int mask, char *macro,
+	       char *question,
+	       int format,
+	       int defa,
+	       char *choices)
 {
-  int             num, i;
+	int             num, i;
 
-  if (dump_only)
-    {
+	if (dump_only)
+	  {
 
-      for (i = 0; i < OPT_LAST; i++)
-	if (mask == B (i))
+		  for (i = 0; i < OPT_LAST; i++)
+			  if (mask == B(i))
+			    {
+				    unsigned int    j;
+
+				    for (j = 0; j < strlen(choices); j++)
+					    if (choices[j] == '\'')
+						    choices[j] = '_';
+
+				    printf("\nif [ \"$CONFIG_%s\" = \"y\" ]; then\n",
+					   hw_table[i].macro);
+				    if (format == FMT_INT)
+					    printf("int '%s %s' %s %d\n", question, choices, macro, defa);
+				    else
+					    printf("hex '%s %s' %s %x\n", question, choices, macro, defa);
+				    printf("fi\n");
+			    }
+	} else
 	  {
-	    unsigned int    j;
-
-	    for (j = 0; j < strlen (choices); j++)
-	      if (choices[j] == '\'')
-		choices[j] = '_';
-
-	    printf ("\nif [ \"$CONFIG_%s\" = \"y\" ]; then\n",
-		    hw_table[i].macro);
-	    if (format == FMT_INT)
-	      printf ("int '%s %s' %s %d\n", question, choices, macro, defa);
-	    else
-	      printf ("hex '%s %s' %s %x\n", question, choices, macro, defa);
-	    printf ("fi\n");
-	  }
-    }
-  else
-    {
-      if (!(mask & selected_options))
-	return;
-
-      fprintf (stderr, "\n%s\n", question);
-      if (strcmp (choices, ""))
-	fprintf (stderr, "Possible values are: %s\n", choices);
+		  if (!(mask & selected_options))
+			  return;
 
-      if (format == FMT_INT)
-	{
-	  if (defa == -1)
-	    fprintf (stderr, "\t(-1 disables this feature)\n");
-	  fprintf (stderr, "The default value is %d\n", defa);
-	  fprintf (stderr, "Enter the value: ");
-	  num = ask_value ("%d", defa);
-	  if (num == -1)
-	    return;
-	  fprintf (stderr, "%s set to %d.\n", question, num);
-	  printf ("#define %s %d\n", macro, num);
-	}
-      else
-	{
-	  if (defa == 0)
-	    fprintf (stderr, "\t(0 disables this feature)\n");
-	  fprintf (stderr, "The default value is %x\n", defa);
-	  fprintf (stderr, "Enter the value: ");
-	  num = ask_value ("%x", defa);
-	  if (num == 0)
-	    return;
-	  fprintf (stderr, "%s set to %x.\n", question, num);
-	  printf ("#define %s 0x%x\n", macro, num);
-	}
-    }
+		  fprintf(stderr, "\n%s\n", question);
+		  if (strcmp(choices, ""))
+			  fprintf(stderr, "Possible values are: %s\n", choices);
+
+		  if (format == FMT_INT)
+		    {
+			    if (defa == -1)
+				    fprintf(stderr, "\t(-1 disables this feature)\n");
+			    fprintf(stderr, "The default value is %d\n", defa);
+			    fprintf(stderr, "Enter the value: ");
+			    num = ask_value("%d", defa);
+			    if (num == -1)
+				    return;
+			    fprintf(stderr, "%s set to %d.\n", question, num);
+			    printf("#define %s %d\n", macro, num);
+		  } else
+		    {
+			    if (defa == 0)
+				    fprintf(stderr, "\t(0 disables this feature)\n");
+			    fprintf(stderr, "The default value is %x\n", defa);
+			    fprintf(stderr, "Enter the value: ");
+			    num = ask_value("%x", defa);
+			    if (num == 0)
+				    return;
+			    fprintf(stderr, "%s set to %x.\n", question, num);
+			    printf("#define %s 0x%x\n", macro, num);
+		    }
+	  }
 }
 
 void
-rebuild_file (char *line)
+rebuild_file(char *line)
 {
-  char           *method, *next, *old, *var, *p;
+	char           *method, *next, *old, *var, *p;
 
-  method = p = line;
+	method = p = line;
 
-  while (*p && *p != ' ')
-    p++;
-  *p++ = 0;
-
-  old = p;
-  while (*p && *p != ' ')
-    p++;
-  *p++ = 0;
-
-  next = p;
-  while (*p && *p != ' ')
-    p++;
-  *p++ = 0;
-
-  var = p;
-  while (*p && *p != ' ')
-    p++;
-  *p++ = 0;
-
-  fprintf (stderr, "Rebuilding file `%s' (%s %s)\n", next, method, old);
-
-  if (strcmp (method, "bin2hex") == 0)
-    {
-      if (!bin2hex (old, next, var))
-	{
-	  fprintf (stderr, "Rebuild failed\n");
-	  exit (-1);
-	}
-    }
-  else if (strcmp (method, "hex2hex") == 0)
-    {
-      if (!hex2hex (old, next, var))
-	{
-	  fprintf (stderr, "Rebuild failed\n");
-	  exit (-1);
-	}
-    }
-  else
-    {
-      fprintf (stderr, "Failed to build `%s' - unknown method %s\n",
-	       next, method);
-      exit (-1);
-    }
+	while (*p && *p != ' ')
+		p++;
+	*p++ = 0;
+
+	old = p;
+	while (*p && *p != ' ')
+		p++;
+	*p++ = 0;
+
+	next = p;
+	while (*p && *p != ' ')
+		p++;
+	*p++ = 0;
+
+	var = p;
+	while (*p && *p != ' ')
+		p++;
+	*p++ = 0;
+
+	fprintf(stderr, "Rebuilding file `%s' (%s %s)\n", next, method, old);
+
+	if (strcmp(method, "bin2hex") == 0)
+	  {
+		  if (!bin2hex(old, next, var))
+		    {
+			    fprintf(stderr, "Rebuild failed\n");
+			    exit(-1);
+		    }
+	} else if (strcmp(method, "hex2hex") == 0)
+	  {
+		  if (!hex2hex(old, next, var))
+		    {
+			    fprintf(stderr, "Rebuild failed\n");
+			    exit(-1);
+		    }
+	} else
+	  {
+		  fprintf(stderr, "Failed to build `%s' - unknown method %s\n",
+			  next, method);
+		  exit(-1);
+	  }
 }
 
 int
-use_old_config (char *filename)
+use_old_config(char *filename)
 {
-  char            buf[1024];
-  int             i = 0;
+	char            buf[1024];
+	int             i = 0;
 
-  FILE           *oldf;
+	FILE           *oldf;
 
-  fprintf (stderr, "Copying old configuration from `%s'\n", filename);
+	fprintf(stderr, "Copying old configuration from `%s'\n", filename);
 
-  if ((oldf = fopen (filename, "r")) == NULL)
-    {
-      fprintf (stderr, "Couldn't open previous configuration file\n");
-      perror (filename);
-      return 0;
-    }
+	if ((oldf = fopen(filename, "r")) == NULL)
+	  {
+		  fprintf(stderr, "Couldn't open previous configuration file\n");
+		  perror(filename);
+		  return 0;
+	  }
+	while (fgets(buf, 1024, oldf) != NULL)
+	  {
+		  char            tmp[100];
 
-  while (fgets (buf, 1024, oldf) != NULL)
-    {
-      char            tmp[100];
+		  if (buf[0] != '#')
+		    {
+			    printf("%s", buf);
 
-      if (buf[0] != '#')
-	{
-	  printf ("%s", buf);
+			    strncpy(tmp, buf, 8);
+			    tmp[8] = 0;
 
-	  strncpy (tmp, buf, 8);
-	  tmp[8] = 0;
+			    if (strcmp(tmp, "/*build ") == 0)
+				    rebuild_file(&buf[8]);
 
-	  if (strcmp (tmp, "/*build ") == 0)
-	    rebuild_file (&buf[8]);
+			    continue;
+		    }
+		  strncpy(tmp, buf, 8);
+		  tmp[8] = 0;
 
-	  continue;
-	}
+		  if (strcmp(tmp, "#define ") == 0)
+		    {
+			    char           *id = &buf[8];
 
-      strncpy (tmp, buf, 8);
-      tmp[8] = 0;
+			    i = 0;
+			    while (id[i] && id[i] != ' ' &&
+				   id[i] != '\t' && id[i] != '\n')
+				    i++;
+
+			    strncpy(tmp, id, i);
+			    tmp[i] = 0;
+
+			    if (strcmp(tmp, "SELECTED_SOUND_OPTIONS") == 0)
+				    continue;
+
+			    if (strcmp(tmp, "KERNEL_SOUNDCARD") == 0)
+				    continue;
+
+			    if (strcmp(tmp, "JAZZ_DMA16") == 0)		/* Rename it (hack) */
+			      {
+				      printf("#define SB_DMA2 %s\n",
+					     &buf[18]);
+				      continue;
+			      }
+			    if (strcmp(tmp, "SB16_DMA") == 0)	/* Rename it (hack) */
+			      {
+				      printf("#define SB_DMA2 %s\n",
+					     &buf[16]);
+				      continue;
+			      }
+			    tmp[8] = 0;		/* Truncate the string */
+			    if (strcmp(tmp, "EXCLUDE_") == 0)
+				    continue;	/* Skip excludes */
+
+			    strncpy(tmp, id, i);
+			    tmp[7] = 0;		/* Truncate the string */
+
+			    if (strcmp(tmp, "CONFIG_") == 0)
+			      {
+				      strncpy(tmp, &id[7], i - 7);
+				      tmp[i - 7] = 0;
+
+				      for (i = 0; i <= OPT_LAST; i++)
+					      if (strcmp(hw_table[i].macro, tmp) == 0)
+						{
+							selected_options |= (1 << i);
+							break;
+						}
+				      continue;
+			      }
+			    printf("%s", buf);
+			    continue;
+		    }
+		  if (strcmp(tmp, "#undef  ") == 0)
+		    {
+			    char           *id = &buf[8];
 
-      if (strcmp (tmp, "#define ") == 0)
-	{
-	  char           *id = &buf[8];
+			    i = 0;
+			    while (id[i] && id[i] != ' ' &&
+				   id[i] != '\t' && id[i] != '\n')
+				    i++;
+
+			    strncpy(tmp, id, i);
+			    tmp[7] = 0;		/* Truncate the string */
+			    if (strcmp(tmp, "CONFIG_") == 0)
+				    continue;
+
+			    strncpy(tmp, id, i);
+
+			    tmp[8] = 0;		/* Truncate the string */
+			    if (strcmp(tmp, "EXCLUDE_") != 0)
+				    continue;	/* Not a #undef  EXCLUDE_ line */
+			    strncpy(tmp, &id[8], i - 8);
+			    tmp[i - 8] = 0;
+
+			    for (i = 0; i <= OPT_LAST; i++)
+				    if (strcmp(hw_table[i].macro, tmp) == 0)
+				      {
+					      selected_options |= (1 << i);
+					      break;
+				      }
+			    continue;
+		    }
+		  printf("%s", buf);
+	  }
+	fclose(oldf);
 
-	  i = 0;
-	  while (id[i] && id[i] != ' ' &&
-		 id[i] != '\t' && id[i] != '\n')
-	    i++;
-
-	  strncpy (tmp, id, i);
-	  tmp[i] = 0;
-
-	  if (strcmp (tmp, "SELECTED_SOUND_OPTIONS") == 0)
-	    continue;
-
-	  if (strcmp (tmp, "KERNEL_SOUNDCARD") == 0)
-	    continue;
-
-	  if (strcmp (tmp, "JAZZ_DMA16") == 0)	/* Rename it (hack) */
-	    {
-	      printf ("#define SB_DMA2 %s\n",
-		      &buf[18]);
-	      continue;
-	    }
-
-	  if (strcmp (tmp, "SB16_DMA") == 0)	/* Rename it (hack) */
-	    {
-	      printf ("#define SB_DMA2 %s\n",
-		      &buf[16]);
-	      continue;
-	    }
-
-	  tmp[8] = 0;		/* Truncate the string */
-	  if (strcmp (tmp, "EXCLUDE_") == 0)
-	    continue;		/* Skip excludes */
-
-	  strncpy (tmp, id, i);
-	  tmp[7] = 0;		/* Truncate the string */
-
-	  if (strcmp (tmp, "CONFIG_") == 0)
-	    {
-	      strncpy (tmp, &id[7], i - 7);
-	      tmp[i - 7] = 0;
-
-	      for (i = 0; i <= OPT_LAST; i++)
-		if (strcmp (hw_table[i].macro, tmp) == 0)
-		  {
-		    selected_options |= (1 << i);
-		    break;
-		  }
-	      continue;
-	    }
+	for (i = 0; i <= OPT_LAST; i++)
+		if (!hw_table[i].alias)
+			if (selected_options & B(i))
+				printf("#define CONFIG_%s\n", hw_table[i].macro);
+			else
+				printf("#undef  CONFIG_%s\n", hw_table[i].macro);
 
-	  printf ("%s", buf);
-	  continue;
-	}
 
-      if (strcmp (tmp, "#undef  ") == 0)
-	{
-	  char           *id = &buf[8];
+	printf("\n");
 
-	  i = 0;
-	  while (id[i] && id[i] != ' ' &&
-		 id[i] != '\t' && id[i] != '\n')
-	    i++;
-
-	  strncpy (tmp, id, i);
-	  tmp[7] = 0;		/* Truncate the string */
-	  if (strcmp (tmp, "CONFIG_") == 0)
-	    continue;
-
-	  strncpy (tmp, id, i);
-
-	  tmp[8] = 0;		/* Truncate the string */
-	  if (strcmp (tmp, "EXCLUDE_") != 0)
-	    continue;		/* Not a #undef  EXCLUDE_ line */
-	  strncpy (tmp, &id[8], i - 8);
-	  tmp[i - 8] = 0;
-
-	  for (i = 0; i <= OPT_LAST; i++)
-	    if (strcmp (hw_table[i].macro, tmp) == 0)
-	      {
-		selected_options |= (1 << i);
-		break;
-	      }
-	  continue;
-	}
+	i = 0;
+
+	while (extra_options[i].name != NULL)
+	  {
+		  if (selected_options & extra_options[i].mask)
+			  printf("#define CONFIG_%s\n", extra_options[i].name);
+		  else
+			  printf("#undef  CONFIG_%s\n", extra_options[i].name);
+		  i++;
+	  }
 
-      printf ("%s", buf);
-    }
-  fclose (oldf);
-
-  for (i = 0; i <= OPT_LAST; i++)
-    if (!hw_table[i].alias)
-      if (selected_options & B (i))
-	printf ("#define CONFIG_%s\n", hw_table[i].macro);
-      else
-	printf ("#undef  CONFIG_%s\n", hw_table[i].macro);
-
-
-  printf ("\n");
-
-  i = 0;
-
-  while (extra_options[i].name != NULL)
-    {
-      if (selected_options & extra_options[i].mask)
-	printf ("#define CONFIG_%s\n", extra_options[i].name);
-      else
-	printf ("#undef  CONFIG_%s\n", extra_options[i].name);
-      i++;
-    }
-
-  printf ("\n");
-
-  printf ("#define SELECTED_SOUND_OPTIONS\t0x%08x\n", selected_options);
-  fprintf (stderr, "Old configuration copied.\n");
-
-  build_defines ();
-  old_config_used = 1;
-  return 1;
+	printf("\n");
+
+	printf("#define SELECTED_SOUND_OPTIONS\t0x%08x\n", selected_options);
+	fprintf(stderr, "Old configuration copied.\n");
+
+	build_defines();
+	old_config_used = 1;
+	return 1;
 }
 
 void
-build_defines (void)
+build_defines(void)
 {
-  FILE           *optf;
-  int             i;
-
-  if ((optf = fopen (".defines", "w")) == NULL)
-    {
-      perror (".defines");
-      exit (-1);
-    }
-
+	FILE           *optf;
+	int             i;
 
-  for (i = 0; i <= OPT_LAST; i++)
-    if (!hw_table[i].alias)
-      if (selected_options & B (i))
-	fprintf (optf, "CONFIG_%s=y\n", hw_table[i].macro);
+	if ((optf = fopen(".defines", "w")) == NULL)
+	  {
+		  perror(".defines");
+		  exit(-1);
+	  }
+	for (i = 0; i <= OPT_LAST; i++)
+		if (!hw_table[i].alias)
+			if (selected_options & B(i))
+				fprintf(optf, "CONFIG_%s=y\n", hw_table[i].macro);
 
 
-  fprintf (optf, "\n");
+	fprintf(optf, "\n");
 
-  i = 0;
+	i = 0;
 
-  while (extra_options[i].name != NULL)
-    {
-      if (selected_options & extra_options[i].mask)
-	fprintf (optf, "CONFIG_%s=y\n", extra_options[i].name);
-      i++;
-    }
+	while (extra_options[i].name != NULL)
+	  {
+		  if (selected_options & extra_options[i].mask)
+			  fprintf(optf, "CONFIG_%s=y\n", extra_options[i].name);
+		  i++;
+	  }
 
-  fprintf (optf, "\n");
-  fclose (optf);
+	fprintf(optf, "\n");
+	fclose(optf);
 }
 
 void
-ask_parameters (void)
+ask_parameters(void)
 {
-  int             num;
+	int             num;
+
+	build_defines();
+	/*
+	 * IRQ and DMA settings
+	 */
+
+	ask_int_choice(B(OPT_AEDSP16), "AEDSP16_BASE",
+		       "I/O base for Audio Excel DSP 16",
+		       FMT_HEX,
+		       0x220,
+		       "220 or 240");
+
+	ask_int_choice(B(OPT_SB), "SBC_BASE",
+		       "I/O base for SB",
+		       FMT_HEX,
+		       0x220,
+		       "Check from manual of the card");
+
+	ask_int_choice(B(OPT_SB), "SBC_IRQ",
+		       "Sound Blaster IRQ",
+		       FMT_INT,
+		       7,
+		       "Check from manual of the card");
+
+	ask_int_choice(B(OPT_SB), "SBC_DMA",
+		       "Sound Blaster DMA",
+		       FMT_INT,
+		       1,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_SB), "SB_DMA2",
+		       "Sound Blaster 16 bit DMA (SB16, Jazz16, SMW)",
+		       FMT_INT,
+		       5,
+		       "5, 6 or 7 (use 1 for 8 bit cards)");
+
+	ask_int_choice(B(OPT_SB), "SB_MPU_BASE",
+		       "MPU401 I/O base of SB16, Jazz16 and ES1688",
+		       FMT_HEX,
+		       0x330,
+		       "Check from manual of the card");
+
+	show_comment(B(OPT_SB),
+	"MPU401 IRQ is only required with Jazz16, SM Wave and ESS1688.");
+	show_comment(B(OPT_SB),
+		     "Enter -1 to the following question if you have something else such as SB16/32.");
+
+	ask_int_choice(B(OPT_SB), "SB_MPU_IRQ",
+		       "SB MPU401 IRQ (Jazz16, SM Wave and ES1688)",
+		       FMT_INT,
+		       -1,
+		       "Check from manual of the card");
+
+	ask_int_choice(B(OPT_PAS), "PAS_IRQ",
+		       "PAS16 IRQ",
+		       FMT_INT,
+		       10,
+		       "3, 4, 5, 7, 9, 10, 11, 12, 14 or 15");
+
+	ask_int_choice(B(OPT_PAS), "PAS_DMA",
+		       "PAS16 DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1, 3, 5, 6 or 7");
+
+	if (selected_options & B(OPT_PAS))
+	  {
+		  if (think_positively("Enable Joystick port on ProAudioSpectrum", 0,
+				       "Enable this option if you want to use the joystick port provided\n"
+				       "on the PAS sound card.\n"))
+			  printf("#define PAS_JOYSTICK_ENABLE\n");
+
+		  if (think_positively("Enable PAS16 bus clock option", 0,
+				       "The PAS16 can be noisy with some motherboards. There is a command\n"
+				       "line switch (:T?) in the DOS driver for PAS16 which solves this.\n"
+				       "Don't enable this feature unless you have problems and have to use\n"
+				       "this switch with DOS\n"))
+			  printf("#define BROKEN_BUS_CLOCK\n");
+
+		  if (think_positively("Disable SB mode of PAS16", 0,
+				       "You should disable SB emulation of PAS16 if you want to use\n"
+		      "Another SB compatible card in the same system\n"))
+			  printf("#define DISABLE_SB_EMULATION\n");
+	  }
+	ask_int_choice(B(OPT_GUS), "GUS_BASE",
+		       "I/O base for GUS",
+		       FMT_HEX,
+		       0x220,
+		       "210, 220, 230, 240, 250 or 260");
+
+
+	ask_int_choice(B(OPT_GUS), "GUS_IRQ",
+		       "GUS IRQ",
+		       FMT_INT,
+		       15,
+		       "3, 5, 7, 9, 11, 12 or 15");
+
+	ask_int_choice(B(OPT_GUS), "GUS_DMA",
+		       "GUS DMA",
+		       FMT_INT,
+		       6,
+		       "1, 3, 5, 6 or 7");
+
+	ask_int_choice(B(OPT_GUS), "GUS_DMA2",
+		       "Second DMA channel for GUS",
+		       FMT_INT,
+		       -1,
+		       "1, 3, 5, 6 or 7");
+
+	ask_int_choice(B(OPT_GUS16), "GUS16_BASE",
+		       "I/O base for the 16 bit daughtercard of GUS",
+		       FMT_HEX,
+		       0x530,
+		       "530, 604, E80 or F40");
+
+
+	ask_int_choice(B(OPT_GUS16), "GUS16_IRQ",
+		       "GUS 16 bit daughtercard IRQ",
+		       FMT_INT,
+		       7,
+		       "3, 4, 5, 7, or 9");
+
+	ask_int_choice(B(OPT_GUS16), "GUS16_DMA",
+		       "GUS DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_MPU401), "MPU_BASE",
+		       "I/O base for MPU401",
+		       FMT_HEX,
+		       0x330,
+		       "Check from manual of the card");
+
+	ask_int_choice(B(OPT_MPU401), "MPU_IRQ",
+		       "MPU401 IRQ",
+		       FMT_INT,
+		       9,
+		       "Check from manual of the card");
+
+	if (dump_only)
+		show_comment(B(OPT_MAUI),
+			     "ERROR! You have to use old sound configuration method with Maui.");
+
+	ask_int_choice(B(OPT_MAUI), "MAUI_BASE",
+		       "I/O base for Maui",
+		       FMT_HEX,
+		       0x330,
+		       "210, 230, 260, 290, 300, 320, 338 or 330");
+
+	ask_int_choice(B(OPT_MAUI), "MAUI_IRQ",
+		       "Maui IRQ",
+		       FMT_INT,
+		       9,
+		       "5, 9, 12 or 15");
+
+	ask_int_choice(B(OPT_UART6850), "U6850_BASE",
+		       "I/O base for UART 6850 MIDI port",
+		       FMT_HEX,
+		       0,
+		       "(Unknown)");
+
+	ask_int_choice(B(OPT_UART6850), "U6850_IRQ",
+		       "UART6850 IRQ",
+		       FMT_INT,
+		       -1,
+		       "(Unknown)");
+
+	if (dump_only)
+		show_comment(B(OPT_PSS),
+			     "ERROR! You have to use old sound configuration method with PSS cards.");
+
+	ask_int_choice(B(OPT_PSS), "PSS_BASE",
+		       "PSS I/O base",
+		       FMT_HEX,
+		       0x220,
+		       "220 or 240");
+
+	ask_int_choice(B(OPT_PSS), "PSS_MSS_BASE",
+		       "PSS audio I/O base",
+		       FMT_HEX,
+		       0x530,
+		       "530, 604, E80 or F40");
+
+	ask_int_choice(B(OPT_PSS), "PSS_MSS_IRQ",
+		       "PSS audio IRQ",
+		       FMT_INT,
+		       11,
+		       "7, 9, 10 or 11");
+
+	ask_int_choice(B(OPT_PSS), "PSS_MSS_DMA",
+		       "PSS audio DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_PSS), "PSS_MPU_BASE",
+		       "PSS MIDI I/O base",
+		       FMT_HEX,
+		       0x330,
+		       "");
+
+	ask_int_choice(B(OPT_PSS), "PSS_MPU_IRQ",
+		       "PSS MIDI IRQ",
+		       FMT_INT,
+		       9,
+		       "3, 4, 5, 7 or 9");
+
+	ask_int_choice(B(OPT_MSS), "MSS_BASE",
+		       "MSS/WSS I/O base",
+		       FMT_HEX,
+		       0x530,
+		       "530, 604, E80 or F40");
+
+	ask_int_choice(B(OPT_MSS), "MSS_IRQ",
+		       "MSS/WSS IRQ",
+		       FMT_INT,
+		       11,
+		       "7, 9, 10 or 11");
+
+	ask_int_choice(B(OPT_MSS), "MSS_DMA",
+		       "MSS/WSS DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_MSS), "MSS_DMA2",
+		       "MSS/WSS second DMA (if possible)",
+		       FMT_INT,
+		       -1,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_SSCAPE), "SSCAPE_BASE",
+		       "SoundScape MIDI I/O base",
+		       FMT_HEX,
+		       0x330,
+		       "320, 330, 340 or 350");
+
+	ask_int_choice(B(OPT_SSCAPE), "SSCAPE_IRQ",
+		       "SoundScape MIDI IRQ",
+		       FMT_INT,
+		       9,
+		       "");
+
+	ask_int_choice(B(OPT_SSCAPE), "SSCAPE_DMA",
+		       "SoundScape initialization DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_SSCAPE), "SSCAPE_MSS_BASE",
+		       "SoundScape audio I/O base",
+		       FMT_HEX,
+		       0x534,
+		       "534, 608, E84 or F44");
+
+	ask_int_choice(B(OPT_SSCAPE), "SSCAPE_MSS_IRQ",
+		       "SoundScape audio IRQ",
+		       FMT_INT,
+		       11,
+		       "7, 9, 10 or 11");
+
+
+	if (selected_options & B(OPT_SSCAPE))
+	  {
+		  int             reveal_spea;
+
+		  reveal_spea = think_positively(
+							"Is your SoundScape card made/marketed by Reveal or Spea",
+							0,
+							"Enable if you have a SoundScape card with the Reveal or\n"
+						   "Spea name on it.\n");
+		  if (reveal_spea)
+			  printf("#define REVEAL_SPEA\n");
 
-  build_defines ();
-  /*
-   * IRQ and DMA settings
-   */
-
-  ask_int_choice (B (OPT_AEDSP16), "AEDSP16_BASE",
-		  "I/O base for Audio Excel DSP 16",
-		  FMT_HEX,
-		  0x220,
-		  "220 or 240");
-
-  ask_int_choice (B (OPT_SB), "SBC_BASE",
-		  "I/O base for SB",
-		  FMT_HEX,
-		  0x220,
-		  "Check from manual of the card");
-
-  ask_int_choice (B (OPT_SB), "SBC_IRQ",
-		  "Sound Blaster IRQ",
-		  FMT_INT,
-		  7,
-		  "Check from manual of the card");
-
-  ask_int_choice (B (OPT_SB), "SBC_DMA",
-		  "Sound Blaster DMA",
-		  FMT_INT,
-		  1,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_SB), "SB_DMA2",
-		  "Sound Blaster 16 bit DMA (SB16, Jazz16, SMW)",
-		  FMT_INT,
-		  5,
-		  "5, 6 or 7 (use 1 for 8 bit cards)");
-
-  ask_int_choice (B (OPT_SB), "SB_MPU_BASE",
-		  "MPU401 I/O base of SB16, Jazz16 and ES1688",
-		  FMT_HEX,
-		  0x330,
-		  "Check from manual of the card");
-
-  show_comment (B (OPT_SB),
-	   "MPU401 IRQ is only required with Jazz16, SM Wave and ESS1688.");
-  show_comment (B (OPT_SB),
-		"Enter -1 to the following question if you have something else such as SB16/32.");
-
-  ask_int_choice (B (OPT_SB), "SB_MPU_IRQ",
-		  "SB MPU401 IRQ (Jazz16, SM Wave and ES1688)",
-		  FMT_INT,
-		  -1,
-		  "Check from manual of the card");
-
-  ask_int_choice (B (OPT_PAS), "PAS_IRQ",
-		  "PAS16 IRQ",
-		  FMT_INT,
-		  10,
-		  "3, 4, 5, 7, 9, 10, 11, 12, 14 or 15");
-
-  ask_int_choice (B (OPT_PAS), "PAS_DMA",
-		  "PAS16 DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1, 3, 5, 6 or 7");
-
-  if (selected_options & B (OPT_PAS))
-    {
-      if (think_positively ("Enable Joystick port on ProAudioSpectrum", 0,
-	"Enable this option if you want to use the joystick port provided\n"
-			    "on the PAS sound card.\n"))
-	printf ("#define PAS_JOYSTICK_ENABLE\n");
-
-      if (think_positively ("Enable PAS16 bus clock option", 0,
-       "The PAS16 can be noisy with some motherboards. There is a command\n"
-	"line switch (:T?) in the DOS driver for PAS16 which solves this.\n"
-      "Don't enable this feature unless you have problems and have to use\n"
-			    "this switch with DOS\n"))
-	printf ("#define BROKEN_BUS_CLOCK\n");
-
-      if (think_positively ("Disable SB mode of PAS16", 0,
-	     "You should disable SB emulation of PAS16 if you want to use\n"
-			 "Another SB compatible card in the same system\n"))
-	printf ("#define DISABLE_SB_EMULATION\n");
-    }
-
-  ask_int_choice (B (OPT_GUS), "GUS_BASE",
-		  "I/O base for GUS",
-		  FMT_HEX,
-		  0x220,
-		  "210, 220, 230, 240, 250 or 260");
-
-
-  ask_int_choice (B (OPT_GUS), "GUS_IRQ",
-		  "GUS IRQ",
-		  FMT_INT,
-		  15,
-		  "3, 5, 7, 9, 11, 12 or 15");
-
-  ask_int_choice (B (OPT_GUS), "GUS_DMA",
-		  "GUS DMA",
-		  FMT_INT,
-		  6,
-		  "1, 3, 5, 6 or 7");
-
-  ask_int_choice (B (OPT_GUS), "GUS_DMA2",
-		  "Second DMA channel for GUS",
-		  FMT_INT,
-		  -1,
-		  "1, 3, 5, 6 or 7");
-
-  ask_int_choice (B (OPT_GUS16), "GUS16_BASE",
-		  "I/O base for the 16 bit daughtercard of GUS",
-		  FMT_HEX,
-		  0x530,
-		  "530, 604, E80 or F40");
-
-
-  ask_int_choice (B (OPT_GUS16), "GUS16_IRQ",
-		  "GUS 16 bit daughtercard IRQ",
-		  FMT_INT,
-		  7,
-		  "3, 4, 5, 7, or 9");
-
-  ask_int_choice (B (OPT_GUS16), "GUS16_DMA",
-		  "GUS DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_MPU401), "MPU_BASE",
-		  "I/O base for MPU401",
-		  FMT_HEX,
-		  0x330,
-		  "Check from manual of the card");
-
-  ask_int_choice (B (OPT_MPU401), "MPU_IRQ",
-		  "MPU401 IRQ",
-		  FMT_INT,
-		  9,
-		  "Check from manual of the card");
-
-  if (dump_only)
-    show_comment (B (OPT_MAUI),
-	"ERROR! You have to use old sound configuration method with Maui.");
-
-  ask_int_choice (B (OPT_MAUI), "MAUI_BASE",
-		  "I/O base for Maui",
-		  FMT_HEX,
-		  0x330,
-		  "210, 230, 260, 290, 300, 320, 338 or 330");
-
-  ask_int_choice (B (OPT_MAUI), "MAUI_IRQ",
-		  "Maui IRQ",
-		  FMT_INT,
-		  9,
-		  "5, 9, 12 or 15");
-
-  ask_int_choice (B (OPT_UART6850), "U6850_BASE",
-		  "I/O base for UART 6850 MIDI port",
-		  FMT_HEX,
-		  0,
-		  "(Unknown)");
-
-  ask_int_choice (B (OPT_UART6850), "U6850_IRQ",
-		  "UART6850 IRQ",
-		  FMT_INT,
-		  -1,
-		  "(Unknown)");
-
-  if (dump_only)
-    show_comment (B (OPT_PSS),
-    "ERROR! You have to use old sound configuration method with PSS cards.");
-
-  ask_int_choice (B (OPT_PSS), "PSS_BASE",
-		  "PSS I/O base",
-		  FMT_HEX,
-		  0x220,
-		  "220 or 240");
-
-  ask_int_choice (B (OPT_PSS), "PSS_MSS_BASE",
-		  "PSS audio I/O base",
-		  FMT_HEX,
-		  0x530,
-		  "530, 604, E80 or F40");
-
-  ask_int_choice (B (OPT_PSS), "PSS_MSS_IRQ",
-		  "PSS audio IRQ",
-		  FMT_INT,
-		  11,
-		  "7, 9, 10 or 11");
-
-  ask_int_choice (B (OPT_PSS), "PSS_MSS_DMA",
-		  "PSS audio DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_PSS), "PSS_MPU_BASE",
-		  "PSS MIDI I/O base",
-		  FMT_HEX,
-		  0x330,
-		  "");
-
-  ask_int_choice (B (OPT_PSS), "PSS_MPU_IRQ",
-		  "PSS MIDI IRQ",
-		  FMT_INT,
-		  9,
-		  "3, 4, 5, 7 or 9");
-
-  ask_int_choice (B (OPT_MSS), "MSS_BASE",
-		  "MSS/WSS I/O base",
-		  FMT_HEX,
-		  0x530,
-		  "530, 604, E80 or F40");
-
-  ask_int_choice (B (OPT_MSS), "MSS_IRQ",
-		  "MSS/WSS IRQ",
-		  FMT_INT,
-		  11,
-		  "7, 9, 10 or 11");
-
-  ask_int_choice (B (OPT_MSS), "MSS_DMA",
-		  "MSS/WSS DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_MSS), "MSS_DMA2",
-		  "MSS/WSS second DMA (if possible)",
-		  FMT_INT,
-		  -1,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_SSCAPE), "SSCAPE_BASE",
-		  "SoundScape MIDI I/O base",
-		  FMT_HEX,
-		  0x330,
-		  "320, 330, 340 or 350");
-
-  ask_int_choice (B (OPT_SSCAPE), "SSCAPE_IRQ",
-		  "SoundScape MIDI IRQ",
-		  FMT_INT,
-		  9,
-		  "");
-
-  ask_int_choice (B (OPT_SSCAPE), "SSCAPE_DMA",
-		  "SoundScape initialization DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_SSCAPE), "SSCAPE_MSS_BASE",
-		  "SoundScape audio I/O base",
-		  FMT_HEX,
-		  0x534,
-		  "534, 608, E84 or F44");
-
-  ask_int_choice (B (OPT_SSCAPE), "SSCAPE_MSS_IRQ",
-		  "SoundScape audio IRQ",
-		  FMT_INT,
-		  11,
-		  "7, 9, 10 or 11");
-
-
-  if (selected_options & B (OPT_SSCAPE))
-    {
-      int             reveal_spea;
-
-      reveal_spea = think_positively (
-		  "Is your SoundScape card made/marketed by Reveal or Spea",
-				       0,
-		 "Enable if you have a SoundScape card with the Reveal or\n"
-				       "Spea name on it.\n");
-      if (reveal_spea)
-	printf ("#define REVEAL_SPEA\n");
-
-    }
-
-  if (dump_only)
-    show_comment (B (OPT_TRIX),
-    "ERROR! You have to use old sound configuration method with OPL3-SA1.");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_BASE",
-		  "OPL3-SA1 audio I/O base",
-		  FMT_HEX,
-		  0x530,
-		  "530, 604, E80 or F40");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_IRQ",
-		  "OPL3-SA1 audio IRQ",
-		  FMT_INT,
-		  11,
-		  "7, 9, 10 or 11");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_DMA",
-		  "OPL3-SA1 audio DMA",
-		  FMT_INT,
-		  0,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_DMA2",
-		  "OPL3-SA1 second (duplex) DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_MPU_BASE",
-		  "OPL3-SA1 MIDI I/O base",
-		  FMT_HEX,
-		  0x330,
-		  "330, 370, 3B0 or 3F0");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_MPU_IRQ",
-		  "OPL3-SA1 MIDI IRQ",
-		  FMT_INT,
-		  9,
-		  "3, 4, 5, 7 or 9");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_SB_BASE",
-		  "OPL3-SA1 SB I/O base",
-		  FMT_HEX,
-		  0x220,
-		  "220, 210, 230, 240, 250, 260 or 270");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_SB_IRQ",
-		  "OPL3-SA1 SB IRQ",
-		  FMT_INT,
-		  7,
-		  "3, 4, 5 or 7");
-
-  ask_int_choice (B (OPT_TRIX), "TRIX_SB_DMA",
-		  "OPL3-SA1 SB DMA",
-		  FMT_INT,
-		  1,
-		  "1 or 3");
-
-
-  ask_int_choice (B (OPT_OPL3SA1), "OPL3SA1_BASE",
-		  "OPL3-SA1 audio I/O base",
-		  FMT_HEX,
-		  0x530,
-		  "530, 604, E80 or F40");
-
-  ask_int_choice (B (OPT_OPL3SA1), "OPL3SA1_IRQ",
-		  "OPL3-SA1 audio IRQ",
-		  FMT_INT,
-		  11,
-		  "7, 9, 10 or 11");
-
-  ask_int_choice (B (OPT_OPL3SA1), "OPL3SA1_DMA",
-		  "OPL3-SA1 audio DMA",
-		  FMT_INT,
-		  0,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_OPL3SA1), "OPL3SA1_DMA2",
-		  "OPL3-SA1 second (duplex) DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_OPL3SA1), "OPL3SA1_MPU_BASE",
-		  "OPL3-SA1 MIDI I/O base",
-		  FMT_HEX,
-		  0x330,
-		  "330, 370, 3B0 or 3F0");
-
-  ask_int_choice (B (OPT_OPL3SA1), "OPL3SA1_MPU_IRQ",
-		  "OPL3-SA1 MIDI IRQ",
-		  FMT_INT,
-		  9,
-		  "3, 4, 5, 7 or 9");
-
-  ask_int_choice (B (OPT_CS4232), "CS4232_BASE",
-		  "CS4232 audio I/O base",
-		  FMT_HEX,
-		  0x530,
-		  "530, 604, E80 or F40");
-
-  ask_int_choice (B (OPT_CS4232), "CS4232_IRQ",
-		  "CS4232 audio IRQ",
-		  FMT_INT,
-		  11,
-		  "5, 7, 9, 11, 12 or 15");
-
-  ask_int_choice (B (OPT_CS4232), "CS4232_DMA",
-		  "CS4232 audio DMA",
-		  FMT_INT,
-		  0,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_CS4232), "CS4232_DMA2",
-		  "CS4232 second (duplex) DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_CS4232), "CS4232_MPU_BASE",
-		  "CS4232 MIDI I/O base",
-		  FMT_HEX,
-		  0x330,
-		  "330, 370, 3B0 or 3F0");
-
-  ask_int_choice (B (OPT_CS4232), "CS4232_MPU_IRQ",
-		  "CS4232 MIDI IRQ",
-		  FMT_INT,
-		  9,
-		  "5, 7, 9, 11, 12 or 15");
-
-  ask_int_choice (B (OPT_MAD16), "MAD16_BASE",
-		  "MAD16 audio I/O base",
-		  FMT_HEX,
-		  0x530,
-		  "530, 604, E80 or F40");
-
-  ask_int_choice (B (OPT_MAD16), "MAD16_IRQ",
-		  "MAD16 audio IRQ",
-		  FMT_INT,
-		  11,
-		  "7, 9, 10 or 11");
-
-  ask_int_choice (B (OPT_MAD16), "MAD16_DMA",
-		  "MAD16 audio DMA",
-		  FMT_INT,
-		  3,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_MAD16), "MAD16_DMA2",
-		  "MAD16 second (duplex) DMA",
-		  FMT_INT,
-		  0,
-		  "0, 1 or 3");
-
-  ask_int_choice (B (OPT_MAD16), "MAD16_MPU_BASE",
-		  "MAD16 MIDI I/O base",
-		  FMT_HEX,
-		  0x330,
-		  "300, 310, 320 or 330 (0 disables)");
-
-  ask_int_choice (B (OPT_MAD16), "MAD16_MPU_IRQ",
-		  "MAD16 MIDI IRQ",
-		  FMT_INT,
-		  9,
-		  "5, 7, 9 or 10");
-  ask_int_choice (B (OPT_SOFTOSS), "SOFTOSS_RATE",
-		  "Sampling rate for SoftOSS",
-		  FMT_INT,
-		  22050,
-		  "8000 to 48000");
-  ask_int_choice (B (OPT_SOFTOSS), "SOFTOSS_VOICES",
-		  "Max # of concurrent voices for SoftOSS",
-		  FMT_INT,
-		  32,
-		  "4 to 32");
+	  }
+	if (dump_only)
+		show_comment(B(OPT_TRIX),
+			     "ERROR! You have to use old sound configuration method with OPL3-SA1.");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_BASE",
+		       "OPL3-SA1 audio I/O base",
+		       FMT_HEX,
+		       0x530,
+		       "530, 604, E80 or F40");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_IRQ",
+		       "OPL3-SA1 audio IRQ",
+		       FMT_INT,
+		       11,
+		       "7, 9, 10 or 11");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_DMA",
+		       "OPL3-SA1 audio DMA",
+		       FMT_INT,
+		       0,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_DMA2",
+		       "OPL3-SA1 second (duplex) DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_MPU_BASE",
+		       "OPL3-SA1 MIDI I/O base",
+		       FMT_HEX,
+		       0x330,
+		       "330, 370, 3B0 or 3F0");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_MPU_IRQ",
+		       "OPL3-SA1 MIDI IRQ",
+		       FMT_INT,
+		       9,
+		       "3, 4, 5, 7 or 9");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_SB_BASE",
+		       "OPL3-SA1 SB I/O base",
+		       FMT_HEX,
+		       0x220,
+		       "220, 210, 230, 240, 250, 260 or 270");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_SB_IRQ",
+		       "OPL3-SA1 SB IRQ",
+		       FMT_INT,
+		       7,
+		       "3, 4, 5 or 7");
+
+	ask_int_choice(B(OPT_TRIX), "TRIX_SB_DMA",
+		       "OPL3-SA1 SB DMA",
+		       FMT_INT,
+		       1,
+		       "1 or 3");
+
+
+	ask_int_choice(B(OPT_OPL3SA1), "OPL3SA1_BASE",
+		       "OPL3-SA1 audio I/O base",
+		       FMT_HEX,
+		       0x530,
+		       "530, 604, E80 or F40");
+
+	ask_int_choice(B(OPT_OPL3SA1), "OPL3SA1_IRQ",
+		       "OPL3-SA1 audio IRQ",
+		       FMT_INT,
+		       11,
+		       "7, 9, 10 or 11");
+
+	ask_int_choice(B(OPT_OPL3SA1), "OPL3SA1_DMA",
+		       "OPL3-SA1 audio DMA",
+		       FMT_INT,
+		       0,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_OPL3SA1), "OPL3SA1_DMA2",
+		       "OPL3-SA1 second (duplex) DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_OPL3SA1), "OPL3SA1_MPU_BASE",
+		       "OPL3-SA1 MIDI I/O base",
+		       FMT_HEX,
+		       0x330,
+		       "330, 370, 3B0 or 3F0");
+
+	ask_int_choice(B(OPT_OPL3SA1), "OPL3SA1_MPU_IRQ",
+		       "OPL3-SA1 MIDI IRQ",
+		       FMT_INT,
+		       9,
+		       "3, 4, 5, 7 or 9");
+
+	ask_int_choice(B(OPT_CS4232), "CS4232_BASE",
+		       "CS4232 audio I/O base",
+		       FMT_HEX,
+		       0x530,
+		       "530, 604, E80 or F40");
+
+	ask_int_choice(B(OPT_CS4232), "CS4232_IRQ",
+		       "CS4232 audio IRQ",
+		       FMT_INT,
+		       11,
+		       "5, 7, 9, 11, 12 or 15");
+
+	ask_int_choice(B(OPT_CS4232), "CS4232_DMA",
+		       "CS4232 audio DMA",
+		       FMT_INT,
+		       0,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_CS4232), "CS4232_DMA2",
+		       "CS4232 second (duplex) DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_CS4232), "CS4232_MPU_BASE",
+		       "CS4232 MIDI I/O base",
+		       FMT_HEX,
+		       0x330,
+		       "330, 370, 3B0 or 3F0");
+
+	ask_int_choice(B(OPT_CS4232), "CS4232_MPU_IRQ",
+		       "CS4232 MIDI IRQ",
+		       FMT_INT,
+		       9,
+		       "5, 7, 9, 11, 12 or 15");
+
+	ask_int_choice(B(OPT_MAD16), "MAD16_BASE",
+		       "MAD16 audio I/O base",
+		       FMT_HEX,
+		       0x530,
+		       "530, 604, E80 or F40");
+
+	ask_int_choice(B(OPT_MAD16), "MAD16_IRQ",
+		       "MAD16 audio IRQ",
+		       FMT_INT,
+		       11,
+		       "7, 9, 10 or 11");
+
+	ask_int_choice(B(OPT_MAD16), "MAD16_DMA",
+		       "MAD16 audio DMA",
+		       FMT_INT,
+		       3,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_MAD16), "MAD16_DMA2",
+		       "MAD16 second (duplex) DMA",
+		       FMT_INT,
+		       0,
+		       "0, 1 or 3");
+
+	ask_int_choice(B(OPT_MAD16), "MAD16_MPU_BASE",
+		       "MAD16 MIDI I/O base",
+		       FMT_HEX,
+		       0x330,
+		       "300, 310, 320 or 330 (0 disables)");
+
+	ask_int_choice(B(OPT_MAD16), "MAD16_MPU_IRQ",
+		       "MAD16 MIDI IRQ",
+		       FMT_INT,
+		       9,
+		       "5, 7, 9 or 10");
+	ask_int_choice(B(OPT_SOFTOSS), "SOFTOSS_RATE",
+		       "Sampling rate for SoftOSS",
+		       FMT_INT,
+		       22050,
+		       "8000 to 48000");
+	ask_int_choice(B(OPT_SOFTOSS), "SOFTOSS_VOICES",
+		       "Max # of concurrent voices for SoftOSS",
+		       FMT_INT,
+		       32,
+		       "4 to 32");
 }
 
 void
-dump_script (void)
+dump_script(void)
 {
-  int             i;
-
-  for (i = 0; i <= OPT_LAST; i++)
-    if (!(DUMMY_OPTS & B (i)))
-      if (!(DISABLED_OPTIONS & B (i)))
-	{
-	  printf ("bool '%s' CONFIG_%s\n", questions[i], hw_table[i].macro);
-	}
+	int             i;
 
+	for (i = 0; i <= OPT_LAST; i++)
+		if (!(DUMMY_OPTS & B(i)))
+			if (!(DISABLED_OPTIONS & B(i)))
+			  {
+				  printf("bool '%s' CONFIG_%s\n", questions[i], hw_table[i].macro);
+			  }
 /*
  * Some "hardcoded" options
  */
 
-  dump_only = 1;
-  selected_options = 0;
-  ask_parameters ();
+	dump_only = 1;
+	selected_options = 0;
+	ask_parameters();
 
-  printf ("#\n$MAKE -C drivers/sound kernelconfig || exit 1\n");
+	printf("#\n$MAKE -C drivers/sound kernelconfig || exit 1\n");
 }
 
 void
-dump_fixed_local (void)
+dump_fixed_local(void)
 {
-  int             i = 0;
+	int             i = 0;
 
-  printf ("/* Computer generated file. Please don't edit! */\n\n");
-  printf ("#define KERNEL_COMPATIBLE_CONFIG\n\n");
-  printf ("#define SELECTED_SOUND_OPTIONS\t0x%08x\n\n", selected_options);
-
-  while (extra_options[i].name != NULL)
-    {
-      int             n = 0, j;
-
-      printf ("#if ");
-
-      for (j = 0; j < OPT_LAST; j++)
-	if (!(DISABLED_OPTIONS & B (j)))
-	  if (extra_options[i].mask & B (j))
-	    {
-	      if (n)
-		printf (" || ");
-	      if (!(n++ % 2))
-		printf ("\\\n  ");
-
-	      printf ("defined(CONFIG_%s)", hw_table[j].macro);
-	    }
-
-      printf ("\n");
-      printf ("#\tdefine CONFIG_%s\n", extra_options[i].name);
-      printf ("#endif\n\n");
-      i++;
-    }
+	printf("/* Computer generated file. Please don't edit! */\n\n");
+	printf("#define KERNEL_COMPATIBLE_CONFIG\n\n");
+	printf("#define SELECTED_SOUND_OPTIONS\t0x%08x\n\n", selected_options);
+
+	while (extra_options[i].name != NULL)
+	  {
+		  int             n = 0, j;
+
+		  printf("#if ");
+
+		  for (j = 0; j < OPT_LAST; j++)
+			  if (!(DISABLED_OPTIONS & B(j)))
+				  if (extra_options[i].mask & B(j))
+				    {
+					    if (n)
+						    printf(" || ");
+					    if (!(n++ % 2))
+						    printf("\\\n  ");
+
+					    printf("defined(CONFIG_%s)", hw_table[j].macro);
+				    }
+		  printf("\n");
+		  printf("#\tdefine CONFIG_%s\n", extra_options[i].name);
+		  printf("#endif\n\n");
+		  i++;
+	  }
 }
 
 void
-dump_fixed_defines (void)
+dump_fixed_defines(void)
 {
-  int             i = 0;
+	int i = 0;
 
-  printf ("# Computer generated file. Please don't edit\n\n");
+	printf("# Computer generated file. Please don't edit\n\n");
 
-  while (extra_options[i].name != NULL)
-    {
-      int             j;
-
-      for (j = 0; j < OPT_LAST; j++)
-	if (!(DISABLED_OPTIONS & B (j)))
-	  if (extra_options[i].mask & B (j))
-	    {
-	      printf ("ifdef CONFIG_%s\n", hw_table[j].macro);
-	      printf ("CONFIG_%s=y\n", extra_options[i].name);
-	      printf ("endif\n\n");
-	    }
+	while (extra_options[i].name != NULL)
+	{
+		int j;
 
-      i++;
-    }
+		for (j = 0; j < OPT_LAST; j++)
+		{
+			if (!(DISABLED_OPTIONS & B(j)))
+			{
+				if (extra_options[i].mask & B(j))
+				{
+					printf("ifdef CONFIG_%s\n", hw_table[j].macro);
+					printf ("ifneq ($(CONFIG_%s),Y)\n", extra_options[i].name);
+					printf("CONFIG_%s=y\n", extra_options[i].name);
+					printf("endif\n");
+					printf("endif\n\n");
+				}
+			}
+		}
+		i++;
+	}
 }
 
 int
-main (int argc, char *argv[])
+main(int argc, char *argv[])
 {
-  int             i, full_driver = 1;
-  char            old_config_file[200];
+	int             i, full_driver = 1;
+	char            old_config_file[200];
 
-  if (getuid () != 0)		/* Not root */
-    {
-      char           *home;
-
-      if ((home = getenv ("HOME")) != NULL)
-	{
-	  sprintf (old_config_file, "%s/.soundconf", home);
-	  oldconf = old_config_file;
-	}
-    }
-
-  if (argc > 1)
-    {
-      if (strcmp (argv[1], "-o") == 0 &&
-	  use_old_config (oldconf))
-	exit (0);
-      else if (strcmp (argv[1], "script") == 0)
-	{
-	  dump_script ();
-	  exit (0);
-	}
-      else if (strcmp (argv[1], "fixedlocal") == 0)
-	{
-	  dump_fixed_local ();
-	  exit (0);
-	}
-      else if (strcmp (argv[1], "fixeddefines") == 0)
-	{
-	  dump_fixed_defines ();
-	  exit (0);
-	}
-    }
+	if (getuid() != 0)	/* Not root */
+	  {
+		  char           *home;
 
-  fprintf (stderr, "\nConfiguring Sound Support\n\n");
+		  if ((home = getenv("HOME")) != NULL)
+		    {
+			    sprintf(old_config_file, "%s/.soundconf", home);
+			    oldconf = old_config_file;
+		    }
+	  }
+	if (argc > 1)
+	  {
+		  if (strcmp(argv[1], "-o") == 0 &&
+		      use_old_config(oldconf))
+			  exit(0);
+		  else if (strcmp(argv[1], "script") == 0)
+		    {
+			    dump_script();
+			    exit(0);
+		  } else if (strcmp(argv[1], "fixedlocal") == 0)
+		    {
+			    dump_fixed_local();
+			    exit(0);
+		  } else if (strcmp(argv[1], "fixeddefines") == 0)
+		    {
+			    dump_fixed_defines();
+			    exit(0);
+		    }
+	  }
+	fprintf(stderr, "\nConfiguring Sound Support\n\n");
 
-  if (access (oldconf, R_OK) == 0)
-    {
-      char            str[255];
+	if (access(oldconf, R_OK) == 0)
+	  {
+		  char            str[255];
 
-      sprintf (str, "Old configuration exists in `%s'. Use it", oldconf);
-      if (think_positively (str, 1,
-      "Enable this option to load the previously saved configuration file\n"
+		  sprintf(str, "Old configuration exists in `%s'. Use it", oldconf);
+		  if (think_positively(str, 1,
+				       "Enable this option to load the previously saved configuration file\n"
 			    "for all of the sound driver parameters.\n"))
-	if (use_old_config (oldconf))
-	  exit (0);
-    }
-
-  printf ("/*\tGenerated by configure. Don't edit!!!!\t*/\n");
-  printf ("/*\tMaking changes to this file is not as simple as it may look.\t*/\n\n");
-  printf ("/*\tIf you change the CONFIG_ settings in local.h you\t*/\n");
-  printf ("/*\t_have_ to edit .defines too.\t*/\n\n");
-
-  {
-    /*
-     * Partial driver
-     */
+			  if (use_old_config(oldconf))
+				  exit(0);
+	  }
+	printf("/*\tGenerated by configure. Don't edit!!!!\t*/\n");
+	printf("/*\tMaking changes to this file is not as simple as it may look.\t*/\n\n");
+	printf("/*\tIf you change the CONFIG_ settings in local.h you\t*/\n");
+	printf("/*\t_have_ to edit .defines too.\t*/\n\n");
+
+	{
+		/*
+		 * Partial driver
+		 */
+
+		full_driver = 0;
+
+		for (i = 0; i <= OPT_LAST; i++)
+			if (can_select_option(i))
+			  {
+				  if (!(selected_options & B(i)))	/*
+									 * Not selected yet
+									 */
+					  if (!hw_table[i].verify)
+					    {
+						    if (hw_table[i].alias)
+							    selected_options |= B(hw_table[i].alias);
+						    else
+							    selected_options |= B(i);
+					  } else
+					    {
+						    int             def_answ = hw_table[i].default_answ;
+
+						    if (think_positively(questions[i], def_answ, help[i]))
+							    if (hw_table[i].alias)
+								    selected_options |= B(hw_table[i].alias);
+							    else
+								    selected_options |= B(i);
+					    }
+			  }
+	}
 
-    full_driver = 0;
+	if (selected_options & B(OPT_SB))
+	  {
+		  if (think_positively(
+				    "Support for the SG NX Pro mixer", 0,
+					      "Enable this if you want to support the additional mixer functions\n"
+		       "provided on Sound Galaxy NX Pro sound cards.\n"))
+			  printf("#define __SGNXPRO__\n");
+	  }
+	if (selected_options & B(OPT_SB))
+	  {
+		  if (think_positively("Support for the MV Jazz16 (ProSonic etc.)", 0,
+				       "Enable this if you have an MV Jazz16 or ProSonic sound card.\n"))
+		    {
+			    if (think_positively("Do you have SoundMan Wave", 0,
+						 "Enable this option of you have the Logitech SoundMan Wave sound card.\n"))
+			      {
+				      printf("#define SM_WAVE\n");
+
+				    midi0001_again:
+				      if (think_positively(
+								  "Do you have access to the MIDI0001.BIN file", 1,
+								  "The Logitech SoundMan Wave has a microcontroller which must be\n"
+								  "initialized before MIDI emulation works. This is possible only if the\n"
+								  "microcode file is compiled into the driver.\n"))
+					{
+						char            path[512];
+
+						fprintf(stderr,
+							"Enter full name of the MIDI0001.BIN file (pwd is sound): ");
+						scanf("%s", path);
+						fprintf(stderr, "including microcode file %s\n", path);
+
+						if (!bin2hex(path, "smw-midi0001.h", "smw_ucode"))
+						  {
+							  fprintf(stderr, "Couldn't open file %s\n",
+								  path);
+							  if (think_positively("Try again with correct path", 1,
+									       "The specified file could not be opened. Enter the correct path to the\n"
+							      "file.\n"))
+								  goto midi0001_again;
+						} else
+						  {
+							  printf("#define SMW_MIDI0001_INCLUDED\n");
+							  printf("/*build bin2hex %s smw-midi0001.h smw_ucode */\n", path);
+						  }
+					}
+			      }
+		    }
+	  }
+	if (selected_options & B(OPT_SB))
+	  {
+		  if (think_positively("Do you have a Logitech SoundMan Games", 0,
+				       "The Logitech SoundMan Games supports 44 kHz in stereo while the\n"
+				       "standard SB Pro supports just 22 kHz stereo. You have the option of\n"
+				       "enabling SM Games mode.  However, enable it only if you are sure that\n"
+				       "your card is an SM Games. Enabling this feature with a plain old SB\n"
+			  "Pro will cause troubles with stereo mode.\n\n"
+				       "DANGER! Read the above once again before answering 'y'\n"
+			   "Answer 'n' if you are unsure what to do!\n"))
+			  printf("#define SM_GAMES\n");
+	  }
+	if (selected_options & B(OPT_AEDSP16))
+	  {
+		  int             sel1 = 0;
 
-    for (i = 0; i <= OPT_LAST; i++)
-      if (can_select_option (i))
-	{
-	  if (!(selected_options & B (i)))	/*
-						 * Not selected yet
-						 */
-	    if (!hw_table[i].verify)
-	      {
-		if (hw_table[i].alias)
-		  selected_options |= B (hw_table[i].alias);
-		else
-		  selected_options |= B (i);
-	      }
-	    else
-	      {
-		int             def_answ = hw_table[i].default_answ;
-
-		if (think_positively (questions[i], def_answ, help[i]))
-		  if (hw_table[i].alias)
-		    selected_options |= B (hw_table[i].alias);
-		  else
-		    selected_options |= B (i);
-	      }
-	}
-  }
+		  if (selected_options & B(OPT_SB))
+		    {
 
-  if (selected_options & B (OPT_SB))
-    {
-      if (think_positively (
-			     "Support for the SG NX Pro mixer", 0,
-       "Enable this if you want to support the additional mixer functions\n"
-			  "provided on Sound Galaxy NX Pro sound cards.\n"))
-	printf ("#define __SGNXPRO__\n");
-    }
-
-  if (selected_options & B (OPT_SB))
-    {
-      if (think_positively ("Support for the MV Jazz16 (ProSonic etc.)", 0,
-	  "Enable this if you have an MV Jazz16 or ProSonic sound card.\n"))
-	{
-	  if (think_positively ("Do you have SoundMan Wave", 0,
-				"Enable this option of you have the Logitech SoundMan Wave sound card.\n"))
-	    {
-	      printf ("#define SM_WAVE\n");
-
-	    midi0001_again:
-	      if (think_positively (
-			   "Do you have access to the MIDI0001.BIN file", 1,
-				     "The Logitech SoundMan Wave has a microcontroller which must be\n"
-				     "initialized before MIDI emulation works. This is possible only if the\n"
-			   "microcode file is compiled into the driver.\n"))
-		{
-		  char            path[512];
+			    if (think_positively(
+							"Do you want support for the Audio Excel Sound Blaster Pro mode",
+							1,
+							"Enable this option if you want the Audio Excel sound card to operate\n"
+					 "in Sound Blaster Pro mode.\n"))
+			      {
+				      printf("#define AEDSP16_SBPRO\n");
+				      sel1 = 1;
+			      }
+		    }
+		  if ((selected_options & B(OPT_MSS)) && (sel1 == 0))
+		    {
 
-		  fprintf (stderr,
-			   "Enter full name of the MIDI0001.BIN file (pwd is sound): ");
-		  scanf ("%s", path);
-		  fprintf (stderr, "including microcode file %s\n", path);
-
-		  if (!bin2hex (path, "smw-midi0001.h", "smw_ucode"))
-		    {
-		      fprintf (stderr, "Couldn't open file %s\n",
-			       path);
-		      if (think_positively ("Try again with correct path", 1,
-					    "The specified file could not be opened. Enter the correct path to the\n"
-					    "file.\n"))
-			goto midi0001_again;
+			    if (think_positively(
+							"Do you want support for the Audio Excel Microsoft Sound System mode",
+							1,
+							"Enable this option if you want the Audio Excel sound card to operate\n"
+				    "in Microsoft Sound System mode.\n"))
+			      {
+				      printf("#define AEDSP16_MSS\n");
+				      sel1 = 1;
+			      }
 		    }
-		  else
+		  if (sel1 == 0)
 		    {
-		      printf ("#define SMW_MIDI0001_INCLUDED\n");
-		      printf ("/*build bin2hex %s smw-midi0001.h smw_ucode */\n", path);
+			    printf("invalid_configuration__run_make_config_again\n");
+			    fprintf(stderr, "ERROR!!!!!\nYou must select at least one mode when using Audio Excel!\n");
+			    exit(-1);
 		    }
-		}
-	    }
-	}
-    }
-
-  if (selected_options & B (OPT_SB))
-    {
-      if (think_positively ("Do you have a Logitech SoundMan Games", 0,
-	 "The Logitech SoundMan Games supports 44 kHz in stereo while the\n"
-      "standard SB Pro supports just 22 kHz stereo. You have the option of\n"
-			    "enabling SM Games mode.  However, enable it only if you are sure that\n"
-      "your card is an SM Games. Enabling this feature with a plain old SB\n"
-			    "Pro will cause troubles with stereo mode.\n\n"
-		  "DANGER! Read the above once again before answering 'y'\n"
-			    "Answer 'n' if you are unsure what to do!\n"))
-	printf ("#define SM_GAMES\n");
-    }
-
-  if (selected_options & B (OPT_AEDSP16))
-    {
-      int             sel1 = 0;
+		  if (selected_options & B(OPT_MPU401))
+			  printf("#define AEDSP16_MPU401\n");
+	  }
+	if (selected_options & B(OPT_PSS))
+	  {
+		genld_again:
+		  if (think_positively("Do you wish to include an LD file", 1,
+				       "If you want to emulate the Sound Blaster card and you have a DSPxxx.LD\n"
+		   "file then you must include the LD in the kernel.\n"))
+		    {
+			    char            path[512];
 
-      if (selected_options & B (OPT_SB))
-	{
+			    fprintf(stderr,
+				    "Enter the path to your LD file (pwd is sound): ");
+			    scanf("%s", path);
+			    fprintf(stderr, "including LD file %s\n", path);
+
+			    if (!bin2hex(path, "synth-ld.h", "pss_synth"))
+			      {
+				      fprintf(stderr, "couldn't open `%s' as the LD file\n", path);
+				      if (think_positively("try again with correct path", 1,
+							   "The given LD file could not opened.\n"))
+					      goto genld_again;
+			    } else
+			      {
+				      printf("#define PSS_HAVE_LD\n");
+				      printf("/*build bin2hex %s synth-ld.h pss_synth */\n", path);
+			      }
+		  } else
+		    {
+			    FILE           *sf = fopen("synth-ld.h", "w");
 
-	  if (think_positively (
-	   "Do you want support for the Audio Excel Sound Blaster Pro mode",
-				 1,
-				 "Enable this option if you want the Audio Excel sound card to operate\n"
-				 "in Sound Blaster Pro mode.\n"))
-	    {
-	      printf ("#define AEDSP16_SBPRO\n");
-	      sel1 = 1;
-	    }
-	}
+			    fprintf(sf, "/* automatically generated by configure */\n");
+			    fprintf(sf, "unsigned char pss_synth[1];\n"
+				    "#define pss_synthLen 0\n");
+			    fclose(sf);
+		    }
+	  }
+	if (selected_options & B(OPT_TRIX))
+	  {
+		hex2hex_again:
 
-      if ((selected_options & B (OPT_MSS)) && (sel1 == 0))
-	{
+		  if (think_positively("Do you want to include TRXPRO.HEX in your kernel",
+				       1,
+				       "The MediaTrix AudioTrix Pro has an on-board microcontroller which\n"
+				       "needs to be initialized by downloading the code from the file TRXPRO.HEX\n"
+				       "in the DOS driver directory. If you don't have the TRXPRO.HEX file handy\n"
+				       "you may skip this step. However, the SB and MPU-401 modes of AudioTrix\n"
+			       "Pro will not work without this file!\n"))
+		    {
+			    char            path[512];
 
-	  if (think_positively (
-				 "Do you want support for the Audio Excel Microsoft Sound System mode",
-				 1,
-				 "Enable this option if you want the Audio Excel sound card to operate\n"
-				 "in Microsoft Sound System mode.\n"))
-	    {
-	      printf ("#define AEDSP16_MSS\n");
-	      sel1 = 1;
-	    }
-	}
+			    fprintf(stderr,
+				    "Enter the path to your TRXPRO.HEX file (pwd is sound): ");
+			    scanf("%s", path);
+			    fprintf(stderr, "including HEX file `%s'\n", path);
+
+			    if (!hex2hex(path, "trix_boot.h", "trix_boot"))
+				    goto hex2hex_again;
+			    printf("/*build hex2hex %s trix_boot.h trix_boot */\n", path);
+			    printf("#define INCLUDE_TRIX_BOOT\n");
+		    }
+	  }
+	if (selected_options & B(OPT_MSS))
+	  {
+		  if (think_positively("Support for builtin sound of Compaq Deskpro XL", 0,
+			 "Enable this if you have Compaq Deskpro XL.\n"))
+		    {
+			    printf("#define DESKPROXL\n");
+		    }
+	  }
+	if (selected_options & B(OPT_MAUI))
+	  {
+		oswf_again:
+		  if (think_positively(
+			    "Do you have access to the OSWF.MOT file", 1,
+					      "TB Maui and Tropez have a microcontroller which needs to be initialized\n"
+					      "prior use. OSWF.MOT is a file distributed with card's DOS/Windows drivers\n"
+			    "which is required during initialization\n"))
+		    {
+			    char            path[512];
 
-      if (sel1 == 0)
-	{
-	  printf ("invalid_configuration__run_make_config_again\n");
-	  fprintf (stderr, "ERROR!!!!!\nYou must select at least one mode when using Audio Excel!\n");
-	  exit (-1);
-	}
-      if (selected_options & B (OPT_MPU401))
-	printf ("#define AEDSP16_MPU401\n");
-    }
-
-  if (selected_options & B (OPT_PSS))
-    {
-    genld_again:
-      if (think_positively ("Do you wish to include an LD file", 1,
-			    "If you want to emulate the Sound Blaster card and you have a DSPxxx.LD\n"
-		      "file then you must include the LD in the kernel.\n"))
-	{
-	  char            path[512];
+			    fprintf(stderr,
+				    "Enter full name of the OSWF.MOT file (pwd is sound): ");
+			    scanf("%s", path);
+			    fprintf(stderr, "including microcode file %s\n", path);
+
+			    if (!bin2hex(path, "maui_boot.h", "maui_os"))
+			      {
+				      fprintf(stderr, "Couldn't open file %s\n",
+					      path);
+				      if (think_positively("Try again with correct path", 1,
+							   "The specified file could not be opened. Enter the correct path to the\n"
+							   "file.\n"))
+					      goto oswf_again;
+			    } else
+			      {
+				      printf("#define HAVE_MAUI_BOOT\n");
+				      printf("/*build bin2hex %s maui_boot.h maui_os */\n", path);
+			      }
+		    }
+	  }
+	if (!(selected_options & ANY_DEVS))
+	  {
+		  printf("invalid_configuration__run_make_config_again\n");
+		  fprintf(stderr, "\n*** This combination is useless. Sound driver disabled!!! ***\n*** You need to enable support for at least one device    ***\n\n");
+		  exit(0);
+	  }
+	for (i = 0; i <= OPT_LAST; i++)
+		if (!hw_table[i].alias)
+			if (selected_options & B(i))
+				printf("#define CONFIG_%s\n", hw_table[i].macro);
+			else
+				printf("#undef  CONFIG_%s\n", hw_table[i].macro);
 
-	  fprintf (stderr,
-		   "Enter the path to your LD file (pwd is sound): ");
-	  scanf ("%s", path);
-	  fprintf (stderr, "including LD file %s\n", path);
-
-	  if (!bin2hex (path, "synth-ld.h", "pss_synth"))
-	    {
-	      fprintf (stderr, "couldn't open `%s' as the LD file\n", path);
-	      if (think_positively ("try again with correct path", 1,
-				    "The given LD file could not opened.\n"))
-		goto genld_again;
-	    }
-	  else
-	    {
-	      printf ("#define PSS_HAVE_LD\n");
-	      printf ("/*build bin2hex %s synth-ld.h pss_synth */\n", path);
-	    }
-	}
-      else
-	{
-	  FILE           *sf = fopen ("synth-ld.h", "w");
+	printf("\n");
 
-	  fprintf (sf, "/* automatically generated by configure */\n");
-	  fprintf (sf, "unsigned char pss_synth[1];\n"
-		   "#define pss_synthLen 0\n");
-	  fclose (sf);
-	}
-    }
+	i = 0;
 
-  if (selected_options & B (OPT_TRIX))
-    {
-    hex2hex_again:
-
-      if (think_positively ("Do you want to include TRXPRO.HEX in your kernel",
-			    1,
-       "The MediaTrix AudioTrix Pro has an on-board microcontroller which\n"
-			    "needs to be initialized by downloading the code from the file TRXPRO.HEX\n"
-			    "in the DOS driver directory. If you don't have the TRXPRO.HEX file handy\n"
-			    "you may skip this step. However, the SB and MPU-401 modes of AudioTrix\n"
-			    "Pro will not work without this file!\n"))
-	{
-	  char            path[512];
+	while (extra_options[i].name != NULL)
+	  {
+		  if (selected_options & extra_options[i].mask)
+			  printf("#define CONFIG_%s\n", extra_options[i].name);
+		  else
+			  printf("#undef  CONFIG_%s\n", extra_options[i].name);
+		  i++;
+	  }
 
-	  fprintf (stderr,
-		 "Enter the path to your TRXPRO.HEX file (pwd is sound): ");
-	  scanf ("%s", path);
-	  fprintf (stderr, "including HEX file `%s'\n", path);
-
-	  if (!hex2hex (path, "trix_boot.h", "trix_boot"))
-	    goto hex2hex_again;
-	  printf ("/*build hex2hex %s trix_boot.h trix_boot */\n", path);
-	  printf ("#define INCLUDE_TRIX_BOOT\n");
-	}
-    }
+	printf("\n");
 
-  if (selected_options & B (OPT_MSS))
-    {
-      if (think_positively ("Support for builtin sound of Compaq Deskpro XL", 0,
-			    "Enable this if you have Compaq Deskpro XL.\n"))
-	{
-	  printf ("#define DESKPROXL\n");
-	}
-    }
+	ask_parameters();
 
-  if (selected_options & B (OPT_MAUI))
-    {
-    oswf_again:
-      if (think_positively (
-			     "Do you have access to the OSWF.MOT file", 1,
-			     "TB Maui and Tropez have a microcontroller which needs to be initialized\n"
-			     "prior use. OSWF.MOT is a file distributed with card's DOS/Windows drivers\n"
-			     "which is required during initialization\n"))
-	{
-	  char            path[512];
+	printf("#define SELECTED_SOUND_OPTIONS\t0x%08lx\n", selected_options);
+	fprintf(stderr, "\nThe sound driver is now configured.\n");
 
-	  fprintf (stderr,
-		   "Enter full name of the OSWF.MOT file (pwd is sound): ");
-	  scanf ("%s", path);
-	  fprintf (stderr, "including microcode file %s\n", path);
-
-	  if (!bin2hex (path, "maui_boot.h", "maui_os"))
-	    {
-	      fprintf (stderr, "Couldn't open file %s\n",
-		       path);
-	      if (think_positively ("Try again with correct path", 1,
-				    "The specified file could not be opened. Enter the correct path to the\n"
-				    "file.\n"))
-		goto oswf_again;
-	    }
-	  else
-	    {
-	      printf ("#define HAVE_MAUI_BOOT\n");
-	      printf ("/*build bin2hex %s maui_boot.h maui_os */\n", path);
-	    }
-	}
-    }
+	if (!old_config_used)
+	  {
+		  char            str[255];
 
-  if (!(selected_options & ANY_DEVS))
-    {
-      printf ("invalid_configuration__run_make_config_again\n");
-      fprintf (stderr, "\n*** This combination is useless. Sound driver disabled!!! ***\n*** You need to enable support for at least one device    ***\n\n");
-      exit (0);
-    }
-
-  for (i = 0; i <= OPT_LAST; i++)
-    if (!hw_table[i].alias)
-      if (selected_options & B (i))
-	printf ("#define CONFIG_%s\n", hw_table[i].macro);
-      else
-	printf ("#undef  CONFIG_%s\n", hw_table[i].macro);
-
-  printf ("\n");
-
-  i = 0;
-
-  while (extra_options[i].name != NULL)
-    {
-      if (selected_options & extra_options[i].mask)
-	printf ("#define CONFIG_%s\n", extra_options[i].name);
-      else
-	printf ("#undef  CONFIG_%s\n", extra_options[i].name);
-      i++;
-    }
-
-  printf ("\n");
-
-  ask_parameters ();
-
-  printf ("#define SELECTED_SOUND_OPTIONS\t0x%08lx\n", selected_options);
-  fprintf (stderr, "\nThe sound driver is now configured.\n");
-
-  if (!old_config_used)
-    {
-      char            str[255];
-
-      sprintf (str, "Save copy of this configuration to `%s'", oldconf);
-      if (think_positively (str, 1,
-	"If you enable this option then the sound driver configuration is\n"
-      "saved to a file. If you later need to recompile the kernel you have\n"
-			  "the option of using the saved configuration.\n"))
-	{
-	  char            cmd[200];
+		  sprintf(str, "Save copy of this configuration to `%s'", oldconf);
+		  if (think_positively(str, 1,
+				       "If you enable this option then the sound driver configuration is\n"
+				       "saved to a file. If you later need to recompile the kernel you have\n"
+		       "the option of using the saved configuration.\n"))
+		    {
+			    char            cmd[200];
 
-	  sprintf (cmd, "cp local.h %s", oldconf);
+			    sprintf(cmd, "cp local.h %s", oldconf);
 
-	  fclose (stdout);
-	  if (system (cmd) != 0)
-	    perror (cmd);
-	}
-    }
-  exit (0);
+			    fclose(stdout);
+			    if (system(cmd) != 0)
+				    perror(cmd);
+		    }
+	  }
+	exit(0);
 }
 
 int
-bin2hex (char *path, char *target, char *varname)
+bin2hex(char *path, char *target, char *varname)
 {
-  int             fd;
-  int             count;
-  char            c;
-  int             i = 0;
-
-  if ((fd = open (path, 0)) > 0)
-    {
-      FILE           *sf = fopen (target, "w");
-
-      fprintf (sf, "/* automatically generated by configure */\n");
-      fprintf (sf, "static unsigned char %s[] = {\n", varname);
-      while (1)
-	{
-	  count = read (fd, &c, 1);
-	  if (count == 0)
-	    break;
-	  if (i != 0 && (i % 10) == 0)
-	    fprintf (sf, "\n");
-	  fprintf (sf, "0x%02lx,", c & 0xFFL);
-	  i++;
-	}
-      fprintf (sf, "};\n"
-	       "#define %sLen %d\n", varname, i);
-      fclose (sf);
-      close (fd);
-      return 1;
-    }
+	int             fd;
+	int             count;
+	char            c;
+	int             i = 0;
+
+	if ((fd = open(path, 0)) > 0)
+	  {
+		  FILE           *sf = fopen(target, "w");
 
-  return 0;
+		  fprintf(sf, "/* automatically generated by configure */\n");
+		  fprintf(sf, "static unsigned char %s[] = {\n", varname);
+		  while (1)
+		    {
+			    count = read(fd, &c, 1);
+			    if (count == 0)
+				    break;
+			    if (i != 0 && (i % 10) == 0)
+				    fprintf(sf, "\n");
+			    fprintf(sf, "0x%02lx,", c & 0xFFL);
+			    i++;
+		    }
+		  fprintf(sf, "};\n"
+			  "#define %sLen %d\n", varname, i);
+		  fclose(sf);
+		  close(fd);
+		  return 1;
+	  }
+	return 0;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov