Welcome, Guest | Home | Search | Login | Register
Author Carbonizing apps without source code? (Read 15642 times)
cballero
1024 MB
******
Posts: 1176
System 7, today and forever
View Profile
on: January 16, 2025, 08:53

So, Carbon apps preferably need to be from specific processing languages and be open source, right? But how about something that’s outside of both of those parameters? I’m referring specifically to standalone FM databases; would there be any chance a “Carbon” template could ever be created to generate standalone Carbon versions? I’m thinking if a tiny standalone DB would be generated to dissect, maybe the app portion could be examined for such a feat? I dunno, but that could potentially, if ever so remotely a chance, place standalone 3 and 4 versions beyond OS 9, up to SL even! :o
lauland
512 MB
*****
Posts: 674
Symtes 7 Mewconer!
View Profile
Reply #1 on: January 16, 2025, 18:07

Well...using FM wouldn't make it any easier than any other program...like taking just ANYTHING Carbonated, and trying to use parts of it.

And that alone would be monumental.  If you don't have the source code, you're talking about decompiling or disassembling, neither of which ever produce very good results.  Or bits of binary code from one app and gloming onto another...terribly complicated, when/if possible.  At that point, one should question one's sanity and just do emulation.

----

I know the language issue you're referring to is the Pascal code we've been talking about over at MG.  Basically, you need a compiler that targets the OS/System you're aiming for...and then there's the dialect of the language...and the runtime library differences.  As I mentioned FreePascal MIGHT be something to look into...but asking ANYONE to do Pascal in 2025 is a huge ask.

----

Finally, Carbonating: It's a three step process. 

First, you just need the compiler and libraries and headers.  That's easy.  (As long as you have it for the language you're using).

Second, you need to translate several API calls that changed, some pretty radically.  Not too bad, a pretty mechanical process. 

The tricky part is what are called "opaque structures".  Carbon doesn't allow you access to the insides of a lot of bits and pieces of things that were wide open on MacOS 7/8/9.  Instead you have to ask the OS (using new "accessor functions") to get at different bits.  This can actually be a big pain in the rear, usually having to add two or three lines in a very large number of places (like every single time a window property is needed).  And you can't always do it easily, having to bend over slightly backwards sometimes.

"Functions for Accessing Opaque Data Structures"
(Modern browser)

I guess there's a 4th step too...using "Carbon Events", and modernizing the event loop.  This is optional.

MachTech article about Carbon Events
(http!)

----

Anyway, this is a big subject in of itself...Pascal totally aside.  If there's anyone interested in Carbonating something open source, let me know and I can definitely help.  (As long as it's in C/C++!)
Last Edit: January 16, 2025, 18:20 by lauland
cballero
1024 MB
******
Posts: 1176
System 7, today and forever
View Profile
Reply #2 on: January 16, 2025, 22:59

Totally gotcha! I threw it out there to see what the outer edges of 'Carbonating' were even possible! Thanks for the awesome breakdown (as always) Lauland :)
Pages: [1]

© 2021 System7Today.com.
The Apple Logo, Macintosh™, Mac OS™, and others property of Apple Computer, Inc.
This site is in no way affiliated with Apple Computer, Inc.