Render.doc - Users Guide to the Black Belt Systems HAM-E rendering software
===========================================================================

Document updated to v1r9, November 15th, 1990
=============================================

Credits:
========
Software and Document written by Ben Williams for Black Belt Systems
Funding by Black Belt Systems for the HAM-E support project

Introduction:
-------------
The HAM-E renderer is a cli-based command called "hame". It's job is to
take input from several sources and render HAM-E ham or register mode
images. The hame command may be run directly using command line
"switches" such as -r and -m1, from scripts with preset switches and
just a few items of information taken from the user, or from the custom
user interface, the "fe" command provided by Black Belt for this
purpose.

This document is divided into two portions. The first deals with the
use of the HAME rendering command via the FE user interface. The second
deals with it's use directly from the command line. We would like to
emphasize here that use of the HAME render command directly from the
command line can be diffcult, due the use of a large number of command
line switches. We suggest the user become familiar with the operation
of the renderer via the FE command before venturing to utilize the HAME
command directly. For your future reference, note that when the FE
command invokes the HAME command for you, it sends the exact command
line to the shell window - if you want to figure out what switches are
used for a particular type of rendering, set that render style up in
the FE command and invoke it, then copy down the command line
information. You can then use this command line syntax directly to
perform the same operation.

Render Types:
-------------
The HAM-E device has two basic operating modes. One is an 18 bit,
quarter-million color ham mode, where ham stands for "hold-and-modify".
The other is a register mode, where each pixel can be any one of 256
possible colors out if a sixteen million color spectrum.

The FE/HAME combination can take the image that is input to it and
render in either of these two modes. The ham mode has many more colors,
and is capable of a better image in almost all cases, with the
exception of monchrome (black and white or sepia toned, for instance)
images. There are several inherent disadvantages to this, however.
First, the ham mode is inherently prone to "fringing", a visible
display error that occurs when the color information is too complex to
represent correctly using the modified delta modulation that "ham
images" really are made of. Another is that because 18 bit ham
information in an image is so complex, paint software that allows you
to edit the image is not yet available, so you have to settle for what
you get with the renderer.

Rendering in the register mode allows you to use our 256 color paint
software to edit the images, once rendered, and is far superior for
grey scale or luma mapped monochrome image types.

The FE/HAME tools provide for a number of different render modes that
are all actually register mode displays. We'll present each register
mode to you individually in a later section. We suggest that you read
about each register mode in the order they are presented here, because
some of the later modes are actually combinations of earlier modes, and
the explanations assume that you understand the modes presented earlier.

There is only one render mode for ham images, but you have control over
two important parameters which can affect the final quality of the
image in a very visible manner. The ham render modes are dealt with in
the last section of this document.

Before we go into the individual render modes, we need to explain what
some of the other buttons on the FE panel do for your images.


Special Features and Image Modifiers:
=====================================

Save IFF Gadget:
----------------
This gadget, when selected, causes the renderer to save the resulting
image as a viewable IFF image. Nothing happens at the time you click on
this gadget, but when you press the "GO" gadget to begin the render a
file requester is presented to you. Modify the file requesters path, if
needed, so that it is pointing at the device and directory path you
wish to save the image in. Enter the filename you wish to use in the
appropriate gadget, and press the Save IFF button at the top right of
the requester.

    NOTE: You must make certain that the device, any directories,
          and the filename and it's extension contain absolutely no
          spaces.  If there are spaces anywhere in the complete path/
          name/ext combination, then the renderer will fail to
          operate. This is ok: "df0:pictures/girl.pic" but this is
          not and will cause problems: "df0:My Pics/Sara Lee.ham image"

Spread Gadget:
--------------
The spread gadget operates upon the image before it is rendered. If an
image has low contrast, that is, it is not using the entire range of
brightness available to it, this gadget will adjust the image colors so
that the darkest color in the image is the darkest shade possible of
that particular color, and the brightest color in the image will be
adjusted to be the brightest possible shade of that exact color. All
colors in between these two extremes will be scaled linearly, so that
the overall effect will be to have "turned up the contrast"; there will
be no color distortion as a result of this operation. You should be
aware that some images are better when they have a smaller range of
color in them; an image of a sunset is a good example of this.

This gadget affects ALL render modes.

    NOTE: This operation actually affects the image data. If the
          image has been loaded from a file, this is ok, because it is
          only the image in memory that is affected. However, if the
          image is in memory, for instance an image that is resident
          inside the DigiView software or the AVT software, then the
          actual image is modified! We suggest that you save the
          image to a file using the 24 bit option if you're unsure if
          you want this image modified in this manner, or if there is
          no way you can re-create this image.

NTSC Limit and the Percentage numeric gadgets:
----------------------------------------------
When you wish to (eventually) take the final image and send it to video
tape, you need to be aware that encoding an RGB image into composite
video form successfully requires an RGB source image that obeys some
specific rules about what colors are used. The particular problem that
usually crops up is that images with highly saturated colors cause the
composite encoder to "tear" or "smear". This can be avoided by keeping
the maximum saturation of any particular color below the limit where
the problem occurs.

The NTSC limit gadget does this exact thing for you. Using the
percentage value in the numeric gadget next to the button, it adjusts
the contents of the image previous to the actual render of it so that
no color in the image exceeds the percentage amplitude set in the
gadget. Before this is done, it automatically runs the "SPREAD"
operation on the image so that the maximum dynamic range is utilized.
THis is important because the image loses a visible portion of it's
dynamic range due to the amplitude reduction. Spreading the image first
ensures that the image will at least reach the percentage specifed here.

This gadget affects ALL render modes.

    NOTE: This operation actually affects the image data. If the
          image has been loaded from a file, this is ok, because it's
          only the image in memory that is affected. However, if the
          image is in memory, for instance an image that is resident
          inside the DigiView software or the AVT software, then the
          actual image is modified! We suggest that you save the
          image to a file using the 24 bit option if you're unsure if
          you want this image modified in this manner, or if there is
          no way you can re-create this image.

Last Register Used numeric Gadget:
----------------------------------
This gadget affects the "Hybrid", "Spectral", and "Smooth" render modes
only. It's purpose is to leave some of the registers unused so that you
can (in the paint software) use these registers for titles and other
items which you wish to create in colors which are not actually in the
image, or in the register colors picked by the renderer. You should be
aware that for any render mode, every register that the renderer is not
allowed to use will reduce the image quality somewhat. You are the
final judge of what is acceptable in this regard, but we suggest that
you allow the renderer to use 240 or more registers for any mode. For
very low values, say 50 or so, image quality will be quite poor.

EDD Gadget:
-----------
This gadget works with the "HAM-E", "Spectral", "Hybrid", "Smooth",
"Dither", "Dither-SRS", and "Block" modes. It does not function with
the "GreyScale" or "Lumascale" modes.

EDD stands for "Error Diffusion Dithering". It is similar to Floyd-
Steinberg dither, but is much faster to generate and to calculate. What
is done is that each pixel in the rendered output is examined to see
"how close" it comes in color to the exact color that is specified for
that pixel by the source image.

The difference between the source pixel and the rendered screen pixel
is taken as an error value. This is then applied to the pixels to the
right and below - it is actually used to adjust the specified color in
the source image (however, the image in memory is not affected due to
the way we calculate the values). Then, when it is time to draw the
pixel to the right, the renderer will attempt to reach a value that is
the source value combined with the error value. If there is an error
value that results from this, it is "diffused" just as the one to the
left was, that is, to the right and below.

The end result is a dither pattern that is pseudo random, and directly
dependant on the source image values and the display representation
error for it's dither intensity and placement. This is, in our opinion,
the highest performance dither procedure known to date.

The EDD procedure is a full 24 bit dither; this means that in the HAM
mode, which is nominally an 18 bit render, the overall accuracy of the
display is a full 24 bits. To see the difference, we suggest you locate
a 24 bit image and render it once in HAM mode without EDD, and once
with EDD. The image "WeirdCyls" on our support BBS is a very good
example of the type of image that really needs 24 bit quality rendering.

Thresh numeric gadget:
----------------------
This parameter affects two of the render modes. The "Hybrid" register
render mode, and the "ham" mode render. See these two modes for the
appropriate explanations of this parameter.



Individual register modes in order of complexity:
=================================================

R-BLOCK register render mode:
-----------------------------
This mode is the most basic of all the color render modes, and produces
an image that is similar to a cartoon-style image in many cases. The
term "block" refers to the fact that the image often looks like it was
built from blocks of color.

What is done here is that the 256 color registers are each assigned a
set color located at a particular point in "color space". These are
equally distributed, and the values of the registers are constant -
that is, the register values are set before the image is even loaded,
they are not changed according to the image data.

This has a number of advantages. First, for animations, since the
registers never change, there is no possibility of artifacting during
animations which only change portions of the screen. Next, because no
analysis of the image is performed, this render mode requires the least
memory of any of those available.

The "EDD" (Error Diffusion Dithering) button in the FE command affects
the output image; however, because the registers are not optimally
located in color space, the dither is usually quite visible and so is
undesirable. EDD is normally used to extend the ability of 256 colors
to represent an image with more than 256 colors in it, it just doesn't
work well with the BLOCK render mode.

You can also select the "NTSC Limit" gadget. This will ensure that the
actual image data is modified so that no color in the image has a
greater brightness than that specified in the numeric entry gadget nect
to the NTSC Limit button. See the section on NTSC Limit for more
details, above.

R-Dither-SRS register mode:
---------------------------
This mode also uses a standard register set, similar to the R-Block
mode. However, it uses an "ordered dither" (unless EDD is on, in which
case it uses the EDD dither) to show colors beyond the 256 that are
actually loaded into the registers.

The "SRS" means "Standard Register Set", and this means that no matter
how many images you render with this mode, or what they contain, they
will always use the same register set. This is very handy for
animations.

The dither is 24 bit accurate - but it is highly visible, because it is
an ordered dither, and also because the register set is not optomized
for each image.

You can use the "Spread" and "NTSC Limit" options with this mode.

R-Dither register mode:
-----------------------
This mode is similar in operation to the R-Dither-SRS mode, but it goes
one step further in it's analysis of the image. Before dithering, it
examines the image to see what the brightest and darkest colors in each
of the red, green and blue portions of their spectrums are. Once it has
determined this, it creates a set of color registers that "straddle"
the color spectrum inside this region. Images that have only very
subtle colors will work extremely well with this mode, because the
registers will be "collapsed" to fit around the colors that exist.

This mode does produce better images if you select the NTSC Limit
operation, as compared to the Dither-SRS mode; again, the issue is that
the image is using less than 100% of the color space (intentionally,
because you made it do that with the NTSC Limit button) so the
collapsing of the registers around the image will improve the fidelity
of the rendering considerably.

R-Smooth register mode:
-----------------------
This mode works in an entirely different manner from the three modes
presented thus far.

The image is examined, and the number of times every color in it occurs
is counted. Once this is done, the list of colors is sorted so that we
can locate the 256 colors that occur most often. The color registers
are then assigned these exact colors, and the image is drawn.

When pixels are encountered that match the colors in the registers,
they are drawn immediately using the appropriate register. When a pixel
is encountered that does NOT use a color that was assigned to a
register, the entire register list is examined to find the register
that is closest in color space to the color we want to draw. This
register is then used, and that color is memorized so we don't have to
look it up if we encounter it again.

This mode produces some of the finest renderings that you can get in
256 color mode, but it is highly dependant upon the image data that is
fed to it. If you have colors in an image that are important to the
overall image, but only occur a small amount (like red lipstick on a
blonde lady), since these colors don't occur much, they probably won't
get assigned a register. This is "bad news" for that image. For images
that only have a few main colors, but many shades of these colors, the
Smooth render will work wonders.

You can use the "Spread" and the "NTSC Limit" operations on Smooth mode
renders to good effect.

The "Last Register Used" gadget works with the smooth mode. If you set
it to 200, for instance, then only 200 registers will be used to render
the image, leaving 56 for your use.

R-Spectral register mode:
-------------------------
This mode is again quite different from anything presented thus far. It
uses a procedure developed at Black Belt Systems and in general is an
extremely high performance render technique.

It's far too complex to explain here, but it's effect can be explained
easily. First the image is analyzed. This is done in multiple "passes",
or examination phases. Each time a phase is completed, more color
registers are assigned for this image. Once the spectral procedure is
complete, color registers are assigned at optimum (as determined by the
render procedure) locations throughout the RGB color space for drawing,
and every color in the image has been matched to the nearest color
register so that it may be drawn in it's best fidelity.

This technique provides the most consistant performance of all the
color space register techniques. The GreyScale register mode does not
require an analysis phase because there are enough registers to
completely render a 256 GreyScale space.

When using the spectral render, you can usually further increase the
image quality by selecting the EDD dither option. The spectral
allocation technique does not use any ditheer techniques normally.

The "Last Register Used" gadget works with the spectral allocator as
well; keep in mind that the more color registers that are available to
the allocation procedure, the better the resulting image quality will
be. We suggest for most images you enter at least 240 registers in this
gadget. Numbers below 50 or so are likely to turn out poorly.

You can also use "Spread" and "NTSC Limit" with the spectral technique.

R-Hybrid register mode:
-----------------------
The Hybrid mode is actually a combination of two modes: The "Smooth"
mode and the "Spectral" mode. When rendering in Hybrid mode, the
software allocates a certain number of registers for the image using
the Hybrid mode first. Once this is done, it will allocate the
remainder of the registers using the Smooth mode. You set the number of
registers to choose via the Hybrid technique by entering a value in the
"Thresh" gadget.

The Hybrid mode obeys the value in the "Last Register" gadget, so you
can limit the total number of registers used. For instance, let's say
that you have entered "100" in the "Thresh" gadget and "240" in the
"Last Register" gadget. One hundred color registers will be assigned
using the Spectral technique, then 140 registers will be assigned using
the "Smooth" technique, for a total of 240 register used. Sixteen
registers are left unused for your later manipulation in the paint
software.

The modifiers that work with the Hybrid mode are "EDD", "Stretch",
"NTSC Limit", and "Last Register" as just explained.

Greyscale register mode:
------------------------
This mode takes the 24 bit data and merges the three buffers together
into a B&W image such that each of the red, green and blue buffers are
given equal weights. This is appropriate for use with B&W files that
have been converted to 24 bit data, such as raw B&W files. For a more
accurate conversion to B&W from a true color image, see the "Lumascale"
mode.

NTSC Limit and Stretch work with this mode. EDD, Last Register and
Threshold do not. Although functional, NTSC Limit is generally not
appropriate for use here, as luma images do not require amplitude
limiting.

Lumascale register mode:
------------------------
This mode takes the 24 bit data and merges the three buffers together
into a B&W image such that the red buffer is accorded a 30% weight, the
green buffer is accorded a 59% weight, and the blue buffer is accorded
an 11% weight.  This is appropriate for use with true color images.

Historical Note: These percentage values are the same values used by
                 NTSC encoded video; when you watch a black and white
                 television program, those images were encoded using
                 these values. The original values were determined by a
                 very erudite group consisting of engineers, doctors,
                 and so on. These people used knowledge of the way the
                 eye percieves brightness in different portions of the
                 color spectrum to decide how to weight these three
                 primary colors (red, green and blue). We have simply
                 implemented the values this group decided were most
                 appropriate for viewing by people with normal color
                 vision.

NTSC Limit and Stretch work with this mode. EDD, Last Register and
Threshold do not. Although functional, NTSC Limit is not appropriate
for use here, as luma images do not require amplitude limiting.


Rendering using the HAM-E hold and modify mode:
===============================================
This mode is capable of generating an image on your screen that is
accurate to 18 bits without resorting to dithering techniques. For
images that require more than 18 bit rendering for best fidelity of
reproduction, this mode supports the use of the EDD dither as well, for
images that appear to be 24 bit quality to your eye.

To render in this mode, you may very likely want to use the "EDD"
dither option. This causes a slight increase in rendering time, but
poses no other penalties. You can also use the "Spread" and "NTSC
Limit" options if you choose. These are explained above.

The most important item to be aware of for ham mode rendering is the
"Thresh" numeric gadget. This item single-handedly controls the
fringing, or lack of fringing, you see in the final rendered image.

There is a rather simple rule of thumb you can use to choose values for
the threshold value. If the image seems to be a high-contrast image
with a lot of  different colors, then use a high value, say from 32-75.
If, on the other hand, the image is low contrast and/or has only a few
different shades of color, use a lower value, between 10 and 32.

If an image shows fringing, odds are very good that your threshold
value is wrong, one way or the other.

Using the "hame" render command from the CLI:
=============================================

As mentioned early in this document, your best bet for most CLI use of
the "hame" command is to use the WorkBench interface software (the "fe"
command) to select the options you're going to want to use, and copy
down the resulting command line that the "fe" command generates. Once
this is done, you can vary the parameters as needed - and you'll have a
computer generated template for use, one which is correct without a
doubt.

What we'll do here is list the commands options with a brief
description of the function of each one so that you can refer to
this list and clearly understand what the "fe" command has told the
renderer to do.

You may, of course, refer to the source code for the "hame" command if
you'd like to understand what is going on more deeply.

"hame" command CLI/Shell options:
=================================
?' ...for info
h' ...for info
help' ...for info
-----------------
These three options all do the same thing; they present you with a list
of all the options for the version of the "hame" command that you are
invoking. Once this list is presented, the command terminates.

-qv' ...Special HAM-E test pattern
----------------------------------
This option generates a test pattern that exercises the HAM portion of
the hardware. This test pattern generates linear left to right scales
of red, green and blue. These scales verify that the three independant
hardware channels on the HAM-E board are fully functional. This option
has no other purpose.


-edd' ...Error Diffusion Dithering for Spectral or Hybrid rendering
-------------------------------------------------------------------
This option causes the renderer to use EDD dither when rendering in
HAME or many of the register modes. Not used for B&W rendering.

-lr [last register] ...to be used in REG mode allocators [256]
--------------------------------------------------------------
This option tells the renderer how many registers it is allowed to use
when doing register mode renders. It is not effective for ham or B&W
render modes. The smaller this number is, the lower the quality of the
output image will be.

-nt [percent] ...limit maximum amplitude of render
--------------------------------------------------
This option tells the renderer to modify the input image (even if it's
memory passed in by the -r, -g and -b pointers which the renderer
doesn't "own") so that the image doesn't exceed the percentage specifed
of 100% intensity, which for the purpose of this command is 256 per r,
g and b channel.

-bw' ...B&W from DigiViews RED buffer
-------------------------------------
This is an option that allows the renderer to generate a B&W image by
using the data in DigiView's red buffer. It can only be used in
conjunction with the -f flag for locating DigiView.

-th [value]' ...sets HAM register threshold (default 15)
--------------------------------------------------------
This option allows you to control how the fringing reduction portion of
the HAM-E render mode operates. Use low values (1-10) for images with
low contrast and high values (11-100) for images with higher contrasts.
All results are highly subjective and may require multiple tries before
you are satisfied.

-ma' ... create .8:1 X position map (SSTV scaling)
--------------------------------------------------
This option causes the incoming X position to be scanned in a
compressed manner. It's intended use is with software that uses 256
pixels per line; when ther renderer outputs 320 pixels, they will be
"stretched" as to the source X that produces that pixel. 256 input
pixels will create 320 output pixels.

-m1' ...set register display to "Dither", Collapsed space
---------------------------------------------------------
This option causes the renderer to examine the input image to see what
the brightest and darkest or each of the red, green, and blue primaries
are utilized in the image. Once this has been determined, the color
registers are assigned such that they "straddle" the color space to
these extremes. There are essentially 6 levels of Red, 7 levels of
green, and 6 levels of blue which combine to make 252 colors in a
regular rectangle "over" the color space that holds the shape of the
utilized portion of the images color space. You can think of this
rectangle as a grid where the grid is 3-d, with 6, 7, and 6 lines which
define it, and a color register at each intersection of the grid.  The
drawing is done such that the color for each pixel is dithered among
the nearest neighbors in the grid, according to an ordered dither
mechanism (unless the EDD option has been specified). Colors 253, 254,
and 255 are never used.

-m2' ...set register display to "Smooth"
----------------------------------------
This option causes the image to be examined to produce a histogram for
an 18 bit space (262,144 colors). The number of times each color occurs
in this 18 bit space are counted; the 256 most common colors (or fewer,
if the "-lr" option has been specified) are used to draw the image. For
colors that are not one of the 256 most common colors, the register
nearest to them in the color space is used.

-m3' ...set register display to "Spectral"
------------------------------------------
This option uses a special technique developed at Black Belt Systems by
Ben Williams. The specifics of the technique are not public at this
time, but the net effect is that the portion of the color space that
the image occupies is gridded in a manner resembling that of the
Dither and Dither SRS modes, except that the area enclosing the grid
conforms exactly to the shape of the objects utilization of color
space. It is not a rectangle, but rather a "blob". The registers are
still assigned as close to a regular grid within this portion of the
color space, but they do not land exactly on grid intersections,
instead they are "near" these intersections, and every color register
assigned is exactly the same as one color in the image - the Dither and
Dither SRS modes assign registers on grid, regardless of where the
image lies in color space.

Because of this, color registers are available as near as possible to
any given color in the image, and are exactly correct for 256 colors
(or fewer, if the "-lr" option has been specified).

If the "-edd" switch has been specifed, dithering will occur along the
RGB axis of the grid as required.

-m4' ...set register display to "Block"
---------------------------------------
This option divides the color space into an even grid, similar to that
made by the Dither and Dither-SRS modes. The grid is 8 by 8 by 4; Eight
levels of red and green, and four levels of blue. All 256 color
registers are used. The image is drawn by simply removing most of the
color data from the 24 bit input, and reducing it to an 8 bit value
that is used to index the color registers. The three upper bits of the
red and green values are used, and the two upper bits of the blue are
used.

-m5' ...set register display to "Dithered-SRS" (Standard Register Set)
----------------------------------------------------------------------
This option causes the color registers are assigned such that they
"straddle" the color space at it's minimum and maximum extents (0,
255). There are essentially 6 levels of Red, 7 levels of green, and 6
levels of blue which combine to make 252 colors in a regular rectangle
"over" the color space. You can think of this rectangle as a grid where
the grid is 3-d, with 6, 7, and 6 lines which define it, and a color
register at each intersection of the grid.  The drawing is done such
that the color for each pixel is dithered among the nearest neighbors
in the grid, according to an ordered dither mechanism (unless the EDD
option has been specified). The register set is always the same, and
colors 253, 254 and 255 are never used.

-m6' ...set register display to 256 grey levels (even)
------------------------------------------------------
This option causes the color registers to be set to 256 grey levels
from 0 to 255. The R G and B inputs are added together and then divided
by three to obtain an average of the image. This is appropriate to use
when you have three separate images, all with noise, and you want to
recover the best possible output image. It's also good for a render of
a true B&W image where the 24 bit input is already color-corrected. For
conversion of color images to B&W, use the "-m7" option.

-m7' ...set register display to 256 grey levels (luma)
------------------------------------------------------
This option causes the color registers to be set to 256 grey levels
from 0 to 255. The R G and B inputs are scaled respectivly to 30%, 59%,
and 11% of their original values, and then added together to provide
the output grey level. This conforms to the NTSC specification of color
to B&W conversions.

-st' ...to stretch 24 bit buffers to RGB limits
-----------------------------------------------
This option causes the renderer to actually modify the 24 bit buffers
in memory. If the buffers are provided via the "-r", "-g", and "-b"
switches, then the actual image in memory is modified, so use this
option with care! If the image in the RGB buffers does not extend from
0-255, that is, take up the complete range of contrast available, then
this operation will take the data there and "stretch" it until it
extends the entire way from the darkest possible colors to the
brightest possible colors. The hue, that is the particular color, of
any pixel will not be changed, only it's brightness, at least within 24
bits accuracy.

-x [dimension]' ...set X dimension
----------------------------------
This option tells the renderer how wide the incoming image is.

-y [dimension]' ...set Y dimension
----------------------------------
This option tells the renderer how high the incoming image is.

-r [red buff pointer]' ...hexidecimal address of data buffer
------------------------------------------------------------
This option is used to provide the location in memory of the red data
buffer for the renderer to create the image from.

-g [green buff pointer]' ...hexidecimal address of data buffer
-------------------------------------------------------------
This option is used to provide the location in memory of the green data
buffer for the renderer to create the image from.

-b [blue buff pointer]' ...hexidecimal address of data buffer
-------------------------------------------------------------
This option is used to provide the location in memory of the blue data
buffer for the renderer to create the image from.

-o' ...write starting at ODD pixels instead of even
---------------------------------------------------
This option is obsolete - maintained for compatability with very early
pre-production prototype HAM-E units still in service.

-d [jiffies]' ... delay time for test screen to persist
-------------------------------------------------------
This option allows you to specify an amount of time (in 50ths of a
second) for the display to hang around after then render (and save, if
specified) are complete. The default is 50.

-v' ...hide view while creating
-------------------------------
This allows the screen to be hidden while the software is actually
rendering to it. This allows the render to proceed faster, as the high
res screen, simply by being displayed, reduces the processors ability
to write to it by a considerable margin.

-s' ...generate sample screen
-----------------------------
This is a test screen.

-h' ...create HAM'ed image (see also -re)
-----------------------------------------
This option is part of the series of options required to create an
image. See the FE commands use for specific invocation details.

-p' ...create Palette REG image
-------------------------------
This option is part of the series of options required to create an
image. See the FE commands use for specific invocation details.

-l' ...luma mode
----------------
This option is part of the series of options required to create an
image. See the FE commands use for specific invocation details.

-m [shift]' ...multiply grey level (shift left N bits)
------------------------------------------------------
This option is obsolete - maintained for compatability with very early
pre-production prototype HAM-E units still in service.

-xo [offset]' ...enter x offset into luma buffer
------------------------------------------------
This option is obsolete - maintained for compatability with very early
pre-production prototype HAM-E units still in service.

-yo [offset]' ...enter Y offset into luma buffer
-------------------------------------------------
This option is obsolete - maintained for compatability with very early
pre-production prototype HAM-E units still in service.

-c ...chromasticity diagram
---------------------------
This option generates a special test image.

-n [filename]' ...read NewTek ip file as B&W
--------------------------------------------
This option is obsolete - use the FE command to get images directly out
of the DigiView buffers.

-e' ... use EVEN palette in -s sample screen
--------------------------------------------
Used with -s option; no other use.

-i [filename]' ... save IFF file from generated image
-----------------------------------------------------
This option allows you to save a HAM-E mode reg or ham image IFF file
as the result of the render.

-fu' ...generate 59 register fixed-up ham image
-----------------------------------------------
This option is part of the series of options required to create an
image. See the FE commands use for specific invocation details.

-ci' ...cie map triangle
------------------------
This option generates a special test image.

-re' ... create HAM'ed image, use registers! (see also -h)
----------------------------------------------------------
This option is part of the series of options required to create an
image. See the FE commands use for specific invocation details.

-bu' ...generate into internally allocated buffers, then HAM
------------------------------------------------------------
For use with the test images; allows the renderer to write the test
images to internal 24 bit buffers and thus provide the opportunity to
actually render the result using the built in render options and then
save the resulting high quality test image.

-f' ...find DigiViews RGB buffers
---------------------------------
This option tells the renderer to set the red, green, and blue buffer
addresses to point at DigiViews internal data buffers. This only works
with production versions of DigiView 4.0 to date (November, 1990). This
was done because NewTek refused to provide a "nice" means of interface
via the ARexx port in DigiView.

-6' ...buffers are 6 bit (not 8!)
---------------------------------
This option tells the renderer that the image in the buffers passed to
it is formatted as an 18 bit (6:6:6 bit) image; The renderer will shift
all the data left two bits (not in memory, though) before it is used,
which makes it the same as 24 bit data, just not as accurate. Used with
the AVT system, which has only 18 bit accuracy.

-j [filename]' ... load HAME iff file in
----------------------------------------
This option is used in conjunction with the "-1" option to "repair"
images that were created using the "-o" odd pixel write switch. Images
that were generated using the "-o" switch will not display correctly on
production HAM-E units until this is done. Usually the resulting image
is saved using the "-i" option so that the image will then be usable.

-k [filename]' ... load 24 bit IFF file in and display
------------------------------------------------------
This option allows you to specify a "vanilla" 24 bit IFF file as the
input RGB data. Note: The renderer does not support the use of "CLUT"
tables in the input files. Use the Black Belt "convert" command to
change 24 bit files containing CLUT chunks into correctly modified 24
bit vanilla IFF files.

-1 '... shift displayed image 1 pixel left
------------------------------------------
This option is obsolete - maintained for compatability with very early
pre-production prototype HAM-E units still in service.

-0' ... allocate and build image buffer
---------------------------------------
This option is obsolete - maintained for compatability with very early
pre-production prototype HAM-E units still in service.

