home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / print / ljvga200.zip / LJVGA.TXT < prev    next >
Text File  |  1993-06-28  |  62KB  |  1,599 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. LJVGA:  VGA Print Screen Utility
  13.  
  14. Version 2.00
  15.  
  16. Copyright  1991-1993 Ares Technologies.  All Rights Reserved.
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. This document was produced in Microsoft Word for Windows 2.0 and
  43. typeset on an HP LaserJet III.
  44.  
  45.  
  46. We use only high-quality Maxell brand diskettes.
  47.  
  48.  
  49. VGA is a trademark of International Business Machines
  50. Corporation.
  51. Hewlett-Packard, HP, and HP LaserJet are registered trademarks of
  52. Hewlett-Packard Corporation.
  53. Microsoft, Windows, and Word for Windows are registered
  54. trademarks of Microsoft Corporation.
  55. Maxell is a registered trademark of Maxell Corporation.
  56. All other trade names mentioned in this document are the property
  57. of their respective holders.
  58.  
  59. INTRODUCTION
  60.  
  61. LJVGA is Terminate-and-Stay-Resident (TSR) program that allows
  62. you to print any VGA or Super VGA screen to an HP Laserjet or
  63. compatible printer.  With a memory overhead of only 9k minimum,
  64. you can print anything you can display on your VGA card -
  65. graphics, text, even hi-res text and 256-color screens!
  66.  
  67. LJVGA is simple to use.  Just run the command LJVGA, and you're
  68. ready to print anything!  Hitting the Print Screen key (PrtSc)
  69. will activate LJVGA, causing it to print your current screen to
  70. the printer.  Text screens print just like they look, with lines
  71. and other special characters you don't usually get.  Graphics
  72. screens are automatically scaled to the resolution and page you
  73. choose.
  74.  
  75. There are no special tricks to remember, no special hot-keys to
  76. memorize.  LJVGA does not interfere with the way you normally
  77. work, it simply waits in memory until you hit the Print Screen
  78. key.  Nothing could be simpler!
  79.  
  80.  
  81. FEATURES
  82.  
  83. LJVGA is without a doubt the best value available in print screen
  84. software.  The small memory requirements provide you with
  85. tremendous power and flexibility.  Just look at the options you
  86. get!
  87.  
  88.    + Fast printing of any screen, graphics or text, at any
  89.      resolution, in any orientation,
  90.  
  91.    + Support for the new HP LaserJet 4,
  92.  
  93.    + 7 varieties of dithers, contrast and brightness controls,
  94.      and more for unprecedented image control,
  95.  
  96.    + Robust printer control including 4 orientation printing,
  97.      support for multiple page sizes, and more,
  98.  
  99.    + Intelligent screen support, including the ability to print
  100.      any user-defined rectangular area,
  101.  
  102.    + Advanced algorithms for page-fill and image aspect
  103.      correction,
  104.  
  105.    + Color plane control for printing color separations,
  106.  
  107.    + Load into UMB's to save precious memory,
  108.  
  109.    + Complete TSR control - enable, disable, enable, and more,
  110.  
  111.    + And much, much more!
  112.  
  113.  
  114. WHAT'S NEW?
  115.  
  116. LJVGA has been completely rewritten for this release.  The result
  117. is a program that is leaner, faster, and much more capable!  If
  118. you have used LJVGA before, you will notice a greatly expanded
  119. option set.  These new options give you much greater flexibility
  120. than ever before.
  121.  
  122. Many parts of the program have changed, but most of the changes
  123. should be transparent to you.  There are some points you should
  124. be aware of, however.
  125.  
  126.    + The options are now case sensitive.  "-a" is different from
  127.      "-A".  This change was necessary to support the expanded
  128.      option set.
  129.  
  130.    + Options are now "sticky."  This means that once you set an
  131.      option, it will not change until you tell it to, no matter
  132.      how many times you run LJVGA!
  133.  
  134.    + LJVGA now has a highlight bar to show you how the print is
  135.      progressing.
  136.  
  137.    + You can now print any user-defined rectangular screen
  138.      portion.
  139.  
  140.  
  141. LJVGA FILES
  142.  
  143. The following files are part of LJVGA.  Depending on how you
  144. received LJVGA, you may have slightly different files, and you
  145. may receive the files either compressed or on diskette.
  146.  
  147.      INSTALL.BAT*   The automatic installation batch file.
  148.      STAMP.COM*     The registration stamping utility.  Use this
  149.                     file to register new copies of LJVGA.
  150.      LJVGA.COM      The LJVGA program file.  This is the main
  151.                     program.
  152.      LQVGA.COM      The LQVGA program file.  This is the
  153.                     companion utility for dot-matrix printers.
  154.                     See LQVGA.TXT for more information.
  155.      LJVGA.TXT      The LJVGA manual.
  156.      LJVGA.PCL*     The LJVGA manual in HPPCL format.  Copy this
  157.                     file to your printer for a high-quality
  158.                     printed manual.
  159.      LQVGA.TXT      The LQVGA manual.  Read this manual for more
  160.                     information on LQVGA.
  161.      REGISTER.TXT   The registration file.  Complete this file
  162.                     and send it in to register a new copy of
  163.                     LJVGA.
  164.      SYSOP.TXT      The sysop and distributor registration form.
  165.                     Complete this form and send it in if you are
  166.                     a shareware distributor.
  167.      DISTRIB.TXT    The distributor list.  This file lists public
  168.                     distributors of Ares Technologies products.
  169.      README.TXT***  This file contains information about the
  170.                     latest changes to LJVGA.
  171.      CHANGES.TXT*** This file contains the updated release
  172.                     history for LJVGA.
  173.      DESC.SDI**     This is an information file for BBS systems.
  174.      FILE_ID.DIZ**  This is an information file for BBS systems.
  175.      LJVGA???.ZIP*  This is the shareware version of LJVGA.
  176.                     Upload this file to your favorite on-line
  177.                     services.
  178.      LQVGA???.ZIP*  This is the shareware version of LQVGA.
  179.                     Upload this file to your favorite on-line
  180.                     services.
  181.  
  182.    * These files are only available with the diskette version.
  183.   ** These files are only available with the compressed version.
  184.  *** These files are present only if needed.
  185.  
  186.  
  187. REQUIREMENTS
  188.  
  189. LJVGA is very flexible and runs on most PC compatible systems.
  190. However, you must have the following requirements to run LJVGA:
  191.  
  192.     An 8086 or better CPU.
  193.     DOS 3.0 or later.
  194.     A VGA or SuperVGA video adapter.
  195.     An HP LaserJet, LaserJet 4, DeskJet or compatible printer.
  196.     9-30k memory depending on the options selected.
  197.  
  198. LJVGA cannot print Windows screens or screens created by many
  199. popular games.  These programs capture control of the computer so
  200. that LJVGA cannot function.  Note that no harm will result if you
  201. attempt to print while running such programs, however, LJVGA will
  202. never activate and cannot print.
  203.  
  204.  
  205. INSTALLATION
  206.  
  207. Installation of LJVGA is quick and easy.  You must have the
  208. diskette version of LJVGA to use the automatic installation.
  209. Just insert your diskette in your A: drive and type
  210.  
  211.      a:install a: c:\ljvga
  212.  
  213. This will install LJVGA to the LJVGA directory on your C: drive.
  214. If you have different installation requirements, use the
  215. following command:
  216.  
  217.      d:install d: <destination>
  218.  
  219. where d is the drive containing the installation diskette, and
  220. <destination> is the directory where you want to place the LJVGA
  221. files.
  222.  
  223. INSTALL will copy the program files onto your hard disk and run
  224. the registration stamping utility to customize your copy of
  225. LJVGA.  If you are installing LJVGA for the first time, you will
  226. be asked to enter your name.  Enter the name your software is
  227. registered under - either your name or your company's name.
  228. After you do this, your copy of LJVGA will be customized for you.
  229.  
  230. If you want LJVGA to load every time you start your computer, you
  231. will need to modify your AUTOEXEC.BAT.  Using any text editor,
  232. open your AUTOEXEC.BAT file (located in the root directory of
  233. your boot disk) and add the following lines to the end of the
  234. file.
  235.  
  236.      SET LJVGA=
  237.      C:\LJVGA\LJVGA
  238.  
  239. If your LJVGA is located in a directory other than C:\LJVGA,
  240. modify the above lines appropriately.  Save the file and reboot
  241. to load LJVGA!  If, once you have used LJVGA, you discover that
  242. you use certain options frequently, you can edit your
  243. AUTOEXEC.BAT and place the options at the end of the line that
  244. reads "SET LJVGA=".  Then these options will take effect every
  245. time you run LJVGA!
  246.  
  247. To print the formatted manual (registered versions only), change
  248. to your LJVGA directory and enter the following command.
  249.  
  250.      copy /b ljvga.pcl lpt1:
  251.  
  252.  
  253. USING LJVGA
  254.  
  255. Using LJVGA is simple.  To load LJVGA into memory, just enter the
  256. command
  257.  
  258.      LJVGA
  259.  
  260. from the directory where LJVGA is located (usually C:\LJVGA).
  261. LJVGA will load with its default options, and is ready for use.
  262. Now whenever you press the Print Screen key, LJVGA will activate,
  263. producing a high-quality of your computer screen.
  264.  
  265. You can modify the default options by using a combination of
  266. command-line switches, either the first time you run LJVGA, or
  267. later to modify the options already loaded in memory.  LJVGA
  268. cannot be loaded twice.  If you run LJVGA after it has been
  269. loaded, it will update the copy already in memory.
  270.  
  271. If you need to remove LJVGA from memory after you have loaded it,
  272. enter the following command from the directory where LJVGA is
  273. located.
  274.  
  275.      LJVGA -u
  276.  
  277. If no other TSR's have been loaded after LJVGA, it will unload
  278. itself, releasing any resident memory and returning Print Screen
  279. control to your system BIOS.
  280.  
  281. LJVGA supports several different command-line switches.  These
  282. can be entered alone or as a group to change the default behavior
  283. of LJVGA.  Be aware that LJVGA retains any options you set until
  284. you unload it from memory, or until you turn the computer off.
  285. Therefore, if you set any special temporary options, you must
  286. remember to reset them when you are done.  See the next section
  287. for a complete description of the available options.
  288.  
  289.  
  290. LJVGA ENVIRONMENT VARIABLE
  291.  
  292. If you have any options which you use every time you run LJVGA,
  293. use the DOS environment variable "LJVGA" to set these options
  294. permanently.  Each time LJVGA loads, it will search the
  295. environment for this "LJVGA".  If you have set this variable,
  296. LJVGA will process any options set before processing the command-
  297. line.  Thus in effect you create new defaults for LJVGA.
  298.  
  299. For example, if you commonly use Floyd-Steinberg dithering with
  300. the brightness set to 10%, you may find yourself entering the
  301. command
  302.  
  303.      LJVGA -a2 -b10
  304.  
  305. very frequently.  Instead, set the "LJVGA" environment variable
  306. in your AUTOEXEC.BAT as follows.
  307.  
  308.      SET LJVGA=-a2 -b10
  309.  
  310. Enter the options just like you would on the command-line.  Now,
  311. every time you run LJVGA, it will use these options by default!
  312. Note, however, that you can override these options either by
  313. using the "-I" option to ignore the environment settings, or by
  314. overriding the particular option on the command-line.  For
  315. instance, the command
  316.  
  317.      LJVGA -b20
  318.  
  319. will still choose Floyd-Steinberg dithering as specified in the
  320. environment, but it will set the brightness to 20%.  The option
  321. entered on the command-line replaces the matching option in the
  322. environment.
  323.  
  324.  
  325. OPTION REFERENCE
  326.  
  327. LJVGA supports a rich set of options which allow you to alter its
  328. behaviour to suit your needs.  This section lists those options,
  329. what they do, and how to use them.  By using a combination of
  330. these options, you can tailor LJVGA to almost any print screen
  331. task.
  332.  
  333. All LJVGA commands follow the syntax
  334.  
  335.      LJVGA [switches]
  336.  
  337. where [switches] is optionally any combination of the options
  338. listed in this section.  Each option must be separated from the
  339. others by a space, and must have no spaces in it.
  340.  
  341. Most options are "sticky", i.e. once you set them, they remain in
  342. effect until you explicitly reset them, unload LJVGA, or turn off
  343. the computer.  Some options are only effective the first time
  344. LJVGA is loaded and cannot be used to modify a previously loaded
  345. version.  These options are noted in their descriptions.
  346.  
  347. Note also that all options are case sensitive.  In other words, "-
  348. a" is different from "-A".  This is necessary because of the
  349. large number of options LJVGA supports.  Be careful when you are
  350. entering options.  If you enter an option in the wrong case, you
  351. may get unexpected results!
  352.  
  353. The following conventions are observed for the options presented
  354. in this section.  Note that when an option requires an argument,
  355. you should not type any space between the option letter and its
  356. argument.
  357.  
  358.      -V   Simple options are presented as you should enter them.
  359.           These options take no arguments.
  360.  
  361.      -h±  Options marked with the ± symbol accept either the "-"
  362.           or "+" characters as arguments.  Use "-" to turn the
  363.           option off, and "+" to turn it on.  You may also turn
  364.           the option on by omitting the argument.  (No argument
  365.           is the same as "+".)
  366.  
  367.      -Yx  Options with the "x" symbol accept a single letter as
  368.           an argument.  The possible arguments will be listed for
  369.           you under each appropriate option.
  370.  
  371.      -Fxxx     Options with the "xxx" symbol accept a string of
  372.           characters as an argument.  This form is commonly used
  373.           for file names, etc.
  374.  
  375.      -aN  Options with the "N" symbol accept a number as an
  376.           argument.  Only whole numbers are allowed.
  377.  
  378.      -sx,x     Options with a comma indicate a list of arguments.
  379.           The arguments themselves will be of another type listed
  380.           here.  When you encounter this form, you may enter a
  381.           list of arguments of the appropriate type with commas
  382.           between them.  Do not include any spaces!  Typically,
  383.           you can omit parts of the list by leaving the value
  384.           blank - but make sure you still include the leading
  385.           commas.  You may also usually omit the end of the list
  386.           and any trailing commas.
  387.  
  388.      !    Important comments are marked by a flag.  You should
  389.           take should take special note of any information in
  390.           these sections.
  391.  
  392. The options are grouped according to four major categories.  The
  393. Operational Group contains options which affect the way LJVGA
  394. loads, unloads, and runs.  The Image Control Group contains
  395. options which affect the way LJVGA renders the screen image.  The
  396. Printer Control Group contains options which affect the way LJVGA
  397. handles printing.  Finally, the Screen Control Group contains
  398. options which affect the way LJVGA handles the VGA hardware.
  399.  
  400.  
  401. Operational Group
  402.  
  403. These options affect the way LJVGA loads, unloads, and runs.
  404. Various informational options are contained in this group.
  405.  
  406. -?        Print synopsis.
  407.  
  408.           This option prints a copyright notice and a short
  409.           summary of options.  No other action is taken if you
  410.           use this option.
  411.  
  412. -D±       Enable debugging kernel
  413.  
  414.           This option will cause LJVGA to print additional
  415.           debugging information.  This option must be specified
  416.           the first time LJVGA is loaded to enable debugging
  417.           support.  Thereafter it can be disabled with the "D-"
  418.           option or re-enabled with the "D+" option.
  419.  
  420.           When debugging is enabled, LJVGA will produce an extra
  421.           page containing information about the state of your VGA
  422.           card each time you press the Print Screen key.  This
  423.           option should be used on the advice of Ares
  424.           Technologies personnel to assist in resolving printing
  425.           problems.
  426.  
  427.           -D+  Enable debugging.
  428.           -D-  Disable debugging (does not free up the additional
  429.                memory).
  430.  
  431. -H        Load into high memory
  432.  
  433.           This option will cause LJVGA to load into upper (UMB)
  434.           memory if enough memory is available.  If LJVGA cannot
  435.           load itself into high memory, it will print a warning
  436.           and load in lower memory.
  437.  
  438.        !  It is recommended that you use this option instead of
  439.           utilities such as "LOADHIGH".  LJVGA has an advantage
  440.           over such programs in that it only installs its
  441.           resident portion into high memory.  Third-party
  442.           utilities attempt to place all of LJVGA in high memory
  443.           and may fail.
  444.  
  445. -I        Ignore environment settings
  446.  
  447.           This option causes LJVGA to ignore any options set in
  448.           the "LJVGA" environment variable.  Only command-line
  449.           options will be processed.
  450.  
  451. -Q        Quiet (no load messages)
  452.  
  453.           This option causes LJVGA to load without displaying any
  454.           messages or errors.
  455.  
  456. -V        Verbose (load messages)
  457.  
  458.           This option causes LJVGA to print a summary of options
  459.           in effect after loading.
  460.  
  461. -Yx       Conserve memory
  462.  
  463.           This option controls the amount of memory allocated to
  464.           LJVGA.  Normally LJVGA allocates as much memory as it
  465.           requires for any possible print job.  This option
  466.           allows you to reduce the memory assigned to LJVGA by
  467.           sacrificing the dither buffers.  This prevents you from
  468.           using the advanced dithers.
  469.  
  470.           2    Normal memory.  All dithers are available.
  471.           1    Medium memory.  Only the halftones and Floyd-
  472.                Steinberg dithering are available.  (dithers 0-2).
  473.           0    Small memory.  Only the halftones are available.
  474.                (dithers 0 and 1).
  475.  
  476.        !  The conserve memory option is only valid when LJVGA is
  477.           first loaded.  This option cannot be changed once LJVGA
  478.           is loaded.
  479.  
  480.           DEFAULT:  -Y2
  481.  
  482. -Z        Reset default options
  483.  
  484.           This option resets all internal LJVGA settings to their
  485.           defaults.  If this option appears anywhere on the
  486.           command-line, the internal settings are reset before
  487.           processing any new environment and command-line
  488.           settings.
  489.  
  490. -d        Disable
  491.  
  492.           This option will cause LJVGA to return control to the
  493.           previously loaded print-screen routines (usually in the
  494.           system BIOS).  This option does not remove LJVGA from
  495.           memory.
  496.  
  497. -e        Enable
  498.  
  499.           This option will enable LJVGA if it has been previously
  500.           disabled.  LJVGA will regain control with the settings
  501.           it had when it was disabled.
  502.  
  503. -n        Instant print (non-resident)
  504.  
  505.           This option will cause LJVGA to immediately print the
  506.           current screen without becoming resident.  This option
  507.           can be used to run LJVGA from batch files, and could be
  508.           used to create a primitive file printing program.  This
  509.           option will cause LJVGA to ignore any previously loaded
  510.           copy, and will use only default options and options set
  511.           on the command-line.
  512.  
  513. -h±       Enable highlight bar
  514.  
  515.           LJVGA normally displays a highlight (progress) bar when
  516.           processing a graphics screen.  This bar lets you know
  517.           the progress of the print screen.  This option allows
  518.           you to disable the progress bar.
  519.  
  520.           -h+  Enable highlight bar.
  521.           -h-  Disable highlight bar.
  522.  
  523.           DEFAULT:  -h+
  524.  
  525. -q        Query current setting
  526. -qx       Query options
  527.  
  528.           This option serves two roles.  When specified with no
  529.           argument, this option will cause LJVGA to display a
  530.           summary of the current settings.  This is the same
  531.           summary available with the Verbose option (-V).
  532.  
  533.           This option is also used to display help on the other
  534.           options.  To get help on an option, specify the option
  535.           letter as an argument to the "-q" option.  For example,
  536.           to get help on the available dither algorithms (option
  537.           "-a"), specify the option "-qa".
  538.  
  539.        !  When this option is specified, no other processing
  540.           occurs.  Processing does occur when the Verbose option
  541.           (-V) is set.
  542.  
  543. -u        Unload from memory
  544.  
  545.           This option will disable LJVGA and remove it from
  546.           memory.  LJVGA will return Print Screen control to the
  547.           previously loaded print-screen routines (usually in the
  548.           system BIOS).  LJVGA will only unload if it is the last
  549.           TSR loaded.
  550.  
  551.  
  552. Image Control Group
  553.  
  554. This group contains options which affect the way LJVGA renders
  555. the screen image.  Brightness, contrast, dither, and color
  556. controls are contained in this group.
  557.  
  558. -Cxxx     Set color mask
  559.  
  560.           This option allows you to specify which of the RGB
  561.           color planes to print.  This option can be used for
  562.           advanced screen manipulation, or for printing RGB color
  563.           separations.
  564.  
  565.           To set the color planes to print, specify any
  566.           combination of the letters "R", "G", and "B".  For
  567.           example, set the option "-CR" to print only red, or "-
  568.           CRGB" to print all colors.
  569.  
  570.           DEFAULT:  -CRGB
  571.  
  572. -aN       Set dither algorithm
  573.  
  574.           This option allows you to select the method LJVGA uses
  575.           for creating the output image.  The "dither" is the
  576.           method by which LJVGA determines the pattern of dots to
  577.           print to simulate different colors.  The different
  578.           algorithms produce different results and are useful for
  579.           different types of applications.  Experiment with these
  580.           options to see which works best for you.  Possible
  581.           values for N are listed below.
  582.  
  583.           0    Halftone.  This is the fastest dither pattern.
  584.                This pattern produces different size dots
  585.                resulting in an image similar to the pictures in a
  586.                newspaper.
  587.  
  588.           1    Bayer algorithm.  This is a good, fast general-
  589.                purpose algorithm and is characterized by cross-
  590.                hatch patterns in the output.
  591.  
  592.           2    Floyd-Steinberg algorithm.  This dither method is
  593.                slower than the Halftone and Bayer algorithms, but
  594.                produces much better output for continuous-tone
  595.                images.  This is the same algorithm used in the
  596.                original versions of LJVGA.
  597.  
  598.           3    Burkes algorithm.  This dither method is superior
  599.                to the Floyd-Steinberg algorithm, but is slower
  600.                and requires more memory.
  601.  
  602.           4    Sierra algorithm.  This dither method is superior
  603.                to the Burkes algorithm, but is slower.
  604.  
  605.           5    Jarvis algorithm.  This dither method is superior
  606.                to the Sierra algorithm, but is slower.
  607.  
  608.           6    Stucki algorithm.  The Stucki and Jarvis
  609.                algorithms are approximately equal in quality and
  610.                speed.  Stucki produces slightly different results
  611.                than Jarvis, and thus may be suitable for
  612.                different applications.
  613.  
  614.           DEFAULT:  -a0
  615.  
  616. -bN       Set image brightness
  617.  
  618.           This option allows you to change the percentage of
  619.           brightness of the printed output.  The output can be
  620.           made "blacker" or "whiter" with this option.  Possible
  621.           values for N range from -100 to 100.  Negative values
  622.           increase the black level, with -100 corresponding to a
  623.           completely black image.  Positive values increase the
  624.           white level, with 100 corresponding to a completely
  625.           white image.  0 is the default and results in no
  626.           adjustment.
  627.  
  628.        !  At 300 DPI and above on most laser printers, the black
  629.           dots tend to overwhelm the white space, resulting in
  630.           fairly dark images.  Certain dither algorithms
  631.           aggravate this problem.  This can be compensated by
  632.           increasing the brightness.  Good results can usually be
  633.           achieved by increasing the brightness by 10-25%.
  634.  
  635.           DEFAULT:  -b0
  636.  
  637. -cN       Set image contrast
  638.  
  639.           This option allows you to change the percentage of
  640.           contrast of the printed output.  Areas of similar color
  641.           can be blended or accentuated using this option.
  642.           Possible values for N range from
  643.           -100 to 100.  Negative values decrease the contrast,
  644.           with -100 corresponding to 50% grey output.  Positive
  645.           values increase the contrast, with 100 corresponding to
  646.           an image with only pure black and white.  0 is the
  647.           default and results in no adjustment.
  648.  
  649.           DEFAULT:  -c0
  650.  
  651. -g±       Suppress background
  652.  
  653.           Some screens have large areas of background color that
  654.           are not desirable to print.  This option suppresses the
  655.           printing of those areas, instead printing white where
  656.           the background appears.
  657.  
  658.        !  This option requires that the graphics program in use
  659.           obey the VGA conventions for background color.  This is
  660.           usually the case.  Also note, however, that the
  661.           background color can be used as a valid color in the
  662.           image itself.  LJVGA cannot detect this and will
  663.           suppress the color anywhere it appears.
  664.  
  665.           DEFAULT:  -g-
  666.  
  667. -i±       Invert image
  668.  
  669.           This option will invert the colors for graphics screens
  670.           so that white on the screen will print as black and
  671.           vice-versa.  Other colors are similarly reversed,
  672.           printing a "negative" of the screen image.
  673.  
  674.           DEFAULT:  -i-
  675.  
  676. -sx,x     Set scaling
  677.  
  678.           This option allows you to control the size of the
  679.           printed image.  LJVGA will normally scale the printed
  680.           image to fill the page, but you can scale the size up
  681.           or down with this option.
  682.  
  683.           This option takes a pair of numbers representing the x-
  684.           and y-scaling respectively.  Each number represents the
  685.           number of printed pixels that will be used to represent
  686.           each screen pixel in the respective direction.  For
  687.           example, -s3,3 means that for each pixel on the screen,
  688.           LJVGA will print a box 3 pixels wide by 3 pixels long.
  689.  
  690.           You can also specify certain special sizing characters
  691.           as shown below.
  692.  
  693.           f    Fill the page in the direction specified.
  694.  
  695.           m    Fill the page using an evenly divisible number of
  696.                pixels.  By default LJVGA prints "partial" pixels
  697.                in order to fill the page completely.  This is
  698.                usually invisible to the eye, but may be
  699.                undesirable in certain situations.  The "m" format
  700.                prevents LJVGA from producing partial pixels.
  701.                Partial pixels will be disabled in both directions
  702.                if this format is used.
  703.  
  704.           d    Default.  Use this format to cause LJVGA to scale
  705.                this direction to match the other.  This will
  706.                preserve the correct aspect ratio.
  707.  
  708.           With this option, you can set the scaling for a smaller
  709.           image or for a larger image.  If you specify a scaling
  710.           factor greater than the maximum, the output image will
  711.           be clipped to the dimensions of the page.
  712.  
  713.           You do not have to set both values.  If either number
  714.           given is 0 or d, the scaling value for that direction
  715.           will be determined from the value for the other
  716.           direction in order to preserve the correct aspect
  717.           ratio.  Setting both values to 0 will result in the
  718.           default, maximum-size image.
  719.  
  720.           For your reference in determining the appropriate
  721.           scaling values, LJVGA assumes that the output must fit
  722.           on the page size selected, minus a small margin.  The
  723.           number of output pixels that this represents varies
  724.           depending on the resolution chosen.  Also, note that
  725.           the x and y values correspond to screen dimensions, and
  726.           thus may change depending on the page orientation
  727.           selected.
  728.  
  729.           Here is a sample computation.  Most laser printers can
  730.           print approximately 2450 pixels across at 300 DPI.  We
  731.           want to represent 640 screen pixels across, so 2450 /
  732.           640 = 3.83.  Since LJVGA only allows you to specify
  733.           full pixels, you would enter 3 for the x value.  You
  734.           would enter d for the y value to cause it to be
  735.           computed from the x value to produce the correct aspect
  736.           ratio on output.
  737.  
  738.           DEFAULT:  -sf,d
  739.  
  740.  
  741. Printer Control Group
  742.  
  743. The options in this group affect the way LJVGA handles printing.
  744. Printer and paper selection, output redirection, and print modes
  745. are contained in this group.
  746.  
  747. -Fxxx     Print to file
  748.  
  749.           This option causes LJVGA to send its output to a file
  750.           instead of the printer.  To use this option, simply
  751.           specify the filename after the "-F".  For example, to
  752.           send output to the file "screen.prn", use the option "-
  753.           Fscreen.prn".  To cause LJVGA to print to the printer
  754.           again, specify "-F" without a filename.
  755.  
  756.           -F<filename>   Print output to <filename>.
  757.           -F        Print output to the printer ports.
  758.  
  759.        !  Use this option with care.  If the specified file
  760.           already exists, LJVGA will overwrite it.
  761.  
  762.           DEFAULT:  -F
  763.  
  764. -Mxxx     Mask control characters
  765.  
  766.           When LJVGA prints a text screen, it attempts to
  767.           faithfully reproduce the entire contents of the screen.
  768.           Some printers, however, cannot correctly print all of
  769.           the control or extended characters available on the
  770.           screen.  This option can be used to prevent LJVGA from
  771.           printing these characters.  Dots or spaces will be
  772.           printed to preserve the screen spacing.  Use any
  773.           combination of the options shown below.
  774.  
  775.           C    Do not print control characters.
  776.           X    Do not print extended characters.
  777.           .    Print dots in place of illegal characters.
  778.  
  779.           Enter "-M" with no options to print all characters.
  780.  
  781.           DEFAULT:  -M
  782.  
  783. -Pxxx     Select page size
  784.  
  785.           The option allows you to select the paper size for your
  786.           printer.  This option is dependent on the printer
  787.           selected.  Use the "-qP" option to list the page sizes
  788.           available for your printer.  The definitions for the HP
  789.           LaserJet and LaserJet 4 are shown below.  You can use
  790.           either the number or the paper name.
  791.  
  792.           0, letter      American letter size paper.  (8.5" x 11")
  793.           1, legal       American legal size paper.  (8.5" x 14")
  794.           2, executive   Executive size paper.  (7.25" x 10.5")
  795.           3, a4          A4 size paper.  (210mm x 297mm)
  796.  
  797.           DEFAULT:  Dependent on selected printer.
  798.                     -P0 on the HP LaserJet and LaserJet 4.
  799.  
  800. -f±       Form-feed page
  801.  
  802.           Normally, LJVGA will eject the page from the printer
  803.           once it has finished printing the screen.  This option
  804.           will cause LJVGA to leave the page in the printer until
  805.           it is full.
  806.  
  807.        !  You may run out of memory while printing high-res
  808.           graphics with this switch.  Make sure your printer has
  809.           enough memory for the whole page!
  810.  
  811.           Also, LJVGA normally resets the printer options to
  812.           produce the cleanest print possible.  It cannot do this
  813.           while using the -f option.  If you experience problems
  814.           printing with the -f option, manually reset your
  815.           printer before printing.
  816.  
  817.           DEFAULT:  -f+
  818.  
  819. -kN       Print multiple copies
  820.  
  821.           This option allows you to print multiple copies of a
  822.           screen.  N is number of copies you wish to print.  For
  823.           example, if you want five copies of a screen, enter the
  824.           option "-k5".
  825.  
  826.        !  Certain printers such as the HP LaserJet have the
  827.           ability to print multiple copies of a single page.  If
  828.           your printer has this capability, LJVGA will use it to
  829.           print as fast as possible.  If your printer does not
  830.           support this feature, LJVGA will manually produce the
  831.           desired number of copies.
  832.  
  833.           DEFAULT:  -k1
  834.  
  835. -lx       Set printer port
  836.  
  837.           This option allows you to change the printer port LJVGA
  838.           will print to.  Possible values for N are 1 for LPT1, 2
  839.           for LPT2, or 3 for LPT3.  You can also set N to 0 to
  840.           print to PRN:.  Note: Setting the printer port to 0
  841.           will also force LJVGA into DOS print mode (explained
  842.           below).
  843.  
  844.           DEFAULT:  -l1
  845.  
  846. -mN       Set print mode
  847.  
  848.           Set print mode.  This option allows you to change the
  849.           method by which LJVGA sends data to the printer.  This
  850.           is useful in cases where you are using some troublesome
  851.           print redirectors or when you have a defective BIOS.
  852.           Possible values for N are listed below.
  853.  
  854.           0    BIOS print mode.  All printing is done through
  855.                calls to the system BIOS.  This is the default
  856.                option and is the fastest print mode.  This option
  857.                should be chosen except in special situations.
  858.  
  859.           1    BIOS print mode with DOS Signaling.  This print
  860.                mode is intended for use with some network
  861.                software.  When using this mode, LJVGA prints all
  862.                data through the system BIOS, but also uses DOS to
  863.                open and close a phantom print file.  This method
  864.                can be used on some networks to signal the
  865.                beginning and ending of a print job.
  866.  
  867.           2    DOS print mode.  When using this print mode, LJVGA
  868.                prints all data through DOS calls.  This option is
  869.                included for situations in which compatibility is
  870.                a problem, or where output should be redirected to
  871.                special DOS devices.  Printing is much slower in
  872.                this mode.
  873.  
  874.           DEFAULT:  -m0
  875.  
  876. -ox       Set page orientation
  877.  
  878.           This option allows you to select the direction in which
  879.           LJVGA prints graphics screens.  The possible values you
  880.           can use for "x" are listed below.
  881.  
  882.           0, p Portrait (upright) orientation.
  883.           1, l Landscape (sideways) orientation.
  884.           2    Reverse portrait (upside-down) orientation.
  885.           3    Reverse landscape (reverse sideways) orientation.
  886.  
  887.        !  LJVGA handles page orientation internally and can print
  888.           any orientation on any printer.
  889.  
  890.           DEFAULT:  -op
  891.  
  892. -pxxx     Select printer type
  893.  
  894.           This option allows you to set the printer type for
  895.           LJVGA to use.  Use the "-qp" option to list the
  896.           available printer types.  The currently supported
  897.           printers are listed below.  You can use the number or
  898.           the name of the printer.
  899.  
  900.           1, laserjet    Selects the HP LaserJet and compatibles.
  901.           2, lj4         Selects the HP LaserJet 4.
  902.  
  903.        !  Once you have selected a printer, you cannot change to
  904.           a more capable printer without unloading and reloading
  905.           LJVGA.  For example, if you originally selected the
  906.           LaserJet, you cannot change to the LaserJet 4.
  907.           However, if you originally selected the LaserJet 4, you
  908.           can change to the LaserJet and later back to the
  909.           LaserJet 4.  This limitation occurs because of the way
  910.           LJVGA uses memory.  Accordingly, if you plan on
  911.           switching printer type, always select the most advanced
  912.           printer when first loading LJVGA.
  913.  
  914.           DEFAULT:  -p1
  915.  
  916. -rN,N     Set resolution
  917.  
  918.           This option allows you to set your printer's graphics
  919.           resolution in dots-per-inch (DPI).  Resolutions
  920.           available depend on the printer type selected.  Use the
  921.           "-qr" option to list the resolutions available for your
  922.           printer.  The resolutions available on the HP LaserJet
  923.           and the HP LaserJet 4 are listed below.
  924.  
  925.           75   75x75 dpi
  926.           100  100x100 dpi
  927.           150  150x150 dpi
  928.           200  200x200 dpi (LaserJet 4 only)
  929.           300  300x300 dpi
  930.           600  600x600 dpi (LaserJet 4 only)
  931.  
  932.           Choose the resolution you desire by setting either or
  933.           both "N" values.  LJVGA will pick the closest match to
  934.           the resolution you specify and select it on your
  935.           printer.  Some printers, especially laser printers, can
  936.           only print the same horizontal and vertical
  937.           resolutions.  Only the first "N" value is required in
  938.           this case.
  939.  
  940.           LJVGA will automatically scale graphics to the
  941.           resolution you choose.
  942.  
  943.           DEFAULT:  The maximum resolution available on the
  944.           chosen printer.
  945.  
  946.  
  947. Screen Control Group
  948.  
  949. The options in this group affect the way LJVGA handles the VGA
  950. hardware.  The only option you will commonly use in this group is
  951. the screen window option.
  952.  
  953. -WN,N,N,N Set screen window
  954.  
  955.           This option allows you to select an arbitrary
  956.           rectangular screen area to print.  The format for this
  957.           option is "-W<x start>,<y start>,<x end>,<y end>.
  958.           Coordinates are based on a "grid" system, where the
  959.           coordinates represent a "grid" around the actual screen
  960.           pixels.
  961.  
  962.           For example, the default coordinates for a 640x480
  963.           screen are (0, 0, 640, 480).  The coordinates for the
  964.           right side of the screen are (320, 0, 640, 480).
  965.  
  966.           LJVGA will automatically scale the selected rectangle
  967.           to fill the printed page while preserving the correct
  968.           aspect ratio.
  969.  
  970.           DEFAULT:  Print the entire visible screen.
  971.  
  972. -vN       Select VGA handling mode
  973.  
  974.           This option allows you to specify the way LJVGA
  975.           communicates with the VGA card.  The possible values
  976.           for N are listed below.
  977.  
  978.           0    BIOS-level support only.
  979.           1    Direct register-level support.
  980.  
  981.           DEFAULT:  Dependent on the VGA card type selected.
  982.  
  983. -xN       Set VGA card type
  984.  
  985.           This option allows you to override the VGA board type
  986.           selected.  The VGA card type is normally auto-detected
  987.           and set, but you can override the default with this
  988.           option.  The currently supported board types are listed
  989.           below.
  990.  
  991.           0    Generic VGA.  This is the proper setting for all
  992.                IBM and basic VGA boards.
  993.           1    ATI chipset.
  994.           4    Paradise chipset.
  995.  
  996.           DEFAULT:  Autodetected.
  997.  
  998.  
  999.  
  1000. EXAMPLES
  1001.  
  1002. LJVGA           Load LJVGA into resident memory using the default
  1003.                 options.
  1004.  
  1005. LJVGA -l2       Load LJVGA into resident memory and redirect
  1006.                 output to LPT2:.
  1007.  
  1008. LJVGA -ol -a2   Load LJVGA into resident memory and choose
  1009.                 landscape graphics with Floyd-Steinberg
  1010.                 dithering.
  1011.  
  1012. LJVGA -r75 -n   Print the current screen at 75 DPI.  Do not load
  1013.                 LJVGA into resident memory.
  1014.  
  1015. LJVGA -s1,1     Load LJVGA into resident memory and set the
  1016.                 scaling so that each screen pixel is represented
  1017.                 by one printer pixel.
  1018.  
  1019. LJVGA -sd,4     Load LJVGA into resident memory and set the
  1020.                 scaling so that each screen pixel is represented
  1021.                 by 4 printer pixels down and by an appropriate
  1022.                 number of printer pixels across.
  1023.  
  1024. LJVGA -d        Disable a previously loaded copy of LJVGA and
  1025.                 return print-screen control to the system BIOS.
  1026.  
  1027. set LJVGA=-b10 -ol
  1028. LJVGA           Load LJVGA into resident memory and choose
  1029.                 landscape graphics with brightness set to 10%.
  1030.  
  1031. set LJVGA=-ol -a4
  1032. LJVGA -a0       Load LJVGA into resident memory and choose
  1033.                 landscape graphics.  Choose halftone dithering.
  1034.                 (The command line option -a0 overrides the
  1035.                 environment option -a4.)
  1036.  
  1037. LJVGA -plj4 -Pa4 -V  Load LJVGA into resident memory with HP
  1038.                 LaserJet 4 support and A4 paper selected.
  1039.                 Display a summary of the loaded options when
  1040.                 done.
  1041.  
  1042. LJVGA -Y0       Load LJVGA into resident memory and make it as
  1043.                 small as possible.  Only halftone and Bayer
  1044.                 dithers will be allowed.
  1045.  
  1046.  
  1047. OPTION SUMMARY
  1048.  
  1049. This section summarizes the options you can use with LJVGA.
  1050.  
  1051. Operational Group                  
  1052. -D±  Enable debugging kernel
  1053. -H   Load into high memory
  1054. -I   Ignore environment settings
  1055. -Q   Quiet (no load messages)
  1056. -V   Verbose (load messages)
  1057. -Yx  Conserve memory
  1058. -Z   Reset default options
  1059. -d   Disable
  1060. -e   Enable
  1061. -h±  Enable highlight bar
  1062. -n   Instant print (non-resident)
  1063. -qx  Query options
  1064. -u   Unload from memory
  1065.  
  1066. Printer Control Group
  1067.  
  1068. -Fxxx   Print to file
  1069. -Mx     Mask control characters
  1070. -Pxxx   Select page size
  1071. -f±     Form-feed page
  1072. -kN     Print multiple copies
  1073. -lx     Set printer port
  1074. -mN     Set print mode
  1075. -ox     Set page orientation
  1076. -pxxx   Select printer type
  1077. -rN,N   Set resolution
  1078.  
  1079. Image Control Group
  1080.  
  1081. -Cxxx   Set color mask
  1082. -aN     Set dither algorithm
  1083. -bN     Set image brightness
  1084. -cN     Set image contrast
  1085. -g±     Suppress background
  1086. -i±     Invert image
  1087. -sx,x   Set scaling
  1088.  
  1089. Screen Control Group
  1090.  
  1091. -Wxxx   Set screen window
  1092. -vN     Select VGA handling mode
  1093. -xN     Set VGA card type
  1094.  
  1095.  
  1096. HOW IT WORKS
  1097.  
  1098. LJVGA has two primary jobs - printing text and printing graphics.
  1099. Printing text is straightforward.  LJVGA simply reads the text
  1100. from the screen and sends it to the printer.  LJVGA has an
  1101. advantage over  built-in print screen routines, however, since it
  1102. knows how to control the laser printer.  Thus, LJVGA can set up
  1103. the printer to print the extended characters such as the line-
  1104. drawing characters.  It can also set up the printer to handle
  1105. special screen modes such as the 132x60 text modes available on
  1106. some SuperVGA cards.
  1107.  
  1108. Printing graphics is where LJVGA is most useful.  DOS has only
  1109. very basic graphics printing capability - and even then this
  1110. ability is only made available by loading large TSRs.  LJVGA
  1111. solves this shortcoming by providing high-quality printing in a
  1112. very small package - approximately 9k minimum.
  1113.  
  1114. The biggest problem faced by LJVGA is how to produce a
  1115. recognizable image of the screen, which can display up to 256
  1116. colors out of a palette of 262,144 colors, on the laser printer,
  1117. which has only 2 colors - black and white.  LJVGA solves this
  1118. problem by a method called dithering.  This is a method by which
  1119. a larger number of colors can be represented by using patterns of
  1120. dots chosen from a smaller number of colors.  In this case, this
  1121. allows up to 256 colors to be represented by different patterns
  1122. of only two colors.
  1123.  
  1124. Actually, colors images cannot be accurately reproduced on a
  1125. black-and-white printer (obviously!)  Therefore, LJVGA actually
  1126. produces a print that is based on the intensities of the colors
  1127. on the screen.  This is the same as saying that if you were to
  1128. convert the colors on screen to shades of grey, LJVGA produces an
  1129. approximation of the shades-of-grey screen.  This works because
  1130. the human eye is more sensitive to certain colors than to others,
  1131. thus these colors can be approximated by different grey shades.
  1132. Thus, by printing areas of dots of varying densities, LJVGA can
  1133. approximate these grey shades.  Printing just a few dots results
  1134. in bright areas, while printing more dots results in dark areas.
  1135.  
  1136. LJVGA uses two major varieties of dithering to produce these dot-
  1137. densities.  The first, fastest, method is known as ordered or
  1138. Bayer dithering and uses a predefined pattern to reproduce each
  1139. color.  This pattern contains a set of numbers representing color
  1140. threshold values.  As the image is generated, each screen pixel
  1141. is compared against the threshold value at the spot in the
  1142. pattern where that pixel will be plotted.  If the pixel color is
  1143. greater than the threshold value, a dot is printed.  Otherwise,
  1144. no dot is printed.  Thus the output image has a regular, ordered
  1145. appearance, because it is based completely on the original
  1146. pattern.
  1147.  
  1148. LJVGA uses two different patterns for this method.  The first is
  1149. a "clustered" pattern.  In this pattern, similar threshold values
  1150. are grouped closely together to produce large dots.  This pattern
  1151. generates an image which appears to be made up of different sized
  1152. dots, much like the pictures in a newspaper.  The second pattern
  1153. is a "dispersed" pattern which produces dots in a widely spread
  1154. pattern.  Because of the way this pattern is generated, it
  1155. produces a characteristic cross-hatched output.
  1156.  
  1157. The second variety of dithering is known as random dithering
  1158. because it produces dots in a seemingly random manner.  This
  1159. dither is also known as an error-dispersion dither because of the
  1160. way it produces dots.  This method works in two steps.  In the
  1161. first step, the current screen pixel is compared against a
  1162. predefined threshold value.  If the color is greater than the
  1163. threshold, a dot is printed, otherwise, no dot is printed.  The
  1164. second step compares what is actually printed against what should
  1165. be printed.  This produces an "error" value which is divided up
  1166. and added to the neighboring screen pixels.  This process is
  1167. repeated for every pixel in the image.  Thus if a dot is supposed
  1168. to be dark grey and we plot black, the error value generated
  1169. reduces the chance that the next pixel plotted will also be
  1170. black, ensuring that we get an area of "dark grey" on the output.
  1171.  
  1172. This method is slower than the ordered dithers because of the
  1173. math involved, but because it is based on the image itself, and
  1174. not on a predefined pattern, it significantly reduces the chances
  1175. of incidental patterns ("artifacts") emerging in the final
  1176. output.  LJVGA employs five of the most popular error-dispersion
  1177. patterns: Floyd-Steinberg, Burkes, Sierra, Jarvis, and Stucki.
  1178.  
  1179.  
  1180. ADDITIONAL NOTES
  1181.  
  1182. Printing graphics on a laser printer requires large amounts of
  1183. memory.  If you are planning on printing graphics screens at 300
  1184. DPI or above, you should have at least 1 megabyte of memory in
  1185. your laser printer.  512k should be sufficient for printing text
  1186. and graphics at lower resolutions.
  1187.  
  1188. LJVGA is only guaranteed to work with VGA screen modes that are
  1189. supported by video BIOS.  Most SuperVGA cards have extended BIOS
  1190. chips which support all of the vendor-defined modes and thus will
  1191. work with LJVGA.  However, some graphics packages such as PICEM
  1192. and VPIC can directly program VGA cards into modes not supported
  1193. by BIOS.  LJVGA is not guaranteed to work with these modes.
  1194.  
  1195. LJVGA now has built-in hardware support for the ATI and Paradise
  1196. chipsets.  When boards utilizing these chipsets are detected,
  1197. LJVGA will switch to VGA register-level support to control them.
  1198. This allows LJVGA greater capability and accuracy than was
  1199. previously possible.
  1200.  
  1201. LJVGA can also now detect and support the 360x480x256 mode that
  1202. some programs such as PICEM use.
  1203.  
  1204.  
  1205. TIPS FOR MICROSOFT WINDOWS USERS
  1206.  
  1207. LJVGA can be used with Microsoft Windows to print DOS session
  1208. screens.  Only full-screen DOS sessions are supported; all
  1209. Windows applications and windowed DOS sessions are handled by the
  1210. Windows native print screen handler.
  1211.  
  1212. To use LJVGA with Windows, you must load LJVGA before entering
  1213. Windows.  You must also make a change to the PIF files used with
  1214. the applications you wish to print.  To make the required change,
  1215. run the Windows PIF Editor and load the appropriate PIF file.
  1216. Once you have loaded the PIF file, choose the "Advanced" button
  1217. at the bottom of the PIF editor window.  This will take you to
  1218. the Advanced Options window.  Near the bottom of this window is a
  1219. section titled "Reserve Short-cut Keys".  If you want to use
  1220. LJVGA with this application, make sure the "PrtSc" box is
  1221. checked.  Once you have checked this box, save your changes, and
  1222. you are ready to print your application screens!
  1223.  
  1224.  
  1225. CURRENT KNOWN PROBLEMS
  1226.  
  1227. LJVGA cannot print text screens with redefined character tables.
  1228. All text prints rely on the fonts built into the printers.
  1229. Redefined character tables allow you to create virtually
  1230. unlimited symbols on the screen, but since the printer does not
  1231. know about these characters, it cannot print them.  This problem
  1232. occurs with software such as the Norton Utilities for DOS.
  1233.  
  1234. LJVGA cannot print TrueColor (15 and 24 bit) graphics.  Currently
  1235. only palette-based graphics are supported.  LJVGA cannot handle
  1236. TrueColor graphics because the complete color information is
  1237. stored in the display memory and requires more processing to
  1238. reproduce.  TrueColor support is planned for a future version.
  1239.  
  1240.  
  1241. REGISTRATION STAMPING UTILITY
  1242.  
  1243. All registered copies of LJVGA come with a program called
  1244. STAMP.COM.  This program contains the registration information
  1245. for the registered user and can be used to register new versions
  1246. of the program which you receive from us or download from
  1247. bulletin boards.
  1248.  
  1249. When you register LJVGA, you can choose from three different
  1250. registration options: current version only, current and next
  1251. version, or Lifetime registration.  Your copy of STAMP contains
  1252. the information necessary to update new versions of LJVGA
  1253. according to the registration option you have chosen.  For
  1254. instance, if you registered version 1.50 of LJVGA for the current
  1255. version only, your copy of STAMP will work on any 1.xx version,
  1256. i.e. any version up to, but not including 2.00.  If you
  1257. registered for the current version and one upgrade, your copy of
  1258. STAMP will work on any 1.xx or 2.xx version.  A copy of STAMP
  1259. received with a Lifetime registration will work on any version of
  1260. LJVGA available.
  1261.  
  1262. To register a new version of LJVGA, place the new LJVGA.COM and
  1263. STAMP.COM in the same directory.  In DOS, change to the directory
  1264. where the files are located and enter the following command.
  1265.  
  1266.      stamp ljvga
  1267.  
  1268. The first time you run STAMP, it will prompt you for your name.
  1269. Enter the name your software is registered under.  STAMP will
  1270. place your registration information in the new copy of LJVGA and
  1271. will inform you when it is done.  If for some reason STAMP cannot
  1272. update LJVGA, such as if your registration has expired, you will
  1273. receive an error message telling you what is wrong.  Now your new
  1274. copy of LJVGA is registered and ready to use!
  1275.  
  1276.  
  1277. LJVGA RELEASE HISTORY
  1278.  
  1279. v2.00 (930628)
  1280.  
  1281. The loader has been completely rewritten.  The graphics engine
  1282. has been modified and extended to handle many new features.  See
  1283. the documentation for a complete explanation of the new features.
  1284.  
  1285. v1.80  (930222)  [Limited Release]
  1286.  
  1287. Added video mode to debugging info.
  1288. Corrected memory row-length calculations.
  1289. Added row-length to debugging info.
  1290. Added mode table search for ATI boards.
  1291.  
  1292. v1.78d  (930115) [Limited Release]
  1293.  
  1294. Added the ability to detect and print graphics screens with a
  1295. screen start offset.
  1296. Modified setup and page borders for A4 paper.
  1297.  
  1298. v1.77  (921215)  [Limited Release]
  1299.  
  1300. Due to continuing problems, support for interrupt 21 has been
  1301. disabled. (again)
  1302.  
  1303. v1.76  (921205)
  1304.  
  1305. Section headings have been added to the debug page.
  1306. A color table dump has been added to the debug page.
  1307. Added direct hardware reads for the screen size.  This solves
  1308. various problems with some SuperVGA adapters which do not report
  1309. the screen size correctly in high resolution modes.
  1310.  
  1311. v1.75  (921109)
  1312.  
  1313. Changed invert option.  Invert now inverts the color palette,
  1314. rather than the finished image.  This fixes the problems with
  1315. pure-white backgrounds and the brightness/contrast controls in
  1316. inverted mode.
  1317. Corrected a bug which prevented LJVGA from activating if DOS was
  1318. active.
  1319.  
  1320. v1.71  (920920)
  1321.  
  1322. This is a maintenance release which includes only minor changes
  1323. to the documentation.
  1324.  
  1325. v1.70  (920818)
  1326.  
  1327. Added full-page scaling.
  1328.  
  1329. v1.61  (920814)
  1330.  
  1331. Added two new Bayer dithers.
  1332. Modified to keep only one dither pattern in active memory.
  1333. Increased support for older networks.
  1334. Fixed a problem with the DOS print-logging flag in Dell machines.
  1335. Added color resolution checks for certain VGA adapters.
  1336. Added ATI-specific code.
  1337.  
  1338. v1.53  (920627)
  1339.  
  1340. Added use of DOS print-screen busy flag.
  1341. Made resident section more crash-proof.
  1342. Added serial numbering.
  1343.  
  1344. v1.52  (920608)
  1345.  
  1346. Corrected color mapping for 16-color modes.
  1347. Corrected control character printing.  This bug was only
  1348.      noticeable on non-HP printers.
  1349.  
  1350. v1.50  (920422)
  1351.  
  1352. Added instant print option.
  1353. Added print mode option.
  1354. Added page orientation option.
  1355. Added Bayer dithers.  Up to 30% faster than previous dither.
  1356. Added contrast option.
  1357. Added brightness option.
  1358. Added scaling option.
  1359. Added debugging option.
  1360. Fixed an error in the Floyd-Steinberg dithering option.  Output
  1361.      is now much improved.
  1362. Added better interrupt handling for improved safety and error
  1363.      control.
  1364. Fixed a bug which would allow LJVGA to load when using the
  1365.      enable/disable controls.
  1366. Fixed a bug which prevented LJVGA from finding a previously
  1367.      loaded copy in fragmented memory.
  1368. Fixed text print routine so that control characters are printed,
  1369.      not interpreted.
  1370.  
  1371. v1.30  (920304)
  1372.  
  1373. Fixed a bug with command-line parsing under MS-DOS 4.0/5.0.
  1374. Added invert option.
  1375. Added unload option.
  1376.  
  1377. v1.20  (910730)
  1378.  
  1379. Added suppress form-feed option.
  1380.  
  1381. v1.10  (910622)
  1382.  
  1383. Added the disable/enable options.
  1384.  
  1385. v1.00  (910326)
  1386.  
  1387. Added resolution option.
  1388. Added printer port option.
  1389. Added error detection for missing or off-line printers.
  1390. Added the ability to detect and update a previously loaded copy.
  1391.  
  1392. v0.50  (910307)
  1393.  
  1394. Initial release.
  1395.  
  1396.  
  1397. PROGRAMMING FOR LJVGA
  1398.  
  1399. You can provide advanced screen printing for your own programs
  1400. with LJVGA!  LJVGA works by hooking into the standard print
  1401. screen interrupt vector, interrupt vector 5.  (If you have ever
  1402. seen your computer crash and begin print-screening madly, you've
  1403. experienced interrupt 5.  The microprocessor also uses interrupt
  1404. 5 to signal an error.)  Therefore, make sure LJVGA is loaded into
  1405. memory before you run your program.  Then all you have to do to
  1406. invoke LJVGA from within your program is to generate an interrupt
  1407. 5.  Sample instructions appear below.
  1408.  
  1409. In assembler,
  1410.  
  1411.      INT 5               ; call print screen routine
  1412.  
  1413. In Borland C/C++,
  1414.  
  1415.      geninterrupt(5);    /* call print screen routine */
  1416.  
  1417. That's all there is to it!
  1418.  
  1419. At the time of this writing, there is no simple way to adjust the
  1420. internal LJVGA settings from within your programs.  You can,
  1421. however, change the LJVGA settings by running it with the
  1422. appropriate options via a DOS shell or an EXEC call.  LJVGA will
  1423. locate the copy it has previously loaded and update it.  The
  1424. updated setting will remain in memory when the DOS shell exits.
  1425. Combine this use with the Quiet option (-Q), and your users will
  1426. never be aware that you have invoked a DOS shell!
  1427.  
  1428. Direct API support into LJVGA is planned for a future release.
  1429.  
  1430. Please note that you must have a special license to distribute
  1431. LJVGA with your programs.  Please contact Ares Technologies for
  1432. more information about a Reseller's license.
  1433.  
  1434.  
  1435. TECHNICAL SUPPORT
  1436.  
  1437. If you have any questions or comments about LJVGA, contact:
  1438.  
  1439.      Mail:      Ares Technologies
  1440.                 243 Fairfax Rd.
  1441.                 Blacksburg, VA  24060-6595
  1442.  
  1443.      Phone:     703-552-6273
  1444.  
  1445.      E-Mail:    CIS: [73237,1572]
  1446.                 MHS: support @ ares
  1447.                 Internet: support@ares.mhs.compuserve.com
  1448.  
  1449. When calling for technical support, please have the following
  1450. information available:
  1451.  
  1452.     the version of LJVGA you are using (use the -? option to
  1453.      find out)
  1454.     the make and model of VGA board you use
  1455.     the make and model of your printer
  1456.     the version of DOS you use
  1457.  
  1458.  
  1459. Ares Technologies is also available for custom programming
  1460. projects.  Please feel free to contact us if you would like to
  1461. discuss your programming needs.
  1462.  
  1463.  
  1464. CREDITS
  1465.  
  1466. LJVGA is the result of many hours of hard work and research.
  1467. What originally began as a simple program for my own use has
  1468. expanded into a full-featured commercial program.  I could not
  1469. have done it without the support of my users, and the many
  1470. positive comments I have received.  This credit belongs to all of
  1471. you who have supported my efforts and made this program possible.
  1472.  
  1473. Please, if you find this software useful, consider registering
  1474. it.  The Ares philosophy is that software should work well,
  1475. should be easily available, and should not cost a fortune.  I
  1476. believe that LJVGA meets these goals.  Your registration will
  1477. allow me to devote more of my time to producing LJVGA and other
  1478. quality programs.
  1479.  
  1480. A special thanks goes out to Don Slaymaker for his unending
  1481. patience and help in debugging the ATI-specific code sections.
  1482. To Johann Delago for yet more help in extending the ATI hardware
  1483. support, and many suggestions on additional hardware support.  To
  1484. David Wright & co. - my first mass reseller.  To Robert Everett &
  1485. co. for "pushing the envelope."  And finally to Tom Fasulo for
  1486. the best promotional support a shareware author could ask for.
  1487.  
  1488.  
  1489. REGISTRATION
  1490.  
  1491. If you find LJVGA useful and convenient, a registration of $10 or
  1492. more would be appreciated.
  1493.  
  1494. If you send $20 or more, you will receive a disk containing the
  1495. current version of the software.  You will also receive a disk
  1496. with the next major version when it becomes available.
  1497.  
  1498. For a fee of $50, you will receive a lifetime registration for
  1499. LJVGA.  This will entitle you to every major and minor version of
  1500. LJVGA as they are released.  These will be automatically sent to
  1501. you free of additional charge.
  1502.  
  1503. Site licenses are available for commercial and multiple user
  1504. organizations.  Please read the file REGISTER.TXT for more
  1505. information.
  1506.  
  1507. Reseller information is available for developers wishing to
  1508. bundle pre-registered versions of LJVGA with their own software.
  1509. Please contact Ares Technologies directly for more information.
  1510.  
  1511. Please state the current version of the software you are using.
  1512. Send check or money order to:
  1513.  
  1514.                         Ares Technologies
  1515.                          243 Fairfax Rd.
  1516.                    Blacksburg, VA  24060-6595
  1517.  
  1518.  
  1519. You can also order LJVGA from the Public Software Library with
  1520. your Visa, MasterCard, American Express, or Discover card at one
  1521. of the following numbers.  These numbers are for ordering only.
  1522. For all other information concerning LJVGA, please contact Ares
  1523. Technologies directly.
  1524.  
  1525.      PsL Product Number: #10515
  1526.  
  1527.      Mail:     PsL
  1528.                P.O. Box 35705
  1529.                Houston, TX  77235-5705
  1530.  
  1531.      Phone:    800-2424-PSL
  1532.                713-524-6394
  1533.  
  1534.      FAX:      713-524-6398
  1535.  
  1536.      E-Mail:   CIS [71355,470]
  1537.  
  1538.  
  1539. You can also register LJVGA on CompuServe in the SWREG forum.  If
  1540. you have a CompuServe account, logon and type "GO SWREG".  Follow
  1541. the instructions given to register your copy of LJVGA.  The
  1542. registration code for LJVGA is 227.  Once we receive notification
  1543. from CompuServe, your registered diskette will be sent to you
  1544. automatically.
  1545.  
  1546.  
  1547. SOFTWARE LICENSE AGREEMENT
  1548.  
  1549. LJVGA VGA Print Screen Utility
  1550. Copyright (c) 1991-1993 Ares Technologies.  All Rights Reserved.
  1551.  
  1552.  
  1553. Notice:  By using LJVGA, you agree to be bound by the terms of
  1554. this license.  If you do not agree with the conditions listed
  1555. herein, you may not use LJVGA.  If you have any questions
  1556. regarding your software license, please contact Ares Technologies
  1557. at the address listed elsewhere in this document.
  1558.  
  1559.  
  1560. You may use, copy, and distribute LJVGA for non-commercial
  1561. purposes only, provided the following conditions are met:
  1562.  
  1563.     No fees may be charged for its use or distribution.
  1564.  
  1565.     The program and accompanying documentation must be
  1566.     distributed in whole, unmodified form.
  1567.  
  1568.     Reverse compilation, reverse engineering, or any other form
  1569.     of code decomposition is expressly prohibited.
  1570.  
  1571.     Clubs, user groups, and shareware distributors may charge a
  1572.     nominal fee for expenses and handling for distributing LJVGA.
  1573.     Operators of electronic bulletin board systems may charge
  1574.     only normal membership fees, and may not require additional
  1575.     fees for specific access to LJVGA.  Distributors are
  1576.     encouraged to register with Ares Technologies.  See the file
  1577.     SYSOP.TXT for additional information.
  1578.  
  1579. Site and commercial licenses are available for LJVGA.  Please
  1580. read the file REGISTER.TXT, or contact Ares Technologies for more
  1581. information.
  1582.  
  1583.  
  1584.  
  1585.  
  1586. Ares Technologies hereby disclaims all warranties relating to
  1587. this software, express or implied, including without limitation
  1588. any warranties of merchantability or fitness for a particular
  1589. purpose.  Ares Technologies shall not be liable for any damages,
  1590. direct, consequential, or otherwise, suffered due to loss of data
  1591. or any other reason, even if Ares Technologies has been advised
  1592. of the possibly of such damage.  In no event shall Ares
  1593. Technologies' liability for any damages exceed the price paid for
  1594. the license to use the software, regardless of the form of the
  1595. claim.  The user of this software bears all risk as to the
  1596. quality and performance of the software.
  1597.  
  1598.  
  1599.