- 1980 के दशक के Mac OS को API स्तर पर फिर से लागू करके Apple के ROM या सिस्टम सॉफ़्टवेयर के बिना 68K Mac applications को सीधे चलाया जा सकता है
- पूरे हार्डवेयर को emulation करने के बजाय ऑपरेटिंग सिस्टम को ही प्रतिस्थापित करने वाली संरचना है, जिससे boot प्रक्रिया के बिना तुरंत app launch संभव है
- backend 68K emulator और SDL2-आधारित frontend से मिलकर बना है, जो macOS, X11, Linux framebuffer आदि विभिन्न platforms पर एक जैसा environment प्रदान करता है
- MacPaint, Lode Runner, The Fool’s Errand जैसे classic Macintosh software को 1-bit graphics environment में चलाया जा सकता है
- GitHub open source के रूप में वितरित किया जाता है, और POSIX systems तथा VNC clients पर भी चल सकने वाला open reimplementation project है
Advanced Mac Substitute का परिचय
- Advanced Mac Substitute(AMS) 1980 के दशक के Mac OS को API स्तर पर फिर से लागू करने वाला project है, जो Apple के ROM या सिस्टम सॉफ़्टवेयर के बिना 68K Mac applications चला सकता है
- पारंपरिक emulators से अलग, यह पूरे hardware को emulate नहीं करता, बल्कि केवल 680x0 processor का अनुकरण करता है और ऑपरेटिंग सिस्टम को ही प्रतिस्थापित करता है
- इस संरचना की वजह से boot प्रक्रिया के बिना सीधे application चलाया जा सकता है
संरचना और घटक
- AMS को factored application के रूप में बनाया गया है
- backend एक 68K emulator है, जिसे POSIX systems पर कहीं भी build और run किया जा सकता है
- frontend एक bitmap terminal abstraction layer है, जो SDL2 पर आधारित है और macOS, X11, Linux framebuffer(fbdev) के लिए implementation शामिल करता है
- इस संरचना से विभिन्न platforms पर एक जैसा 68K Mac application execution environment मिलता है
चलने वाले applications और demo
- AMS original Macintosh के कई applications चला सकता है
- उदाहरण के लिए 1984 में जारी Amazing, Solitaire, Missile, IAGO जैसे games शामिल हैं
- इसके अलावा MacPaint, System’s Twilight, Lode Runner, The Fool’s Errand जैसे programs भी चलाए जा सकते हैं
- हर application AMS के भीतर 1-bit graphics environment में चलता है, और इसके वास्तविक चलने के वीडियो भी उपलब्ध हैं
समर्थित सुविधाएँ
- AMS निम्नलिखित Mac OS graphics और UI elements को support करता है
- 1-bit depth graphics, regions, circles और rounded rectangles, lines, cursor, GrafPorts, text, windows, controls, menus, dialogs आदि
- इससे 1980 के दशक के Macintosh software की visual और functional विशेषताओं को काफ़ी विश्वसनीय रूप से पुनर्निर्मित किया जाता है
source code और execution environment
- AMS का source code GitHub पर metamage_1 repository में सार्वजनिक है
- इसे macOS / OS X, X Window System, Linux framebuffer console, या VNC client पर सीधे चलाया जा सकता है
- project का legacy documentation अलग पेज पर स्थानांतरित किया गया है, और वर्तमान में उसका revision चल रहा है
demo उदाहरण
- आधिकारिक साइट पर कई demo videos शामिल हैं, जिनमें MacPaint, Amazing, Nyanochrome Cat आदि के running scenes देखे जा सकते हैं
- “Welcome to Advanced Mac Substitute” स्क्रीन वास्तविक boot screen नहीं, बल्कि application-form interface है
अन्य जानकारी
- project का प्रबंधन v68k.org पर किया जाता है, और नवीनतम update 2025 11 29 को किया गया
- developer GitHub और Twitter accounts के माध्यम से सक्रिय है
1 टिप्पणियां
Hacker News की राय
यह सच में कमाल का प्रोजेक्ट है। श्वेत-श्याम classic MacOS का एहसास एक तरह की ‘alternate timeline’ जैसी सौंदर्य-भावना देता है, जो भरोसा और स्थिरता महसूस कराता है
स्कूल की कंप्यूटर लैब में कतार से लगे Macintosh SE या Plus की याद आ गई
मैं अपना बनाया हुआ MacOS System 7 web desktop UI साझा कर रहा हूँ। यह वास्तविक web browsing करने वाला reinterpretation version है
screensaver देखकर ज़ोर से हँसी आई। परिचित भी लगा और अजनबी भी, जैसे parallel universe देख रहा हूँ
मैंने भी पहले web-based Mac simulator बनाया था। मकसद CSS और JS सीखना था, लेकिन फिर समझ आया कि web जटिल संरचनाएँ खड़ी करने के लिए बहुत उपयुक्त नहीं है, और उसी अनुभव ने Advanced Mac Substitute बनाने की दिशा दी
पिछले कुछ महीनों से मैं Basilisk II में ARM64 JIT जोड़ रहा था
अभी Quadra ROM को patch करके NuBus hardware detection को bypass कर रहा हूँ
मैं इस प्रोजेक्ट को ज़रूर आज़माना चाहता हूँ। अगर classic Mac environment में file sharing जैसी आधुनिक सुविधाएँ आ जाएँ, तो यह छोटे devices पर भी एकदम सही लगेगा
यह चौंकाने वाला है कि 1980 के दशक का software सिर्फ API compatibility के दम पर चल जाता है
timing या memory alignment जैसी implementation details पर निर्भर न होना वाकई बड़ी बात है
किसी एक implementation detail पर भी निर्भरता हो, तो दूसरे OS पर चलना बंद हो सकता है
1-bit framebuffer और CPU से ही ज़्यादातर काम हो जाता था
8-bit machines पर होने वाली hacking का बड़ा हिस्सा सीमित सुविधाओं को bypass करने के लिए होता था
Apple ने यह फैसले भविष्य की पीढ़ियों को ध्यान में रखकर किए थे या नहीं, यह नहीं पता, लेकिन simple structure की वजह से बाद की पीढ़ियों में विस्तार आसान हुआ होगा
यह सच में शानदार प्रोजेक्ट है। इससे 1990 में जारी हुआ commercial software ARDI Executor याद आ गया
उस समय इसने PC hardware पर API-level reimplementation के जरिए हैरान कर देने वाली speed दिखाई थी
बचपन में Windows PC पर Mac games चलाकर ‘अरे, यह भी हो सकता है’ वाला एहसास आज भी याद है
Executor wiki और GitHub code भी देखने लायक हैं
ARDI का एक engineer 1996 की documentary Triumph of the Nerds में भी थोड़ी देर के लिए दिखा था
उस समय emulation performance अहम थी, लेकिन अब hardware इतना तेज़ है कि यह बड़ी समस्या नहीं रही
अब असली मुद्दे हैं portability और maintainability, और उन programs को आधुनिक माहौल के हिसाब से patch करना जो CPU-विशिष्ट डिज़ाइन के साथ बने थे
मूल Mac 512k hardware के मुकाबले यह कितना तेज़ होगा, इसका अंदाज़ा लगाना मुश्किल है
एक ही floppy से system चलाने वाले दिनों की वह mechanical experience याद आ गई, जब बार-बार disk बदलनी पड़ती थी
अगर ‘slow mode’ जैसा feature हो, जो floppy read/write की आवाज़ भी दोहराए, तो वह सच में मज़ेदार होगा
सोच रहा हूँ कि यह Executor की तुलना में कैसा है
अच्छा होगा अगर कोई Carbon जैसी compatibility layer हो, जिसमें पुराने apps आधुनिक window frames के अंदर चलें और files save भी कर सकें
उदाहरण के लिए MacPaint demo में Hello document पर double-click करने से वह macOS Finder में MacPaint.app से खुलता है
जानना चाहता हूँ कि यह MACE से पहले पूरा हुआ था, या इसका लक्ष्य अलग है
क्या “Dark Castle” चलेगा? उस game पर मैंने वाकई बहुत समय लगाया था
और इस commit को देखें तो यह वास्तव में चल भी सकता है
यह वाकई बहुत बड़ी उपलब्धि है। इसे बनाने की प्रक्रिया, प्रेरणा, और इसमें लगा समय जानने की इच्छा है
मेरे एक दोस्त ने भी कभी Toolbox को C library के रूप में फिर से लिखकर Mac apps को PC पर port किया था
QuickDraw, Event Manager, Memory Manager वगैरह लगभग सब कुछ नए सिरे से implement किया था। उसने OpenLook UI इस्तेमाल किया था, इसलिए उसका एहसास बिल्कुल अलग था