/*
* 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 */