I’ve been rebuilding a #RaspberryPi installation that supports my classic Mac habit 😄

I used to use the awesome #MacIPGW image which includes a ton of pre-configured software like #netatalk. But it hasn’t been updated in a while so I used it as excuse to start from scratch.

I used this Pi Zero W as my starting point. HDMI video stopped working on it for unknown reasons. I added an Ethernet/USB hub hat and a #TashTalk 2 hat for #LocalTalk devices.

#RetroComputing #VintageApple #VintageMac

One reason for rebuilding netatalk is I wanted to run TashRouter on the same machine. It’s doesn’t work right on the MacIPGW image because of the “split horizon” patch.

I can now freely use AppleTalk devices on EtherTalk, LocalTalk (PhoneNet!), and LToUDP (Mini VMac). This enables, for instance, printing to an ImageWriter II from my modern Mac running System 7.5 in Mini VMac! (There were lots of bugs to resolve to get the ImageWriter II working!)

#RetroComputing #VintageApple #VintageMac

One piece that's missing is AURP aka #GlobalTalk support. I'd like to avoid running a VM and have something more lightweight.

Luckily @DrJosh9000 has created jrouter which comes very close to accomplishing this! Remote zones are showing up but are all empty and not sure if my zone is visible outside. I need to play with some settings some more I think. But soooo close!

https://gitea.drjosh.dev/josh/jrouter

#RetroComputing #VintageMac #VintageApple

jrouter

**WIP** Home-grown alternative implementation of Apple Internet Router 3.0

Forgejo: Git with a cup of tea

With netatalk, a TashTalk hat, TashRouter, and CUPS on the Raspberry Pi, we can do clever things like share a #ImageWriter II printer over #LocalTalk with an iPhone using AirPrint!

This screenshot was printed from my phone to the ImageWriter II.

Interestingly, this was just fixed in the latest netatalk 2.3.2!

#LiveLaughLocalTalk #RetroComputing #VintageApple #VintageMac

In the interest of science, I did an ImageWriter II comparison print of CUPS vs the MacPalette driver for Classic. I think MacPalette wins here. There appears to be better color range and the text is a little sharper.

#RetroComputing #VintageApple #VintageMac #LiveLaughLocalTalk #ImageWriterII

I lifted some halftone settings and stuffed them into the ImageWriter II foomatic PPD and did some test strip prints.

At both resolutions, the result seems to be the same? So maybe that’s not the setting I need. Maybe it can’t be changed? MacPalette II still wins here!

#RetroComputing #VintageApple #VintageMac #ImageWriterII

Ok #AppleScript folks: how do you make MacOS 9.2 automatically print a PDF that appears in a specific folder?

#VintageApple #VintageMac #RetroComputing

So I have a new MacOS 9.2.2 #AppleScript Folder Action attached to a network share via netatalk. It works only if these conditions are met:

1. The folder is open already in the Finder. If it’s closed, it never triggers.
2. The new item is added to the folder from the current machine. Items added remotely to the network share do not “refresh” therefore never trigger the action.

Is this expected?

#RetroComputing #VintageApple #VintageMac

Ok, I've abandoned Folder Actions as it just doesn't seem to work. I've now gone with an always-running #AppleScript to scan the folder.

And.. it works! Almost? It seems that MacPalette II crashes (and takes Acrobat Reader with it) after it completes a print and there's a finder dialog that's proving difficult to dismiss in AppleScript.

#RetroComputing #VintageApple #VintageMac

The way it works is this:

1. A print is initiated from a device to the CUPS-PDF driver on my #netatalk Raspberry Pi.
2. The resulting PDF is placed in the AFP share of netatalk/afpd.
3. An emulated PPC Mac 9.2.2 running the #AppleScript below is watching for new files in that folder and will print them using Acrobat Reader to the #ImageWriterII via #LocalTalk using the MacPalette II driver.

It works, but crashes with dialog that I can't auto-dismiss.

#RetroComputing #VintageApple #VintageMac

Ok, so this centipede printer workflow isn’t really reliable so I dove into CUPS to try and see if there’s a way to alter the dithering.

I tried adding different settings to the PPD file but nothing produced any changes.

Until I added “DitherPPI” (a GS option) and it produced a result that was pretty good! I tried various values (30, 80, 120, 180) but they all looked identical. In any case, this is good enough for me!

#ImageWriterii #RetroComputing #VintageApple #VintageMac #netatalk

@paulrickards Looks much better, the plain driver seemed to be crushing to black much faster than it should (possibly putting too much ink and it bleeding), or even possibly doing double strikes for black.
@ChartreuseK Yeah, the defaults seemed a little heavy handed all over. Happy with this new setting-- although not entirely sure why it's working.
@paulrickards Is the default DPI perhaps the issue? Might be that above a certain amount it's doing two passes per line with a half pixel offset and that's just putting too much ink down?
@ChartreuseK The three images in the example were all set to the same highest dpi setting (160x144) which does the two-pass slightly offset Y "in between" print.

@ChartreuseK Interestingly, adding the DitherPPI setting for GhostScript says

"forces all devices to be considered high-resolution, and forces use of a halftone screen or screens with lpi lines per inch, disregarding the actual device resolution. Reasonable values for lpi are N/5 to N/20, where N is the resolution in dots per inch."

I tried several DitherPPI settings without any change.

@paulrickards Ah weird. I still wonder if the default might be double striking/bold for doing 3 levels greyscale or such. Since the individual dark pixels in the middle print are darker than the individual pixel in either of the others.
@paulrickards Could maybe try and see if something like that is happening by printing a continuous greyscale gradient across the page, and possibly timing it to see if the default is slower.