<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
  <title>windowslatest.com</title>
  <link>https://aggr.aymericbeaumet.com/sources/windowslatest.com/</link>
  <description>Browse aymeric&#39;s, an independent, searchable archive of readable snapshots from followed feeds, preserved in Git with aggr.</description>
  <language>en</language>
  <atom:link href="https://aggr.aymericbeaumet.com/sources/windowslatest.com/rss.xml" rel="self" type="application/rss+xml"/>
  <lastBuildDate>Tue, 20 Oct 2026 00:14:03 +0000</lastBuildDate>
  <generator>aggr</generator>
  <item>
    <title>Why Windows 11 still ships with Windows 95&#39;s memory manager hidden inside it</title>
    <link>https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-20-why-windows-11-still-ships-with-windows-95-s-memory-manager/</link>
    <guid isPermaLink="false">urn:aggr:item:3c0713a288db1d2560fab59077cdd1cdc57db735</guid>
    <atom:link href="https://www.windowslatest.com/2026/10/19/why-windows-11-still-ships-with-windows-95s-memory-manager-hidden-inside-it/" rel="via" type="text/html"/>
    <pubDate>Tue, 20 Oct 2026 00:14:03 +0000</pubDate>
    <dc:creator>khalidkhair</dc:creator>
    <description>How Windows 95 code survives inside Windows 11 You’ll probably not be surprised to know that Windows 11 still carries a working piece of the Windows 95 kernel. A compatibility fix called EmulateHeap gives old apps Windows 95’s memory…</description>
    <content:encoded>&lt;figure class=&quot;article-figure&quot;&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/How-Windows-95-code-survives-inside-Windows-11.jpg&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/How-Windows-95-code-survives-inside-Windows-11.jpg&quot; alt=&quot;How Windows 95 code survives inside Windows 11&quot; title=&quot;How Windows 95 code survives inside Windows 11&quot; loading=&quot;eager&quot; decoding=&quot;async&quot; fetchpriority=&quot;high&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;/a&gt;&lt;figcaption&gt;How Windows 95 code survives inside Windows 11&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;You’ll probably not be surprised to know that Windows 11 still carries a working piece of the Windows 95 kernel. A compatibility fix called &lt;strong&gt;EmulateHeap&lt;/strong&gt; gives old apps Windows 95’s memory manager when they depend on its forgiving nature, and you can find it on a Windows 11 26H2 PC today.&lt;/p&gt;
&lt;p&gt;The tradition goes back to &lt;strong&gt;SimCity&lt;/strong&gt;, which only ran on Windows 95 because Microsoft wrote special code for it.&lt;/p&gt;
&lt;figure class=&quot;article-figure&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/EmulateHeap-a-fix-that-runs-Windows-95s-heap-manager-still-ships-with-Windows-11-26H2.jpg&quot; alt=&quot;EmulateHeap, a fix that runs Windows 95’s heap manager, still ships with Windows 11 26H2&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;EmulateHeap, a fix that runs Windows 95’s heap manager, still ships with Windows 11 26H2. Credit: Windows Latest&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2&gt;Microsoft changed how Windows 95 managed memory &lt;em&gt;just&lt;/em&gt; for SimCity&lt;/h2&gt;
&lt;p&gt;Apps ask Windows for memory while they run and free it when they’re done. If that memory is still read after being freed, it is a bug known as use-after-free, and the original SimCity for Windows 3.x had one.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Joel Spolsky&lt;/strong&gt;, Stack Overflow co-founder and former Microsoft engineer, shared the story in a &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii-chicken-and-egg-problems/&quot;&gt;2000 essay&lt;/a&gt;, citing Jon Ross, who wrote that version of SimCity. Ross admitted he accidentally left a bug where the game &lt;em&gt;“read memory that he had just freed&lt;/em&gt;,” and Spolsky explains why nobody noticed. &lt;em&gt;“It worked fine on Windows 3.x, because the memory never went anywhere.”&lt;/em&gt;&lt;/p&gt;
&lt;figure class=&quot;article-figure&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/SIMCity-2000-Special-Edition-for-Windows-95.jpg&quot; alt=&quot;SIMCity 2000 Special Edition for Windows 95&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;SIMCity 2000 Special Edition for Windows 95. Source: Nap’n’Retrogaming&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;SimCity broke on the Windows 95 betas, and instead of waiting for a patched game, Microsoft added code to Windows 95 that looks for SimCity. &lt;em&gt;“If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away,”&lt;/em&gt; Spolsky wrote.&lt;/p&gt;
&lt;p&gt;Yes, Microsoft modified its OS just to cover up one game’s bug.&lt;/p&gt;
&lt;h2&gt;Microsoft recompiled Windows 95’s heap manager to keep old apps alive&lt;/h2&gt;
&lt;p&gt;The SimCity hack was a one-off, but other apps made similar assumptions. Microsoft engineer Raymond Chen explained in his &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://learn.microsoft.com/en-us/previous-versions/technet-magazine/ff625273(v=msdn.10)&quot;&gt;Windows Confidential column&lt;/a&gt; in 2010 that some programs used the quirks of the Windows 95 heap, such as reading freed memory and expecting the old values to still be there.&lt;/p&gt;
&lt;p&gt;Unfortunately for those apps, they crashed on later versions of Windows, which manage memory differently.&lt;/p&gt;
&lt;figure class=&quot;article-figure&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/08/Windows-95-CD.jpg&quot; alt=&quot;Windows 95 CD&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;Windows 95 CD. Source: Pinterest&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The solution was EmulateHeap, which fixes this issue by redirecting an app’s heap calls, &lt;em&gt;“from HeapCreate to LocalLock to GlobalReAlloc and everywhere in between,”&lt;/em&gt; to replacements that mimic Windows 95. Chen describes it as &lt;em&gt;“extremely simple”&lt;/em&gt; yet &lt;em&gt;“completely crazy,”&lt;/em&gt; and the even crazier part is how Microsoft built it:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;“…they simply took a copy of the Windows 95 Heap Manager source code, recompiled it, and added it to the compatibility infrastructure.”&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In Chen’s words, &lt;em&gt;“there’s a copy of a significant chunk of the Windows 95 kernel inside the Windows application compatibility framework.”&lt;/em&gt; Chen notes the old code only loads from the hard drive when EmulateHeap is enabled for an app, so your PC isn’t quietly running Windows 95 in the background.&lt;/p&gt;
&lt;p&gt;To be clear, EmulateHeap isn’t the code Microsoft wrote for SimCity. Both come from the compatibility obsession behind &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://www.windowslatest.com/2026/10/02/windows-xp-had-a-hidden-database-of-broken-apps-and-microsoft-used-it-to-trick-them-into-working/&quot;&gt;Windows XP’s hidden database of app fixes&lt;/a&gt;, but they’re separate fixes.&lt;/p&gt;
&lt;h2&gt;How to find EmulateHeap in Compatibility Administrator on Windows 11&lt;/h2&gt;
&lt;p&gt;You can see EmulateHeap in &lt;strong&gt;Compatibility Administrator&lt;/strong&gt;, a free Microsoft tool for IT admins that lists the compatibility fixes Windows comes with. Microsoft describes a &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://learn.microsoft.com/en-us/windows/deployment/planning/creating-a-custom-compatibility-fix-in-compatibility-administrator&quot;&gt;compatibility fix (or shim)&lt;/a&gt; as &lt;em&gt;“a small piece of code that intercepts API calls from applications.”&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Compatibility Administrator comes with the &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install/&quot;&gt;Windows Assessment and Deployment Kit (ADK)&lt;/a&gt;, and the September 2026 release officially supports Windows 11 26H2. I found EmulateHeap on my 26H2 PC with these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://go.microsoft.com/fwlink/?linkid=2289980&quot;&gt;Windows ADK&lt;/a&gt; from Microsoft and run the installer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select only Application Compatibility Tools from the list of features and finish the install.&lt;/p&gt;
&lt;figure class=&quot;article-figure&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/Selecting-Application-Compatibility-Tools-in-Windows-Assessment-and-Deployment-kit.jpg&quot; alt=&quot;Selecting Application Compatibility Tools in Windows Assessment and Deployment kit&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;Selecting Application Compatibility Tools in Windows Assessment and Deployment kit. Credit: Windows Latest&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Search Start for Compatibility Administrator and open the 32-bit version, as most Windows 95-era apps are 32-bit.&lt;/p&gt;
&lt;figure class=&quot;article-figure&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/Compatibility-Administratir-32-bit-in-Start.jpg&quot; alt=&quot;Compatibility Administrator 32 bit in Start&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;Compatibility Administrator 32 bit in Start. Credit: Windows Latest&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Under Custom Databases, right-click New Database, then select Create New &amp;gt; Compatibility Mode.&lt;/p&gt;
&lt;figure class=&quot;article-figure&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/Creating-a-new-database-of-Compatibility-Mode.jpg&quot; alt=&quot;Creating a new database of Compatibility Mode&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;Creating a new database of Compatibility Mode. Credit: Windows Latest&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scroll the list of available compatibility fixes to EmulateHeap.&lt;/p&gt;
&lt;figure class=&quot;article-figure&quot;&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://www.windowslatest.com/wp-content/uploads/2026/10/EmulateHeap-in-Compatibility-Administrators-list-of-compatibility-fixes-on-Windows-11-26H2.jpg&quot; alt=&quot;EmulateHeap in Compatibility Administrator’s list of compatibility fixes on Windows 11 26H2&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;EmulateHeap in Compatibility Administrator’s list of compatibility fixes on Windows 11 26H2. Credit: Windows Latest&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Of course, a listed fix isn’t a working fix. After the Windows 11 22H2 update, &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/4169648/emulateheap-compatibility-shim-broken-on-windows-1&quot;&gt;users reported&lt;/a&gt; that games like GTA Vice City lost sound and Need for Speed: Most Wanted crashed with the shim enabled.&lt;/p&gt;
&lt;p&gt;Ironically, Microsoft is &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://www.windowslatest.com/2026/07/22/first-look-windows-11-is-replacing-windows-95-era-properties-dialog-now-with-dark-mode-and-winui/&quot;&gt;replacing the Windows 95-era Properties dialog&lt;/a&gt; with WinUI 3, while it still keeps Windows 95’s heap manager around for a handful of old apps. Microsoft wasn’t kind enough to extend this effort to &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://www.windowslatest.com/2026/08/22/microsoft-explains-why-pinball-vanished-from-windows-we-couldnt-afford-to-spend-days-studying-the-code/&quot;&gt;3D Pinball&lt;/a&gt;, which was dropped because of a 64-bit bug the team couldn’t afford to spend days on.&lt;/p&gt;
</content:encoded>
    <category>news</category>
  </item>
</channel>
</rss>
