usbpadzz.inf Driver File Contents (EMSUSBJOYPAD.zip)

[Version]
Layoutfile=layout.inf,layout1.inf,layout2.inf
Signature=$CHICAGO$
Class=GCAClass
ClassGUID={93B41274-8DDB-11D5-A5E3-00A0C99B19DF}
Provider=%Provider%
DriverVer=01/08/2002,1.0.00

;; Source files
;;
[SourceDisksNames]
55="USB Controller Disk",, 0

[SourceDisksFiles]
usbpadff.dll=55
usbpadcp.dll=55
usbpadzz.inf=55

[DestinationDirs]
CLASS.CopyFiles		= 11
CLASS.DelFiles 		= 25
INF.CopyFiles		= 17
DRIVERDATA.DelFiles	= 17
USB_PSX.CopyFiles 	= 11
FFDRIVER.CopyFiles 	= 11
PANEL.CopyFiles 	= 11
OLDDRIVERS.DelFiles 	= 11

[Manufacturer]
%MfgName%=EMS

[EMS]
%USBDevice_1P.Desc%=USB_EMS_1P,USB\VID_0B43&PID_0001
%USBDevice_2P.Desc%=USB_EMS_2P,USB\VID_0B43&PID_0003
%USBDevice_GP.Desc%=USB_GAMEPAD,USB\VID_0B43&PID_0004
%USBDevice_GC.Desc%=USB_GAMECUBE,USB\VID_0B43&PID_0005

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; Class
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[ClassInstall]
Addreg=ClassReg

[ClassInstall32]
Addreg=ClassReg

[ClassReg]
HKR,,,,%HID.ClassName%
HKR,,Icon,,-23
HKR,,NoInstallClass,,1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; Default Installation
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; Win98
;;
[DefaultInstall]
CopyFiles=INF.CopyFiles,USB_PSX.CopyFiles,FFDRIVER.CopyFiles,PANEL.CopyFiles
AddReg=USB_PSX.AddReg,FFDRIVER.AddReg,FFDRIVER_1P.AddReg,FFDRIVER_2P.AddReg,FFDRIVER_GP.AddReg
DelFiles=DRIVERDATA.DelFiles,OLDINF.DelFiles, OLDDRIVERS.DelFiles

[DefaultUninstall]
DelFiles=INF.CopyFiles,USB_PSX.CopyFiles,FFDRIVER.CopyFiles,PANEL.CopyFiles,DRIVERDATA.DelFiles
DelReg=FFDRIVER.DelReg,FFDRIVER_1P.DelReg,FFDRIVER_2P.DelReg,FFDRIVER_GP.DelReg

[INF.CopyFiles]
usbpadzz.inf

[DRIVERDATA.DelFiles]
drvdata.bin
drvidx.bin
psxusb.inf
usbpad.inf

[OLDDRIVERS.DelFiles]
psxusbcp.dll
psx003cp.dll
psxusbff.dll
psx003ff.dll

;; Win2K
;;
[DefaultInstall.NT]
CopyFiles=INF.CopyFiles, FFDRIVER.CopyFiles
AddReg=FFDRIVER.AddReg,FFDRIVER_1P.AddReg,FFDRIVER_2P.AddReg,FFDRIVER_GP.AddReg

[DefaultUninstall.NT]
DelFiles=INF.CopyFiles, FFDRIVER.CopyFiles
DelReg=FFDRIVER.DelReg,FFDRIVER_1P.DelReg,FFDRIVER_2P.DelReg,FFDRIVER_GP.DelReg

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; Hardware Install
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;[PreCopySection]
;HKR,,NoSetupUI,,1

;; Win98
;;
[USB_EMS_1P]
CopyFiles=USB_PSX.CopyFiles,FFDRIVER.CopyFiles,PANEL.CopyFiles
AddReg=USB_PSX.AddReg,FFDRIVER.AddReg,FFDRIVER_1P.AddReg
DriverVer=08/01/2002,1.0.00

[USB_EMS_2P]
CopyFiles=USB_PSX.CopyFiles,FFDRIVER.CopyFiles,PANEL.CopyFiles
AddReg=USB_PSX.AddReg,FFDRIVER.AddReg,FFDRIVER_2P.AddReg
DriverVer=08/01/2002,1.0.00

[USB_GAMEPAD]
CopyFiles=USB_PSX.CopyFiles,FFDRIVER.CopyFiles,PANEL.CopyFiles
AddReg=USB_PSX.AddReg,FFDRIVER.AddReg,FFDRIVER_GP.AddReg
DriverVer=08/01/2002,1.0.00

[USB_GAMECUBE]
CopyFiles=USB_PSX.CopyFiles,FFDRIVER.CopyFiles,PANEL.CopyFiles
AddReg=USB_PSX.AddReg,FFDRIVER.AddReg,FFDRIVER_GC.AddReg
DriverVer=08/01/2002,1.0.00

;; Win2K
;;
[USB_EMS_1P.NT]
Include=input.inf
Needs=HID_Inst.NT
CopyFiles=FFDRIVER.CopyFiles
AddReg=FFDRIVER.AddReg,FFDRIVER_1P.AddReg

[USB_EMS_2P.NT]
Include=input.inf
Needs=HID_Inst.NT
CopyFiles=FFDRIVER.CopyFiles
AddReg=FFDRIVER.AddReg,FFDRIVER_2P.AddReg

[USB_GAMEPAD.NT]
Include=input.inf
Needs=HID_Inst.NT
CopyFiles=FFDRIVER.CopyFiles
AddReg=FFDRIVER.AddReg,FFDRIVER_GP.AddReg

[USB_GAMECUBE.NT]
Include=input.inf
Needs=HID_Inst.NT
CopyFiles=FFDRIVER.CopyFiles
AddReg=FFDRIVER.AddReg,FFDRIVER_GC.AddReg

[USB_EMS_1P.NT.Services]
Include=input.inf
Needs=HID_Inst.NT.Services
AddService = HidUsb,%SPSVCINST_ASSOCSERVICE%,HID_Service_Inst

[USB_EMS_2P.NT.Services]
Include=input.inf
Needs=HID_Inst.NT.Services
AddService = HidUsb,%SPSVCINST_ASSOCSERVICE%,HID_Service_Inst

[USB_GAMEPAD.NT.Services]
Include=input.inf
Needs=HID_Inst.NT.Services
AddService = HidUsb,%SPSVCINST_ASSOCSERVICE%,HID_Service_Inst

[USB_GAMECUBE.NT.Services]
Include=input.inf
Needs=HID_Inst.NT.Services
AddService = HidUsb,%SPSVCINST_ASSOCSERVICE%,HID_Service_Inst

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; HID/USB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[USB_PSX.CopyFiles]
hidusb.sys
hidclass.sys
hidparse.sys

[USB_PSX.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,"hidusb.sys"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; FFDriver files & reg
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[FFDRIVER.CopyFiles]
usbpadff.dll
usbpadcp.dll

[PANEL.CopyFiles]
gchand.dll

[FFDRIVER.AddReg]
;   FF Driver
;
HKCR,CLSID\%FFClass.ID%,,,%FFClass.Desc%
HKCR,CLSID\%FFClass.ID%\InProcServer32,,,%11%\usbpadff.dll
HKCR,CLSID\%FFClass.ID%\InProcServer32,ThreadingModel,,"Both"

;   Control Panel
;
HKCR,CLSID\%CPClass.ID%\,,,%CPClass.Name%
HKCR,CLSID\%CPClass.ID%\ProgID,,,%CPClass.ProgID%
HKCR,CLSID\%CPClass.ID%\InProcHandler32,,,"%11%\gchand.dll"
HKCR,CLSID\%CPClass.ID%\InProcServer32,,,"%11%\usbpadcp.dll"
HKCR,CLSID\%CPClass.ID%\InProcServer32,ThreadingModel,,"Apartment"

[FFDRIVER.DelReg]
HKCR,CLSID\%FFClass.ID%
HKCR,CLSID\%CPClass.ID%

;;;;
;;;; FFDRIVER 1P
;;;;
[FFDRIVER_1P.AddReg]
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback,CLSID,,"%FFClass.ID%"
HKLM,%KEY_OEM%\%Device_1P.RegName%,ConfigCLSID,,"%CPClass.ID%"

; Sample period = 1000us, MinTimeRes = 1000us
;
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback,Attributes,1,00,00,00,00,E8,03,00,00,E8,03,00,00

; Axes
;
HKLM,%KEY_OEM%\%Device_1P.RegName%\Axes\0,,0,"X Axis"
HKLM,%KEY_OEM%\%Device_1P.RegName%\Axes\0,Attributes,1,01,81,00,00,01,00,30,00
HKLM,%KEY_OEM%\%Device_1P.RegName%\Axes\0,FFAttributes,1,0a,00,00,00,00,01,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\Axes\1,,0,"Y Axis"
HKLM,%KEY_OEM%\%Device_1P.RegName%\Axes\1,Attributes,1,01,81,00,00,01,00,31,00
HKLM,%KEY_OEM%\%Device_1P.RegName%\Axes\1,FFAttributes,1,0a,00,00,00,00,01,00,00

;; Effects
;;
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,,0,%ConstantForce.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,Attributes,1, 01,00,00,00, 01,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,,0,%RampForce.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,Attributes,1,     02,00,00,00, 02,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Square.ID%,,0,%Square.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Square.ID%,Attributes,1,          03,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Sine.ID%,,0,%Sine.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Sine.ID%,Attributes,1,          04,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,,0,%Triangle.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,Attributes,1,          05,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,,0,%SawtoothUp.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,Attributes,1,          06,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,,0,%SawtoothDown.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,Attributes,1,          07,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Spring.ID%,,0,%Spring.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Spring.ID%,Attributes,1,        08,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Damper.ID%,,0,%Damper.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Damper.ID%,Attributes,1,        09,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,,0,%Inertia.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,Attributes,1,        0a,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Friction.ID%,,0,%Friction.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%Friction.ID%,Attributes,1,        0b,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,,0,%CustomForce.Desc%
HKLM,%KEY_OEM%\%Device_1P.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,Attributes,1,        0c,00,00,00, 05,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

[FFDRIVER_1P.DelReg]
HKLM,%KEY_OEM%\%Device_1P.RegName%

;;;;
;;;; FFDRIVER 2P
;;;;
[FFDRIVER_2P.AddReg]
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback,CLSID,,"%FFClass.ID%"
HKLM,%KEY_OEM%\%Device_2P.RegName%,ConfigCLSID,,"%CPClass.ID%"

; Sample period = 1000us, MinTimeRes = 1000us
;
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback,Attributes,1,00,00,00,00,E8,03,00,00,E8,03,00,00

; Axes
;
HKLM,%KEY_OEM%\%Device_2P.RegName%\Axes\0,,0,"X Axis"
HKLM,%KEY_OEM%\%Device_2P.RegName%\Axes\0,Attributes,1,01,81,00,00,01,00,30,00
HKLM,%KEY_OEM%\%Device_2P.RegName%\Axes\0,FFAttributes,1,0a,00,00,00,00,01,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\Axes\1,,0,"Y Axis"
HKLM,%KEY_OEM%\%Device_2P.RegName%\Axes\1,Attributes,1,01,81,00,00,01,00,31,00
HKLM,%KEY_OEM%\%Device_2P.RegName%\Axes\1,FFAttributes,1,0a,00,00,00,00,01,00,00

;; Effects
;;
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,,0,%ConstantForce.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,Attributes,1, 01,00,00,00, 01,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,,0,%RampForce.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,Attributes,1,     02,00,00,00, 02,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Square.ID%,,0,%Square.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Square.ID%,Attributes,1,          03,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Sine.ID%,,0,%Sine.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Sine.ID%,Attributes,1,          04,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,,0,%Triangle.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,Attributes,1,          05,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,,0,%SawtoothUp.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,Attributes,1,          06,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,,0,%SawtoothDown.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,Attributes,1,          07,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Spring.ID%,,0,%Spring.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Spring.ID%,Attributes,1,        08,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Damper.ID%,,0,%Damper.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Damper.ID%,Attributes,1,        09,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,,0,%Inertia.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,Attributes,1,        0a,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Friction.ID%,,0,%Friction.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%Friction.ID%,Attributes,1,        0b,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,,0,%CustomForce.Desc%
HKLM,%KEY_OEM%\%Device_2P.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,Attributes,1,        0c,00,00,00, 05,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

[FFDRIVER_2P.DelReg]
HKLM,%KEY_OEM%\%Device_2P.RegName%

;;;;
;;;; FFDRIVER GP
;;;;
[FFDRIVER_GP.AddReg]
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback,CLSID,,"%FFClass.ID%"
HKLM,%KEY_OEM%\%Device_GP.RegName%,ConfigCLSID,,"%CPClass.ID%"

; Sample period = 1000us, MinTimeRes = 1000us
;
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback,Attributes,1,00,00,00,00,E8,03,00,00,E8,03,00,00

; Axes
;
HKLM,%KEY_OEM%\%Device_GP.RegName%\Axes\0,,0,"X Axis"
HKLM,%KEY_OEM%\%Device_GP.RegName%\Axes\0,Attributes,1,01,81,00,00,01,00,30,00
HKLM,%KEY_OEM%\%Device_GP.RegName%\Axes\0,FFAttributes,1,0a,00,00,00,00,01,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\Axes\1,,0,"Y Axis"
HKLM,%KEY_OEM%\%Device_GP.RegName%\Axes\1,Attributes,1,01,81,00,00,01,00,31,00
HKLM,%KEY_OEM%\%Device_GP.RegName%\Axes\1,FFAttributes,1,0a,00,00,00,00,01,00,00

;; Effects
;;
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,,0,%ConstantForce.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,Attributes,1, 01,00,00,00, 01,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,,0,%RampForce.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,Attributes,1,     02,00,00,00, 02,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Square.ID%,,0,%Square.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Square.ID%,Attributes,1,          03,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Sine.ID%,,0,%Sine.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Sine.ID%,Attributes,1,          04,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,,0,%Triangle.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,Attributes,1,          05,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,,0,%SawtoothUp.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,Attributes,1,          06,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,,0,%SawtoothDown.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,Attributes,1,          07,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Spring.ID%,,0,%Spring.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Spring.ID%,Attributes,1,        08,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Damper.ID%,,0,%Damper.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Damper.ID%,Attributes,1,        09,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,,0,%Inertia.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,Attributes,1,        0a,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Friction.ID%,,0,%Friction.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%Friction.ID%,Attributes,1,        0b,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,,0,%CustomForce.Desc%
HKLM,%KEY_OEM%\%Device_GP.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,Attributes,1,        0c,00,00,00, 05,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

[FFDRIVER_GP.DelReg]
HKLM,%KEY_OEM%\%Device_GP.RegName%

;;;;
;;;; FFDRIVER GC
;;;;
[FFDRIVER_GC.AddReg]
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback,CLSID,,"%FFClass.ID%"
HKLM,%KEY_OEM%\%Device_GC.RegName%,ConfigCLSID,,"%CPClass.ID%"

; Sample period = 1000us, MinTimeRes = 1000us
;
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback,Attributes,1,00,00,00,00,E8,03,00,00,E8,03,00,00

; Axes
;
HKLM,%KEY_OEM%\%Device_GC.RegName%\Axes\0,,0,"X Axis"
HKLM,%KEY_OEM%\%Device_GC.RegName%\Axes\0,Attributes,1,01,81,00,00,01,00,30,00
HKLM,%KEY_OEM%\%Device_GC.RegName%\Axes\0,FFAttributes,1,0a,00,00,00,00,01,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\Axes\1,,0,"Y Axis"
HKLM,%KEY_OEM%\%Device_GC.RegName%\Axes\1,Attributes,1,01,81,00,00,01,00,31,00
HKLM,%KEY_OEM%\%Device_GC.RegName%\Axes\1,FFAttributes,1,0a,00,00,00,00,01,00,00

;; Effects
;;
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,,0,%ConstantForce.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%ConstantForce.ID%,Attributes,1, 01,00,00,00, 01,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,,0,%RampForce.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%RampForce.ID%,Attributes,1,     02,00,00,00, 02,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Square.ID%,,0,%Square.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Square.ID%,Attributes,1,          03,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Sine.ID%,,0,%Sine.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Sine.ID%,Attributes,1,          04,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,,0,%Triangle.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Triangle.ID%,Attributes,1,          05,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,,0,%SawtoothUp.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%SawtoothUp.ID%,Attributes,1,          06,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,,0,%SawtoothDown.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%SawtoothDown.ID%,Attributes,1,          07,00,00,00, 03,3E,00,00, E5,01,00,00, E5,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Spring.ID%,,0,%Spring.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Spring.ID%,Attributes,1,        08,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Damper.ID%,,0,%Damper.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Damper.ID%,Attributes,1,        09,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,,0,%Inertia.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Inertia.ID%,Attributes,1,        0a,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Friction.ID%,,0,%Friction.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%Friction.ID%,Attributes,1,        0b,00,00,00, 04,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,,0,%CustomForce.Desc%
HKLM,%KEY_OEM%\%Device_GC.RegName%\OEMForceFeedback\Effects\%CustomForce.ID%,Attributes,1,        0c,00,00,00, 05,3E,00,00, 65,01,00,00, 65,01,00,00, 30,00,00,00

[FFDRIVER_GC.DelReg]
HKLM,%KEY_OEM%\%Device_GC.RegName%



;---------------------------------------------------------------;

[Strings]

;---------------------------------------------------------------;
Provider="EMS"
MfgName="EMS"
HID.ClassName="Game controller adapters"
HidGameCtrl = "HID game controller"

HIDDevice.Desc="EMS-USB Adapter (HID)"
USBDevice_1P.Desc="EMS-USB Adapter"
USBDevice_2P.Desc="2 Player EMS-USB Adapter"
USBDevice_GP.Desc="USB Gamepad"
USBDevice_GC.Desc="USB GameCube"

ConstantForce.Desc="Constant Force"
RampForce.Desc	  ="Ramp Force"
Square.Desc	  ="Square"
Sine.Desc	  ="Sine"
Triangle.Desc	  ="Triangle"
SawtoothUp.Desc	  ="Sawtooth Up"
SawtoothDown.Desc ="Sawtooth Down"
Spring.Desc       ="Spring"
Damper.Desc	  ="Damper"
Inertia.Desc	  ="Inertia"
Friction.Desc	  ="Friction"
CustomForce.Desc  ="Custom Force"

FFClass.Desc	  ="EMS-USB Adapter Driver"

CPClass.Name      ="EMS-USB Custom Property Sheet"
CPClass.ProgID    ="EMS-USB Adapater"

;---------------------------------------------------------------;

Device_1P.RegName=VID_0B43&PID_0001
Device_2P.RegName=VID_0B43&PID_0003
Device_GP.RegName=VID_0B43&PID_0004

ConstantForce.ID={13541C20-8E33-11D0-9AD0-00A0C9A06E35}
RampForce.ID	={13541C21-8E33-11D0-9AD0-00A0C9A06E35}
Square.ID	={13541C22-8E33-11D0-9AD0-00A0C9A06E35}
Sine.ID         ={13541C23-8E33-11D0-9AD0-00A0C9A06E35}
Triangle.ID	={13541C24-8E33-11D0-9AD0-00A0C9A06E35}
SawtoothUp.ID	={13541C25-8E33-11D0-9AD0-00A0C9A06E35}
SawtoothDown.ID	={13541C26-8E33-11D0-9AD0-00A0C9A06E35}
Spring.ID       ={13541C27-8E33-11D0-9AD0-00A0C9A06E35}
Damper.ID	={13541C28-8E33-11D0-9AD0-00A0C9A06E35}
Inertia.ID	={13541C29-8E33-11D0-9AD0-00A0C9A06E35}
Friction.ID	={13541C2A-8E33-11D0-9AD0-00A0C9A06E35}
CustomForce.ID	={13541C2B-8E33-11D0-9AD0-00A0C9A06E35}

FFClass.ID      ={7C77A585-3F48-46f7-A0D9-EA8C942B7594}
CPClass.ID	={77919E22-91C0-4dc5-8FD2-ADAC23D9B63A}

KEY_OEM="System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM"
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web4, load: 2.13