[comp.protocols.appletalk] LaserWriter 7.0 vs. LaserWriter 6.1 vs. lwsrv

dplatt@ntg.com (Dave Platt) (05/16/91)

I just tried using LaserWriter 7.0, with the CAP 6.0 software patched up
through #15, and an initial collection of procsets captured from
LaserWriter 6.1.  Sigh... doesn't work properly... the job aborts
without printing anything, due to a missing command "sgd".

It seems that between LaserWriter 6.1 and LaserWriter 7.0, Apple has
made some changes in the driver and its dictionary, so that the 6.1
driver's output won't work with the 7.0 driver's prep-file or vice
versa.  This would not be a problem for lwsrv, EXCEPT THAT APPLE DID NOT
CHANGE THE APPLEDICT REVISION NUMBER!  [pardon me for shouting... I'm a
bit annoyed.]  Both of these prep-files describe themselves as being
"appledict 71 0", and yet they are different and mutually incompossible.

Sigh again.  I'm rapidly coming to the conclusion that lwsrv's handling
of the LaserPrep file... which was both necessary and sufficient for the
LaserWriter 5.2 driver and its earlier cousins... is _neither_ necessary
nor workable in the New Era of non-persistent prep-files.

It's no longer really necessary to strip out the prep-file transmitted
by the LaserWriter driver, hand-edit it to remove the "exitserver"
coding, and automagically reinsert the edited version on-the-fly when
spooling a job.  There's no longer any "exitserver" code in the main
prep-file... and we apparently cannot depend upon Apple to disambiguate
different versions of the prep-file by changing the revision number when
compatibility is lost.

So... I think I'll see if I can work up a new set of patches to lwsrv,
which will simply allow newer versions of AppleDict (>= 71) to pass
through unmodified.



-- 
Dave Platt                                                VOICE: (415) 813-8917
              Domain: dplatt@ntg.com      UUCP: ...apple!ntg!dplatt
 USNAIL: New Technologies Group Inc. 2468 Embarcardero Way, Palo Alto CA 94303

moyman@ecn.purdue.edu (Mike Moya) (05/16/91)

In article <462@goblin.ntg.com> dplatt@ntg.com (Dave Platt) writes:
>I just tried using LaserWriter 7.0, with the CAP 6.0 software patched up
>through #15, and an initial collection of procsets captured from
>LaserWriter 6.1.  Sigh... doesn't work properly... the job aborts
>without printing anything, due to a missing command "sgd".
>
Hmmmm, it's been working fine for me for over a month now...
--moya

majumdar-aloke@CS.Yale.Edu (aloke majumdar) (05/20/91)

Dave> Sigh again.  I'm rapidly coming to the conclusion that lwsrv's handling
Dave> of the LaserPrep file... which was both necessary and sufficient for the
Dave> LaserWriter 5.2 driver and its earlier cousins... is _neither_ necessary
Dave> nor workable in the New Era of non-persistent prep-files.

Dave> It's no longer really necessary to strip out the prep-file transmitted
Dave> by the LaserWriter driver, hand-edit it to remove the "exitserver"
Dave> coding, and automagically reinsert the edited version on-the-fly when
Dave> spooling a job.  There's no longer any "exitserver" code in the main
Dave> prep-file... and we apparently cannot depend upon Apple to disambiguate
Dave> different versions of the prep-file by changing the revision number when
Dave> compatibility is lost.

Dave> So... I think I'll see if I can work up a new set of patches to lwsrv,
Dave> which will simply allow newer versions of AppleDict (>= 71) to pass
Dave> through unmodified.

	I've been using lwsrv to spool Mac Output to a DEC LPS40. The standard
AppleDict from Apple will not work (the DEC print queue flushes it). I have to
use a modified AppleDict (with the same version number) which gets inserted into
the print job in place of the real McCoy. This is done without needing to change
anything in the user's configuration.

	As you can readily see, this is only possible because lwsrv has the
option of inserting a customized procset masquerading as the real one. If the
procsets are no longer stored on the spooler side, this very desirable feature
of lwsrv will be lost.

	So while I see the need for some kind of change in the way lwsrv works,
I wouldn't like to lose the option of spooler-cached procsets. Sorry I can't add
anything more constructive at this point.

Aloke Majumdar

mday@picasso.mmwb.ucsf.edu (Mark Day) (05/21/91)

dplatt@ntg.com (Dave Platt) writes:

>I just tried using LaserWriter 7.0, with the CAP 6.0 software patched up
>through #15, and an initial collection of procsets captured from
>LaserWriter 6.1.  Sigh... doesn't work properly... the job aborts
>without printing anything, due to a missing command "sgd".

I'm also having problems with printing to lwsrv from a Mac upgraded to
System 7.  In my case, no matter how I massage the "ProcSet", I am unable
to get anything out of the printer besides a blank page (not even a
PostScript error page).  I captured the PostScript output from lwsrv, and
noticed that 2 copies of the AppleDict header were being sent to the
printer.  I then created a procset file that basically consisted of just:

%%BeginProcSet: "(AppleDict md)" 71 0
%%EndProcSet

This resulted in only a single copy of the header being sent, but only
blank paper comes out of the printer.

Has anyone been able to get lwsrv to work with output from LaserPrep 7.0?
At this point, I'm interested in *any* solution (no kludge is too ugly).
Needless to say, my disabling of all printing as a result of this upgrade
has severely damaged my chances for "Miss Popularity" in this year's pageant.

Thanks,
--
Mark Day
Dept. of Pharmaceutical Chemistry		mday@picasso.mmwb.ucsf.edu
University of California, San Francisco		..ucbvax!ucsfcgl!mday
Voice: (415) 476-5326	FAX: (415) 476-0688