QKat DOS TSR Driver v0.91 - 11/12/2000 (c)2000 by Tim Seewald ------------------------------------------------------------- Contents -------- * Introduction * Quick Start * Installation * Options * Data Integrity * Limitations * Trouble-Shooting * Differences in :Cue:Cat Models * Frequently Asked Questions * Contact Information * Registration * Disclaimer * Revision History Introduction ------------ This is the second release of the QKat DOS TSR (Terminate and Stay Resident) driver. This DEMO version is FREEWARE and may be freely distributed as long as no fee is charged and this file (QKAT.TXT) is included in the ZIP. Also note that this program may not be distributed with any other software without written permission. This DEMO version of the QKat DOS Driver is limited in the following ways: 1) After scanning fifteen barcodes, the driver will output an error tone. The driver must be unloaded from memory and reloaded before it will process another fifteen scans. 2) The scan data is prefixed with the word "DEMO". These limitations still allow you to determine if this driver will work with your DOS application. If you find that this program works with your application, you may purchase the registered (unlimited) version. For information on how to register, see the 'Registration' section located near the end of this file. A :Cue:Cat is a free barcode scanner available from your local RadioShack store. RadioShack manufactures and distributes these for a company named Digital Convergence Corporation. Their web site URL is: http://www.digitalconvergence.com/ This barcode scanner is known as a 'keyboard wedge' because it wedges (connects) between your keyboard and computer. When you scan a barcode, the :Cue:Cat scanner outputs an encrypted string of characters consisting of a unique unit serial number, the barcode type (UPC, 3of9, etc.) and the actual barcode data. Details concerning this format are widely available on the Internet at dozens of web sites. This software allows barcode entry into any data entry field of (almost) any existing DOS application where the user would enter data into the field from the keyboard. Versions 0.91 or later of this software can optionally output the barcode type in addition to the barcode data. See 'Options' below. Quick Start ----------- 1. Turn your computer off. 2. Connect the :Cue:Cat scanner between your keyboard and computer. 3. Turn your computer on and boot to a DOS prompt. 4. Type 'QKAT' at a DOS prompt. 5. Scan a barcode with the :Cue:Cat. 6. The scan data is decoded and displayed on your screen. Installation ------------ 1. Following the instructions that came with the :Cue:Cat, connect the scanner to your computer. Installation of the C.R.Q. software is not required. Since the C.R.Q. software is for Windows only, it is not possible to install this software on a DOS-only workstation. 2. Turn on your computer and at a DOS prompt scan any barcode with the :Cue:Cat. You should see a cryptic line of text similar to this: .C3nZC3nZC3nYCNr2C3fWCNnY.fHmc.C3DZCxPWCNzWDNnX. If you do not see something similar, verify that the :Cue:Cat is properly connected to your computer and try scanning a different barcode. If you can't get this to work then the :Cue:Cat may be incompatible with your computer. 3. On a DOS workstation: Copy the QKAT.EXE program to your C:\ or C:\DOS directory or any other directory that may be specified in the PATH statement in your AUTOEXEC.BAT file. The QKat software may be installed from the AUTOEXEC.BAT or from a DOS prompt by typing 'QKAT' followed by one or more of the optional command-line switches. 4. On a MS Windows workstation: QKAT.EXE may be copied to your C:\ or C:\WINDOWS\COMMAND directory and may be loaded from your AUTOEXEC.BAT file. QKat WILL run under DOS 7 (Win9x) and may be loaded prior to loading Windows or it may even be loaded from within a DOS window after Win9x loads. 5. From a DOS prompt scan the barcode again. You should hear a beep and instead of a cryptic line of text you should see the actual barcode data displayed on your screen. If the man-readable text under the barcode matches what is displayed on your screen, the QKat DOS TSR driver will most likely work on your system. 6. You may now run your DOS application and scan barcodes into the desired data-input fields. Options ------- To see the help screen, type QKAT /?, and the following will be displayed: º³Ýºº QKat DOS Driver v0.91 (c)2000 by Tim Seewald Use /? for help :Cue:Cat is a registered trademark of Digital Convergence Corp. Registered to: DEMO Description: QKat is a DOS-only TSR driver for the :Cue:Cat barcode scanner available from RadioShack. Switches: /NB - No Beep. Default is beep on successful scan. /NC - No Carriage Return. Default is append CR. /TB - Append TAB. Overrides append CR. /TU - Trim UPC-A. Removes prefix & check digits from UPC-A. /SS - Strip Supplemental. Removes trailing 2&5 digits from UPC-A. /TD - Formats output to BC type/data. Default is BC data only. /DT - Formats output to BC data/type. /U - Uninstall the driver. /? - Display this help screen. Original file size: 10904 The options are: /NB - No Beep. Default is beep on successful scan. Most barcode scanning hardware and software will provide aural feedback on a successful scan. This informs the user that the scan was successful without requiring the user to be looking at the computer screen to see if the application/form field was filled-in as a result to the user scanning a barcode. Conforming to this convention, the QKat software defaults to beeping when the :Cue:Cat successfully reads a barcode. You may have to scan a barcode two or more times before the scanner reads it successfully so this is a useful feature. You may apply the /NB switch to disable this beep. The :Cue:Cat prefixes the scan data with an ALT-F10 character immediately followed by a period (.) which it uses as a field separator for the three data items (serial no., barcode type, barcode data) it generates for every scan. If the QKat driver sees a period within 220 ms after receiving an ALT-F10 character, it produces the scan verification beep. The QKat driver then processes the barcode data and verifies that the data is valid. If the scan data contains invalid characters (characters below 0x20 or above 0x7E), the driver will discard the scan data and produce a low-frequency (200 Hz) error beep. The error beep is 1/10 the frequency of the scan verification beep (2000 Hz) and of longer duration. The error beep can not be disabled. /NC - No Carriage Return. Default is append CR. After an application form field is populated by either the user entering keyboard data or scanning a barcode, the user must usually press the Enter key or the Tab key to move to the next field. The QKat software defaults to appending a Carriage Return (Enter key) to the barcode data, thereby automatically moving to the next data input field immediately after a successful scan. For applications that require that the Tab key be pressed to move to the next data entry field, see the /TB switch. By using the /NC switch on the QKAT command line, the user must manually press the Enter or Tab key to move to the next field. Please note that if you use the /NC switch with either the /DT or /TD switches, the two data items, barcode type and barcode data, will be printed as one continuous string. /TB - Append TAB. Overrides append CR. Instead of appending a Carriage Return (Enter key) to the scan data (see the /NC switch), the QKat software appends a Tab character. In order to move to the next data entry field, some applications require that the Tab key be pressed. As there is usually only a single 'termination' character appended to a the barcode data, applying the /TB switch auto- matically applies the /NC switch thereby preventing the QKat software from appending both a Carriage Return and a TAB character. /TU - Trim UPC-A. Removes prefix & check digits from UPC-A. This switch directs the software to "Trim UPC-A" barcodes, such that the number system prefix digit (the first digit) and the trailing check digit is removed from the barcode data. This feature was implemented to support those using inventory databases that ignore the first and last digits of UPC-A barcodes. /SS - Strip Supplemental. Removes trailing 2&5 digits from UPC-A. This switch directs the software to remove the two or five digit supplemental numbers appended to UPC-A barcodes. This feature was implemented to support those using inventory databases and Point-of-Sale applications that have a fixed maximum barcode field size of 12 digits. /TD - Formats output to BC type/data. Default is BC data only. This switch directs the software to output the barcode type in addition to the barcode data. The output is formatted as: BCType BCData. This feature was implemented for those who are writing new DOS applications supporting the :Cue:Cat scanner and the QKat DOS driver and those using applications that include a barcode type field. /DT - Formats output to BC data/type. This switch directs the software to output the barcode type in addition to the barcode data. The output is formatted as: BCData BCType. This feature was implemented for those who are writing new DOS applications supporting the :Cue:Cat scanner and the QKat DOS driver and those using applications that include a barcode type field. /U - Uninstall the driver After loading the QKat TSR, the QKat software may be removed from memory (unloaded) by typing 'QKAT /U' at a DOS prompt. If you load any TSR's after loading the QKat TSR, these TSR's must be unloaded before you can unload the QKat driver. /? - Display this help screen. Displays the help screen that explains the command-line options. Data Integrity -------------- Versions 0.91 and later of the Qkat DOS Driver independently calculate the checksum of UPC-A (UPA), UPC-A w/two supplemental digits (UA2) and UPC-A w/five supplemental digits (UA5). The calculated checksum is compared with the checksum as reported by the :Cue:Cat to verify the accuracy of the scan data. If the calculated checksum and the reported checksum are not equal, the scan data is discarded and a two-note error tone is generated. This added feature virtually guarantees the accuracy of UPC-A scan data for critical Point-of-Sale applications. (Registered version only) The current versions of the :Cue:Cat scanner do not output the trailing check digit for UPC-E barcodes. Versions 0.91 and later of the QKat DOS Driver (Registered version only) calculate the correct check digit and append the digit to the scan data, thereby correcting this limitation of the :Cue:Cat scanner. Although the check digit is calculated, data integrity cannot be verified since the :Cue:Cat does not output this digit. Limitations ----------- Characters Supported - After you scan a barcode and before the barcode data is sent to your application, each character of the barcode is range checked to help insure that only valid data is entered into your application. Only the following printable characters are considered valid: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ In addition to these printable characters, the non-printable characters (Space), (Carriage Return), (Line Feed) and (Back Space) are also considered valid. Except for the characters A-Z and the numbers 0-9, many of these characters are invalid within most barcode symbologies, but have been included to help insure maximum compatibility. Extended Code39 - Although Standard Code39 is fully supported by both the :Cue:Cat scanner and the QKat DOS Driver with it's 42 characters (0-9, A-Z and -.$/+&), the :CueCat model 68-1965-A does not support the Extended Code39 specification. While the :Cue:Cat model 68-1965 does support the symbology, the QKat DOS Driver would consider all control characters not noted above to be invalid. In order to consider all control characters as valid, the existing validity checking would have to be relaxed to the point that barcode validity may be compromised for all the other symbologies. While supporting the Extended Code39 specification within the QKat DOS Driver for the non-capable 68-1965-A :Cue:Cat model is relatively easy, it would result in a larger TSR that would require significantly more memory. If enough end-user interest is communicated to the author, I will consider adding support for this symbology. :Cue:Cat "Cues" - While the QKat DOS Driver does accept scans of the proprietary "cues" found in RadioShack catalogs or other magazines, no attempt has been made properly convert the data to numerical format. Checksum Validation - Currently the barcode checksum is validated only for the UPC-A symbology (Registered version only). In future versions of this driver, checksum validation will also be performed for Code39 and EAN barcodes. :Cue:Cat Model - While not a limitation of the QKat DOS Driver, different models of the :Cue:Cat scanner can behave very differently with a given barcode symbology. See "Differences Between :Cue:Cat Models" below. Trouble-Shooting ---------------- Although the QKat DOS TSR driver will work with most DOS applications, there are exceptions. Applications that acquire keystrokes in a non-standard fashion or applications with built-in support for keyboard enhancement TSR's may very well not work with the QKat DOS TSR driver. The MSDOS 7 'EDIT' utility is one example of an incompatible program. It intercepts an ALT-F10 character sequence before the QKat driver can 'hide' this sequence from the program. The EDIT utility is incompatible with the :Cue:Cat scanner with or without the QKat driver because the ALT-F10 sequence is invalid within the application and it's so busy generating an error beep that the keyboard buffer overflows and scan characters are missed. Most DOS applications will work with the QKat TSR if they are run within a DOS window under Win9x. If you have problems with an application, try running it from a 'pure' DOS prompt prior to loading Windows. When you see the 'Starting Windows 9x...' message on your screen, press F8 to get into the Startup Menu and select option 6, 'Command prompt only'. When the DOS command prompt is displayed, type 'QKAT' followed by one or more of the optional command-line switches and then try running your application. The sounds that your PC makes while running the QKat TSR can also be useful for trouble-shooting compatibility problems. The QKat TSR can make three sounds: a very-brief, high pitched tone (2000 Hz) that indicates that the :Cue:Cat scanner successfully read the barcode, a longer, lower tone (200 Hz) that indicates the scan data contained invalid characters, and a two-note tone (200 Hz & 150 Hz) that indicates failed checksum verification of UPC-A barcodes. If your PC generates any sound other than these three, the QKat TSR may not be compatible with your application. If you hear a longer (1/2 to 1 sec.) tone, it may indicate that your keyboard buffer overflowed or it may be an error tone generated by the application. When the keyboard buffer overflows, your PC BIOS generates a tone of about 875 Hz signaling this condition. The actual frequency may vary over different BIOS manufactures and versions. To determine the sound frequency that your PC may make in this situation, at a DOS prompt simply press and hold any character key so that the character repeats until the legal DOS command-line length is exceeded. The sound generated will probably be the same one that indicates keyboard buffer overflow as DOS usually calls the same sound routine. Keyboard buffer overflow may occur because the QKat TSR cannot remove the scan characters fast enough from the keyboard buffer. Under Windows, this may be due to other foreground applications keeping your PC so busy that the keyboard interrupts are not serviced fast enough. You could try shutting down other processes to see if that eliminates the problem. As the scan verification beep generated by the QKat TSR is also created in the foreground which delays the processing of the scan characters, you could try using the /NB switch on the QKAT command line so that the scan characters are processed sooner and the keyboard buffer is less likely to overflow. Please understand that it's extremely difficult to create a TSR guaranteed to be compatible with all applications. Differences in :Cue:Cat Models ------------------------------ There are currently two models of :Cue:Cat scanners available from RadioShack: Catalog no. 68-1965 (single LED, rectangular aperture) and catalog no. 68-1965-A (two LED's, square aperture with a black frame). There are significant differences between the internal firmware (the software in ROM) that "runs" both models of scanners. Both models have different capabilities and limitations across the broad range of barcode symbologies. For example, the 68-1965 model appears to support Extended Code39 much better than the 68-1965-A model. The 68-1965 model, sometimes referred to as "Rev.01" may actually be an "improved" version of the 68-1965-A model, sometimes referred to as "Rev.02". A useful reference on this topic can be found on the Internet: "Differences in firmware revisions of a certain free barcode reader" http://www.mailcom.com/BarcodeTest/ For maximum flexibility, it would be useful to acquire BOTH models. Frequently Asked Questions -------------------------- 1Q. I understand that the :Cue:Cat scan data is prefixed with an Alt-F10 character. Will Alt-F10 still be recognized by my DOS application if I type it at the keyboard? 1A. Yes. If the scan data doesn't immediately follow the Alt-F10 scan prefix character, the Alt-F10 character is passed to the application. 2Q. When I scan a barcode, sometimes I hear the 'scan Ok' tone but this tone is immediately followed by a longer, much lower tone and no scan data is entered into the application. 2A. The longer, lower tone indicates that one or more invalid characters were in the scan data and all the data was discarded. (see Options, /NB) Try scanning the barcode again. You may also have a defective :Cue:Cat, a loose keyboard/:Cue:Cat connection, a difficult-to-scan barcode or the :Cue:Cat scanner and/or the QKat DOS TSR driver may not work with your computer/application. 3Q. When I scan a barcode, sometimes I hear the 'scan Ok' tone but this tone is immediately followed by a two-note tone and no scan data is entered into the application. 3A. The two-note error tone indicates that the checksum verification failed for a UPC-A barcode. Try scanning the barcode again. If even after repeated attempts to scan the barcode you still hear the two-note error tone, it may be that the check digit was not originally calculated properly and the check digit embedded in the barcode is actually wrong. You may also have a defective :Cue:Cat, a loose keyboard/:Cue:Cat connection, a difficult-to-scan barcode or the :Cue:Cat scanner and/or the QKat DOS TSR driver may not work with your computer/application. 4Q. I plugged an external keyboard and :Cue:Cat into my laptop and all I get is garbage and/or lots of beeps. 4A. Some laptops do not work with the :Cue:Cat at all. You could try the :Cue:Cat on a desktop computer just to make sure it's working and you may also want to try a different keyboard with your laptop. 5Q. Will the QKat driver work with the USB version of the :Cue:Cat? 5A. No. Contact Information ------------------- You may e-mail comments, bug reports or requests for enhancements to: qkatdos@yahoo.com Sorry, but I may not have time to answer every e-mail, but please don't take it personally. Only those purchasing the registered version of this software are guaranteed to receive e-mail support. The latest version of this software will be available at: http://hemisoft.50megs.com/ -and- http://www.geocites.com/qkatdos/ Registration ------------ You may purchase the full-featured, registered version of this software at: http://hemisoft.50megs.com/ The cost per workstation for the registered version is US $8.00. When you register this software you are guaranteed e-mail support and you will be entitled to subsequent versions of the QKat DOS Driver at no additional cost to you. The registered version of the QKat DOS Driver has these additional features: * There's no limitation on the number of scans as with the DEMO version. * Since the :Cue:Cat scanner does not return the last digit (the check digit) of UPC-E barcodes, the QKat DOS Driver calculates and displays this digit. * For all UPC-A barcodes, the check digit is independently calculated and compared with the check digit the scanner reported. This virtually guarantees that UPC-A scan data is accurate for critical Point-of-Sale applications. Visit the HemiSoft website for additional information. Disclaimer ---------- BEFORE YOU USE THE SOFTWARE, CAREFULLY READ THE TERMS AND CONDITIONS OF THIS AGREEMENT. BY USING THE SOFTWARE, YOU ARE CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT USE THE SOFTWARE. LIMITATION OF WARRANTY: THIS SOFTWARE IS PROVIDED 'AS IS' WITHOUT EXPRESS OR IMPLIED WARRANTIES, INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. DISCLAIMER OF LIABILITY: THE AUTHOR SHALL NOT BE LIABLE FOR (a) DIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR INDIRECT DAMAGES OF ANY SORT WHATSOEVER, WHETHER ARISING IN TORT, CONTRACT OR OTHERWISE, (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS, REVENUES, OR INFORMATION, OR FOR BUSINESS INTERRUPTION) RESULTING FROM CUSTOMER'S USE OF THE SOFTWARE OR INABILITY TO USE THE SOFTWARE, EVEN IF THE COMPANY HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR (b) FOR ANY CLAIM BY ANY OTHER PARTY THAN CUSTOMER. THIS DISCLAIMER OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY WHERE THE APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO CUSTOMER. Version History --------------- v0.90 - 10/21/2000 - First release v0.91 - 11/12/2000 - Second release Thanks to everyone that tried the first release and provided bug reports and suggestions for improvements! I have incorporated virtually ALL your suggestions in this version. * The :Cue:Cat scanner does not output the last character (the check digit) of UPC-E barcodes. The check digit is now calculated and appended to the scan data for these barcodes. (Registered version only) * For all UPC-A barcodes, the check digit is independently calculated and compared with the check digit the scanner reported. This virtually guarantees that UPC-A scan data is accurate for critical Point-of-Sale applications. (Registered version only) * The command-line option switch '/TU' was added. This switch directs the software to "Trim UPC-A" barcodes, such that the number system prefix digit (the first digit) and the trailing check digit is removed from the barcode data. This feature was implemented to support those using inventory databases that ignore the first and last digits of UPC-A bar- codes. * The command-line option switch '/SS' was added. This switch directs the software to remove the two or five digit supplemental numbers appended to UPC-A barcodes. This feature was implemented to support those using inventory databases and Point-of-Sale applications that have a fixed maximum barcode field size of 12 digits. * The command-line option switch '/TD' was added. This switch directs the software to output the barcode type in addition to the barcode data. The output is formatted as BCType BCData. This feature was implemented for those who are writing new DOS applications supporting the :Cue:Cat scanner and the QKat DOS driver and those using applications that include a barcode type field. * The command-line option switch '/DT' was added. This switch directs the software to output the barcode type in addition to the barcode data. The output is formatted as BCData BCType. This feature was implemented for those who are writing new DOS applications supporting the :Cue:Cat scanner and the QKat DOS driver and those using applications that include a barcode type field. * A bug was fixed where a NULL was sometimes appended to the barcode data. EOF