home *** CD-ROM | disk | FTP | other *** search
/ PC-Test Pro / PCTESTPRO.iso / disktool / diskqwik / entp / diskqwik.doc < prev    next >
Encoding:
Text File  |  1994-08-03  |  47.7 KB  |  965 lines

  1.  
  2. DiskQwik v2.11  Shareware version Released August 4th, 1994
  3. DiskQwik v2.31 Registered version Released August 4th, 1994
  4.  
  5. ╒═╡  DiskQwik v2.11 │   32-bit Windows version available September '94!
  6. │                                ┌────────────────┐    ┌────────────────┐
  7. │   DUSTBOWL DESIGNS, INC.       │     0   SPB    │    │     0   SPB    │
  8. │   -=≡ NOT REGISTERED ≡=-       │ ≡■≡≡≡≡≡≡≡≡≡≡≡≡ │    │ ≡■≡≡≡≡≡≡≡≡≡≡≡≡ │
  9. │    (405) 741-4705 VOX          └────────────────┘    └────────────────┘
  10. │    (405) 741-3913 FAX               Drive 0               Drive 1
  11. │    (405) 741-2721 BBS
  12. ├──────────────────────────────────────────────────────────────────────────┐
  13. │The makers of 3_Drives, 4_Drives, C_Prime, 4_Speed, Drive Primer and more.│
  14. │    Copyright 1993-1994 by Dustbowl Designs, Inc. All rights reserved.    │
  15. │          12600 S.E. 38th Street, Choctaw, Oklahoma USA 73020-6107        │
  16. │    $25 (credit card) registration and IMMEDIATE download from our BBS.   │
  17. └──────────────┤ Outstanding shareware for Hard Disk Drives! ├─────────────┘
  18.  
  19.  
  20. The premiere DOS block device driver for AT/IDE interface hard disk
  21. drives that enables MULTIPLE SECTOR Block Transfer Mode. 
  22.  
  23. ┌────────────────────────────────────────────────────────────────────┐
  24. │▒▒▒ What's New: v2.11 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  25. └────────────────────────────────────────────────────────────────────┘
  26. Happy Birthday, DiskQwik!  One full year in Shareware!  A very special
  27. thanks to all of our registered friends!!  And in the Dustbowl Designs
  28. tradition, we've added new features, optimized routines, updated and
  29. upgraded the shareware release to include some of the registered
  30. version's features.  
  31.  
  32.     * Both drives now supported in the shareware release.
  33.     * Automatic Multiple Sector Block sizing
  34.     * Block Size of 1 now supports older IDE drives.
  35.     * Two new speed modes. A slightly slower one for compatibility
  36.       issues and a really fast mode for systems that can handle it! 
  37.     * Windows "friendly", no more hang if 32-bit disk access enabled.
  38.  
  39. ┌────────────────────────────────────────────────────────────────────┐
  40. │▒▒▒ Introduction ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  41. └────────────────────────────────────────────────────────────────────┘
  42. DiskQwik is a block device driver that is designed exclusively for
  43. AT/IDE Hard Disk Drives. Many newer IDE drives have the built in
  44. capability to significantly increase their Data Transfer Rates by
  45. activating the MULTIPLE SECTOR Block Transfer Mode. In a typical
  46. scenario, the transfer rate can be increased by up to 45% over the
  47. rate offered by the motherboard bios. Some of the newest motherboards
  48. and high-end Host Adapters are beginning to offer this MULTIPLE Mode,
  49. but this great feature of our new IDE drives has essentially remained
  50. untapped.... until now, thanks to DiskQwik!
  51.  
  52. DiskQwik now supports older IDE drives that were designed without the
  53. Multiple Sector Block Mode.  By setting a block size of 1, we can
  54. effectively replace the native INT13 bios routines with more efficient
  55. and highly optimized ones.  The Data Transfer Rates are given a boost
  56. that is worth considering. 
  57.  
  58. Included in this ZIP file are TST500MB.PCX and TST-40MB.PCX, in a
  59. standard graphics file format used by most paint programs and picture
  60. viewers, that shows examples of two drives' performance results.
  61. TST500MB.PCX shows in clear detail the remarkable increase in Data
  62. Transfer Rate that one can expect from an IDE drive that has activated
  63. MULTIPLE SECTOR Block Transfers. With the Sectors per Block (SPB) set
  64. to 2, we immediately see an increase of 15% over the system motherboard
  65. bios int13 routines. This is the capability of DiskQwik's Shareware
  66. release. With the SPB set to 32 (only Registered versions of DiskQwik
  67. can set values greater than 2), the Data Transfer Rate of our test
  68. drive jumps to 43% higher than the native system motherboard bios int13
  69. routines.  
  70.  
  71. TST-40MB.PCX shows the results of an older IDE drive that never had the
  72. ability to support Multiple Sector Block Mode.  In this case, DiskQwik
  73. acts as a single sector replacement for the Int13  disk drive routines.
  74. because of its optimization, an increase of 100 kbytes/sec is realized.
  75.  
  76.  
  77. This shareware release of DiskQwik is designed to give you the
  78. opportunity to test for yourself if your IDE drive can be motivated
  79. into MULTIPLE SECTOR Block Transfer Mode. It is VERY important to note
  80. here that while a large percentage of IDE drives can use this mode,
  81. some cannot (some say they can, but actually don't... more on this
  82. later), therefore, shareware provides a perfect opportunity for "try
  83. before you buy" software evaluation.  
  84.  
  85. ┌────────────────────────────────────────────────────────────────────┐
  86. │▒▒▒ Upgrade Offer ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  87. └────────────────────────────────────────────────────────────────────┘
  88.  
  89. As noted in the screen representation and at the beginning of this
  90. document, DiskQwik v2.11 is shareware and supports two hard disk drives
  91. (unit 0 and 1) in the MULTIPLE SECTOR Block Transfer Mode.
  92. Additionally, The shareware version is "hard coded" to a 2 Sectors per
  93. Block maximum in the READ Multiple mode.  
  94.  
  95. In the event that you want to activate the higher Data Transfer Rates
  96. gained by increasing the Sectors per Block value, use the Fastest Speed
  97. Mode or desire to have WRITE Multiple, we offer the program: Registered
  98. DiskQwik v2.31.  
  99.  
  100. Registered version benefits and features:
  101.  
  102.   * Custom control of the values used for setting Sector per Block
  103.     (SPB).
  104.   * WRITE Multiple companion to the READ Multiple routine.
  105.   * Fastest Speed Mode.
  106.   * Ultra-fast program loading without delays or required user
  107.     intervention. (If you're getting tired of the random character
  108.     starter and prolonged registration reminder, then it is probably
  109.     time to register <grin>.)
  110.   * Postscript version of the documentation.
  111.   * Advanced technical support and continuous upgradability to all
  112.     future registered versions via our support BBS.
  113.  
  114.  
  115. ┌────────────────────────────────────────────────────────────────────┐
  116. │▒▒▒ System Requirements ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  117. └────────────────────────────────────────────────────────────────────┘
  118.  
  119. A few simple conditions must be met in order to utilize the DiskQwik
  120. device driver.
  121.  
  122. They are:
  123.  
  124.    1. Computer system MUST be either a 286, 386sx, 386dx, 486sx or
  125.       486dx (and Pentium, probably...).
  126.    2. The hard disk drive must be of the AT/IDE interface type.
  127.  
  128.  
  129. ┌────────────────────────────────────────────────────────────────────┐
  130. │▒▒▒ Preparing the Disk Drives ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  131. └────────────────────────────────────────────────────────────────────┘
  132. No special preparation or formatting of the hard disk drives is
  133. required.
  134.  
  135. If the two minimum hardware requirements are met, then proceed through
  136. the following tests to determine if the drive's microcode is up to the
  137. job:
  138.  
  139.    1. Run 4DRVUTIL.EXE (included in this zip file) on the Primary port
  140.       address, unit 0 or 1 (Master or Slave).
  141.  
  142.    2. Does 4DRVUTIL show that Multiple Sectors per Interrupt are
  143.       available?
  144.       NO: The DiskQwik driver will initial to a block size of 1. Got
  145.           to 4. 
  146.      YES: Go to 3.
  147.  
  148.    3. Does 4DRVUTIL show that the drive's buffer size is larger than
  149.       the Maximum number of Multiple Sectors per Interrupt?
  150.       NO: Stop ...maybe.  If they are the same size, then the chances
  151.           are that the drive's microcode is giving a false positive on
  152.           Multiple Sectors. Given that the drive has a finite "memory
  153.           pool" available to support both the Read/Write caching and
  154.           the drive memory requirement for the Multiple sectors, it
  155.           makes no sense that these two should be the same. If the
  156.           entire buffer were given to the task of Multiple Sector
  157.           support, the drive's performance will degrade to an all time
  158.           low! Nonetheless, you still might continue on as long as you
  159.           configure DiskQwik to a block size that is half the size, at
  160.           most, of the buffer. This happens automatically with the
  161.           shareware release, since it is hard coded to 2 Sectors Per
  162.           Block (SPB).
  163.      YES: Things are looking good. Go to 4.
  164.  
  165.    4. Run 4_SPEED.EXE (included in this zip file) on drive C: and save
  166.       the test results to a Log file for comparison later and be sure
  167.       to attach an appropriate comment to the test.  4_Speed has two
  168.       testing modes: Repeat and Sequential.  It's a good idea to run
  169.       both. (Note: 4_SPEED will quickly be picked up by drive caching
  170.       software like SmartDrive etc. Therefore, if you are seeing a
  171.       Data Transfer Rate for the drive that is higher than 3 or 4
  172.       MBytes per second, then you will need to REM out the drive cache
  173.       software in order to collect data on the drive's true unassisted
  174.       transfer rate.)  
  175.  
  176.    5. Add to your config.sys file the line DEVICE=DQWIK211.HDD, save
  177.       and reboot your computer.
  178.  
  179.    6. Did DiskQwik load OK without error?
  180.       NO: Stop.  One of the few error messages is simply "Error
  181.           setting Multiple Mode, DiskQwik NOT LOADED".  This means
  182.           that the drive's microcode is configured to reject attempts
  183.           to set the Multiple feature.  This is too bad and means that
  184.           a block size of 1 may need to be set via the command line
  185.           switches. It is important to note that this DOES NOT mean
  186.           that the drive is defective, poorly designed, or any such
  187.           implication that the drive manufacturer has failed in any
  188.           way. It merely means that the feature was never available in
  189.           the first place.  The development of Multiple Sector per
  190.           Interrupt features in various drives amongst the drive
  191.           manufacturers is still maturing. 
  192.      YES: Almost home. Go to 7. 
  193.  
  194.    7. Run 4_SPEED again on drive C: and save the test results to the
  195.       same Log file that was prepared during the first test run.
  196.  
  197.    8. Using 4_SPEED, select the "Analyze" feature, and graph the two
  198.       test runs.  This is the moment of truth.
  199.  
  200.    9. Does the graph show that there has been an increase in the
  201.       drive's Data Transfer Rate?
  202.       NO: Stop.  Oh well... @#$%!!. So close, and yet we've hit a
  203.           stopping point. At least you have the satisfaction of
  204.           knowing that through shareware, you are able to "try before
  205.           your buy," and that you have in your possession two very
  206.           fine and no-obligation-to-register Freeware utilities
  207.           (4DRVUTIL and 4_SPEED) as consolation prizes.  Thanks for
  208.           trying.  In a more serious vein, again it is very important
  209.           to recognize the points made in step number 6. In general,
  210.           the drives that seem to have the multiple capability are
  211.           usually larger than 150 MBytes and have drive buffers at
  212.           least 32 KBytes in size.
  213.      YES: How a_bout that! If everything has gone according to plan,
  214.           you should be looking at an increase in the Data Transfer
  215.           Rate of around 15%; with ONLY 2 Sectors Per Block. You can
  216.           expect to see a substantial increase in the DTR by
  217.           increasing the SPB value, which is the prime feature of the
  218.           Registered version of DiskQwik (as well as activating WRITE
  219.           MULTIPLE). Go to 10. 
  220.  
  221.   10. Next, read to the section below titled "App Notes" and pick out
  222.       the points that apply to your system setup. Please consider
  223.       registering this fine shareware product, upload the shareware
  224.       zip file to as many BBS as you can afford, and tell you friends!
  225.       Congratulations.
  226.  
  227.  
  228. ┌────────────────────────────────────────────────────────────────────┐
  229. │▒▒▒ Command Line Switches ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  230. └────────────────────────────────────────────────────────────────────┘
  231.  
  232. No Command Line Switches - DiskQwik will automatically determine the
  233.          optimum block size (beginning with a block size of 16) and
  234.          sets both READ Multiple and WRITE Multiple.  The shareware
  235.          release is restricted to a block size of 2 and READ Multiple
  236.          with writes handled by the native INT13 bios. Both drives are
  237.          included in two drive systems.  A block size of 1 is set for
  238.          older, non-multiple drives.  
  239.  
  240. F - Fast Mode.  This mode duplicates the original v1.10 algorithms.
  241.          The current v2.11 default algorithm (no speed switches on the
  242.          command line) is just a little bit more conservative and is
  243.          more compatible with other interrupt intensive applications.  
  244.  
  245. NF - No Windows 32-bit FastDisk Access. DiskQwik will, by default,
  246.          transfer control back to Windows' own disk management
  247.          software.  This is to insure that 32-bit protected mode disk
  248.          access systems can remain in place. The 'NF' switch
  249.          specifically tells DiskQwik to stay loaded and operate within
  250.          Windows because the user knows that 32-bit disk access is NOT
  251.          set.  See the section in App Notes for further discussion on
  252.          this topic.  
  253.  
  254. Example: DISKQWIK NF F
  255.          Registered means: block size of 16 for units 0 and 1 with
  256.                     READ and WRITE MULTIPLE enabled. 
  257.          Shareware means: block size of 2 for units 0 and 1 with READ
  258.                     MULTIPLE enabled.  
  259.          Both versions: Block size of 1 if the drive does not support
  260.                     multiple mode.  The "Fast" speed mode is enabled. 
  261.                     The Windows 'NF' No FastDisk switch tells DiskQwik
  262.                     to remain active because Fastdisk 32-bit disk
  263.                     access in Windows is disabled.  
  264.  
  265. The Registered version switches can be set up in the CONFIG.SYS file
  266. after the complete driver name and should be separated by spaces for
  267. clarity.  The following command line switches have been put into place
  268. for the Registered version: 
  269.  
  270. +      - "plus" symbol. This activates the Fastest possible speed
  271.          algorithms.  
  272.  
  273. P      - Pause the progress of the config.sys after loading DiskQwik. 
  274.          Press C to continue.  This is handy when confirming the
  275.          status of the driver.  
  276.  
  277. The following switches are generally not required because the driver
  278. auto-detects the settings.  However, you have complete manual control
  279. of the initialization parameters with these switches: 
  280.  
  281. B(?)xx - Block Size of xx for Unit ?. Where (?) is replaced by either
  282.          0 or 1 and xx is replaced by a value (typically an even
  283.          number) indicating the number of Sectors Per Block (SPB).
  284.          The SPB value cannot exceed the maximum number of sectors per
  285.          interrupt defined in the drive's own microcode. Any use of
  286.          the 'B' switch will deactivate the auto-detect and set
  287.          routines.  
  288.  
  289. RM(?) - Activate READ MULTIPLE for unit ?= 0 or 1.
  290. WM(?) - Activate WRITE MULTIPLE for unit ?= 0 or 1. (Registered only)
  291.         When setting the parameters manually, you need to build up the
  292.         switches to the level of support desired.  If a drive is not
  293.         included in the switches, it is not supported by the driver. 
  294.         If either READ or WRITE switches are omitted, that function is
  295.         handled by the native INT13 bios. 
  296.  
  297. -     - "minus" symbol.  After DiskQwik has been loaded, the "minus"
  298.         symbol can be used to turn off an active mode.  For example,
  299.         if the program had been loaded with RM0 WM0, running DISKQWIK
  300.         WM0- will turn off the write multiple rountines. (this option
  301.         requires that DQWIK211.HDD be renamed to DQWIK211.EXE). 
  302.  
  303. Example: DQWIK231.HDD B016 RM0 WM0 B132 RM1 + P
  304.          means: block size of 16 for unit 0 with READ and WRITE
  305.                 MULTIPLE, block size of 32 for unit 1 with READ
  306.                 MULTIPLE only, fastest possible speed mode, with a
  307.                 "Press C to Continue" pause after loading. 
  308.  
  309. CONFIRMATION of Device options:
  310. Visual confirmation of the I/O option combinations will be indicated
  311. by the COLOR of the "led" indicator on the DiskQwik banner screen drive
  312. icon....
  313.  
  314.       ┌────────────────┐
  315.       │     32 SPB     │
  316.       │ ≡*≡≡≡≡≡≡≡≡≡≡≡≡ │
  317.       └──^─────────────┘
  318.          |
  319.          |
  320. RM(?) & WM(?) - will be denoted by a RED * (led) indicator for the
  321.          drive selected.
  322.  
  323. RM(?)  - will be denoted by a BLUE * (led) indicator for the drive
  324.          selected. (This is the default color you should see with the
  325.          shareware version of DiskQwik.)
  326.  
  327. WM(?)  - will be denoted by a YELLOW * (led) indicator for the drive
  328.          selected.
  329.  
  330. F      - The colored * is replaced by an ascii character ƒ.
  331.  
  332. +      - The colored * is replaced by a '+' symbol.
  333.  
  334. P      - The "Press c to continue", message will be displayed in the
  335.          bottom left corner of the yellow text box and the 'c' key
  336.          must be pressed before the driver's init code is terminated.
  337.  
  338. ┌────────────────────────────────────────────────────────────────────┐
  339. │▒▒▒ Background ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  340. └────────────────────────────────────────────────────────────────────┘
  341.  
  342. MULTIPLE SECTOR Block Transfer Mode has its origins in the ESDI hard
  343. disk drive interface.  Just prior to the development of the AT/IDE
  344. interface, the ESDI controllers were about ready to institute this
  345. very interesting ability.  Similar to the IDE inquiry command, ESDI
  346. drives will report 512 bytes of information about themselves where
  347. word 47 is a yes/no variable about Multiple Sector capability.  If the
  348. byte is "yes" then the following bytes will tell how many maximum
  349. sectors per interrupt may be used.  In fact, 4DRVUTIL, and other IDE
  350. inquiry utilities, will easily receive this information from the ESDI
  351. drive controllers.
  352.  
  353. The rapid pace of hard drive technology, however, has since made the
  354. ESDI interface obsolete.  This is lamentable from the standpoint that
  355. the interface has a sterling reputation for quality and the drives for
  356. ruggedness.  ESDI drives were typically large capacity units (of the
  357. time) that found homes in file servers and other environments that
  358. demanded critical performance from their drives.  Most network
  359. managers will speak highly of the interface.
  360.  
  361. Drive manufacturers soon found that the cost per megabyte could be
  362. drastically reduced by building the controllers directly onto the
  363. drive.  This concept holds true for the AT/IDE interface (as well as
  364. SCSI, but that's a whole different ball game).  This integrated
  365. controller also allowed the drive manufacturers to use Zone Bit
  366. Recording methods (variable sectors per track) and drive geometry
  367. translation schemes to exceed the DOS limitation of 1024 cylinders
  368. max.  By building RAM buffers into the drives we finally begin to
  369. reach the point in hard drive technology where MULTIPLE SECTOR Block
  370. Transfer Mode begins to be a reality.
  371.  
  372. A discussion about the microcode which manages the drive RAM buffer is
  373. worthwhile.  Just like the RAM memory in our systems, the RAM buffers
  374. on an AT/IDE drive should be thought of as a "memory pool". Today's
  375. modern drives have buffers that range from simple to sophisticated. The
  376. simplest buffer schemes employ basic Read Look Ahead techniques that
  377. operate on the assumption that the next data you will request will be
  378. contiguously after the data you just got.
  379.  
  380. These Look Ahead buffers generally are FIFO types (first in, first
  381. out) that either read a pre defined number of sectors, or read through
  382. to the end of the physical cylinder.  It is easy to imagine that the
  383. transfer rate and speed of the data delivery to the host system is
  384. greatly increased when it is dumped from RAM to RAM (nanoseconds)
  385. instead of physically picking it up off of the drive (milliseconds).
  386.  
  387. The early AT/IDE drives had buffers of only 2 to 8 KiloBytes.  In
  388. terms of sectors, that is 4 to 16 (2 512 byte sectors equal 1
  389. KiloByte). This is enough to Read Ahead the rest of a track of a 17
  390. sector per track drive (typical of the day).  Reading Ahead to the end
  391. of the cylinder requires a much larger amount of memory.  Also, basic
  392. competition amongst the drive manufacturers to be faster "than the
  393. other guy" has caused the buffer sizes to increase.  Other factors
  394. like spindle speeds, recording densities, and access times combine
  395. together to be part of the overall improvements that have increased
  396. drive performance.
  397.  
  398. When the RAM buffer reaches a certain point in size, either the Read
  399. Look Ahead must cross a physical cylinder boundary or something else
  400. more desirable; this moves us into Segmented Buffers.  From here we
  401. see Adaptive Segmented Buffers, and so on.  A typical modern drive may
  402. describe its buffer as Read Look Ahead Multi-Segmented Adaptive,
  403. combining all types.
  404.  
  405. Write caching is the current newcomer to drive buffer techniques.
  406. These are interesting in that the drive reports that a write has
  407. completed as soon as the data arrives in the buffer, thereby freeing
  408. up the interrupt hold on the CPU, allowing it to move on to more
  409. processing. Then the drive, under its own control, attends to laying
  410. down the data on the spinning magnetic media.  This happens very
  411. quickly and does not carry with it the same negative implications that
  412. some report about write caching software.
  413.  
  414. The balance between RAM allotted to write cache and read cache is
  415. usually preset to around 40/60 and may someday actually dynamically
  416. adjust to true system usage.  You can begin to see that these models
  417. employ sophisticated microcode and algorithms working with a memory
  418. pool which is subdivided into various areas.  The size of this total
  419. buffer memory is climbing continuously, with state-of-the-art models
  420. offering 1 megabyte of RAM. (Why do I get the feeling that this will
  421. be old news in a few months.... <grin>?)
  422.  
  423. So, what about MULTIPLE SECTOR Block Transfer?  Simple, really...
  424. whatever Block Size is set, is deducted from the memory pool.  For
  425. example, if a 32 sector block is set, then 16 KiloBytes of RAM are
  426. removed from the Read/Write caching on the drive.  While this sounds
  427. like a setback, an actual increase in the Data Transfer Rate results
  428. from the way this can interact with DOS.
  429.  
  430. ┌────────────────────────────────────────────────────────────────────┐
  431. │▒▒▒ Outline ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  432. └────────────────────────────────────────────────────────────────────┘
  433.  
  434. Fortunately for all of us, the convenience of personal computers is
  435. due, in large part, to the simplification of the User Interface.  We
  436. have the advantage today, over the early pioneers, of being able to
  437. simply sit down and create within our applications.  We "suspect" that
  438. low level hardware operations are taking place as we work, because the
  439. equipment tends to respond to our commands.   We see the hard drive
  440. activity light flicker when we open and close our files.  This is as
  441. it should be for the popular acceptance of personal computers in our
  442. society.  User Interfaces have become friendlier each day, and will
  443. continue to do so.  We can all look forward to the near future when
  444. systems interact with more than just our fingers.
  445.  
  446. In some respects, interface is synonymous with translator.  As we work
  447. within our high level applications, layers of translations are taking
  448. place to convert our commands into machine language.  We enjoy the
  449. benefit of not needing to know how these clever manipulations are done
  450. and can count ourselves lucky in the process.  A typical read
  451. translation sequence might be as follows:
  452.  
  453. 1.  Application Command Open File
  454.  
  455.      This level has its own layers of simplification, but roughly
  456.      boils down to the fact that as a programmer's source code is
  457.      prepared for use, a compiler translates the file handling
  458.      components into the standard DOS level software interrupts,
  459.      notably Interrupt 21.
  460.  
  461. source code:   assign DataFile the name mydata.dat
  462.                open (DataFile)
  463.                read (DataFile, DataWeNeed)  : Int 21, Fn 3Fh
  464.                                               so many sectors...
  465.                close (DataFile)
  466.                use (DataWeNeed)
  467.  
  468.      These DOS interrupts provide even the programmer with the ability
  469.      of being able to avoid low level interaction with the system and
  470.      allows an application to operate on many types of machines.  Once
  471.      an application issues a DOS file command, the programmer can
  472.      count on a trustworthy sequence of events and can just let it
  473.      happen while waiting for a confirmation of success from the
  474.      operating system. (Some say that a REAL programmer always begins
  475.      with COPY CON PROGRAM.EXE <groan>.)
  476.  
  477. 2.  DOS File Allocation Table (FAT)
  478.  
  479.      The resident portion of our operating system, that part which
  480.      always stays in memory, is triggered into action by the DOS read
  481.      file interrupt.  The first order of business is to determine if
  482.      the file already exists, and if it does... where?  The DOS file
  483.      directories are used to make this determination and give the
  484.      operating system a starting point.  DOS uses a method of ordering
  485.      our data into clusters, or groups of sectors, that begins with
  486.      zero and numbers on up to the end of a drive's partition. This
  487.      might be thought of as a kind of linear, two dimensional map and
  488.      is sometimes call logical block address.
  489.  
  490.      Since most files are larger than a single cluster, the location
  491.      of the next cluster after the start is required.  This location
  492.      of the next portion of the file is determined by inspecting the
  493.      File Allocation Table.  This table tells DOS the logical
  494.      whereabouts of the next data; which does not necessarily
  495.      contiguously follow the location of the last data. With DOS
  496.      reading the data into memory as it goes along, these steps are
  497.      repeated until the end of the file is reached.  The link from
  498.      location to location create a virtual chain of connections that
  499.      insure that data is not lost.
  500.  
  501. 3.  DOS Kernel Resident Block Device Driver
  502.  
  503.      To this point the data is logically ordered in the two
  504.      dimensional manner described above. Yet, we need to translate
  505.      this into a specifically located sector on the drive, itself.
  506.      Disk drives order their data by Cylinders, Heads and Sectors
  507.      which is a kind of spacial three dimensional coordinate.  The
  508.      transition from the logical linear location to the physical
  509.      spacial location is the job of DOS's own Resident Block Device
  510.      Driver (Block a.k.a Disk).  This requires a straight forward
  511.      calculation whose result depends on the individual geometry of
  512.      the drive being accessed; this geometry is stored in the Boot
  513.      Records and things called Bios Parameter Blocks and is read into
  514.      memory when the operating system loads.
  515.  
  516.      If an imaginary drive had 10 sectors per track, 10 heads, and 10
  517.      cylinders, the drive would have a total of 1000 sectors. If we
  518.      were to count up through the sectors, the Heads digit (10's)
  519.      would increment after the ninth sector and the Cylinders digit
  520.      (100's) would increment after the ninth head.  With this model,
  521.      it is easy to see the relationship between the logical and
  522.      physical locations.  For example, the 123rd logical sector might
  523.      physically be located at Cyl=1, Hd=2 and Sect=3.  Aside from the
  524.      fact that DOS doesn't recognize a zero in the sectors digit, this
  525.      is the oversimplified way things are.  Disk drives, however, come
  526.      in many different capacities and make calculating a physical
  527.      location more interesting.  A drive with 17 Sectors per track, 6
  528.      Heads and 820 Cylinders would find the 123rd sector at Cyl=1,
  529.      Hd=1 and Sect=3 (right?).
  530.  
  531. 4.  Interrupt 13 Call
  532.  
  533.      Fun and games aside, the DOS Block Device Driver then builds a
  534.      hardware interrupt command that says something like "unit 0, at
  535.      cylinder 1, head 1, sector 4... read it."  Things start to look
  536.      just like assembly language programming at this point:
  537.  
  538.      mov ah, 02h   ; read function
  539.      mov al, 1     ; number of sectors
  540.      mov ch, 1     ; cylinder number
  541.      mov cl, 4     ; sector number
  542.      mov dh, 1     ; head number
  543.      mov dl, 0     ; unit number
  544.      int 13        ; disk interrupt
  545.  
  546.      Believe it or not, the fact is we still are looking at a language
  547.      designed to provide a user friendly interface, really.  Many
  548.      programmers actually write their programs at this level because
  549.      the finished and compiled  code ends up being smaller and faster
  550.      than the code produced by higher level programming languages like
  551.      Basic, Pascal and C.
  552.  
  553. 5.  AT BIOS Port Address Command
  554.  
  555.      Interrupt 13 Function 02h is a program, too, in a way. Its
  556.      routines are provided on a chip we all have someplace in our
  557.      system, called a BIOS (Basic Input Output Services).  When we
  558.      power on the computer the contents of the BIOS are stored in
  559.      memory and everything we do flows through these routines.  All
  560.      the hardware components of the computer - video, disk, keyboard,
  561.      etc. - have complicated little routines which handle
  562.      communicating with the hardware device.
  563.  
  564.      Repetition is the name of the game at this level.  In the case of
  565.      our read a file example, every involved sector is seeked to
  566.      (sought?), read from and checked out for success, individually.
  567.      What is simplified for convenience as Int 13 Fn 02h ends up being
  568.      a near endless stream of machine language Port Address commands.
  569.      Hard disk drives have a specific port address at 1F0h for the
  570.      Primary port address and 170h for the Secondary port address.
  571.      While Int 13 serves both hard and floppy disk drives, the port
  572.      addresses for these two different types of drives are split apart
  573.      and managed by separate BIOS routines.
  574.  
  575. 6.  Enter DiskQwik
  576.  
  577.      We've finally reached the level where it is time to consider how
  578.      DiskQwik figures into the scheme of things.  First, it is
  579.      important to look at the challenge faced by the BIOS programmer.
  580.      The hard disk drive to be used in the computer system will be one
  581.      of many hundreds of types across several interfaces that range
  582.      from old to new, all needing to be supported by the one BIOS
  583.      routine.  Given this obligation, the routines that are written
  584.      are understandably generic with the same code that runs our older
  585.      MFM drive also running our new AT/IDE drive.  The need for
  586.      general compatibility creates a situation where the special
  587.      enhancements of the modern AT/IDE disk drive are left
  588.      unsupported.
  589.  
  590.      The phrase "Multiple Sectors Per Interrupt" correctly implies the
  591.      notion that normally we have only one sector per interrupt. This
  592.      is the case with the standard BIOS service and is the default
  593.      start up configuration of the drive.  The following diagram shows
  594.      that a large amount of time is spent in overhead checking the
  595.      interrupt after every sector read from the port:
  596.  
  597.      Interrupt Confirmation (overhead)
  598.      │
  599.     ┌i┐   ┌i┐   ┌i┐   ┌i┐   ┌i┐   ┌i┐   ┌i┐   ┌i┐   ┌i┐   ┌i┐   ┌i┐
  600.  s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s─
  601.  │
  602.  Sector Read
  603.  
  604.  
  605.      With Multiple Sector Block Transfer Mode enabled on the drive,
  606.      block size equals to 8, a flow of data like this results:
  607.  
  608.                                  Interrupt Confirmation (overhead)
  609.                                  │
  610.                                 ┌i┐                               ┌i┐
  611.  s───s───s───s───s───s───s───s──┘ └s───s───s───s───s───s───s───s──┘ └
  612.  │
  613.  Sector Read
  614.  
  615.      A new routine is required to pass this type of data flow back to
  616.      DOS; software of this type is called an Interrupt Service Routine
  617.      (ISR). DiskQwik is an ISR replacement for the native BIOS Int 13
  618.      read and/or write hard disk drive service routines.  DiskQwik
  619.      resides in memory, monitoring all Int 13 requests.  When a Read
  620.      and/or Write request comes along, it intercepts the command and
  621.      manages it directly, "hand carrying" it through to the
  622.      port addresses, and the drive.
  623.  
  624.      The turn around time on the delivery of the data is significantly
  625.      improved because much of the overhead from the interrupt
  626.      confirmations has been eliminated. This causes the Data Transfer
  627.      Rate to increase significantly.  DiskQwik is loaded as a device
  628.      driver through the Configure System CONFIG.SYS file.  Since
  629.      DiskQwik operates at such a low level, it remains compatible with
  630.      virtually all applications.  A few noteworthy exceptions do exist
  631.      and are noted in the App Notes section, below.
  632.  
  633. ┌────────────────────────────────────────────────────────────────────┐
  634. │▒▒▒ App Notes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  635. └────────────────────────────────────────────────────────────────────┘
  636.  
  637. Some Application Notes:
  638.  
  639.  1.  We've seen a few programs which provide an interesting "public
  640.      safety" feature, namely that they block attempts to  write to
  641.      track 0 (i.e. cylinder 0, head 0).  The purpose is to provide a
  642.      layer of defense against boot sector viruses. Since this is such
  643.      a good idea, we decided to join in and provide the same
  644.      protection.  After all, our device driver is custom tailored to
  645.      reading and writing to the hard disk drive and this capability
  646.      only added a byte or two of additional code. DiskQwik provides
  647.      this general safety precaution because no legitimate applications
  648.      have any business, whatsoever, writing changes to sectors on this
  649.      track without your knowledge.
  650.  
  651.      Reading data on track 0 is allowed, however writing to track 0
  652.      will produce a write protect error.  If you need to modify data
  653.      on these "hidden" sectors, then you will need to REM out the
  654.      device=dqwik211.hdd statement in the config.sys, and reboot.
  655.  
  656.  2.  Drive compression software programs like DoubleSpace and Stacker
  657.      work perfectly well with DiskQwik. 
  658.  
  659.  3.  Concerning drive caching software: SmartDrive works because it
  660.      creates phantom block devices for each of the drives being cached
  661.      and operates in the DOS interrupt arena.  INT13 style cache
  662.      programs like HyperDisk and PCKwik also work well and need to be
  663.      loaded after DiskQwik. 
  664.  
  665.  4.  Concerning Windows Swap Files: Most modern systems with IDE
  666.      drives prefer to operate with 32-bit Disk Access enabled, in less
  667.      efficient 1 sector blocks (aka Windows "FastDisk").  This allows
  668.      the system to stay engaged in the Protected memory mode.  With
  669.      regards to Swap Files, a permanent swap file locks itself into an
  670.      area on the drive and never moves, and since it never moves, DOS
  671.      and FAT updates are no longer required. A permanent swap file,
  672.      with 32-bit single sector disk access enabled, is read and
  673.      written with direct port access, bypassing the Real mode 16-bit
  674.      Interrupt 13, and cannot handle multiple sector mode block
  675.      transfers.  
  676.  
  677.      By default without the 'NF' switch, DiskQwik will cooperate and
  678.      give disk control back to Windows.  This is because DiskQwik is a
  679.      16-bit device driver.  Windows, with 32-bit disk access enabled,
  680.      should refuse to load if it sees a port/Int13 interrupt service
  681.      routine, like DiskQwik.  
  682.  
  683.      DiskQwik will remain active in Windows with the 'NF' No FastDisk
  684.      switch and can be used with either a Temporary swap file or a
  685.      Permanent swap file (through BIOS, i.e. Int13).  
  686.  
  687.      We'd like to point out that the net gain in data transfer rate,
  688.      while in Windows, from using multiple sector block transfer mode
  689.      access to a Permanent swap file (through BIOS) far exceeds the
  690.      gain of using to a permanent swap file with 32-bit single-sector
  691.      disk access .  
  692.  
  693.                    Windows Swap File Methods
  694.  
  695.         Temporary      Permanent         Permanent
  696.           (FAT)          (BIOS)      (32-bit disk access)
  697.             │              │                 │
  698.             │        ┌─────┘           ┌─────┘
  699.         DOS Ints.    │ DOS Ints.       │ DOS Ints.
  700.             │        └─────┐           │
  701.             │              │           │
  702.         DiskQwik       DiskQwik        │ DiskQwik
  703.             │              │           │
  704.       ┌─────┘        ┌─────┘           │
  705.       │ BIOS Int13   │ BIOS Int13      │ BIOS Int13
  706.       └─────┐        └─────┐           └─────┐
  707.             │              │                 │
  708.         HDD Ports      HDD Ports         HDD Ports
  709.  
  710.      Dustbowl Designs is committed to producing a true 32-bit
  711.      protected mode Windows Multiple Sector Block Mode driver.  We
  712.      expect to release this as a separate Windows product in September
  713.      '94.  
  714.  
  715.  5.  DOS version levels and OEM versions of DOS work because they all
  716.      follow the same standards accessing Int13.
  717.  
  718.  6.  When determining the value for Sectors Per Block (SPB) in the
  719.      registered version, it is worth noting that the rate of change in
  720.      the Data Transfer Rate tends to level out around 16 sectors per
  721.      block. Even if your drive says it can handle a higher amount,
  722.      you'll probably find the increase is fairly small and not really
  723.      worth it, considering the RAM requirement is removed from the
  724.      drive's buffer memory pool (i.e. read/write caching on the
  725.      drive).
  726.  
  727.  7.  The Sector Per Block value can be odd or even values, however
  728.      setting values to  2, 4, 8, 16, or 32 seem to make better sense
  729.      as they are more adapted to the math routines involved.
  730.  
  731.  8.  File defragmentation and optimization utilities will generally
  732.      work well with DiskQwik, however it is a good practice to
  733.      simplify one's system before running this type of utility by
  734.      disabling programs like drive caching software and DiskQwik.
  735.      Always make sure you have a current backup before optimizing a
  736.      hard disk drive.
  737.  
  738.  9.  DiskQwik can be moved into upper memory with the DEVICEHIGH
  739.      command in the CONFIG.SYS file.  
  740.  
  741. ┌────────────────────────────────────────────────────────────────────┐
  742. │▒▒▒ Error Messages ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  743. └────────────────────────────────────────────────────────────────────┘
  744.  
  745. The device driver may display a single of error message during the
  746. loading process of the CONFIG.SYS file.  It is "Error Loading
  747. DiskQwik".
  748.  
  749. ┌────────────────────────────────────────────────────────────────────┐
  750. │▒▒▒ Legal Disclaimer ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  751. └────────────────────────────────────────────────────────────────────┘
  752.  
  753.                           LICENSE AGREEMENT
  754.  
  755. DiskQwik, 4_Drive Utilities, 4_Speed All versions.
  756.  
  757. Dustbowl Designs, Inc. provides  the accompanying object code software
  758. ("Software")  and nonexclusively  licenses  its  use on  the following
  759. terms and conditions. The Software is copyrighted by Dustbowl Designs,
  760. Inc. with all rights reserved.  
  761.  
  762. YOU ASSUME FULL RESPONSIBILITY FOR THE SELECTION OF THE  SOFTWARE TO
  763. ACHIEVE YOUR INTENDED  PURPOSES, FOR THE PROPER INSTALLATION  AND USE.
  764. Dustbowl Designs,  Inc. DOES NOT WARRANT THAT THE  SOFTWARE WILL MEET 
  765. YOUR REQUIREMENTS, THAT  THE SOFTWARE IS FIT FOR ANY PARTICULAR
  766. PURPOSE OR THAT THE USE OF THE SOFTWARE WILL BE ERROR FREE. Dustbowl
  767. Designs, Inc. EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER  ORAL  OR 
  768. WRITTEN,  EXPRESSED  OR  IMPLIED, INCLUDING WITHOUT LIMITATION
  769. WARRANTIES  OF MERCHANTABILITY OR FITNESS  FOR A PARTICULAR PURPOSE.
  770. IN  NO EVENT WILL  Dustbowl Designs, Inc.  BE LIABLE TO  YOU, YOUR 
  771. CUSTOMERS   OR  OTHER  USERS   FOR  ANY  INDIRECT,   INCIDENTAL,
  772. CONSEQUENTIAL,  SPECIAL  OR  EXEMPLARY  DAMAGES  ARISING  OUT OF OR IN
  773. CONNECTION WITH THE USE OR INABILITY TO USE THE SOFTWARE. 
  774.  
  775. DiskQwik is a trademark of Dustbowl  Designs, Inc. The DiskQwik
  776. software and documentation are Copyright 1993-1994 by Dustbowl Designs
  777. with all rights reserved. The Registered DiskQwik v1.2 and v2.3 
  778. software programs ARE NOT shareware or freeware and unauthorized
  779. redistribution is STRICTLY PROHIBITED.  
  780.  
  781. End of License agreement.
  782.  
  783. *****************************************************************
  784.  
  785. ┌────────────────────────────────────────────────────────────────────┐
  786. │▒▒▒ Revision History ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  787. └────────────────────────────────────────────────────────────────────┘
  788.  
  789. v1.10   08/93 - public release of DiskQwik SHAREWARE v1.1.
  790. v1.20   08/93 - public release of DiskQwik REGISTERED v1.2.
  791. v2.10   07/94 - public release of DiskQwik SHAREWARE v2.1. Support added for
  792.                 the second hard drive in the shareware version.  New speed
  793.                 modes added.  Now non-multiple capable drives can be set to a
  794.                 block size of 1 for an improvement over the native INT13. 
  795.                 Registration reminder delay shortened.
  796. v2.11   08/94 - public release of DiskQwik SHAREWARE v2.11. Quick bug fix to
  797.                 solve an obscure problem with other INT13 ISR's.  Since less
  798.                 than 20 copies of v2.10 were downloaded, v2.11 assumes the
  799.                 role of main release.
  800. v2.30   07/94 - public release of DiskQwik REGISTERED v2.3.
  801. v2.31   08/94 - public release of DiskQwik REGISTERED v2.31. Same fix that 
  802.                 applied to v2.11.
  803.  
  804. Contents of the DiskQwik Distribution Set. DQWIK211.ZIP (DQWIK.ZIP on
  805. CompuServe (tm) go IBMHW forum Lib 1)
  806.  
  807. DQWIK211.HDD    Device driver file. Compiled 08-04-94 02:11:00.
  808. DISKQWIK.DOC    Documentation file with installation instructions.
  809. 4DRVUTIL.EXE    An AT/IDE Identify Drive inquiry utility that shows
  810.                 which 3_Drive/4_Drive and DiskQwik command line
  811.                 switches work best. Designed to work on both Primary
  812.                 and Secondary Port Addresses. Freeware.
  813. 4DRVUTIL.DOC    Auxiliary documentation.
  814. 4_SPEED.EXE     Our Data Transfer Rate Test utility. Freeware.
  815. 4_SPEED.DOC     Auxiliary documentation.
  816. DBOWLDEM.EXE    Simple demo that gives a look at registered
  817.                 4_Drives v3.01 and 4_Park v1.1, and our new DiskQwik
  818.                 programs.
  819. TST-40MB.PCX    Graphics picture files showing Data Transfer Rates with
  820. TST500MB.PCX    various command line options. Test and graphics file
  821.                 created by our new Freeware 4_Speed Data Transfer Rate Test
  822.                 utility. 
  823. ORDERDQ.FRM     Mail-in registration form
  824. READMEDQ.TXT    User shareware policy
  825. VENDORDQ.DOC    Shareware vendor's distribution policy
  826.  
  827.  
  828. ┌────────────────────────────────────────────────────────────────────┐
  829. │▒▒▒ Other Dustbowl Designs Software ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  830. └────────────────────────────────────────────────────────────────────┘
  831. 3_Drives v2.8: Universal Device Driver that allows you to add a 2nd
  832. 16-bit Hard Disk Drive Interface to your DOS AT (286+) system.
  833. Shareware now includes READ FAST routines. Add up to two more MFM,
  834. RLL, ESDI, IDE AT Interface drives for a total of THREE drives.
  835. Windows compatible. Fully functional. Registration info on our
  836. 4_Drives version. Replaces v2.6. Req: 286+CPU. Dustbowl Designs, Inc.
  837. (Date 7/94)    -AV 
  838.  
  839. C_Prime v1.10 - Duplex/Mirror utility for DOS based systems using
  840. AT-IDE disk drives. Data is written to two drives creating a "real
  841. time" backup (RAID-1 level style fault tolerance). Disk compression
  842. software compatible.  IDE block modes supported. Lite and Pro
  843. registered versions avail.  Req: 286+CPU, Dustbowl Designs, Inc. 
  844. (Date 7/94)    -AV 
  845.  
  846. *****************************************************************
  847. Dustbowl Designs, Inc.          |
  848. 12600 S.E. 38th Street          |
  849. Choctaw, Oklahoma  73020-6107   |
  850. U.S.A.                          | CIS: 71062,2542
  851.  
  852. phone:
  853. (405) 741-4705 VOX (ordering, tech support, general information)
  854. (405) 741-3913 FAX (preferred for tech support)
  855. (405) 741-2721 BBS (9600 HST/v.everything) Tech Support, Hard disk
  856.                drive shareware, drive specs, Online Shareware
  857.                Registration/Download for VISA or MasterCard orders!
  858.  
  859.     NAME : ___________________________________Password:_________________
  860.  
  861.  ADDRESS : _____________________________________________________________
  862.  
  863.            ___________________________________________ ZIP :____________
  864.  
  865. TELEPHONE: ___________________________________________ (Day & Night)
  866.  
  867. COMMENTS : _____________________________________________________________
  868.  
  869.            _____________________________________________________________
  870.  
  871.            ___________________________________________________________
  872.  
  873.      Qty    Description                            Each       Total
  874.  
  875.      ____   Special Upgrade for Registered users    $0.00    THANKS!!
  876.             to v2.31 DiskQwik
  877.  
  878.      ____   DiskQwik v2.31  Registration            $25.00     ________
  879.  
  880.                                                      Subtotal ________
  881.  
  882.   (Oklahoma residents add 6.5% sales tax)                 Tax ________
  883.  
  884. U.S. diskette orders add $3 shipping & handling, Foreign diskette
  885. orders add $5 U.S. shipping. This also applies to Special Upgrade for
  886. Registered users (If you want to download from our BBS put $0.00
  887. dollars for shipping and write the password you'll be using next to
  888. your name above.  Allow 7 days for Postal transit.)
  889.                                                       Shipping ________
  890.  
  891. DATE : ______________________________
  892.                                                        TOTAL $________
  893. PAYMENT:
  894.  [ ] Visa/MasterCard  [ ] Check (number ____________)
  895.        (see below)       (make checks payable to Dustbowl Designs, Inc.)
  896.  
  897.  [ ] Cash US$         [ ] US$ Money Order (No foreign  currency)
  898.  
  899. Total amount enclosed or authorized: $________________
  900.  
  901. _______________________________________________________________________
  902. If Payment by Visa or MasterCard:
  903.  
  904. We can only accept Visa or MasterCards (no American Express, please.)
  905. We will need the following information:
  906.  
  907. Credit card number: ______________________________________________________
  908.  
  909. Expiration date: _________________________________________________________
  910.  
  911. Bank the card's drawn on: ________________________________________________
  912.  
  913. The name as it appears on the card: ______________________________________
  914.  
  915. The signature of its owner authorizing us
  916. to debit it for the amount indicated above: ______________________________
  917.  
  918. _______________________________________________________________________
  919.  
  920.  THE FOLLOWING INFORMATION IS REQUIRED FOR REGISTRATION:
  921.  
  922.  HARD DISK  #1 MAKE ____________________MODEL_________________SIZE________
  923.  
  924.  HARD DISK  #2 MAKE ____________________MODEL_________________SIZE________
  925.  
  926.  CONTROLLER #1 MAKE_____________________MODEL_________________
  927.  
  928.  
  929.  COMPUTER   286 ( )   386 ( )  486 ( )      OTHER ( ) ______________________
  930.              SX ( )    DX ( )  DX2 ( )  OverDrive ( )
  931.  
  932.  OPERATING SYSTEM / DOS VERSION ___________________
  933.  
  934.  VIDEO CARD  Standard VGA ( )  Super VGA ( )  Coproccessed/Accelerator  ( )
  935.  
  936.  MOUSE      YES ( )  NO ( )
  937.  
  938.  JOYSTICK   YES ( )  NO ( )
  939.  
  940.  MEMORY     640 ( )  1 meg ( )   2 meg ( )   4 meg ( )  more ( ) ______
  941.  
  942.  MODEM      YES ( )  NO ( )  .... BAUD RATE ___________________________
  943.  
  944.  HOW DID YOU ACQUIRE THIS PROGRAM: bbs name &#__________________________
  945.  
  946. Fold the pages at the break below with print facing out.  Fold letter style
  947. with mailing address exposed.  Tape/staple edges, enclosing payment.
  948.  
  949.  
  950. ___________________________                                          .-----.
  951.                                                                      |Place|
  952. ___________________________                                          |Stamp|
  953.                                                                      |Here |
  954. ___________________________                                          `-----'
  955.  
  956.  
  957.  
  958.                                      Dustbowl Designs, Inc.
  959.                                      12600 S.E. 38th Street
  960.                                      Choctaw, OK    73020-6107
  961.                                      U.S.A.
  962. DiskQwik v2.11
  963.  
  964. -=EOF: DISKQWIK.DOC=-
  965.