@ECHO OFF

SET D1=%1
SET D2=%2
IF "%D1%"=="" SET D1=%WINDIR%
IF "%D2%"=="" SET D2=%WINBOOTDIR%
IF "%D2%"=="" SET D2=%D1%
IF "%D1%"=="" GOTO NOARG

IF NOT EXIST %D1%\SMARTDRV.EXE GOTO BADPATH
IF NOT EXIST PATCHES\SMARTDRV.EXE GOTO NOINST

IF EXIST PATCHES\IO.SYS GOTO NFLOP
IF NOT EXIST IO.SYS GOTO NOINST
:NFLOP

ATTRIB.EXE -S -H -R C:\IO.SYS

IF EXIST C:\IO.BAK GOTO UNINST
IF EXIST %D2%\DBLBUFF.BAK GOTO UNINST
IF EXIST %D1%\SMARTDRV.BAK GOTO UNINST

IF NOT EXIST C:\IO.SYS GOTO MISSING
IF NOT EXIST %D1%\SMARTDRV.EXE GOTO MISSING
IF NOT EXIST %D2%\DBLBUFF.SYS GOTO WIN98

REN C:\IO.SYS IO.BAK
REN %D2%\DBLBUFF.SYS DBLBUFF.BAK
REN %D1%\SMARTDRV.EXE SMARTDRV.BAK

IF EXIST IO.SYS COPY IO.SYS C:\IO.SYS
IF EXIST PATCHES\IO.SYS COPY PATCHES\IO.SYS C:\IO.SYS
COPY PATCHES\DBLBUFF.SYS %D2%\DBLBUFF.SYS
COPY PATCHES\SMARTDRV.EXE %D1%\SMARTDRV.EXE

ECHO TBPLUS DOS PATCHES INSTALLED SUCCESSFULLY
GOTO EXIT

:UNINST
IF NOT EXIST C:\IO.BAK GOTO MOD
IF NOT EXIST %D2%\DBLBUFF.BAK GOTO MOD
IF NOT EXIST %D1%\SMARTDRV.BAK GOTO MOD
ECHO TBPLUS DOS PATCHES ALREADY APPLIED - RUN UNINSTD TO REMOVE
GOTO EXIT
:MOD
ECHO ONE OR MORE FILES ALREADY PATCHED - UNINSTALL PATCHES FIRST
GOTO EXIT
:WIN98
IF NOT "%2"=="" GOTO MISSING
ECHO WINDOWS BOOT DIRECTORY PATH MUST ALSO BE SPECIFIED FOR WINDOWS 98
GOTO EXIT
:MISSING
ECHO FILES MISSING OR WINDOWS DAMAGED
GOTO EXIT
:NOINST
ECHO PATCH FILE DIRECTORY NOT IN CURRENT DIRECTORY
GOTO EXIT
:BADPATH
ECHO WINDOWS PATH INCORRECT OR WINDOWS DAMAGED
GOTO EXIT
:NOARG
ECHO WINDOWS DIRECTORY PATH MUST BE SPECIFIED
:EXIT
@ECHO ON
