Atari Microsoft BASIC
माइक्रोसॉफ्ट बेसिक के 6502 संस्करण के अटारी माइक्रोसॉफ्ट बेसिक और अटारी माइक्रोसॉफ्ट बेसिक II संस्करणों को अटारी 8-बिट मशीनों में पोर्ट किया गया। 1981 में जारी किए गए पहले संस्करण के लिए 32 के. बी. रैम की आवश्यकता थी और इसकी आपूर्ति फ्लापी डिस्क पर की गई थी। दूसरे संस्करण में, जो अगले वर्ष जारी किया गया था, एक वैकल्पिक फ्लापी पर अतिरिक्त कार्यों के साथ एक रॉम कार्ट्रिज पर अधिकांश कोड था। अटारी माइक्रोसॉफ्ट बेसिक ऐपलसॉफ्ट बेसिक और कमोडोर बेसिक जैसे समकालीन बेसिक के साथ अत्यधिक संगत था, उनके अपने अटारी बेसिक के विपरीत जो कुछ अलग बोली थी और कई मायनों में असंगत थी। अटारी बेसिक की तरह, अटारी माइक्रोसॉफ्ट बेसिक ने अटारी प्लेटफॉर्म का लाभ उठाने के लिए कई नए आदेश और सुविधाएँ शामिल कीं। ये केवल अटारी बेसिक की समान विशेषताओं के साथ आंशिक रूप से संगत थे। जब माइक्रोसॉफ्ट ने अपने मूल इंटेल 8080-आधारित बेसिक को 6502 में पोर्ट किया, तो उन्होंने बेहतर सटीकता के लिए फ्लोटिंग-पॉइंट प्रारूप को मूल 32-बिट प्रारूप से वैकल्पिक 40-बिट प्रारूप में विस्तारित करने के लिए समय लिया। कम्पाइलर फ्लैग प्रदान करके दोनों संस्करणों को एक ही कोड से संकलित किया जा सकता था; यदि 32-बिट प्रारूप का उपयोग किया जाता है तो परिणामी कोड की लंबाई 8 KB से कम होती है, यदि 40-बिट प्रारूप का उपयोग किया जाता है, तो यह 9 KB के करीब होता है। अटारी 8-बिट घरेलू कंप्यूटरों को 8 के. बी. रॉम कार्ट्रिज के लिए एक स्लॉट के साथ डिज़ाइन किया गया था। अटारी के प्रोग्रामरों ने प्लेटफॉर्म का लाभ उठाने के लिए सुविधाओं को जोड़ते हुए माइक्रोसॉफ्ट के बेसिक को एक ही कार्ट्रिज में फिट करने के लिए संघर्ष किया। 1978 की गर्मियों में, अटारी ने पोर्टिंग प्रयास को आउटसोर्स करने का फैसला किया ताकि बेसिक प्रणाली के 1979 के प्रक्षेपण के लिए समय पर तैयार हो जाए, और यह उन्हें शेपर्डसन माइक्रोसिस्टम्स इंक. (एसएमआई) की ओर ले गया। एस. एम. आई. ने तुरंत फैसला किया कि काम असंभव था, और इसके बजाय बेसिक का एक पूरी तरह से नया संस्करण बनाने का प्रस्ताव रखा। यह अटारी बेसिक बन गया और 1979 में अटारी 400 और 800 के साथ जारी किया गया। अटारी ने एमएस कोड के साथ काम करना जारी रखा और 1981 में इसका एक संस्करण फ़्लॉपी डिस्क पर जारी किया। अटारी बेसिक की तुलना में एमएस में मानक आदेशों की विस्तारित श्रृंखला के अलावा, नए संस्करण में ग्राफिक्स और ध्वनि और मंच की अन्य विशेषताओं के लिए कई अतिरिक्त आदेश जोड़े गए। इसमें पूर्णांक चर और एक पूर्णांक गणित पैकेज भी शामिल था जो बेहतर प्रदर्शन की पेशकश करता था। हालाँकि, चूंकि इसके लिए कम से कम 32 के. बी. रैम की आवश्यकता होती थी और यह केवल एक डिस्क से चलता था, इसलिए यह कभी भी विशेष रूप से लोकप्रिय नहीं था। एक दूसरी रिलीज़, अटारी माइक्रोसॉफ्ट बेसिक II, ने अधिकांश कोड को एक विस्तारित 16 KB कार्ट्रिज पर स्थानांतरित कर दिया और डिस्क पर अधिक दुर्लभ रूप से उपयोग किए जाने वाले कोड का एक अतिरिक्त 11 KB रखा, जिसका अर्थ है कि क्रॉस-प्लेटफ़ॉर्म उपयोग के लिए कई प्रोग्राम अब अकेले कार्ट्रिज से चलाए जा सकते हैं। 1982 में रिलीज़ हुई बेसिक II में भी वास्तविक दुनिया में बहुत कम उपयोग देखा गया। विवरण अंतर्निहित दुभाषिया उसी 9 KB MOS 6502 कोड पर आधारित था जो कमोडोर बेसिक और ऐपलसॉफ्ट बेसिक का आधार भी था, और काफी हद तक उनके साथ संगत था। इसका एक प्रमुख पहलू स्ट्रिंग हैंडलिंग सिस्टम था, जो उन प्लेटफार्मों के समान कोड पर आधारित था। इसके विपरीत, अटारी बेसिक ने एक पूरी तरह से अलग प्रणाली का उपयोग किया जो स्ट्रिंग्स को वर्णों की सरणी के रूप में मानता था और अधिकांश अन्य प्रणालियों के साथ संगत नहीं था, न ही आसानी से पोर्ट किया गया था। इसने मूल 40-बिट प्रारूप फ्लोटिंग-पॉइंट अंकगणितीय पुस्तकालय को बरकरार रखा, जिसने सिस्टम के ऑपरेटिंग सिस्टम रॉम में कुख्यात रूप से धीमी गति को बदल दिया, और इस प्रकार अन्य प्लेटफार्मों के समान गति से गणित कोड चलाया, और अटारी बेसिक की तुलना में बहुत तेज था। इसमें अतिरिक्त प्रदर्शन के लिए एक अतिरिक्त पूर्णांक गणित पैकेज भी शामिल था। पूर्णांक गणित प्रणाली को तब शुरू किया गया था जब असाइनमेंट एक पूर्णांक चर के लिए था, या शाब्दिक मान सभी पूर्णांक थे। यदि दोनों में से कोई भी सही नहीं था, तो पूर्णांक मानों को फ्लोटिंग-पॉइंट में परिवर्तित किया जाएगा, गणना के लिए फ्लोटिंग-पॉइंट कोड का उपयोग करें, और फिर भंडारण के लिए पूर्णांक में वापस परिवर्तित किया जाएगा। एक अन्य उल्लेखनीय प्रदर्शन-संबंधी सुधार लूप से संबंधित था। अटारी बेसिक ने निष्पादन स्टैक पर लाइन नंबर रखकर इनका प्रदर्शन किया, इसलिए जब संबंधित का सामना किया गया तो यह पता लगा सकता था कि किस लाइन पर वापस लूप करना है। इसके विपरीत, एमएस बेसिक ने हमेशा उस रेखा के स्मृति स्थान को ढेर पर रखा था, जिससे यह मिलान रेखा के लिए पूरे कार्यक्रम के माध्यम से खोज किए बिना वापस जा सकता था। अटारी बेसिक में यह विषमता इसके धीमे प्रदर्शन के प्राथमिक कारणों में से एक है, और क्योंकि अटारी माइक्रोसॉफ्ट बेसिक में यह सच नहीं था, यह आम तौर पर अटारी बेसिक की तुलना में बहुत तेजी से चलता था। अटारी बेसिक के विपरीत, जिसने टाइप करने पर पूरी पंक्तियों को पार्स और टोकनाइज़ किया, एमएस बेसिक ने केवल आंशिक रूप से स्रोत कोड को टोकनाइज़ किया। जब एक पंक्ति दर्ज की गई थी, तो पंक्ति संख्या को ए. एस. सी. आई. आई. से 16-बिट पूर्णांक में परिवर्तित कर दिया गया था, पहले प्रोग्राम स्टेटमेंट को एकल-बिट मान के लिए टोकन किया गया था, और फिर बाकी पंक्ति को पाठ प्रारूप के रूप में छोड़ दिया गया था। अंतिम वर्ण में रेखा के अंत को इंगित करने के लिए इसका उच्च-बिट सेट था। उपयोग-मामले के आधार पर, अटारी बेसिक के लाइन के पूर्ण टोकनाइजेशन के परिणामस्वरूप प्रोग्राम को संग्रहीत करने के लिए कम मेमोरी का उपयोग किया जा सकता है। इस अंतर का मतलब यह भी था कि कई वाक्यविन्यास त्रुटियों को केवल एमएस कोड में रनटाइम पर देखा जाएगा, अटारी संस्करण के विपरीत जहां पूरी पंक्ति को संपादन समय पर जांचा गया था। सिद्धांत रूप में, संपादन-समय संकलन ने अटारी बेसिक को एमएस की तुलना में बहुत तेज बना दिया होना चाहिए था, जो हर बार जब इसका सामना होता है तो लाइन को फिर से जोड़ता है, लेकिन यह लाभ ऊपर उल्लिखित अन्य प्रदर्शन मुद्दों से धोया गया था। एम. एस. बेसिक में अटारी बेसिक के विपरीत मुख्य शब्दों के छोटे रूपों को दर्ज करने के लिए एक प्रणाली शामिल नहीं थी, जिसने उन्हें प्रवेश के दौरान एक अवधि के साथ संक्षिप्त करने की अनुमति दी थी। जब कार्यक्रम का संपादन किया जाता था, तो मुख्य शब्दों का विस्तार किया जाता था। कमोडोर का संस्करण जिसने उसी छोर पर नियंत्रण-चरित्र पूर्णता को जोड़ा। अटारी माइक्रोसॉफ्ट बेसिक ने मंच का लाभ उठाने के लिए कई नई सुविधाएँ जोड़ी हैं। एक दिलचस्प जोड़ वह है जो "जिफियों" की निर्दिष्ट संख्या, एक सेकंड के 1/60 ths के लिए प्रतीक्षा करता है, और फिर प्रदर्शन करता है। इसमें वह भी शामिल था जो अगली पंक्ति में आगे बढ़ने से पहले स्मृति पते के बदलने की प्रतीक्षा करते हुए रुका था। यह एमएस बेसिक के शुरुआती संस्करणों का हिस्सा था लेकिन व्यापक रूप से उपयोग नहीं किया जाता था। अटारी माइक्रोसॉफ्ट बेसिक में अटारी बेसिक के अधिकांश ग्राफिक्स और ध्वनि आदेश शामिल थे। अजीब तरह से, मूल को वैकल्पिक प्रारूप का उपयोग करके विलय कर दिया गया था। इसका मतलब है कि अटारी बेसिक के लिए ग्राफिक्स कोड संगत नहीं था। अटारी माइक्रोसॉफ्ट बेसिक ने खिलाड़ी/मिसाइल ग्राफिक्स और उपयोगकर्ता-परिभाषित चरित्र सेट को संभालने के लिए कई अतिरिक्त आदेश जोड़े जो अटारी बेसिक में उपलब्ध नहीं थे। अटारी माइक्रोसॉफ्ट बेसिक दो पैकेजों में आयाः फ़्लॉपी डिस्क-CX8126 ROM कार्ट्रिज-RX8035। चूंकि कार्ट्रिज केवल 16 के. बी. रख सकता था, शेष 11 के. बी. फ़ाइल को "एक्सटेंशन" डिस्क पर शामिल किया गया था। कार्ट्रिज संस्करण को अटारी माइक्रोसॉफ्ट बेसिक II कहा जाता था। हालांकि अटारी बेसिक की तुलना में अधिक सुविधाओं से भरा, माइक्रोसॉफ्ट बेसिक की कभी भी उतनी लोकप्रियता नहीं रही जितनी अटारी बेसिक की थी। सबसे बड़ी समस्याएं थींः मेमोरी में वृद्धि की आवश्यकता (कम से कम 32 KB) डिस्क ड्राइव के लिए आवश्यक प्रदर्शन (अटारी बेसिक की तुलना में तेज, लेकिन टर्बो-बेसिक XL और बेसिक XL की तुलना में धीमा) अटारी बेसिक के साथ संगत नहीं है। टिप्पणियाँ संदर्भ बाहरी लिंक अटारीएज माइक्रोसॉफ्ट बेसिक II-RX8035 एंटीक वॉल्यूम। 6, नं. 2 बेसिक बोनान्ज़ा-चार्ल्स चेरी द्वारा समीक्षा Atariwiki.org अटारी माइक्रोसॉफ्ट बेसिक निर्देश पुस्तिका 1982 सॉफ्टवेयर बंद माइक्रोसॉफ्ट बेसिक का अटारी 8-बिट पारिवारिक सॉफ्टवेयर बेसिक प्रोग्रामिंग भाषा परिवार माइक्रोसॉफ्ट प्रोग्रामिंग भाषाएँ