Sheer, Utter Joy (Archived LiveCode downloads)

User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Sheer, Utter Joy (Archived LiveCode downloads)

Post by OpenXTalkPaul »

will export to Mac OS 9
I could be wrong, but I would think that a Linux version that "will export to" Mac OS 9 is unlikely, since macOS 9 classic apps used the 'resource fork' heavily as the app packaging format (like .AppImage, 1App=1File), which might contain resources like compiled 'CODE',WIND and Dialog Window definitions, Icons, 'SND ' Sounds, FONTs, 'PICT' graphics, etc. Also the 'dual fork' (Data Fork/Res Fork) is only really compatible with an Apple HFS formatted file system, which was a big pain in the parse if you needed to exchange files with a non-mac platform, often only the Data fork would survive an uncompressed file transfer. You could run the Mac OS under emulation or virtualization to build to an HFS formatted disk IMG and then Binhex or 'StuffIt' and then transfer it to your classic mac.
User avatar
overclockedmind
Posts: 268
Joined: Sat Apr 30, 2022 9:05 pm
Location: Midwest US
Contact:

Re: Sheer, Utter Joy (Archived LiveCode downloads)

Post by overclockedmind »

OpenXTalkPaul wrote: Thu Jul 07, 2022 8:20 pm
will export to Mac OS 9
I could be wrong, but I would think that a Linux version that "will export to" Mac OS 9 is unlikely, since macOS 9 classic apps used the 'resource fork' heavily as the app packaging format (like .AppImage, 1App=1File), which might contain resources like compiled 'CODE',WIND and Dialog Window definitions, Icons, 'SND ' Sounds, FONTs, 'PICT' graphics, etc. Also the 'dual fork' (Data Fork/Res Fork) is only really compatible with an Apple HFS formatted file system, which was a big pain in the arse if you needed to exchange files with a non-mac platform, often only the Data fork would survive an uncompressed file transfer. You could run the Mac OS under emulation or virtualization to build to an HFS formatted disk IMG and then Binhex or 'StuffIt' and then transfer it to your classic mac.
This, I should have remembered. Right before the DSAT...
MBA (Early 2015, 8GB/512G SSD, Monterey 12.7.2)
System76 serv12 (64GB RAM, 2TB SSD, 2TB HD, Win 10 Pro x64)
Power Mac 3,1 Project - Needs TLC will get it soon
User avatar
tperry2x
Posts: 1341
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Sheer, Utter Joy (Archived LiveCode downloads)

Post by tperry2x »

Yes, that would be a huge problem. I completely forgot about the whole resource-fork thing.

To build a standalone on Mac OS 9 and lower, you'd need to create a specific OpenXT MacOS 9 version. That would be a huge amount of effort for the limited numbers of users who actually still depend on it (specialist manufacturing, some science labs, legacy audio production workflows... that kind of thing).

You are spot on. When I was a kid, I remember trying to download everything from various freeware and shareware sites from an internet cafe (I used to volunteer to help there, and would utilise what I considered their amazing-at-the-time 1MB/Sec connection).

If the files were not stuffit compressed, or HQX encoded, the resource fork would have been instantly wrecked the moment it crossed into a filesystem that didn't understand data forks and how to handle mac resource files.
So I remember downloading a load of stuff the first time, then learning the hard way that it was all garbage when I opened it on my mac back home.

Seems to still be the case with Linux, and even with an HFS+ fuse filesystem, It can't seem to handle resource forks properly.
(or perhaps it's not aware of the "macintosh standard HFS" format - before HFS+).

Image

Simpletext is a Mac Application, and when you view the same directory in Linux, it's a 0 byte file. All the data for SimpleText is in it's Resource Fork. There's no data fork for this on the mac. (Macs could support storing resources in the data fork, but this wasn't made a rule, so most continued to use Resource forks.)

Interestingly (or not, depends on how much people care) - SuperCard 4, back in the day, used to have an option for moving things in the resource fork over to the data fork, so that mac standalones would survive copying through a non mac-forked-filesystem:
Image

Afterwards, If you tried to open the project with something like resedit, it wasn't aware of storing resources inside the datafork DF:
Image

But, if you opened it with something that was aware of this idea (such as resorcerer), then you could see the file and it's contents would survive the trip across a non-mac-filesystem:
Image

So, here's where a suggestion comes in.
If it were possible to recreate the mac compiling engine to do it's work in a linux version of OpenXTalk, then in theory when building the mac standalone, it just has to understand to package everything it needs into the df Datafork of the Mac standalone.

It wouldn't then matter about resource fork compatibility as there is no resource fork. In theory, the mac application would survive a trip across a non-mac filesystem, but would lose file type and creator settings ("APPL" and "???" in this case), and you'd lose any custom icons applied to the application as the icls,icl8, and more would be obliterated - as MacOS 9 and lower always looks for these in the Resource Fork, not the Data Fork when updating it's icon information.

Sorry if that's incredibly boring for anyone, but it does illustrate the challenges of system-interoperability.
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Sheer, Utter Joy (Archived LiveCode downloads)

Post by richmond62 »

The biggest shag about xTalk and MacOS 9 is that Runtime Revolution 2.0.1 had a way where, as long as you used no more
than 10 code lines in an object's script your stacks and standalones did not require licensing: so my Master's degree software
to produce an agent-led system used lots and lots of chained objects and scripts in fields . . .
-
Common Shag.
Common Shag.
shag.jpg (4.34 KiB) Viewed 7761 times
-
The common cormorant or shag
Lays eggs inside a paper bag.
The reason you will see no doubt
It is to keep the lightning out.
But what these unobservant birds
Have never noticed is that herds
Of wandering bears may come with buns
And steal the bags to hold the crumbs.

Christopher Isherwood
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Sheer, Utter Joy (Archived LiveCode downloads)

Post by richmond62 »

When I get back from Germany (next week), I'll give a proper answer to both . . .
#1 answered above.

#2 as far as I recall, while the standalone builder in Linux versions of Revolution 1.1.1 and 2.0.1 provide
you with an option to build Macintosh (as is Mac OS 8 or 9) builds, they don't work when ported across.
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Sheer, Utter Joy (Archived LiveCode downloads)

Post by richmond62 »

https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Sheer, Utter Joy (Archived LiveCode downloads)

Post by OpenXTalkPaul »

Thanks for the links Richmond!
I might just fire up my old MDD G4 (or Sheepshaver or Basilisk II) to have a play!
I think it would be cool to put together a retro xTalk Mac collection for emulators/classic as a disc image with not just HyperCard (fully loaded with tons of XCMDs/XFCNs, CompileIt!, etc.) but also MetaCard/Rev, Oracle Media Objects, Serf, SuperCard (demo?), etc. collected from Macintosh Garden and/or Archive.org. Maybe even OpenXION would even work on classic with JAVA 1.5 (IIRC) installed.
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests