-----BEGIN PGP SIGNED MESSAGE----- Undocumented Settings for Diamond TV ==================================== by Ralf Brown Version 1.1 May 31, 1997 Diamond's DTV.EXE program (and associated DLLs) for the Diamond Stealth64 Video 2xx1-series video cards has some interesting features which may be enabled by adding appropriate settings in \WINDOWS\DTV.INI and \WINDOWS\DMMTV.INI. All of the features described here are based on a Stealth64 Video 2201TV card with an ITT3220 tuner; your mileage may vary if your card has the Philips SAA7111 tuner which is also supported by DMMTV.DLL. In DTV.INI section [Debug]: SkipDisplayFreq=1 SkipRestoreFreq=1 By default, the DTV program switches the screen refresh rate down to 72 Hz if it is higher than that at startup, then restores the prior rate on exit. This causes an annoying rolling, and the disappearance and redrawing of all windows on the screen. Setting both of the above values to 1 turns of the change in refresh rate, which had no adverse effect on my system at 1024x768 @ 75 Hz. DebugMenu=1 This setting enables some additional menu entries: three items on the Capture menu and one on the Help menu (which is an odd place to put an item that gives you direct access to the tuner's registers...). [Side note: The "I2C" entry on the Help menu refers to the I2C bus invented by Philips for consumer electronics such as TVs and VCRs; it is the ancestor of the ACCESS.bus which forms the physical layer of the Universal Serial Bus.] ForcePreview=? This setting is not yet understood. A value of 1 caused a completely black TV window. In DTV.INI section [Settings]: TipDelayMS=nnn Set the time before Tool Tips for a button pop up to "nnn" milliseconds AutoMS=nnn Set the pause for locking onto each channel during the channel auto-programming to "nnn" milliseconds In DTV.INI section [OnScreen]: ShowInputSize=1 Display the size of the image coming from the tuner/digitizer in the upper left-hand corner, just below the on-screen size (if enabled). I was quite surprised to find that the digitized image for a 320x240 on-screen window was only 88 pixels wide in HiColor mode -- no wonder the picture looked fuzzy! In 256-color mode, the digitizer is sending 250x248 pixels for a 320x240 on-screen window, and a full 644x248 for a 1024x708 on-screen window (compared to only 276x248 in HiColor mode). In DMMTV.INI section [DMMTV]: TunerType=N TunerType=1 is the ITT3220 in my board, TunerType=0 appears to be the Philips SAA7111 5252Reg0=nnn Apparently intended to configure the closed-captioning decoder, but does not have any visible effect on my system, since DTV.EXE seems to merely read the CC data and display the decoded text itself. From Philips data sheets, the SAA5252 register 0 contains the following bit fields: bit 7 read CC from second field, not first bit 6 video output is negative-going, not positive bit 5 horizontal sync pulse has positive polarity bit 4 vertical sync pulse has positive polarity bits 3-0: offset from start of horizontal sync pulse 5252Reg1=nnn Apparently intended to configure the closed-captioning decoder, but does not have any visible effect on my system. From Philips data sheets, the SAA5252 register 1 contains the following bit fields: bit 7 clear page memory bit 6 user channel selection (0=Ch2, 1=Ch1) bit 5 check lines 19-23, not just line 21 bit 4 disable CC decoding and acquisition bits 3-2 enhanced caption mode 00 shadowed character, video background 01 shadowed character, mesh background 10 normal character, video background 11 normal character, mesh background bits 1-0 enhanced display mode 00 video only 01 text only 10 normal caption mode 11 enhanced caption mode In DMMTV.INI section [ODS]: Debug=1 Enable debugging messages; this probably requires the Windows debug kernel, as it has no apparent effect on my system. In DMMTV.INI section [TunerFrequencies]: NumEntries=nn Specify the number of EntryNN= items in this section EntryN= mode standard channel frequency band (N="1" to value specified in NumEntries) Override the built-in tuning table for a particular channel in a particular TV standard/TV mode (broadcast/cable) combination. On my system, attempting to override an unused channel caused a GPF in DMMTV.DLL, followed by crashes in STLTHCAP.DRV and Explorer. In RFMK2V.INI section [3220]: VertBegin=nnn VertLinesIn=nnn VertLinesOut= OddOnly=n (0/1) HorzBegin=nnn HorzLen=nnn HorzNumPixels=nnn Addr=0x86 I2C device address for video pixel decoder (digitizer). 0x86 is the address of the ITT3220, 0x9E is the address for the Phillips SAA7111. Count=nnn Number of I2C register values listed in this section, under entries named "R%02X" Rxx=nnn Value to write to register "xx" (hexadecimal) at startup. See also listing of 3220 registers below. In I2CDEBUG.INI section [Debug]: ODS=1 Enable debugging messages; this probably requires the Windows debug kernel, as it has no apparent effect on my system. DumpChipState=1 Output the values in the various I2C registers. This probably requires the Windows debug kernel, as it has no apparent effect on my system. In I2CDEBUG.INI section [3220]: VBegin=nnn (default=24) VCrop=nnn (default=0) In SYSTEM.INI section [STLTHCAP.DRV]: Hue= Saturation= Brightness= Contrast= VideoStandard=nn 0 = NTSC 1 = PAL VideoCable=nn 0 composite1 ? 1 composite2 ? 2 S-Video ? Size40=nn maximum size which can be captured; default = 8 is 320x240; max = 16 is 640x480, min = 1 is 40x30 VideoFormat=nn 0 1 2 3 4 Additional settings are also found in K2V_DIG.INI, K2V_HWC.INI, and K2V_SWC.INI. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ITT VPX3220A Video Pixel Decoder registers (at I2C address 0x86) Register(s) Description 0x00-0x03 appear to be a product identifier; they are hardwired to 0xEC, 0x80, 0x46, 0xFE 0x04-0x1F do not exist 0x20 ? 0x21 does not exist? 0x22 ? 0x23-0x25 do not exist 0x26 index for reading FPREG 0x27 index for writing FPREG 0x28 FPREG data transfer (two bytes, first is high; FPREGs are 12 bits wide) 0x29 FPREG status 0x2A-0x2D do not exist 0x2E ? 0x2F ? 0x30 ? 0x31 horizontal shift (bits 4-0) 0x32 does not exist? 0x33 ? 0x34 ? 0x35-0x38 do not exist 0x39 ? 0x3A ? 0x3B-0x3D do not exist 0x3E ? 0x3F ? 0x40-0xCF do not exist 0xD0 ? 0xD1 ? 0xD2 ? 0xD3 ? 0xD4 ? 0xD5 bits 6-0 control portion of image which is digitized when bit 7 is set 0xD6 ? 0xD7 ? 0xD8 ? 0xD9 does not exist? 0xDA ? 0xDB ? 0xDC ? 0xDD-0xDF do not exist 0xE0 ? 0xE1 ? 0xE2 ? 0xE3 ? 0xE4 ? 0xE5 ? 0xE6 brightness (signed -- 0x80 = black, 0x7F is brightest) 0xE7 contrast (bits 5-0, 0x00 is minimum, 0x3F is maximum) 0xE8 ? 0xE9 ? 0xEA ? 0xEB-0xEF do not exist 0xF0 ? 0xF1 ? 0xF2 ? bit 0: turn TV on 0xF3 does not exist? 0xF4 status of ? 0xF5 status of ? 0xF6 status of ? 0xF7 status of ? 0xF8 ? 0xF9 ? 0xFA-0xFF do not exist ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ITT VPX3220A Video Pixel Decoder FP registers 0x00-0x0F ? 0x10 affects B&W / color threshold 0x11 status of ? 0x12 status of ? 0x13 status of ? 0x14-0x15 ? 0x16 status of ? 0x17-0x18 ? 0x19 B&W / color threshold -- higher values require stronger colorburst before color is enabled 0x1A-0x1B ? 0x1C color balanced (signed) 0x1D-0x1F ? 0x20 status of ? 0x21 ? 0x22 status of ? 0x23-0x27 ? 0x28 affects vertical sync 0x29-0x2E ? 0x2F status of ? 0x30-0x36 ? 0x37 status of ? 0x38 ? 0x39 status of ? 0x3A status of ? 0x3B-0x3D ? 0x3E affects vertical sync 0x3F status of ? 0x40 status of ? 0x41 status of ? 0x42 status of ? 0x43 horizontal sync position (color attenuated in a vertical strip) 0x44 ? 0x45 status of ? 0x46 status of ? 0x47 horizontal sync adjustment? 0x48 status of ? 0x49 status of ? 0x4A status of ? 0x4B horizontal retrace frequency adjustment? 0x4C-0x4F ? 0x50 ? 0x51 status of ? 0x52 status of ? 0x53 status of ? 0x54 ? 0x55 affects vertical sync 0x56-0x57 ? 0x58 large values turn image B&W 0x59 status of ? 0x5A status of ? 0x5B-0x5D ? 0x5E status of ? 0x5F status of ? 0x60-0x6F ? ---> the following are updated whenever 0x77 is written to FPREG 0xF0 0x70 vertical begin 0x71 vertical lines in (bits 8-0) 0x72 vertical lines out 0x73 horizontal begin 0x74 horizontal length 0x75 horizontal number of pixels 0x76 affects which horizontal portion of image is digitized 0x77 ? affects digitization if values large 0x78 ? affects digitization start position 0x79 ? 0x7A ? 0x7B sharpness control (bits 5-0) -- updated from FPregs D0h-DFh 0x7C ? 0x7D ? 0x7E ? 0x7F ? ---> the preceding are updated whenever 0x77 is written to FPREG 0xF0 0x80-0x83 ? (read-only?) 0x84-0x86 ? 0x87 ? (read-only?) 0x88 vertical begin (latch, copied into 0x70) 0x89 vertical lines in (latch, copied into 0x71) 0x8A vertical lines out (latch, copied into 0x72) 0x8B horizontal begin (latch, copied into 0x73) 0x8C horizontal length (latch, copied into 0x74) 0x8D horizontal number of pixels (latch, copied into 0x75) 0x8E ? 0x8F ? affects vertical sync 0x90-0x94 ? 0x95 status of ? 0x96 status of ? 0x97-0x99 ? 0x9A status of ? 0x9B-0x9F ? 0xA0 color saturation 0xA1 status of ? 0xA2 status of ? 0xA3 status of ? 0xA4 status of ? 0xA5 status of ? 0xA6-0xAF ? 0xB0 status of ? 0xB1 status of ? 0xB2-0xB6 ? 0xB7 status of ? 0xB8 status of ? 0xB9 status of ? 0xBA-0xBF ? 0xC0 affects vertical sync 0xC1 horizontal start 0xC2 affects colors 0xC3 ? related to length of horizontal sync pulse 0xC4 ? 0xC5 status of ? 0xC6 status of ? 0xC7 affects brightness 0xC8 white level? 0xC9-0xCA ? 0xCB status of ? 0xCC status of ? 0xCD status of ? 0xCE affects synchronization 0xCF ? 0xD0-0xDF together, used to update FPREG 0x7B whenever 0x77 written to 0xF0 in each register, if either of bits 10 or 11 is set, or either of bits 4 or 5 is set, then the register is used 0xE0 vertical sync 0xE1 image update rate? (signed) values less than ~0x180 cause slower image udpate and finally (below about 0x140) freeze the image 0xE2 status of ? 0xE3 status of ? 0xE4 status of ? 0xE5-0xE6 ? 0xE7 vertical sync 0xE8 ? 0xE9 ? 0xEA status of ? 0xEB status of ? 0xEC-0xED ? 0xEE status of ? 0xEF ? 0xF0 key register -- write 0x77 to activate all updates at once by reloading registers 0x70-0x7F 0xF1 ? image freezes if boths bits 0 and 1 set 0xF2 video format? 0xF3-0xF8 ? 0xF9 status of ? 0xFA status of ? 0xFB-0xFF ? - --- End of File --- -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQEVAwUBM5Bqi1RIjiWXBlOBAQE8gAf+LookTpIGuZ+CX9fnfGCiDpxO7KBg27k9 7EbpmgsBFQR/kjwrnzQGEJcQpSrFikEO8ElpnIRnqB7yB/Slw5KBUzz6Jd34NKBy A1YQorIcPmGDl07SkZa95oPhiWEm96cX7MKjUMyVkrMQ7OqxRlMbfx7bHZ/WLhvu bWxjfxNhKo0N3MfUnJGKFEkl/CqvpmfGLhHUOL/neOVEQ/0GYA3/oEXl7v34ainy Fag3/WtLU8cr941Ge5w5/Dstss4lpQ5Lk5jMuGtBYXvBzoZSTLVjUaxyKAt6UKAJ IxKBfdKKMgyjPd/ald8fJbuh0AcNOdLyhAgFfeaMYObN50ZsKcLzBQ== =ZMzm -----END PGP SIGNATURE-----