; Copyright Trident Microsystems, Inc (c) 1997  All Rights Reserved.
; Portions Copyright (c) 1993 Microsoft Corporation.  All Rights Reserved.
;
; Install Joystick gamecard mini-driver
;
; This installs a driver for a gamecard which supports on-board digitizing of 
; the standard analog joysticks which are plugged into it.  
;
;----------------------------------------------------------------------------;
; It must:
;   associate the device with the MEDIA class, 
;   copy the OEM mini-driver and supporting system files
;   specify hardware resources and setup the devnode
;   and make its registry settings.
;
; Since this is a card installation this may be the first game controller 
; installed the supporting system files must be installed.
;  
; MSJSTICK.DRV supports the Windows MultiMedia APIs for older games written 
; before DirectInput supported joysticks.  It should be copied from the 
; original Windows installation disk.
; VJOYD.VXD provides further support for these APIs and is the manager for 
; all the mini-drivers.  Since significant changes have been made, this 
; should be copied from the DirectX 5.0 installation.
; MSANALOG.VXD supports analog joysticks and should be copied in case another 
; game controller is added which needs this support but was released before 
; DirectX 5.0.  This should also be copied from the DirectX 5.0 installation.
;
; This type of gameport is often combined with a sound card.  If the card 
; also supports use of the port as a standard analog gameport for use by 
; digital joystick mini-drivers the JOY_HWS_ISANALOGPORTDRIVER flag should be 
; set so that VJoyD will know that it is safe to supply these resources to 
; other mini-drivers.  In this case, the gameport resources should ideally be 
; exposed in a separate devnode otherwise the other resources on the card are 
; at the mercy of the mini-driver.  If these resources are given to MSAnalog, 
; it will use the first IO range regardless of its base address but will only 
; use subsequent ranges if the range is within the standard gameport range.
;----------------------------------------------------------------------------;


[Version]
Signature="$CHICAGO$"
Class=MEDIA
Provider=%TMS%

[SourceDisksNames]
1=%DirectX5CD%,%DirectX5%,0
2=%AudioInstallCD%,,

[SourceDisksFiles]
tridinpt.vxd=2
msjstick.drv=1
vjoyd.vxd=1
msanalog.vxd=1

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

[ClassInstall]
Addreg=Class.AddReg

[Class.AddReg]
HKR,,,,%ClassName%
HKR,,Icon,,1
HKR,,Installer,,MMSys.Cpl

[Manufacturer]
%TRIDMfgName%=TRID

[TRID]
%GameCard.DeviceDesc%=GameCard.Install,VIRTUAL\Trid_Gameport

[DestinationDirs]
GameCard.CopyList = 11        ; LDID_SYS

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

[GameCard.Install]
LogConfig=GameCard.LogCfg1,GameCard.LogCfg2
CopyFiles=GameCard.CopyList
AddReg=JOYSTICK.AddReg, MSJSTICK.AddReg, GameCard.AddReg
UpdateInis=MSJSTICK.UpdateInis

[GameCard.CopyList]
tridinpt.vxd,,
msjstick.drv,,
vjoyd.vxd,,
msanalog.vxd,,

[GameCard.LogCfg1]
ConfigPriority=HARDWIRED
IOConfig=200-207(3ff::)

[GameCard.LogCfg2]
ConfigPriority=HARDWIRED
IOConfig=208-20F(3ff::)

[MSJSTICK.UpdateInis]
system.ini,drivers,"joystick="

[JOYSTICK.AddReg]
HKR,,Devloader,,mmdevldr.vxd
HKR,Drivers,MIGRATED,,0
HKR,Drivers\joystick,,,

[MSJSTICK.AddReg]
HKR,,Driver,,vjoyd.vxd
HKR,Drivers\joystick\msjstick.drv,Description,,%GameCard.DeviceDesc%
HKR,Drivers\joystick\msjstick.drv,Driver,,msjstick.drv
HKR,Drivers,SubClasses,,"joystick"

[GameCard.AddReg]
; We need to add OEMData, OEMName and OEMCallout as a minimum

; OEMData describes the driver, 
; the first DWORD is a combination of JOY_HWS_* flags
; the second DWORD is the number of buttons supported
; Since this device supports a gameport, not a joystick, the description of 
; the axes and buttons are irrelevant.
; 
; JOY_HWS_ISGAMEPORTDRIVER      0x04000000l
; JOY_HWS_ISANALOGPORTDRIVER    0x08000000l 
;                               -----------
; Combined value                0x0c000000l
HKLM,%KEY_OEM%,OEMData,1,00,00,00,0c,00,00,00,00
; The name the user will see in the advanced page of the control panel
HKLM,%KEY_OEM%,OEMName,0,%GameCard.DeviceDesc%
; The mini-driver used to drive this card.
HKLM,%KEY_OEM%,OEMCallout,0,tridinpt.vxd
; A value that the mini-driver uses for something
HKLM,%KEY_OEM%,"Magic PollFlags",1,78,56,34,12
;
; None of the default property sheet customization strings are
; relevant as the CPL will use the strings for the joystick that
; is plugged into the device, not this device.

; Likewise none of the DirectInput settings are needed.



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

[Strings]

; Non-localized
ClassName="Sound, video and game controllers"
KEY_OEM="System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\Trident GameCard"

; Localized
TMS="Trident Microsystems, Inc. APG"
TRIDMfgName="TRID"
GameCard.DeviceDesc="Trident Direct Input Driver"
AudioInstallCD="Trident PCI Audio Driver Install CD"
DirectX5CD="DirectX 5.0 Drivers Redist"
DirectX5="DirectX5.0"


