6 ms·
I recall a relevant piece of history where the Intel 286 didn't have the ability to drop from the new protected mode back to real mode without a full system res
by cjdell 6y ago
I recall a relevant piece of history where the Intel 286 didn't have the ability to drop from the new protected mode back to real mode without a full system reset. A team at IBM eventually figured out that with a well crafted dance of instructions this could be achieved by taking advantage of specific quirks within the chip.
By the time the 386 was released, this method was so common that Intel had to preserve these quirks to maintain compatibility with existing software. Apple may find themselves in a similar situation if they're not careful.
- fluffything 6y agoApple just breaks such Software.
- socialdemocrat 6y agoIt is well known that Apple does not follow such policy. If you didn't follow their standards and your software break, then that is on you. Apple will not lift a finger. This has been Apple practice for over 20 years, and if you develop on the Mac platform you should be well aware of it or suffer the consequences.
- donarb 6y agoIn the early years, Microsoft had written some system hacks that they used to run Word and Excel on Apple computers. Apple had to be careful not to break those hacks when releasing OS updates. Eventually Apple got tired of a vendor dictating changes on it's own OS and got Microsoft to remove these hacks.
- mrkstu 6y agoYep, some vendors have that kind of pull, which is exactly why the Carbon API was created and persisted for a long while. But, like Carbon, Apple will eventually sunset anything that drags at them evolving the platform.
- Someone 6y agoI only remember that they postponed the move from a 24-bit address bus to a full 32-bit one because about every program would have crashed (https://en.wikipedia.org/wiki/Classic_Mac_OS_memory_management#32-bit_clean https://en.wikipedia.org/wiki/Classic_Mac_OS_memory_manageme.... Many programs flipped bits because it was a lot faster than making the system call that did the same) I don’t remember any Excel-specific code to keep Excel running, but there was a special error code from the “launch program” system call saying “program has special memory requirements”, but AFAIK, it actually meant “program is Excel version such and such” (changing the programs’s creator code made “launch program” succeed, but the program almost immediately crashed.
- GeekyBear 6y agoI'm curious as to what hacks these were? I can remember when Microsoft decided to port some of the underpinnings of early versions of Windows to the Mac so they could run a unified code base for Word 6 on the Mac and on Windows, but they had to abandon that effort almost immediately as it was bloated, too slow, and didn't use the native UI. >Mac Word 6.0 was a crappy product. And, we spent some time trying to figure out how not to do that again. In the process, we learned a few things, not the least of which was the meaning of the term “Mac-like.” https://web.archive.org/web/20040514091238/http://blogs.msdn.com/rick_schaut/archive/2004/02/26/80193.aspx https://web.archive.org/web/20040514091238/http://blogs.msdn... That's the only time I can remember them doing something unique that other vendors weren't also doing.
- bobbylarrybobby 6y agoApple actually has implemented manual compatibility fixes for several third party apps. https://worthdoingbadly.com/appkitcompat/ https://worthdoingbadly.com/appkitcompat/
- random5634 6y agoWe could only wish - Apple doesn’t help getting stuff running (which would be easy) much less give a single thought to breaking third party software not running on their OS. They are switching entire architecture to M1 / ARM
- zaroth 6y agoIt seems like this is a crucial part of their competitive advantage, while Intel ends up totally hamstrung under the weight of four decades of past design decisions.
- random5634 6y agoIt's certainly impressive, they'll have done two full architecture shifts now on their desktop product line pretty seamlessly.
- temac 6y agoApple does not really care about software using unsupported resources. They don't even care much about backward compat for supported ones... With the level of vertical integration they have now it is unlikely they will ever start to care.
- magnat 6y ago> A team at IBM eventually figured out that with a well crafted dance of instructions this could be achieved by taking advantage of specific quirks within the chip. Details are described at [1], tl;dr: - store register values in RAM - set magic value in CMOS - cause triple fault to reset CPU - BIOS sees magic value and instead of resetting rest of the system, it resumes from your stored state in real mode So it's more like a BIOS quirk. A20 gate backward compatibility on the other hand ... [1] - http://rcollins.org/articles/pmbasics/tspec_a1_doc.html http://rcollins.org/articles/pmbasics/tspec_a1_doc.html
- jecel 6y agoIBM used an external processor, they 8042 which was the keyboard interface, to reset the 286 on demand to go back to real mode. The 286 did have some quirks, but as far as I know none that allowed you to escape protected mode.