Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I've been waiting to see when this would happen, and I'm very curious to know how Intel will respond. 3 years ago Intel released a statement that they would aggressively pursue legally anyone that was working on x86 emulation.

Key word there is emulation. Rosetta 2 is not an emulator anymore than WINE is...they are both translators. Intel can't do jack regarding a translator because it don't actually use the x86 instruction set.
 
Key word there is emulation. Rosetta 2 is not an emulator anymore than WINE is...they are both translators. Intel can't do jack regarding a translator because it don't actually use the x86 instruction set.

The 64 bit instruction set (x86-64) is owned by AMD, not Intel. Intel was busy with the Itanium processors at the time.
Maybe Apple do have a license, from AMD. And perhaps that's why they killed the 32-bit support last year.

Also, I'm not sure if making a distinction between translation and emulation makes much sense. In both cases the instructions are translated to an equivalent set of native instructions, but in one case ahead-of-time and in the other case just-in-time. Most emulators would translate at least a chunk of code in one go and keep this in memory, and the leap from that to translating the whole thing is not a big one.

Microsoft's poor effort in the x86 emulation in Windows for ARM is surprising. They have made excellent emulators for previous generations of Xbox, and even back in the late 1990s, Windows NT 4.0 for the Alpha processor - a RISC processor - would run x86 programs using FX!32.
 
  • Like
Reactions: IG88
Yeah, that was just a standard "I'm not omniscient" disclaimer...
I understood, but I wanted to make sure the point was clear for others. It is certainly possible that Intel and AMD have amazing chips in the pipeline that they have just been keeping secret from Apple because they knew that Apple was going to do this, but it is not very likely.
I'm certain Apple already has that low level documentation for their own teams. Alternatively Apple could provide the libraries to interface with their custom coprocessors. I'd suspect the first would be more likely.
If they do not make these available today, making them available to Microsoft would mean making them public (once they are outside Apple’s control, they have to assume they will be public). In addition, making them available to Microsoft, would make it more difficult for them to restrict access to them in other contexts (read iOS/iPadOS/watchOS). If they keep them completely internal, their anti-trust argument is stronger than if they provide selective access to one other player.
I agree the ability to quickly iterate their designs is a key AS advantage. It wouldn't be on Apple to make MS keep up though, it would be on MS to fully utilize the hardware if they wanted to maximize their performance. As far as MS producing a terrible implementation, MacOS would provide a performance reference-- if we see Windows lagging MacOS at the same task on the same hardware, that should make MS look bad, not Apple.
I am not sure in what world you live, but that is not how it would play out. If an Apple Silicon Mac had 24 hours of battery life under macOS and 12 under Windows, most tech reviewers would describe the machine as having 12 hours of battery life. Same for every other aspect. Your argument is the same one that is used by people to justify Apple allowing side loading on iOS/iPadOS/tvOS/watchOS: “If someone got a virus from a side loaded product, that would be their fault not Apple’s”. However, history shows us that is not true. When developers used a pirated version of Xcode to develop iOS apps that introduced problems the reporting was that Xcode had a virus.

Also, people who bought Apple Silicon Systems to run Windows, would describe their experience to others without differentiating: “I have a mac and it crashes all the time.” ”I have a Mac and I only get 12 hours of battery life”.
I'll admit to not being all that familiar with how the secure enclave works, but if access can just be granted to someone then it can be stolen which makes it less than secure to begin with. I don't know for sure, but I doubt it's as simple as Apple having exclusive access to that functionality.
Apple has refused to make it available to others on iOS/iPadOS/watchOS, for security reasons. Were they to do so on Apple Silicon Macs, it would weaken their argument on the other platforms and that is something they will not want to do.
Were they? I'm having a hard time finding a good reference, but best I can tell Apple's PC marketshare was about 5 or 6% worldwide in 2006 when BootCamp launched and it still seems to be about 6 or 7% now.
In 2006, their market cap was about $200 Billion. They had 1 major product line and were starting to see serious revenue from the iPod. Today their market cap is around $2 Trillion and they have the iPhone, iPad (a business that is by itself larger than Apple was then), Apple Watch, etc. and over $200 billion in the bank. Seems quite a bit stronger.
If it's not a cost issue, hire more engineers. Hire them in Seattle if that's best. Or, put more of the burden on Microsoft.
First, it is not just about having more people, it means splitting the attention of those that are currently working on these products/projects. Second, if it was that easy to just hire more people, Apple would still rather hire them for projects that will net them more revenue and control.
Yeah, you're not wrong. But, again, I see this as more of an MS agility question than an Apple issue. I would fully expect Apple to take a MacOS first approach and leave it to MS and a liaison team in Apple to work out the kinks. The platform won't be a mystery here-- Apple will have it working for MacOS.
Easy to say, but that is not how these things work in the real world. The liaison team will take resources and they have their own interests. They will lobby for changes that will benefit them and they customer. If they did what you describe, they would essentially be Microsoft in the 90’s. Using internal APIs and other things that they did not make available to others. When they make these things available to no one externally, they are in a stronger position to deny others access in the iOS/iPadOS/tvOS/watchOS realm.
Right, but they'll be much more hesitant to burn bridges than Apple was because Apple took control of their own destiny while MS would be changing who they're dependent on. I’m not sure how this would play out in practice because Intel is at least as dependent on MS as the other way around.
It also creates a problem for Microsoft in that it would create a fork (Windows and Windows on Apple Silicon). Anyone who wanted to take advantage of the Apple Silicon custom hardware would then lock those applications onto Apple machines, increasing sales of Apple’s machines and making native macOS ports more likely. None of these things is good for Microsoft.
I don’t expect that MS will make their own chips. I could imagine some other commodity player coming in though. It’ll take time though for anyone else to get good enough at it.
Why not? Everyone said they would not make their own computers and yet now they are. The only way to control one’s destiny is to do it. To quote the over quoted: “People who are really serious about software should make their own hardware.”
Sadly, I think you’re right...
Me too. :)
 
  • Like
Reactions: Maximara
If Windows for ARM ran natively on M1 hardware, I would buy a MacBook Pro :)
Me too, but only as long as it supported the x86 version of windows for arm. Windows is worthless to me without being able to run all my x86 software I have.
 
I wasn't going to reply to this thread but now I pretty much have to.

Thankfully after losing my copy of SC4 I got it on sale on GOG/Steam or whatever, but haven't played in several years, but now I suddenly want a taste.

Worst case scenario, I'll play those games on my $400 Windows "media center" rig. When SC4 first came out, my expensive PowerBook was so slow, the time barely moved. That same mac ran SC2K on Cheetah so fast the date was a blur.

Now my 5 year old $400 media center runs SC4 like my PowerBook once ran SC2K. Oh how time flies.
I know, right? SC4 might have poor graphics compared to games of today, but damn the gameplay is awesome! Unlike the reboot, I like being able to actually change the terrain & water. However, in the reboot, I do like how you can add on to some buildings and some of the new street & building types.
 
Time to move on you are the kind of person holding us back.
Meh. In my experience, sometimes old school is the best school. While I agree, sometimes you have to move on, but that shouldn't prevent you from at least remembering & learning from the past. I've played games probably older than you, and heck, maybe even older than your parents. Anyone else play the 16 color Indiana Jones and the Last Crusade from 1991? It's available on Steam.
 
  • Like
Reactions: ervingv
The 64 bit instruction set (x86-64) is owned by AMD, not Intel. Intel was busy with the Itanium processors at the time.
Maybe Apple do have a license, from AMD. And perhaps that's why they killed the 32-bit support last year.
Intel blocked Microsoft and Qualcomm from doing x86-64 emulation on ARM chips. Does Intel own the x86-64 ISA? What is AMD's standing? seems to explain things.

"Though a few lazy / sensationalist journalists made the noise into a likely sue-ball for emulating x86, on ARM, which given the 6 year statute of limitations on suing for patent infringement (Patents: initiating a lawsuit), the x86 patents granted between the 1970s and the late 1990s, and x86 emulation being publicly / commercially offered from 1988 (32+ years), unmolested, means that even if software patents were a thing, and patent terms weren’t 20 years, that bird flew a generation back.

In short nobody seems to really "own" the x86 instruction set (certainly not the 32-bit part) and given the 64-bit part came out in 2003 in two years that will be it for the patents on the original 64-bit IIUC.

Also, I'm not sure if making a distinction between translation and emulation makes much sense. In both cases the instructions are translated to an equivalent set of native instructions, but in one case ahead-of-time and in the other case just-in-time. Most emulators would translate at least a chunk of code in one go and keep this in memory, and the leap from that to translating the whole thing is not a big one.
In a legal sense it makes all the difference in the world. Emulation as a overly general rule of thumb involves some reverse engineering while translation can be done by treating the hardware or software as a black box. Yes, that means that translation is intensive as all get out.

Microsoft's poor effort in the x86 emulation in Windows for ARM is surprising. They have made excellent emulators for previous generations of Xbox, and even back in the late 1990s, Windows NT 4.0 for the Alpha processor - a RISC processor - would run x86 programs using FX!32.
But those are platforms have a far smaller variation than the general PC market.
 


Microsoft today announced the first preview of x64 emulation for Arm PCs, with the feature now available to Windows Insiders in the Dev Channel. That means Windows users who have Arm PCs like the Surface Pro X can now install apps that have not been ported to Arm64.

microsoft-surface-book-x.jpg
Microsoft says that while it is expanding the capabilities of its emulator, it recommends that developers implement native Arm support for the best possible app experience.

In the new preview, Windows users can install x64 apps from the Microsoft Store or from other locations, with Microsoft highlighting the availability of x64-only apps like Autodesk Sketchbook and games like Rocket League. Other apps will benefit from being run as 64-bit instead of 32-bit, such as Chrome.

Microsoft says that the new emulation feature is still in the early stages of testing and will continue to improve in compatibility and performance over time, and some of the apps that are run in emulation may not work initially.

Users who are expecting a smooth emulation experience should not get their hopes up because as The Verge points out, Microsoft's prior emulation work has not been fantastic, with apps loading and running slowly.

Microsoft has not been able to match Apple's work with Rosetta 2, which is designed to allow M1 Mac users to run Intel-based apps on their machines. Rosetta 2 has proven to be streamlined and speedy, with none of the emulation complaints that Microsoft has faced.

Though an Arm version of Windows is available for PCs, Windows is not compatible with Apple's M1 Macs due to licensing issues. Microsoft only provides Windows 10 on Arm to PC manufacturers to preinstall on their hardware and does not offer a consumer version.

Article Link: Microsoft Brings x64 Emulation to Windows on Arm PCs
I thought for a second that they were bringing i64 emulation to ARM. That’d be fun.
 
  • Haha
Reactions: IG88
Windows runs on a hardware abstraction layer, and can be ported to just about any architecture. In the past, Windows has run natively on:
  • PowerPC,
  • Intel 32 bit
  • Intel 64 bit (Itanium x86)
  • AMD 64 bit (x86-64)
  • ARM, and
  • RISC.
Assuming that Apple Silicone is ARM v8 compatible (hint: it is) it's nothing more than providing drivers for the hardware and actually selling a Windows on ARM license, something that Microsoft does not currently do (their SKUs are all for x86-64 right now, I'm not even sure if you can buy x86 32 bit anymore)
I believe: ARM is a RISC and the rest are CISC.
 
Meh. In my experience, sometimes old school is the best school. While I agree, sometimes you have to move on, but that shouldn't prevent you from at least remembering & learning from the past. I've played games probably older than you, and heck, maybe even older than your parents. Anyone else play the 16 color Indiana Jones and the Last Crusade from 1991? It's available on Steam.
But as MacOS 9 (A Sheephaver package variant) and Macintosh.js show you can do that without bogging down the main OS. Given the are both 64-bit these programs should run on M1 macs which means you could run Would Builder, a 1986 32-bit, game creation program on an M1 Mac via Rosetta 2. There was even an M1 fork of Sheephaver by Nov 24, 2020 though it still has a long way to go.

If that wasn't enough the Virtual II Apple II Emulator now has a M1 version. The reality is you don't need to keep the OS in the flipping dark ages to support old software...just write decent emulator/translators.
 
People were still running 32-bit apps in 2017?!
What is fantastic about that? Many Windows games that were ported to the mac (Sims 3 and Lord of the Rings lego cases in point) using WINE which was still 32-bit back then the port was made. Go through Steam and look at all the games that have the will not run on Catalina notice. Nearly all of those are 32-bit applications and it is 2020.

How about what people wanted to run 16-bit apps in 2019? Oh that's right - Windows users. :eek:
 
The main app of Visual Studio for Windows is still 32-bit today
It's not just Windows. Many mac games on Steam are 32-bit only likely due to many of them effectively being wine wrappers around a PC game. As least in the case of Sims 3 there was enough money to be made to rewrite the game.
 
And anyone that comes here to tell me that Microsoft’s implementation of ARM is better than what Apple have put out will be laughed out of the forum.
I like Windows, but I will agree with you that Microsoft's implementation is effectively worthless. Apple nailed the whole thing with x86 applications sometimes running even faster on the M1. If I hadn't seen it I wouldn't believe it.

FWIW, even Windows users on other places I frequent also feel Microsoft needs to up their game.
 
I have a bunch of old 32-bit games that I'll probably miss out on then like SimCity 4. Great game, much better in many ways compared to the SimCity reboot.

You can use Crossover/Wine for that sorta stuff... I wouldn't bother booting into Windows just so you can play SimCity 4.
 
  • Like
Reactions: Maximara
I wonder if, assuming windows on arm gets a proper public release, and assuming it works with some kind of virtualisation software - whether apples Rosetta 2 software with be able, (or be tweaked to be able) to translate windows software.
It would be hard for Apple to do that (and it would make no sense for them to try). Rosetta works as well as it does because it is able to take advantage of Apple's knowledge of their compilers, languages and tools. For example, hardware support for retain/release makes Swift and Objective-C reference counting much faster. Apple would not have that knowledge for Microsoft's products.
That would be a boon for Apple if windows on a Mac could run legacy x86 windows software faster than windows machines were capable of.
No, that would be a detriment to Apple. Apple's goal would be to allow the use of legacy Windows applications in a way that makes them useable but inferior to native macOS applications. They want these tools and applications to enable a transition to macOS, not to enable a better Windows experience. That is another reason it is not in their interest to directly enable Windows natively running on Apple Silicon machines and why they will not really want to support their custom co-processors under Windows.
 
It would be hard for Apple to do that (and it would make no sense for them to try). Rosetta works as well as it does because it is able to take advantage of Apple's knowledge of their compilers, languages and tools. For example, hardware support for retain/release makes Swift and Objective-C reference counting much faster. Apple would not have that knowledge for Microsoft's products.

No, that would be a detriment to Apple. Apple's goal would be to allow the use of legacy Windows applications in a way that makes them useable but inferior to native macOS applications. They want these tools and applications to enable a transition to macOS, not to enable a better Windows experience. That is another reason it is not in their interest to directly enable Windows natively running on Apple Silicon machines and why they will not really want to support their custom co-processors under Windows.
I get your reasoning and I agree. However I was referring more to it being a by product of their tech. If windows on arm could only emulate, and windows as a vm on macos could translate, then it would be a boon. But if it doesn’t work like that, then my reasoning is already flawed. In admit I don’t know the ins and outs by a long shot. Thinking out loud really.
 
First to port their main OS to Arm I’d assume
I guess it depends on what one means by "main OS". Apple's main OS by volume is iOS, I think iPadOS is number two. Both of those have run on Arm since launch. I would be curious to see some numbers, but I would not be surprised if Apple sells more M1 Macintosh systems in its first 3 months of sales, than Microsoft has sold Windows on Arm systems since their launch.

To be clear however, I do not really care which one was first. Apple is often not the first player in a market, just the first one that really solves the problem (and thus achieves volume/scale).
 
  • Like
Reactions: windowsblowsass
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.