Snow-Written Images
Sep. 1st, 2025 03:16 pmWorking around the (current?) output limitations of the Snow emulator to build up some sequences of dot matrix printer commands was, perhaps, just enough of a complication to result in a slight increase in satisfaction at seeing “dot-matrix output from a Macintosh.” After testing the different resolutions available in the Epson printer driver I’d used to feed my existing “printer-command-to-PDF” utilities and seeing confirmation of the old comments about how the early Macintosh would try to scale down larger sizes of its bitmap fonts to produce somewhat better output than you got on its screen (regardless of how this did or didn’t apply to “What You See Is What You Get”), though, I did get to thinking this hadn’t quite matched the earliest days of the computer. As important as Epson printers had been to computing as a whole, they were “a” printer hooked up to a Macintosh. “The” dot matrix printer for that computer, the Apple-branded model with a driver included in the standard system software installation, was the ImageWriter.
A “virtual ImageWriter” is built into the Apple II emulator Virtual ][, but as with the “virtual Epson” built into the TRS-80 emulator Virtual T, I haven’t quite sorted out how to feed existing files of printer commands into it. Wondering if I had actually begun to understand the code of one of my virtual printer utilities while making small tweaks to it, I did seek out some reference material for the ImageWriter with vague daydreams of managing to remap the “escape sequences.” In that searching, however, I also happened to turn up a reference to an old file of PostScript commands to be fed into a laser printer so that it would interpret ImageWriter commands, and then I found the file itself. While my first impression was that “IWEM” was meant more for an Apple II than a Macintosh, it did work with a file of printer commands extracted from Snow. I reminded myself that PostScript wasn’t just a “page description” language, but a full-blown programming language.
It was a little intriguing to realise that a file of ImageWriter commands was a little smaller than the file of Epson commands meant to print the same document. Once I’d looked further into the reference material, I realised the ImageWriter could be commanded to move its print head a number of dot positions down a line without having to be fed one blank pattern after another. (That would complicate modifying my existing utility.) The printout didn’t have quite the same character as the Epson emulators that could use overlapping dots, but that did also seem to mean smaller files. One thing I did notice, though, was that the text looked a little compressed compared to a screen image or the low-resolution “72 by 72” Epson output. The ImageWriter being said to have a vertical resolution of 144 dots per inch vertically but a horizontal resolution of 160 dots per inch might account for that; in any case I did find an article on the ImageWriter in the very first issue of Macworld that looked to show that output compression.
I’d also been thinking a bit about how MacPaint’s “Print” commands didn’t bring up the standard dialog box, and had wondered if it was old enough it had been hard-coded to expect an ImageWriter. I was particularly interested in its “Print Catalog” command. Once I had output with tiny, stark-black and stark-white thumbnails of the files in the same directory as the application itself, though, I did wonder if MacPaint was also old enough it had expectations of the original “MFS” file system, where “folders” were convenient fictions of the Finder. Experimenting a bit further showed the catalog command could actually look in different folders depending on what file the program had just opened.
While the developer of Snow did include a contact email in the emulator itself, and went so far as to convert the comments I sent that way into “issues” on the GitHub page, I don’t know when and if the serial port monitoring will be enhanced enough to make building up even a single full page’s worth of printer commands a quick and simple process. So far as doing things with “dot matrix aesthetic” goes, I can wonder if that’s linked with thoughts that I was trying to write stories in high school, and how I do still have a few now-browned printouts from when the “Mac lab” in my high school used an ImageWriter before a laser printer was added. They weren’t good stories, though.
A “virtual ImageWriter” is built into the Apple II emulator Virtual ][, but as with the “virtual Epson” built into the TRS-80 emulator Virtual T, I haven’t quite sorted out how to feed existing files of printer commands into it. Wondering if I had actually begun to understand the code of one of my virtual printer utilities while making small tweaks to it, I did seek out some reference material for the ImageWriter with vague daydreams of managing to remap the “escape sequences.” In that searching, however, I also happened to turn up a reference to an old file of PostScript commands to be fed into a laser printer so that it would interpret ImageWriter commands, and then I found the file itself. While my first impression was that “IWEM” was meant more for an Apple II than a Macintosh, it did work with a file of printer commands extracted from Snow. I reminded myself that PostScript wasn’t just a “page description” language, but a full-blown programming language.
It was a little intriguing to realise that a file of ImageWriter commands was a little smaller than the file of Epson commands meant to print the same document. Once I’d looked further into the reference material, I realised the ImageWriter could be commanded to move its print head a number of dot positions down a line without having to be fed one blank pattern after another. (That would complicate modifying my existing utility.) The printout didn’t have quite the same character as the Epson emulators that could use overlapping dots, but that did also seem to mean smaller files. One thing I did notice, though, was that the text looked a little compressed compared to a screen image or the low-resolution “72 by 72” Epson output. The ImageWriter being said to have a vertical resolution of 144 dots per inch vertically but a horizontal resolution of 160 dots per inch might account for that; in any case I did find an article on the ImageWriter in the very first issue of Macworld that looked to show that output compression.
I’d also been thinking a bit about how MacPaint’s “Print” commands didn’t bring up the standard dialog box, and had wondered if it was old enough it had been hard-coded to expect an ImageWriter. I was particularly interested in its “Print Catalog” command. Once I had output with tiny, stark-black and stark-white thumbnails of the files in the same directory as the application itself, though, I did wonder if MacPaint was also old enough it had expectations of the original “MFS” file system, where “folders” were convenient fictions of the Finder. Experimenting a bit further showed the catalog command could actually look in different folders depending on what file the program had just opened.
While the developer of Snow did include a contact email in the emulator itself, and went so far as to convert the comments I sent that way into “issues” on the GitHub page, I don’t know when and if the serial port monitoring will be enhanced enough to make building up even a single full page’s worth of printer commands a quick and simple process. So far as doing things with “dot matrix aesthetic” goes, I can wonder if that’s linked with thoughts that I was trying to write stories in high school, and how I do still have a few now-browned printouts from when the “Mac lab” in my high school used an ImageWriter before a laser printer was added. They weren’t good stories, though.