                          Trademarks
                          ----------

Amiga is a registered trademark of Commodore-Amiga, Inc.
Kickstart is a registered trademark of Commodore-Amiga, Inc.
Workbench is a registered trademark of Commodore-Amiga, Inc.
PageStream is a registered trademark of Soft-Logik Publishing Co.
Professional Page is a trademark of Gold Disk Inc.

All  other  trademarked  product and company names used herein are
used   for  identification  purposes  only.   No  infringement  of
trademarks   is  intended.   Trademarks  remain  property  of  the
trademark holder.

          Warranty, Registration, Support and Upgrades
          --------------------------------------------

Copyright      1992   Wolf  Faust.   All  rights  reserved.   All
distribution-  and  marketing  rights to the software (driver) are
vested in Canon Europa N.V.

The  driver  has  been  provided  to you strictly 'as is', without
warranty  of  any  kind.   In no event shall Canon and/or Faust be
held  liable  for  any  loss or damages arising out of any action,
from  whatever  source, concerning the use or inability to use the
driver.

For  obtaining a copy of the driver, or for more information about
Amiga driver, please contact your local Canon representative.


Following driver revisions have been made:

26.10.90  Version 35 Rev 1
10.12.90  Version 35 Rev 1.5
          - Elite Bug (Setting Elite in Preferences) removed.
            This bug causes a "MW" while initialising the
            printer, also Autoline was setting on, which
            causes a LF with every CR (so you got to much
            lines in your printing...)
          - known bug left: transfer.a is not
            set right for 360YPI
          - reverse P in char table fixed
10.12.90  Version 35 Rev 2.0a
          - Bug in transfer.a removed
            new transfer.c now works with 360YDPI
10.12.90  Version 35 Rev 2.0b
          - transfer.c translated to assembler, so graphicdumps
            should be faster...
07.01.91  Version 35 Rev 3
          - small speed improvements
10.02.91  Version 35 Rev 3a
          - no real changes to the driver!
08.03.91  Version 35 Rev 4
          - faster memory transfer check.
08.04.91  Version 35 Rev 5
          - bug in translation table for chars >247 (= $F7)
            removed. Thanks goes to Bjarke Hvejsel for finding and
            reporting the first bug.
21.04.91  Version 35 Rev 6  new render module - test version
05.05.91  Version 35 Rev 7
          - Because of a bug in Pagestream 2.1 preference driver,
            there's no way to enable density 7. This revisions offers
            Pagestream users a fix until Pagestream gets updated.
14.07.91  Version 35 Rev 8.1
          - Elite & fine mode sometimes didn't got set.. fixed
          - printing NLQ in Prowrite now works... exact cause still unknown...
          - NOW Rev 6 render module has made it into this release
            and even got further improved...
          - "version" command ability added
          - margin settings after graphic dumps corrected
          - no more turbo versions! Everything is in there!
            Yep one version including special '20/30 code!
            Must be hell for turboboard users...
04.10.91  Version 35 Rev 8.2
          - Reset command caused '0' chars. fixed
20.04.92  Version 35 Rev 10 major update:
             + arXon support added       + new WB paper sizes added
             + I' accent fixed           + CanonBeep option added
             + CanonTime option added    + CanonResX option added
             + CanonConv option added    + CanonTab  option added
             + CanonPerf option added    + CanonTop  option added
             + CanonForm option added    + CanonPref program added
             + Report program added      + aTBCALL command fixed
             + Check for MemCpy() fixed  + MemCpy()/MemClr() improved
             + CanonType option added
01.06.92  Version 35 Rev 11
          - changes in the documentation
          - a small bug in MemCpy() fixed, causing chars to appear in
            dark graphics
          - misaligned slider in CanonPref fixed
03.06.92  Version 35 Rev 11.1
          - bug in margin command fixed

                          Thanks to
                          ---------

Several  people were involved during the writing of the driver and
documentation.   To  all of them, thank you!  Also I would like to
thank  all  the people who registered the previous driver release.
Without  their  support  and  letters, this driver surely wouldn't
exist.  Keep on supporting the Amiga community!

                           Contents
                           --------

This  disk  contains a printer driver for use with the Canon BJ130
and  BJ130e  printers  and Commodore Amiga computers.  Note, there
are   special   driver  version  available  for  the  BJ10,300,330
printers!

The following files are included on the disk:

"CanonBJ130" -  The printer driver revision 11
"CanonPref"  -  A KS 2.0 (or higher) driver preferences program
"Install"    -  Workbench install program for the CanonBJ130 driver
"Report"     -  A report program telling your preferences/driver settings
"Readme"     -  The documentation file (and/or printed manual)

               Highlights of the CanonBJ130 driver
               -----------------------------------

- builtin support for the arXon electronic centronic switch box
- very fast graphic dumps
- automaticly uses improved code for 68020/30 processors if available
- fully supports WB 1.3, 2.0 and 2.1(!)
- all margins are definable
- paper size is freely definable
- comes with an extra KS 2.0 preferences program for controlling the driver
- install program supplied
- full documentation (should be normal, but it's not!)
- free definable tab stops
- free definable greyscale conversion
- job end signal
- default typeface selectable

                      System requirements
                      -------------------

The  CanonBJ130  driver  is  compatible  with the entire family of
Amiga  computers.   These  include  the  A500, A500+, A600, A1000,
A2000,  A2500,  A2500/30  and  A3000  computers.   The  driver was
designed  to  run  under Workbench versions 1.3, 2.0 and 2.1.  The
CanonPref program was designed to run under Workbench 2.0 and 2.1.

The  CanonBJ130 driver was designed for the Canon BJ130 and BJ130e
printers.




                         Installation
                         ------------

1. Setup and connect your BJ-130 as described in the Users Manual.

2. Set all the printers DIP Switches to the OFF position except
   switch 2-6.

3. Boot your Amiga with your usual System Disk.

4. Insert the Canon-Driver-Disk and select the appropriate
   "Drawer" for the printer.

5. Double Click on the "Install'"program. The "Install" program
   will copy the driver on to the system disk.

   If there is not enough free disk space to install the printer
   driver a requester will pop up saying so. In this case free up
   some disk space on your system disk by deleting unused files.

   If you are a CLI user, simply copy the driver into your
   "devs:printers" directory.

6. Start Preferences on your system disk (if you own Kickstart
   2.0 use the printer preference program). Select the CanonBJ130
   driver and adjust all other preference parameters to your
   environment. See your system manual for more information
   about the preference program. 
7. In case you use Workbench 2.0 (or higher) use the mouse to drag
   the CanonPref icon into your Workbench prefs
   drawer. If your Workbench disk does not allow this because
   no space is left on disk, you can simply drag the programs
   to any other wanted drawer.
8. Start the CanonPref program if you are using Workbench 2.0 (or
   higher). Adjust all parameters to your wanted environment.

Note:   the  install  program  will erase any previously installed
CanonBJ130  drivers  without  asking  you  so.  Also note that the
Commodore  CanonBJ10 driver is a subset of this driver and because
of  this,  you  get  all the functions of the Commodore driver and
even more.




                      Workbench Preferences
                      ---------------------

While  the Workbench preferences program is described in detail in
your  system  manual,  there are three settings which belong to the
driver documentation:

Density:

The driver supported graphic densities:

Density   X-DPI    Y-DPI   X*Y-DPI
   1       180     180      32400
   2       180     180      32400
   3       360     360     129600
   4       180     180      32400
   5       180     360      64800
   6       360     180      64800
   7       360     360     129600

The  desired density can be selected in Preferences or in case you
use  Workbench  2  "PrinterGfx".   Most  application programs also
allow you to select the density before doing a graphic dump.  This
setting overrides temporarily the preferences density setting.

Paper Size:

Under  Workbench 2 and 2.1 (or later) this driver supports the new
introduced papersizes.  Anyway, DIN A4 users may select the Letter
paper  size  instead of DIN A4 to print a DIN A4 letter (2804 dots
wide) in the highest resolution (2880 dots wide).

PaperType:

A  papertype  of  SINGLE will eject a sheet with a Form Feed after
every  print.  Form Feed after a graphic dump is sent according to
the  SPECIAL_NOFORMFEED  flag.   You can use the FANFOLD papertype
setting  to force several dumps to appear on the same page.  Also,
if you need to run InitPrinter often, you may choose the papertype
FANFOLD to avoid printing empty pages.








                     The Driver in detail
                     --------------------

Now  that  you have installed and adjusted the driver, printer and
preference  setting,  there  are some details you should know when
using the driver.

This   driver  automatically  checks  for  the  processor  in  use
(68000,68010   or   68020,68030,68040)  and  optimizes  the  print
routines  accordingly.   Because  of  this, there is no need for a
special .020 version of the driver in order to get the most out of
your turbo amiga.

Aborting  printing  may  often  leave  the  printer  in an unknown
status.  This causes erronious printing on the next dump.  In case
you  abort printing, also switch your printer off and on. Also run 
InitPrinter in order to bring back the printer in a known status.

The driver supports the unique Amiga commands shown below:

          aRIS    reset
          aRIN    initialize
          aNEL    CRLF
          aSGR0   normal char set
          aSGR4   underline on
          aSGR24  underline off
          aSGR1   boldface on
          aSGR22  boldface off
          aSHORP0 normal pitch
          aSHORP2 elite on
          aSHORP1 elite off
          aSHORP4 condensed fine on
          aSHORP3 condensed fine off
          aSHORP6 enlarge on
          aSHORP5 enlarge off
          aDEN6   shadow print on
          aDEN5   shadow print off
          aDEN4   double strike on
          aDEN3   double strike off
          aDEN2   NLQ on
          aDEN1   NLQ off
          aSUS2   superscript on
          aSUS1   superscript off
          aSUS4   subscript on
          aSUS3   subscript off
          aSUS0   normalize the line
          aPLU    partial line up
          aPLD    partial line down
          aFNT0   Typeface 0 (default/Internal CG)
          aFNT1   Typeface 1 (RAM CG)
          aFNT2   Typeface 2 (font cartridge 1)
          aFNT3   Typeface 3 (font cartridge 2)
          aFNT4   Typeface 4 (character set 1)
          aFNT5   Typeface 5 (character set 2)
          aPROP2  proportional on
          aPROP1  proportional off
          aVERP0  1/8" line spacing
          aVERP1  1/6" line spacing
          aSLPP   set form length
          aPERF   perf skip n (n > 0)
          aPERF0  perf skip off
          aLMS    set left margin
          aSLRM   set L&R margins
          aCAM    clear margins
          aTBC3   clear all horiz tabs
          aTBC4   clear all vert tabs
          aTBCALL clear all h & v tabs
          aTBSALL set default tabs
          aRAW    next 'n' chars are raw






                       The CanonPref Program
                       ---------------------

Beside  all  the functions mentioned in the chapter "The Driver in
detail",  there  are  some  more  options unique to the CanonBJ130
driver.   These  options are controlled using commodore's standard
environment  variables.   Those  variables can be set by using the
CLI setenv command, or by using the CanonPref preferences program.

CanonPref  provides  a nice and intuitive user interface and needs
at  least  Workbench  2 to run.  In case you don't use Workbench 2
(V37  and  above), see the chapter "Environment options" on how to
control  the  special  option with a Kickstart 1.3 system.  If you
don't  use these options, default values will be used.  The driver
will  read  the  arguments  set by CanonPref on opening.

Note:   changes  to the options may not take place immeadiatly!!!!
The  options  take  place with the next send aRIN or aRIS command.
You  can send an aRIN command by using Initprinter or flushing the
driver  out  of  memory  (WShell  users may use "Flush"; Commodore
users  may  use the "Stack 40000000" command in order to do this).
CanonPref  automatically flushes the driver out of memory for you.
So  this  note  is  specialy  importent  for  CLI  users not using
CanonPref.

CanonPref  can  be  controlled by the mouse and/or keyboard.  Each
gadget  of the main program corresponds to the underscored letter.
Pressing  that letter is equivalent to clicking on the gadget.  In
the  case  of  a cycle gadget, you can use the upper or lower case
letter  to  cycle  back  and  forth between them.  See your system
manual  on  how to control the file- and fontrequester by keyboard
or mouse.

All  windows  are opened directly under your mouse pointer, so you
don't  have  to  move or scroll the screen to control the program.
Also,  all  windows  are opened on the default public screen.  You
may  specify  a  special  public  screen  by setting the Tool Type
"PUBSCREEN=<screenname>"   (name   is  case  sensitive!)  and  the
CanonPref  program  will  open  it's  windows  on your application
programs  screen.   You  can  specify  a  screen from CLI with the
PUBSCREEN option:

                   CanonPref PUBSCREEN <screenname>

For  instance,  if you use the ASDG text editor "CygnusEd" you may
specify  "CanonPref  PUBSCREEN CygnusEdScreen1" and CanonPref will
open  up  its  windows on the CEDPro screen.  Make sure the CEDPro
screen is public before running the example.

After  starting,  the  main  window  will contain several gadgets,
described  in  detail.  All those gadgets represent an environment
variable  which  can  also  be  controlled  using  the  CLI setenv
command.   I strongly recommend using CanonPref because it is user
friendly and more secure.

Job End:              No Signal (default)
                      Beep
                      Flash
                      Beep&Flash

If  the  printer device gets closed after a dump, you can tell the
CanonBJ130 driver to signal you the end of the print job.  This is
especialy  usefull  on  huge graphic dumps wich might require some
time.   There  are  two  kinds  of  signals.  You can cause a beep
(CTRL-G)  on  the  printer,  a Flash (DisplayBeep) on the Amiga or
both.

Note:   some  applications  print  graphics  in  stripes.   If the
application  program closes the printer.device after every stripe,
you  will  get a signal after each stripe.  So far, I havn't found
an application program with such a bad behaviour.

Port:                 Disabled (default)
                      Port 1
                      Port 2
                      Port 3

The CanonBJ130 driver supports the arXon parallel switch box.  The
arXon  switch  box  is  an  external  1  to  3  centronics  switch
controlable  by  software.   You  can ask the CanonBJ130 driver to
automatically switch to a wanted port for printing and switch back
to  the  previously used port after printing.  This enables you to
use  a scanner, digitizer and printer from your Amiga's centronics
port without switching between the devices "by hand".  Specify the
wanted  printer port in "sbox_printer" and the default port (which
should be set up after printing) in "sbox_active".  If you specify
0 (default) as the port, no switching will take place.

Note:   "sbox_active" MUST be specified before using the driver in
order  to  enable  the  "sbox_printer"  command.   This is because
"sbox_active"  is  used  to  determine  whether  a  switch  box is
installed  or  not.   Information  about  the  switch  box  can be
obtained from:

                          arXon GmbH
                      Assenheimer Str. 17
                      D-W-6000 Frankfurt
                            Germany
                    Tel:  (++49)-69-7896891
                    Fax:  (++49)-69-7896878

Custom Res-X:         0-65535 dots (default 0)

If   the   selected   papersize  in  preferences  (Workbench  2.0:
"Printer")  is  CUSTOM,  this  option  allows  you  to specify the
horizontal  resolution of the printed paper.  For instance, if you
use  Workbench  1.3,  you can specify a X-resolution of 2804 dots,
which  is equal to the DIN A4 size.  If you specify 0 (default) as
X-resolution,  the US-LETTER resolution of 2880 dots will be used.
The allowed range is 0 to 65535 dots.

Top Margin:           1 - <page length-1>  (default 1)

If  "Enable  Form"  is  set  to  ON  (checkmark  on), "Top Margin"
specifies  the  top  margin  in lines.  The top margin defines the
vertical distance between the top of the page and the base line of
the first line on the page.  When the cut sheet paper loading mode
is  selected, this command is ignored.  Using this option together
with  the  preference  settings  for  left,  right margin and page
length, you are totaly free in defining the margins of a page.

Enable Form:          not checked (default)
                      checked

If  "Enable Form" is set to ON (checkmark on), page length (as set
in preferences), top margin (defined by CanonTop), and perforation
skip  (defined  by CanonPerf) will be defined by the driver.  Some
applications  require  a  well  defined paper size and margins for
printing   forms.    The   CanonBJ130  driver  provides  you  such
possibilities!

Perforation Skip:     0 - (form length-1)  (Default: 0 lines)

If  "Enable  Form" is set to ON (checkmark on), "Perforation Skip"
specifies the number of lines that the printer skips at the end of
each  page.   This  causes  the  printer  to  skip the perforation
between  pages  of  continuous  forms.   If 0 lines are specified,
perforation  skip  will  be  disabled.  If the specified CanonPerf
value  is  greater than or equal to the form length (as defined in
the WB preferences program), the skip perforation is cancelled and
the top and bottom margins become inactive.

Paper Length:

This  is a read only gadget showing the paper length as defined in
Workbench  preferences.   You  can  use  the  value  to  set  your
perforation  skip and top margin value.  Changes made to the paper
length  preferences  are  automatically  detected by the CanonPref
program  and  the  gadget  is updated immeadiately without exiting
CanonPref.

Timeout:               1 - 999 (default 30)

In  case  huge  amounts  of  data  are  transfered to the printer,
rendering a picture by the device is much faster than the transfer
of  the  picture to the printer.  If this happens, a requester may
appear  on the screen, saying "Printer trouble...".  The requester
appears  because  the printer device thinks no data got transfered
because  of  a hard- or software failure.  In reality your printer
was busy with feeding a new paper.  With CanonTime you can specify
a timeout before the printer device brings up the error requester.
The  CanonTime  var  is  especially usefull when printing multiple
pages  or  downloading huge fonts using the drivers automatic font
download abilty.  A value of 1 to 999 seconds is allowed.  Setting
a  high  timeout  value  also  has it's drawbacks:  in case a real
error  appears,  you  also  have to wait the given time before you
really can cancel the print job.

Instead  of  defining  a  huge  timeout, there is another solution
available:   use  the  CMD  program  (see  you  Workbench disk) to
redirect  the  parallel/serial  output  to  a file on disk.  After
this,  use  the copy command or a printer spooler to copy the file
to  "par:".   Using this technique, you can safely specify a small
amount of seconds before a timeout.

Typeface:                 default
                          RAM CG
                      Font Cartridge 1
                      Font Cartridge 2

This  cycle  gadget specifies the typeface to be selected on aRIS,
aRIN  and  aFNT0  (i.e.   your  normal  typeface).   If you select
"default" as typeface, the internal typeface will be selected.  If
an  external  font  cartridge  is  selected without font cartridge
installation, the printer is set to offline and the specified font
indicator blinks.


Customize Tabs...:

The  ellipsis  (three  dots)  in  this gadget means, that an extra
window will be opened when you select this gadget.  The gadgets of
the  upcoming  window  let  you customize the horizontal tab stops
settings  of  your  printer.  This is usefull for printing program
listings  and  tables.   For instance:  you can change the default
tab stops settings:

         1         2         3         4         5
12345678901234567890123456789012345678901234567890...
----+---T+----+-T--+----T----+--T-+----+T---+---T+

to:

         1         2         3         4         5
12345678901234567890123456789012345678901234567890...
---T+-T--T--T-+T--T+-T--T--T-+T--T+-T--T--T-+T--T+

Up  to 28 tab stops may be defined.  All tab stops above the limit
of  28  are  ignored and a requester will tell you so.  Horizontal
tabs  are  selected and stored by the printer in character spaces,
not  inches.  Thus, any change in the character spacing can change
the  physical  locations  of  horizontal tabs on the line, but the
logical  positions  remain  unchanged.  With PS fonts, a column is
defined  as  the  width of the current space character at ASCII 32
($20).

You can set/unset a tab stop by simply clicking into the gadget at
the  wanted  position.  A "T" is used for a tab stop.  The "-" and
"+"  chars  are  used  for  helping  you  in  finding  the correct
position.   Using  the  slider below the gadget you can scroll the
"tab  stops"  gadgets to a wanted position.  With "Clear Tabs" you
can  clear  all  tab stops.  With the "n:" and "Set every n chars"
gadgets,  you  can  easily  set  tab stops with the same distance.
Simply  enter  the  distance  into the "n:" gadget and select "Set
every n chars".  Note:  the printer driver uses a default distance
of  8.   If you want to reset you customized tabs stop settings to
the  printer  default  values, simply call "Customize Tabs..." and
the  window  will come up with a default "n:" value of "8".  Press
"Set every n chars" to get the default values.

You  can  leave  the  window  with  the  "Use" or "Cancel" gadget.
Changes  made  to  the tab stops settings are accepted with "Use".
"Cancel"  leaves the tab stops unchanged and any changes made will
be  lost.   Note:   "Use"  does  not save the changes made to your
environment.   This is done by using the "Use" or "Save" gadget in
the main window.

Greyscale Conv...:

The  ellipsis  (three  dots)  in  this gadget means, that an extra
window will be opened when you select this gadget.  The gadgets of
the  upcoming  window  let  you customize the greyscale conversion
function of the printer driver.

You  can define various greyscale conversions for the graphic dump
of  the driver.  This allows you to make a picture brighter (which
is  specially  usefull in high density modes), darker, increase or
decrease   contrast  level.   Now  using  this  feature  is  easy,
understanding  it might not.  So let's try to describe some things
and  after  reading  it twice, simply try it!  You'll be extremely
satisfied with the results....

For more information see the "greyscale conversion" chapter first!

The  "Greyscale  Conversion"  window  contains  16  sliders.  Each
slider represents a value between 0 and 15, were 0 means black and
15  white.   The  order  of  the  16 sliders goes from black (left
bottom)  to  white  (right  upper  side).   For example, following
function (which is the default linear conversion of the driver) is
shown by the sliders:



       bright|                             15
             |                           14        
           13| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
         dark|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright


                       I N P U T


As  you  can easily see, a greyscale value of 13 is printed by the
driver  as  greyscale  value of 13.  So no change.  To define this
linear  greyscale  conversion, you can also click on the "default"
gadget  in  the  lower right side of the window.  "Invert" inverts
every  slider  setting  resulting  in  a printed "negativ" of your
picture.  "gamma +" sets the 16 slider to a value defining a gamma
corretion  function.   The  "gamma" conversion function provides a
way to significantly brighten an image without losing much detail.
"Gamma  -"  is  the  opposite of "gamma +" and results in a darker
printout.  By repeatidly clicking on the "Bright" gadgets, you can
make your printout darker ("Bright -") or brighter ("bright +").

You  can  leave  the  window  with  the  "Use" or "Cancel" gadget.
Changes  made  to the conversion function are accepted with "Use".
"Cancel"  leaves the conversion function unchanged and any changes
made will be lost.  Note:  "Use" does not save the changes made to
your  environment.   This  is  done  by  using the "Use" or "Save"
gadget in the main window.

Cancel:

You  may  leave  the CanonPref program by clicking on the "Cancel"
gadget.  Changes made to the settings will not be saved.

Use:

You  may  leave  the  CanonPref  program  by clicking on the "Use"
gadget.   Changes  made  to the settings will be saved to the ENV:
directory.   Note:   on normal Workbench 2.0/2.1 environments, all
vars  in  the ENV:  directory are temporary and will be erased the
next  time  you  boot  the  machine.  In case you want to make the
settings permanent, use the "Save" gadget.

Save:

You  may  leave  the  CanonPref  program by clicking on the "Save"
gadget.   Changes  made  to  the  settings  will  be  saved to the
ENVARC: and ENV: directory for permanent and temporary use.








                     Environment Options
                     -------------------

You can set options for the CanonBJ130 driver by using the "setenv"
CLI  command instead of the CanonPref program.  This command saves
your option in the "ENV:" directory using a file.  See your system
manual  for  a  complete  description  of  the setenv and "getenv"
command.   The  driver  will  read in the arguments on opening the
printer  device.  In case you don't have enough memory, the driver
refuses to open.

Note:   reading  the  options does not always mean they take place
immeadiately.  So if you make changes by using "setenv", flush the
driver  out  of  memory  or  run "Initprinter" in order to let the
driver  know  about  your changes.  CanonPref will do this for you
automatically.

Remember  that  environment  vars  (they  are stored in the "ENV:"
directory)  are  normaly  erased by booting.  If you don't want to
set  the  environment vars every time you boot, you can place them
in  "ENVARC:"  (Workbench  2.0/2.1)  or  assign  "ENV:"  to  a non
volatile  disk (KS 1.3).  Make sure you use the commodore "setenv"
command  to set the environment vars!  Under KS 2 (or higher), the
driver supports local and global environment vars!  Here is a list
of  the  possible options and their meaning.  As usual, everything
is case insensitve:

             SetEnv sbox_printer <0|1|2|3>  (Default: 0)

The CanonBJ130 driver supports the arXon parallel switch box.  The
arXon  switch  box  is  an  external  1  to  3  centronics  switch
controlable  by  software.   You  can  ask  the  CanonBJ driver to
automaticly  switch  to a wanted port for printing and switch back
to  the  previously used port after printing.  This enables you to
use  a  scanner, digitizer and printer from your Amigas centronics
port without switching between the devices "by hand".  Specify the
wanted  printer port in "sbox_printer" and the default port (which
should be set up after printing) in "sbox_active".  If you specify
0 (default) as the port, no switching will take place.

Note:   "sbox_active" MUST be specified before using the driver in
order  to  enable  the  "sbox_printer"  command.   This is because
"sbox_active"  is  used  to  determine  weather  a  switch  box is
installed or not.

                  SetEnv CanonBeep  0|1|2|3  (Default: 0)

If  the  printer device gets closed after a dump, you can tell the
CanonBJ130  driver to signal you the end of the print job.  This is
especially  usefull  on huge graphic dumps wich might require some
time.   There  are  two  kinds  of  signals.  You can cause a beep
(CTRL-G) on the printer, a DisplayBeep on the Amiga or both.

                      0 = No Action (default)
                      1 = Printer beep (CTRL-G)
                      2 = DisplayBeep
                      3 = Printer beep + DisplayBeep

Note:    some   application   print   graphics  striped.   If  the
application  program closes the printer.device after every stripe,
you  will get a signal for each stripe.  So far, I havn't found an
application program with such bad behaviour.

                  SetEnv CanonResX <num>  (Default: 0 dots)

If  the papersize is CUSTOM, this option allows you to specify the
horizontal resolution for graphic dumps.  For instance, if you use
Workbench 1.3, you can specify a resolution of 2804 dots, which is
equal  to  the  DIN  A4  size.   If  you  specify  0  (default) as
resolution,  the  US-LETTER  resolution of 2880 dots will be used.
The allowed range for <num> is 0 to 65535 dots.

                  SetEnv CanonTime <num>  (Default: 0 seconds)

In  case  huge  amounts  of  data  are  transfered to the printer,
rendering a picture by the device is much faster than the transfer
of  the  picture  to  the  printer.  A requester may appear on the
screen,   saying  "Printer  trouble...".   The  requester  appears
because  the  printer device thinks no data got transfered because
of  a hard- or software failure.  With "CanonTime" you can specify
a  timeout until the printer device brings up the error requester.
The  "CanonTime"  var is especially usefull when printing multiple
pages  or downloading huge fonts, using the drivers automatic font
download abilty.  If you specify 0 (default) as timeout, a timeout
of  30  seconds  will  be  used.  A value from 1 to 999 seconds is
allowed.   Instead  of  defining  a huge timeout, there is another
solution  available:   use  the  "CMD"  program (see you Workbench
disk)  to  redirect  the parallel/serial output to a file on disk.
After  this, use the copy command or a printer spooler to copy the
file  to  "par:".   Using this technique, you can safely specify a
small number of seconds before a timeout.

                 SetEnv CanonType <num>  (Default: 0)

Specifies the typeface to be selected on aRIS, aRIN and aFNT0.  If
you  select 0 (default) as typeface, the internal typeface will be
selected.   If an external font cartridge is selected without font
cartridge  installation,  the  printer  is  set to offline and the
specified font indicator blinks.  At the time of this writing, the
typefaces in table below are supported.

  <num>                 Meaning
   0          printer default internal typeface
   1                    RAM CG
   2                Font Cartridge 1
   3                Font Cartridge 2


       SetEnv CanonConv <num0-15>  (Default: 0,1,2,3,4,5,6,7,8,9,10,
                                                11,12,13,14,15)

You  can define various greyscale conversions for the graphic dump
of  the driver.  This allows you to make a picture brighter (which
is  specialy  usefull  in high density modes), darker, increase or
decrease  contrast level, and do gamma correction.  Now using this
feature  is  easy,  understanding  might not.  Simply try it after
reading  the documentation!  You'll be extremly satisfied with the
results....

For general information see the "greyscale conversion" chapter!!!

You  must  define exactly 16 greyscale values for CanonConv.  Each
value  must  be  in  range from 0 to 15, were 0 means black and 15
white.   The order of the 16 values goes from black to white.  For
example,  you  want  to  define  following  function (which is the
default linear conversion of the driver):



       bright|                             15
             |                           14        
           13| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
         dark|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright


                       I N P U T


As you can easily see, a greyscale value of 13 is printed by the
driver as 13. So no change. To define this linear greyscale
conversion, you must enter in CLI:

  SetEnv CanonConv "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15"

Next time you print graphics, the new conversion function is used.
Defining  and  editing  a  greyscale conversion function using the
setenv  command  is  uncomfortable.  You can use the CanonPref for
editing and defining a function.  When finished with defining, you
can  get  the  values  set  in  CanonPref  by  using  the  "getenv
CanonPref" CLI command.

       SetEnv CanonTab <num1-28>  (Default: 9, 17, 25,...)

This  environment  let  you  customize  the  horizontal  tab stops
settings  of  your  printer.  This is usefull for printing program
listings  and  tables.   For instance:  you can change the default
tab stops settings:

         1         2         3         4         5
12345678901234567890123456789012345678901234567890
        T       T       T       T       T       T


with 'Setenv CanonTab "3 6 9 12 15 18" '  to:

         1         2         3         4         5
12345678901234567890123456789012345678901234567890
  T  T  T  T  T  T

Up  to 28 tab stops may be defined.  All tab stops above the limit
of   28   are  ignored.   All  previous  tabulators  are  cleared.
Horizontal  tabs  are  selected and stored internally in character
spaces, not inches.  Thus, any change in the character spacing can
change  the physical locations of horizontal tabs on the line, but
the  logical  positions remain unchanged.  With PS fonts, a column
is defined as the width of the current space character at ASCII 32
($20).

       SetEnv CanonPerf <0-form length-1>  (Default: 0 lines)

If CanonForm is set to ON, CanonPerf specifies the number of lines
that  the  printer skips at the end of each page.  This causes the
printer to skip the perforation between pages of continuous forms.
If  0  lines are specified, perforation skip will be disabled.  If
the specified CanonPerf value is greater than or equal to the form
length  (as  defined  in  the  WB  preferences  program), the skip
perforation  is  cancelled  and  the top and bottom margins become
inactive.

       SetEnv CanonTop <0-form length-1>  (Default: 0 lines)

If CanonForm is set to ON, CanonTop specifies the top margin.  The
top  margin  defines  the vertical distance between the top of the
page  and  the  base line of the first line on the page.  When the
cut  sheet paper loading mode (MAN, SF1, or SF2) is selected, this
command is ignored.

           SetEnv CanonForm  ON|OFF  (Default: OFF)

If  CanonForm  is  set to ON, page length (as set in preferences),
top margin (defined by CanonTop), and perforation skip (defined by
CanonPerf) will be defined by the driver.









                     Greyscale Conversion
                     --------------------

While your Amiga is able to show color and greyscale pictures on a
monitor, there is no way to reproduce those picture on a black and
white   printer   like   the  Canon  BJ130.   In  order  to  print
color/greyscale  pictures  the  printer driver converts colors and
greyscales  to  an  array  of simple b/w dots.  The greyscales and
colors  are  hereby simulated by using a 4 by 4 dither array.  The
main  process  of  this  function  is  done  by  a function called
"greyscale conversion".  This function takes a greyscale value and
translate  it to a value wich is finaly used to print the original
greyscale value.  The greyscale conversion makes sure, the printed
greyscale matches the greyscale shown on your Amiga monitor most.

Because every printer and picture is different, you need a special
conversion  function  for  every  printer and picture.  Most Amiga
drivers simply use a linear conversion function for every picture.
This  means the amount of printed dots on your printer is directly
proportional   to  the  greyscale  level  of  your  picture.   The
brightness  of printed picture using a linear greyscale conversion
is often not satisfying.  There are two main reasons this:

-  the greyscale levels shown on your monitor are not linear.  For
instance,  the  difference  between two neighboring dark greyscale
levels is not as big as between to brighter levels.

- the Canon BJ printers have a precise printerhead movement.  This
gives  you  the possibility to print 360 dots per inch (dpi).  But
there  is  one  drawback,  which most printers have:  a 1/360 inch
huge  dot  can  not  be  printed.  The dot is a bit greater, which
causes the dots to overlap each other.  This causes a dark printed
picture and a loss of contrast.

To  compensate  these affects, the CanonBJ130 driver allows you to
customize  and  adjust the greyscale conversion function.  You can
also  do  some art work (for instance pseudo colors) by using this
function.

The Amiga printer.device supports up to 16 greyscale levels. These
levels are represented by values from 0 (black) to 15 (white). Now
let's have a look at the default linear conversion function:



       bright|                             15
             |                           14        
           13| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
         dark|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright


                       I N P U T


As  you  can easily see, every greyscale level is unchanged by the
greyscale  conversion  function.   For  instance, a value of 13 is
unchanged.   Now  we  could  simply increase the brightness of the
output, by simply adding 1 to each value:


       bright|
             |                           1415        
           14| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
             |0                         ^
         dark|                          |
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright

                       I N P U T

Now  the greyscale value of 13 would be printed as 14.  A drawback
for  brighten  up a picture this way is the greyscale value 14 and
15.   Both levels would be printed with the same value of 15 which
means  white.  A better method to brighten up a picture is kind of
gamma   correction  function.   The  "gamma"  conversion  function
provides  a  way to significantly brighten an image without losing
much detail:


       bright|
             |                             15        
             |                           14
             |                         13
O            |                       12
             |                   1011
U            |                  9 
             |                8
T            |              7
             |          5 6
P            |        4
             |      3
U            |    2
             |
T            |  1
             |  
         dark|0
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                         bright

                       I N P U T

As you can see, there is no detail lost because several levels got
totaly  black or white.  Though, some levels are printed using the
same  value.   You  can alter is this function to brighten up your
picture even more.  Just try...
There  is  a  gadget for the above shown function in the CanonPref
program  called  "gamma +".  Simply click on the gadget to get the
function above and if you like, alter the function afterwoods.

You  can  make  a  darker  picture  the same way you brighten up a
picture.  Simply lower the levels instead of increasing them.

Now  there  is  even  more you can control by using the conversion
function.   For instance you can increase or decrease the contrast
of the printed picture. For increasing the contrast, you must
increase the steepness of the conversion function for instance
like this:


       bright|
             |                     15
             |                     14
             |                   13
O            |                   12
             |                 11
U            |                 10 
             |                9
T            |                8
             |              7
P            |              6
             |            5
U            |            4
             |          3
T            |          2
             |        1
         dark|        0
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                         bright

                       I N P U T

To decrease the contrast, simply make the function more flat:

       bright|
             |
O            |
             |
U            |
             |                           1415
T            |                       1213
             |                   1011
P            |                8 9
             |            6 7 
U            |        4 5
             |    2 3
T            |0 1
             |
             |
             |
         dark|
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                         bright

                       I N P U T

Using the greyscale conversion function, you are also able to
filter out parts of a picture with a special color. Just try and
I'm sure you'll be satisfied.







                     Hints & Trouble Shooting
                     ------------------------

*  In  case  of stripes and empty lines check your printer margins
(DIP  switches,  preferences  setting, settings within the program
you  use,...).   Also  make  sure  your  computer does have enough
memory.   Specialy Art Department (TM) Professional 2 users should
use  the  "MAXMEM"  option to make sure the driver does get enough
memory  for  printing  or  ADPro  will simply print trash or empty
lines.   About  100  kb  memory  should  be available before start
printing!

*  Data  should  be  sent  to the printer only via parallel.device
(par:)  or printer.device (prt:) and not both together as this may
confuse the printer.

*  In  case  you  found  a  problem with the driver, please send a
description  which makes it possible to reproduce the problem.  For
this purpose, you should provide following information:

-  The disk contains a Report program. Allways include the
   output of this program.
-  Which application program are you using and which version?
-  Which Workbench revision are you using?
-  Include a dump of the program as file (use the CMD program from
   the Workbench disk for this) and in printed form.
-  and if possible: provide a copy of your used Workbench
   disk/application ready set up for printing

*  If  you  are  interested  in  buying  AmigaTeX from Radical Eye
Software,  you  should  buy  the  dvipref  or  dvips+Post AmigaTeX
driver.   This driver also needs the 360*360 fonts which come with
the dvip6 driver.

*  Unable  to  start  CanonPref?   Make  sure  you  have  at least
Kickstart 2.04 and Workbench 2.04 installed right.

*  Unable  to print?  Check you printer cable!  Also make sure the
CanonBJ130 driver is selected in the Workbench preferences program!

*  Printer  doesn't  work  under  Kickstart  2.04  while Kickstart
1.2/1.3  works  fine?  Check your printer cables "online" and "out
of  paper"  lines!  Make sure they are corrected right.  Also if a
device is connected to your serial port:  try after removing it!

*  Paper sheets are ejected and you don't want them to be ejected?
Check  your  Workbench  "paper type" preferences.  Note:  the aRIN
and  aRIS  command  eject a "used" sheet of paper!  So it might be
totaly normal!

*  "Printer trouble..." requester?  Have a look at the "CanonTime"
environment  description  on  how  to  avoid  such requesters from
appearing!    Anyway,  clicking  on  "Resume"  will  continue  the
printings without losses.

*  After  sending  data  to the printer, the last page doesn't get
ejected?   Check  your  Workbench  preferences paper type setting.
Select "Single" sheet!

*  The  driver  doesn't print graphics?  There are several reasons
why this might happen.  First check you Workbench disk.  Make sure
it  is  as  least  Workbench  1.3  and  no  prerelease  version of
Workbench 1.3.  Also make sure your computer has enough memory for
printing graphics (100KB should be enough)

*  Your  graphic  dumps are not really black?  Try a different ink
cartridge  and  paper!   Believe  me:   you can get a really black
dumps!

* After switching from Workbench 1.3 to 2.0/2.1 your dumps doesn't
have  the  same size and resolution?  This most likely will happen
to  users  using  the  DIN  A4  paper  size.   For  instance under
Workbench  1.3  you  used  the  Letter size and after switching to
Workbench  2.0/2.1  the  DIN  A4  size.   Because  the  CanonBJ130
supports  the  new  paper sizes (DIN A4,A5...) you get a different
printouts  under  Workbench  2.0/2.1.   Simply  switch back to the
Letter size to get the same result.


                            _\/_
this is it....   END       /~  ~\
                         \| o  o |/
                     --------  -------  <- the author ;-)
                             \/
