Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > macOS > Cross platform confusion.

Cross platform confusion.
Thread Tools
alexkent
Fresh-Faced Recruit
Join Date: Dec 2000
Location: London, UK
Status: Offline
Reply With Quote
Dec 6, 2000, 07:58 PM
 
ok, with all this talk about osX on intel and so on, i'd like to check a few facts about the cross platforming osX.

I am under the impression that porting osX to run on Intel chips would not only need work on the os but also all apps would have to be re-compiled to run on intel chips.
some people seem to be under the impression that classic apps would not work on an intel port but carbon + cocoa apps would?
how do you figure that?

But then (as a counterpoint) winNT4 was available to run on x86, ppc, alpha, mips, etc. and they all ran the same executables without recompiling (i think?).

so, could someone please clear this up for me??
     
Anonymous
Guest
Status:
Reply With Quote
Dec 6, 2000, 08:56 PM
 
> I am under the impression that porting osX to run on Intel chips
> would not only need work on the os but also all apps would have to
> be re-compiled to run on intel chips.

Unless some sort of PowerPC emulator were included in the OS, then yes, all cocoa apps would have to be recompiled. And since the logistics of providing emulation are non-trivial, not to mention the engineering effort, emulation is not the way to go. So therefore all apps would have to be recompiled to run on the platform.

> some people seem to be under the impression that classic apps
> would not work on an intel port but carbon + cocoa apps would?
>how do you figure that?

Well, almost the same thing as above. Would an emulator be included in the OS to translate PPC instructions to x86, then classic apps probably could run. But this isn't easy either, for the reason above: lots and lots of work. Its not worth it.

If there was no emulator, and in *any* Intel port of OS X there would *not* be one, things are much harder. You could recompile Cocoa apps to be native, but Classic would not work at all. There are many reasons why Classic would be whacked on Intel X, not the least of which is MacOS. Many many many of the Toolbox calls are coded with 68000 processor conventions in mind, even in PPC native code. Apple did not rewrite MacOS 7.5 and up to be PPC native, they wrote an *emulator* to translate 68k instructions into PPC ones. This way they could slowly make the OS PPC native, but didn't have to do it all at once. This was partially why the first PPC's weren't faster than the 040's around at the time, because so much of the system software and the apps were running through the 040 emulator. So when apps and parts of the OS ran, if they were 68k, they were piped through the emulator.

Now, the PPC and 68k are alike enough that its fairly easy to do emulation between the two (ie endian issues, etc). But thats not the case with x86 and PPC/68k. The other thing to keep in mind is that not only would the x86 port of X have to emulate a 68k processor, but it would have to *also* emulate a PPC. And they just don't have the horsepower to do that, especially to do a G4.

So back the the issue of why Classic apps can't be recompiled for OS X on Intel. Think of this: how do Classic apps run? First you have to launch Classic... What is Classic, what does it do? It starts up your system folder, but your OS 9 system folder. Bingo. Therefore, to have Classic on OS X, you'd have to make OS 9 work on Intel hardware too. Great, now 2 OS's that have to be ported. Classic apps can't run without Classic, and your OS 9 system that Classic boots up still isn't fully PPC native. There is still 68k assembly code in there. There's PPC assembly code. There are PPC optimized data structures. OS 7/8/9 weren't written to be cross-platform, and that's a problem when it comes time to port.

Plus, all your favorite extensions would have to be recompiled, etc. This won't happen. Basically, why would someone want Classic for Intel? So you can run classic Applications of course. But if you're running classic, then you've got OS X. By the time Apple would ever get around to releasing an OS X for Intel, there will be Cocoa and Carbon applications galore, that could be easily recompiled for Intel. So why bother with Classic on Intel?

Just for the record, no, NT did not run the same executable across platforms. IE, you could not run an x86 executable on a PPC NT machine.
     
jblakeh1
Senior User
Join Date: Oct 2000
Location: Dallas, TX
Status: Offline
Reply With Quote
Dec 6, 2000, 10:50 PM
 
It's very misleading how the media characterize a switch to Intel hardware. It would definitely spell the end of the Mac.

I'm sure Adobe, Macromedia, and all the big shops figure they already have versions of their apps for Intel- the Windows versions- and would not be likely to make the effort to port, so it's a non-issue. Not to mention the rift it would cause with M$.

Even if moving everything to Intel hardware were easy, it would not be a good thing for Apple. IBM learned the hard way with OS/2.
     
jblakeh1
Senior User
Join Date: Oct 2000
Location: Dallas, TX
Status: Offline
Reply With Quote
Dec 6, 2000, 10:52 PM
 
It's very misleading how the media characterize a switch to Intel hardware. It would definitely spell the end of the Mac.

I'm sure Adobe, Macromedia, and all the big shops figure they already have versions of their apps for Intel- the Windows versions- and would not be likely to make the effort to port, so it's a non-issue. Not to mention the rift it would cause with M$.

Even if moving everything to Intel hardware were easy, it would not be a good thing for Apple. IBM learned the hard way with OS/2.
     
alexkent  (op)
Fresh-Faced Recruit
Join Date: Dec 2000
Location: London, UK
Status: Offline
Reply With Quote
Dec 7, 2000, 03:01 PM
 
thanks for clearing that up.
i was getting so annoyed about everybody bitching about how apple should start using amd/intel just to get more speed and 'hey, osx is cross platform anyways, they would just have to release the intel version and it would be brilliant'.

cheers.
     
alexkent  (op)
Fresh-Faced Recruit
Join Date: Dec 2000
Location: London, UK
Status: Offline
Reply With Quote
Dec 7, 2000, 03:13 PM
 
thanks for clearing that up.
i was getting so annoyed about everybody bitching about how apple should start using amd/intel just to get more speed and 'hey, osx is cross platform anyways, they would just have to release the intel version and it would be brilliant'.

cheers.
     
alexkent  (op)
Fresh-Faced Recruit
Join Date: Dec 2000
Location: London, UK
Status: Offline
Reply With Quote
Dec 7, 2000, 03:15 PM
 
thanks for clearing that up.
i was getting so annoyed about everybody bitching about how apple should start using amd/intel just to get more speed and 'hey, osx is cross platform anyways, they would just have to release the intel version and it would be brilliant'.

cheers.
     
dhobbit
Junior Member
Join Date: Nov 2000
Status: Offline
Reply With Quote
Dec 8, 2000, 09:11 AM
 
Originally posted by alexkent:
thanks for clearing that up.
i was getting so annoyed about everybody bitching about how apple should start using amd/intel just to get more speed and 'hey, osx is cross platform anyways, they would just have to release the intel version and it would be brilliant'.

cheers.
Just to clear up a couple of details and hopefully some confusion. Darwin, the MacOS X kernel, is cross platform and the OpenStep libraries, the base for Cocoa, are cross platform. Which means Apple shouldn't have a lot of trouble moving OS X to intel, Sparc, or aynthing else. As for applications anything code in Cocoa would just need a recompile, I would think Carbon apps would need some recoding, and classic wouldn't even think of working (even though there is a really good MacOS emulator for Linux/x86). The Cocoa, OpenStep apps, can also be compiled as a fat binary with all support architectures in the binary. Then the installer simple copies the code for your platform to your hard drive during install.

So not getting into the argument of "should Apple port?", and going with the "could Apple port?". I think the answer is yes they could, fairly easily port to Intel. Apple even has the little mentioned Yellow Box product with currently runs OpenStep apps on NT, so they could update that to run Cocoa apps on NT. The advantage then is cross platform compatibility with the same UI on both platforms.

     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 09:49 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,