कमोडोर बेसिक

कमोडोर बेसिक, जिसे पीईटी बेसिक या सीबीएम-बेसिक के रूप में भी जाना जाता है, कमोडोर इंटरनेशनल की 8 बिट होम संगणक लाइन में प्रयुक्त बेसिक प्रोग्रामिंग भाषा की उपभाषा (कंप्यूटिंग) है, जो 1977 के कमोडोर पीईटी से 1985 के कमोडोर 128 तक फैली हुई है।

कोर 6502 माइक्रोसॉफ्ट बेसिक पर आधारित है, और इस तरह यह उस समय के अन्य 6502 बेसिक के साथ कई विशेषताओं को साझा करता है, जैसे कि एपलसॉफ्ट बेसिक। कमोडोर ने 1977 में "एक बार भुगतान करें, कोई रॉयल्टी नहीं" के आधार पर माइक्रोसॉफ्ट से बेसिक लाइसेंस प्राप्त किया, जब जैक ट्रामियल ने बिल गेट्स के $3 प्रति यूनिट शुल्क के प्रस्ताव को यह कहते हुए ठुकरा दिया, "मैं पहले से ही शादीशुदा हूं," और $25,000 से अधिक का भुगतान स्थायी लाइसेंस के लिए नहीं करूंगा।

मूल पीईटी संस्करण कुछ संशोधनों के साथ मूल माइक्रोसॉफ्ट कार्यान्वयन के समान था। C64 पर बेसिक 2.0 भी समान था, और C128s (C64 मोड में) और अन्य मॉडलों पर भी देखा गया था। बाद में पीईटी में मूल के समान बेसिक 4.0, लेकिन फ्लॉपी डिस्क के साथ काम करने के लिए कई निर्देश जोड़े गए।

बेसिक 3.5 वास्तव में विचलित करने वाला पहला था, C16 और प्लस/4 पर ग्राफिक्स और साउंड सपोर्ट के लिए कई निर्देश जोड़े गए। बेसिक 7.0 को कमोडोर 128 के साथ सम्मलित किया गया था, और इसमें प्लस/4 के बेसिक 3.5 से संरचित प्रोग्रामिंग निर्देश सम्मलित थे, साथ ही मशीन की नई क्षमताओं का लाभ उठाने के लिए विशेष रूप से डिज़ाइन किए गए संकेतशब्द भी सम्मलित थे। स्प्राइट संपादक और मशीन भाषा मॉनिटर जोड़ा गया। अंतिम, बेसिक 10.0, अप्रकाशित कमोडोर 65 का हिस्सा था।

इतिहास
कमोडोर ने फ्लैट-फीस बेसिक का स्रोत कोड लिया और इसे अपने सभी अन्य 8-बिट होम संगणक के लिए आंतरिक रूप से विकसित किया। यह कमोडोर 128 (V7.0 के साथ) तक नहीं था कि माइक्रोसॉफ्ट कॉपीराइट नोटिस प्रदर्शित किया गया था। चूंकि, माइक्रोसॉफ्ट ने संस्करण 2 में ईस्टर एग का निर्माण किया था या कमोडोर बेसिक को "सुधार" किया था जो इसकी सिद्धता को सिद्ध करता है: (अस्पष्ट) निर्देश  टाइप करने पर, 1 का परिणाम होगा! चित्रपट पर दिखाई दे रहा है। (ईस्टर एग को अच्छी तरह से अस्पष्ट किया गया था - दुभाषिया की किसी भी असावधानी संदेश दिखाई नहीं दिया।)

लोकप्रिय कमोडोर 64 आरओएम में बेसिक v2.0 के साथ आया, भले ही संगणक को पीईटी/सीबीएम श्रृंखला के संस्करण 4.0 के बाद जारी किया गया था क्योंकि 64 का उद्देश्य घरेलू संगणक के रूप में था, जबकि पीईटी/सीबीएम श्रृंखला व्यवसाय और शैक्षिक उपयोग करें जहां उनकी अंतर्निहित प्रोग्रामिंग भाषा को अधिक भारी रूप से उपयोग करने के लिए माना जाता था पर लक्षित थी। इसने निर्माण लागत को बचाया, क्योंकि V2 छोटे रोम में उपयुक्त हो गया।

प्रोग्राम संपादन
कमोडोर के रीड ऑनली मैमोरी-रेजिडेंट बेसिक दुभाषिया और करनाल एक सुविधाजनक सुविधा दृश्य संपादक थी। चूंकि कमोडोर कुंजीपटल में केवल दो कर्सर कुंजियाँ होती हैं, जो परिवर्तित कुंजी के आयोजित होने पर वैकल्पिक दिशा में होती हैं, चित्रपट संपादक ने उपयोगकर्ताओं को चित्रपट पर कहीं से भी सीधे निर्देश अंकित करने या प्रोग्राम लाइनों को निविष्‍टि करने और संपादित करने की अनुमति दी। यदि एक लाइन को एक लाइन नंबर के साथ उपसर्ग किया गया था, तो इसे प्रोग्राम स्मृति में टोकनऔर संचय किया गया था। जब भी कर्सर लाइन पर होता है, तो किसी संख्या से प्रारंभ नहीं होने वाली पंक्तियों को  कुंजी दबाकर निष्पादित किया जाता है। इसने उस समय के अन्य सामान्य होम संगणक बेसिक्स की तुलना में प्रोग्राम प्रविष्टि इंटरफेस में महत्वपूर्ण सुधार को चिह्नित किया, जो सामान्यतः लाइन संपादकों का उपयोग करता था, जिसे एक अलग  निर्देश द्वारा लागू किया जाता था, या "कॉपी कर्सर" जो कर्सर की स्थिति में लाइन को काट देता था।

इसमें कॉम्पैक्ट कैसेट सहित किसी भी उपकरण में नामित फाइलों को सहेजने की क्षमता भी थी - पीईटी के दिनों में एक लोकप्रिय भंडारण उपकरण, और एक जो कि 8-बिट कमोडोर के पूरे जीवनकाल में बड़े पैमाने पर भंडारण के सस्ते रूप के रूप में उपयोग में रहा। अधिकांश प्रणाली केवल डिस्केट पर फ़ाइल नामों का समर्थन करते हैं, जिससे अन्य उपकरणों पर कई फाइलों को सहेजना अधिक कठिन हो जाता है। इन अन्य प्रणालियों में से एक के उपयोगकर्ता को फ़ाइल के स्थान पर अभिलेखी के काउंटर डिस्प्ले को नोट करना था, लेकिन यह गलत था और त्रुटि की संभावना थी। पीईटी (और बेसिक 2.0) के साथ, कैसेट की फाइलों को नाम से अनुरोध किया जा सकता है। उपकरण किसी भी गैर-मिलान वाले फ़ाइल नामों को अनदेखा करते हुए आँकड़े को क्रमिक रूप से पढ़कर फ़ाइल नाम की खोज करेगा। फाइल प्रणाली को प्रभावशाली भंडारण आलेख संरचना द्वारा भी समर्थित किया गया था जिसे फाइलों में भारण या सहेजा जा सकता था। अन्य उत्पादक द्वारा उपयोग किए जाने वाले कम खर्चीले (और कम विश्वसनीय) अनुरूप तरीकों के अतिरिक्त कमोडोर कैसेट आँकड़े को अंकीय रूप से आलेख किया गया था। इसलिए, मानक टेप अभिलेखी के अतिरिक्त विशेष डेटासेट की आवश्यकता थी। एडेप्टर (अनुकूलित्र) उपलब्ध थे जो मानक अभिलेखी के उपयोग की अनुमति देने के लिए अनुरूप से अंकीय परिवर्तक का उपयोग करते थे, लेकिन ये डेटासेट की तुलना में केवल थोड़ा कम खर्च करते थे।

LOAD }} निर्देश का उपयोग वैकल्पिक मापदण्ड, 1 के साथ किया जा सकता है, जो फ़ाइल के पहले दो बाइट्स में निहित स्मृति एड्रेस में प्रोग्राम को भारण करेगा (इन बाइट्स को छोड़ दिया जाता है और स्मृति में नहीं रखा जाता है)। यदि 1 मापदण्ड का उपयोग नहीं किया जाता है, तो प्रोग्राम बेसिक प्रोग्राम क्षेत्र की शुरुआत में भारण हो जाएगा, जो मशीनों के बीच व्यापक रूप से भिन्न होता है। कुछ कमोडोर बेसिक वेरिएंट्स ने तथा   निर्देश की आपूर्ति की जो एपलसॉफ्ट बेसिक में उनके समकक्षों की तरह काम करते थे, निर्दिष्ट स्मृति स्थानों से बिटमैप्स को भारण या सुरक्षित करते थे।

पीईटी पुनर्निधारणीय प्रोग्रामों का समर्थन नहीं करता है और LOAD निर्देश हमेशा प्रोग्राम फ़ाइल में निहित पहले दो बाइट्स पर भारण होगा। अन्य कमोडोर मशीनों पर सहेजे गए बेसिक प्रोग्रामों को भारण करने का प्रयास करते समय इसने समस्या पैदा की क्योंकि वे पीईटी के बेसिक प्रोग्राम की अपेक्षा के मुकाबले उच्च एड्रेस पर भारण होंगे, प्रोग्राम को उचित स्थान पर "स्थानांतरित" करने के लिए वैकल्पिक हल थे। यदि कोई प्रोग्राम सीबीएम-II मशीन पर सहेजा गया था, तो उसे पीईटी पर भारण करने का एकमात्र तरीका डिस्क सेक्टर संपादक के साथ पहले दो बाइट्स को संशोधित करना था क्योंकि सीबीएम-II श्रृंखला में उनका बेसिक प्रोग्राम क्षेत्र $0 था, जिसका परिणाम पीईटी में शून्य पृष्ठ में भारण करने और लॉक करने का प्रयास किया जा रहा है।

कमोडोर बेसिक संकेतशब्द (संगणक प्रोग्रामिंग) को पहले अपरिवर्तित कीप्रेस अंकित करके और फिर अगले अक्षर के परिवर्तित किए गए कीप्रेस को अंकित करके संक्षिप्त किया जा सकता है। उच्च बिट स्थापित करता है, जिसके कारण दुभाषिया पढ़ना बंद कर देता है और लुकअप तालिका के अनुसार कथन को विश्लेषण करता है। इसका मतलब यह था कि जहां तक हाई बिट स्थापित किया गया था, वहां तक के कथन को पूरे निर्देश को टाइप करने के विकल्प के रूप में स्वीकार किया गया था। चूंकि, सभी बेसिक संकेतशब्द स्मृति में एकल बाइट टोकन के रूप में संग्रहीत किए गए थे, यह अनुकूलन के अतिरिक्त कथन प्रविष्टि के लिए सुविधा थी।

डिफॉल्ट बड़ा अक्षर-केवल अक्षर स्थापित में, परिवर्तित किए गए अक्षर ग्राफिक्स सिंबल के रूप में दिखाई देते हैं, उदाहरण निर्देश संक्षिप्त रूप में हो सकता है (जो चित्रपट पर   जैसा दिखता है)। ऐसे अधिकांश निर्देश दो अक्षर लंबे थे, लेकिन कुछ मामलों में वे लंबे थे। इस तरह के मामलों में, अस्पष्टता थी, इसलिए निर्देश के अधिक अपरिवर्तित अक्षरों की आवश्यकता थी, जैसे    को  .के लिए आवश्यक होना। कुछ निर्देश का कोई संक्षिप्त रूप, या तो अन्य निर्देश के साथ संक्षिप्तता या अस्पष्टता के कारण  नहीं था। उदाहरण के लिए, निर्देश,  का कोई संक्षिप्त नाम नहीं था क्योंकि इसकी वर्तनी अलग   संकेतशब्द से टकराई थी, जो संकेतशब्द लुकअप तालिका की शुरुआत के करीब स्थित थी। अत्यधिक उपयोग किए जाने वाले  निर्देश में एक ही था   शॉर्टकट, जैसा कि अधिकांश माइक्रोसॉफ्ट बेसिक बोलियों में आम था। स्थानांतरित अक्षरों के साथ निर्देश को संक्षिप्त करना कमोडोर बेसिक के लिए अद्वितीय है।

इस टोकनिंग पद्धति में गड़बड़ थी जैसे कि यदि कोई  (कोड में टिप्पणी जोड़ने के लिए बेसिक कथन) के बाद सम्मलित करता है, तो प्रोग्राम सूची को देखने की कोशिश करते समय, बेसिक दुभाषिया तुरंत सूची को रद्द कर देगा   प्रदर्शित करें और  पर वापस लौटें। इस गड़बड़ी का उपयोग उन प्रोग्रामरों द्वारा कुछ प्रभाव के लिए किया गया था जो अपने काम की कोशिश करना और उसकी रक्षा करना चाहते थे, चूंकि इसे दरकिनार करना काफी आसान था।

संकेतशब्द को संक्षिप्त करके, एकल प्रोग्राम लाइन पर अधिक कोड उपयुक्त करना संभव था (जो 40-क्रमभंग डिस्प्ले पर दो चित्रपट लाइन ले सकता है - अर्थात, C64 या पीईटी, या वीआईसी-20 के 22-क्रमभंग डिस्प्ले पर चार लाइन)। इसने उपरि पर थोड़ी बचत के लिए अन्यथा आवश्यक अतिरिक्त प्रोग्राम लाइनों को संचय करने की अनुमति दी, लेकिन इससे अधिक कुछ नहीं। सभी बेसिक निर्देश को टोकन किया गया था और स्मृति में 1 बाइट (या दो, बेसिक 7 या बेसिक 10 के कई निर्देश के मामले में) लिया गया था, चाहे वे किसी भी तरह से अंकित किए गए हों। इतनी लंबी लाइनें संपादित करने में परेशानी होती थीं। निर्देश ने पूरे निर्देश संकेतशब्द को प्रदर्शित किया - प्रोग्राम लाइन को 2 या 4 चित्रपट लाइनों से आगे बढ़ाकर प्रोग्राम स्मृति में प्रवेश किया जा सकता है।

प्रदर्शन
मूल माइक्रोसॉफ्ट बेसिक दुभाषिया (प्रोग्रामिंग) की तरह, कमोडोर बेसिक मशीन कोड से धीमा है। परीक्षण के परिणामों से पता चला है कि रीड ओनली मेमरी से यादृच्छिक अभिगम स्मृति में 16 किलोबाइट की प्रतिलिपि बनाने में बेसिक में मिनट से अधिक की तुलना में मशीन कोड में सेकंड से भी कम समय लगता है। दुभाषिया की तुलना में तेजी से निष्पादित करने के लिए, प्रोग्रामर ने निष्पादन को गति देने के लिए विभिन्न तकनीकों का उपयोग करना प्रारंभ कर दिया। एक शाब्दिक मूल्यों का उपयोग करने के अतिरिक्त चर में अधिकांशतः उपयोग किए जाने वाले फ़्लोटिंग पॉइंट मानों को संग्रहीत करना था, क्योंकि एक चर नाम की व्याख्या शाब्दिक संख्या की व्याख्या करने की तुलना में तेज़ थी। चूंकि फ़्लोटिंग पॉइंट सभी निर्देश के लिए व्यतिक्रम प्रकार है, इसलिए पूर्णांक के अतिरिक्त फ़्लोटिंग पॉइंट नंबरों को तर्क के रूप में उपयोग करना तेज़ है। जब गति महत्वपूर्ण थी, तो कुछ प्रोग्रामर ने बेसिक प्रोग्राम के अनुभागों को 6502 या एमओएस टेक्नोलॉजी 6510 समुच्चय भाषा में परिवर्तित कर दिया, जिसे बेसिक प्रोग्राम के अंत में फ़ाइल से अलग से भारण किया गया था या तथ्य कथन से स्मृति में पोक एड किया गया था, और एसवाईएस निर्देश का उपयोग या तो डायरेक्ट मोड से या प्रोग्राम से ही करके बेसिक से निष्पादित किया गया था। जब मशीन भाषा की निष्पादन गति बहुत अधिक थी, जैसे किसी खेल के लिए या उपयोगकर्ता निविष्‍टि की प्रतीक्षा करते समय, प्रोग्रामर चयनित स्मृति स्थानों को पढ़कर मतदान कर सकते थे (जैसे $C6 64 के लिए, या$D0 के लिए 128, कुंजीपटल कतार के आकार को दर्शाता है) निष्पादन में देरी या रोक के लिए।

कमोडोर बेसिक की अनूठी विशेषता चित्रपट को साफ़ करने या किसी प्रोग्राम के भीतर कर्सर की स्थिति जैसे कार्यों को करने के लिए नियंत्रण कोड का उपयोग है, इन्हें या तोPRINT CHR$(X)निर्देश जारी करके लागू किया जा सकता है जहां X जारी किए जाने वाले नियंत्रण कोड के अनुरूप है (उदाहरण के लिए,PRINT CHR$(147)चित्रपट को साफ़ करने के लिए नियंत्रण कोड है) या कुंजी दबाकर उद्धरण चिह्नों के बीच प्रश्न, इस प्रकार उद्धरण चिह्न के बाद दबाने से बेसिक को नियंत्रण कोड (इस मामले में, उलटा दिल) के दृश्य प्रतिनिधित्व को प्रदर्शित करने का कारण बनेगा, जिसे तब प्रोग्राम निष्पादन पर कार्य किया जाता है (सीधे प्रिंट आउट नियंत्रण कोड कम स्मृति का उपयोग करता है और सीएचआर $ क्रिया को लागू करने से तेज़ी से निष्पादित करता है)। यह बेसिक के अन्य कार्यान्वयनों की तुलना में है जिसमें विशेष रूप से चित्रपट को साफ़ करने या कर्सर को स्थानांतरित करने के लिए समर्पित निर्देश होते हैं।

बेसिक 3.5 और ऊपर के पास चित्रपट को साफ करने और कर्सर को हिलाने के लिए उचित निर्देश हैं।

कमोडोर बेसिक में प्रोग्राम लाइनों को कहीं भी रिक्त स्थान की आवश्यकता नहीं है (लेकिन LIST निर्देश हमेशा लाइन नंबर और कथन के बीच प्रदर्शित करेगा), उदाहरण के लिए, 100 IFA=5THENPRINT"YES":GOTO160,और बिना अंतरण वाले प्रोग्राम लिखना आम बात थी, इस सुविधा को स्मृति को संरक्षित करने के लिए जोड़ा गया था क्योंकि टोकन कभी भी संकेतशब्द के बीच डाले गए किसी भी स्थान को नहीं हटाता है: रिक्त स्थान की उपस्थिति के परिणामस्वरूप अतिरिक्त 0x20 बाइट्स टोकनयुक्त क्रिया में होते हैं जो केवल निष्पादन के दौरान छोड़ दिए जाते हैं। लाइन नंबर और प्रोग्राम कथन के बीच के स्पेस को टोकननाइज़र द्वारा हटा दिया जाता है।

अधिकांश मशीनों पर प्रोग्राम लाइनें कुल 80 अक्षर हो सकती हैं, लेकिन 40 क्रमभंग टेक्स्ट वाली मशीनें लाइन को चित्रपट पर अगली पंक्ति के चारों ओर लपेटने का कारण बनेंगी, और वीआईसी-20 पर, जिसमें 22 क्रमभंग डिस्प्ले था, प्रोग्राम लाइन्स पर अधिकार चार के रूप में कर सकते हैं। कमोडोर 128 पर बेसिक 7.0 ने प्रोग्राम लाइन की सीमा को बढ़ाकर 160 अक्षर (चार 40-क्रमभंग लाइन या दो 80-क्रमभंग लाइन) कर दिया। जैसे संक्षिप्ताक्षरों का प्रयोग करके ? PRINT के अतिरिक्त लाइन पर और भी उपयुक्त होना संभव है। बेसिक 7.0 एक?STRING TOO LONG त्रुटि प्रदर्शित करता है यदि उपयोगकर्ता लंबाई में 160 वर्णों से अधिक प्रोग्राम लाइन में प्रवेश करता है। पहले के संस्करणों में कोई त्रुटि उत्पन्न नहीं होती है और यदि रेखा की लंबाई पार हो जाती है तो केवल तैयार संकेत दो पंक्तियों को प्रदर्शित करता है। लाइन नंबर को प्रोग्राम लाइन में वर्णों की संख्या में गिना जाता है, इसलिए पांच अंकों की लाइन संख्या के परिणामस्वरूप अंक संख्या की तुलना में चार कम वर्णों की अनुमति होगी।

कमोडोर बेसिक लाइनों के निष्पादन का क्रम लाइन नंबरिंग द्वारा निर्धारित नहीं किया गया था, इसके अतिरिक्त, यह उस क्रम का पालन करता है जिसमें स्मृति में लाइनें जुड़ी हुई थीं। प्रोग्राम लाइन्स को स्मृति में एकल संबद्ध सूची के रूप में सूचक (जिसमें अगली प्रोग्राम लाइन की शुरुआत का पता होता है), लाइन नंबर और फिर लाइन के लिए टोकन कोड के रूप में संचय किया जाता है। जब प्रोग्राम में प्रवेश किया जा रहा था, बेसिक स्मृति में प्रोग्राम लाइनों को लगातार पुनर्व्यवस्थित करेगा ताकि लाइन नंबर और सूचक सभी आरोही क्रम में हों। चूंकि, प्रोग्राम में प्रवेश करने के बाद, POKE निर्देश के साथ नियमावली रूप से लाइन नंबर और सूचक को बदलने से आउट-ऑफ-ऑर्डर निष्पादन की अनुमति मिल सकती है या प्रत्येक लाइन को समान लाइन नंबर भी दे सकता है। प्रारंभिक दिनों में, जब बेसिक का व्यावसायिक उपयोग किया गया था, यह क्रिया के आकस्मिक संशोधन को हतोत्साहित करने के लिए एक सॉफ्टवेयर सुरक्षा तकनीक थी।

पंक्ति संख्या 0 से 65520 तक हो सकती है और पंक्ति संख्या में कितने अंक हैं, इसकी परवाह किए बिना संचय करने के लिए पांच बाइट्स ले सकते हैं, चूंकि निष्पादन तेजी से कम अंक हैं। एक लाइन पर कई कथन डालने से कम स्मृति का उपयोग होगा और तेजी से निष्पादित होगा।

GOTO तथा GOSUB कथन एक लाइन नंबर खोजने के लिए वर्तमान लाइन से नीचे की ओर खोज करेंगे, यदि आगे की ओर छलांग लगाई जाती है, तो पीछे की ओर कूदने की स्थिति में, वे खोज प्रारंभ करने के लिए क्रिया की शुरुआत में वापस आ जाएंगे। यह बड़े कार्यक्रमों को धीमा कर देगा, इसलिए सामान्यतः उपयोग किए जाने वाले सबरूटीन्स को प्रोग्राम की शुरुआत के करीब रखना बेहतर होता है।

वेरिएबल नाम केवल 2 वर्णों के लिए महत्वपूर्ण हैं, इस प्रकार चर नाम, , तथा   सभी एक ही चर का संदर्भ देते हैं।

कमोडोर बेसिक बिटवाइज़ ऑपरेटरों - AND, OR, तथा XOR,का भी समर्थन करता है, चूंकि यह सुविधा कोर माइक्रोसॉफ्ट 6502 बेसिक कोड का हिस्सा थी, इसे सामान्यतः एपलसॉफ्ट बेसिक जैसे अन्य कार्यान्वयनों में छोड़ दिया गया था।

कमोडोर बेसिक का मूल संख्या प्रारूप, इसके माता-पिता एमएस बेसिककी तरह, फ़्लोटिंग पॉइंट था। अधिकांश समकालीन बुनियादी कार्यान्वयन में एक बाइट विशेषता (एक्सपोनेंटके लिए और तीन बाइट मंटिसा के लिए उपयोग किया जाता है। तीन-बाइट मंटिसा का उपयोग करके फ्लोटिंग पॉइंट नंबर की सटीकता केवल 6.5 दशमलव अंक है, और राउंड-ऑफ त्रुटि त्रुटि सामान्य है। माइक्रोसॉफ्ट बेसिक के 6502 कार्यान्वयन में 40-बिट फ़्लोटिंग पॉइंट अंकगणित का उपयोग किया गया, जिसका अर्थ है कि बेसिक-80 में पाए गए 32-बिट फ़्लोटिंग पॉइंट के विपरीत वेरिएबल्स को संचय करने के लिए पाँच बाइट्स (चार बाइट मंटिसा और एक्सपोनेंट के लिए एक बाइट) लगे।

जबकि माइक्रोसॉफ्ट बेसिक के 8080/Z80 कार्यान्वयन ने पूर्णांक और दोहरे सटीक चर का समर्थन किया, 6502 कार्यान्वयन केवल फ्लोटिंग पॉइंट थे।

यद्यपि कमोडोर बेसिक -32768 से 32767 की सीमा में हस्ताक्षरित पूर्णांक चर(प्रतिशत चिह्न के साथ चिह्नित) का समर्थन करता है, व्यवहार में वे केवल सरणी चर के लिए उपयोग किए जाते हैं और सरणी तत्वों को प्रत्येक दो बाइट्स तक सीमित करके स्मृति को संरक्षित करने का कार्य करते हैं (एक सरणी का फ्लोटिंग पॉइंट सरणी के रूप में घोषित किए जाने पर 2000 तत्व 10,000 बाइट्स पर अधिकार कर लेंगे, लेकिन केवल 4000 पूर्णांक सरणी के रूप में घोषित किए जाने पर)। किसी भी चर को पूर्णांक के रूप में नकारने से बेसिक को वापस फ्लोटिंग पॉइंट में बदलने का कारण बनता है, प्रोग्राम निष्पादन को धीमा कर देता है और स्मृति को बर्बाद कर देता है क्योंकि प्रत्येक प्रतिशत चिह्न संचय करने के लिए एक अतिरिक्त बाइट लेता है (चूंकि यह पूर्णांक सरणियों पर भी लागू होता है, प्रोग्रामर को उनका उपयोग करने से बचना चाहिए जब तक कि बहुत अधिक न हो बड़े सरणियों का उपयोग किया जाता है जो फ़्लोटिंग पॉइंट के रूप में संग्रहीत होने पर उपलब्ध स्मृति से अधिक हो जाएगा)। साथ ही यह भी संभव नहीं है POKE या PEEK एक हस्ताक्षरित पूर्णांक के रूप में परिभाषित एड्रेस के साथ 32767 से ऊपर स्मृति स्थान।

एक अवधि (।) संख्या 0 के स्थान पर उपयोग किया जा सकता है (इस प्रकार 10 A=. के अतिरिक्त 10 A=0 या 10 FOR A=. TO 100 के अतिरिक्त 10 FOR A=0 to 100)के लिए), यह थोड़ा तेज़ निष्पादित करेगा

SYS }}कथन, मशीन भाषा प्रोग्राम प्रारंभ करने के लिए उपयोग किया जाता है, कमोडोर द्वारा जोड़ा गया था और मूल माइक्रोसॉफ्ट बेसिक कोड में नहीं था, जिसमें मशीन भाषा रूटीन को लागू करने के लिए केवल USR क्रिया सम्मलित था। यह स्वचालित रूप से CPU के रजिस्टरों को $30C-$30F(C64, अन्य मशीनों पर भिन्न होता है) में मूल्यों के साथ भारण करता है - इसका उपयोग मशीन भाषा रूटीन में आँकड़े पास करने के लिए या बेसिक से कर्नेल फ़ंक्शंस को कॉल करने के साधन के रूप में किया जा सकता है (उदाहरण के तौर पर) ,POKE 780,147:SYS 65490 चित्रपट साफ़ करता है)।

चूंकि C128 के अतिरिक्त कमोडोर 8-बिट मशीनें स्वचालित रूप से डिस्क सॉफ़्टवेयर को बूट नहीं कर सकती हैं, सामान्य तकनीक प्रोग्राम निष्पादन प्रारंभ करने के लिए10 SYS 2048 जैसे एक बुनियादी स्टब को सम्मलित करना है। भारण होने के बाद सॉफ़्टवेयर को स्वचालित रूप से प्रारंभ करना संभव है और उपयोगकर्ता को रन कथन टाइप करने की आवश्यकता नहीं है, यह कोड का एक टुकड़ा है जो बेसिक "तैयार" वेक्टर को$0302पर हुक करता है।

माइक्रोसॉफ्ट बेसिक के अधिकांश अन्य संस्करणों की तरह, यदि किसी सरणी को DIM कथन, के साथ घोषित नहीं किया जाता है, तो यह स्वचालित रूप से दस तत्वों पर स्थापित हो जाता है (अभ्यास 11 में क्योंकि सरणी तत्वों की गणना 0 से की जाती है)। बड़ी सरणियों को घोषित किया जाना चाहिए या जब प्रोग्राम चलाया जाता है तो बेसिक एक त्रुटि प्रदर्शित करेगा और एक क्रिया में एक सरणी को फिर से आयाम नहीं दिया जा सकता है जब तक कि सभी चर CLR कथन के माध्यम से मिटा नहीं दिए जाते। संख्यात्मक सरणियाँ स्वचालित रूप से शून्य से भर जाती हैं जब वे बनाई जाती हैं, यदि एक बड़ी सरणी का आयाम है तो क्रिया के निष्पादन में क्षणिक विलंब हो सकता है।

स्ट्रिंग वेरिएबल्स को डॉलर चिह्न के साथ वेरिएबल नाम टैग करके दर्शाया जाता है। इस प्रकार, चर, , तथा   प्रत्येक को अलग-अलग समझा जाएगा। ऐरे वेरिएबल्स को साधारण वेरिएबल्स से भी अलग माना जाता है, इस प्रकार A तथा A(1)एक ही वेरिएबल को संदर्भित नहीं करते हैं। एक स्ट्रिंग सरणी का आकार केवल यह दर्शाता है कि सरणी में कितने तार संग्रहीत हैं, न कि प्रत्येक तत्व का आकार, जो गतिशील रूप से आवंटित किया गया है। माइक्रोसॉफ्ट बेसिक के कुछ अन्य कार्यान्वयनों के विपरीत, कमोडोर बेसिक को प्रोग्राम के प्रारंभ में आरक्षित होने के लिए स्ट्रिंग स्पेस की आवश्यकता नहीं होती है।

विपरीत, कमोडोर की सभी मशीनों में एक अंतर्निहित घड़ी होती है, जो 0 पर प्रारंभ होती है और PIA/VIA/TED/CIA टाइमर के प्रत्येक टिक के साथ अपडेट की जाती है, इस प्रकार प्रति सेकंड 60 बार. इसे बेसिक, TI तथा TI$,में दो प्रणाली वेरिएबल्स असाइन किए गए हैं, जिनमें दोनों में वर्तमान समय है। TI केवल पढ़ने के लिए है और इसे संशोधित नहीं किया जा सकता है, ऐसा करने से सिंटैक्स त्रुटि संदेश प्राप्त होगा। TI $ का उपयोग छह नंबर स्ट्रिंग के माध्यम से समय निर्धारित करने के लिए किया जा सकता है (एक त्रुटि परिणाम छह नंबरों के अतिरिक्त एक स्ट्रिंग का उपयोग करने से होता है)। घड़ी टाइमकीपिंग का एक बहुत विश्वसनीय तरीका नहीं है क्योंकि जब भी व्यवधान बंद हो जाता है (कुछ कर्नल रूटीन द्वारा किया जाता है) बंद हो जाता है और IEC (या पीईटी पर IEEE पोर्ट) पोर्ट तक पहुँचने से कुछ टिकों द्वारा घड़ी के अपडेट को धीमा कर दिया जाएगा।

RND कमोडोर बेसिक में }}क्रिया यादृच्छिक संख्या उत्पन्न करने के लिए घड़ी का उपयोग कर सकता है, यह RND(0)द्वारा पूरा किया जाता है, चूंकि यह अपेक्षाकृत सीमित उपयोग का है क्योंकि केवल 0 और 255 के बीच की संख्या ही वापस आती है। अन्यथा, RND माइक्रोसॉफ्ट बेसिक के अन्य कार्यान्वयनों के समान ही काम करता है जिसमें C64 पर स्मृति स्थानों$8B-$8F पर पावर पर संग्रहीत एक निश्चित 5-बाइट बीज मूल्य के माध्यम से एक छद्म-यादृच्छिक अनुक्रम का उपयोग किया जाता है (स्थान अन्य पर भिन्न होता है) मशीनें)। RND 0 से अधिक किसी भी संख्या के साथ RND क्रिया और बीज मान के साथ सम्मलित मूल्य से समामेलित एक यादृच्छिक संख्या उत्पन्न करेगा, जिसे RND क्रिया निष्पादित होने पर हर बार 1 से अपडेट किया जाता है। ऋणात्मक संख्या वाला RND संख्या द्वारा निर्दिष्ट वर्तमान बीज मान के क्रम में एक बिंदु पर जाता है।

चूंकि RND कथन के साथ वास्तविक यादृच्छिक संख्या पीढ़ी असंभव है, यह यादृच्छिक संख्या के लिए एसआईडी चिप के सफेद शोर चैनल का उपयोग करने के लिए सी 64 और सी 128 पर अधिक विशिष्ट है।

बेसिक 2.0 स्ट्रिंग्स के बेहद धीमे कूड़ा संग्रह से कुख्यात रूप से पीड़ित है। कचरा संग्रह स्वचालित रूप से किसी भी समय एक FRE क्रिया निष्पादित किया जाता है और यदि कई स्ट्रिंग चर और सरणियाँ हैं जिन्हें किसी प्रोग्राम के दौरान हेरफेर किया गया है, तो उन्हें साफ़ करने में सबसे खराब परिस्थितियों में एक घंटे से अधिक समय लग सकता है। कचरा संग्रह को रोकना भी संभव नहीं है क्योंकि बेसिक इस रूटीन को निष्पादित करते समय रन/स्टॉप कुंजी को स्कैन नहीं करता है। बेसिक 4.0 ने बैक सूचक के साथ एक बेहतर कचरा संग्रह प्रणाली की शुरुआत की और कमोडोर बेसिक के बाद के सभी कार्यान्वयनों में भी यह है।

बेसिक 2.0 में FREक्रिया एक और तकनीकी दोष से ग्रस्त है जिसमें यह 32768 से अधिक हस्ताक्षरित संख्याओं को संभाल नहीं सकता है, इस प्रकार यदि क्रिया को C64 (38k बेसिक स्मृति) पर लागू किया जाता है, तो मुफ्त बेसिक स्मृति की एक नकारात्मक मात्रा प्रदर्शित की जाएगी (65535 को जोड़कर) रिपोर्ट की गई संख्या सही मात्रा में मुफ्त स्मृति प्राप्त करेगी)। पीईटी और वीआईसी-20 के पास कभी भी बेसिक के लिए उपलब्ध कुल स्मृति का 32k से अधिक नहीं था, इसलिए C64 के विकसित होने तक यह सीमा स्पष्ट नहीं हुई। बेसिक 3.5 और 7.0 पर एफआरई क्रिया ने इस समस्या को ठीक किया और बेसिक 7.0 पर एफआरई को भी दो कार्यों में "विभाजित" किया गया, एक फ्री बेसिक प्रोग्राम टेक्स्ट स्मृति प्रदर्शित करने के लिए और दूसरा फ्री वेरिएबल स्मृति प्रदर्शित करने के लिए।

वैकल्पिक
इसके मूल बेसिक 2.0 की अपेक्षाकृत सीमित क्षमताओं के कारण कमोडोर 64 के लिए कई बेसिक एक्सटेंशन जारी किए गए थे। सबसे लोकप्रिय एक्सटेंशन में से एक डॉस वेजथा, जिसे कमोडोर 1541 टेस्ट/डेमो डिस्क में सम्मलित किया गया था। बेसिक में इस 1 KB एक्सटेंशन ने स्मृति में प्रोग्राम को नष्ट किए बिना डिस्क डायरेक्टरी को पढ़ने की क्षमता सहित कई डिस्क से संबंधित निर्देश जोड़े। इसकी विशेषताओं को बाद में विभिन्न तृतीय-पक्ष एक्सटेंशन में सम्मलित किया गया, जैसे कि लोकप्रियएपेक्स फास्टलोड कार्ट्रिज। अन्य बेसिक एक्सटेंशन ने कोड स्प्राइट्स, ध्वनि, और उच्च-रिज़ॉल्यूशन ग्राफ़िक्स जैसे सिमन्स बेसिक को आसान बनाने के लिए अतिरिक्त संकेतशब्द जोड़े।

चूंकि बेसिक 2.0 में ध्वनि या ग्राफिक्स सुविधाओं की कमी कई उपयोगकर्ताओं को निराश कर रही थी, कुछ आलोचकों ने तर्क दिया कि यह अंततः फायदेमंद था क्योंकि इसने उपयोगकर्ता को मशीन भाषा सीखने के लिए मजबूर किया।

C64 पर बेसिक 2.0 की सीमाओं के कारण बेसिक की अंतर्निहित आरओ एम मशीन भाषा का उपयोग हुआ। फ़ाइल को निर्दिष्ट स्मृति स्थान पर भारण करने के लिए, फ़ाइल नाम, ड्राइव और उपकरण नंबर को एक कॉल द्वारा पढ़ा जाएगा:SYS57812"filename",8, स्थान X और Y रजिस्टरों में निर्दिष्ट किया जाएगा:POKE780,0:POKE781,0:POKE782,192, और भारण रूटीन कोSYS65493कहा जाएगा।

C64 के लिए एक डिस्क पत्रिका, लोडस्टार (पत्रिका)शौक़ीन प्रोग्रामरों के लिए एक स्थान था, जिन्होंने बेसिक के लिए प्रोटो-निर्देश का संग्रह साझा किया, जिसेSYS address + offset ऑफ़सेट निर्देश के साथ बुलाया गया।

आधुनिक प्रोग्रामिंग के दृष्टिकोण से, कमोडोर बेसिक के पुराने संस्करणों ने प्रोग्रामर के लिए कई खराब प्रोग्रामिंग जाल प्रस्तुत किए। चूंकि इनमें से अधिकांश मुद्दे माइक्रोसॉफ्ट बेसिक से प्राप्त हुए हैं, वस्तुतः युग का प्रत्येक घरेलू संगणक बेसिक इसी तरह की कमियों से ग्रस्त था। माइक्रोसॉफ्ट बेसिक प्रोग्राम की प्रत्येक लाइन को प्रोग्रामर द्वारा एक लाइन नंबर दिया गया था। प्रोग्राम एडिटिंग या डिबगिंग के दौरान लाइनों को सम्मिलित करना आसान बनाने के लिए कुछ मान (5, 10 या 100) से संख्याओं को बढ़ाना आम बात थी, लेकिन खराब योजना का मतलब था कि एक प्रोग्राम में बड़े वर्गों को सम्मिलित करने के लिए अधिकांशतः पूरे कोड के पुनर्गठन की आवश्यकता होती है। एक सामान्य तकनीक एक ON...GOSUB जम्प टेबल के साथ कुछ लो लाइन नंबर पर एक प्रोग्राम प्रारंभ करना था, जिसमें प्रोग्राम की बॉडी को 1000, 2000 जैसे निर्दिष्ट लाइन नंबर से प्रारंभ होने वाले सेक्शन में संरचित किया गया था। यदि एक बड़े खंड को जोड़ने की आवश्यकता है, तो इसे केवल अगली उपलब्ध प्रमुख पंक्ति संख्या निर्दिष्ट की जा सकती है और जंप टेबल में डाला जा सकता है।

इसके अतिरिक्त, सभी चर को वैश्विक चर के रूप में माना जाता है। FOR...NEXT निर्माण से परे स्पष्ट रूप से परिभाषित लूप बनाना मुश्किल है, अधिकांशतः प्रोग्रामर को GOTO निर्देश पर भरोसा करने का कारण बनता है (इसे बाद में DO, LOOP, WHILE, UNTIL, तथा EXIT निर्देश के साथ बेसिक 3.5 में सुधारा गया था) ). कुछ कार्यों को करने के लिए ध्वज चरों को अधिकांशतः बनाने की आवश्यकता होती है।

बाद में कमोडोर और अन्य प्लेटफार्मों पर बुनियादी संस्करणों में DELETE और RENUMBER निर्देश के साथ-साथ एक AUTO लाइन नंबरिंग निर्देश सम्मलित था जो एक चयनित वृद्धि के अनुसार स्वचालित रूप से लाइन नंबरों का चयन और सम्मिलित करेगा। पहले कमोडोर के बेसिक्स में डिबगिंग निर्देश की भी कमी थी, जिसका अर्थ है कि बग और अप्रयुक्त चर को फंसाना मुश्किल है। IF...THEN...ELSE संरचनाएं, Z80 माइक्रोसॉफ्ट बेसिक का एक मानक हिस्सा, कमोडोर बेसिक के पिछले संस्करणों में अनुपलब्ध होने के बाद बेसिक 3.5 में जोड़ा गया था।

यूजर इंटरफेस के रूप में प्रयोग करें
सामान्यतः अन्य घरेलू संगणक के साथ, कमोडोर की मशीनें सीधे बेसिक दुभाषिया में बूट होती हैं। सॉफ्टवेयर को भारण और निष्पादित करने के लिए बेसिक की फाइल और प्रोग्रामिंग निर्देश को सीधे मोड में अंकित किया जा सकता है। यदि RUN/STOP कुंजी का उपयोग करके प्रोग्राम निष्पादन को रोक दिया गया था, तो चर मानों को RAM में संरक्षित किया जाएगा और डिबगिंग के लिए प्रिंट किया जा सकता है। 128 ने अपने दूसरे 64k बैंक को वेरिएबल भंडारण के लिए भी समर्पित किया, जिससे मूल्यों को एक तक बने रहने की अनुमति मिली  या   निर्देश जारी किया था। यह, कमोडोर बेसिक के साथ सम्मलित उन्नत चित्रपट संपादक के साथ प्रोग्रामिंग वातावरण को REPL जैसा अनुभव देता है, प्रोग्रामर किसी भी चित्रपट स्थान पर प्रोग्राम लाइनों को सम्मिलित और संपादित कर सकते हैं, अंतःक्रियात्मक रूप से प्रोग्राम का निर्माण कर सकते हैं। यह CP/M या MS-DOS जैसे उस समय के व्यवसाय-उन्मुख ऑपरेटिंग प्रणाली के विपरीत है, जो सामान्यतः निर्देश लाइन इंटरफेस में बूट होता है। यदि इन प्लेटफॉर्म्स पर प्रोग्रामिंग लैंग्वेज की आवश्यकता होती थी, तो इसे अलग से भारण करना पड़ता था।

जबकि कमोडोर बेसिक के कुछ संस्करणों में डिस्क-विशिष्ट सम्मलित थे  तथा   निर्देश, कमोडोर 64 में निर्मित संस्करण में इनकी कमी थी, जिसके लिए उपयोगकर्ता को डिस्क ड्राइव के उपकरण नंबर (सामान्यतः 8 या 9) को मानक के अनुसार निर्दिष्ट करने की आवश्यकता होती है।   निर्देश, जो अन्यथा टेप के लिए व्यतिक्रम था। कमोडोर 64s बेसिक 2.0 से एक और चूक थी a   मुख्य स्मृति को साफ़ किए बिना डिस्क की सामग्री प्रदर्शित करने का निर्देश। 64 पर, डिस्क पर फ़ाइलों को देखने को एक प्रोग्राम भारण करने के रूप में कार्यान्वित किया गया था, जो सूचीबद्ध होने पर निर्देशिका को छद्म बेसिक प्रोग्राम के रूप में दिखाया गया था, फ़ाइल के ब्लॉक आकार को लाइन नंबर के रूप में दिखाया गया था। यह वर्तमान में भारण किए गए प्रोग्राम को अधिलेखित करने का प्रभाव था। डॉस वेज जैसे एडॉन्स ने डायरेक्ट्री सूची को सीधे चित्रपट स्मृति में रेंडर करके इस पर काबू पाया।

संस्करण और सुविधाएँ
क्रमिक रूप से जोड़ी गई विशेषताओं के साथ कालानुक्रमिक क्रम में सीबीएम बेसिक संस्करणों की एक सूची:

जारी संस्करण

 * V1.0: पीईटी 2001 चिकलेट कुंजीपटल और बिल्ट-इन कमोडोर डाटासेट (मूल पीईटी) के साथ
 * सरणियाँ 256 तत्वों तक सीमित हैं
 * PEEK और POKE निर्देश $ C000 से ऊपर के बेसिक आरओ एम स्थानों पर स्पष्ट रूप से अक्षम हैं
 * V2.0 (पहली रिलीज़): पीईटी 2001 फुल-ट्रैवल कुंजीपटल और सुधार रोम के साथ
 * IEEE-488 समर्थन जोड़ें
 * कचरा संग्रह में सुधार हुआ
 * सरणी बग ठीक करें
 * ईस्टर एग - प्रवेश करना [संख्या] प्रदर्शित करता है   मनमाना संख्या बार
 * V4.0: पीईटी/सीबीएम 4000/8000 श्रृंखला (और बाद का संस्करण पीईटी 2001s)
 * कमोडोर डॉस:  आदि (कुल 15)
 * डिस्क त्रुटि-चैनल चर:
 * कचरा-संग्रह प्रदर्शन में काफी सुधार हुआ * V2.0 (4.0 के बाद दूसरी रिलीज़): कमोडोर वीआईसी-20|वीआईसी-20, कमोडोर 64
 * V2.2 कमोडोर 64 गेम प्रणाली (1990)
 * V4+ : कमोडोर सीबीएम-II|सीबीएम-II सीरीज (उर्फ बी, पी रेंज)
 * स्मृति प्रबंधन:
 * कमोडोर डॉस:
 * स्वरूपित मुद्रण:
 * त्रुटि ट्रैपिंग:
 * वैकल्पिक ब्रांचिंग:
 * डायनेमिक एरर हैंडलिंग:
 * लचीला  पढ़ना:  [लाइन नंबर]
 * स्ट्रिंग खोज क्रिया:
 * वी3.5: कमोडोर 16|सी16/116, कमोडोर प्लस/4|प्लस/4
 * ध्वनि और ग्राफिक्स निर्देश
 * जोस्टिक निविष्‍टि:
 * दशमलव ↔ हेक्साडेसिमल रूपांतरण:
 * संरचित लूपिंग:
 * क्रिया कुंजी असाइनमेंट:  (डायरेक्ट मोड भी)
 * क्रिया प्रविष्टि/संपादन:
 * डिबगिंग (ट्रेसिंग):
 * मशीन कोड मॉनिटर प्रविष्टि निर्देश:
 * सी (1) 16, प्लस / 4 ईस्टर एग - अंकित करें
 * V7.0: कमोडोर 128
 * स्प्राइट (संगणक ग्राफिक्स) हैंडलिंग सहित अधिक ध्वनि और ग्राफिक्स निर्देश
 * बिल्ट-इन स्प्राइट एडिटर:
 * मल्टी-कथन ब्लॉक के लिए  संरचनाएं:
 * चप्पू (खेल नियंत्रक), हल्की कलम निविष्‍टि:
 * अनन्य संयोजन समारोह:
 * परिवर्तनशील पता प्राप्त करें:
 * टेक्स्ट मोड विंडोिंग:
 * नियंत्रित समय विलंब:
 * स्मृति प्रबंधन:
 * प्रोग्राम कोड को वेरिएबल्स से अलग संचय करने के लिए 128 के बैंक स्विचिंग का उपयोग किया। यदि प्रोग्राम GOTO निर्देश के साथ प्रारंभ किया गया था, तो प्रोग्राम निष्पादन में परिवर्तनीय मान संरक्षित किए जाएंगे।
 * कमोडोर डॉस:
 * सीपीयू गति समायोजन:  (2 बनाम 1 मेगाहर्ट्ज)
 * C64 मोड अंकित करें:
 * अनिर्दिष्ट, काम कर रहा है:  (एक के बाद सीपीयू रजिस्टर पढ़ें  )
 * अकार्यान्वित निर्देश:
 * C128 ईस्टर एग - एंटर करें

अप्रकाशित संस्करण

 * V3.6 : कमोडोर एलसीडी (अप्रकाशित प्रोटोटाइप)। निम्नलिखित अंतरों के साथ लगभग V7.0 के समान:
 * के अतिरिक्त
 * के अतिरिक्त
 * निर्देश सम्मलित नहीं है
 * अतिरिक्त निर्देश:
 * V10 : कमोडोर 65 (अप्रकाशित प्रोटोटाइप)
 * ग्राफिक्स/वीडियो निर्देश:
 * कम्प्यूटर का माउस निविष्‍टि:
 * पाठ फ़ाइल उपयोगिता:
 * क्रिया संपादन:
 * स्मृति प्रबंधन:
 * अकार्यान्वित निर्देश:

उल्लेखनीय विस्तार पैकेज

 * सुपर विस्तारक (वीआईसी-20, आरओ एम कार्ट्रिज पर दिया गया) (कमोडोर)
 * सुपर विस्तारक 64 (C64रॉम कारतूस) (कमोडोर)
 * साइमन्स बेसिक (C64, कार्ट्रिज) (कमोडोर)
 * ग्राफिक्स बेसिक (C64, फ्लॉपी डिस्क) (हेसवेयर)
 * बुनियादी 8 (C128, फ्लॉपी डिस्क और वैकल्पिक आंतरिक आरओ एम चिप) (वालरूसॉफ्ट)

स्रोत

 * कमोडोर/माइक्रोसॉफ्ट बेसिक वर्जन टाइमलाइन
 * बिल गेट्स के 8 बिट बेसिक में व्यक्तिगत ईस्टर एग, pagetable.com

बेसिक 2.0:
 * एंगरहाउज़ेन एट अल। (1983)। कमोडोर 64 की शारीरिक रचना (पूर्ण संदर्भ के लिए, कमोडोर 64#संदर्भ लेख देखें)।

बेसिक 3.5:
 * जेरार्ड, पीटर; बर्गिन, केविन (1985)। पूरा COMMODORE 16 ROM डिसअसेंबली। जेराल्ड डकवर्थ एंड कंपनी लिमिटेड ISBN 0-7156-2004-5.

बेसिक 7.0:
 * जार्विस, डेनिस; स्प्रिंगर, जिम डी. (1987). बेसिक 7.0 आंतरिक। ग्रैंड रैपिड्स, मिशिगन: अबैकस सॉफ्टवेयर, इंक। ISBN 0-916439-71-2.

बेसिक 10.0:
 * c65manual.txt कमोडोर 65 प्रारंभिक दस्तावेज (मार्च 1991), रोम संस्करण 910501 के लिए परिशिष्ट के साथ।

श्रेणी:सीबीएम सॉफ्टवेयर श्रेणी:कमोडोर 64 सॉफ्टवेयर श्रेणी:VIC-20 सॉफ्टवेयर श्रेणी:बंद माइक्रोसॉफ्ट बेसिक्स श्रेणी:बुनियादी दुभाषिए श्रेणी:बेसिक प्रोग्रामिंग भाषा परिवार श्रेणी:माइक्रोसॉफ्ट प्रोग्रामिंग भाषाएँ श्रेणी:1977 में बनाई गई प्रोग्रामिंग लैंग्वेज