home *** CD-ROM | disk | FTP | other *** search
-
- Revision 6 Scanner Drivers
- June 24, 1992
-
- Revision 6 scanner drivers are a new breed of scanner driver.
- The most obvious change, from the user's standpoint, is that
- the scanner driver is an executable file, (.EXE file).
- Previously, all scanner drivers were system files, (.SYS files).
- The benefit of an executable file is flexibility. The scanner
- driver can be loaded as a device driver in CONFIG.SYS
- (device=c:\scanner.exe) or it can be loaded as a TSR
- (Terminate and Stay Resident) program. Another feature of the
- TSR mode is the ability to unload the driver when it is not needed.
-
-
- This new format, or class, of scanner driver will be referred to as
- Revision 6 and any applications that take advantage of the new
- Revision 6 features (3-pass, color palettes, etc.) will be referred
- to as Revision 6 compliant. At this time, PhotoFinish, Publisher's
- Paintbrush version 2.02 or higher, PC Paintbrush 5+, and UltraFAX
- are Revision 6 compliant applications. This does NOT mean
- Revision 6 scanner drivers will not work with other products,
- only that the other products will not be able to take advantage
- of the new features provided by a Revision 6 scanner driver.
-
- Another important benefit of Revision 6 drivers is the standardization of
- command line parameters.
-
- The current list of possible parameters follows:
-
-
- /Ax = Memory Address channel (0-9)
- /Bxxx = Interrupt Buffer size (in Kilobytes)
- /Cxx = Application Code
- /Dx = DMA channel (1,3,5,6,7)
- /H = Displays the parameters the scanner driver supports
- /? = Displays the parameters the scanner driver supports
- /Ixx = Irq number (2,3,4,5...16)
- /Mxxxx = Memory address (hex value)
- /Oxxx = I/O port (hex value)
- /Px = I/O Port (0-9)
- /Txxxx = Do diagnostic Testing (verify communication with scanner)
- /U = Unload driver
- /V = Verbose messages and status displays
- /0 = Special scanner specific parameter
- /1 = Special scanner specific parameter
- . .
- . .
- . .
- /8 = Special scanner specific parameter
- /9 = Special scanner specific parameter
-
-
- Usually, not all of the parameters will be available for a driver, just the
- parameters that are required for the driver's operation. For example, if a
- scanner does not have an interrupt setting, the '/I' parameter will not
- be available.
-
- /A and /M
- =========
-
- Some scanner boards have a RAM buffer that is used to communicate with the
- scanner. The RAM buffer has a particular address that is used to refer to
- the memory. This address might be fixed (set at the factory) or user
- configurable via jumpers or switches on the scanner board. In order for the
- scanner driver to find the scanner board, it will need to know the correct
- address of this memory. Some scanner boards have a limited number of
- possible addresses that they can use and these addresses can be "built into"
- the scanner driver. These "built in" addresses are accessed through the /A
- (address channel) command. The desired channel number is specified
- immediately following /A (DEVICE=C:\SCANNER.EXE /A3, or SCANNER /A3).
-
- The /M command allows the user to specify the desired address directly as a
- hexadecimal value. For example, SCANNER /MDC00 uses address DC00h. It is
- possible to specify the address two ways if the user wants to use a "built
- in" address. For example, if the built in address is #2=E000h, either
- SCANNER /A2 or SCANNER /ME000 will work.
-
- /B
- ==
-
- This parameter allows the user to specify the size of the interrupt I/O
- buffer in kilobytes. This value is most important for hand scanners.
- The interrupt buffer will hold the scan data until the application is able
- to retrieve the data from the scanner driver. If the application cannot
- request the data fast enough or often enough, "drop outs" or "hits" can
- occur in the scanned picture. Increasing the buffer size allots the
- application more time to process the scan data before it must retrieve
- additional data from the scanner driver. The idea here is to use as small
- an interrupt buffer as you can without getting any "drop outs" in your
- pictures. For flatbed scanners an increase in buffer size may improve
- scanning speed, although most flatbed scanner drivers do not use any buffer
- space at all.
-
- /C
- ==
-
- The application code provides a method of "identifying" what application is
- being used with the scanner driver to maximize scanner functionality. This parameter is not
- required for Revision 6 compliant applications. Currently,
- the only use of the application code is to make sure that the correct
- number of resolution pairs is used. If the parameter is omitted, the
- application will still work, but may be missing some features. PhotoFinish,
- Publisher's Paintbrush version 2.02 or higher, PC Paintbrush 5+, and
- UltraFAX do not need an application code parameter.
-
- The codes are:
-
- /C1 = PC Paintbrush Plus (DOS)
- /C2 = PC Paintbrush Plus (Windows)
- /C3 = PC Paintbrush IV Plus (DOS)
- /C4 = Publisher's Paintbrush (Windows)
-
- /D
- ==
-
- Some scanner boards have the capability to transfer information directly into
- the computer's memory. This is called Direct Memory Access or DMA. DMA
- requires a number or channel to be specified for its use (much like the
- interrupt number for /I). The DMA channel may be 1 or 3 for 8 bit scanner
- boards or 5, 6, or 7 for 16 bit scanner boards. The DMA channel is set by
- the user on the scanner board via jumpers or switches. The scanner driver
- must be informed of the DMA channel by using the /D parameter.
-
- /H and /?
- =========
-
- The help command will display the available parameters that the scanner
- driver supports.
-
- /I
- ==
-
- Some scanner boards have the capability to "interrupt" the processor and
- request service. This interrupt or interrupt request can use several
- possible pathways to the processor and are known as interrupt numbers. The
- interrupt number may be anywhere from 2 to 16 and is set by the user on the
- scanner board via jumpers or switches. The scanner driver must be informed
- of the interrupt number setting by using the /I parameter.
-
- /P and /O
- =========
-
- The /P and /O parameters work like the /A and /M parameters. The
- difference is that a port address is specified, not a memory address. Some
- scanner boards will use memory addresses and some will use port addresses.
- It is possible that a scanner board could use both port and
- memory addresses together.
-
- /T
- ==
-
- The test parameter is provided as a diagnostic aid for the end user (and
- support people). Using this parameter will tell the driver to attempt
- communication with the scanner hardware and report on its success. This will
- aid the user in determining if the scanner hardware and driver settings are
- properly matched or if there are any conflicts. An optional hexadecimal
- number argument may be supplied (no current drivers make use of this, however).
-
- /U
- ==
-
- The unload command will remove the scanner driver from memory, thus freeing
- memory space for other applications. The scanner driver can only be removed
- if it was loaded as a TSR, not as a device driver. If the user attempts to
- unload the scanner driver and it was specified as a CONFIG.SYS driver, the
- appropriate error message will be displayed and the driver will NOT be
- unloaded.
-
- /V
- ==
-
- By default the Revision 6 drivers will load and display a copyright notice
- and the amount of memory occupied. If the user would like the current
- settings of the driver displayed as well, the /V parameter should be
- specified.
-
- /0 /1 /2 /3 /4 /5 /6 /7 /8 /9
- =============================
-
- These parameters provide access to scanner specific features not
- covered by the other general purpose parameter settings. Each parameter will
- be unique to the scanner driver (i.e., /0 might mean "turn off paper feeder"
- for one scanner but /0 might be a speed setting for another scanner). The
- parameters may require additional arguments (like /0xxxx) or they may be used
- alone, depending on the driver.
-
-
- Error/Information Messages
- ==========================
-
- The following list of messages applies to all Revision 6 scanner
- drivers. Not all drivers have all of the messages. For example, if a driver
- does not have a DMA setting, the user will not get an invalid DMA
- message.
-
-
- 'ZSoft Scanner Driver, version 6.00'
- 'Copyright(C) ZSoft Corp. 1991, All rights reserved.'
-
- This message is the sign-on copyright that is displayed whenever the scanner
- driver is loaded or run.
-
- =========
-
- 'Loaded driver found.'
-
- This message is displayed when the scanner driver is already loaded and an
- attempt is made to re-load the driver. This message will be followed by a
- display of the currently loaded driver settings.
-
- =========
-
- 'Current settings:'
-
- 'Memory Address = 0000'
- 'IRQ (interrupt) = 00'
- 'DMA channel = 00'
- 'I/O Port Address = 0000'
- 'I/O Buffer Size = 000K'
-
- This message is displayed when the user specifies the /V
- parameter or when a currently loaded driver is found.
-
- =========
-
- 'Driver loaded, using "x" bytes of DOS memory'
-
- This message is displayed when the scanner driver is loaded into memory and
- informs the user of the amount of memory used by the driver.
-
- =========
-
- 'The scanner driver has been removed from memory'
-
- This message is displayed when the /U parameter is specified to unload
- the scanner driver (TSR mode only).
-
- =========
-
-
- 'Invalid parameter - ?'
-
- This message is displayed when the scanner driver finds a
- command line parameter the driver does not support or recognize.
-
- =========
-
- 'Old format scanner driver currently loaded.'
- 'Remove scanner driver from CONFIG.SYS and reboot'
-
- This message is displayed when the user attempts to load a Revision 6
- scanner driver "over" an old format driver. The user has not removed the old
- scanner driver from CONFIG.SYS and the Revision 6 scanner driver refuses to
- load.
-
- =========
-
- 'Driver not loaded'
-
- This message is displayed along with the error messages listed above to
- inform the user that the scanner driver has not been loaded.
-
- =========
-
- 'Cannot UNload driver loaded from CONFIG.SYS.'
- 'Can only UNload TSR driver (loaded from DOS).'
-
- This message is displayed when the user specifies the /U parameter and the
- scanner driver has been loaded from CONFIG.SYS. The scanner driver can only
- be unloaded if it has been loaded as a TSR.
-
- =========
-
- 'Invalid memory Address channel'
-
- This message is displayed when the user specifies an invalid value for the /A
- parameter.
-
- =========
-
- 'Invalid I/O Address channel'
-
- This message is displayed when the user specifies an invalid value for the /P
- parameter.
-
- =========
-
- 'Invalid IRQ (interrupt) channel'
-
- This message is displayed when the user specifies an invalid value for the /I
- parameter.
-
- =========
-
- 'Invalid DMA channel'
-
- This message is displayed when the user specifies an invalid value for the /D
- parameter.
-
-