Metropoli BBS
VIEWER: install.dat MODE: TEXT (CP437)
/*
 * INSTALL.DAT
 *
 * Project: TBS2000
 * Version: 1.5
 *
 DAG
 8/27/96 Cleaned up Tropez references and cosmetic issues
 GSW
 8/22/96 Various cleanup items, nothing major...
 JDM
 8/14/96
 Added Full Duplex options to Main Settings
 *
 Added quick install option
 Eliminated hardware test routine
 Fixed midimapper bug...again...
 Copies in newer TBS2000.EXE file with /O switch
*/

@DefineProject
	@Name = "TBS2000"
	@Version = "1.5"
	@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 TBS-2000 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
*/

@DefineVars
	@Qstring @initexe
	@Integer @QuickInstall = 0
	@Integer @Choice = 0
	@Integer @GetWin

	@Integer @FullDuplex = @false   

	@Dir     @WinDir = "\\WINDOWS"
	@Drive   @WinDrive = C
	@Qstring @MainPort = "534"
	@Qstring @MainIRQ = "5"
	@Qstring @MainDMA = "1"
	@Qstring @RecDMA = "3"
	@Qstring @WFPort = "340"
	@Qstring @SBio
	@Qstring @MidiPort = "330"
	@Qstring @WFIRQ = "10"
	@Qstring @MidiIRQ = "9"
	@Integer @DosInstall = @true
	@Integer @TestHW = @false
	@Integer @PlugNPlay = @false
	@Integer @WindowsInstall = @true 
	@Qstring @BlasterPort ="220"
	@Qstring @BlasterIRQ ="5"
	@Qstring @BlasterDMA ="1"
	@Qstring @TrySetting = ""
	@Qstring @DuplexMode = "No"


	//TBS-2000 Title box (one of the flashier parts of this install)
	@Qstring @box1 ="╔═════════════════════════════════════════════╗"
	@Qstring @box2 ="║                                             ║"
	@Qstring @box3 ="╚═════════════════════════════════════════════╝"
	@Qstring @logo1 ="             Turtle Beach Systems        "
	@Qstring @logo2 ="    TBS-2000 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 = ""

	@Integer @WSS = 1
	@Integer @SB = 2
	@Integer @MIDI = 3
	@Integer @WF = 4
//------------------------ Test results ------------------------
	@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,"                    TBS2000 Installation")

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

@If(2001 [= @Option)
@Display
				 STOP!!!

	This Installation diskette is for use with DOS/Windows 3.1!

	To install drivers for Windows 95, please use the Windows 95
	Installation Diskette. Additional notes for a Windows 95 install are
	included the Manual and the README.TXT file on this diskette.  You
	should also run SETUP.EXE on Disk 1 of the Turtle Beach Applications.
	This should be done after Windows 95 Auto-detects the TBS-2000.
	Thanks!
	@LocalWindow(14,40)
	@Pause
	@Goto ENDOFFILE
	@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 TBS-2000 drivers for DOS and/or Windows 3.1     ║
      ║  »» Uninstall TBS-2000 drivers for DOS and/or Windows 3.1   ║
      ║  »» Configure TBS-2000 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 = "Uninstall"
@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(2, 27, 30, "@ActionStr options")
	@movecstr(4, 5, 27, "Use the SPACE BAR to switch between Yes and No")
	@movecstr(6, 5, 27, "Press ENTER to accept the options and continue")

	@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 TBS-2000 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, "Use the UP and DOWN arrow keys to highlight the option you wish to change")
	@movecstr(4, 5, 27, "Use the SPACE BAR to switch between Yes and No")
	@movecstr(6, 5, 27, "Press ENTER to accept the options and continue")
	
		@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 TBS-2000 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))
		@WinDrive = C
		@WinDir = "\\WINDOWS"
		@Goto CheckWPath
	@Else
		@Display
		@Cls
	We couldn't locate your hard drive! 
		@Pause
		@EndDisplay
	@Endif
@Endif

@GetOutDrive @OutDrive
	@Cls
	@suppress(0,17)
	@movecstr(5, 29, 30, "@ActionStr drive")
	@movecstr(7, 11, 21, "Please specify disk drive for @Name files")
	@LocalWindow(12, 37)
@EndOutDrive

@GetSubdir @SubDir
	@Cls
	@movecstr(5, 27, 30, "@ActionStr directory")
	@movecstr(7, 11, 21, "Please specify directory for @Name files")
	@LocalWindow(10, 50)
@EndSubdir

@if (4[=@option)
   @if (@exists("@OutDrive:@Subdir\\DOSAPPS\\tbsdos.ini") != @TRUE)
	@Display

	Your TBSDOS.INI file was not found at @Outdrive:@subdir!!
	Please enter the proper directory.  Hit ESC to cancel this
	installation so you can go look for the file TBSDOS.INI. Type 
	these two commands at the DOS prompt:

	CD \
	DIR TBSDOS.INI /S

	This will search your entire hard drive for the TBSDOS.INI file.

		@Pause
		@EndDisplay
		@goto GETOUTDRIVE
   @Endif
@Endif

//@Goto FULL_DUPLEX

@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))
	
	@WinDir = "\\WINDOWS"
	@GetOutDrive @WinDrive
		@Cls
	    @suppress(0,17)
		@movecstr(5, 25, 30, "@ActionStr - Windows drive")
		@movecstr(7, 19, 22, "On which disk drive is Windows located?")

		@LocalWindow(12, 37)

	@EndOutDrive

	@GetSubDir @WinDir
		@Cls
		@movecstr(5, 23, 30, "@ActionStr - Windows directory")
		@movecstr(7, 19, 22, "In which directory is Windows located?")
		@movecstr(7, 19, 22, "For example, \\WINDOWS")

		@Prompt = "What is your Windows directory?"
		@LocalWindow(13, 50)
	@EndSubDir

CheckWPath:

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

	Windows was not found in @WinDrive:@WinDir!!
	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("@WinDrive:@WinDir\\system.ini") != @TRUE)
		@Display
	No system.ini in that directory!  This will certainly cause
	problems.  

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

@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


// *****************************************
// 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(2, 32, 22, "Full Duplex?")
		@movecstr(4, 5, 27, "Use the SPACE BAR to switch between Yes and No")
		@movecstr(6, 5, 27, "Press ENTER to accept choice and continue")
		@LocalWindow(11,37)  // was 40
		@movecstr(14, 5, 31, "Do you want to enable Full Duplex for the TBS-2000 card?")
		@movecstr(16, 5, 31, "Full Duplex is primarily used for applications in which simul-")
		@movecstr(17, 5, 31, "taneous record and playback is necessary (such as multitrack")
		@movecstr(18, 5, 31, "recording and Internet phoning software). Full Duplex is not")
		@movecstr(19, 5, 31, "necessary for normal operation.")
		@ClearOption(400)
		@Option 400 = "Full Duplex?"
		@EndOption

//@Endif

@If (400[=@option)
	@FullDuplex=@true
	@If("@MainDMA" != "3")
		@RecDMA = "3"
	@Else
		@RecDMA = "1"
	@Endif
	@DuplexMode = "Yes"
@Else
	@FullDuplex=@False
	@DuplexMode = "No"
	@RecDMA = @MainDMA
@Endif

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

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

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

// If Configure
@if (4[=@option)
	@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")
	@WFPort = @GetProfString("@Temp","WFSettings","WFPort")
	@WFIRQ = @GetProfString("@Temp","WFSettings","WFIRQ")
	@RecDMA = @GetProfString("@Temp","WFSettings","WssDmaCapture")
@Endif

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)
@ClearOption(116)

@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, 15, 30, "@ActionStr: TBS2000 current hardware settings")
    @movecstr(6, 5, 27, "Up and down arrow keys - highlight the setting you wish to change")
    @movecstr(7, 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.....@WinDrive:\\@WinDir"
	@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,Record DMA.........@MainDMA,@RecDMA"
@Endif
	@Option 105 = "MPU-401 Port Address..........@MidiPort"
	@Option 106 = "MPU-401 MIDI IRQ..............@MidiIRQ"
	@Option 107 = "WaveFront Port Address........@WFPort"
	@Option 108 = "WaveFront IRQ.................@WFIRQ"
	@Option 116 = "Full Duplex...................@DuplexMode"
	@Option 114 = "Reset All Values to Default"
@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)  // MPU-401 port
@Choice = 1
	@goto MPU401_PORT_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
@elseif(116[=@option)  // Full Duplex? yes/no
@Choice = 1
	@goto FULL_DUPLEX

@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
	"Default I/O=" 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 = "330"
	@MidiIRQ = "9"
	@WFPort = "340"
	@WFIRQ = "10"
	@DuplexMode = "No"
	@RecDMA = "1"
	@FullDuplex = @false

@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(@rowformat+2,@colformat+1,@boxcolor2,"@logo2")
@movecstr(5, 33, 30, "Sound IRQ")
	@GetOption






	This setting changes the 'WSSInt' entry in TBSDOS.INI and the
	Default IRQ=' entry in the [sndsys.drv] section of SYSTEM.INI in your
	Windows directory.  It also changes the 'SET BLASTER' statement in
	AUTOEXEC.BAT.  It's used to play digital audio in DOS and Windows.
		@LocalWindow(16,40)
		@if ("@MidiIRQ" != "5")
			@Option 121 = "5 (default)"
		@endif
		@if ("@MidiIRQ" != "7")
			@Option 122 = "7"
		@endif
		@if ("@MidiIRQ" != "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
	@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"
	@if (@fullduplex == @true)
		@goto REC_DMA_SETTING
	@else
		@goto MAIN_SETTINGS_MENU
	@endif

REC_DMA_SETTING:

	@ClearOption(135)
	@ClearOption(136)
	@ClearOption(137)
	@ClearOption(138)
@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
	TBS-2000 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 135 = "3 (default)"
		@endif
		@if ("@MainDMA" != "1")
			@Option 136 = "1"
		@endif
		@if ("@MainDMA" != "0")
			@Option 137 = "0"
		@endif
		@EndOption
	@if(135[=@option)
		@RecDMA = "3"
	@elseif (136[=@option)
		@RecDMA = "1"
	@elseif (137[=@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 -----------------------
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's used to communicate with the TBS-2000
	music synthesizer.
		@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.  It's used to communicate with the TBS-2000")
@movecstr(10, 6, 31, "music synthesizer.")

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

	@if(152[=@option)
		@MidiIRQ = "5"
	@elseif(153[=@option)
		@MidiIRQ = "7"
	@else  // default
		@MidiIRQ = "9"
	@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, 32, 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 WFSURFER entry in 
	AUTOEXEC.BAT and the "port=" entry of the [wfsurfer] section 
	of SYSTEM.INI in your Windows directory.  It's required if you 
	want to use the TBS-2000 wavetable synthesizer for music.
		@LocalWindow(17,40)
		@Option 141 = "340 (default)"
		@Option 142 = "210"
		@Option 143 = "230"
		@Option 144 = "260"
		@Option 145 = "350"
		@Option 146 = "360"
	@EndOption
	@if(142[=@option)
		@WFPort = "210"
	@elseif(143[=@option)
		@WFPort = "230"
	@elseif(144[=@option)
		@WFPort = "260"
	@elseif(145[=@option)
		@WFPort = "350"
	@elseif(146[=@option)
		@WFPort = "360"
	@else  // default
		@WFPort = "340"
	@endif
	@goto MAIN_SETTINGS_MENU

WAVEFRONT_IRQ_SETTING:
	@ClearOption(151)
	@ClearOption(152)
	@ClearOption(153)
	@ClearOption(154)
	@ClearOption(155)
	@ClearOption(156)
@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 WFSURFER entry in")
@movecstr(8, 6, 31, "AUTOEXEC.BAT and the 'irq=' entry of the [wfsurfer] section")
@movecstr(9, 6, 31, "of SYSTEM.INI in your Windows directory.  It's required if you")
@movecstr(10, 6, 31, "want to use the TBS-2000 wavetable synthesizer for music.")
@movecstr(11, 6, 31, "Warning: IRQ 12 may interfere with your mouse.")
	
	@GetOption
		@LocalWindow(16,40)
		@if ("@MainIRQ" != "5")
		      @Option 152 = "5"
		@endif
		@if ("@MainIRQ" != "7")
			@Option 153 = "7"
		@endif
		@if ("@MainIRQ" != "10")
			@Option 154 = "10 (default)"
		@endif
		@if ("@MainIRQ" != "11")
			@Option 155 = "11"
		@endif
		@if ("@MainIRQ" != "12")
			@Option 151 = "12"
		@endif
	@EndOption

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

@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 .tbs files")
// Backup autoexec.bat / config.sys / system.ini

@Row = (@Row + 2)
	@If(@Exists("@BootDrive:\\config.tbs"))
		@movecstr(@Row, 1, 31, "Config.tbs already exists! Skipping...")
	@else
		@copy("@BootDrive:\\config.sys", "@BootDrive:\\config.tbs")
		@movecstr(@Row, 1, 31, "Config.sys backed up to config.tbs.")
	@endif
@Row = (@Row + 1)
	@If(@Exists("@BootDrive:\\autoexec.tbs"))
		@movecstr(@Row, 1, 31, "Autoexec.tbs already exists! Skipping...")
	@else
		@copy("@BootDrive:\\autoexec.bat", "@BootDrive:\\autoexec.tbs")
		@movecstr(@Row, 1, 31, "Autoexec.bat backed up to autoexec.tbs.")
	@endif
@Row = (@Row + 1)
	@If(@Exists("@WinDrive:\\@WinDir\\system.tbs"))
		@movecstr(@Row, 1, 31, "System.tbs already exists! Skipping...")
	@else
		@copy("@WinDrive:\\@WinDir\\system.ini", "@WinDrive:\\@WinDir\\system.tbs")
		@movecstr(@Row, 1, 31, "System.ini backed up to system.tbs")
	@endif

@if (@DosInstall)

	@removeline("@bootdrive:\\autoexec.bat", "", "wfsurfer", "", "REM")
	@removeline("@bootdrive:\\config.sys", "", "tbs2000", "", "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=@RecDMA\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=@MidiIRQ\n")
	@write(,,"CDIO=disabled\n")
	@write(,,"CDInt=disabled\n")
	@write(,,"Device4IO2=disabled\n")
	@write(,,"Device5IO=disabled\n")
	@write(,,"Device5Int=disabled\n")

	@write(,,"\n")

	@write(,,"[IniUpdate]\n")
	@write(,,"SysIniFile =@OutDrive:@WinDir\\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")
	@removeline("@bootdrive:\\autoexec.bat", "", "BLASTER", "", "REM")
	@if(@putmcmode1st("BLASTER","@bootdrive:\\AUTOEXEC.BAT","SET BLASTER=A@BlasterPort I@MainIRQ D@MainDMA T4"))@endif
	@removeline("@bootdrive:\\config.sys", "", "tbs2000.exe", "", "REM")
	@if(@putmcmode1st("TBS2000","@bootdrive:\\CONFIG.SYS","device=@outdrive:@subdir\\DOSAPPS\\TBS2000.EXE /V /O"))@endif

@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
//        @File install\tbs2000.exe @S 33692 @O DOSAPPS\*.* //@option 21
//  Updated 2/29/96  Older version of TBS2000.EXE caused problems with        
//  EIDE CD-ROMS.  Pulling TBS2000.EXE from root instead (11/6/95)
	
	@File tbs2000.exe @S 33692 @O DOSAPPS\*.*  //@option 21
	@File wfsurfer.exe @S 2000 @O DOSAPPS\*.*
	@File readme.txt @O *.*
	@File readme.bat @O *.*
    @endif

	@if(@WindowsInstall == @true)

		@File readme.doc @O DRV\*.*

		@BeginLib midimap.red
			@File MIDIMAP.STD @O @WinDrive:@WinDir\SYSTEM\*.*
		@EndLib

		@BeginLib 2000apps.red
			@File playcd.exe @S 2000 @O DOSAPPS\*.*
			@File tbswss.exe @S 2000 @O DOSAPPS\*.*
			@File tbsmix.exe @S 2220 @O DOSAPPS\*.*
			@File tbsdiag.exe @S 5500 @O DOSAPPS\*.*
			@File tbshmx.exe @S 2000 @O DOSAPPS\*.*
			@File soundtst.wav @S 2000 @O DOSAPPS\*.*
			@File test.dat @S 2000 @O DOSAPPS\*.*
		@EndLib

		@BeginLib config.red
			@File config.exe @S 2000 @O DOSAPPS\*.*
		@EndLib
		
		@BeginLib driver.red
			// driver/386 files for regular driver
			@F TBS2000.DRV @O DRV\*.*
			@F TBSFM.DRV @O DRV\*.*
			@F VSNDSYS.386 @O DRV\*.*
			@F MPU401.DRV @O DRV\*.*
			@F WFSURFER.386 @O DRV\*.*
			@F TBS2000.INI @O @WinDrive:@WinDir\*.*
			@F IBMJOY.DRV @O DRV\*.*
			@File cwaudio.bin @S 2000 @O DOSAPPS\*.*
			@File msmixmgr.dll @O @WinDrive:@WinDir\SYSTEM\*.* @AskOverwrite
		@EndLib

	@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 TBS-2000 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

	@WriteProfString("@SysIni", "sndsys.drv", "IOAddress", "@MainPort")
	@WriteProfString("@SysIni", "sndsys.drv", "Interrupt", "@MainIRQ")
	@WriteProfString("@SysIni", "sndsys.drv", "Duplex", "Half")
	@WriteProfString("@SysIni", "sndsys.drv", "BinFile", "@OutDrive:@subdir\\DOSAPPS\\cwaudio.bin")
	
	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")
	
	@WriteProfString("@SysIni", "tbsfm.drv", "int", "0")
	@WriteProfString("@SysIni", "tbsfm.drv", "portFM", "388")

	@WriteProfString("@SysIni", "mpu401.drv", "int", "@MidiIRQ")
	@WriteProfString("@SysIni", "mpu401.drv", "port", "@MidiPort")

	@WriteProfString("@SysIni", "wfsurfer", "port", "@WFPort")
	@WriteProfString("@SysIni", "wfsurfer", "irq", "@WFIRQ")

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

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

	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")
	
	@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")
	@WriteProfString("@SysIni", "sndsys.drv", "OldMSDOSGameIOAddress", "@BlasterPort")
	@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")
	@WriteProfString("@SysIni", "sndsys.drv", "FMMixer", "Line")
	@WriteProfString("@SysIni", "sndsys.drv", "LineMixer", "Aux1")
	@WriteProfString("@SysIni", "sndsys.drv", "CDMixer", "Aux2")
	@WriteProfString("@SysIni", "sndsys.drv", "UsePnP", "0")
	
	@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")
	@WriteProfString("@SysIni", "sndsys.drv", "SingleModeDMA", "1")
	@Endif

	// Added 4/1 for Full Duplex
	@If(@FullDuplex == @true)
	@WriteProfString("@SysIni", "sndsys.drv", "Duplex", "Full")
	@WriteProfString("@SysIni", "sndsys.drv", "DMADAC", "@MainDMA")
	@WriteProfString("@SysIni", "sndsys.drv", "DMAADC", "@RecDMA")
	@WriteProfString("@SysIni", "sndsys.drv", "SingleModeDMA", "0")
	@Endif

	@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")

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

	@EstablishDriver("@SysIni", "MIDI", "@DrvPath\\mpu401.drv")
	@EstablishDriver("@SysIni", "MIDI", "@DrvPath\\tbsfm.drv")
	@EstablishDriver("@SysIni", "WAVE", "@DrvPath\\tbs2000.drv")
	@EstablishDriver("@SysIni", "AUX", "@DrvPath\\tbs2000.drv")
	@EstablishDriver("@SysIni", "MIXER", "@DrvPath\\tbs2000.drv")
	@EstablishDriver("@SysIni", "JOYSTICK", "@DrvPath\\ibmjoy.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 (@exists("@OutDrive:@SubDir\\dosapps\\tbs2000.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")

		@EndIf
    @endif

	@if ( (@exists("@OutDrive:@SubDir\\drv\\tbs2000.drv") != @true)
		&& (@exists("@OutDrive:@SubDir\\drv\\mpu401.drv") != @true)
		&& (@exists("@OutDrive:@SubDir\\drv\\readme.doc") != @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 tbs2000.ini file from @WinDir directory")

	@Delete("@WinDrive:@WinDir\\tbs2000.ini")


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


	@RemoveDriver("@SysIni", "JOYSTICK", "@DrvPath\\ibmjoy.drv")
	@RemoveDriver("@SysIni", "WAVE", "@DrvPath\\tbs2000.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\mpu401.drv")
	@RemoveDriver("@SysIni", "MIDI", "@DrvPath\\tbsfm.drv")
	@RemoveDriver("@SysIni", "AUX", "@DrvPath\\tbs2000.drv")
	@RemoveDriver("@SysIni", "MIXER", "@DrvPath\\tbs2000.drv")
	
	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")

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

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


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

	@removeline("@bootdrive:\\autoexec.bat", "", "wfsurfer", "", "REM")
	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")
	@removeline("@bootdrive:\\autoexec.bat", "", "tbsmix", "", "REM")
	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")
	@removeline("@bootdrive:\\autoexec.bat", "", "BLASTER", "", "REM")
	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")
	@removeline("@bootdrive:\\config.sys", "", "device", "tbs2000", "REM")
	@Col = (@Col + 1)
	@movecstr((@Row+1), @Col, 31, ".")
	@removepath("@bootdrive:\\autoexec.bat", "path", "@SubDir", "rem")

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

	@Display
		@Cls

	Uninstallation completed successfully.


				  @Pause
	@EndDisplay
	
@goto ENDOFFILE
	
BEGIN_FINISH_BLOCK:

@Display
	@Cls
@EndDisplay


@TBS2000Ini = "@WinDrive:@WinDir\\tbs2000.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("TBS2000", "@bootdrive:\\config.sys", "DEVICE=@outdrive:@subdir\\DOSAPPS\\TBS2000.EXE /V /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("WFSURFER", "@bootdrive:\\autoexec.bat", "LH @outdrive:@subdir\\DOSAPPS\\WFSURFER.EXE /A@WFPort /I@WFIRQ")) @endif

	@if (@WindowsInstall == @TRUE)

		@if((1[=@option) || (2[=@option))  // we are installing. 
						   // Quick or Custom
		
		@if(@WriteProfString("@WinDrive:@WinDir\\tbs2000.ini",
			"install", "InstallPath", "@OutDrive:@subdir")) @endif

		// 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("@WinDrive:@WinDir\\system\\midimap.old")
		@Rename("@WinDrive:@WinDir\\system\\midimap.cfg",
				"midimap.old")
		@Rename("@WinDrive:@WinDir\\system\\midimap.std",
				"midimap.cfg")
	@endif   // Windows Install
@endif
@endif
	@ChDrive @OutDrive
	@ChDir "@SubDir"

	Your @ActionStr is complete. Be sure to reboot your machine
	before trying to use your TBS-2000!

	@Pause

	@ActionStr of @Name is now finished.

@EndFinish

ENDOFFILE:

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