Metropoli BBS
VIEWER: install.dat MODE: TEXT (CP437)
/*
 * NEW TROPEZ PLUS INSTALL
 *
 * INSTALL.DAT
 *
 * Project: TROPEZ PLUS
 * Version: 1.0
 * 3/5/96
 *
 Added quick install option
 Eliminated hardware test routine
 Fixed Midimapper problem
 */

@DefineProject
	@Name = "TROPEZ PLUS"
	@Version = "1.0"
	@Subdir = "\\tbeach"
	@OutDrive = C
@EndProject

/*
Options:
	1-4 Install, uninstall, configure, exit
	11-12 Full/custom installation
	21-22 DOS, Windows installation
	31-37 Windows apps to install
	38 Regular drivers - only used for configuration
	40 Copy in midimap.cfg to make Tropez Plus card default MIDI device?
	50 Delete whole tropez directory?
	60 Reboot after installation?
	70 Test hardware settings?

    101-108 Main sound card settings menu
    111, 121, 131, 141, 151 for each of the main sound card settings

	201-203    Sound Blaster settings menu
	211, 221, 231  for each of the SB settings
*/

// Variable definitions and default settings

@DefineVars
	@Qstring @initexe
	@Integer @QuickInstall = 0
	@Integer @Choice = 0
	@Integer @GetWin
	@Dir     @EnteredWinDir = "\\WINDOWS"
	@Drive   @EnteredWinDrive = C
	@Qstring @MainPort = "534"
	@Qstring @MainIRQ = "5"
	@Qstring @MainDMA = "1"
	//Added 3/5 for Full Duplex
	@Qstring @RecDMA = "3"
	@Qstring @WFPort = "330"                //WaveFront Port Address
	@Qstring @WFIRQ = "9"                   //WaveFront IRQ
	@Qstring @SBio
	@Qstring @MidiPort = "340"          //Set to 10 above @WFPort
	@Qstring @MidiIRQ = "DISABLED"          //Only needed for secondary MIDI port
	@Integer @DosInstall = @true
	
	@Integer @FullDuplex = @false

	@Integer @TestHW = @false
	@Integer @PlugNPlay = @false
	@Integer @WindowsInstall = @true 
	@Qstring @BlasterPort ="220"
	@Qstring @BlasterIRQ ="5"
	@Qstring @BlasterDMA ="1"
	@Qstring @TrySetting = ""

	//Tropez Plus Title box (one of the flashier parts of this install)
	@Qstring @box1 ="╔═════════════════════════════════════════════╗"
	@Qstring @box2 ="║                                             ║"
	@Qstring @box3 ="╚═════════════════════════════════════════════╝"
	@Qstring @logo1 ="             Turtle Beach Systems        "
	@Qstring @logo2 ="   Tropez Plus Installation Program V@Version "
	@Integer @colformat = 15
	@Integer @rowformat = 0
	//@Integer @boxcolor1 =125
	//@Integer @boxcolor2 =113
	@Integer @boxcolor1 =116
	@Integer @boxcolor2 =113



	// File set sizes (all in KB)
	@Integer @DOSSize = 710
	@Integer @RegDrivSize = 457
	@Integer @MidiMapSize = 37

	@Integer @TotalSize = 0
	@Integer @TotalSizeBytes = 0
	@Integer @WFReturn = 0

	@Qstring @SysIni = "C:\\WINDOWS\\SYSTEM.INI"
	@Qstring @BootLine = ""
	@Qstring @DrvPath
	@Qstring @TBS2000Ini = ""
	@Qstring @TropezIni = ""

	@Integer @WSS = 1
	@Integer @SB = 2
	@Integer @MIDI = 3
	@Integer @WF = 4
//------------------------ Test results ------------------------
	@Integer @MainPortTest = 0
	@Integer @MainIRQTest = 0
	@Integer @MainDMATest = 0
	
	@Integer @SBPortTest = 0
	
	@Integer @MIDIPortTest = 0
	@Integer @MIDIIRQTest = 0
	
	@Integer @WFPortTest = 0
	@Integer @WFIRQTest = 0
	@Qstring @Temp = "?"
	@Integer @lock5 = 0
//---------------------------------------------------------------
	@Qstring @ActionStr = ""
    @Integer @Row = 1
    @Integer @Col = 1
    @Qstring @TempMIDIPort
    @Qstring @RunLine = ""
    @Qstring @GroupFilePath = ""

@EndVars

@ClearOption(60)  // reboot option

@If (@OSMajor > 6)
@ClearOption(2001)
@ClearOption(2002)
@GetOption
@movecstr(0,2,15,"╔════════════════════════════════════════════════════════════════════════╗")
@movecstr(1,2,15,"║                                                                        ║")
@movecstr(2,2,15,"║                                                                        ║") 
@movecstr(3,2,15,"╚════════════════════════════════════════════════════════════════════════╝")
    @movecstr(1,10,15,"                     Turtle Beach, Inc. ")
    @movecstr(2,10,15,"                 Tropez Plus Installation")

@move(5,27,"Are you using Windows 95?")
@LocalWindow(10,40)
@Option 2001 = "Yes"
@Option 2002 = "No"
@EndOption

@If(2001 [= @Option)
@Display
	This Installation diskette is for use with DOS/Windows 3.1!
	To install drivers for Windows 95, please see your User's
	Manual and the README.TXT file on this diskette.  You should also 
	run SETUP.EXE on disk #3 in order to install the Windows Multimedia 
	Applications. This should be done after Windows 95 Auto-detects the  
	Tropez Plus.
	Thanks!
	@LocalWindow(12,40)
	@Pause
	@Abort
	@EndDisplay
@Endif
@Endif

@FlushOptions()

// ******************************************
// Main menu
// ******************************************
@ClearOption(1)
@ClearOption(2)
@ClearOption(3)
@ClearOption(4)
@ClearOption(5)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@GetOption




      ╔══════════════════════════════════════════════════════════════╗
      ║                   This program allows you to:                ║
      ║                                                              ║
      ║ »» Install Tropez Plus drivers for DOS and/or Windows 3.1.   ║
      ║ »» Uninstall Tropez Plus drivers for DOS and/or Windows 3.1. ║
      ║ »» Configure Tropez Plus for DOS or Windows 3.1.             ║
      ║                                                              ║
      ║  Use the Up and DOWN arrow keys to select, then press ENTER  ║
      ╚══════════════════════════════════════════════════════════════╝
	   
	@LocalWindow(18,40)
    @Option 1 = " Quick Install"
    @Option 2 = "Custom Install"                           
    @Option 4 = "  Configure"
    @Option 3 = "  Uninstall"
    @Option 5 = "    Exit"

@EndOption
										
@if (5[=@option)                                        
	@exit
@endif

@if(1[=@option)
	@ActionStr = "Installation"
	@QuickInstall = 1
@elseif(2[=@option)
	@ActionStr = "Installation"
	@QuickInstall = 0
@elseif(4[=@option)
	@ActionStr = "Configuration"
	@goto CONFIGURATION_OPTIONS
@elseif(3[=@option)
	@ActionStr = "Uninstallation"
@endif


// ******************************************
// Select DOS or Windows install
// ******************************************

BEGIN_INSTALLATION_SELECTIONS:

@if (1[=@option || 2[=@option)  // if install

	@if(@QuickInstall == 1)
	@DOSInstall = @true
	@WindowsInstall = @true
	@goto GETOUTDRIVE 
	@endif

	@SetOption(21)  // default to YES
	@SetOption(22)
	@GetOption
	@Checkbox

	@movecstr(0, 27, 30, "@ActionStr options")
	@movecstr(2, 5, 27, "Up and down arrow keys: select the item you wish to change")
	@movecstr(4, 5, 27, "Space bar: alternate selecting or deselecting the option")
	@movecstr(6, 5, 27, "Enter: accept the options as shown")

	@LocalWindow(10,40)
	@Option 21 = "DOS @ActionStr"
	@Option 22 = "Windows @ActionStr"

	@movecstr(16, 5, 30, "DOS @ActionStr:")
	@movecstr(17, 7, 23, "Copies all DOS applications to your hard drive and configures")
	@movecstr(18, 7, 23, "your hardware settings for DOS games and other DOS apps.")
	@movecstr(20, 5, 30, "Windows @ActionStr:")
	@movecstr(21, 7, 23, "Copies the drivers for the Tropez Plus under Windows.")

	@EndOption

	@if (21[=@option)
		@DOSInstall = @true
	@else
		@DOSInstall = @false
	@endif
	@if (22[=@option)
		@WindowsInstall = @true
	@else
		@WindowsInstall = @false
	@endif

@endif  // install, quick or custom

// ***********************************************
// Choose what kind of configuration (DOS and/or Windows)
// ***********************************************
CONFIGURATION_OPTIONS:

@if (4[=@option)  // if Configure
	@SetOption(21)
	@SetOption(22)
	@GetOption
	@Checkbox

	@movecstr(0, 27, 30, "@ActionStr options")
	@movecstr(2, 5, 27, "Up and down arrow keys: highlight the option you wish to change")
	@movecstr(4, 5, 27, "Space bar: alternate selecting or deselecting the option")
	@movecstr(6, 5, 27, "Enter: accept the options as shown")
	
		@LocalWindow(10,40)
		@Option 21 = "DOS @ActionStr"
		@Option 22 = "Windows @ActionStr"

		@movecstr(16, 5, 30, "DOS @ActionStr:")
		@movecstr(17, 7, 23, "Configures your hardware settings for DOS games and")
		@movecstr(18, 7, 23, "other DOS apps.")
		@movecstr(20, 5, 30, "Windows @ActionStr:")
		@movecstr(21, 7, 23, "Configures the drivers for the Tropez Plus under Windows.")

	@EndOption

	@if (21[=@option)
		@DOSInstall = @true
	@else
		@DOSInstall = @false
	@endif
	@if (22[=@option)
		@WindowsInstall = @true
	@else
		@WindowsInstall = @false
	@endif
	// @Goto START_CONFIGURE
@endif  // configure

@if(3[=@option)
	@if ( (@exists("@OutDrive:\\tzuninst.ini") == @TRUE) )
		@subdir = @GetProfString("@OutDrive:\\tzuninst.ini", "install", "InstallSubdir")
	@endif
	@goto UNINSTALL
@endif
// ***********************************************
// Get output disk drive and directory
// ***********************************************

GETOUTDRIVE:
@If(@Choice == 0 && @QuickInstall == 1)
	@If(@DriveExists(@OutDrive))
		@EnteredWinDrive = C
		@EnteredWinDir = "\\WINDOWS"
		@Goto CheckWPath
	@Else
		@Display
		@Cls
	We couldn't locate your hard drive! 
		@Pause
		@EndDisplay
	@Endif
@Endif


@GetOutDrive
	@Cls
	@suppress(0,17)
	@movecstr(0, 27, 30, "@ActionStr drive")
	@movecstr(7, 15, 27, "Please specify disk drive for @Name files")
	@LocalWindow(12, 37)
@EndOutDrive

@GetSubdir
	@Cls
	@movecstr(0, 27, 30, "@ActionStr directory")
	@movecstr(4, 17, 27, "Please specify directory for @Name files")
	@LocalWindow(10, 50)
@EndSubdir

@If(@Choice != 0 || @QuickInstall == 1)
	@Goto MAIN_SETTINGS_MENU
@Endif

// ***********************************************
// Get Windows disk drive and directory
// ***********************************************

GETWINDOWSDIR:

@if((@WindowsInstall == @true) && ((4[=@option) || (2[=@option) || @choice == 2))
	
	@EnteredWinDir = "\\WINDOWS"
	@GetOutDrive @EnteredWinDrive
		@Cls
	    @suppress(0,17)
		@movecstr(0, 23, 30, "@ActionStr - Windows drive")
		@movecstr(4, 17, 27, "On which disk drive is Windows located?")

		@LocalWindow(10, 37)

	@EndOutDrive

	@GetSubDir @EnteredWinDir
		@Cls
		@movecstr(0, 21, 30, "@ActionStr - Windows directory")
		@movecstr(4, 19, 27, "In which directory is Windows located?")
		@movecstr(5, 19, 27, "For example, \\WINDOWS")

		@Prompt = "What is your windows directory?"
		@LocalWindow(12, 50)
	@EndSubDir

CheckWPath:

//@pause
	@if (@exists("@EnteredWinDrive:@EnteredWinDir\\win.com") != @TRUE)
		@Display

	Windows was not found in @EnteredWinDrive:@EnteredWinDir!!
	Please enter the proper directory.  Hit ESC to cancel this
	installation so you can go look for the file WIN.COM. Type 
	these two commands at the C:> prompt:
	CD \
	DIR WIN.COM /S
	This will search your entire hard drive for the WIN.COM file.

		@Pause
		@EndDisplay
		@goto GETWINDOWSDIR
	@Endif  // win.com exists
	@if (@exists("@EnteredWinDrive:@EnteredWinDir\\system.ini") != @TRUE)
		@Display
	No system.ini in that directory!  This will certainly cause
	problems.  

			@Pause
		@EndDisplay
		@goto GETWINDOWSDIR
	@Endif  // system.ini exists
	@SysIni = "@EnteredWinDrive:@EnteredWinDir\\system.ini"
@Endif  // windows installation

//Full Duplex Question

@if((2[=@option) || (4[=@option))
    @Goto FULL_DUPLEX
@Endif

@If(@Choice != 0 || @QuickInstall == 1)
	@Goto MAIN_SETTINGS_MENU
@Endif

@If(4[=@Option)
	@Goto START_CONFIGURE
@Endif

AFTERGETWINDOWSDIRECTORY:

// **********************************************
// Check space on drive
// **********************************************
CHECK_SPACE_ON_DRIVE:

// Figure out total disk space needed
@TotalSize = 0

@if (@DOSInstall == @true)
	@TotalSize = (@TotalSize + @DOSSize)
@endif

@if (@WindowsInstall == @true)

	@TotalSize = (@TotalSize + @RegDrivSize)

	@TotalSize = (@TotalSize + @MidiMapSize)

@endif

@TotalSizeBytes = (@TotalSize * 1024)


@if ((@DiskFree(@OutDrive)) < (@TotalSizeBytes))
	@Display
 Not enough disk space on drive @OutDrive.
 Press ESC to exit and delete files, or hit enter to select a different drive.


		@Pause
		@goto BEGIN_INSTALLATION_SELECTIONS
	@EndDisplay
@endif


//GETPNP:

//@If(@Choice == 0 || @QuickInstall == 1)
//      @Goto MAIN_SETTINGS_MENU
//      @Endif
//@Endif

// Plug-n-Play option
//      @SetOption(400)
//      @GetOption
//      @movecstr(2, 5, 31, "                                                ")
//      @movecstr(4, 7, 31, "                                    ")
//      @movecstr(6, 7, 31, "                                    ")
//              @CheckBox
//              @movecstr(0, 30, 30, "Plug-n-Play?")
//              @movecstr(3, 5, 27, "Space bar - switch the option on or off")
//              @movecstr(5, 5, 27, "Enter - accept the option as shown")
//              @LocalWindow(14,37)  // was 40
//              @movecstr(7, 5, 31, "Are you installing the card in a Plug-n-Play system? ")
//              @ClearOption(400)
//              @Option 400 = "Plug-n-Play System?"
//              @EndOption


//@If (400[=@option)
//      @PlugNPlay=@true
//@Else
//      @PlugNPlay=@False
//@Endif

//@if (@PlugNPlay == @true)

	// set defaults
//      @MainPort = "534"
//      @MainIRQ = "7"
//      @MainDMA = "1"
//      @MidiPort = "300"
//      @MidiIRQ = "DISABLED"
//      @BlasterPort = "220"
//      @BlasterIRQ = "7"
//      @BlasterDMA = "1"

//      @WFPort = "330"
//      @WFIRQ = "9"

//      @goto End_Configure

//@endif

@If(@Choice == 0  || @QuickInstall == 1)
		@Goto MAIN_SETTINGS_MENU
	@Endif
@Endif

// *****************************************
// Full Duplex Section
// *****************************************
FULL_DUPLEX:

@If((@QuickInstall == 1) || (@WindowsInstall != @true))
	@Goto MAIN_SETTINGS_MENU
	@Endif
@Endif

//@If((@WindowsInstall == @true) && ((2[=@option) || (4[=@option))

@SetOption(400)
	@GetOption
	@movecstr(2, 5, 31, "                                                ")
	@movecstr(4, 7, 31, "                                    ")
	@movecstr(6, 7, 31, "                                    ")
		@CheckBox
		@movecstr(0, 32, 30, "Full-Duplex?")
		@movecstr(4, 5, 27, "Space bar: alternate selecting or deselecting the option")
		@movecstr(6, 5, 27, "Enter: accept the options as shown")
		@LocalWindow(11,37)  // was 40
		@movecstr(14, 5, 31, "Do you want to enable Full Duplex for the Tropez Plus card?")
		@movecstr(15, 5, 31, "Full Duplex is primarily used for applications in which")
		@movecstr(16, 5, 31, "simultaneous record and playback is necessary (such as digital")
		@movecstr(17, 5, 31, "multitrack and Internet 'phone' type software). Full Duplex is")
		@movecstr(18, 5, 31, "not necessary for normal operation.")
		@ClearOption(400)
		@Option 400 = "Full-Duplex?"
		@EndOption

//@Endif

@If (400[=@option)
	@FullDuplex=@true
@Else
	@FullDuplex=@False
@Endif


@If(2[=@Option)
	@Goto MAIN_SETTINGS_MENU
@Endif


// ******************************************
// Configuration start
// ******************************************
START_CONFIGURE:

// ******************************************
// Sound card configuration (main settings)
// ******************************************
// get settings from TBSDOS.INI

	@Temp = "@OutDrive:\\@Subdir\\DOSAPPS\\TBSDOS.INI"
	
	@MainPort = @GetProfString("@Temp","PNP","WssIO")
	@MainIRQ = @GetProfString("@Temp","PNP","WssInt")
	@MainDMA = @GetProfString("@Temp","PNP","WssDmaPlay")
	@MIDIPort = @GetProfString("@Temp","PNP","MPU401IO")
	@MIDIIrq = @GetProfString("@Temp","PNP","MPU401Int")
	@BlasterPort = @GetProfString("@Temp","PNP","SbIO")
	
 // Should this be CDIO and CDINT???    
	@WFPort = @GetProfString("@Temp","PnP","CDIO")
	@WFIRQ = @GetProfString("@Temp","PnP","CDInt")



MAIN_SETTINGS_MENU:
@ClearOption(101)
@ClearOption(102)
@ClearOption(103)
@ClearOption(104)
@ClearOption(105)
@ClearOption(106)
@ClearOption(107)
@ClearOption(108)
@ClearOption(109)
@ClearOption(110)
@ClearOption(111)
@ClearOption(114)
@ClearOption(115)

@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")

@GetOption
    @movecstr(5, 5, 30, "@ActionStr: Tropez Plus current hardware settings")
    @movecstr(7, 5, 27, "Up and down arrow keys - highlight the setting you wish to change")
    @movecstr(8, 5, 27, "Enter - change the highlighted setting")
    @LocalWindow(16,40)

	@Option 101 = "Continue with settings as shown"
	@Option 109 = "DOS Install Directory.........@OutDrive:\\@Subdir"
@If(@WindowsInstall == @true)
	@Option 110 = "Windows Install Directory.....@EnteredWinDrive:\\@EnteredWinDir"
	@Option 102 = "Windows Audio Port Address....@MainPort"
@Endif
@If(@DOSInstall == @true)
	@Option 111 = "Sound Blaster Port Address....@BlasterPort"
@Endif
	@Option 103 = "Audio IRQ.....................@MainIRQ"
@If(@FullDuplex == @false)
	@Option 104 = "Audio DMA.....................@MainDMA"
@Endif
@If(@FullDuplex == @true)
	@Option 104 = "Audio Play DMA................@MainDMA"
	@Option 105 = "Audio Record DMA..............@RecDMA"
@Endif
	@Option 107 = "WaveFront Port Address........@WFPort"
	@Option 108 = "WaveFront IRQ.................@WFIRQ"
//      @Option 105 = "Full Duplex?..................@FullDuplex"
	@Option 114 = "Reset All Values to Default"

//  MPU-401 settings are not needed for Tropez Plus
//  @Option 105 = "MPU-401 Port Address..........@MidiPort"
//      @Option 106 = "MPU-401 MIDI IRQ..............@MidiIRQ"

@EndOption



@if(101[=@option) // user wants to continue with present settings
    // first check to see if the settings work and default IRQ not the same as CD-ROM IRQ
    @goto END_OF_MAIN_SETTINGS

@elseif(102[=@option)  // Main Port
@Choice = 1
	@goto MAIN_PORT_SETTING
@elseif(103[=@option)  // Main IRQ
@Choice = 1
	@goto MAIN_IRQ_SETTING
@elseif(104[=@option)  // Main DMA
@Choice = 1
	@goto MAIN_DMA_SETTING
@elseif(105[=@option)  // Record DMA
@Choice = 1
	@goto REC_DMA_SETTING
@elseif(106[=@option)  // MPU-401 IRQ
@Choice = 1
	@goto MPU401_IRQ_SETTING
@elseif(107[=@option)  // WaveFront port
@Choice = 1
	@goto WAVEFRONT_PORT_SETTING
@elseif(108[=@option)  // WaveFront IRQ
@Choice =1
	@goto WAVEFRONT_IRQ_SETTING
@elseif(109[=@option)  // Install Directory
@Choice = 1
	@goto GETOUTDRIVE
@elseif(110[=@option)  // Windows Directory
@Choice = 2
	@goto GETWINDOWSDIR
@elseif(111[=@option)  // SB Port
@Choice = 1
	@goto BLASTER_PORT_SETTING
@elseif(114[=@option)  // Reset all values
@Choice = 1
	@goto RESETEM
@endif

@Goto MAIN_SETTINGS_MENU   // fall-thru - default

MAIN_PORT_SETTING:
	@ClearOption(111)
	@ClearOption(112)
	@ClearOption(113)
	@ClearOption(114)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 26, 30, "Windows Sound Port Address")
	@GetOption






	This setting changes the "WSSPort" entry in TBSDOS.INI and the
	"IOAddress=" entry in the [sndsys.drv] section of SYSTEM.INI in your
	Windows directory. It's used to play digital audio in Windows.
		@LocalWindow(15,40)
		@Option 111 = "534 (default)"
		@Option 112 = "608"
		@Option 113 = "E84"
		@Option 114 = "F44"
	@EndOption
	@if(111[=@option)
		@TrySetting = "534"
	@elseif (112[=@option)
		@TrySetting = "608"
	@elseif (113[=@option)
		@TrySetting = "E84"
	@elseif (114[=@option)
		@TrySetting = "F44"
	@else //default
		@TrySetting = "534"
	@endif

	@MainPort = "@TrySetting"
	@goto MAIN_SETTINGS_MENU

RESETEM:  // reset all values to default
	@MainPort = "534"
	@MainIRQ = "5"
	@MainDMA = "1"
	@BlasterPort = "220"
	@MidiPort = "339"
	@MidiIRQ = "DISABLED"
	@WFPort = "330"
	@WFIRQ = "9"
@goto MAIN_SETTINGS_MENU

MAIN_IRQ_SETTING:

	@ClearOption(121)
	@ClearOption(122)
	@ClearOption(123)
	@ClearOption(350)
	@ClearOption(351)
	@ClearOption(352)
	@ClearOption(353)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(5, 34, 30, "Sound IRQ")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(7, 5, 31, "This setting changes the 'WSSInt' entry in TBSDOS.INI and the")
@movecstr(8, 5, 31, "'Interrupt=' entry in the [sndsys.drv] section of SYSTEM.INI in your")
@movecstr(9, 5, 31, "Windows directory.  It also changes the 'SET BLASTER' statement in")
@movecstr(10, 5, 31, "AUTOEXEC.BAT.  It's used to play digital audio in DOS and Windows.")
	@GetOption
		@LocalWindow(16,40)
		@if ("@WFIRQ" != "5")
			@Option 121 = "5 (default)"
		@endif
		@if ("@WFIRQ" != "7")
			@Option 122 = "7"
		@endif
		@if ("@WFIRQ" != "9")
			@Option 123 = "9"
		@endif
		@if ("@WFIRQ" != "10")
			@Option 350 = "10"
		@endif
		@if ("@WFIRQ" != "11")
			@Option 351 = "11"
		@endif
		@if ("@WFIRQ" != "12")
			@Option 352 = "12"
		@endif
		//@if ("@MidiIRQ" != "15")
		//@Option 353 = "15"
		//@endif
	@EndOption


	@if(121[=@option)
		@TrySetting = "5"
	@elseif (122[=@option)
		@TrySetting = "7"
	@elseif (123[=@option)
		@TrySetting = "9"
	@elseif (350[=@option)
		@TrySetting = "10"
	@elseif (351[=@option)
		@TrySetting = "11"
	@elseif (352[=@option)
		@TrySetting = "12"
	@elseif (353[=@option)
		@TrySetting = "15"
	@else //default
		@TrySetting = "5"
	@endif

	// now assign @MainIRQ to @TrySetting if it succeeds hardware test
	@MainIRQ = "@TrySetting"
	@goto MAIN_SETTINGS_MENU


MAIN_DMA_SETTING:
	@ClearOption(131)
	@ClearOption(132)
	@ClearOption(133)
	@ClearOption(134)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 34, 30, "Sound DMA")
@movecstr(7, 5, 31, "This setting changes the 'WSSDmaPlay' entry in TBSDOS.INI and the")
@movecstr(8, 5, 31, "'DMADAC=' entry in the [sndsys.drv] section of SYSTEM.INI in your")
@movecstr(9, 5, 31, "Windows directory.  It also changes the 'SET BLASTER' statement in")
@movecstr(10, 5, 31, "AUTOEXEC.BAT.  It's used to play digital audio in DOS and Windows.")

	@GetOption
		@LocalWindow(15,40)
	
	@if(@FullDuplex == @false)
		@Option 132 = "1 (default)"
		@Option 131 = "0"
		@Option 133 = "3"
	@Endif
	
	@if(@FullDuplex == @true)
		@if ("@RecDMA" != "1")
			@Option 132 = "1 (default)"
		@endif
		@if ("@RecDMA" != "0")
			@Option 131 = "0"
		@endif
		@if ("@RecDMA" != "3")
			@Option 133 = "3"
		@endif  
	@Endif
	
	@EndOption
	@if(131[=@option)
		@TrySetting = "0"
	@elseif (132[=@option)
		@TrySetting = "1"
	@elseif (133[=@option)
		@TrySetting = "3"
	@else //default
		@TrySetting = "1"
	@endif

	// now assign @MainDMA to @TrySetting if it succeeds hardware test
	@MainDMA = "@TrySetting"
	@goto MAIN_SETTINGS_MENU

REC_DMA_SETTING:

	@ClearOption(141)
	@ClearOption(142)
	@ClearOption(143)
	@ClearOption(144)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 34, 30, "Record DMA")
	@GetOption






	This setting changes the "DMAADC=" entry in the [sndsys.drv] section 
	of SYSTEM.INI in your Windows directory.  It is only used when the
	Tropez Plus card is in Full Duplex mode in Windows.  The Audio Record
	DMA must be different than the Audio Play DMA.              
		@LocalWindow(15,40)
		@if ("@MainDMA" != "3")
			@Option 141 = "3 (default)"
		@endif
		@if ("@MainDMA" != "1")
			@Option 142 = "1"
		@endif
		@if ("@MainDMA" != "0")
			@Option 143 = "0"
		@endif
		@EndOption
	@if(141[=@option)
		@RecDMA = "3"
	@elseif (142[=@option)
		@RecDMA = "1"
	@elseif (143[=@option)
		@RecDMA = "0"
	@else //default
		@RecDMA = "3"
	@endif

	// now assign @MainDMA to @TrySetting if it succeeds hardware test
   //   @RecDMA = "@TrySetting"
	@goto MAIN_SETTINGS_MENU

// -------------------------- MPU-401 stuff -----------------------
// Not needed for Tropez Plus Install.  MidiPort setting is set to 
// 9 above the WFPort value.

/*
MPU401_PORT_SETTING:
	@ClearOption(141)
	@ClearOption(142)
	@ClearOption(143)
	@ClearOption(144)
	@ClearOption(145)
	@ClearOption(146)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 30, 30, "MPU-401 Port I/O")
	@GetOption






	This setting changes the 'MPU401IO=' entry in TBSDOS.INI and
	the 'port=' entry of the [mpu401] section of SYSTEM.INI in your
	Windows directory.  It is used for the Tropez Plus' secondary 
	MPU-401.  
		@LocalWindow(16,40)
		@Option 141 = "330 (default)"
		@Option 142 = "300"
		@Option 143 = "320"
		@Option 144 = "332"
		@Option 145 = "334"
		@Option 146 = "336"
	@EndOption
	@if(142[=@option)
		@MidiPort = "300"
	@elseif(143[=@option)
		@MidiPort = "320"
	@elseif(144[=@option)
		@MidiPort = "332"
	@elseif(145[=@option)
		@MidiPort = "334"
	@elseif(146[=@option)
		@MidiPort = "336"
	@else  // default
		@MidiPort = "330"
	@endif
	@goto MAIN_SETTINGS_MENU

MPU401_IRQ_SETTING:
	@ClearOption(151)
	@ClearOption(152)
	@ClearOption(153)
	@ClearOption(154)
	@ClearOption(155)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 32, 30, "MPU-401 IRQ")
@movecstr(7, 6, 31, "This setting changes the 'MPU401IRQ' entry in TBSDOS.INI and")
@movecstr(8, 6, 31, "the 'irq=' entry in the [mpu401] section of SYSTEM.INI in your")
@movecstr(9, 6, 31, "Windows directory.  The Default value for this is DISABLED.")
@movecstr(10, 6, 31, "Unless you plan to use the secondary MIDI interface on the")
@movecstr(11, 6, 31, "Tropez Plus, DO NOT assign an IRQ to this setting.")

	@GetOption
		@LocalWindow(15,40)
		@if ("@MainIRQ" != "9")
			@Option 151 = "DISABLED (default)"
		@endif
		@if ("@WFIRQ"  != "5")
			@Option 152 = "5"
		@endif
		@if ("WFIRQ" != "7")
			@Option 153 = "7"
		@endif
		@if ("WFIRQ" != "9")
			@Option 154 = "9"
		@endif
	@EndOption

	@if(152[=@option)
		@MidiIRQ = "5"
	@elseif(153[=@option)
		@MidiIRQ = "7"
	@else  // default
		@MidiIRQ = "DISABLED"
	@endif
	@goto MAIN_SETTINGS_MENU

*/

//--------------- Blaster Settings ----------------
BLASTER_PORT_SETTING:
	@ClearOption(111)
	@ClearOption(112)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 26, 30, "Sound Blaster Port I/O")
	@GetOption






	This setting changes the "SBIO=" entry in TBSDOS.INI.  
	It also affects the SET BLASTER statement in AUTOEXEC.BAT. 
	It's required to use digital audio in DOS, mostly for games.
		@LocalWindow(14,40)
		@Option 111 = "220 (default)"
		@Option 112 = "240"
	@EndOption
	@if(111[=@option)
		@TrySetting = "220"
	@elseif (112[=@option)
		@TrySetting = "240"
	@endif

	@BlasterPort = "@TrySetting"
	@goto MAIN_SETTINGS_MENU

//-------------------------------------------------------------------

WAVEFRONT_PORT_SETTING:
	@ClearOption(141)
	@ClearOption(142)
	@ClearOption(143)
	@ClearOption(144)
	@ClearOption(145)
	@ClearOption(146)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 30, 30, "WaveFront Port I/O")
	@GetOption







	This setting changes the /A option for the SETUPSND entry in 
	AUTOEXEC.BAT and the "CDIO=" entry of the [PnP] section 
	of TBSDOS.INI in your TBEACH/DOSAPPS directory.  It's required if  
	you want to use the Tropez Plus Wavetable synthesizer for music.
		@LocalWindow(17,40)
		@Option 141 = "330 (default)"
		@Option 142 = "300"
		@Option 143 = "320"
		@Option 144 = "338"
		@Option 145 = "260"
		@Option 146 = "360"
	@EndOption
	@if(142[=@option)
		@WFPort = "300"
		@MidiPort = "310"
	@elseif(143[=@option)
		@WFPort = "320"
		@MidiPort = "330"
	@elseif(144[=@option)
		@WFPort = "338"
		@MidiPort = "342"
	@elseif(145[=@option)
		@WFPort = "260"
		@MidiPort = "270"
	@elseif(146[=@option)
			@WFPort = "360"
		@MidiPort = "370"
	@else  // default
		@WFPort = "330"
		@MidiPort = "340"
	@endif
	@goto MAIN_SETTINGS_MENU

WAVEFRONT_IRQ_SETTING:
	@ClearOption(151)
	@ClearOption(152)
	@ClearOption(153)
	@ClearOption(154)
	@ClearOption(155)
	@ClearOption(156)
	@ClearOption(157)
@movecstr(@rowformat,@colformat,@boxcolor1,"@box1")
@movecstr(@rowformat+1,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+2,@colformat,@boxcolor1,"@box2")
@movecstr(@rowformat+3,@colformat,@boxcolor1,"@box3")
@movecstr(@rowformat+1,@colformat+1,@boxcolor2,"@logo1")
@movecstr(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 32, 30, "WaveFront IRQ")
@movecstr(7, 6, 31, "This setting changes the '/I' option for the SETUPSND entry in")
@movecstr(8, 6, 31, "AUTOEXEC.BAT and the 'CDInt=' entry of the [PnP] section of")
@movecstr(9, 6, 31, "TBSDOS.INI in your TBEACH/DOSAPPS directory.  It's required if")
@movecstr(10, 6, 31, "you want to use the Tropez Plus Wavetable synthesizer for music.")
	
	@lock5 = 0
	@if ("@MidiIRQ" == "5")
		@lock5 = 1
	@endif
	@if ("@MainIRQ" == "5")
		@lock5 = 1
	@endif
	
	@GetOption
		@LocalWindow(16,40)
		@if ("@MainIRQ" != "9")
			@Option 151 = "9 (default)"
		@endif
		@if (@lock5 != 1)
			@Option 152 = "5"
		@endif
		@if ("@MainIRQ" != "7")
			@Option 153 = "7"
		@endif
		@if ("@MainIRQ" != "10")
			@Option 154 = "10"
		@endif
		@if ("@MainIRQ" != "11")
			@Option 155 = "11"
		@endif
		@if ("@MainIRQ" != "12")
			@Option 156 = "12"
		@endif                                          
	@if ("@MainIRQ" != "15")
			@Option 157 = "15"
		@endif

	
	@EndOption

	@if(152[=@option)
		@WFIRQ = "5"
	@elseif(153[=@option)
		@WFIRQ = "7"
	@elseif(154[=@option)
		@WFIRQ = "10"
	@elseif(155[=@option)
		@WFIRQ = "11"
	@elseif(156[=@option)
		@WFIRQ = "12"
	@elseif(157[=@option)
		@WFIRQ = "15"
	@else  // default
		@WFIRQ = "9"
	@endif
	@goto MAIN_SETTINGS_MENU

//Test Section - not used in 1.1 release ---------

TESTIT:
	@Row = 2

	@SBio="220"  // just use this for now
	@InitializeHardware( "@MainPort","@SBio","@MainDMA","@MainIRQ",
				"@MidiPort", "@MidiIRQ")

	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "WssIO", "@MainPort")
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "WssInt", "@MainIRQ")
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "WssDmaPlay", "@MainDMA")
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "SbIO", "@SBio")
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "MPU401IO", "@MidiPort")
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "MPU401Int", "@MidiIRQ")

	@Spawn( "@InDrive:\\install\\tbs2001.exe" )
	// WSS tests
	@Row = (@Row + 2)
	@movecstr(@Row, 9, 31, "Checking Windows Port Address")
	//@MainPortTest = @CheckPortIO(@WSS)
	//@movecstr(@Row, 45, 31, "@MainPort => @MainPortTest")

	@Row = (@Row + 1)
	@movecstr(@Row, 9, 31, "Checking Windows IRQ")
	//@MainPortTest = @CheckIRQ(@WSS)
	//@movecstr(@Row, 45, 31, "@MainIRQ => @MainIRQTest")
	
	@Row = (@Row + 1)
	@movecstr(@Row, 9, 31, "Checking Windows DMA")
	//@MainDMATest = @CheckDMA(@WSS)
	//@movecstr(@Row, 45, 31, "@MainDMA => @MainDMATest")
	
	//---- Now we set the BLASTER environment var, and run TESTPCM
	@System("@InDrive:install\\tbsdiag.exe")
	
	// MIDI tests
	@Row = (@Row + 2)
	@movecstr(@Row, 9, 31, "Checking MIDI Port Address")
	@MIDIPortTest = @CheckPortIO(@MIDI)
	@movecstr(@Row, 45, 31, "@MIDIPort => @MIDIPortTest")
	
	@Row = (@Row + 1)
	@movecstr(@Row, 9, 31, "Checking MIDI IRQ")
	@MIDIPortTest = @CheckIRQ(@MIDI)
	@movecstr(@Row, 45, 31, "@MIDIIRQ => @MIDIIRQTest")

// Now for SoundBlaster stuff
    
	@InitializeHardware( "@MainPort","@BlasterPort","@MainDMA","@MainIRQ",
				"@MidiPort", "@MidiIRQ" )

	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "SbIO", "@SBio")
    
	@Spawn( "@InDrive:\\install\\tbs2001.exe" )

    // restore the ini file to the WIN 95 state with everything disabled
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "MPU401IO", "@MidiPort")
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "MPU401Int", "@MidiIRQ")

	@Row = (@Row + 2)
	@movecstr(@Row, 9, 31, "Checking SoundBlaster Port")
	@SBPortTest = @CheckPortIO(@SB)
	@movecstr(@Row, 45, 31, "@BlasterPort => @SBPortTest")
    
	//WaveFront Tests require a fake-out in the INI file!
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "MPU401IO", "@WFPort")
	@WriteProfString("@InDrive:\\install\\tbsdos.ini", "PNP", "MPU401Int", "@WFIRQ")

	@Spawn( "@InDrive:\\install\\tbs2001.exe" )

	@InitializeHardware( "@MainPort","@SBio","@MainDMA","@MainIRQ",
				"@WFPort", "@WFIRQ")

	// WF MIDI tests
	@Row = (@Row + 2)
	@movecstr(@Row, 9, 31, "Checking WF Port Address")
	@WFPortTest = @CheckPortIO(@MIDI)
	@movecstr(@Row, 45, 31, "@WFPort => @WFPortTest")

	@Row = (@Row + 1)
	@movecstr(@Row, 9, 31, "Checking WF IRQ")
	@WFIRQTest = @CheckIRQ(@MIDI)
	@movecstr(@Row, 45, 31, "@WFIRQ => @WFIRQTest")
	
	@GetString @Temp
	@LocalWindow(19,40)
	@Prompt = "Press the Enter key to continue..."
	@EndString
	@goto MAIN_SETTINGS_MENU

@if (!@DosInstall)
	@goto END_OF_BLASTER_SETTINGS
@endif

END_OF_BLASTER_SETTINGS:

End_Configure:

@if (3[!@option)
	@if (@WindowsInstall == @true)
	// Make wavetable synth the default MIDI device
		@SetOption(40)
	@endif
@endif

@if (1[=@option)
	@movecstr(6, 5, 31, "Disk space needed for this install: @TotalSizeBytes bytes")
	@movecstr(7, 5, 31, "Free disk space on @OutDrive: @DiskFree(@OutDrive) bytes")
@endif

END_OF_MAIN_SETTINGS:

@Row = 1

@movecstr(@Row, 1, 30, "Please wait while changes are made to system startup files")

@Row = (@Row + 3)
@movecstr(@Row, 1, 31, "Backing up config.sys, autoexec.bat, and system.ini to .bak files")
// Backup autoexec.bat / config.sys / system.ini
//@abort
@copy("@BootDrive:\\config.sys", "@BootDrive:\\config.bak")
@copy("@BootDrive:\\autoexec.bat", "@BootDrive:\\autoexec.bak")
@copy("@EnteredWinDrive:@EnteredWinDir\\system.ini",
	"@EnteredWinDrive:@EnteredWinDir\\system.bak")

@if (@DosInstall)

	@removeline("@bootdrive:\\autoexec.bat", "", "setupsnd", "", "REM")
	@removeline("@bootdrive:\\config.sys", "", "tbs2001", "", "REM")
	@removeline("@bootdrive:\\autoexec.bat", "", "tbsmix", "", "REM")

	@Row = (@Row + 2)
	@movecstr(@Row, 1, 31, "Creating tbsdos.ini file for DOS settings")

	// *************************************************
	// Write tbsdos.ini
	// *************************************************

	@mkdir("@OutDrive:@subdir\\dosapps")
	@write("@OutDrive:@subdir\\dosapps\\tbsdos.ini","wt","[PNP]\n")
	@write(,,"WssIO=@MainPort\n")
	@write(,,"WssInt=@MainIRQ\n")
	@write(,,"WssDmaPlay=@MainDMA\n")
	@write(,,"WssDmaCapture=@MainDMA\n")
	@write(,,"SbIO=@BlasterPort\n")
	@write(,,"OplIO=388\n")
	@write(,,"OplInt=disabled\n")
	@write(,,"GameIO=200\n")
	@write(,,"4232IO=538\n")
	@write(,,"4232Int=disabled\n")
	@write(,,"MPU401IO=@MidiPort\n")
	@write(,,"MPU401Int=disabled\n")
	@write(,,"CDIO=@WFPort\n")
	@write(,,"CDInt=@WFIRQ\n")

	@write(,,"\n")

	@write(,,"[IniUpdate]\n")
	@write(,,"SysIniFile =@OutDrive:@EnteredWinDir\\system.ini\n")

	@write(,,"\n")

	@write(,,"SoundBlasterIRQ=[sndsys.drv],SoundBlasterIRQ\n")
	@write(,,"SoundBlasterAddr=[sndsys.drv],OldMSDOSGameIOAddress\n")
	@write(,,"SoundBlasterDMA=[sndsys.drv],SoundBlasterDMA\n")

	@write(,,"\n")

	@write(,,"UsePnP=[sndsys.drv],UsePnP\n")

	@write(,,"\n")

	@write(,,"WSSIRQ=[sndsys.drv],Interrupt\n")
	@write(,,"WSSAddr=[sndsys.drv],IOAddress\n")
	@write(,,"WSSPlayDMA=[sndsys.drv],DMADAC\n")
	@write(,,"WSSCaptDMA=[sndsys.drv],DMAADC\n")

	@write(,,"\n")

	@write(,,"MPU401IRQ=[mpu401.drv],int\n")
	@write(,,"MPU401Addr=[mpu401.drv],port\n")

	@write(,,"\n")

	@write(,,"CS4232Addr=[sndsys.drv],CS4232Control\n")

	@write(,,"FMAddr=[tbsfm.drv],portFM\n")
	@write(,,";For now keep this disabled\n")
	@write(,,";FMIRQ=[tbsfm.drv],Int\n")
	@write(,,"JoystickAddr=[sndsys.drv],Joystick\n")

	@write(,,"\n")

//      @write(,,"[WFSettings]\n")
//      @write(,,"WFPort=@WFPort\n")
//      @write(,,"WFIrq=@WFIRQ\n\n")
	

	// *************************************************
	// Put SET BLASTER and Hot key mixer into autoexec.bat
	// *************************************************

	// Line must be removed first because it will get added a second time if install doesn't
	//  find an exact match


	@removepath("@bootdrive:\\autoexec.bat", "path", "@SubDir", "rem")
	@setautoexec
		@overwrite
		@path="@OutDrive:@subdir\\DOSAPPS"
		@setreplace("BLASTER","A@BlasterPort I@MainIRQ D@MainDMA T2")
//                @verbatim="LH @OutDrive:\\@subdir\\dosapps\\wfsurfer"

	@endautoexec

	@removeline("@bootdrive:\\config.sys", "", "tbs2001.exe", "", "REM")

	@setconfig
		//@overwrite
		//@device="@OutDrive:\\@subdir\\dosapps\\tbs2001.exe"
	@endconfig
@endif  // @DosInstall is TRUE

@if(4[=@option)
      @goto AFTER_DEFINE_DISKS
@endif

// *************************************************
// Define the disk set
// *************************************************

@DefineDisk
	@Label = "Disk #1"

     @if(@DosInstall == @true)

	// DOS files...copied to DOSAPPS directory
	//      @File install\tbs2001.exe @S 33692 @O DOSAPPS\*.* //@option 21
	//  updated 3/3/96  Copies newer TBS2001.EXE to dosapps dir.        
		@File tbs2001.exe @S 33692 @O DOSAPPS\*.* //@option 21
		@File tbsmix.exe @S 2220 @O DOSAPPS\*.*
		@File tbsdiag.exe @S 5500 @O DOSAPPS\*.*
		@File tbshmx.exe @S 1000 @O DOSAPPS\*.*
		@File playcd.exe @S 1000 @O DOSAPPS\*.*
		@File tbswss.exe @S 1000 @O DOSAPPS\*.*
		@File soundtst.wav @S 1000 @O DOSAPPS\*.*
		@File test.dat @S 1000 @O DOSAPPS\*.*
	// wfos2001.mot sent to disk 2
	//      @File wfos2001.mot @S 1000 @O DOSAPPS\*.*
		@File setupsnd.exe @S 1000 @O DOSAPPS\*.*
		@File readme.txt @O *.*
		@File readme.bat @O *.*
		  
      @endif

	@if(@WindowsInstall == @true)
		
	//Readme.wri file copied to DRV directory
		@File readme.wri @O DRV\*.*

	//DLL files copied to Windows/system dir.
		@File msmixmgr.dll @O @EnteredWinDrive:@EnteredWinDir\SYSTEM\*.* @AskOverwrite
	
	// Midimapper file copied to Windows dir.
		@BeginLib midimap.red
			@File MIDIMAP.STD @O @EnteredWinDrive:@EnteredWinDir\SYSTEM\*.*
		@EndLib
	
	//Driver files copied to \TBEACH\DOSAPPS
		@BeginLib driver.red
			@F TBS2001.DRV @O DRV\*.*
			@F TBSFM.DRV @O DRV\*.*
			@F VSNDSYS.386 @O DRV\*.*
			@F MPU401.DRV @O DRV\*.*
		    @F WF2001.DRV @O DRV\*.*
			@F IBMJOY.DRV @O DRV\*.*
		    @F TROPEZP.INI @O @EnteredWinDrive:@EnteredWinDir\*.* 
			@F WINSETUP.EXE @O DOSAPPS\*.*

		@EndLib
	
	
	@endif


@EndDisk

@DefineDisk
	@Label = "Disk #2"

    @if(@DosInstall == @true)
			
			@File wfos2001.mot @S 1000 @O DOSAPPS\*.*
    @endif
    
    @if(@WindowsInstall == @true)

	
	//Added 11/27...Control Panel files..taken out of WFCP.RED                
			@F WFSYSEX.DLL @O @EnteredWinDrive:@EnteredWinDir\*.*
			@F WFCP.INI @O @EnteredWinDrive:@EnteredWinDir\*.*
			@F WFPATCH.INI @O @EnteredWinDrive:@EnteredWinDir\*.*
			@F WFGATE.DLL @O @EnteredWinDrive:@EnteredWinDir\*.*
			@F KNBCTRL.DLL @O WF\*.*
			@F SLDCTRL.DLL @O WF\*.*
			@F WFCP.EXE @O WF\*.*
			@F WFFX.DRV @O DRV\*.*
			@F ANIBUTON.VBX @O @EnteredWinDrive:@EnteredWinDir\SYSTEM\*.*
		 // @F WFCP.HLP @O WF\*.*
			@F GM_2001.WFB @O WF\*.*
			@File TBS2001.INI @O @EnteredWinDrive:@EnteredWinDir\*.* 
		
			 
     @endif

@EndDisk



@endif  // This is a Windows install.


AFTER_DEFINE_DISKS:

//        Please wait while changes are made to your system.ini...

/*
@Display
	Please wait while changes are made to your system.ini...
@EndDisplay
*/

// **********************************************
// All Windows ini file changes happen here
// **********************************************
@if (@WindowsInstall)
	/*
	New functions:
		@WriteProfString()
		@GetProfString()
		@ReplaceProfString()
	*/

	@DrvPath = "@OutDrive:@subdir\\drv"

/*
	@Display
		drv path!
		@DrvPath
	@EndDisplay
*/

	@Col = 0
	@Row = (@Row + 2)
	@movecstr(@Row, 1, 31, "Writing Tropez Plus settings to system.ini")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@WriteProfString("@SysIni", "sndsys.drv", "CS4232Contol", "538")

	// we must modify @MainPort here because the Windows driver needs
	// to see the 530, e80, f40, 604 addresses instead of the actual
	@if ( "@MainPort" == "534" )
		@MainPort = "530"
	@elseif( "@MainPort" == "E84" )
		@MainPort = "E80"
	@elseif( "@MainPort" == "F44" )
		@MainPort = "F40"
	@elseif( "@MainPort" == "608" )
		@MainPort = "604"
	@else
		@MainPort = "530"
	@endif

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@WriteProfString("@SysIni", "tbsfm.drv", "int", "0")
	@WriteProfString("@SysIni", "tbsfm.drv", "portFM", "388")

	@WriteProfString("@SysIni", "wf2001.drv", "OScodeFileName", "@OutDrive:\\@subdir\\dosapps\\wfos2001.mot")        
	@WriteProfString("@SysIni", "wf2001.drv", "IniFile", "@OutDrive:\\@subdir\\dosapps\\tbsdos.ini")        

	@WriteProfString("@SysIni", "ibmjoy.drv", "Axes", "3")

	@ReplaceProfString("@SysIni", "386Enh", "device", "vsndsys.386", "@DrvPath\\vsndsys.386")


	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")


	@WriteProfString("@SysIni", "sndsys.drv", "SingleModeDMA", "0")
	@WriteProfString("@SysIni", "sndsys.drv", "DMABufferSize", "36")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@WriteProfString("@SysIni", "sndsys.drv", "BlasterSupport", "CS4232")
	@WriteProfString("@SysIni", "sndsys.drv", "Msft Support", "1")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@WriteProfString("@SysIni", "sndsys.drv", "Midi Play", "1")
	@WriteProfString("@SysIni", "sndsys.drv", "EnableAutoAcquireOPL3", "1")
	@WriteProfString("@SysIni", "sndsys.drv", "UsePnP", "0")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@WriteProfString("@SysIni", "sndsys.drv", "Default DMA", "1")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@WriteProfString("@SysIni", "sndsys.drv", "Default I/O", "530")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@WriteProfString("@SysIni", "sndsys.drv", "Default IRQ", "7")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")
	
	@If(@FullDuplex == @false)
	@WriteProfString("@SysIni", "sndsys.drv", "Duplex", "Half")
	@WriteProfString("@SysIni", "sndsys.drv", "DMADAC", "@MainDMA")
	@WriteProfString("@SysIni", "sndsys.drv", "DMAADC", "@MainDMA")
	@Endif

	
	// Added 3/5 for Full Duplex
	@If(@FullDuplex == @true)
	@WriteProfString("@SysIni", "sndsys.drv", "Duplex", "Full")
	@WriteProfString("@SysIni", "sndsys.drv", "DMADAC", "@MainDMA")
	@WriteProfString("@SysIni", "sndsys.drv", "DMAADC", "@RecDMA")
	@Endif
	
	@WriteProfString("@SysIni", "sndsys.drv", "IOAddress", "@MainPort")
	@WriteProfString("@SysIni", "sndsys.drv", "Interrupt", "@MainIRQ")



//  Remove any TBS-2000 drivers

	@RemoveDriver("@SysIni", "WAVE", "@DrvPath\\tbs2000.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\tbsfm.drv")
	@RemoveDriver("@SysIni", "AUX", "@DrvPath\\tbs2000.drv")
	@RemoveDriver("@SysIni", "MIXER", "@DrvPath\\tbs2000.drv")
	@RemoveDriver("@SysIni", "JOYSTICK", "@DrvPath\\ibmjoy.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\mpu401.drv")

//        @removeline("@SysIni","","device","vsndsys.386",";")
//        @removeline("@SysIni","tropmidi.drv","","".";")

//  Remove any Tropez Plus drivers from a previous install

	@RemoveDriver("@SysIni", "WAVE", "@DrvPath\\tbs2001.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\tbsfm.drv")
	@RemoveDriver("@SysIni", "AUX", "@DrvPath\\tbs2001.drv")
	@RemoveDriver("@SysIni", "MIXER", "@DrvPath\\tbs2001.drv")
	@RemoveDriver("@SysIni", "JOYSTICK", "@DrvPath\\ibmjoy.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\wf2001.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\wffx.drv")

//  Remove any Tropez drivers

	@RemoveDriver("@SysIni", "WAVE", "@DrvPath\\tropez.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\tropez.drv")
	@RemoveDriver("@SysIni", "AUX", "@DrvPath\\tropez.drv")
	@RemoveDriver("@SysIni", "MIXER", "@DrvPath\\tropez.drv")
	@RemoveDriver("@SysIni", "JOYSTICK", "@DrvPath\\ibmjoy.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\tropmidi.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\opl3.drv")

//        @removeline("@SysIni","","device","vsndsys.386",";")
//        @removeline("@SysIni","tropmidi.drv","","".";")


	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@EstablishDriver("@SysIni", "WAVE", "@DrvPath\\tbs2001.drv")
	@EstablishDriver("@SysIni", "MIDI", "@DrvPath\\tbsfm.drv")
	@EstablishDriver("@SysIni", "AUX", "@DrvPath\\tbs2001.drv")
	@EstablishDriver("@SysIni", "MIXER", "@DrvPath\\tbs2001.drv")
	@EstablishDriver("@SysIni", "JOYSTICK", "@DrvPath\\ibmjoy.drv")
	@EstablishDriver("@SysIni", "MIDI", "@DrvPath\\wf2001.drv")
	@EstablishDriver("@SysIni", "MIDI", "@DrvPath\\wffx.drv")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	// set up msmixmgr.dll in system.ini
	@BootLine = @GetProfString("@SysIni", "boot", "drivers")

	@if ((@StrFind("@BootLine", "msmixmgr.dll") == -1) &&
		(@StrFind("@BootLine", "MSMIXMGR.DLL") == -1))
		@WriteProfString("@SysIni", "boot", "drivers", "@BootLine msmixmgr.dll")
	@endif

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

@endif  // this is windows install

@goto BEGIN_FINISH_BLOCK

// ******************************************
// Uninstall routine
// ******************************************

UNINSTALL:

	@Row = 0
    @Col = 0;


	@chdrive(@OutDrive)
	@chdir("\\")

	@if (@System("deltree @OutDrive:@SubDir\\drv /y") == -1)
		@Display
	Could not load command processor! Probably not enough memory.
			@pause
		@EndDisplay
	@EndIf

	@if (@System("deltree @OutDrive:@SubDir\\dosapps /y") == -1)
		@Display
	Could not load command processor! Probably not enough memory.
			@pause
		@EndDisplay
	@EndIf

//        @if (@System("deltree @OutDrive:@SubDir\\winapps /y") == -1)
//                @Display
//        Could not load command processor! Probably not enough memory.
//                        @pause
//                @EndDisplay
//        @EndIf

	@if (@System("deltree @OutDrive:@SubDir\\wf /y") == -1)
		@Display
	Could not load command processor! Probably not enough memory.
			@pause
		@EndDisplay
	@EndIf



    @if (@exists("@OutDrive:@SubDir\\dosapps\\tbs2001.exe") != @TRUE)
		@if (@System("deltree @OutDrive:@SubDir\\drv /y") == -1)
			@Display
		Could not load command processor! Probably not enough memory.
				@pause
			@EndDisplay
		@endif
    @else
		@if (@System("deltree @OutDrive:@SubDir\\drv /y") == -1)
			@Display
		Could not load command processor! Probably not enough memory.
				@pause
			@EndDisplay
		@else  // the first deltree was successful
			@System("deltree @OutDrive:@SubDir\\drv /y")
			@System("deltree @OutDrive:@SubDir\\dosapps /y")
		       // @System("deltree @OutDrive:@SubDir\\winapps /y")
		
		
		@EndIf
    @endif



	@if ( (@exists("@OutDrive:@SubDir\\drv\\tbs2001.drv") != @true)
		&& (@exists("@OutDrive:@SubDir\\drv\\mpu401.drv") != @true)
		&& (@exists("@OutDrive:@SubDir\\drv\\readme.wri") != @true) )
		@if (@System("deltree @OutDrive:@SubDir\\dosapps /y") == -1)
			@Display
		Could not load command processor! Probably not enough memory.
				@pause
			@EndDisplay
		@endif

    @else  // just delete dosapps dir, not whole tbeach dir.
		@if (@System("deltree @OutDrive:@SubDir\\dosapps /y") == -1)
			@Display
		Could not load command processor! Probably not enough memory.
				@pause
			@EndDisplay
		@endif
    @endif


	@DrvPath = "@OutDrive:@subdir\\drv"

	@Row = (@Row + 2)
	@movecstr(@Row, 1, 31, "Deleting tbs2001.ini file from @EnteredWinDir directory")

	@Delete("@EnteredWinDrive:@EnteredWinDir\\tbs2001.ini")
	
	@Row = (@Row + 2)
	@movecstr(@Row, 1, 31, "Deleting tropezp.ini file from @EnteredWinDir directory")

	@Delete("@EnteredWinDrive:@EnteredWinDir\\tropezp.ini")



	@Row = (@Row + 2)
	@movecstr(@Row, 1, 31, "Deleting lines from system.ini")


	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")


	@RemoveDriver("@SysIni", "WAVE", "@DrvPath\\tbs2001.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\wf2001.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\tbsfm.drv")
	@RemoveDriver("@SysIni", "AUX", "@DrvPath\\tbs2001.drv")
	@RemoveDriver("@SysIni", "MIXER", "@DrvPath\\tbs2001.drv")
	@RemoveDriver("@SysIni", "JOYSTICK", "@DrvPath\\ibmjoy.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\wffx.drv")


	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

	@removeline("@SysIni", "", "device", "vsndsys.386", ";")
		

	// Remove whole sections.
	@removeline("@SysIni", "ibmjoy.drv", "", "", ";")
	@removeline("@SysIni", "tbsfm.drv", "", "", ";")
	@removeline("@SysIni", "wf2001.drv", "", "", ";")
	@removeline("@SysIni", "sndsys.drv", "", "", ";")
	//@removeline("@SysIni", "mpu401.drv", "", "", ";")


	@Row = (@Row + 2)
	@movecstr(@Row, 1, 31, "Deleting files from autoexec.bat and config.sys")

	@removeline("@bootdrive:\\autoexec.bat", "", "setupsnd", "", "REM")
	@removeline("@bootdrive:\\autoexec.bat", "", "tbsmix", "", "REM")
	@removeline("@bootdrive:\\autoexec.bat", "", "BLASTER", "", "REM")
	
	//@removeline("@bootdrive:\\autoexec.bat", "", "wfdos", "", "REM")

	//@removeline("@bootdrive:\\autoexec.bat", "", "mchkmix", "", "REM")
	@removeline("@bootdrive:\\config.sys", "", "device", "tbs2001", "REM")

	@removepath("@bootdrive:\\autoexec.bat", "path", "@SubDir", "rem")

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")


 //       @Delete("@OutDrive:@SubDir")

	@Display
		@Cls

  Uninstallation completed successfully.


				  @Pause
	@EndDisplay



@goto ENDOFFILE

	
BEGIN_FINISH_BLOCK:

@Display
	@Cls
@EndDisplay


@TropezIni = "@EnteredWinDrive:@EnteredWinDir\\tbs2001.ini"


@Finish
	// make all system.ini/autoexec.bat/config.sys changes that could not be made above

	//Please wait while further changes are made.

	@if(@DOSInstall == @true)
		@if(@putmcmode1st("TBS2001", "@bootdrive:\\config.sys", "DEVICE=@outdrive:@subdir\\DOSAPPS\\TBS2001.EXE /O")) @endif
		@if(@putmcmode1st("TBSMIX", "@bootdrive:\\autoexec.bat", "@outdrive:@subdir\\DOSAPPS\\TBSMIX.EXE /M=15 /W=12 /F=15 /L=12 /C=12")) @endif
		@if(@putmcmode1st("SETUPSND", "@bootdrive:\\autoexec.bat", "@outdrive:@subdir\\DOSAPPS\\SETUPSND.EXE @outdrive:@subdir\\DOSAPPS\\WFOS2001.MOT")) 
	@endif

   @if (@WindowsInstall == @TRUE)

	@WriteProfString("@EnteredWinDrive:@EnteredWinDir\\wfpatch.ini", "Autoload Banks", "TBS-2001", "@OutDrive:\\@Subdir\\wf\\gm_2001.wfb")
	@WriteProfString("@EnteredWinDrive:@EnteredWinDir\\wfpatch.ini", "Autoload Banks", "TBS-2001 1", "@OutDrive:\\@Subdir\\wf\\gm_2001.wfb")
	@WriteProfString("@EnteredWinDrive:@EnteredWinDir\\wfpatch.ini", "Autoload Banks", "TBS-2001 2", "@OutDrive:\\@Subdir\\wf\\gm_2001.wfb")
   
	 
	 @if((1[=@option) || (2[=@option))  // we are installing. Either a
					    // Quick install or Custom.
	 

		@if(@WriteProfString("@EnteredWinDrive:@EnteredWinDir\\tbs2001.ini",
			"install", "InstallPath", "@OutDrive:@subdir"))
		@endif

		    // Set up Windows program group and items
		    
		    // WaveFront Control Panel.
			@if(@WriteProfString("@TropezIni", "ProgramItems", "ControlPanel", 
				"@OutDrive:@subdir\\wf\\wfcp.exe")) 
			@endif

			// ReadMe file
			@if(@WriteProfString("@TropezIni", "ProgramItems", "ReleaseNotes", 
				"write @OutDrive:@subdir\\drv\\readme.wri"))
			@endif
			       
			// We want Program groups and items to be set up the next time Windows is run
			@if(@WriteProfString("@EnteredWinDrive:@EnteredWinDir\\win.ini", "windows", "run", 
			"@OutDrive:@subdir\\dosapps\\winsetup.exe")) 
			@endif   
			
			// end of stuff I added
		
		// the following is for uninstall; it will know what to put for default uninstall directory
		@write("@OutDrive:\\tzuninst.ini","wt","[dummy section]\n")

		@if(@WriteProfString("@OutDrive:\\tzuninst.ini", "install", "InstallDrive", "@OutDrive")) 
		@endif

		@if(@WriteProfString("@OutDrive:\\tzuninst.ini", "install", "InstallSubdir", "@subdir")) 
		@endif
		
		// copy correct midimapper in!
		
		@Delete("@EnteredWinDrive:@EnteredWinDir\\system\\midimap.old")
		@Rename("@EnteredWinDrive:@EnteredWinDir\\system\\midimap.cfg",
		       "midimap.old")
		@Rename("@EnteredWinDrive:@EnteredWinDir\\system\\midimap.std",
		       "midimap.cfg")
		
	 @endif   // Installing

   @endif  //Windos Install

//@endif
	@ChDrive @OutDrive
	@ChDir "@SubDir"


	Your @ActionStr is complete. Be sure to reboot your machine
	before trying to use your Tropez Plus!

	@Pause

	 @ActionStr of @Name is now finished.

@EndFinish

ENDOFFILE:

/* end-of-file */ 
[ RETURN TO DIRECTORY ]