3D Movie Maker Comes to Linux After 30-Year Journey via 3DMMEx Fork
Ben Stone’s 3DMMEx project has achieved the first native Linux build of Microsoft’s 1995 multimedia app 3D Movie Maker, 18 months after he forked the stalled 3DMMForever modernization effort. The work became possible only because Microsoft released the full Socrates/Kauai source code under MIT license in May 2022, following persistent advocacy from Alice Averlong and coordination by Scott Hanselman and Jeff Wilcox.
Porting a 30-year-old codebase exposed the usual archaeology problems: pre-standard C++ that only Microsoft’s compiler accepts, a Kauai framework whose ‘cross-platform’ support extends only to Mac 68K, direct Win32 calls leaking through abstraction layers, hand-written x86 assembly in hot paths, and 32-bit pointer assumptions. Stone tackled them incrementally while keeping the Windows x86 build alive. Notably, he reverse-engineered the AudioMan static library in Ghidra using its debug symbols, then swapped in miniaudio for non-Windows targets since AudioMan was bound tightly to COM and Windows sound APIs. The BRender 3D engine was made portable thanks to contributor prettytofugirl rewriting its x86 assembly in C.
The Linux port was driven by collaborator Mark Cave-Ayland, who wanted the app running on a Raspberry Pi for his kids. The effort illustrates both the value of permissive source releases for preservation and the practical reality that ‘open source’ alone doesn’t mean portable — decades of platform-specific assumptions still demand significant rework.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.