Subject: Re: Various ramblings...
To: Monroe Williams <monroe@teleport.com>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: macbsd-general
Date: 08/22/1995 15:41:07
> 
> And now for something completely different...
> 
> I'm working on a ghostscript driver for the old Apple Stylewriter I. Since
> I have no docs on the control codes for the printer, I started by capturing
> the serial data the Apple printer drivers send back and forth and went from
> there. I currently have a MacOS program (mostly standard C) that can run
> the printer well enough for my purposes, and I'm looking at how to turn it
> into a ghostscript driver.
> 
> Turning what I have into a ghostscript driver looks pretty straightforward
> -- the ghostscript docs even suggest which existing drivers to use as
> examples. The main problem is that the printer doesn't use any conventional
> form of flow control (i.e. neither xon/xoff or DTR/CTS). There is a command
> which returns a status byte, and the driver uses this byte to tell when the
> printer has finished printing what it has and is ready for more data. I
> haven't looked into the ghostscript/unix printing architecture very deeply
> yet; are drivers that actually need to interact with the printer (i.e.
> two-way communication) supported? Will I need to write a special printer
> daemon or something? 

I just got a copy of Ghostscript to work with the DeskWriter and friends.
The problem with it is that the serial ports don't work well. There are a
number of people working on the problem, though no success yet.

Getting Ghostscript to compile was no big problem. Wading through the
documentation was. Once I ran the config right, it compiled fairly well.

Isn't the stylewriter basically a Canon BubbleJet? Or am I way off? There
is an existing BubbleJet driver which might be a good inspiration.

Are you sure about the command to get the status byte? That seems too
weird to me. It's not what the DeskWriter does. The DeskWriter's method
is what I'd copy if I was making a printer. Though if the book says
this command exists, I sit corrected. :-)

The DeskWriter sends a status byte every other second. If the printer
is busy, one letter comes back. A different one says "waiting".  A
third says out of paper, a 4th off line, etc. But handshaking is done
via hardware flow control (which, unfortunatly, I can't really get
to work at the moment).

[snip]
> Someone on the list was talking about making netatalk work under NetBSD,
> but I never saw anything about it after an initial post a while ago. Did
> this ever happen? I took a quick look at the netatalk sources, and it looks
> like the kernel stuff is just a Loadable Kernel Module, but it's written
> for SunOS; I'd have quite a bit of learning to do before I could even think
> about making a NetBSD version. (Do lkm's even work in NetBSD/mac68k? They
> don't seem to be enabled in any of the default config files...) 

Hmm. What does this code do? Where did you get it?

> One more thing (I know this has been talked about before, but I don't remember
> what the answer was).  Are the patches to X11R6 for NetBSD/mac68k available
> somewhere?

(Somewhere) there is a version of X11R6 pre-built for MacBSD. I think on
puma, or on eskimo.com. I got it, and it works well.

Good luck!

Take care,

Bill