Infinite Mac OS X
(blog.persistent.info)- Infinite Mac प्लेटफ़ॉर्म पर अब Mac OS X सीरीज़ के शुरुआती वर्ज़न (10.1, 10.3) वेब ब्राउज़र में चलाए जा सकते हैं
- PowerPC emulator PearPC को Emscripten/WebAssembly पर पोर्ट करके compatibility और stability में सुधार हासिल किया गया
- DingusPPC के साथ तुलना करते हुए performance और रहस्यमय bugs को सुधारा गया, और algorithmic optimization की प्रक्रिया अपनाई गई
- Mac OS X के लिए उपयुक्त Infinite HD disk image भी नया बनाया गया, जिससे 2000 के दशक के विभिन्न software और development tools तक पहुंच संभव हुई
- UI में Aqua style लागू कर retro user experience को और बेहतर बनाया गया, साथ ही भविष्य के अतिरिक्त विस्तार की संभावना भी ध्यान में रखी गई
सारांश
Infinite Mac प्लेटफ़ॉर्म पर लंबे समय से legacy systems को ऑनलाइन अनुभव करने देने वाला प्रोजेक्ट Infinite Mac अब Mac OS X 10.1 और 10.3 जैसे शुरुआती वर्ज़न को सपोर्ट करता है, जिससे वे आधुनिक वेब ब्राउज़र में चल सकते हैं। इस प्रक्रिया में PearPC और DingusPPC जैसे PowerPC emulators को Emscripten/WebAssembly आधारित रूप में पोर्ट किया गया और performance सुधार व stability सुनिश्चित करने के लिए कई प्रयास किए गए। algorithm optimization और bug fixes के जरिए original hardware की तुलना में resolution और reliability बेहतर की गई, और उस दौर के software व development tools से भरा Infinite HD भी फिर से तैयार किया गया ताकि उपयोगिता बढ़ सके। साथ ही, साइट UI में Aqua theme लागू कर nostalgic अनुभव दिया गया, और आगे A/UX, Lisa जैसे और भी retro OS सपोर्ट तक विस्तार की संभावना पर विचार किया गया। यह प्रोजेक्ट program emulation, open source archive expansion और UI restoration जैसे कई लक्ष्यों को एक साथ हासिल करने वाली तकनीकी कोशिश को दिखाता है।
Mac OS X सपोर्ट का विस्तार
- Infinite Mac में Mac OS X 10.1 और 10.3 जैसे शुरुआती OS X वर्ज़न वेब ब्राउज़र में चलने लायक पोर्ट किए गए
- वास्तविक hardware की धीमी performance को वैसा ही दोहराते हुए, उस दौर के NetNewsWire Lite और Terminal जैसे प्रमुख applications का अनुभव भी लिया जा सकता है
- नवीनतम disk image में उस समय के indie software भी आंशिक रूप से शामिल हैं, जिससे retro software खोजना आसान हो गया है
PearPC पोर्टिंग प्रक्रिया
- शुरुआत में DingusPPC emulator को पोर्ट और संशोधित करने पर ध्यान था, लेकिन kernel panic और graphics errors की वजह से दिशा बदलकर PearPC अपनाया गया
- PearPC 2000 के दशक की शुरुआत में x86 आधारित सिस्टम पर Mac OS X चलाने के लिए बनाया गया multiplatform codebase है, इसलिए बिना बहुत अतिरिक्त काम के इसे WebAssembly लक्ष्य पर पोर्ट करना अपेक्षाकृत आसान रहा
- हाल ही में Basilisk II और SheepShaver के प्रमुख maintainer ने PearPC की एक experimental branch बनाई, जिससे आधुनिक macOS पर build करना संभव हुआ
- source पुराना है और legacy C++ आधारित है, लेकिन इसमें custom string class, sprintf, GIF decoder जैसी विशेषताएँ मौजूद हैं
- multiplatform संरचना, लगभग बिना threads के design, और structured abstraction layers की वजह से porting तेज़ी से हो सकी
Performance optimization और सीमाएँ
- PearPC पर Mac OS X 10.2 का boot और runtime reliability काफ़ी अच्छी थी, लेकिन DingusPPC की तुलना में execution speed धीमी रही
- MMU caching की कमी जैसी वजहों से performance loss काफ़ी बड़ा है
- DingusPPC में लागू की गई कई algorithm-based optimizations को PearPC में भी लाया गया, जिससे boot speed में कुछ सुधार मिला
- PearPC केवल आवश्यक PowerPC instruction subset को implement करता है और custom firmware, drivers जैसी कई तरह की ‘cheats’ का उपयोग करता है
- फिर भी तेज़ और stable Mac OS X emulation के लिए लंबी अवधि में DingusPPC को अधिक संभावनाशील माना जा रहा है
सहायक खोज: FP exception handling
- PearPC के interpreter में unified decoding approach लागू करने पर floating-point operations में rendering errors दिखाई दिए
- Mac OS X kernel MSI register के FP bit state के आधार पर exception handling register करता है; इसे code में लागू करने पर rendering समस्या हल हो गई
- DingusPPC में भी इसी FP bit omission की वजह से text rendering में गड़बड़ी थी, जिसे ठीक करने के बाद stability काफ़ी बढ़ गई
- workaround जैसे handling से आगे बढ़कर ‘standard’ implementation तक पहुँचा गया, और अंततः 10.1 चलाने की reliability भी बहुत बेहतर हुई
- दोनों emulators को मिलाकर विभिन्न OS X versions के support का दायरा बढ़ाया गया
Infinite HD disk image का पुनर्निर्माण
- Mac OS X दौर के अनुरूप disk image को नए सिरे से बनाया गया, जिसमें उस समय के कई indie software और developer tools शामिल हैं
- पुराने .dmg files को नवीनतम macOS पर सीधे mount नहीं किया जा सकता, इसलिए dmg2img जैसे tools का उपयोग करके conversion और automation pipeline बनाई गई
- HFS और HFS+ filesystems के अंतर के कारण कुछ सीमाएँ हैं, लेकिन अधिकांश software ठीक से चलता है
- library sites और Wayback Machine जैसी विभिन्न sources के माध्यम से 2000 के दशक की शुरुआत का software runtime environment तैयार किया गया
- multipartition image की dynamic generation तकनीक अपनाकर boot disk, Infinite HD और storage के लिए Saved HD सहित अधिकतम 3 volumes mount किए जा सकते हैं
UI: Aqua style लागू
- Aqua theme को Infinite Mac UI में भी अपनाया गया, जिससे retro एहसास और अधिक गहरा हुआ
- Mac OS X 10.0/10.1 style image assets को सीधे extract करके translucent effects तक लागू किए गए
- साइट के controls का style भी OS के रूप (classic, Platinum, NeXT आदि) के अनुसार अपने-आप लागू होता है
- आगे Apple macOS में बड़े UI बदलावों की पृष्ठभूमि में, यह पुराने UI के लिए एक ‘reference point’ की भूमिका भी निभा सकता है
अतिरिक्त सुविधाएँ और milestones
- Mac OS 9 partition mount और Classic environment चलाने की सुविधा जोड़ी गई (केवल 10.1 में समर्थित)
- पुराने Calculator app के repeated operations behavior जैसी OS-आधारित UX differences का भी पुनर्निर्माण संभव है
- PearPC में मौजूद boot messages (Verbose) mode को सक्रिय किया गया और DingusPPC में open firmware variables सेट करने का तरीका लागू किया गया
macosx.appdomain के ज़रिए branding बढ़ाने की कोशिश भी जारी है, लेकिन फिलहाल यह किसी और के पास है
भविष्य का विस्तार और समापन
- Mac OS X सपोर्ट के विस्तार के साथ Infinite Mac ने आधुनिक macOS के साथ एक कड़ी तैयार की है
- और गहरे retro अनुभव के लिए A/UX, Lisa, Pippin, Newton आदि के porting की संभावना का भी उल्लेख किया गया
- WebAssembly आधारित QEMU(wasm) में भी प्रयोगात्मक रुचि दिखाई गई, और performance tests में सकारात्मक संकेत मिले
- Mac OS X का web-based emulation अनुभव, legacy software preservation, development experiments और विभिन्न IT/startup scenarios में उपयोगी मूल्य प्रदान करता है
1 टिप्पणियां
Hacker News राय
cherryosनाम से बेचा थाdmgdrag), Finder bookmarks, Dock का व्यवहार, और Spotlight की शुरुआत—यह सब तब भी मौजूद था; Windows XP और Windows 11 के बीच हुए बदलाव की तुलना में Mac में बदलाव कम रहे हैंwmvयाdivxजैसे अलग-अलग file formats चलाने के लिए codecs ढूँढ़ना रोज़ का काम था, और सिर्फ़ सुंदर दिखाने के लिए vents तक न होने से overheating की समस्या भी बार-बार होती थी