I have an HP LaserJet Plus running with my Mac. I use Softstyle's
Laserstart printer driver; Softstyle also makes drivers for Epson and
other printers. The rest of this note describes my experience with the
Laserstart driver; you can probably extrapolate some of this to their other
drivers. (I don't know if anyone else writes Mac printer drivers; the
information required is *not* present in Inside Mac, though I've heard
that it was published in the original "Phone Book" edition.)
The results are mixed. It *works*, but there are some annoying
properties. The primary thing you have to accept is that what you
have is an Imagewriter emulator, i.e. you get either 75 or 150 dpi
resolution; you don't get to take advantage of the printer's 300 dpi
capability. In particular, any program that has LaserWriter-specific
features doesn't function, because the LaserJet doesn't understand
PostScript. For example, SuperPaint prints just fine in Imagewriter
resolutions, but you can't use its "LaserBits" 300-dpi feature.
Also, certain programs tend to do things that are appropriate for the
Imagewriter but not for the pseudo-Imagewriter LaserJet. SuperPaint
insists on initializing each new document with a Page Setup record that
specifies "Tall Adjusted" mode; you have to explicitly go in and change
that to "Tall" mode to get reasonable behavior with the LJ. I've
noticed that MacWrite sometimes moves page breaks when you tell it
to print, though I can't be sure that this is the fault of the printer.
The printer driver has a special "text" print mode in which it just
sends ASCII (not bitmaps) to the printer, relying on fonts present in
the printer. This gives you effectively 300 dpi for text only, and is
very fast; but it is inherently not WYSIWYG, since the Mac's screen
fonts don't quite match the spacing of the LaserJet's fonts. I tried
making a program to download a Mac font as a LaserJet soft font, and
*still* could not get the spacing to match exactly; the LaserJet's
treatment of spacing just isn't the same as Quickdraw's. (The results
would be satisfactory for ragged-right-margin documents, but I wanted
justified margins, and the printed right margin was visibly irregular.)
Eventually I gave up on the text mode; now I just use the bitmap modes,
which at least produce output that looks like what's on the screen.
(I also recall suffering a system crash when I tried to print a Finder
Catalog in text mode, which further soured me on the text mode. That's
the only major bug that I've found, though.)
Another complaint is that it's ungodly slow; over 30 sec/page in 75 dpi
resolution, 2 or 3 minutes/page at 150 dpi. Part of this is simply
that you have to ship a lot of dots down a 19200 baud serial line; but
I also found that Softstyle did some extremely dumb things in the
printer driver. (Example: sending a printer reset command at the top
of each page. This is unnecessary, and it stops the LJ dead in its tracks
for about 10 seconds. Also, some of the inner loops in the driver,
executed once *per bit* of image, were incredibly inefficient; would
you believe dozens of NOP instructions?) I modified the driver a little
bit to get rid of some of the stupidities, and it now runs significantly
quicker; but it will never be able to run at the LJ's rated speed of 8
sec/page. On the other hand, I hear that LaserWriters don't run at
8 sec/page either.
Recently Softstyle has been advertising an upgraded "Laserstart Plus",
which does print spooling among other things. I don't have that, so
can't say if it's worth the extra money, nor if it fixes any of my
complaints.
The bottom line: you can do it, and it works, but you have to live with
being outside the design center. That means coping with various
peculiarities and perhaps not being able to run some programs. In my
case it is worthwhile 'cause I already had the LJ; if I were buying a
printer for the Mac, I would definitely spend the extra money for an
Apple-blessed printer.
tom lane
-----
ARPA: la...@ZOG.CS.CMU.EDU
UUCP: ...!seismo!zog.cs.cmu.edu!lane
BITNET: lane%zog.cs.cmu.edu@cmuccvma
I'd like to know the opposite. How hard is it to connect a non-Apple
computer (e.g. an AT&T PC6300) to an Apple Imagewriter II? I believe
the IW's port is a standard serial port, but it has that funny circular
connector. Is it simply a matter of getting a cable with a standard
serial RS-232 connector on one end and the Apple plug on the other?
Carl Blesch
AppleLink: GOLDSMITH1
UUCP: {nsc,dual,sun,voder,ucbvax!mtxinu}!apple!dgold
CSNET: dg...@apple.CSNET, dgold%apple@CSNET-RELAY
BIX: dgoldsmith
> A long time ago there was a discussion of using the Option key as Control in
> Red Ryder. The problem is that certain option key combinations (eg.,
> Option-e) are dead keys and don't generate a character until the next key is
> typed.
> Contrary to the messages posted at the time, it is very easy to disable
> dead keys in the keyboard driver (although I'm not sure that this has been
> documented). MacTerminal does it, in fact.
> Basically, there are 2 resources (pieces of code, actually) that map raw
> keycodes, generated by the keyboard, into ASCII characters. One resource
> handles the main keyboard and the other the external keypad. It is
> possible to completely replace these resources if you want to modify the
> mapping in some unusual way.
> Turning off dead keys, however, is very easy and already provided in the
> system. Low memory location $29E contains the address of the main mapping
> function. The resource begins with a 2-byte BRA instruction, followed by a
> 1-byte flag.
> If the flag is $FF then dead keys are on, if it is $00, then dead keys are
> off (ie., typing option-E will give you an accent character immediately).
> It's as easy as that. Programs that turn off dead keys should make sure to
> re-enable them when they terminate.
> It would be trivial to write a desk accessory that allows you to
> enable/disable dead keys at any time. Then it might be more convenient to
> use the Option key in Red Ryder.
> I hope this helps current and future terminal emulators.
> Larry Rosenstein
> Object Specialist
> Apple Computer
Using MACSBUG's display memory command and MBASIC's peek command to examine
memory locations $29E..$2A0, I do not find the posted data. I would like to
know what exactly is meant by low memory location $29E. Is the address
absolute, or is it offset from another location. If it is an offset, what
is the offset, and will it always be the same offset, or is it subject to
change in the future? If it isn't an offset, what's the problem?
My system is one of the first Macintoshes produced, and was upgraded (Apple
upgrade) to a 512k Mac, and then later to a 512ke (Apple upgrade). I am
running System 3.2 and Finder 5.3. The disk cache was on and set to 96k.
I didn't try turning the cache off, but I don't think that this has anything
to do with the problem (I hope). A source code solution would be appreciated.
Turbo Pascal source would be ideal (since it's the only compiler I own), but
any C or Pascal source would be great.
Thanks in advance,
John Hill
==============================================================================
John Hill
Siemens RTL {ihnp4|astrovax|allegra|dshovax}!siemens!hill
Princeton, NJ
If I go insane, please don't put your wires in my brain. - Pink Floyd