home *** CD-ROM | disk | FTP | other *** search
/ PC Home 44 / PC_Home_Issue_44.iso / image / pfinish / disk2 / rev6.do_ / rev6.bin
Encoding:
Text File  |  1992-09-29  |  11.0 KB  |  301 lines

  1.  
  2.               Revision 6 Scanner Drivers
  3.                   June 24, 1992
  4.  
  5. Revision 6 scanner drivers are a new breed of scanner driver.  
  6. The most obvious change, from the user's standpoint, is that 
  7. the scanner driver is an executable file, (.EXE file). 
  8. Previously, all scanner drivers were system files, (.SYS files).  
  9. The benefit of an executable file is flexibility.  The scanner 
  10. driver can be loaded as a device driver in CONFIG.SYS 
  11. (device=c:\scanner.exe) or it  can be loaded as a TSR 
  12. (Terminate and Stay Resident) program.  Another feature of the 
  13. TSR mode is the ability to unload the driver when it is not needed.
  14.  
  15.  
  16. This new format, or class, of scanner driver will be referred to as 
  17. Revision 6 and any applications that take advantage of the new 
  18. Revision 6 features (3-pass, color palettes, etc.) will be referred 
  19. to as Revision 6 compliant. At this time, PhotoFinish, Publisher's
  20. Paintbrush version 2.02 or higher, PC Paintbrush 5+, and UltraFAX 
  21. are Revision 6 compliant applications. This does NOT mean 
  22. Revision 6 scanner drivers will not work with other products, 
  23. only that the other products will not be able to take advantage 
  24. of the new features provided by a Revision 6 scanner driver.
  25.  
  26. Another important benefit of Revision 6 drivers is the standardization of 
  27. command line parameters.  
  28.  
  29. The current list of possible parameters follows:
  30.  
  31.  
  32.     /Ax     = Memory Address channel (0-9)
  33.     /Bxxx   = Interrupt Buffer size (in Kilobytes)
  34.     /Cxx    = Application Code
  35.     /Dx     = DMA channel (1,3,5,6,7)
  36.     /H      = Displays the parameters the scanner driver supports
  37.     /?      = Displays the parameters the scanner driver supports
  38.     /Ixx    = Irq number (2,3,4,5...16)
  39.     /Mxxxx  = Memory address (hex value)
  40.     /Oxxx   = I/O port (hex value)
  41.     /Px     = I/O Port (0-9)
  42.     /Txxxx  = Do diagnostic Testing (verify communication with scanner)
  43.     /U      = Unload driver
  44.     /V      = Verbose messages and status displays
  45.     /0      = Special scanner specific parameter
  46.     /1      = Special scanner specific parameter
  47.     .               .
  48.     .               .
  49.     .               .
  50.     /8      = Special scanner specific parameter
  51.     /9      = Special scanner specific parameter
  52.  
  53.  
  54. Usually, not all of the parameters will be available for a driver, just the 
  55. parameters that are required for the driver's operation. For example, if a 
  56. scanner does not have an interrupt setting, the '/I' parameter will not 
  57. be available.
  58.  
  59. /A and /M
  60. =========
  61.  
  62. Some scanner boards have a RAM buffer that is used to communicate with the 
  63. scanner.  The RAM buffer has a particular address that is used to refer to 
  64. the memory.  This address might be fixed (set at the factory) or user 
  65. configurable via jumpers or switches on the scanner board.  In order for the 
  66. scanner driver to find the scanner board, it will need to know the correct 
  67. address of this memory.  Some scanner boards have a limited number of 
  68. possible addresses that they can use and these addresses can be "built into" 
  69. the scanner driver.  These "built in" addresses are accessed through the /A 
  70. (address channel) command.  The desired channel number is specified 
  71. immediately following /A (DEVICE=C:\SCANNER.EXE /A3, or SCANNER /A3).  
  72.  
  73. The /M command allows the user to specify the desired address directly as a 
  74. hexadecimal value. For example, SCANNER /MDC00 uses address DC00h.  It is 
  75. possible to specify the address two ways if the user wants to use a "built 
  76. in" address.  For example, if the built in address is #2=E000h, either
  77. SCANNER /A2 or SCANNER /ME000 will work.
  78.  
  79. /B
  80. ==
  81.  
  82. This parameter allows the user to specify the size of the interrupt I/O 
  83. buffer in kilobytes.  This value is most important for hand scanners.  
  84. The interrupt buffer will hold the scan data until the application is able 
  85. to retrieve the data from the scanner driver.  If the application cannot 
  86. request the data fast enough or often enough, "drop outs" or "hits" can 
  87. occur in the scanned picture.  Increasing the buffer size allots the 
  88. application more time to process the scan data before it must retrieve 
  89. additional data from the scanner driver.  The idea here is to use as small 
  90. an interrupt buffer as you can without getting any "drop outs" in your 
  91. pictures.  For flatbed scanners an increase in buffer size may improve 
  92. scanning speed, although most flatbed scanner drivers do not use any buffer 
  93. space at all.
  94.  
  95. /C
  96. ==
  97.  
  98. The application code provides a method of "identifying" what application is 
  99. being used with the scanner driver to maximize scanner functionality.  This parameter is not 
  100. required for Revision 6 compliant applications.  Currently, 
  101. the only use of the application code is to make sure that the correct 
  102. number of resolution pairs is used.  If the parameter is omitted, the 
  103. application will still work, but may be missing some features. PhotoFinish, 
  104. Publisher's Paintbrush version 2.02 or higher, PC Paintbrush 5+, and 
  105. UltraFAX do not need an application code parameter.
  106.  
  107. The codes are:
  108.  
  109.     /C1 = PC Paintbrush Plus (DOS)
  110.     /C2 = PC Paintbrush Plus (Windows)
  111.     /C3 = PC Paintbrush IV Plus (DOS)
  112.     /C4 = Publisher's Paintbrush (Windows)
  113.  
  114. /D
  115. ==
  116.  
  117. Some scanner boards have the capability to transfer information directly into 
  118. the computer's memory. This is called Direct Memory Access or DMA.  DMA 
  119. requires a number or channel to be specified for its use (much like the 
  120. interrupt number for /I).  The DMA channel may be 1 or 3 for 8 bit scanner 
  121. boards or 5, 6, or 7 for 16 bit scanner boards.  The DMA channel is set by 
  122. the user on the scanner board via jumpers or switches.  The scanner driver 
  123. must be informed of the DMA channel by using the /D parameter.
  124.  
  125. /H and /?
  126. =========
  127.  
  128. The help command will display the available parameters that the scanner 
  129. driver supports.
  130.  
  131. /I
  132. ==
  133.  
  134. Some scanner boards have the capability to "interrupt" the processor and 
  135. request service.  This interrupt or interrupt request can use several 
  136. possible pathways to the processor and are known as interrupt numbers.  The 
  137. interrupt number may be anywhere from 2 to 16 and is set by the user on the 
  138. scanner board via jumpers or switches.  The scanner driver must be informed 
  139. of the interrupt number setting by using the /I parameter.
  140.  
  141. /P and /O
  142. =========
  143.  
  144. The /P and /O parameters work like the /A and /M parameters.  The 
  145. difference is that a port address is specified, not a memory address.  Some 
  146. scanner boards will use memory addresses and some will use port addresses.  
  147. It is possible that a scanner board could use both port and 
  148. memory addresses together.
  149.  
  150. /T
  151. ==
  152.  
  153. The test parameter is provided as a diagnostic aid for the end user (and  
  154. support people).  Using this parameter will tell the driver to attempt 
  155. communication with the scanner hardware and report on its success.  This will 
  156. aid the user in determining if the scanner hardware and driver settings are 
  157. properly matched or if there are any conflicts.  An optional hexadecimal
  158. number argument may be supplied (no current drivers make use of this, however).
  159.  
  160. /U
  161. ==
  162.  
  163. The unload command will remove the scanner driver from memory, thus freeing 
  164. memory space for other applications.  The scanner driver can only be removed 
  165. if it was loaded as a TSR, not as a device driver.  If the user attempts to 
  166. unload the scanner driver and it was specified as a CONFIG.SYS driver, the 
  167. appropriate error message will be displayed and the driver will NOT be 
  168. unloaded.
  169.  
  170. /V
  171. ==
  172.  
  173. By default the Revision 6 drivers will load and display a copyright notice 
  174. and the amount of memory occupied.  If the user would like the current 
  175. settings of the driver displayed as well, the /V parameter should be 
  176. specified.
  177.  
  178. /0 /1 /2 /3 /4 /5 /6 /7 /8 /9
  179. =============================
  180.  
  181. These parameters provide access to scanner specific features not 
  182. covered by the other general purpose parameter settings.  Each parameter will 
  183. be unique to the scanner driver (i.e., /0 might mean "turn off paper feeder" 
  184. for one scanner but /0 might be a speed setting for another scanner).  The 
  185. parameters may require additional arguments (like /0xxxx) or they may be used 
  186. alone, depending on the driver.
  187.  
  188.  
  189. Error/Information Messages
  190. ==========================
  191.  
  192. The following list of messages applies to all Revision 6 scanner 
  193. drivers.  Not all drivers have all of the messages. For example, if a driver 
  194. does not have a DMA setting, the user will not get an invalid DMA 
  195. message.
  196.  
  197.  
  198.     'ZSoft Scanner Driver, version 6.00'
  199.     'Copyright(C) ZSoft Corp. 1991, All rights reserved.'
  200.  
  201. This message is the sign-on copyright that is displayed whenever the scanner 
  202. driver is loaded or run.
  203.  
  204. =========
  205.  
  206.     'Loaded driver found.'
  207.  
  208. This message is displayed when the scanner driver is already loaded and an 
  209. attempt is made to re-load the driver.  This message will be followed by a 
  210. display of the currently loaded driver settings.
  211.  
  212. =========
  213.  
  214.     'Current settings:'
  215.  
  216.     'Memory Address = 0000'
  217.     'IRQ (interrupt) = 00'
  218.     'DMA channel = 00'
  219.     'I/O Port Address = 0000'
  220.     'I/O Buffer Size = 000K'
  221.  
  222. This message is displayed when the user specifies the /V 
  223. parameter or when a currently loaded driver is found.
  224.  
  225. =========
  226.  
  227.     'Driver loaded, using "x" bytes of DOS memory'
  228.  
  229. This message is displayed when the scanner driver is loaded into memory and 
  230. informs the user of the amount of memory used by the driver.
  231.  
  232. =========
  233.  
  234.     'The scanner driver has been removed from memory'
  235.  
  236. This message is displayed when the /U parameter is specified to unload 
  237. the scanner driver (TSR mode only).
  238.  
  239. =========
  240.  
  241.  
  242.     'Invalid parameter - ?'
  243.  
  244. This message is displayed when the scanner driver finds a 
  245. command line parameter the driver does not support or recognize.
  246.  
  247. =========
  248.  
  249.     'Old format scanner driver currently loaded.'
  250.     'Remove scanner driver from CONFIG.SYS and reboot'
  251.  
  252. This message is displayed when the user attempts to load a Revision 6 
  253. scanner driver "over" an old format driver.  The user has not removed the old 
  254. scanner driver from CONFIG.SYS and the Revision 6 scanner driver refuses to 
  255. load.
  256.  
  257. =========
  258.  
  259.     'Driver not loaded'
  260.  
  261. This message is displayed along with the error messages listed above to 
  262. inform the user that the scanner driver has not been loaded.
  263.  
  264. =========
  265.  
  266.     'Cannot UNload driver loaded from CONFIG.SYS.'
  267.     'Can only UNload TSR driver (loaded from DOS).'
  268.  
  269. This message is displayed when the user specifies the /U parameter and the 
  270. scanner driver has been loaded from CONFIG.SYS.  The scanner driver can only 
  271. be unloaded if it has been loaded as a TSR.
  272.  
  273. =========
  274.  
  275.     'Invalid memory Address channel'
  276.  
  277. This message is displayed when the user specifies an invalid value for the /A 
  278. parameter.
  279.  
  280. =========
  281.  
  282.     'Invalid I/O Address channel'
  283.  
  284. This message is displayed when the user specifies an invalid value for the /P 
  285. parameter.
  286.  
  287. =========
  288.  
  289.     'Invalid IRQ (interrupt) channel'
  290.  
  291. This message is displayed when the user specifies an invalid value for the /I 
  292. parameter.
  293.  
  294. =========
  295.  
  296.     'Invalid DMA channel'
  297.  
  298. This message is displayed when the user specifies an invalid value for the /D 
  299. parameter.
  300.  
  301.