Getting it on (Virtual) Paper
Feb. 12th, 2024 08:42 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Recompiling some command-line-launched programs on my new iMac in the hope of bringing them into the “Apple Silicon” era did mean looking back as well. I started with an emulator for the TRS-80 Model 100 and the other machines of its little family because I had specific instructions from someone who’d revised the program code. (There does seem something a little peculiar about emulating a portable computer on a desktop machine, of course.) With that taken care of, I turned to less glamorous utilities that can take a file of “Epson printer commands,” in my case most often output from a Color Computer 3 emulator, and turn it into a PDF “virtual printout.” One of them, which I’d tinkered with trying to compress its graphical results to resemble antique printouts, compiled without fuss. The other program, the output of which hadn’t looked so elongated when I’d first got it working on my previous iMac, returned multiple errors instead of an executable.
One thing I wondered about was how the Homebrew package manager, which I rely on to install command-line tools less obscure than the ones I’ve just mentioned, was now putting its packages in a new location on Apple Silicon machines. I tried editing the bit of source code I was working with to point straight to the files, but only produced new errors. What I guessed now was that the program was old enough to be calling on the original Simple DirectMedia Layer library, and only “SDL2” had shown up in my first Homebrew searches. With a bit of a shrug I tried commenting out the calls to SDL, but that just produced different errors again.
At this point I wondered if the utility I’d compiled on my previous iMac and transferred from my Time Machine backup would still work (for all that I’m also wondering whether “the ability to run Intel code on Apple Silicon” will be left in the operating system for any longer than “the ability to run PowerPC code on Intel” was). The error message I got this time, though, did manage to get me looking up there was an “SDL compatibility layer,” and it was available through Homebrew. Having turned up a few more command-line incantations to point my computer to the new Homebrew location (the only question is just what invisible file to add them to so that I don’t have to copy them into the command line every time), I was able to compile the program at last.
After all of that effort, I wasn’t thinking so much of doing anything new with “dot matrix aesthetic” as indulging a hypothetical case. To be specific, I was imagining people in the 1980s with Color Computers connected to Epson dot matrix printers rather than sticking with Radio Shack equipment and wanting to make hard copies of digitized images they’d collected one way or another. My thoughts had turned to the “MacPaint file viewer” I’d rescued off a floppy disk years ago but only sorted out some important details of not that long ago. Viewing a MacPaint file on a Color Computer meant either looking at it a bit at a time or dealing with image distortion on a “CoCo 3”; I wanted to get a sense of the viewer’s printout option, which just so happened with my version to be set up for that hypothetical case just mentioned.
The utility I’d tinkered with, though, did have gaps in its virtual printout. Looking at the saved output with the hex editor I’d supposed could do a defter job of adding the necessary “line feed” commands to the “carriage returns” than having the emulator add a hexadecimal 0A to every hexadecimal 0D, I sorted out this Color Computer program used a different line-spacing command than Max-10. I altered one more number in the utility’s source code; the gaps closed, but the output did still look sort of distorted. That had me sorting through different Color Computer screen dump utilities out of sheer curiosity. Along the way, I also contemplated how the original Macintosh itself could only view a somewhat larger slice of a MacPaint file and, using the Mini vMac emulator, managed to save output from a different image viewer to a PostScript file, export that file, and run it through the GhostScript utility.
One thing I wondered about was how the Homebrew package manager, which I rely on to install command-line tools less obscure than the ones I’ve just mentioned, was now putting its packages in a new location on Apple Silicon machines. I tried editing the bit of source code I was working with to point straight to the files, but only produced new errors. What I guessed now was that the program was old enough to be calling on the original Simple DirectMedia Layer library, and only “SDL2” had shown up in my first Homebrew searches. With a bit of a shrug I tried commenting out the calls to SDL, but that just produced different errors again.
At this point I wondered if the utility I’d compiled on my previous iMac and transferred from my Time Machine backup would still work (for all that I’m also wondering whether “the ability to run Intel code on Apple Silicon” will be left in the operating system for any longer than “the ability to run PowerPC code on Intel” was). The error message I got this time, though, did manage to get me looking up there was an “SDL compatibility layer,” and it was available through Homebrew. Having turned up a few more command-line incantations to point my computer to the new Homebrew location (the only question is just what invisible file to add them to so that I don’t have to copy them into the command line every time), I was able to compile the program at last.
After all of that effort, I wasn’t thinking so much of doing anything new with “dot matrix aesthetic” as indulging a hypothetical case. To be specific, I was imagining people in the 1980s with Color Computers connected to Epson dot matrix printers rather than sticking with Radio Shack equipment and wanting to make hard copies of digitized images they’d collected one way or another. My thoughts had turned to the “MacPaint file viewer” I’d rescued off a floppy disk years ago but only sorted out some important details of not that long ago. Viewing a MacPaint file on a Color Computer meant either looking at it a bit at a time or dealing with image distortion on a “CoCo 3”; I wanted to get a sense of the viewer’s printout option, which just so happened with my version to be set up for that hypothetical case just mentioned.
The utility I’d tinkered with, though, did have gaps in its virtual printout. Looking at the saved output with the hex editor I’d supposed could do a defter job of adding the necessary “line feed” commands to the “carriage returns” than having the emulator add a hexadecimal 0A to every hexadecimal 0D, I sorted out this Color Computer program used a different line-spacing command than Max-10. I altered one more number in the utility’s source code; the gaps closed, but the output did still look sort of distorted. That had me sorting through different Color Computer screen dump utilities out of sheer curiosity. Along the way, I also contemplated how the original Macintosh itself could only view a somewhat larger slice of a MacPaint file and, using the Mini vMac emulator, managed to save output from a different image viewer to a PostScript file, export that file, and run it through the GhostScript utility.