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. PostScript is a trademark of Adobe Systems Incorporated. PageStream is a registered trademark of Soft-Logik Publishing Co. Professional Page is a trademark of Gold Disk Inc. AGFA, Compugraphic and Intellifont is a registered trademark of AGFA 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: 25.07.91 Version 35 Rev 1 25.10.91 Version 35 Rev 1.1 test version / not released to public shading/reverse bug removed 28.10.91 Version 35 Rev 1.2 lf/cr bug removed 08.12.91 Version 35 Rev 1.3 On request: HQ/DRAFT setting doesn't affect graphic dumps 20.04.92 Version 35 Rev 3 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 + CanonType option added + CanonFeed option added + Report program added + aTBCALL command fixed + Check for MemCpy() fixed + MemCpy()/MemClr() improved 25.05.92 Version 35 Rev 3.01 HQ/DRAFT setting doesn't affect graphic dumps (now works... sorryyy) 01.06.92 Version 35 Rev 4 - 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 4.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 BJ300 and BJ330 printers and Commodore Amiga computers. Note, there are special driver version available for the BJ10, 10ex, 130, 130e printers! The following files are included on the disk: "CanonBJ300" - The printer driver revision 4 "CanonPref" - A KS 2.0 (or higher) driver preferences program "Install" - Workbench install program for the CanonBJ300 driver "Report" - A report program telling your preferences/driver settings "Readme" - The documentation file (and/or printed manual) Highlights of the CanonBJ300 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 - paper feed selectable System requirements ------------------- The CanonBJ300 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 CanonBJ300 driver was designed for the Canon BJ300 and BJ330 printers. Installation ------------ 1. Setup and connect your BJ-300/330 as described in the BJ-300/330 Users Manual. 2. Set the printers DIP Switches SW1-1 and SW1-2 to ON position all other switches may be left at default or customised appropriatly. 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-BJ300" 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 CanonBJ300 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 CanonBJ300 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 360 360 129600 2 180 180 32400 3 120 360 43200 4 180 360 64800 5 240 360 86400 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 aSGR3 italics on aSGR23 italics off 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 Courier 10 or selected typeface aFNT1 Letter Gothic 10 aFNT2 Prestige 10 aFNT3 Font Modul BJFC-301 General: Script 10 aFNT4 Font Modul BJFC-301 General: Press Roman PS aFNT5 Font Modul BJFC-302 OCR: OCR-A aFNT6 Font Modul BJFC-302 OCR: Olde World 10 aFNT7 Font Modul BJFC-302 OCR: Prestige Symbol aFNT8 Font Modul BJFC-303 Modern: Presentator 10 aFNT9 Font Modul BJFC-303 Modern: Orator 10 aFNT10 Font Modul BJFC-303 Modern: Gothic Symbol 10 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 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 CanonBJ300 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=" (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 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 CanonBJ300 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 CanonBJ300 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 CanonBJ300 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 - (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 CanonBJ300 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. Feed: Disabled (printer default) Manual Top Bin 1 Top Bin 2 Envelope The CanonBJ300 driver allows you to select a special paper feed. The setting takes effect on the installed optional auto cut sheet feeder. The setting is ignored when the FORM mode is selected for using fan fold paper. Note: if the Envelope Bin is selected, the BJ-300/330 will select Bin 1 to load from. Type: Courier (default) Letter Gothic Prestige Pica Script Press Roman Boldface Thesis OCR-A OCR-B Olde World Prestige Symbol Presentor Orator Essay PS Gothic Symbol This cycle gadget specifies the typeface to be selected on aRIS, aRIN and aFNT0 (i.e. your normal typeface). If an external font cartridge is selected without font cartridge installation, the printer will ignore the typeface setting. 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 CanonBJ300 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 CanonBJ300 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 CanonBJ300 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 (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 is 0 to 65535 dots. SetEnv CanonTime (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 CANONFEED (Default: 0) With this var you can set the paper feed mode. can range from 0 to 4. The setting takes effect on the installed optional auto cut sheet feeder. The setting is ignored when the FORM mode is selected for using fan fold paper. Note: if the Envelope Bin is selected, the BJ-300/330 will select Bin 1 to load from. Meaning 0 Disabled (printer default) 1 Manual 2 Top Bin 1 3 Top Bin 2 4 Envelope SetEnv CanonType (Default: 0) Specifies the typeface to be selected on aRIS, aRIN and aFNT0. If you select 0 (default) as typeface, the internal Courier typeface will be selected. If an external font cartridge is selected without font cartridge installation, the printer will ignore the typeface setting. CanonType Meaning 0 Courier (default) 1 Letter Gothic 2 Prestige Pica 3 Script 4 Press Roman 5 Boldface 6 Thesis 7 OCR-A 8 OCR-B 9 Olde World 10 Prestige Symbol 11 Presentor 12 Orator 13 Essay PS 14 Gothic Symbol SetEnv CanonConv (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 (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 BJ300. 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 CanonBJ300 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 CanonBJ300 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 CanonBJ300 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 ;-) \/