MacRelix – Unix-like features for classic Mac OS

2 years ago (macrelix.org)

Quite some years ago I did a bit of digital archeology and put the 68k MacMinix 1.5 release source on GitHub, sadly the original file dates weren't preserved in the distribution image.

They were archived using tar(1) to dump the files to a floppy disk on a PowerBook 150 running MacMinix. I don't know why I did that. :-)

https://github.com/macminix/MacMinix

Makes me wonder. What would it take for Mac the tech to have this sort of feel/appeal again?

Would a full wintel+nvidia gpu daughterboard move any needles? Or something oddball and hardware like the lamp imac, idk.

Basically, computing nowadays feels very well baked and staid at times. Stuff like a unixy subsystem feels experimental in ways computing hasn't in decades.

  • > Makes me wonder. What would it take for Mac the tech to have this sort of feel/appeal again?

    We tend to forget that, but Macs are the last standing members of the Unix workstation family, and quite good ones at that.

    • This! I've probably said it here before, but Apple won the Unix workstation wars in the most awesome way possible. You can now buy an insanely powerful RISC Unix workstation at the mall! How awesome is that?

      1 reply →

Not entirely on topic, but it is such a pleasant touch to see the titles for the properties displayed before the shell all lining up just by word choice alone. I've seen people who pad out code comments like that; it has this rather capricious, sculpture-like feeling to it.

For a change of pace from the `68k` and `os9` flavors already shown, here's MacRelix's Carbon (`osx`) flavor running successfully in Mac OS X Public Beta: https://i.imgur.com/9S5lE2a.png

This is not something any reasonable user would ever do but I was impressed at its versatility. For the ultimate janky-Carbon-environment test I will have to try it in the Mac OS X Developer Previews, but PB was the earliest that would run on the hardware I was using. I do have all the necessary hardware since DP1 calls out wanting specifically either a Beige G3 or a Blue G3, and I ♡ PowerMac1,1 and have like three of them lol

You can also install MPW (Macintosh Programmer's Workshop) and access a pretty decent command line environment via official Apple software.

  • MPW was actually one of the inspirations for MacRelix, in a backhanded sort of way:

    https://www.metamage.com/text/relix/origins.html

    I still use MPW's ToolServer for running the Metrowerks build tools, but sadly it's no longer available as an official download from Apple.

    • Question - looking at the code quickly, I see stuff about MWCC and Metrowerks object file format - is your tool chain in some way generating Metwowerks compatible object files? BeOS PowerPC uses the same compiler so you got me excited!

      2 replies →

Back in the day, the Aztec C development environment provided a "shell" experience for development.

Essentially, you coded in vi, you used make, had the basic shell commands (notably ls, cat, mv, cp). I can't speak to it much deeper than that. I used it for some time, but I had no Unix experience, so I can't say what was missing.

I'm sure, today, if I tried to work on it like a would a normal Unix environment, even a limited one, I would run smack into some deficiency. For example, I doubt you can shell out in vi, something that is bread and butter in my toolbox and workflow.

But, it was a very early (1985) "Unix on Mac" experience.

  • You don't happen to have access to Aztec C for the classic 68k? I (and others) have been trying to track down a copy for some time. There appears to be one on Macintosh garden, but that is for ms-dos.

    • Honestly I probably got rid of my final box of ancient Mac 3.5" floppies in my last move 5 years ago.

      Can't say I actually had Aztec C at the time, but it wouldn't have surprised me one way or the other.

      Short answer, no I no longer have access to it any longer.

      I used to run it on my basement upgraded, 512K Mac with 2 400K drives. Spent real money on it. I think it was $499 at the time. Maybe less, it was certainly no Turbo Pascal that's for sure.

      2 replies →

A installation guide would be great. I'm trying to install it and I don't know what to do with the mbin file. When click on it says something about connectfour application missing.

  • mbin most likely refers to "MacBinary" (a format used to preserve the Mac resource fork when a file is passed around online/on non-Mac file systems)

    • Indeed, I use .mbin for MacBinary, as the more conventional .bin is overloaded with other meanings.

      I also use .mbim for MacBinary+, which encodes a directory tree instead of a single file.

      1 reply →

It doesn’t really go into what all it can do

  • Aside from the fun of having a CLI on a Mac, I also use it to dump the ROMs from my machines.

    e: it also comes with Git (among other utilities) which might make it worth it to some people for that alone.

    • I had forgotten how strange it was to see a terminal in OSX, a huge step sideways, I won't say backwards as it has its uses, but that was also the nasty green screen world I thought we had escaped from...

      4 replies →

Poking through it - it looks like it might include Perl, but no idea about what level of Perl-Unix-ism it might support. But I didn’t enjoy rereading ye old Perl implementation with Tolkien references [1] to give a feel for what the source file is about.

[1] https://github.com/jjuran/metamage_1/blob/4d1a24875036fee128...

  • The Perl interpreter is v5.6.1, though strictly speaking it's miniperl, not perl — there's no support for XS (i.e. native-compiled) modules.

    Unlike MacPerl, it supports system(), exec(), and backticks in the Unixy way you'd expect. In fact, the program that packages up a MacRelix archive is a Perl script running in MacRelix.

    I guess we'll just have to disagree about the Tolkien references. :-)

This is timely, in the middle of restoring a Mac Classic - looks like something fun for it to do.

I wonder if there would be a way to adapt this to also use MacTCP instead of OpenTransport.

  • Curious, what does someone gain with MacTCP? I'm not familiar with the space, but a casual glance (not an assessment!) suggests that OpenTransport was standard-ish from system 7.6 onwards.

    Does it boil down to compatibility with older hardware?

    • Different software. They had different APIs from the programmer perspective. MacTCP was older and was based on Berkeley sockets (I think with some BSD code in the implementation?) and was somewhat primitive.

      OpenTransport was fully multithreaded and based on SysV UNIX streams. Technically much superior. It has partial MacTCP API support for older apps but some programs demanded real MacTCP to work properly. I think Mac was the only place that really used Streams widely. Mac network programming in the OpenTransport days was alien from a Unix perspective.

      OS X now uses sockets like everyone does these days.

      Going off memory here it has been a long long time.

    • At the very least, MacTCP supports System 6 and the 68000; Open Transport is incompatible with both.

      (I seem to recall there's a version of OT you can use with System 7 Pro, a.k.a. System 7.1.1.)

  • Yes, MacTCP support is absolutely doable. It's a question of free time and priorities.

Aahhh, I still have my set of floppies for MacMinix! I ran than on a Powerbook 140 back then, it was quite cool! This predates Linux by quite a bit, having any way to have a shell on MacOS back then was incredible.

This makes me wonder.. Are there any quirky whimsical or nostalgic but still functional desktop OS out there.. Like the fantasy console PICO-8, but for Desktop applications?

  • 9front, seemingly Plan 9's de-facto successor, is almost surely quirky, often whimsical, at times nostalgic. It might even be functional, depending on how you define that[1]. Is actively developed, has a vibrant community. Puts an interesting spin on how you lay out systems, but doesn't diverge much from the Bell Labs formula. I'd certainly recommend giving it a shot, for the UNIX-inclined.

    [1] I've daily driven it back in high-school, for all that's worth. Wrote assignments in troff and all. Some people might be able to tell of less mundane success stories as well.

    • I tried Plan9 as a minimalist desktop. I soon realised that three-button mouse chording isn't doable in this decade, and wish someone had written a Platinum-like window manager to replace rio.

      5 replies →

    • Writing high school assignments in troff puts your an ubernerd status, which I am slightly envious of ;-)

  • Nothing's stopping you from making classic MacOS that OS – infinitemac.org is a tremendous website full of emulators with a large software collection and drag and drop file transfer! It has very good ergonomics if you just want to play around with it, throw some software you downloaded on to it, etc. When coding for the very early Mac, you just targeted a B&W 512x384 display.

    The Macintosh Toolbox is a bit verbose, though.

  • For me Ubuntu and Fedora give me nostalgia for Mac OS 10.5 and earlier. They remind me of that pre-iPhone era when software was shared via websites, when code signing and developer accounts hadn't become a thing yet, when the App Store was a radical suggestion, and before the OS became locked down with security and sandbox "features".

  • The makers of Pico-8 just released a fantasy desktop called Picotron, and it's rather amusing. Not really a suitable daily-driver yet, though.

    • I've been having an absolute blast with it though! Don't think it's really geared to be daily drivable at all, just a fun environment to make stuff.

  • AROS -- an AmigaOS-like environment -- can run in "hosted mode" on Linux or Windows environments, maybe Mac as well, in addition to standalone.

    https://www.aros.org

    Note that because it's an API-compatible reimplementation of AmigaOS, it's not really a "fantasy OS". Hosted mode is rather a tool for serious OS development. Nevertheless, it's much more like a modernized retro Amiga than it is any extant DE for Windows/Linux/Mac.

  • SerenityOS is probably your best shot, although it’s definitely not ready to be a daily driver yet.

Why does it need an internet connection?

  • MacRelix has an `upgrade` command that will check for and fetch a new version of itself.

    The installer is merely a stripped-down, single-file build of MacRelix with just enough tools to run the installer script, including `upgrade`.

    • I do wish there was a periodic side-loadable “full” release since I usually run my old Macs with no network connection at all.

      I didn’t feel like setting up open WiFi or WEP WiFi (same thing amirite) for my PowerBook so to install it I had my ThinkPad running internet connection sharing, connected through two patch cables and an old PowerConnect switch since I couldn’t find a crossover cable.

The fellow who does this is an absolute class individual. Definitely support this project!