Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
As an aside, in my sphere of business we ran a fully supported and native version of Windows on PowerPC systems for many years. Intel chips were not an option due to compliance issues. We only started to migrate away when supply of PowerPC chips became a problem (ie the US Government went on a shopping spree).
Did you run WinNT/PowerPC on IBM boxes, I think I remember seeing a laptop which ran the PowerPC603e, or did you use your own Mobo?
 
@ph001bi
NT & XP and I think we started on a version of Win2000. The OS provided by MS was usually a good generation or 2 behind general releases, albeit modernised in certain areas and with up to date security patches. MS certainly knows how to extract the very last $ when you run a custom OS on a different architecture.
 
Last edited:
The problem with Windows is that is has so much legacy code and needs to run legacy software. I can run games from early 2000 on my latest Windows 10 system with no issues.

Apple is different. They have no problem dropping legacy support. Which is why we can no longer run 32 bit applications while Windows can.

The M1 performs SO WELL because Apple controls both the software and the hardware. It would not perform as well on Windows as people think it would.

I thought Apple had the x86 emulator Rosetta 2? From what I've been reading the performance of x86 programs under Rosetta 2 is very good, I believe I've read it runs at around 80% performance. But IMO battery life is more of an issue. With Windows if you are just running ARM apps then it's a good upgrade in terms of battery life, but if you are running x86 in their emulator then it's not a good upgrade and in some benchmarks it's a downgrade. My biggest question for the M1 IMO is how the battery life will be under Rosetta 2 as we are in for a few years where many will still have to emulate x86.
 
I thought Apple had the x86 emulator Rosetta 2? From what I've been reading the performance of x86 programs under Rosetta 2 is very good, I believe I've read it runs at around 80% performance. But IMO battery life is more of an issue. With Windows if you are just running ARM apps then it's a good upgrade in terms of battery life, but if you are running x86 in their emulator then it's not a good upgrade and in some benchmarks it's a downgrade. My biggest question for the M1 IMO is how the battery life will be under Rosetta 2 as we are in for a few years where many will still have to emulate x86.
Rosetta doesn’t emulate anything, and it’s a completely different technology than is used by windows on arm. Since it doesn’t emulate anything, battery life impact is minimal.
 
Rosetta doesn’t emulate anything, and it’s a completely different technology than is used by windows on arm. Since it doesn’t emulate anything, battery life impact is minimal.

Thanks for the clarification. Reading up I see it's more of an on the fly translator, although at that point it's technologically over my head. Having minimal battery life impact is incredible. I wonder why MS doesn't go this route, but again that's technologically over my head. It's still semi-useless though I suppose unless MS made their own version of Rosetta.
 
Thanks for the clarification. Reading up I see it's more of an on the fly translator, although at that point it's technologically over my head. Having minimal battery life impact is incredible. I wonder why MS doesn't go this route, but again that's technologically over my head. It's still semi-useless though I suppose unless MS made their own version of Rosetta.
It actually isn’t even an on-the-fly translator (other than in some rare circumstances). Translation occurs, usually, just once. Either when you first install the app, or when you first launch the app. After that, it just uses the translation that already exists (again, there are some rare exceptions to this).

Not sure why Microsoft didn‘t go that route, but it may have something to do with history. On MacOS, ”apps” are actually really folders, and inside the folder can be executables for multiple different CPU architectures. In theory you could have a single icon that, when clicked, chooses to launch PowerPC, x86-64, x86, ARM64, or whatever, because there is a binary executable for each within the ”app.” Apple’s had this capability for a long time, because the history of Mac is cpu architecture change - 68k -> PPC -> x86 -> x86-64 -> Arm. Microsoft’s executables (i.e. “.exe” files) are just binaries. So if they wanted to do a one-time translation, they’d either need to extend the .exe format in some way that remains backward compatible, or they’d have to find someplace else to put the translation. Then when you click to launch an app, the OS would have to intervene and figure out whether there is a translated version. And it would potentially have to cope with users moving executable files around, etc.

None of that is insurmountable, but it does tend to favor emulation instead.

A second problem is that, because windows attempts to be backward compatible forever, you have a lot of software running on windows that misbehaves in various ways (modifying pages of instruction memory on-the-fly, etc.). This means that one-time translation wouldn’t work for that software, and would complicate the design of the translator - a lot of the time you’d have to translate on-the-fly anyway, in which case an emulator may make more sense.
 
It actually isn’t even an on-the-fly translator (other than in some rare circumstances). Translation occurs, usually, just once. Either when you first install the app, or when you first launch the app. After that, it just uses the translation that already exists (again, there are some rare exceptions to this).

Not sure why Microsoft didn‘t go that route, but it may have something to do with history. On MacOS, ”apps” are actually really folders, and inside the folder can be executables for multiple different CPU architectures. In theory you could have a single icon that, when clicked, chooses to launch PowerPC, x86-64, x86, ARM64, or whatever, because there is a binary executable for each within the ”app.” Apple’s had this capability for a long time, because the history of Mac is cpu architecture change - 68k -> PPC -> x86 -> x86-64 -> Arm. Microsoft’s executables (i.e. “.exe” files) are just binaries. So if they wanted to do a one-time translation, they’d either need to extend the .exe format in some way that remains backward compatible, or they’d have to find someplace else to put the translation. Then when you click to launch an app, the OS would have to intervene and figure out whether there is a translated version. And it would potentially have to cope with users moving executable files around, etc.

None of that is insurmountable, but it does tend to favor emulation instead.

A second problem is that, because windows attempts to be backward compatible forever, you have a lot of software running on windows that misbehaves in various ways (modifying pages of instruction memory on-the-fly, etc.). This means that one-time translation wouldn’t work for that software, and would complicate the design of the translator - a lot of the time you’d have to translate on-the-fly anyway, in which case an emulator may make more sense.

Wow that's incredible information, thanks!
 
"is it gonna be great? of course it wont its windows"

it's not 2006 anymore, hun. it's 2020. windows has come a long way.

-posted from my iPhone 12 Max Pro
I literally only have BootCamp as a games launcher and Windows still manages to drive me mad. It can't even keep the cursor within a fullscreen game on a secondary monitor. Never mind the ludicrous mouse and scrolling behaviour.
 
  • Like
Reactions: CarlJ
Never mind the ludicrous mouse and scrolling behaviour.
Indeed this is what I like most about macOS. In particular in connection with a Magic Mouse the scrolling behavour in documents and code sources is in a class of its own. Yeah, simple thing, I know. But sice this is what I do most of the time when using a computer its also of utmost importance.
 
Not to nitpick, but the "apps as folders" was a concept inherited from NextStep, it wasn't around at Apple during the first transition from m68k to ppc. That original "fat binary" was made possible because files in the Mac's file system consisted of two parts, a data fork and a resource fork. That second part allowed all types of resources to be saved as part of the file, including binary code.

(*Why was a resource fork created in the first place? The original Mac OS was a flat file system, it wasn't hierarchical - it did not support subdirectories. So there was no other way to group resources together. Which was kind of a step backwards, because Apple's ProDOS was hierarchical.)
Good point. They did change mechanisms after the first transition. Of course there are lots of implications to both techniques - resource forks were the bane of some of our existence back in the days when we had to deal with files moving between dos/windows and Mac.

I vividly recall proDOS, and playing around with nested directories. But I seem to recall that there were some compatibility issues with some software at the time, so most of my floppies were formatted with old school DOS 3.x.
 
  • Like
Reactions: CarlJ
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.