Classic Computer Magazine Archive Article from Atari Classics magazine

Worker
       MOONIiGhT WORkshop

PRiNTiNG WiTH ThE EpsoN INkjET



JEff McWilliAMS, AC STAff ColUMNiST

I'm Back!
    It's a shame that after missing so many issues, the reappearance of "Moonlight Workshop" coincides with the last Atari Classics we might ever see. It's wasn't by design that I've been conspicuously absent from the magazine I helped create. When I moved from Houghton to Alpena (in Michigan) in August of last year, I had hoped to quickly acclimate to my new surroundings and pick up the expanded memory series where I had left off. Those intentions proved overoptimistic.

The Epson Inkjet
    In September I upgraded from a 24-pin printer to the new Epson Stylus 800 inkjet printer. For the first four months I was much annoyed with "teething problems". First I had to find a brand of inkjet paper I could rely on. Weyerhauser First Choice Premium Laser Paper turned out best. At $5.79 per 500 sheets plus $1.50 S&H from MEI/Micro, it's cheaper to buy this good stuff by mailorder than to buy the cheap-o copy machine paper sold locally.
    Two months after I purchased the unit it suffered a mechanical failure and ceased depositing ink on the paper. It worked okay when I got it back from the local Epson service center. Then it started depositing too much ink on the paper, producing smeary letters and random lines of stray ink. Another visit to the dealer, and finally the printer worked properly.
    I then had to worry about purchasing ink cartridges. The Stylus 800 ink cartridge runs $20, which I thought a bit pricey. (By comparison, the HP Deskjet 500 cartridges from MEI/Micro cost $25.37.) It's amazing how fast you use up twenty bucks' worth of ink, even with the printer in economy mode. Unlike dot matrix printers, there don't seem to be generic versions of ink cartridges, just refills-if you can find a place that sells Stylus 800 refills. After some searching, I discovered V-Tech in Hatfield, Pennsylvania. They sell refill kits for $12.50 that can refill a cartridge up to eight times. It took me two months and two phone calls to V-Tech before I reduced the refilling procedure to a more or less error free science.
    I also spent several weeks and a couple hundred sheets of paper reconfiguring every wordprocessing and database application I use. Since I use Textpro 5.0X, AtariWriter-80, and Turboword/Turbofile pretty much equally, I spent triple the amount of time any normal, sane person would to get my computer system accustomed to its new printer environment. Three printer utilities written in Action!, five macros written with Textpro, and one homemade high-speed printer interface later things are beginning to feel like normal. (Whatever "normal" is for a diehard Classic Atari user these days!)
    The printer as a whole is a fine product. A friend who works in a local print shop declared its output to be most impressive. I especially appreciate how quiet it is compared to the whining of my old dot-matrix printer. Not having to deal with fanfold paper is also a plus. I attribute the mechanical failure to my usual bad luck: I got the one unit in a thousand doomed to failure. It happened before with my first 24-pin printer, my first memory upgrade, my first color monitor, and my first floppy drive. [Alchemist's comment. Gee, and all this time I thought it was ME the Murphy demons were after! Well, now I don't feel so persecuted.]
    I've come to expect the worst when I purchase hardware these days. I guess that's why I was so delighted when I installed the Ultraspeed+ OS and the XF551 single drive upgrade from CSS into my hacked 1200XL. Instead of sputtering and dying like everything else I buy, these two products actually worked, and nicely too. I heartily recommend the US+ OS to any XL/XE user, and CSS's line of XF551 upgrades are a no-lose situation for all XF551 owners out there.

Doom For Dot Matrix?
    Dot matrix printers are slowly marching off to obsolescence. Yeesh, I feel like a PCMagazine columnist saying that. Those guys are always preaching about how everyone needs a Pentium-class PC because anything slower or less sophisticated is worthless. They think everybody needs mainframe power to do even mundane household tasks like manage the Christmas mailing list and balance the checkbook.
    In the case of the dot matrix printer though, I think it's true. Faced with the quieter operation, improved speed, sharper output, and declining prices of inkjet and laser printers, the trusty old pin-fired models are being overlooked in favor of the competing inkjet/laser technologies. More and more dot matrix printers should start appearing at garage sales, auctions, and trash dumpsters, ripe for the picking by bargain-hunting 8-bitters.
    It also means that a time will come when some percentage of the 8-bit user community will have an inkjet or laser connected to their Atari. Maybe it's because the 8bit is sharing the printer with a PC; or perhaps it's just that guys like Frank Kweder [AC August '93] and I can't resist the idea of seeing our old Atari driving the newest, fastest gizmo from the mainstream computer market.

Paper & Labels for Inkjets/Lasers
    Whatever the reason for purchasing the printer, woe to the unprepared user who expects it to perform like the old pin-fired models. Unlike dot matrix printers which use continous fanfold paper, inkjets use single sheets of 8-1/2x11 or European A4 paper. Due to the design of the paper handling mechanism, most inkjets can't print at the very top or bottom of the page. This alone will persuade you to get reacquainted with your user manuals for several hours as you try to reconfigure the page characteristics. I had to change settings for total lines per page, printable lines per page, top margin, and bottom margin. The same setting doesn't work for every wordprocessor, which forces you to do a series of test prints followed by readjustments until wordprocessor and printer work together in harmony.
    Any trouble you experience with a wordprocessor is trivial compared to the difficulty you'll encounter trying to print labels from a database or specialized label management application. Like paper, inkjet or laser printer labels come in sheets, not continous strips. And like paper, you can't print at the very top or bottom of a sheet of labels.
    Because of this, the current crop of database and label printing applications for the Classic Atari are incapable of printing address labels on an inkjet or laser printer. Using a proportionally spaced font to squeeze in those long addresses compounds the problem. Not only does the application need to manage the top and bottom margins, it also has to send horizontal tab commands between each label to ensure proportional text lands in the right spot.

December Dilemma
    In December I had to perform my annual ritual of mailing Christmas cards and developed a royal case of frustration/anxiety. If my new printer couldn't manage a fairly simple task such as a Christmas mailing list, then my Atari was becoming truly useless. The consequences of such a possibility were demoralizng. After years of continually upgrading my software and hardware, my efforts to keep my 8-bit capable of meeting my evolving needs would be nullified in one fell swoop by the purchase of a new printer! The very idea really got me down.
    For the first time in my experience as an Atari 8-bit user, the software market failed to supply an application that embraced a new, economically available technology compatable with the Atari. When I needed a database for the Mail Campaign, Turbofile was there, utilizing the capabilities of the XEP80 and SpartaDOS's support of mass storage and subdirectories. Daisy Dot III pushed the envelope when it came to 9-pin dot matrix printed output, and TextPro's macro capabilities are nothing short of brilliant.
    Now comes this inkjet printer technology. The same people who purchased hard drives and products like ICD's MIO or the Black Box from CSS could be expected to also upgrade to an inkjet printer. So here I am, printer in hand, and lacking a shrink-wrapped program to use with it. Our declining software market is increasingly becoming a chain that hobbles the Atari 8-bit way of life.
    Lacking any readily available label software, I chose a simpler, quicker approach to solve my Christmas mailing problem. Taking Turbofile as a starting point, I modified its output with a Textro 5.0X macro. Once modified with the macro and printed as a TextPro document, the resulting output is rendered free of obstacles. Using a sheet of three labels across and ten down, I successfully printed proportionally spaced addresses with no problems. The macro automatically uses proportionally spaced san serif text and allows five lines of text per label.
    The TextPro macro, Turbofile account setup and print format files, and several other TextPro support files are included along with TextPro 5.0x on Side B of the February '94 AC Software Disk. I designed the system to work with SpartaDOS-X. The main portion of these instructions covers using my address labels on a similarly configured system. I'll also give additional instructions for users who don't have SDX or Turbofile.

Using The Macro
    Before we can print a set of addresses on labels, we first must have a database of addresses. This is done with Turbofile. Make sure XMAS.ACT and XMASLABL.FMT are on a Turbofile work disk, or in your Turbofile subdirectory. Initialize the new account with the "I" option from the Turbofile menu; the name of the account is "XMAS.ACT". Entering records into the database will now be fairly straightforward. The Turbofile configuration file is set up to accept six lines of text per record. I suggest only using five of these because the sixth line may be printed too close to the bottom of the label.
    When you're ready to print labels, choose the Print option from the main Turbofile menu, select XMASLABL at the following screen, and do a CTRL-DOWN-ARROW at the screen after that. Then press "F" for file, and type in a filename, WITHOUT a drive specification. It will ask you which drive to save the file to, and whether you want the output in a single column format. Respond with "N" to the last question. The XMASLABL.FMT file does all the dirty work.
    When Turbofile is done "printing" the data to the output file, go back to the main menu, choose "D" for disk operations, and "D" to exit to DOS. Set up your "SYSTEM" and "Textpro" disks if you have to, and make sure the Turbofile output file is in your current working directory. Be sure all TextPro-related batch files, TEXTPRO.COM, and TextPro's MACRO and configuration files (the ones distributed on the program disk as part of the label macro) are contained in either the main directory, your current working directory, or subdirectories listed in your SpartaDOS-X search path.
    If you're not sure about what your SpartaDOS-X search path is or how to change it, grit your teeth and look it up in that dreadful SDX manual provided by ICD. See pages 4-47, 5-4, and 4-59. You can place a "SET PATH= ...." command in either your CONFIG.SYS file or AUTOEXEC.BAT file, or type it directly from the command prompt.
    Once you have everything configured and set up properly, all you have to do is type "-XP FILENAME.EXT [RETURN]" substituting the name of the file you gave at the print menu of Turbofile for "FILENAME.EXT". TextPro and the TextPro macros should do the rest. Be sure your inkjet/laser printer is online, and that labels are loaded. When Textpro finishes rearranging the label data, it will automatically start printing the labels. TFLABEL.MAX will exit to DOS when it is finished printing. If you are in XEP80 80-column mode you don't need to reboot into 40-columns to run the TextPro macro. If you're using the Epson Stylus 800 or Stylus 300, I suggest loading the labels in the regular tray and not feeding them singly through the back. The front feeder handles the labels just fine and with less chance of each sheet being crooked or misfed.
    Macro execution in TextPro isn't lightning fast. It's like running a program in BASIC instead of machine language. My TFLABEL.MAX macro uses all three TextPro banks to process the text. The macro could be optimized to use fewer banks, and to make it faster. I was in a hurry and didn't take time to optimize the macro or to write a program written in a traditional programming language. It speaks well for TextPro's extensive macro capability that I was able to accomplish my task without writing a whole separate program.

Printer Control Codes
    There are a number of printer control codes that TFLABEL.MAX puts into the address label document just before it prints it. A few TextPro PrintKey definitions are also made by the macro, but most of the printkeys have been predefined and saved as part of the TEXTPRO.CNF file, which is why you need it. For reference, the list below shows you what printkey definitions have been saved as part of TEXTPRO.CNF:

A=27
N=113
1=1
B=33
O=107
2=2
C=10
P=40
3=3
D=68
Q=52
4=4
E=69
R=53
5=5
F=130
S=83
6=6
G=70
T=84
7=7
H=229
U=21
8=8
I=64
V=77
9=9
J=25
W=80
0=0
K=11
X=120

L=45
Y=103

M=____
Z=112


    It would have been convenient for me to explain line by line the control codes TFLABEL.MAX sends to the printer to ease the task of modifying it. Unfortunately I don't have the space to do so. Use the above table as a reference when examining the macro to determine what codes are being sent to the printer. Some remarks in the macro itself will give you a general idea of what I did. TFLABEL.MAX uses all three TextPro banks to manipulate the address data. Thus, it uses two 130XE expanded memory banks. TFLABEL can't handle address files larger than about 14K. It was designed for small personal mailing label lists, not something humongous like the AC subscriber database.

Labels For Non-Turbofile Users
    I wrote two extra macros for non-Turbofile users that work much like TFLABEL for Turbofile. These are NEWLIST.MAX and ULABEL.MAX. NEWLIST helps you construct your own address list while ULABEL works like TFLABEL to manipulate and print the data.
    To use NEWLIST make sure that, as above, you have your subdirectories and search path configured properly. Then type "-NEWLIST" and hit RETURN. If you've already used the NEWLIST macro file and want to edit or add to an existing list of addresses, you can use "NEWLIST filename[.ext]" instead. (If you do this, and the file isn't found, NEWLIST won't load properly. You'll have to press the [START] key and type "NEWLIST" to load and activate the macro manually.)
    Once NEWLIST is loaded and running, you'll see an options menu along the top of your screen as follows:
    L - Load file.
    A - Add an address at the current cursor position.
    P - Save file, and then print, via the ULABEL.MAX macro.
    E - Stop execution of the macro, and drop down to the standard Textpro editor. If you do this, use [OPTION]-M to reactivate the NEWLIST menu.
    S - Save file

    If you hit the space bar you'll see an additional menu of options:
    CTRL-UP-ARROW - Move up one address
    CTRL-DOWN-ARROW - Move down one address
    H -    Home position, or top of document
    B -    Bottom of document
    M -    Redisplay the main menu

    Pressing any valid key will do what the description says. Note that key commands from both menus are always active, even though you can only see one menu at a time.
    NEWLIST is simple but really useful. I use it to print disk labels for my 3.5" disks on mailing label stock. Adding the printer control codes for EXPANDED print on the first line of each label makes each disk easier to locate. NEWLIST has no problem accepting these codes as part of an "address" entry. It's up to you to make sure your text fits on the label.

Non-SpartaDOS-X Users
    For people who don't use SpartaDOS-X, using TextPro and its macros isn't so elegant. You can't pass parameters from the DOS command line prompt through a batch file to TextPro, and there's no subdirectory search path capability in other DOS systems.
    With MyDOS 4.51 you almost get there, but not quite. MyDOS does have subdirectory support similar (from the user's point of view) to SpartaDOS-X, and its "Pick Directory" command does seem similar to the SpartaDOS-X search path. It isn't, though, and doesn't work nearly as well. You can, for example, put ALL your TextPro stuff in a subdirectory called "TPRO" on Drive number 4. Then use "R" from the MyDOS menu to set "D:" to be synonymous with "D4:TPRO:". After that, you can load "TPX.COM" without any drive or subdirectory specifier. You'd think that TextPro would be able to find TEXTPRO.CNF, TEXTPROYNT, and TEXTPRO.MAX, which are the standard TextPro support files. It doesn't. TextPro will look on D1: for these files and give up if they aren't there. Go figure.
    Once you've loaded Textpro as just described, manually load TEXTPRO.CNF with [SELECT] [CTRL] -L and TEXTPRO.MAX with [CTRL]-V. Now you're ready for business. Press the [START] key, type "NEWLIST" at the prompt, and TextPro seems able to look to "D:" default drive and directory for the appropriate macro file. The NEWLIST macro will successfully find ULABEL.MAX when it needs to use it.
    If you use Turbofile and TFLABEL.MAX instead of just NEWLIST.MAX, the macro the operations are similar to using NEWLIST.MAX. Use the MyDOS "R" command to select the default drive and subdirectory. Load TextPro, then manually load TEXTPRO.CNF and TEXTPRO.MAX. Then use [CTRL]-L to load in the Turbofile output file. Once the file is loaded, press the [START] key and type "TFLABEL" at the prompt. Things will proceed normally after that.
    Disk-based versions of SpartaDOS (2.3e and 3.2d) are almost as bad as MyDOS. All TextPro files need to be on D1: whereas MyDOS allows you to use a second floppy drive or RAMdisk assigned to something other than D1:. Put all your TextPro files, macros, etc. into a subdirectory on D1:. Use the "CWD" command to change the working directory to the "TPRO" subdirectory. TextPro will successfully find all the files and work okay.
    With all other DOS's, all your Textpro files need to be on D1:.

Auto-Dating Your Letters
    If you use TextPro 5.0X, SpartaDOS-X, and the RTIME8, check out LETR2.MAX on ACs February '94 disk. It's an automated letter-writing macro. Begin by placing ECHO.COM in one of your search path subdirectories. Make sure DATE.BAT from the AC disk is also in a search path subdirectory. Type "-DATE" and press [RETURN]. This will create a small text file containing the current time and date.
    You need two other text files, called RETURNAD.TXT and NAME.TXT. RETURNAD.TXT should contain your return address, and NAME.TXT should contain a closing followed by your name. LETR2.MAX works much like LETR.MAX, which came with an earlier full distribution of Textpro. LETR2.MAX will load the time/date file into one of the extra banks, erase the unwanted material, and incorporate the date as part of your letter. It's a great example of the kind of automation Textpro 5.0X and SpartaDOS-X can offer.

PrintShop and the XEP80
    Daniel Carrodano of Roquebrune, France wrote me a very nice letter wondering if it were possible to print PrintShop stuff to an Epson-type printer using the XEP80 printer port. As I wrote in my December '92 column, the XEP80 doesn't have a standard printer port. The computer won't recognize the XEP80 parallel port without a special "handler" program being loaded first. There currently exists no such handler that works with PrintShop because PrintShop is a self-booting disk that doesn't load DOS and doesn't allow loading of a standard AUTORUN.SYS type program. I'm highly pessimistic about a PrintShop XEP80 patch ever being written.
    However, Print-Filer from DGS in England should work. This program lets you send your PrintShop printouts to a disk file. Once there, you should be able to boot a DOS diskette with the Atari XEP80 AUTORUN.SYS handler present, and use the DOS "C" copy function to copy the PrintShop output file directly to the "P:" device. Print-Filer costs $15.00 including shipping and handling.

Sources:
Dean Garaghty Software
62 Thomson Ave.
Balby, Doncaster
DN4 0NU ENGLAND
+44-302-855-026

Epson Stylus 800 refill kit
$8.90 for ink, $1.25 for Syringe, $2.35 S&H
V-Tech Inc.
Hatfield, PA 19440 USA
215-822-2989