?? configure.c
字號:
fprintf (stderr, def_answ ? " %s (y/n) ? " : " %s (n/y) ? ", questions[i]); if (think_positively (def_answ)) if (hw_table[i].alias) selected_options |= B (hw_table[i].alias); else selected_options |= B (i); } } } if (selected_options & B(OPT_SB16)) selected_options |= B(OPT_SBPRO); if (!(selected_options & ANY_DEVS)) { printf ("#undef CONFIGURE_SOUNDCARD\n"); printf ("#undef KERNEL_SOUNDCARD\n"); fprintf (stderr, "\n*** This combination is useless. Sound driver disabled!!! ***\n\n"); exit (0); } else printf ("#define KERNEL_SOUNDCARD\n"); for (i = 0; i <= OPT_LAST; i++) if (!hw_table[i].alias) if (selected_options & B (i)) printf ("#undef EXCLUDE_%s\n", hw_table[i].macro); else printf ("#define EXCLUDE_%s\n", hw_table[i].macro); printf ("#define EXCLUDE_PRO_MIDI\n"); printf ("#define EXCLUDE_CHIP_MIDI\n"); /* * IRQ and DMA settings */ printf ("\n");#if defined(linux) if (selected_options & B (OPT_SB) && selected_options & (B (OPT_AUDIO) | B (OPT_MIDI))) { fprintf (stderr, "\nIRQ number for SoundBlaster?\n" "The IRQ adress is defined by the jumpers on your card and\n" "7 is the factory default. Valid values are 9, 5, 7 and 10.\n" "Enter the value: "); num = ask_value ("%d", 7); if (num != 9 && num != 5 && num != 7 && num != 10) { fprintf (stderr, "*** Illegal input! ***\n"); num = 7; } fprintf (stderr, "SoundBlaster IRQ set to %d\n", num); printf ("#define SBC_IRQ %d\n", num); if (selected_options & B (OPT_SBPRO)) { fprintf (stderr, "\nDMA channel for SoundBlaster?\n" "For SB 1.0, 1.5 and 2.0 this MUST be 1\n" "SB Pro supports DMA channels 0, 1 and 3 (jumper)\n" "For SB16 give the 8 bit DMA# here\n" "The default value is 1\n" "Enter the value: "); num = ask_value ("%d", 1); if (num < 0 || num > 3) { fprintf (stderr, "*** Illegal input! ***\n"); num = 1; } fprintf (stderr, "SoundBlaster DMA set to %d\n", num); printf ("#define SBC_DMA %d\n", num); sb_dma = num; } if (selected_options & B (OPT_SB16)) { fprintf (stderr, "\n16 bit DMA channel for SoundBlaster 16?\n" "Possible values are 5, 6 or 7\n" "The default value is 6\n" "Enter the value: "); num = ask_value ("%d", 6); if ((num < 5 || num > 7) && (num != sb_dma)) { fprintf (stderr, "*** Illegal input! ***\n"); num = 6; } fprintf (stderr, "SoundBlaster DMA set to %d\n", num); printf ("#define SB16_DMA %d\n", num); fprintf (stderr, "\nI/O base for SB16 Midi?\n" "Possible values are 300 and 330\n" "The factory default is 330\n" "Enter the SB16 Midi I/O base: "); num = ask_value ("%x", 0x330); fprintf (stderr, "SB16 Midi I/O base set to %03x\n", num); printf ("#define SB16MIDI_BASE 0x%03x\n", num); } } if (selected_options & B (OPT_PAS)) { if (selected_options & (B (OPT_AUDIO) | B (OPT_MIDI))) { fprintf (stderr, "\nIRQ number for ProAudioSpectrum?\n" "The recommended value is the IRQ used under DOS.\n" "Please refer to the ProAudioSpectrum User's Guide.\n" "The default value is 10.\n" "Enter the value: "); num = ask_value ("%d", 10); if (num == 6 || num < 3 || num > 15 || num == 2) /* Illegal */ { fprintf (stderr, "*** Illegal input! ***\n"); num = 10; } fprintf (stderr, "ProAudioSpectrum IRQ set to %d\n", num); printf ("#define PAS_IRQ %d\n", num); } if (selected_options & B (OPT_AUDIO)) { fprintf (stderr, "\nDMA number for ProAudioSpectrum?\n" "The recommended value is the DMA channel under DOS.\n" "Please refer to the ProAudioSpectrum User's Guide.\n" "The default value is 3\n" "Enter the value: "); num = ask_value ("%d", 3); if (num == 4 || num < 0 || num > 7) { fprintf (stderr, "*** Illegal input! ***\n"); num = 3; } fprintf (stderr, "\nProAudioSpectrum DMA set to %d\n", num); printf ("#define PAS_DMA %d\n", num); } } if (selected_options & B (OPT_GUS)) { fprintf (stderr, "\nI/O base for Gravis Ultrasound?\n" "Valid choises are 210, 220, 230, 240, 250 or 260\n" "The factory default is 220\n" "Enter the GUS I/O base: "); num = ask_value ("%x", 0x220); if ((num > 0x260) || ((num & 0xf0f) != 0x200) || ((num & 0x0f0) > 0x060)) { fprintf (stderr, "*** Illegal input! ***\n"); num = 0x220; } if ((selected_options & B (OPT_SB)) && (num == 0x220)) { fprintf (stderr, "FATAL ERROR!!!!!!!!!!!!!!\n" "\t0x220 cannot be used if SoundBlaster is enabled.\n" "\tRun the config again.\n"); printf ("#undef CONFIGURE_SOUNDCARD\n"); printf ("#undef KERNEL_SOUNDCARD\n"); exit (-1); } fprintf (stderr, "GUS I/O base set to %03x\n", num); printf ("#define GUS_BASE 0x%03x\n", num); fprintf (stderr, "\nIRQ number for Gravis UltraSound?\n" "The recommended value is the IRQ used under DOS.\n" "Please refer to the Gravis Ultrasound User's Guide.\n" "The default value is 15.\n" "Enter the value: "); num = ask_value ("%d", 15); if (num == 6 || num < 3 || num > 15 || num == 2) /* Invalid */ { fprintf (stderr, "*** Illegal input! ***\n"); num = 15; } fprintf (stderr, "Gravis UltraSound IRQ set to %d\n", num); printf ("#define GUS_IRQ %d\n", num); fprintf (stderr, "\nDMA number for Gravis UltraSound?\n" "The recommended value is the DMA channel under DOS.\n" "Please refer to the Gravis Ultrasound User's Guide.\n" "The default value is 6\n" "Enter the value: "); num = ask_value ("%d", 6); if (num == 4 || num < 0 || num > 7) { fprintf (stderr, "*** Illegal input! ***\n"); num = 6; } fprintf (stderr, "\nGravis UltraSound DMA set to %d\n", num); printf ("#define GUS_DMA %d\n", num); } if (selected_options & B (OPT_MPU401)) { fprintf (stderr, "\nI/O base for MPU-401?\n" "The factory default is 330\n" "Enter the MPU-401 I/O base: "); num = ask_value ("%x", 0x330); fprintf (stderr, "MPU-401 I/O base set to %03x\n", num); printf ("#define MPU_BASE 0x%03x\n", num); fprintf (stderr, "\nIRQ number for MPU-401?\n" "Valid numbers are: 3, 4, 5, 7 and 9(=2).\n" "The default value is 5.\n" "Enter the value: "); num = ask_value ("%d", 5); if (num == 6 || num < 3 || num > 15) /* Used for floppy */ { fprintf (stderr, "*** Illegal input! ***\n"); num = 5; } fprintf (stderr, "MPU-401 IRQ set to %d\n", num); printf ("#define MPU_IRQ %d\n", num); }#endif if (selected_options & B (OPT_AUDIO)) { def_size = 16384; if (selected_options & (B (OPT_SBPRO) | B (OPT_PAS) | B(OPT_SB16))) def_size = 32768;#ifndef __386BSD__ if (((selected_options & B (OPT_PAS)) || (selected_options & B (OPT_SB16))) && !full_driver) def_size = 65536; /* PAS16 or SB16 */#endif fprintf (stderr, "\nSelect the DMA buffer size (4096, 16384, 32768 or 65536 bytes)\n" "%d is recommended value for this configuration.\n" "Enter the value: ", def_size); num = ask_value ("%d", def_size); if (num != 4096 && num != 16384 && num != 32768 && num != 65536) { fprintf (stderr, "*** Illegal input! ***\n"); num = def_size; } fprintf (stderr, "The DMA buffer size set to %d\n", num); printf ("#define DSP_BUFFSIZE %d\n", num); } printf ("#define SELECTED_SOUND_OPTIONS\t0x%08x\n", selected_options); fprintf (stderr, "The sound driver is now configured.\n");#if defined(SCO) || defined(ISC) || defined(SYSV) fprintf(stderr, "Rember to update the System file\n");#endif exit (0);}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -