TurboPrint 7.60 on MorphOS

by DoctorMorbius_FP



 
Introduction

Printing was a difficult task that many MorphOS users faced for a long time.

The main printing problem was related to some subtle bugs that affected a few basic routines of the system software, that were upgraded in various instances. The last bug was removed from parallel.device in June 2006, and now everything concerning the management of the internal printing hardware should work fine in your Pegasos. Since then I started to think that the time for updating this article, whose first version was written in July 2004, had finally come.

Another printing problem was (and still is) related to the software adopted by MorphOS for the management of printers: TurboPrint. This is a high quality software designed by IrseeSoft and distributed in the Linux and Amiga markets by ZEDOnet (it is also available for MacOSX as PrintFab2). MorphOS, up to the latest version 1.4.5, contains a version of TurboPrint licensed in 2003 (from now on: TP MOS). This implies that it does not support most of the printers that were designed and produced after 2003.

Note that the executable files in TP MOS are normal Amiga 68k executables run by Trance (the MorphOS JIT compiler that transparently guarantees the compatibility with most 68k, PowerUp, and WarpUp Amiga programs). Only the file MOSSYS:TP/turbo/turboprint.elf is a native PPC executable. Thus, installing the upgrade package, which is formed by 68k programs, you will not degrade in any way the native printing performances of MorphOS.

The lack of drivers for new printers was already a serious problem in 2004, when I purchased an Epson C84 printer. I was aware that the relevant driver was not present in TP MOS, but I decided to risk anyway, since in the worst case the printer could be driven by my old Amiga 4000 PPC. My hope was that the TurboPrint 7.60 software package available in the Amiga market could be used on MorphOS, too. But none had attempted such an adventure before...

Well, I was lucky and then wrote the first version of this article, that is still available on MorphZone. That was just a report with a brief description of my success, and was strictly related to the printing problems that were common at that time. Now that these problems have been solved, it is useful to add (besides the guidelines for updating TurboPrint) a more complete description of the TP 7.60 package, its features, and printer settings in the MorphOS/Pegasos II environment.

 
Installation of TurboPrint 7.60

The package of TP 7.60 was (and, as far as I know, still is) formed by the manual and two floppy disks. A special compatible version of GNU Ghostscript 4.03, the standard tool for displaying and printing Postscript files, is stored on the second disk. Today this is not relevant because all the latest Amiga versions of Ghostscript (version 8.54 is available here) were made compatible with Turboprint by "whoosh", who does the porting of this excellent program. The set of files of the TP 7.60 package is stored on the first disk (whose name is TurboPrint7):

 TurboPrint7:Install
 TurboPrint7:Install.info
 TurboPrint7:installer
 TurboPrint7:personalization
 TurboPrint7:ReadMe
 TurboPrint7:ReadMe.info
 TurboPrint7:turboprefs
 TurboPrint7:turboprint7.lzx
 TurboPrint7:turboprint7gs.lzx
 TurboPrint7:turboprint7hd.lzx
 TurboPrint7:unlzx
 

The manual I received with the package was my second manual because I purchased TP 7.10 many years ago for my Amiga 4000 PPC. So I already knew that some type of copy protection was enabled on the TurboPrint7 floppy disk. In the installation phase the personalization program is run: it asks the user to deprotect the floppy disk, and writes something somewhere on it. Of course for a Pegasos user this is a double obstacle, since MorphOS does not support floppy drives, and a real Amiga is needed to read and write Amiga-formatted floppy disks. So my first dilemma was the following:

What may be the best procedure for an experimental installation of TP 7.60 on my Pegasos II?

  1. Making the installation on my Amiga 4000, and then transferring the relevant files and directories onto the Pegasos II? Or else
  2. copying all the files of TP 7.60 from the floppy, transferring these files onto the Pegasos II, and then making the installation (possibly by hand) there?
At first I was doubtful, but finally I decided to try method (2) first: indeed if (2) fails because of copy protection, you can still try (1) without problems; the reverse may be false, because (1) implies irreversible changes on the floppy disk with unknown results on the files, so (2) can be affected.

Therefore I read the whole floppy disk content of TP 7.60 on my Amiga 4000, wrote it on a rewritable CD, and read this CD on the Pegasos II (today my Amiga 4000 and Pegasos II are in a local network together with two PCs, so I may transfer the data directly via Ethernet). Then I simulated the existence of the floppy disk creating a directory TurboPrint in RAM:, copying all the files therein, and creating a proper assignment:

 1> Assign TurboPrint7: RAM:TurboPrint
 

I used this assignment to fool the installation program and let it think that it was run from the original floppy disk. Then I used my installation trapping program Trap.rexx to try a fake installation and a fake upgrade. Of course you do not need to repeat this experiment: here it is enough to say that

Anyway there are problems because the installation routine and the upgrade routine do not work as they should because they create by default a directory named TurboPrint, while the relevant directory in MorphOS is called TP (MOSSYS:TP). There are many ways that allow to bypass this problem, for instance: However, since the files required for the upgrade are turboprint7.lzx and turboprint7hd.lzx (TurboPrefs can be copied but this is not mandatory), it is simpler to do a manual upgrade. In fact, since in the MorphOS/Pegasos II environment we already have an installed version of TurboPrint, it is extremely easy to add all the new components and substitute all the old components for which there are updated versions.

TP MOS contains 7 directories and more than 260 files. This is the structure that basically should be reconstructed starting from the TP 7.60 files. I created a directory TP in the Ram Disk (with the shell command Makedir RAM:TP), decompacted therein the archives turboprint7.lzx and turboprint7hd.lzx, and copied therein the file turboprefs. After this operation I found 11 directories and more than 350 files in RAM:TP. The directory mwbicons contains alternative icons in the early MagicWorkbench-style, and can be deleted, as well as the directory pictures (that contains two examples). The directories docs and temp are empty, but remember that they should be present in TurboPrint: if you install and use the GraphicsPublisher.

At this stage the simplest way to upgrade TP MOS is the shell command  Copy RAM:TP To MOSSYS:TP All , that overwrites the native MorphOS installation.

This is what you could do just now, unless you want a slightly more optimised installation. Anyway at the time of my first attempt I was very cautious and curious, so, instead of overwriting everything, I made first a byte-to-byte comparison among all the files in RAM:TP and all the files in MOSSYS:TP. The result was that most of the files are equal: actually only the files listed in the following table are different, absent, or located elsewhere in TP MOS. A comment on the status of each file is reported, as well as the suggested action.

File TP MOS Comment Action
colors/C70.tpm Present Updated version Copy to MOSSYS:TP/colors overwriting the TP MOS version
colors/CLJ.tpm Absent New file Copy to MOSSYS:TP/colors
colors/S600.tpm Present Updated version Copy to MOSSYS:TP/colors overwriting the TP MOS version
colors/S800.tpm Present Updated version Copy to MOSSYS:TP/colors overwriting the TP MOS version
colors/SC60.tpm Absent New file Copy to MOSSYS:TP/colors
colors/STP810.tpm Absent New file Copy to MOSSYS:TP/colors
drivers/EscP.tpd Present Updated version Copy to MOSSYS:TP/drivers overwriting the TP MOS version
Extra/BJC-Utility Present "Same" version The files are equal, version included. Only the inner copyright note changes from "(C) 1999 IrseeSoft" to "(C) 2003 ZEDOnet". You can either copy and overwrite, or do nothing.
libs/wizard.library Absent Not available in MorphOS Copy to SYS:Libs so any other program that needs the functionalities of this library can find it, too.
(Note that this is V38.136, there is V42.100 around...)
printers/Canon_i250.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i320.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i350.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i550.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i560.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i850.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i86x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i950.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_i96x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S200.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S300.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S330.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S500.tpp Present Updated version Copy to MOSSYS:TP/printers overwriting the TP MOS version
printers/Canon_S520.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S530.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S750.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S820.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S830.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S900.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Canon_S9000.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusC20UX.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusC40UX.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusC42.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusC60.tpp Present Updated version Copy to MOSSYS:TP/printers overwriting the TP MOS version
printers/Epson_StylusC62.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusC64.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusC82.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusC84.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusPhoto810.tpp Present Updated version Copy to MOSSYS:TP/printers overwriting the TP MOS version
printers/Epson_StylusPhoto830.tpp Absent New file Copy to MOSSYS:TP/printers
printers/Epson_StylusPhoto950.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet122xC.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet381x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet382x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet515x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet5550.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet565x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet585x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_DeskJet612x.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_LaserJet1100.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_LaserJet1200.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_LaserJet1300.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_LaserJet2xxx.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_PhotoSmart1000.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_PhotoSmart11xx.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_PhotoSmart12xx.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_PhotoSmart13xx.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_PhotoSmart71xx.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_PhotoSmart73xx.tpp Absent New file Copy to MOSSYS:TP/printers
printers/HP_PhotoSmart75xx.tpp Absent New file Copy to MOSSYS:TP/printers
turbo/tha Present "Old" version The files are equal. Only the version changes from "TURBOprint Hardcopy 7.00 (06 NOV 1998) (C) IrseeSoft" to "TURBOprint Hardcopy 7.30 (12 FEB 2003) (C) ZEDOnet". You can either copy and overwrite, or do nothing.
turbo/tp8 Present Updated version Copy to MOSSYS:TP/turbo overwriting the TP MOS version
GraphicsPublisher Absent Not available in MorphOS Not mandatory, but extremely useful. Copy it to MOSSYS:TP or wherever you want.
GraphicsPublisher.info Absent Not available in MorphOS This is the icon of the previous file and must be put with it.
NoTurbo Absent Not available in MorphOS This is used in the installation phase to deactivate a previous version of TurboPrint already running. Its presence is not mandatory, but you can copy it to MOSSYS:TP, if you want.
NoTurbo.info Absent Not available in MorphOS This is the icon of the previous file and must be put with it.
TurboPrefs Present This is hidden in MorphOS as MOSSYS:TP/turbo/ttp TurboPrefs functionality is already embedded in the Ambient preference system (choose the Ambient "Settings/System Settings..." menu, and then press the "Printer" icon).

You can either copy TurboPrefs to MOSSYS:TP, or do nothing. If you copy it, then it will be available even from the printer setting window of the GraphicsPublisher program. Furthermore, while the Ambient functionality allows the user to access seven tabs in the relevant MUI window, this version of TurboPrefs allows you to access an additional eighth tab, named "Hardcopy", for further settings.

Do not overwrite MOSSYS:TP/turbo/ttp with this new version because it will open a requester in the startup phase at each reset. (You can close the requester and go on, but this is annoying.)
TurboPrefs.info Absent Not available in MorphOS This is the icon of the previous file and must be put with it.
TurboSpool Absent Not available in MorphOS Not mandatory, but you can copy it to MOSSYS:TP, if you want.
TurboSpool.info Absent Not available in MorphOS This is the icon of the previous file and must be put with it.
TurboSpoolPrefs Absent Not available in MorphOS Not mandatory, but you can copy it to MOSSYS:TP, if you want.
wizardturboprefs.wizard Absent Not available in MorphOS Not mandatory, but you can copy it to MOSSYS:TP, if you want.
wizardturbospool.wizard Present "Same" version The files are equal, version included. Only some inner marks in three points of the files change from " 1997 IrseeSoft" and " 1998 IrseeSoft" to " 2003 ZEDOnet". You can either copy and overwrite, or do nothing.

Users of the TurboPrint package on the Amiga know that the TurboPrefs program displays the serial number of the package required by the personalization program during the installation phase. Here we did not pass through that phase, but the program runs anyway, displaying the serial number 000000. I presume this is an effect of the agreement between the MorphOS Development Team and IrseeSoft/ZEDOnet.

 
Printer connection and printer settings

I connected my Epson C84 printer to the Pegasos II by means of an USB cable, and noted that Poseidon immediately detected its presence. To see this I activated the "System settings/USB" module of Ambient and read the message window (set "Information level:" to "All messages", if you have not yet done it). As soon as you power on the printer, Poseidon reports something like this: "printer.class | Please welcome 'USB Printer' to the family at usbparallel.device unit 0!".

The fact that the system software recognizes the printer is important, but you will never print a single drop of ink without the correct settings. So the next step was the activation of the "System settings/Printer" module of Ambient. In the following pictures you will see the settings that worked for my printer, but you can adopt most of them because they have general validity.



Ambient - "Settings/System settings..." menu - "Printer" icon - "Printer" tab

Printer tab


Ambient - "Settings/System settings..." menu - "Printer" icon - "Config" tab

When you open this window and the following for the first time, many items are already set by default. If you want to do a print test soon, do not change their values; you can modify them as you wish in a subsequent phase.

Config tab


Ambient - "Settings/System settings..." menu - "Printer" icon - "GfxSize" tab

GfxSize tab


Ambient - "Settings/System settings..." menu - "Printer" icon - "Graphics" tab

Please note that the most important setting in this window is the check on "16 Mio. Colours". If you do not activate this you will not have well-coloured prints.

Graphics tab


Ambient - "Settings/System settings..." menu - "Printer" icon - "Text" tab

Please note that the most important setting in this window is the checked box on the left of the "Text as Graphics" button. Many modern printers either have a very small set of default inner fonts (that they use when working in text mode) or work only in graphics mode. You can recognize the latter case because, when the "Text as Graphics" box is not checked, the name and size buttons (that should be used for the selection of inner fonts of the printer) are ghosted if the printer driver knows that the printer has no text mode. In such a case you should check the box and press the "Text as Graphics" button...

Text tab


Ambient - "Settings/System settings..." menu - "Printer" icon - "Text" tab - "Text as Graphics" button

... When you press the "Text as Graphics" button, this window opens. TurboPrint will transform automatically any text in graphic data for the printer after you insert correct font settings in this window. For this purpose it is preferable to choose TrueType fonts, since these fonts can be scaled without degrading their aspect. The font settings reported here are useful if you want that your editor and similar programs print using monospace fonts (in this case I chose the couriernew family). The number on the right (75 in this case) is a scaling percentage for fine adjustment of the size of printed characters. In this example, the value 75 was chosen to really have 15 cpi when printing, like specified in the left button. Acting on this button it is possible to select the standard text sizes for printer fonts: 10 cpi, 12 cpi, 15 cpi, and enlarged. For each size you should specify the use of 4 specific fonts in the selectors on the right.

Text tab - Text as Graphics button
You can find experimentally the correct scaling factor for your printer and your favourite monospace fonts. I printed some text at "15 cpi" (scaling factor 100) and measured with a ruler how many characters per inch were really present on paper. Since there were too few cpi, I reduced the scaling factor until I found that 75 was the correct percentage for my printer. Note that the scaling factor may also be greater than 100.


After these settings, I assumed to be ready and started to test. Wordworth, AmigaWriter and PageStream printed text and graphics without problems. Also CygnusEd, GoldEd, and YAM gave optimal results, as well as redirected shell commands such as Echo >PRT: "<sentence>" or Type >PRT: <textfile>.

Then I started to use the GraphicsPublisher program of the TP 7.60 package. This program displays a sheet where the user can assemble and edit his graphic compositions. The user can load pictures and write texts. Each picture can be placed anywhere, as well as scaled, rotated, and color-corrected in many ways. Similar functionalities are available for texts. Also the overlap priority of the objects can be managed. Once everything has been assembled, the result can be printed and/or saved for future use.
Graphics Publisher
Although the GraphicsPublisher is relatively old and had no upgrades in the last few years, it is an excellent program. The only problems I encountered during its use are related to very few graphic garbage that appears in some control windows and the fact that it does not recognize PNG pictures. It soon allowed me to obtain very fine printings. Remember that for best graphics performance you might want to set the "Density" value to 4 or 5 in the setting window that can be opened by clicking on "Settings/System settings" menu - "Printer" icon - "Config" tab.

Note 1. Please remember that, if you use the GraphicsPublisher, you should create a directory named docs in the MOSSYS:TP/ drawer because the program needs this directory to write a file when it quits (otherwise it complains, but you can ignore it). It is possible that the GraphicsPublisher also asks for a directory named temp in the MOSSYS:TP/ drawer, so create this as well.

Note 2. Of course you know that the best subjects for graphic tests are... ehm... naked women because there are so many warm pink tones on their skin that our eyes detect soon any printing imperfection and ignore completely any other detail.

Finally, I made another experiment detaching the USB cable and connecting the parallel ports of the printer and the Pegasos II. I used the same settings reported above, except that I had to set "parallel" instead of "device" in the "Port" selector that appears in this setting window. I observed no difference in results and performances.

 
Conclusions

All the previous descriptions certainly are interesting, but a critical question arises. Epson C84 was substituted by C86 just in 2004, when the first version of this article was written; then these models were followed by C88 and D86, now substituted by D88 and D88 Plus. Similar series of changes concern Canon and HP models, too. But we are still locked at version 7.60 of TurboPrint. Is this software dead like many other Amiga applications?

The answer is positive and negative at the same time. Linux and MacOSX versions of TurboPrint are actively developed, while only the development of the Amiga version seems to be currently suspended. This is not strange: IrseeSoft/ZEDOnet want to survive, and their energies must concentrate on the markets where selling is profitable. Anyway the situation is not completely adverse for MorphOS and Amiga users, because an unexpected effect of the printer race towards technological perfection makes TP 7.60 still useful for a number of current products.

Today, jet printing has reached such an advanced level of hardware refinement and reliability that printing resolution is much higher than human eye resolution capabilities. Each single dot of a printed image (that you can see only using a magnifying lens) is actually created by means of a mosaic of many smaller microscopic ink drops. The result is that many new printers often use the same almost perfect printing head, while changes from old models to new models only concern aesthetic aspect, printing speed, sound level, ink quality, and cartridge structure and price. All the above-mentioned Epson models are equipped with printer heads having 180 nozzles for black and 59 nozzles for each color (cyan, magenta, and yellow). So the C84 printer driver of TP 7.60 is able to drive any model of this family (I and other users tested successfully C86, C88, D88, and D88 Plus printers, reporting the results on MorphZone and/or the MorphOS mailing list). It is possible that this is true for many Canon and HP models, too.

The previous argument seems to be a poor source of satisfaction. MorphOS users appear like zombies that emerge from a ground made of recent hardware and corpses of old applications... Even if this picture of the current state of the things is not completely true, we must admit that the Amiga market entered a long-standing stagnation phase since years. Today only the current development of MorphOS for EFIKA boards seems a fact potentially able to attract renewed interest on some excellent Amiga applications. Will this be enough to restart the market? Currently we do not know and, as always, we must only wait and see (and hope in the meanwhile...).

 
Acknowledgements

I would like to thank David Brunet, Arnaud "bigdan" Danassie, and Gilles "The bûcheron" Mathevet. Their attempts to translate the old version of this article were frustrated by myself (sorry!), but in the end urged me to write this revised and extended version of "TurboPrint 7.60 on the Pegasos II", meditated since a long time but never realized before. The existence of this update is fully their merit.