Article View: net.micro.atari16
Article #2647Re: Printer Problems :-(
From: Brian Katzung
Date: Sat, 01 Nov 1986 00:21
Date: Sat, 01 Nov 1986 00:21
46 lines
3058 bytes
3058 bytes
[Pacman lives]
Sounds familiar... I bought my atari, soldered up a parallel cable for my
old OKIData Microline 92 which was formerly speaking RS232 serial, tried to
print some things, swore a little, flipped some option settings, etc. After
I got the basics to go, I tried a screen dump and got the same results as you
did (looks like blank bands between each print pass).
I didn't have a better way to view the control stream, so I put the
printer in low-res mode for 480 bytes but gave it no data, and then started
a screen dump. Decoding the pixel patterns, I found the following ugly
sequence at the end of the first line of graphics data (I don't know about
the other lines, but I assume they're the same; they *LOOK* the same):
ESC '3' 1 (theoretically, advance in 1/216" increments)
LF (OKI/Epson stepper can only step 1/144", so does 1/144")
ESC '3' 1 (beats me why they do it again)
LF (another 1/216" (IBM) or 1/144" (OKI/Epson))
LF (and another)
ESC '1' (set 7/72" mode)
LF (travel 7/72" (everybody))
(The 7/72" mode is correct, but I'm working from memory on the ESC '1'
code, so that might not be the correct character sequence.)
This whole mess is supposed to advance the 8/72" height of the print head.
The stepper motors for the OkiData (and, I guess, the Epson series) step
in 1/144" steps instead of 1/216", so the printer goes 1/144" on a 1/216"
request to avoid the problems of not spacing at all. The problem is
that after three 1/144" steps, we've gone 1/144" beyond 3/216" (1/72").
The printer corrects advances of 3/216" steps to 2/144", but it doesn't
have the smarts to correct them when they come 1 or 2/216" at a time.
If the 1/216" section had been replaced with
ESC '3' 3
LF
the problem would not have shown up (at least in screen dumps).
I have a call in to Atari to see if they already have a simple solution to
this (besides buying an IBM printer). If not, I wrote an algorithm to
correct accumulative and local error on the fly. If Atari doesn't have
an easy answer, I will also write the code to insert my algorithm between
the BIOS trap vector and the lst: output routine (it's an ugly scheme, but
what can you do when your *OS is in ROM?).
Anyone who is interested in the results should send me mail. If I get a
large response, I'll post them.
-- Brian Katzung (ihnp4!{laidbak,iwtpu}!katzung)
Technical Details
Message-ID:
<183@iwtpu.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!seismo!columbia!rutgers!clyde!cuae2!ihnp4!iwtpu!katzungReferences:
<1619@i.cc.purdue.edu>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!columbia!rutgers!clyde!cuae2!ihnp4!iwtpu!katzung From: katzung@iwtpu.UUCP (Brian Katzung) Newsgroups: net.micro.atari16 Subject: Re: Printer Problems :-( Message-ID: <183@iwtpu.UUCP> Date: Fri, 31-Oct-86 19:21:53 EST Article-I.D.: iwtpu.183 Posted: Fri Oct 31 19:21:53 1986 Date-Received: Mon, 3-Nov-86 20:15:03 EST References: <1619@i.cc.purdue.edu> Reply-To: katzung@iwtpu.UUCP (Brian Katzung) Organization: ATT-IS Naperville, Il. Lines: 46 Keywords: Epson MX100 screen dumps Summary: That's one small step for an IBM, one giant leap for OKIData/Epson