Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Apple » Apple II Emulation » GSPort and hardware serial ports
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: GSPort and hardware serial (& network) ports [message #394490 is a reply to message #394474] Tue, 12 May 2020 09:36 Go to previous messageGo to next message
roughana is currently offline  roughana
Messages: 212
Registered: November 2012
Karma: 0
Senior Member
Wow, great article. Thanks for pointing out this resource. I need to find
out what else has been written about in the Apple II domain.

On 5/11/2020 12:03 PM, awanderin wrote:
> Hugh, you might want to take a look at the "Apple IIgs Printer Drivers"
> article in this issue of develop magazine from 1990
Re: GSPort and hardware serial (& network) ports [message #394541 is a reply to message #394474] Thu, 14 May 2020 01:59 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: awanderin

Hugh Hood <hughhood@earthlink.net> writes:

> Jerry,
>
> That's a fantastic article you referenced, and is very much on point.
>
> I printed that and will digest it, as it has some information I hadn't
> seen before.
>
> I'm impressed that you could pull out of your 'memory bank' a
> reference to a 30-year-old article that was very pertinent to the
> problem at hand.
>
> Hugh Hood

Well, back in the 80s and 90s I tried to write a IIgs printer driver,
and I never finished it, but the interest remains somewhere in my head.
So when I saw this article a while ago, I saved a copy, and all I had to
do is find out where I had found it.

I hope you have more success than I did at getting to DONE!


--
Jerry awanderin at gmail dot com
Re: GSPort and hardware serial (& network) ports [message #394606 is a reply to message #394428] Sat, 16 May 2020 11:01 Go to previous messageGo to next message
Christopher G. Mason is currently offline  Christopher G. Mason
Messages: 141
Registered: November 2012
Karma: 0
Senior Member
On 5/10/2020 4:04 PM, Hugh Hood wrote:

> The one thing (as IF there's only one - ha!) that still eludes me is
> using Apple's own LaserWriter driver in this setup.
>
> As everyone knows, this driver was written to rely (and insist) on
> printing only over an AppleTalk network. I've spent several hours this
> weekend with Ewen Wannop's 'BrkDown' disassember and 'ChewBagger' hex
> editor and have learned quite a bit about the internals of the
> LaserWriter driver. I've also had access to some of the source and of
> course the tech notes.
>
System 6.0.4 appears to come with the patched LaserWriter driver as it
appears in the DC Printer control panel.
Re: GSPort and hardware serial (& network) ports [message #394607 is a reply to message #394474] Sat, 16 May 2020 11:06 Go to previous messageGo to next message
Christopher G. Mason is currently offline  Christopher G. Mason
Messages: 141
Registered: November 2012
Karma: 0
Senior Member
On 5/11/2020 10:05 PM, Hugh Hood wrote:
> Jerry,
>
> That's a fantastic article you referenced, and is very much on point.
>
> I printed that and will digest it, as it has some information I hadn't
> seen before.
>
> I'm impressed that you could pull out of your 'memory bank' a reference
> to a 30-year-old article that was very pertinent to the problem at hand.
>

The whole reason why the article exists is because Apple completely
failed to document HOW to write a GS/OS printer driver in any of their
developer documents (Apples developer documents have a long history of
suckage and still do to an extent). A stark contrast to Microsoft who
always seems to provide a full DDK with real working sample drivers for
every class of hardware the OS supports. In an ideal world, Apple should
have released a sample printer driver with one of the GS/OS internals books.

Speaking of Harmonie, has anyone reached out to Burger Becky about
releasing any of the source code?
Re: GSPort and hardware serial (& network) ports [message #394626 is a reply to message #394606] Sat, 16 May 2020 22:14 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 5/16/2020 10:01 AM, Christopher G. Mason wrote:

>
> System 6.0.4 appears to come with the patched LaserWriter driver as
> it appears in the DC Printer control panel.
>

Chris,

Thanks once more for the input.

Concerning the 6.0.4. LaserWriter Driver -- although the file date is
different, my hex comparison shows it is byte-for-byte identical to the
driver in 6.0.1.

And, the 6.0.1 LaserWriter driver is also able to be selected in the DC
Printer control panel. I suspect that is so that non-AppleTalk network
users can generate PostScript print files using the <OA-F> 'trick' in
the Print Dialog.

Currently, the LaserWriter driver is hard-coded to use calls that
require response from AppleTalk PAP stuff. If you try to use it as-is to
print to paper (rather than to file) with either the Printer or Modem
Port Driver in DC Control Panel, you'll "get no place fast", as Moe
Howard used to say.

I've been working on this challenge again this weekend and am optimistic
(perhaps naively) that I can cut, patch, and hack a way to overcome that.




Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #395545 is a reply to message #394626] Mon, 08 June 2020 00:39 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
OK, we finally have a working *direct connect* LaserWriter (PostScript
Printer) printer driver for GS/OS.

I'm so glad to be freed from being required to use AppleTalk just to
print to a PostScript printer {directly} from GS/OS desktop applications.

I'll do some more testing this week, but about a dozen or so patches to
the standard LaserWriter driver {from 6.0.1} has allowed me to print
from several GS/OS desktop applications in GSPort (running on a Windows
10 machine with socket 6501 output from the printer port) to my
networked PostScript printer (in conjunction with an ncat
client-to-client relay).

I am still troubleshooting a PostScript error I'm receiving on my HP
LaserJet when the LaserWriter driver calls for some 'screening', but
that occurred only in the 'Teach' app in a particular document. I think
that error may be printer-specific, since I captured the same socket
6501 output to a file and it converted into a .pdf just fine.

This week I test this direct LaserWriter driver on a real IIGS that is
connected serially to another HP LaserJet (with PostScript) and see how
that goes. I've wanted this capability for years, so I hope it goes well.

These patches dispense with the back-and-forth communication between the
driver and the printer. Basically, the print job is dumped to the
printer and the printer just prints it.

In any case, I'll report back with the good, the bad, and the ugly.





Hugh Hood



On 5/16/2020 9:14 PM, Hugh Hood wrote:
>
> Currently, the LaserWriter driver is hard-coded to use calls that
> require response from AppleTalk PAP stuff. If you try to use it as-is to
> print to paper (rather than to file) with either the Printer or Modem
> Port Driver in DC Control Panel, you'll "get no place fast", as Moe
> Howard used to say.
>
> I've been working on this challenge again this weekend and am optimistic
> (perhaps naively) that I can cut, patch, and hack a way to overcome that.
>
Re: GSPort and hardware serial (& network) ports [message #395571 is a reply to message #395545] Tue, 09 June 2020 01:32 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 6/7/2020 11:39 PM, Hugh Hood wrote:
>
> This week I will test this direct LaserWriter driver on a real IIGS that is
> connected serially to another HP LaserJet (with PostScript) and see how
> that goes. I've wanted this capability for years, so I hope it goes well.
>

I tested the direct LaserWriter driver today on a real IIGS with an HP
LaserJet PostScript printer connected serially to the modem port.

It worked just fine printing from Ewen's 'ChewBagger' and 'Brkdown'
desktop applications. I'm very happy about that.

Teach documents with screening are, however, giving me PostScript errors
so this still needs some more work. I'm hoping to tweak the dictionary
in the LaserWriter driver to fix this, but who knows if I'll have success.

BTW, I also tested the direct LaserWriter driver with the same LaserJet
connected by a parallel card in Slot 2, but the test was inconclusive.

Apparently the Parallel Card driver searches for the proper slot of the
card on its own. Since I have (2) parallel cards in this GS, it got
confused, I suppose. This needs more work as well.



Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #395779 is a reply to message #395571] Mon, 15 June 2020 00:37 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
The DirectConnect PostScript printer driver for GS/OS is now working
with all the applications I've tried it with -- Teach, ShadowWrite,
SuperConvert, BrkDown and ChewBagger.

I was having a problem with Teach documents that used
foreground/background text and traced that to a PostScript routine in
the LaserWriter driver called 'pat'.

Documents calling 'pat' would throw a PostScript error on an HP LaserJet
PostScript printer and thus would not print at all. They would generate
output, however, on PostScript distiller programs like GhostScript,
which apparently ignore offending commands if they can still generate a
page.

To overcome this, I re-coded the 'pat' command to make it much more
simple (at the expense of accuracy) and patched that into the
LaserWriter driver for the DirectConnect PostScript printer driver.

So, I'm now printing at will directly from GS/OS applications running in
the GSPort emulator to my networked laser printer. Finally!

I do need to ask for some testers for this driver before it gets released.

Basically, you would need either:

(1) A Windows machine running GSPort and having a networked
PostScript-capable printer attached to it;

or,

(2) A 'real' GS hooked up serially (not AppleTalk) to a
PostScript-capable laser printer.

Many of the network printers will have support for both PCL and
PostScript, and are intelligent enough to switch their emulation based
on the contents of the print job. For example, my 20-year-old LaserJet
4050N's do that.

If you have either of these setups and are able to test this new driver
for me, please let me know. I haven't printed from things like
AppleWorks GS or other GS/OS desktop applications, so I could use some
input there. I'm curious also about how complex graphic images will
print with this driver.

Finally, if you plan to use either the original LaserWriter (AppleTalk)
driver, or the DirectConnect PostScript driver, prepare to be patient.
Even on a fast emulator, I was surprised by how long it takes to prepare
a page for printing. It's certainly tolerable on an emulator, but on a
real GS I would get impatient, I'm afraid.

Thanks.




Hugh Hood



On 6/9/2020 12:32 AM, Hugh Hood wrote:
> On 6/7/2020 11:39 PM, Hugh Hood wrote:
>>
>> This week I will test this direct LaserWriter driver on a real IIGS that is
>> connected serially to another HP LaserJet (with PostScript) and see how
>> that goes. I've wanted this capability for years, so I hope it goes well.
>>
>
> I tested the direct LaserWriter driver today on a real IIGS with an HP
> LaserJet PostScript printer connected serially to the modem port.
>
> It worked just fine printing from Ewen's 'ChewBagger' and 'Brkdown'
> desktop applications. I'm very happy about that.
>
> Teach documents with screening are, however, giving me PostScript errors
> so this still needs some more work. I'm hoping to tweak the dictionary
> in the LaserWriter driver to fix this, but who knows if I'll have success.
>
> BTW, I also tested the direct LaserWriter driver with the same LaserJet
> connected by a parallel card in Slot 2, but the test was inconclusive.
>
> Apparently the Parallel Card driver searches for the proper slot of the
> card on its own. Since I have (2) parallel cards in this GS, it got
> confused, I suppose. This needs more work as well.
>
>
>
> Hugh Hood
>
Re: GSPort and hardware serial (& network) ports [message #395799 is a reply to message #395779] Mon, 15 June 2020 14:34 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
in article Q_mdnU9Rv4trZ3vDnZ2dnUU7-WXNnZ2d@earthlink.com, Hugh Hood at
hughhood@earthlink.net wrote on 6/14/20 11:37 PM:

> The DirectConnect PostScript printer driver for GS/OS is now working
> with all the applications I've tried it with -- Teach, ShadowWrite,
> SuperConvert, BrkDown and ChewBagger.
>

Ewen's 'Spectrum' telecom program is now also confirmed to print with the
DirectConnect PostScript printer driver.

I'll next try to download and print some color SuperRes pictures and see how
it goes. I won't get color output on a B/W laser [now THAT would be a
trick!], but I'll see if I messed up the shading by modifying the 'pat'
routine in the driver.





Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #395940 is a reply to message #395799] Fri, 19 June 2020 17:11 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1757
Registered: October 2012
Karma: 0
Senior Member
Hugh,
That's cool! What about changes and source code. Will you share them for another release of the system software?

Antoine
Re: GSPort and hardware serial (& network) ports [message #395951 is a reply to message #395940] Sat, 20 June 2020 01:19 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 6/19/2020 4:11 PM, Antoine Vignau wrote:
>
> Hugh, That's cool! What about changes and source code. Will you
> share them for another release of the system software?
>
> Antoine
>

Antoine,

Of course. I'm more than happy to share that.

Fair warning alert -- my methodology throughout this has been unorthodox
at best, using a combination of a printout of the lw.asm source for
understanding, and Ewen's BrkDown disassembler to disassemble the driver
file itself (giving me byte addresses), followed by using Ewen's
Chewbagger to make the actual patches to the driver file.

I didn't produce the DirectConnect PostScript driver by modifying the
source and re-assembling, as a true programmer would. I can, however,
highlight those portions in the source listing that I changed so that
someone who has all the APW/ORCA tools can build it the 'right way'.

As I mentioned in an another post, I've been unfamiliar with
multi-segment files and relocation dictionaries so to avoid problems my
patches were in those areas I considered 'safe', and consisted primarily
of modifying branch opcodes/operands, along with some literal text in
the internal PostScript routines.




Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #395952 is a reply to message #395799] Sat, 20 June 2020 01:50 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
Thanks to Alex Lee's making it easy to download and use a single hard
drive disk image file containing multiple GS/OS Applications, I've been
able swiftly to test the DirectConnect PostScript printer driver with
some other GS/OS programs. All of the following produced nice-looking
PostScript printouts without incident:

1. GraphicWriter III
2. PaintWorks Gold
3. Draw Plus
4. Animasia 3D
5. Platinum Paint (SHR images)
6. AppleWorks GS
7. Quick Click Calc
8. Medley
9. BeagleWrite GS
10. List Plus
11. Calendar Crafter

Since I last posted, I've made another change or two to the driver. One
thing I added was that at the end of the job the driver will send a
<CTRL-D> to the printer to signify the EOF and prevent the printer from
waiting for more input before it times out the PostScript job.

Also, I previously mentioned modifying the 'pat' routine. I've since
noticed that Geoff Weiss modified the LaserWriter driver (for his 2018
KansasFest presentation) to prevent the 'pat' problem by substituting
some code that is also found in Adobe Illustrator PostScript files to
prevent problems with spot function generator across PostScript levels
(1 vs. 2 vs. 3) as well as across genuine PostScript vs. 'CloneScript',
as is found in the HP LaserJet series.

I've decided to implement Geoff's approach instead of mine. Then, I'll
need to re-test.

I had mentioned in a prior post that the GS/OS page generation speed was
certainly not instantaneous, and could take a few seconds per page even
on a fast emulator. Well, by substituting the 'PRINTER57.6' port driver
from Harmonie in place of the standard 'PRINTER' port driver, the page
generation time (using GSPort here) was cut in HALF!. That's a very good
thing, and I'm grateful that David Schmidt pointed that out in his
GSPort docs.

Finally, I contacted Daniel Krue asking whether he could test the
DirectConnect PostScript driver with his TreeHugger port driver and an
Uthernet card and PostScript printer. I'm still waiting to hear back
from him.

Anyway, more work to do ...




Hugh Hood


On 6/15/2020 1:34 PM, Hugh Hood wrote:
> in article Q_mdnU9Rv4trZ3vDnZ2dnUU7-WXNnZ2d@earthlink.com, Hugh Hood at
> hughhood@earthlink.net wrote on 6/14/20 11:37 PM:
>
>> The DirectConnect PostScript printer driver for GS/OS is now working
>> with all the applications I've tried it with -- Teach, ShadowWrite,
>> SuperConvert, BrkDown and ChewBagger.
>>
>
> Ewen's 'Spectrum' telecom program is now also confirmed to print with the
> DirectConnect PostScript printer driver.
>
> I'll next try to download and print some color SuperRes pictures and see how
> it goes. I won't get color output on a B/W laser [now THAT would be a
> trick!], but I'll see if I messed up the shading by modifying the 'pat'
> routine in the driver.
>
>
>
>
>
> Hugh Hood
>
Re: GSPort and hardware serial (& network) ports [message #396001 is a reply to message #395952] Sun, 21 June 2020 12:55 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 6/20/2020 12:50 AM, Hugh Hood wrote:

>
> Also, I previously mentioned modifying the 'pat' routine. I've since
> noticed that Geoff Weiss modified the LaserWriter driver (for his 2018
> KansasFest presentation) to prevent the 'pat' problem by substituting
> some code that is also found in Adobe Illustrator PostScript files to
> prevent problems with spot function generator across PostScript levels
> (1 vs. 2 vs. 3) as well as across genuine PostScript vs. 'CloneScript',
> as is found in the HP LaserJet series.
>
> I've decided to implement Geoff's approach instead of mine. Then, I'll
> need to re-test.
>

OK. I've implemented Geoff's solution to the /spf and /pat routine issue
in the LaserWriter driver and retested. Everything works fine. Thanks Geoff!

>
> I had mentioned in a prior post that the GS/OS page generation speed
> was certainly not instantaneous, and could take a few seconds per
> page even on a fast emulator. Well, by substituting the 'PRINTER57.6'
> port driver from Harmonie in place of the standard 'PRINTER' port
> driver, the page generation time (using GSPort here) was cut in
> HALF! That's a very good thing, and I'm grateful that David Schmidt
> pointed that out in his GSPort docs. >

There's one small issue with using the Vitesse/Harmonie PRINTER57.6 port
driver in GSPort. It throws a Code RED error every time I use it, and
even though I detect no problems in the operation of the emulator after
that, it makes me a little nervous. And, I've confirmed it does the same
thing with the Harmonie LaserJetIII driver so it's a problem unrelated
to the DirectConnect PostScript driver I've been testing.

What to do -- keep using the PRINTER57.6 port driver and enjoy a 2X
printing speed boost, or stay 'safe' using the standard Apple PRINTER
port driver and print at half the rate? In any case, I've noticed the
PostScript printer driver generates pages much more swiftly than does
the Harmonie driver, with much less code, so that 1/2 speed penalty is
really not all that detrimental.

I'm hopeful that I'll hear from Daniel Krue about his TreeHugger TCP/IP
port driver soon. If not, I'll install Marinetti on GSPort and test
TreeHugger with the DirectConnect PostScript driver myself.





Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #396002 is a reply to message #396001] Sun, 21 June 2020 13:29 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 6/21/2020 11:55 AM, Hugh Hood wrote:
> On 6/20/2020 12:50 AM, Hugh Hood wrote:
>
>
> There's one small issue with using the Vitesse/Harmonie PRINTER57.6 port
> driver in GSPort. It throws a Code RED error every time I use it, and
> even though I detect no problems in the operation of the emulator after
> that, it makes me a little nervous. And, I've confirmed it does the same
> thing with the Harmonie LaserJetIII driver so it's a problem unrelated
> to the DirectConnect PostScript driver I've been testing.
>

For completeness, I also tested Seven Hill's 'Independence' PRINTER57600
port driver with GSPort and it also throws the Code RED error. So, for
now, I'm staying with Apple's PRINTER port driver in GSPort.




Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #396038 is a reply to message #396001] Mon, 22 June 2020 08:55 Go to previous messageGo to next message
roughana is currently offline  roughana
Messages: 212
Registered: November 2012
Karma: 0
Senior Member
Hugh Hood <hughhood@earthlink.net> wrote:
>> I had mentioned in a prior post that the GS/OS page generation speed
>> was certainly not instantaneous, and could take a few seconds per
>> page even on a fast emulator. Well, by substituting the 'PRINTER57.6'
>> port driver from Harmonie in place of the standard 'PRINTER' port
>> driver, the page generation time (using GSPort here) was cut in
>> HALF!

Hugh, have you considered the Express print spooler utility? Perhaps it
would give you control back faster (if that is useful).

Regards
Andrew
Re: GSPort and hardware serial (& network) ports [message #396039 is a reply to message #396001] Mon, 22 June 2020 09:11 Go to previous messageGo to next message
Christopher G. Mason is currently offline  Christopher G. Mason
Messages: 141
Registered: November 2012
Karma: 0
Senior Member
On 6/21/2020 12:55 PM, Hugh Hood wrote:
> There's one small issue with using the Vitesse/Harmonie PRINTER57.6 port
> driver in GSPort. It throws a Code RED error every time I use it, and
> even though I detect no problems in the operation of the emulator after
> that, it makes me a little nervous. And, I've confirmed it does the same
> thing with the Harmonie LaserJetIII driver so it's a problem unrelated
> to the DirectConnect PostScript driver I've been testing.
>
> What to do -- keep using the PRINTER57.6 port driver and enjoy a 2X
> printing speed boost, or stay 'safe' using the standard Apple PRINTER
> port driver and print at half the rate? In any case, I've noticed the
> PostScript printer driver generates pages much more swiftly than does
> the Harmonie driver, with much less code, so that 1/2 speed penalty is
> really not all that detrimental.
>
No adverse effects from the port driver throwing a code RED. That status
is triggered whenever something writes to what the emulator considers an
"unsafe" or invalid register/memory address.

The reason for the driver differences is the Harmonie drivers rasterize
the QuickDraw II commands and convert the image to the printer's
language. The Postscript driver is an "indirect" driver and attempts to
offload as much processing to the printer itself by converting QuickDraw
II commands to Postscript drawing commands.
Re: GSPort and hardware serial (& network) ports [message #396076 is a reply to message #396038] Tue, 23 June 2020 02:31 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 6/22/2020 7:55 AM, Andrew Roughan wrote:
>
> Hugh, have you considered the Express print spooler utility? Perhaps it
> would give you control back faster (if that is useful).
>
> Regards
> Andrew
>

Yes, I believe Richard Bennett wrote that, though I hadn't thought of it
in years. I've found it on Alex Lee's site and will take a look.

FWIW, the wait isn't really very long with the PostScript driver. But,
it's hard not to want to optimize things, I suppose. Thanks.




Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #396320 is a reply to message #396038] Tue, 30 June 2020 01:23 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 6/22/2020 7:55 AM, Andrew Roughan wrote:
>
> Hugh, have you considered the Express print spooler utility? Perhaps it
> would give you control back faster (if that is useful).
>

Andrew,

I did as you suggested and tried Bennett's (Seven Hills) Express 2.1
Print Spooler with the direct-connect LaserWriter Driver.

You're right. That's a very nice utility. At least in GSPort, control
was returned immediately, and the Teach document printed very shortly
thereafter.

I suppose that since the driver is sending a PostScript (as opposed to a
bit-mapped style driver) job the amount of data actually sent is much
less too, which accounts for a great deal of its speed.

Thanks again for that suggestion. I'll try Express with my 'real' IIGS +
LaserJet too.

OK. The direct-connect LaserWriter driver is about to be released so
that others can try it and comment back. I made another change in the
code so that it would NOT download bit-mapped GS fonts, but instead
specify fonts by their PostScript names so that even if those fonts are
not resident in the printer (or were not previously downloaded into the
printer), that the built-in Courier font would be substituted and
high-quality printing would be maintained. BTW, that's the method used
when doing the <OA-F> save PostScript to file trick in the normal
LaserWriter Driver.

I still haven't heard from Daniel Krue about testing this with
TreeHugger. I'll guess I'll set up uthernet emulation in GSPort, install
Marinetti, and try it myself.


A final note -- I apologize to everyone here for derailing my own topic,
which started as direct printing of any sort from the GSPort emulator,
either via the emulated serial port to a serial printer or (as I am
doing now) over the Port 6501/6502 'sockets' to a Port 9100 network printer.

I got sidetracked 'creating' (by patching, of course) a direct-connect
LaserWriter/PostScript driver and neglected the original topic.

So, I'll probably start a separate topic for the direct-connect
LaserWriter driver over in comp.sys.apple2 and leave this topic for
fine-tuning the batch-file scripts that set up the ncat client-to-client
relay that allows network printing from GSPort via Socket 6501/6501 to
Port 9100.

BTW, thanks for the encouragement I've received on these subjects, both
on the group, and also via private email. I appreciate it.




Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #396487 is a reply to message #395571] Tue, 07 July 2020 02:08 Go to previous messageGo to next message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 6/9/2020 12:32 AM, Hugh Hood wrote:
>
> BTW, I also tested the direct connect LaserWriter [PostScript] driver
> with the same LaserJet connected by a parallel card in Slot 2, but
> the test was inconclusive.
>
> Apparently the Parallel Card driver searches for the proper slot of
> the card on its own. Since I have (2) parallel cards in this GS, it
> got confused, I suppose. This needs more work as well.
>

{Disclaimer - I realize this particular subtopic deals with real IIgs'
rather than emulated IIgs', but to keep the methodology all together
I'll post this in this thread}.

OK. I've confirmed that the direct connect PostScript driver works well
with parallel card connections on a real IIgs, which means that even if
you can't find a serial PostScript laser to hook up to your real IIgs,
you should be able to use it with a PostScript laser with a parallel
port, provided you have a parallel card in one of your slots.

I tested with one of the most plain parallel cards ever made - the Epson
APL rev A.

First, I used Apple's 'Parallel Card' port driver from System 6.0.1 and
had success.

Then, I used Vitesse's 'EpsonAPL' port driver from Harmonie and had
success as well.

The advantage of the Vitesse driver is that it is much, much faster. I
used Ewen's BrkDown to disassemble it and noticed that it is speaking to
the parallel card 'bare metal' by writing directly to the $C080+s0
register and checking the 'busy' byte at $CsC1.

The Apple driver uses the card's firmware and the GS/OS toolbox, which I
suppose is the 'right' way to do it, albeit with a speed penalty.

The other advantage of the Vitesse port driver is that it doesn't care
whether the card's slot is set to internal or to your card. If it
identifies a parallel card, it will use it. Apple's port driver requires
that the slot be set to your card.

One final note -- I had one 'Teach' document that contained the
copyright (c) high-ascii symbol and it would not print with either
parallel port driver. I trapped the PostScript error and realized that
my Epson APL card was not passing the high bit since I never modified it
to do so. When the high bit is stripped from the copyright symbol, you
get a ')', which is a PostScript operator (in a place where it shouldn't
be).

Normally, ASCII PostScript is supposed to be 7-bit and the high-ascii
characters should be escaped by a '\' and their octal number. Apple's
LaserWriter driver does not do this out of the box, since AppleTalk
allows passing all 8 bits and the printer recognizes the high-ascii
characters. Unless I rebuild the driver from source, that will be hard
to add, so if you plan to use a parallel port driver with the direct
connect PostScript driver, make sure your parallel card is passing all 8
bits.

At this point, I think the only thing remaining on this driver is the
testing with TreeHugger and TCP/IP, which I _will_ do in GSPort.




Hugh Hood
Re: GSPort and hardware serial (& network) ports [message #397392 is a reply to message #396487] Mon, 03 August 2020 01:01 Go to previous messageGo to next message
gids.rs is currently offline  gids.rs
Messages: 1258
Registered: October 2012
Karma: 0
Senior Member
On Tuesday, July 7, 2020 at 12:08:34 AM UTC-6, Hugh Hood wrote:
> On 6/9/2020 12:32 AM, Hugh Hood wrote:
>>
>> BTW, I also tested the direct connect LaserWriter [PostScript] driver
>> with the same LaserJet connected by a parallel card in Slot 2, but
>> the test was inconclusive.
>>
>> Apparently the Parallel Card driver searches for the proper slot of
>> the card on its own. Since I have (2) parallel cards in this GS, it
>> got confused, I suppose. This needs more work as well.
>>
>
> {Disclaimer - I realize this particular subtopic deals with real IIgs'
> rather than emulated IIgs', but to keep the methodology all together
> I'll post this in this thread}.
>
> OK. I've confirmed that the direct connect PostScript driver works well
> with parallel card connections on a real IIgs, which means that even if
> you can't find a serial PostScript laser to hook up to your real IIgs,
> you should be able to use it with a PostScript laser with a parallel
> port, provided you have a parallel card in one of your slots.
>
> I tested with one of the most plain parallel cards ever made - the Epson
> APL rev A.
>
> First, I used Apple's 'Parallel Card' port driver from System 6.0.1 and
> had success.
>
> Then, I used Vitesse's 'EpsonAPL' port driver from Harmonie and had
> success as well.
>
> The advantage of the Vitesse driver is that it is much, much faster. I
> used Ewen's BrkDown to disassemble it and noticed that it is speaking to
> the parallel card 'bare metal' by writing directly to the $C080+s0
> register and checking the 'busy' byte at $CsC1.
>
> The Apple driver uses the card's firmware and the GS/OS toolbox, which I
> suppose is the 'right' way to do it, albeit with a speed penalty.
>
> The other advantage of the Vitesse port driver is that it doesn't care
> whether the card's slot is set to internal or to your card. If it
> identifies a parallel card, it will use it. Apple's port driver requires
> that the slot be set to your card.
>
> One final note -- I had one 'Teach' document that contained the
> copyright (c) high-ascii symbol and it would not print with either
> parallel port driver. I trapped the PostScript error and realized that
> my Epson APL card was not passing the high bit since I never modified it
> to do so. When the high bit is stripped from the copyright symbol, you
> get a ')', which is a PostScript operator (in a place where it shouldn't
> be).
>
> Normally, ASCII PostScript is supposed to be 7-bit and the high-ascii
> characters should be escaped by a '\' and their octal number. Apple's
> LaserWriter driver does not do this out of the box, since AppleTalk
> allows passing all 8 bits and the printer recognizes the high-ascii
> characters. Unless I rebuild the driver from source, that will be hard
> to add, so if you plan to use a parallel port driver with the direct
> connect PostScript driver, make sure your parallel card is passing all 8
> bits.
>
> At this point, I think the only thing remaining on this driver is the
> testing with TreeHugger and TCP/IP, which I _will_ do in GSPort.
>
>
>
>
> Hugh Hood


I have to say, Hugh, wow and well done.

Only if you did all this 2 years ago. I got rid of my LaserJet III printers and would have been in awe to have got them working with my Apple IIGS.

But great read and thanks for all your posts.
Re: GSPort and hardware serial (& network) ports [message #397436 is a reply to message #397392] Tue, 04 August 2020 00:24 Go to previous message
Hugh Hood is currently offline  Hugh Hood
Messages: 535
Registered: November 2012
Karma: 0
Senior Member
On 8/3/2020 12:01 AM, gids.rs@sasktel.net wrote:
>
> Only if you did all this 2 years ago. I got rid of my LaserJet III
> printers and would have been in awe to have got them working with my
> Apple IIGS.
>

Thanks for the kind words.

Yes, I wish I had done this a little over 25 years ago, because I've had
a PostScript printer hooked up to my IIGS for that entire time, and
since it wasn't AppleTalk/LocalTalk, it was useless for PostScript
printing from the print dialog in GS/OS apps.

Although the Direct PostScript printer driver is now tested and ready to
be released, I'd like to optimize and test the Windows ncat scripts
(required for direct printing to a networked printer from both 8-bit and
16-bit apps in the GSPort emulator) before I put everything out there on
my website.

But, if someone has a PostScript printer and would like just the driver,
contact me and I'll send it.




Hugh Hood
Pages (2): [ «    1  2]  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: MAME 0.222 Apple II highlights
Next Topic: Steve ][ – A fast Apple II emulator
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Aug 14 19:34:03 EDT 2020

Total time taken to generate the page: 0.00834 seconds