home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.update.uu.se
/
ftp.update.uu.se.2014.03.zip
/
ftp.update.uu.se
/
pub
/
rainbow
/
msdos
/
decus
/
RB131
/
jobsdump.doc
< prev
next >
Wrap
Text File
|
1995-06-04
|
22KB
|
470 lines
***********************************************************************
* *
* JOBSDUMP V4.2/4.0 *
* *
* A GRAPHICS SCREEN-DUMP PROGRAM *
* FOR THE DEC RAINBOW 100 PC FAMILY *
* *
* Copyright (C) 1985,6,7,8,9 James A. O'Brien *
* *
* 1166 Hope St., #6 *
* Stamford, CT 06907 *
* U.S.A. *
* *
* Tel: +1 203 322 7222 (Evenings) *
* *
***********************************************************************
This software may be copied and the copies distributed without
restriction for PRIVATE INDIVIDUAL use. Copyright is retained by the
author, and the source code will not be distributed. If you find the
software useful (i.e. you use it!), a $25 donation to the author at the
above address is requested for those users who are private individuals.
In other words, this software is not public domain - it is SHAREWARE.
Commercial site licenses may be obtained by contacting the author
at the above address. NOTE that this software is NOT FREE FOR USE IN A
COMMERCIAL ESTABLISHMENT, no matter how humble.
Hardware Requirements: (a) DEC Rainbow with Rainbow Graphics Option (RGO)
and 192k of random access memory (at least 256k
in order to run from within GW-BASIC). CP/M
version only requires 128k. [Has been tested
with Suitable Solutions Turbow-286 board]
(b) DEC LA50, LA75, LA100 or LA210
or Epson-compatible dot matrix printer.
Software Requirements: (a) MS-DOS V2.05 (or later) for MS-DOS version.
(b) CP/M 86/80 V2.0 (or later) for CP/M version.
-------------------------------------------------------------------------------
The complete distribution package includes the files:
JOBSDUMP.EXE MS-DOS version of JOBSDUMP V4.2
JOBSDUMP.CMD CP/M 86/80 version of JOBSDUMP V4.0
JOBSDUMP.DOC This documentation file.
-------------------------------------------------------------------------------
WHAT'S NEW IN VERSION 4.0,4.1 ?
*******************************
a) It runs FASTER than 3.x and previous versions.
b) The DEC sixel files are about A FACTOR OF 10 SMALLER than 3.x
and previous versions.
c) The -e option has been added to the command-line option set. It
lets you output the graphics in EPSON-compatible (IBM) format.
d) The -dnn option has been added to the command-line option set. It
lets you DISPLAY on the screen for nn seconds the graphics that
will go to the printer.
e) The -n option has been added to the command-line option set. It
lets you print the image in NEGATIVE mode to save printer
ribbons when a picture has very little white space.
f) The user interface is a more friendly cursor-driven environment,
reminiscent of DEC-written utilities. The -g (GO) option has been
added to the command-line option set, to allow command-line user
to avoid the cursor-driven user interface.
g) The CP/M version is functionally IDENTICAL to the DOS version as of
version 4.0.
h) The ERROR HANDLING for disk file output has been improved. The output
now continues until the disk is full, at which time a graceful
exit (accompanied by a message) occurs.
i) The CP/M version is frozen at V4.0. Version 4.2 for DOS includes
an option to select the colours which will print as black. This
is accomplished using a DOS environment variable called JOBSCOLS.
WHAT'S NEW IN VERSION 4.2 ?
***************************
a) The -l option has been added to the command-line option set. It
compensates for the aspect ratio of the LA100 printer (different
from that of the LA50 and the Rainbow screen).
b) The operation of the -e (Epson mode) option has been enhanced, to
give improved pictures with correct aspect ratio.
c) The speed of the -e (Epson mode) option has been increased by means
of a sixel lookup table.
d) The menu display now shows more clearly the options in effect at any
given time.
(1) OVERVIEW
************
JOBSDUMP is a utility program designed to give the Rainbow computer
an important ability not included with the system - the ability to print out
graphics screens directly on DEC or Epson-compatible printers. It prints out
both medium and high resolution graphics screens in either of two
formats :
(a) Small, which is a dot-for-dot representation of the graphics
screen and is smaller than the screen since printer dots are smaller than
screen pixels for the Rainbow computer.
(b) Large, which is a double-size printout rotated 90 degrees
counter-clockwise. Thus, the right-hand-side of the screen picture is the
first part to arrive at the printer. Large printouts just about fit on a page.
The program is interactive, prompting for the resolution, the
printout size, the output file, the graphics protocol format (DEC or Epson),
the printing color and the preview option. At any time, you have the option of
aborting the program by pressing the <EXIT> or the <CANCEL> key. This is useful
when you are not interested in printing the remainder of the graphics screen
(for example, when it is blank).
Since most printers are monochrome devices, there is no simple way to
distinguish among the various colours or shades of grey visible on the
screen. There are methods such as the error diffusion technique (see, e.g.
"Digital Halftones by Dot Diffusion", by Donald E. Knuth in ACM Transactions
on graphics 6, 245-273, 1987, and references therein). They operate by
simulating, in a local average way, grey tones using randomly chosen black dots.
However, these tend to be very demanding in terms of storage space and
floating-point computation. Such techniques are better suited to larger
machines. The latest MS-DOS and CP/M versions of JOBSDUMP handle this in two
different ways.
**V4.0:
Any colour which differs from black on the screen is
printed out in black on the printer. When the -n option is in force, everything
except the background is white.
**V4.2:
An environment variable called JOBSCOLS may be used to specify the
colours to print. e.g.
SET JOBSCOLS=1234ABC
will cause colours 1, 2, 3, 4, 10, 11, 12 (hex notation) to print as black,
while all others will be white. If JOBSCOLS is not defined, then the behaviour
will revert to that of V4.0 above.
If you're not sure about what to do with JOBSCOLS, ignore it! It's
not at all necessary in most situations.
In order to give a correctly-scaled representation of the screen
graphics, the printer has to have a 2:1 pixel aspect ratio. This is no
problem for the LA50, LA75 and (I think) LA210 printers. However, the
LA100 printer does not support an aspect ratio of 2:1 exactly. This
caused LA100 printouts not to be proportional to the screen image in previous
(4.1 and earlier) versions of JOBSDUMP. JOBSDUMP 4.2 takes care of this by
repeating every fourth sixel. While this approach reproduces the correct aspect
ratio, the output may not always be pleasing; you should experiment and make
your own judgement.
A similar problem exists for the Epson-compatible
mode of output due to the difference in dot density between Epson printers
and DEC printers. JOBSDUMP 4.1 ignored every sixth column of dots in
Epson mode, in order to achieve the correct aspect ratio. This occasionally led
to a loss in picture quality, especially in pictures with lots of vertical
lines. JOBSDUMP 4.2 instead bitwise OR's together every
fifth and sixth sixel, giving much better results. In any case, this
feature can be disabled by invoking the command-line option -ei (the Epson
option, (I)gnoring the aspect ratio correction), if necessary.
(2) PRINTING OPERATIONS
***********************
JOBSDUMP allows you to print the graphics either a) directly to the
printer or b) to a file, for later printing using the DOS PRINT command. This
is useful if you want to print several pictures in background while you do
something else on the computer. The files created by pre-4.xx versions of
JOBSDUMP were large - about 40k for a small printout and 110k for a large
printout. This has been drastically reduced in the present version to typical
values of about 4k for a small printout and 8k for a large printout. It IS
possible to get up to about 35k (small) or 90k (large) if the picture is
sufficiently complex. However, even with digitized photographs, I have not
yet encountered a large printout larger than 30k or a small printout larger
than 15k. (For the DEC format, that is - the Epson-compatible output is just
about as big as the old DEC sixel files.)
In any case, to get started, all you have to do is type
JOBSDUMP
and follow the prompts. This simple invocation will be all that most people
will want. All of the options are set in roughly the same way. To select an
option to change, use the up/down cursor keys. The selected option has an arrow
to its left and its current value is displayed in reverse video. To change the
value of the current option, use the left/right cursor keys. The screen
immediately reflects the changed value. In the print destination option, the
left/right keys toggle between the values "Printer" and "File OUT.SIX". If you
have selected "File OUT.SIX" and you would like a file other than one called
"OUT.SIX", pressing the <SELECT> key will prompt you for the new filename. If
you prefer not to use the arrow keypad, <RETURN> has the same effect as the
down arrow, while the spacebar has the same effect as the right arrow.
(3) COMMAND-LINE OPTIONS
************************
Although the program has a cursor-driven interface, the options can
instead be supplied as command-line parameters using the same type of syntax as
UNIX commands. For example (spaces other than the first one
after "JOBSDUMP" are optional),
JOBSDUMP -R 2 -S L -F E:\GRAPHICS\SIXLFILE.PIC -D 7 -N -E I
will prepare to dump the graphics memory, assuming high (-R)esolution (2), as a
large (L) (-S)ize picture, into the (-F)ile E:\GRAPHICS\SIXLFILE.PIC, pausing
first to (-D)isplay the graphics on the screen for 7 seconds. Furthermore, the
picture will be in (-N)egative format (just like a photographic negative), if
you have chosen the default colours to print - all except the background. If,
on the other hand, you have specified a group of colours to print, the -n
option will choose these as the colours NOT to print i.e. again, a negative.
Also, the output will be in (-E)pson-compatible format, (I)gnoring correction
of the scaling. The options set in the command-line will be displayed on the
screen along with the default values for all options not specified. At this
point, other changes may be made interactively if desired. When you have set
all of the options, start JOBSDUMP by pressing the <DO> key. If you want to run
JOBSDUMP unattended or in batch mode, set all of the required options on the
command-line as well as the -g option. The latter option instructs JOBSDUMP to
-(G)o ahead without waiting for the <DO> key to be pressed. Full instructions
on the use of the command-line parameters may be found by typing (the H stands
for help!)
JOBSDUMP -H
at the MS-DOS prompt. The latter instructions may be redirected into the
file "filename" by typing
JOBSDUMP -H >FILENAME
in order to get a permanent record of the instructions. (A copy of the
latter file is appended to this documentation file.) As an example of
employing defaults, the command line
JOBSDUMP -g
will cause JOBSDUMP to proceed directly to an active state without any
prompting of the user, using the default values for resolution (2), size (S),
file (LST:, the printer), graphics (DEC), color (colours specified or all
except background) and preview (off).
NOTE that there are three items which may only be specified in the commane-line
option set. The first of these is the -ei option, described above. In
addition, the -d (display) option takes a second argument which is a number
between 1 and 30 - the number of seconds to display the graphics preview. If it
is not set on the command line (e.g. -d10) the default preview time is 5
seconds. Finally, the aspect ratio for the DEC LA100 printer may only
be set from the command line using the -l option described above. If not
specified, the default is to use the LA50 aspect ratio (2/1).
The parameters may be entered in ANY ORDER on the command line. In
addition, there is extensive error checking included in the program. If any
command line parameter does not make sense to the parser, it is disregarded. In
addition, if the same parameter is given more than once, the value farthest to
the right in the command line will be the one used. As the printing proceeds,
JOBSDUMP periodically reports the percentage of the output which has been
completed.
------------------------------------------------------------------------------
**WARNING**
If you plan to use the graphics preview facility, be sure that you GET THE
RESOLUTION RIGHT! If you give the incorrect resolution and try to use the
preview option, you will DESTROY THE PICTURE in graphics memory! (You'll also
get garbage printout, but without preview you won't destroy the picture by
specifying the wrong resolution). Thus, although the preview option can be
useful, use it carefully. If you are not sure what the correct value of the
resolution is for a certain type of picture, try each possibility (1,2) WITHOUT
preview first. You can deduce the correct resolution by whether you get a
printed picture or garbage.
e.g. Lotus 123 uses MEDIUM resolution
GW-BASIC MEDIUM or HIGH
DRAW14 MEDIUM or HIGH
GSX-86 MEDIUM or HIGH
RBDVI HIGH
etc., etc.
_________________________________________________________________________
(4) ERROR CHECKING (File output only)
*************************************
Each (size, resolution) combination generates a distinctive
size of sixel-file in the worst case. If there is less space than this on the
default disk (or the disk specified in the sixel-file <filespec>), the program
flashes a warning on the screen that there MAY be insufficient space. (The
warning is not given in the CP/M 86/80 version of the program). Usually,
however, this can be safely ignored except for very complex pictures or very
full disks! If, during the course of the program, the disk fills up, JOBSDUMP
will halt with a message to that effect. The portion of the file written up
to that point will be saved.
If the pathname in <filespec> is not valid, or a nonexistent
disk drive is selected, the program reports this condition and halts.
(If a nonexistent disk drive is specified in CP/M, the program halts with
a BDOS error. However, any other type of file error in CP/M will be
handled by JOBSDUMP.)
(5) USE WITH GW-BASIC
*********************
JOBSDUMP may be used as follows inside GW-BASIC:
XX SCREEN 2 'or "SCREEN 1"
.
.
XX REM User's graphics program, etc.
.
.
XX REM The next line is all you need
XX SCREEN 0 : SHELL"JOBSDUMP <parameters>"
As shown in the example above, the program is invoked as a child process
running under GW-BASIC in MS-DOS. It is very important to include the statement
"SCREEN 0", since otherwise JOBSDUMP will interfere with the graphics screen.
This is since the "SHELL" command goes to MS-DOS in whatever graphics mode the
computer happens to be using at the time the command is encountered. The "XX"
in the example above just refers to an arbitrary line number in GW-BASIC. The
field "<parameters>" refers to the command-line parameters described above.
Both COMMAND.COM and JOBSDUMP.COM must be accessible from within
your GW-BASIC program, so you should already have issued the PATH command
(possibly in AUTOEXEC.BAT) to enable MS-DOS to find JOBSDUMP.COM. In
addition, make sure that the environment variable COMSPEC is pointing
at a valid copy of COMMAND.COM. This is automatically taken care of as long as
COMMAND.COM is on the disk from which MS-DOS was started.
(6) USE DIRECTLY FROM THE MS-DOS or CP/M 86/80 PROMPT
*****************************************************
JOBSDUMP may instead be run directly from the MS-DOS prompt, and it
will print out whatever data remains in the RGO memory, even if it has not
been generated by a GW-BASIC program. Once an application (such as Lotus
123, GW-BASIC etc.) has written data into graphics memory, it remains there
until the computer has been turned off unless it is overwritten or erased.
The graphics memory will even survive a <SETUP>/<CTRL><SETUP> reset
operation, as long as the power is not interrupted. You must know what the
resolution of the graphics data is, in order to get the correct results the
first time. However, if you make the wrong choice and garbage is printed
out, it is possible to abort and try again with the correct resolution. This
is possible since JOBSDUMP was written to be unable to erase or otherwise harm
graphics memory.
For example, instead of the last line in the GW-BASIC example above, you
could use the statement:
XX SCREEN 0 : SYSTEM
which would take you back to MS-DOS. Now, typing "JOBSDUMP <parameters>" would
have exactly the same results as you would get using the GW-BASIC example above.
(7) DIFFERENCES IN CP/M VERSION OF JOBSDUMP
*******************************************
The CP/M version is identical to release 4.0 of MS-DOS JOBSDUMP. It
has all the same features as V4.2 except: (i) the enhanced Epson correction;
(ii) the LA100 handling capability; (iii) some minor cosmetic bug fixes.
Other minor differences occur in the error handling described in
section (4) above: (i) the program does not like to get an incorrect disk
drive in CP/M and (ii) disk space warnings will not be given in CP/M.
-------End of JOBSDUMP documentation
-------Output of JOBSDUMP -h follows
JOBSDUMP [-r [{1|2}]] [-s [{s|l}]] [-f [<filespec>]]
[-e [i]] [-n] [-l] [-d [nn]] [-h]
JOBSDUMP V4.2 prints out DEC Rainbow graphics memory contents
to a DEC- or Epson-compatible printer, or to a disk file.
Any subset of colours may be specified for printing as black.
-r sets the resolution : 1 = medium
2 = high (default)
-s sets the size : s = small (default)
l = large
-f sets the output file : PRN = printer (default)
<filespec> = named file (w/pathname)
-e outputs Epson format : i = ignore correction
-n gives a "negative" printout
-l corrects the aspect ratio for LA100 output
-dnn shows the picture : nn = display time (secs)
-h gives this help
-g starts the program immediately without pressing <DO>
The default is to print out all colours except colour number 0,
the usual background colour. If the environment variable
JOBSCOLS exists, it is used to set the colours to be printed
as black. For example, entering
SET JOBSCOLS=12ACD
prints colours 1, 2, 10, 12, 13 in black. Colours are in hex
notation and are 0-3 for high resolution and 0-F for medium
resolution. Note that the default is equivalent to
SET JOBSCOLS=123456789ABCDEF
Note also that, if -n were invoked on the command line, the default
colour settings could be obtained using
SET JOBSCOLS=0
____________________________________________________________
If you appreciate the benifits of this software, and would
like to show your appreciation, please send a $25 donation
to the author:
James A. O'Brien
1166 Hope St. #6
Stamford, CT 06907
USA
-------End of JOBSDUMP -h output