last day (15 days later) » 

18:13
38
A: How did early laser printers get by with so little memory?

Raffzahn To print an area of 7.5 by 10 inches at 300 DPI requires 844K if it's kept as a single bitmapped image. Does it? Maybe. Then again one cold think of many simple ways (like RLL) to compress a rendered image fast and decompress it at a speed quite capable to keep up with the print-'head'. Obviou...

The first laser printer I ever used was a top of the line Xerox monster hooked up to the IBM mainframe. The slow part of getting your thesis printout was the person lugging the stack of paper up to the counter. Somehow I don't think it was 9600 baud!
@JonCuster no doubt, there were faster systems and such prior to the HP LJ. For example the first laser printer I used was part of a EMS 5800, an OEM Star. A unit the size of a half height fridge with an incredible amount of RAM and a set of bit slice CPUs. Sold at the price of a new e-class Mercedes. And yes, it did print quit nice full page graphics. Except, for this question I do not think that these extraordinary early applications fit well.
Agreed, totally different market segments. But those big monsters were a real step up and pioneered the technology. Just because it didn't hook up to a PC didn't mean they weren't there.
Oh now. I always thought that PC tech is like a decade behind real cool stuff - something that only changed since teh 2000s or so. But then again, PCs being front development made somehow everything less cool :)
"serial 9,600 for a laser" I doubt it.
18:13
@snips-n-snails Well, you might want to take a look at the manual. Effective speed was even lower than that. The original LaserJet came with a serial interface only, capable to do 300 to 19200 bit/s. Parallel interface didn't come until the Laserjet Plus. and it was only slightly faster. Maximum speed on parallel was 12 µs per byte, thats ca. 80 KiB/s while typical was defined as ~2ms, so about 500 bytes/s. so essentially much like the serial. Yeah, those were the days.
But 9600 was perfectly adequate for a 6 or 8 page per minute printer. I preferred the feel of 19200 for a terminal but even there 9600 was generally good enough for a full screen interactive application.
@Raffzahn That manual isn't for the original LaserJet (model 2680). The "HP 2680/85/89 High Speed Laser Page Printer Family" datasheet located at hpmuseum.net/exhibit.php?hwdoc=442 says the 2680 communicated over HPIB a.k.a. IEEE-488 which is an 8-bit parallel interface. It makes sense that HP would add serial on some models as a secondary interface for compatibility, but never as the primary interface.
@snips-n-snails The 2680 was not named LaserJet, but a printing system sold at about 100,000 USD. There were quite some laser printers before the LaserJet, not just by HP. But that's not what the question asks for. The 2686A was the first to carry the name LaserJet (just one klick away on the very same site: hpmuseum.net/display_item.php?hw=345 - or look at HP's own site hp.com/hpinfo/abouthp/histnfacts/museum/imagingprinting/0018‌​/…). And it was the one opening that technology to a wider market. I'm really puzzled what you want to prove so hard.
@Raffzahn I concede that the HP laser printer model 2680 was not called a LaserJet, but it appears from the 2686A manual that the original LaserJet had a single interface that could be configured for either RS-232C or HP-IB, and that a Centronix parallel interface could be installed into later models.
"Laser printer operate in a line by line base." Citation needed. :) Maybe mention explicitly that the first LaserJet spoke PCL 3 which doesn't include vector commands that would require holding the full page in RAM. Those came with PCL 5 I think.
18:13
@AndreKR And, the first Apple LaserWriter (basically the same printer as the HP LaserJet), used Postscript
Another thing to remember is that although text would print at 300dpi, bitmap graphics only printed at 75dpi on the first HP LaserJet
@snips-n-snails Well, hat's the point about interfaces, The LJ was meant as a low end product (from an HP POV that is), and serial was standard at the time. It could be configured for RS232 or RS422 (IIRC). Serial was what printers (well serious ones, like used with terminals at HP) used for interface. Parallel came only with the LJ+, as it was, at the time already the canonical printer interface for PC and clones. But in either version, LJ and LJ+ were fricking slow. Put a logger onto the centronics and output plain text, and you'll see it most of the time stalled by busy being asserted.
Serial made total sense at the time because it could handle distance and remote connections. You could always add a serial port to a PC, but if your printer was parallel-only then you couldn't: Use it remotely (e.g., via a modem), use it over long distance (typical parallel max 25'), use it (easily) with a minicomputer, etc.
As far as speed: "fricking slow"? All relative. 6 pages/minute x 60 lines/page = 360 lpm. That's not super-high-speed, but WAY faster than the anything else remotely affordable for a small office at the time, except for a true line printer (which printed on continuous paper, only one fixed font, noisy, etc.). A typical dot-matrix printer would be in the range of 1 - 3 lines per second, and often less than that.
@manassehkatz-Moving2Codidact Oh, of course, for printing speed it was a demon. The point here is the interface - and the missing case for a faster one then serial as it couldn't take the data any faster. parallel was only done to accommodate market needs, not to speed it up. Heck, it did even put serial 9,600 on hold at times - many times in fact. Faster data transfer only cam way later.
Agreed. Faster ports were only needed for bit-map graphics. Even into the 90s I ran plenty of lasers on serial ports. The main thing is to get handshaking (ideally hardware handshaking) right - which all too many people never seemed to understand.
@manassehkatz-Moving2Codidact Oh yes, but that's a different can of worms. I remember the LJ having a (comparably and for that time) large serial buffer. it was good for almost a second (IIRC) overrun (i.e. after stop has been signalled) before dropping data. So even the slowest reacting programs would be able to synchronize. So yeah, it was a very reliable design. I would like to say 'typical HP', but then again even HP had some less than perfect products (given, thats complaining on a very very very high level considering the rest of the PC 'industry').
18:13
@Raffzahn: Devices connecting to PCs needed more buffering than should have been necessary as a consequence of the 16550's lack of support for real hardware handshaking. If a remote device releases CTS before the last data bit of a byte has completed transmission, a well designed UART should refrain from transmitting any more bytes, and even a mediocre one should limit itself to sending one more byte. Unless one disables buffering in the 16550, it's hard to avoid having it transmit 15 more bytes.
Just because most of the images were text doesn't mean that relying on the image being text was a viable strategy. Furthermore, representing the image as text would require the printer to store not only the sequence of characters but also the image of each character. And there are dozens of fonts, each with different typefaces and point sizes. And the printer wouldn't be able to convert all the text to image at once, so it would have to keep switching back and forth between the two representations.

last day (15 days later) »