Document how to use tcctool in Windows, and include the appropriate .inf file for use with the libusb-win32 device driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15559 a1c6a512-1295-4272-9138-f99709370657
diff --git a/utils/tcctool/README b/utils/tcctool/README
index c2fa8a0..2031f6f 100644
--- a/utils/tcctool/README
+++ b/utils/tcctool/README
@@ -27,3 +27,30 @@
original firmware. If you do this, make sure you upload the same
version that is installed on your player - otherwise you may find
yourself with corrupted config files and music database.
+
+
+Building for Windows
+--------------------
+
+1) Download libusb-win32-device-bin-0.1.12.1.tar.gz from:
+
+http://sourceforge.net/project/showfiles.php?group_id=78138
+
+2) Extract libusb-win32-device-bin-0.1.12.1.tar.gz in the tcctool
+source directory.
+
+3) Type "make tcctool.exe" to compile.
+
+4) Copy the following four files from libusb-win32-device-bin-0.1.12.1/bin
+to tcctool-driver-win32/
+
+libusb0.dll
+libusb0.sys
+libusb0_x64.dll
+libusb0_x64.sys
+
+5) Create the tcctool-win32.zip file from the directory above tcctool as follows:
+
+zip tcctool-win32.zip tcctool/tcctool.exe tcctool/tcctool-windows.txt tcctool/tcctool-driver/win32/*
+
+6) See tcctool/tcctool-windows.txt for Windows usage instructions.
diff --git a/utils/tcctool/tcctool-driver-win32/tcc.cat b/utils/tcctool/tcctool-driver-win32/tcc.cat
new file mode 100644
index 0000000..2ef39c5
--- /dev/null
+++ b/utils/tcctool/tcctool-driver-win32/tcc.cat
@@ -0,0 +1,3 @@
+This file will contain the digital signature of the files to be installed
+on the system.
+This file will be provided by Microsoft upon certification of your drivers.
diff --git a/utils/tcctool/tcctool-driver-win32/tcc.inf b/utils/tcctool/tcctool-driver-win32/tcc.inf
new file mode 100644
index 0000000..63bc8a6
--- /dev/null
+++ b/utils/tcctool/tcctool-driver-win32/tcc.inf
@@ -0,0 +1,139 @@
+[Version]
+Signature = "$Chicago$"
+provider = %manufacturer%
+DriverVer = 03/20/2007,0.1.12.1
+CatalogFile = tcc.cat
+CatalogFile.NT = tcc.cat
+CatalogFile.NTAMD64 = tcc_x64.cat
+
+Class = LibUsbDevices
+ClassGUID = {EB781AAF-9C70-4523-A5DF-642A87ECA567}
+
+[ClassInstall]
+AddReg=libusb_class_install_add_reg
+
+[ClassInstall32]
+AddReg=libusb_class_install_add_reg
+
+[libusb_class_install_add_reg]
+HKR,,,,"LibUSB-Win32 Devices"
+HKR,,Icon,,"-20"
+
+[Manufacturer]
+%manufacturer%=Devices,NT,NTAMD64
+
+;--------------------------------------------------------------------------
+; Files
+;--------------------------------------------------------------------------
+
+[SourceDisksNames]
+1 = "Libusb-Win32 Driver Installation Disk",,
+
+[SourceDisksFiles]
+libusb0.sys = 1,,
+libusb0.dll = 1,,
+libusb0_x64.sys = 1,,
+libusb0_x64.dll = 1,,
+
+[DestinationDirs]
+libusb_files_sys = 10,system32\drivers
+libusb_files_sys_x64 = 10,system32\drivers
+libusb_files_dll = 10,system32
+libusb_files_dll_wow64 = 10,syswow64
+libusb_files_dll_x64 = 10,system32
+
+[libusb_files_sys]
+libusb0.sys
+
+[libusb_files_sys_x64]
+libusb0.sys,libusb0_x64.sys
+
+[libusb_files_dll]
+libusb0.dll
+
+[libusb_files_dll_wow64]
+libusb0.dll
+
+[libusb_files_dll_x64]
+libusb0.dll,libusb0_x64.dll
+
+;--------------------------------------------------------------------------
+; Device driver
+;--------------------------------------------------------------------------
+
+[LIBUSB_DEV]
+CopyFiles = libusb_files_sys, libusb_files_dll
+AddReg = libusb_add_reg
+
+[LIBUSB_DEV.NT]
+CopyFiles = libusb_files_sys, libusb_files_dll
+
+[LIBUSB_DEV.NTAMD64]
+CopyFiles = libusb_files_sys_x64, libusb_files_dll_wow64, libusb_files_dll_x64
+
+[LIBUSB_DEV.HW]
+DelReg = libusb_del_reg_hw
+AddReg = libusb_add_reg_hw
+
+[LIBUSB_DEV.NT.HW]
+DelReg = libusb_del_reg_hw
+AddReg = libusb_add_reg_hw
+
+[LIBUSB_DEV.NTAMD64.HW]
+DelReg = libusb_del_reg_hw
+AddReg = libusb_add_reg_hw
+
+[LIBUSB_DEV.NT.Services]
+AddService = libusb0, 0x00000002, libusb_add_service
+
+[LIBUSB_DEV.NTAMD64.Services]
+AddService = libusb0, 0x00000002, libusb_add_service
+
+[libusb_add_reg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,libusb0.sys
+
+; Older versions of this .inf file installed filter drivers. They are not
+; needed any more and must be removed
+[libusb_del_reg_hw]
+HKR,,LowerFilters
+HKR,,UpperFilters
+
+; Device properties
+[libusb_add_reg_hw]
+HKR,,SurpriseRemovalOK, 0x00010001, 1
+
+;--------------------------------------------------------------------------
+; Services
+;--------------------------------------------------------------------------
+
+[libusb_add_service]
+DisplayName = "LibUsb-Win32 - Kernel Driver 03/20/2007, 0.1.12.1"
+ServiceType = 1
+StartType = 3
+ErrorControl = 0
+ServiceBinary = %12%\libusb0.sys
+
+;--------------------------------------------------------------------------
+; Devices
+;--------------------------------------------------------------------------
+
+[Devices]
+"TCC77x usb-boot mode"=LIBUSB_DEV, USB\VID_140E&PID_B021
+"TCC7801 usb-boot mode"=LIBUSB_DEV, USB\VID_140E&PID_B011
+
+[Devices.NT]
+"TCC77x usb-boot mode"=LIBUSB_DEV, USB\VID_140E&PID_B021
+"TCC7801 usb-boot mode"=LIBUSB_DEV, USB\VID_140E&PID_B011
+
+[Devices.NTAMD64]
+"TCC77x usb-boot mode"=LIBUSB_DEV, USB\VID_140E&PID_B021
+"TCC7801 usb-boot mode"=LIBUSB_DEV, USB\VID_140E&PID_B011
+
+
+;--------------------------------------------------------------------------
+; Strings
+;--------------------------------------------------------------------------
+
+[Strings]
+manufacturer = "Telechips"
diff --git a/utils/tcctool/tcctool-driver-win32/tcc_x64.cat b/utils/tcctool/tcctool-driver-win32/tcc_x64.cat
new file mode 100644
index 0000000..2ef39c5
--- /dev/null
+++ b/utils/tcctool/tcctool-driver-win32/tcc_x64.cat
@@ -0,0 +1,3 @@
+This file will contain the digital signature of the files to be installed
+on the system.
+This file will be provided by Microsoft upon certification of your drivers.
diff --git a/utils/tcctool/tcctool-windows.txt b/utils/tcctool/tcctool-windows.txt
new file mode 100755
index 0000000..d116bfe
--- /dev/null
+++ b/utils/tcctool/tcctool-windows.txt
@@ -0,0 +1,31 @@
+tcctool for Windows
+-------------------
+
+Installation
+------------
+
+When you first attach your device in USB boot mode to your computer,
+Windows should display the Found New Hardware Wizard.
+
+If this doesn't appear, and if you have previously used a firmware
+recovery tool with your device, you will need to uninstall the USB
+driver used by that application.
+
+Go into Control Panel -> System -> Hardware -> Device Manager, then
+click on Universal Serial Bus Controllers, look for something like
+"Telechips TCC77x VTC USB Driver", right-click on it and select
+Uninstall.
+
+After doing this, disconnect and reconnect your device and the Found
+New Hardware Wizard should appear.
+
+Select "No, not this time" to the question about connecting to Windows
+Update, and select "Install from a list or specific location
+(Advanced)" on the next screen.
+
+On the next screen, select "Search for the best driver in these
+locations", unselect "Search removable media", select "Include this
+location in the search:" and browse to the tcctool-driver-win32
+folder.
+
+You should now be able to run tcctool.exe