🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.atari16
Article #2647

Re: Printer Problems :-(

#2647
From: Brian Katzung
Date: Sat, 01 Nov 1986 00:21
46 lines
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!katzung
References: <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