@ECHO OFF

SET D1=%1
IF "%D1%"=="" SET D1=%WINDIR%
IF "%D1%"=="" GOTO NOARG

IF NOT EXIST %D1%\SYSTEM\IOSUBSYS\ESDI_506.PDR GOTO BADPATH
IF NOT EXIST PATCHES\IOS.VXD GOTO NOINST

IF EXIST %D1%\SYSTEM\IOSUBSYS\ESDI_506.BAK GOTO UNINST
IF EXIST %D1%\SYSTEM\IOSUBSYS\DISKTSD.BAK GOTO UNINST
IF EXIST %D1%\SYSTEM\IOSUBSYS\DISKVSD.BAK GOTO UNINST
IF EXIST %D1%\SYSTEM\VMM32\IOS.BAK GOTO UNINST
IF EXIST %D1%\SYSTEM\VMM32\VFAT.BAK GOTO UNINST

IF NOT EXIST %D1%\SYSTEM\IOSUBSYS\ESDI_506.PDR GOTO MISSING
IF NOT EXIST %D1%\SYSTEM\IOSUBSYS\DISKTSD.VXD GOTO MISSING
IF NOT EXIST %D1%\SYSTEM\IOSUBSYS\DISKVSD.VXD GOTO MISSING

REN %D1%\SYSTEM\IOSUBSYS\ESDI_506.PDR ESDI_506.BAK
REN %D1%\SYSTEM\IOSUBSYS\DISKTSD.VXD DISKTSD.BAK
REN %D1%\SYSTEM\IOSUBSYS\DISKVSD.VXD DISKVSD.BAK
IF EXIST %D1%\SYSTEM\VMM32\IOS.VXD REN %D1%\SYSTEM\VMM32\IOS.VXD IOS.BAK
IF EXIST %D1%\SYSTEM\VMM32\VFAT.VXD REN %D1%\SYSTEM\VMM32\VFAT.VXD VFAT.BAK

COPY PATCHES\ESDI_506.PDR %D1%\SYSTEM\IOSUBSYS\ESDI_506.PDR
COPY PATCHES\DISKTSD.VXD %D1%\SYSTEM\IOSUBSYS\DISKTSD.VXD
COPY PATCHES\DISKVSD.VXD %D1%\SYSTEM\IOSUBSYS\DISKVSD.VXD
COPY PATCHES\IOS.VXD %D1%\SYSTEM\VMM32\IOS.VXD
COPY PATCHES\VFAT.VXD %D1%\SYSTEM\VMM32\VFAT.VXD
COPY PATCHES\SATA.INF %D1%\INF\SATA.INF
COPY PATCHES\ATA0104.INF %D1%\INF\ATA0104.INF
COPY PATCHES\ATA0106.INF %D1%\INF\ATA0106.INF
COPY PATCHES\SATA0180.INF %D1%\INF\SATA0180.INF

ECHO TBPLUS WINDOWS PATCHES INSTALLED SUCCESSFULLY
GOTO EXIT

:UNINST
IF NOT EXIST %D1%\SYSTEM\IOSUBSYS\ESDI_506.BAK GOTO MOD
IF NOT EXIST %D1%\SYSTEM\IOSUBSYS\DISKTSD.BAK GOTO MOD
IF NOT EXIST %D1%\SYSTEM\IOSUBSYS\DISKVSD.BAK GOTO MOD
ECHO TBPLUS WINDOWS PATCHES ALREADY APPLIED - RUN UNINSTW TO REMOVE
GOTO EXIT
:MOD
ECHO ONE OR MORE FILES ALREADY PATCHED - UNINSTALL PATCHES FIRST
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
