home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 June / Chip_1999-06_cd.bin / tipy / WEB / I2CPATCH.ZIP / README.TXT < prev   
Encoding:
Text File  |  1998-01-24  |  3.7 KB  |  102 lines

  1. Tento balik obsahuje instalaci pomocne knihovny, ktera odchytava prikazy
  2. posilane na I2C sbernici televizni karty ATI-TV a nahrazuje je vlastnimi.
  3.  
  4. Instalaci spustite prikazem INSTALL.EXE.
  5.  
  6. Podrobny popis funkci je uvedeny dale, ale v anglictine. Nechce se mi ho psat
  7. dvakrat, a krome toho si myslim, ze bude zajimat pouze ty, kteri stejne
  8. anglicky umi.
  9.  
  10. -------------------------------------------------------------------------------
  11.  
  12. This package contains installation of library which intercepts commands
  13. sent to I2C bus of ATI-TV and replaces them with different ones.
  14.  
  15. Run INSTALL.EXE to install this library.
  16.  
  17. -------------------------------------------------------------------------------
  18.  
  19. Detailed description (only for experienced users):
  20. ==================================================
  21.  
  22. Installation backups original (provided with ATI Player) ATI_I2C.DLL library
  23. under the name ATI_I2C.DL~. Then it replaces ATI_I2C.DLL with I2C_EMU.DLL
  24. (my own library).
  25.  
  26. In the case of difficulties copy this backup file (AIT_I2C.DL~) to ATI_I2C.DLL 
  27. and everything should be OK. But I expect no difficulties and problems.
  28.  
  29. After installation is ATI_I2C.DLL extended with new functions. It also reads
  30. set of rules from I2CEMU.INI (in Windows directory) on start. It means you
  31. can create your own set of rules which will be active during the whole time
  32. of ATI Player execution.
  33.  
  34. It can watch commands sent to certain _registers_ of certain _ports_. If there
  35. is a rule for this _port_ and this _register_, it sends defined set of commands
  36. to any register on this _port_. For example when command which switches mode
  37. from SECAM to PAL is executed, this library can change it so it switches 
  38. back to SECAM instead.
  39.  
  40. I2CEMU.INI has following structure:
  41. ==============================
  42. [Rules]
  43. FIRST_RULE_NAME=1
  44. DIFFERENT_RULE_NAME=1
  45. ...
  46.  
  47. [FIRST_RULE_NAME]
  48. WatchPort=port (eg. 88)
  49. WatchRegs=registers (eg. 01 0B 19)
  50. WatchMask=00 (always 00)
  51. WatchValue=00 (always 00)
  52. Reg1=register_to register_from and_value or_value (eg. 01 01 F8 06)
  53. Reg2=...
  54. ...
  55. Reg10=...
  56. Reg11=...
  57. ...
  58. Reg255=...
  59.  
  60. [DIFFERENT_RULE_NAME]
  61. ...
  62. ==============================
  63.  
  64. It is quite simple. There can be up to 50 rules, each with different name.
  65. Rule name must be included in section "[Rules]" in form "RULE_NAME=1".
  66.  
  67. Then the section "[RULE_NAME]" must exist, which contains appropriate rules.
  68. All values are in hexadecimal form.
  69.  
  70. WatchPort is port watched (88 belongs to Bt829).
  71. WatchRegs is set of registers watched. If write to any of these registers
  72. on WatchPort occurs, rule is triggered and executed.
  73. WatchMask and WatchValue are intended for future use and _MUST_ be zero (00,
  74. not just 0).
  75.  
  76. Then if rule is triggered, following actions happen:
  77. Section is scanned for lines "Reg1=", "Reg2=" up to "Reg255=". They are
  78. processed in ascending order and if any of these lines misses, it is
  79. supposed no more lines exist. Ie. "Reg1=", "Reg2=" and "Reg4=" is nonsense,
  80. because "Reg4=" will be not found due to "Reg3=" missing.
  81.  
  82. Each "Regn=" line contains:
  83.  
  84. register_to ... which register will be written
  85.  
  86. register_from ... what will be written to "register_to". It must be register
  87.   number. Actual value is read from "register_from" and then processed.
  88.  
  89. and_value ... value read from "register_from" is logically ANDed with this
  90.  
  91. or_value ... and then it is logically ORed with this. 
  92.  
  93. For example "Reg1=01 22 F8 06" means:
  94. Value will be read from register 0x22. Then it will be ANDed with 0xF8
  95. and ORed with 0x06. Result will be written to register 0x01.
  96.  
  97. New ATI_I2C.DLL library loads these rules on load (when ATI Player starts). 
  98. If you want to check the rules, use included EMUTEST.EXE which will
  99. get actual set of rules from running ATI_I2C.DLL.
  100.  
  101.  
  102.