Tiny Basic

Tiny BASIC هي عائلة من لهجات لغة البرمجة BASIC التي يمكن تخزينها في 4 كيلوبايتات أو أقل من الذاكرة . صُممت Tiny BASIC بواسطة دينيس أليسون وشركة People's Computer Company (PCC) استجابةً للرسالة المفتوحة التي نشرها بيل غيتس والتي اشتكى فيها من قرصنة المستخدمين لبرنامج Altair BASIC ، الذي كان يُباع بسعر 150 دولارًا. كان الهدف من Tiny BASIC أن تكون نسخة مجانية تمامًا من BASIC تعمل على نفس أجهزة الكمبيوتر الصغيرة القديمة .

صدرت لغة Tiny BASIC كمواصفات، لا كتطبيق، ونُشرت في عدد سبتمبر 1975 من نشرة PCC. دعت المقالة المبرمجين إلى تطبيقها على أجهزتهم وإرسال تطبيق لغة التجميع الناتج لإدراجه في سلسلة من ثلاث نشرات إخبارية مُخطط لها. صاغ لي-تشين وانغ ، مؤلف كتاب Palo Alto Tiny BASIC، مصطلح " حقوق النسخ" لوصف هذا المفهوم. كان رد فعل المجتمع هائلاً لدرجة أنه أُعيد إطلاق النشرة الإخبارية باسم Dr. Dobb's Journal ، لتكون أول دورية منتظمة تُركز على برمجيات الحواسيب الصغيرة.

بفضل صغر حجمها وتوافر شفرتها المصدرية المجانية، أصبحت هذه التطبيقات لا غنى عنها في بدايات الحواسيب الصغيرة في منتصف سبعينيات القرن الماضي، حين كانت ذاكرة الوصول العشوائي (RAM) باهظة الثمن، وكان حجم الذاكرة النموذجي يتراوح بين 4 و8  كيلوبايت فقط. ورغم أن النسخة المصغرة من لغة Altair BASIC من مايكروسوفت كانت تعمل أيضًا على  أجهزة بسعة 4 كيلوبايت، إلا أنها لم تترك سوى 790 بايتًا متاحة لبرامج BASIC. لذا، مثّلت المساحة الحرة الأكبر ميزةً هامةً للغة Tiny BASIC. وللوفاء بهذه القيود الصارمة على الحجم، افتقرت لهجات Tiny BASIC عمومًا إلى العديد من الميزات الشائعة في اللهجات الأخرى، فعلى سبيل المثال، افتقرت معظم الإصدارات إلى متغيرات السلاسل النصية ، وإلى العمليات الحسابية ذات الفاصلة العائمة ، واقتصرت على أسماء المتغيرات المكونة من حرف واحد.

لا تزال تطبيقات Tiny BASIC مستخدمة حتى اليوم، لبرمجة المتحكمات الدقيقة مثل Arduino .

تاريخ

ألتاير بيسك

شريط ورقي يحتوي على نسخة موسعة بحجم 8 كيلوبايت من لغة مايكروسوفت بيسك

لم تكن الحواسيب الصغيرة الأولى ، مثل MITS Altair 8800 ، مزودةً عادةً بمنافذ إدخال/إخراج مدمجة ، باستثناء مفاتيح اللوحة الأمامية ومصابيح LED . وكان إنجاز العمل يتطلب إضافة بطاقة توسعة للإدخال/الإخراج واستخدام نوع من أنواع المحطات الطرفية . في ذلك الوقت، كانت المحطات الطرفية التي تعمل بالفيديو باهظة الثمن، إذ كانت تكلفتها تفوق تكلفة الحاسوب نفسه، لذا لجأ العديد من المستخدمين إلى الأجهزة الميكانيكية مثل Teletype Model 33. وقد احتوى Model 33، كمعظم آلات الطباعة عن بُعد في تلك الحقبة، على نظام تثقيب الشريط ، مصمم لتمكين المشغلين من تسجيل رسائلهم مسبقًا ثم تشغيلها بسرعة عالية، أسرع من قدرة معظم الأفراد على كتابة الرسالة مباشرةً. بالنسبة للحواسيب الصغيرة الأولى، وفر هذا النظام طريقةً ملائمةً لتخزين بيانات الحاسوب ، مما سمح للمستخدمين بكتابة البرامج على شريط ورقي وتوزيعها على مستخدمين آخرين. [ 1 ]

اجتمع نادي هواة الحاسوب لأول مرة في مارس 1975، وسرعان ما استغل أعضاؤه هذه الاجتماعات لتبادل البرامج على أشرطة مثقوبة. في اجتماع يونيو، اختفى شريط يحتوي على نسخة تجريبية من برنامج Altair BASIC . سُلّم الشريط إلى ستيف دومبير، الذي سلمه بدوره إلى دان سوكول، الذي كان يمتلك مثقب أشرطة عالي السرعة. في الاجتماع التالي، ظهرت 50 نسخة من برنامج Altair BASIC على أشرطة ورقية في صندوق من الورق المقوى. [ 2 ] عندما علم إد روبرتس ، مؤسس شركة MITS، بهذا الأمر، صرّح قائلاً: "على كل من يستخدم نسخة مسروقة من برنامج MITS BASIC أن يُفصح عن هويته الحقيقية، فهو سارق." [ 3 ] وقد عبّر بيل غيتس عن هذا الأمر بشكل أكثر رسمية، فكتب " رسالة مفتوحة إلى الهواة "، متذمرًا من أن "معظمكم، كما يعلم أغلب الهواة، يسرق برامجه." [ 4 ]

Tiny Basic

لم يلقَ الاعتراض استحسانًا. من بين الردود العديدة، رأى بوب ألبريشت، وهو عضو آخر في هومبرو ومؤسس شركة حاسوب الشعب (PCC)، أن أفضل رد هو إنتاج لغة BASIC خاصة بهم، متاحة مجانًا للاستخدام من قِبل أي شخص. تواصل مع دينيس أليسون ، عضو هيئة التدريس في قسم علوم الحاسوب بجامعة ستانفورد ، لكتابة مواصفات لإصدار من BASIC يتناسب مع ذاكرة تتراوح بين 2 و3 كيلوبايت. [ أ ] ولتسهيل عملية النقل ، استند التصميم إلى لغة وسيطة (IL)، وهي مترجم للمترجم، مما يعني أنه لم يكن من الضروري نقل سوى جزء صغير من الكود الكلي.

نُشر تصميم أليسون الأولي في عدد سبتمبر 1975 من نشرة PCC، إلى جانب نسخة Intel 8080 من مترجم لغة IL. دعت المقالة المبرمجين إلى تطبيق التصميم على حواسيبهم وإرسال نسخة لغة التجميع الناتجة إلى PCC. وأعلنوا عن خططهم لنشر ثلاث نشرات خاصة تتضمن هذه النسخ المُقدمة من المستخدمين، بالإضافة إلى إصلاحات للأخطاء، وبرامج مكتوبة بلغة BASIC الجديدة، واقتراحات وتحسينات. حظي المفهوم باهتمام أكبر عندما أُعيد نشره في عدد يناير 1976 من مجلة ACM Special Interest Group on Programming Languages. [ 5 ] وتدفقت المشاركات. من بين الإصدارات المبكرة البارزة Tiny BASIC Extended من تطوير ديك ويبل وجون أرنولد، والتي كانت تعمل بذاكرة وصول عشوائي (RAM) سعتها 3 كيلوبايت، وأضافت حلقات FOR...NXT ، وسمحت باستخدام مصفوفة رقمية واحدة. تجنبوا استخدام لغة IL وكتبوها مباشرةً بلغة الآلة، باستخدام النظام الثماني . [ 6 ]

صدرت أولى النشرات الإخبارية الثلاث المخطط لها، بعنوان "مجلة دكتور دوب لتمارين الحاسوب وتقويم الأسنان، خفيفة الوزن دون زيادة في حجم البيانات"، في يناير 1976. [ 6 ] بدأت النشرة بملاحظة من ألبريشت، تحت اسم مستعار "التنين"، يشير فيها إلى أن ثلاث نسخ لن تكون كافية، وسأل القراء عما إذا كانوا يرغبون في استمرارها. كما أعادت النشرة طباعة المقال الأصلي عن لغة Tiny BASIC من مجلة PCC، وتضمنت القائمة الكاملة لـ Extended TB، بالإضافة إلى عدد من برامج BASIC الصغيرة، بما في ذلك نصائح وحيل من أليسون. [ 7 ] كان الإقبال على العدد الأول مثيرًا للإعجاب لدرجة أن مقدمة العدد الثاني ذكرت أنهم قرروا بالفعل الاستمرار في نشر النشرة الإخبارية الجديدة تحت الاسم المبسط " مجلة دكتور دوب" . وعلى مدار الأعداد التالية، نُشرت نسخ إضافية من اللغة، وبدأت مقالات مماثلة بالظهور في مجلات أخرى مثل Interface Age .

الانتشار

يقرأ الخط أحادي المسافة "Tiny basic for Intel 8080, version 2.0 by Li-Chen Wang, modified and translation to Intel mnemonics by Roger Rausklob, 10 October 1976. @ Copyleft, All Wrongs Reserved."
استخدام عبارة "حقوق النسخ محفوظة؛ جميع الحقوق محفوظة" في عام 1976 [ 8 ]

بحلول منتصف عام 1976، أصبحت مترجمات لغة Tiny BASIC متاحة لمعالجات Intel 8080 و Motorola 6800 و MOS Technology 6502. كان هذا بمثابة مقدمة للتطوير التعاوني لمجتمع البرمجيات الحرة قبل أن يُسهّل الإنترنت نقل الملفات، ومثالًا على مشروع برمجيات حرة قبل ظهور حركة البرمجيات الحرة . [ 9 ] كان هواة الحاسوب يتبادلون الأشرطة الورقية أو أشرطة الكاسيت، أو حتى يعيدون كتابة الملفات من القوائم المطبوعة. [ 10 ]

كتب جيم وارن، محرر مجلة دكتور دوبز ، في نشرة لغة البرمجة الصادرة عن جمعية آلات الحوسبة (ACM) في يوليو 1976 ، عن دوافع وأساليب هذا المشروع الناجح. بدأ وارن قائلاً: "هناك بديل عملي للمشاكل التي أثارها بيل غيتس في رسالته الغاضبة إلى هواة الحاسوب بشأن سرقة البرامج. فعندما تكون البرامج مجانية، أو رخيصة الثمن لدرجة أن شراءها أسهل من نسخها، فلن تُسرق". كانت رسالة بيل غيتس تهدف إلى تحويل البرامج إلى منتجات . أما الطريقة البديلة فكانت تكليف محترف خبير بتصميم البرنامج بشكل عام، ثم وضع استراتيجية تنفيذية له. وسيقوم هواة ذوو خبرة بتنفيذ هذا التصميم لأنظمة حاسوبية متنوعة. وتوقع وارن أن تستمر هذه الاستراتيجية وتتوسع. [ 10 ]

تضمنت نسخة مايو 1976 من مجلة دكتور دوبس برنامج بالو ألتو تايني بيسك الخاص بمعالج 8080 من تأليف لي-تشين وانغ. يبدأ الإعلان بالعنوان واسم المؤلف والتاريخ، ولكنه يتضمن أيضًا عبارة " جميع الحقوق محفوظة" ( COPYLEFT ). [ 11 ] قام روجر راوسكولب، وهو عضو في نادي هومبرو للحاسوب ، بتعديل برنامج وانغ وتحسينه، ونُشر هذا التعديل في عدد ديسمبر 1976 من مجلة إنترفيس إيج . [ 8 ] أضاف روجر اسمه واحتفظ بإشعار حقوق النشر (COPYLEFT).

وصف

المفاهيم الأساسية

صُممت لغة Tiny BASIC لتستهلك أقل قدر ممكن من الذاكرة، ويتجلى ذلك في قلة ميزاتها وتفاصيل نظام المترجم الخاص بها . كانت الحواسيب الصغيرة المبكرة تفتقر إلى ذاكرة الوصول العشوائي (RAM) ووحدات التخزين الثانوية اللازمة لمترجم لغة BASIC ، وهو ما كان أكثر شيوعًا في أنظمة المشاركة الزمنية.

كغيرها من لغات BASIC في ذلك الوقت، كانت Tiny Basic تفاعلية، حيث كان المستخدم يكتب الأوامر في سطر الأوامر. ولأن الحواسيب الصغيرة في ذلك الوقت كانت تُستخدم غالبًا مع آلات الطباعة عن بُعد أو أجهزة طرفية بسيطة، لم يكن التحرير المباشر للنصوص الموجودة ممكنًا، ولذلك كان المحرر يستخدم رموزًا للفصل، غالبًا ما تكون الشرطة المائلة العكسية، للإشارة إلى موضع الرجوع لتحرير النص الموجود.

إذا أدخل المستخدم عبارة في سطر الأوامر، يقوم النظام بفحصها للتأكد من أنها تبدأ برقم. إذا لم تبدأ برقم، يتم تحليل السطر فورًا ومعالجته، وقد ينتج عنه مخرجات عبر الأمر PRINT . يُعرف هذا الوضع باسم "الوضع المباشر".

إذا أُدخل السطر برقم في بدايته، يُحوّل الرقم من الصيغة العشرية، مثل "50"، إلى قيمة 8 بت، وفي هذه الحالة، $32 بالصيغة الست عشرية . يُستخدم هذا الرقم كمؤشر في منطقة تخزين شبيهة بالمصفوفة ، حيث يُخزّن باقي السطر بنفس الصيغة التي كُتب بها. عندما يكتب المستخدم الأمر LIST في سطر الأوامر، يقوم النظام بالمرور على عناصر المصفوفة، وتحويل رقم السطر مرة أخرى إلى الصيغة العشرية، ثم طباعة باقي النص في السطر.

عندما يكون البرنامج موجودًا في الذاكرة ويكتب المستخدم أمر التشغيل ، يدخل النظام في "الوضع غير المباشر". في هذا الوضع، يُضبط مؤشر ليشير إلى السطر الأول من البرنامج، على سبيل المثال، 10 ( $0A سداسي عشري ). ثم يُسترجع النص الأصلي لهذا السطر من الذاكرة ويُنفذ كما لو أن المستخدم قد كتبه للتو في الوضع المباشر. بعد ذلك، ينتقل المؤشر إلى السطر التالي وتستمر العملية.

القواعد الرسمية

تُدرج القواعد النحوية أدناه بصيغة باكوس-ناور ، كما وردت تقريبًا في مذكرة التصميم. [ 12 ] في هذه القائمة، *تشير علامة النجمة ("") إلى صفر أو أكثر من العنصر الموجود على يسارها - باستثناء علامة النجمة الأولى في تعريف " "، والتي تمثل عامل الضرب؛ وتُستخدم الأقواس لتجميع العناصر؛ وتشير علامة إبسيلون (" ") إلى المجموعة الفارغة. وكما هو شائع في تدوين قواعد لغات البرمجة، يميز الخط العمودي (" ") البدائل، وكذلك إدراجها في أسطر منفصلة. ويشير الرمز " " إلى إرجاع سطر جديد (يُنتج عادةً بواسطة مفتاح "Enter" في لوحة المفاتيح). سيؤدي الضغط على زر BREAK من وحدة التحكم إلى مقاطعة تنفيذ البرنامج. termε|CR

السطر :: = رقم العبارة CR | العبارة CR العبارة :: = اطبع قائمة التعبيرات إذا كان التعبير relop التعبير THEN العبارة اذهب إلى التعبير إدخال قائمة المتغيرات دع المتغير = التعبير GOSUB التعبير إرجاع مسح القائمة تشغيل نهاية قائمة التعبيرات :: = ( سلسلة | تعبير ) ( , ( سلسلة | تعبير ) ) * قائمة المتغيرات :: = المتغير ( , المتغير ) * التعبير :: = ( +|-|ε ) حد (( +|- ) حد ) * حد :: = عامل (( * | / ) عامل ) * عامل :: = المتغير | رقم | ( تعبير ) المتغير :: = A | B | C ... | Y | Z رقم :: = رقم رقم * رقم :: = 0 | 1 | 2 | 3 | ... | 8 | 9 relop :: = < ( > | =) | > ( <| =) | =string :: = " ( |!|#|$ ... -|.|/|digit|: ... @|A|B|C ... |X|Y|Z)* "

لاحظ أن السلسلة لم يتم تعريفها في ملاحظة التصميم.

أضافت هذه الصيغة، على بساطتها، ابتكارًا واحدًا: إذ أصبح بإمكان أوامر GOTO و GOSUB قبول تعبير بدلًا من مجرد رقم سطر، مما يوفر أمر GOTO مُعيّنًا [ 13 ] بدلًا من عبارة switch في GOTO/GOSUB ... OF ... ، وهو هيكل كان مدعومًا آنذاك في لغة HP Time-Shared BASIC ويسبق ON ... GOTO . لم تكن الصيغة التي تسمح باستخدام عبارة IF-THEN (بدلًا من مجرد رقم سطر للانتقال إليه) مدعومة في لغة Dartmouth BASIC في ذلك الوقت، ولكن شركة Digital [ 14 ] كانت قد قدمتها وقامت Microsoft بنسخها.

التنفيذ في جهاز افتراضي

حددت مذكرة التصميم آلة افتراضية ، حيث يتم تشغيل مترجم Tiny BASIC نفسه على مترجم آلة افتراضية. تعود فكرة المصمم لاستخدام آلة افتراضية للتطبيقات إلى فال شور (مع META II ، 1964) وجليني (آلة بناء الجملة). وقد ساهم اختيار نهج الآلة الافتراضية في توفير مساحة الذاكرة وجهد التنفيذ، على الرغم من أن برامج BASIC التي يتم تشغيلها عليها كانت تُنفذ ببطء نسبيًا. [ 15 ]

تضمنت اللهجات التي استخدمت الآلة الافتراضية Tiny BASIC Extended، و Tiny BASIC لتوم بيتمان [ 16 ] ، وNIBL. أما لهجات أخرى مثل Denver Tiny BASIC (DTB) وPalo Alto Tiny BASIC فكانت مترجمات مباشرة. بعض المبرمجين، مثل فريد غريب مع DTB، تعاملوا مع برنامج IL (لغة التفسير) كشفرة زائفة للخوارزمية المراد تنفيذها بلغة التجميع؛ لم تستخدم Denver Tiny BASIC آلة افتراضية، لكنها اتبعت برنامج IL بدقة.

هذا مقتطف نموذجي من برنامج IL المكون من 120 سطرًا:

S1: TST S3 ، 'GO' ؛ هل تريد الانتقال إلى أو الانتقال الفرعي؟ TST S2 ، 'TO' ؛ نعم... إلى، أو... استدعاء فرعي للتعبير ؛ الحصول على الملصق ؛ خطأ إذا لم يكن CR هو النقل التالي ؛ الإعداد والقفز S3: TST S8 ، 'PRINT' ؛ طباعة.

يتمثل أحد الأنماط الشائعة في البرنامج في اختبار وجود كلمة مفتاحية أو جزء منها، ثم تنفيذ الإجراء بناءً على هذه المعلومة. كل اختبار هو بمثابة تأكيد لما يلي في مخزن السطر. إذا فشل التأكيد، ينتقل التحكم إلى تسمية لاحقة (عادةً ما تبحث عن كلمة مفتاحية أو رمز جديد). هنا، يُحرك النظام مؤشر المخزن فوق أي مسافات ويختبر وجود الأمر GO ، وإذا لم يجده، ينتقل إلى السطر S3 . إذا وجده، يستمر التنفيذ مع أمر IL التالي. في هذه الحالة، يختبر النظام وجود الأمر TO ، وينتقل إلى السطر S2 إذا فشل (اختبار للأمر SUB ، لمعرفة ما إذا كان هذا الأمر هو GOSUB ). إذا نجح الاختبار، يستمر التحكم؛ في هذه الحالة، يتم استدعاء روتين فرعي IL يبدأ من التسمية EXPR ، والذي يقوم بتحليل تعبير. في Tiny BASIC، يُعد الأمر ON-GOTO (وهو أمر GO TO محسوب) قانونيًا تمامًا مثل ON-GOTO في تطبيقات BASIC الأكبر حجمًا، وهو البديل له. تقوم الدالة الفرعية EXPR بدفع نتيجة التعبير إلى مكدس العمليات الحسابية (في هذه الحالة، رقم السطر). تتحقق الدالة DONE من عدم وجود نص آخر بعد التعبير، وتُصدر خطأً في حال وجوده. تقوم الدالة XFER بسحب الرقم من المكدس، ثم تنقل التنفيذ (GOes TO) إلى رقم السطر المقابل، إن وُجد.GOTO X*10+100GOTO 100

يُقدّم الجدول التالي قائمة جزئية بالأوامر الـ 32 للآلة الافتراضية التي كُتب فيها أول مترجم للغة Tiny BASIC. [ 17 ]

TST lbl , string
إذا تطابقت السلسلة مع سطر BASIC، فقم بتحريك المؤشر فوق السلسلة ونفّذ تعليمة IL التالية؛ أما إذا فشل الاختبار، فنفّذ تعليمة IL الموجودة عند التسمية lbl
اتصل بـ lbl
نفّذ روتين IL الفرعي بدءًا من lbl ؛ واحفظ عنوان IL الذي يلي CALL على مكدس التحكم.
منتهي
أبلغ عن خطأ في بناء الجملة إذا لم يكن المؤشر في الموضع المناسب للوصول إلى سطر جديد بعد حذف المسافات البادئة.
نقل
تحقق من قيمة الاختبار في أعلى مكدس AE للتأكد من أنها ضمن النطاق. إذا لم تكن كذلك، فأبلغ عن خطأ. إذا كانت كذلك، فحاول وضع المؤشر عند ذلك السطر. إذا كان موجودًا، فابدأ التفسير من هناك؛ وإذا لم يكن موجودًا، فأبلغ عن خطأ.
اقفز lbl
استمر في تنفيذ لغة IL عند التسمية المحددة
RTN
العودة إلى موقع IL المحدد في أعلى مكدس التحكم
PRS
اطبع الأحرف من نص BASIC حتى علامة الاقتباس الختامية، ولكن لا تشملها.
حسب الحاجة
اطبع الرقم الذي تم الحصول عليه عن طريق إزالة الجزء العلوي من مكدس التعبيرات
SPC
أدخل مسافات لتحريك رأس الطباعة إلى المنطقة التالية
إن لاين
قم بإخراج سطر جديد (CRLF) [ 18 ] إلى الطابعة

يقول توم بيتمان ، متحدثًا عن لغة IL: "صُمم مُفسِّر لغة TINY BASIC بواسطة دينيس أليسون كمحلل نحوي تنازلي تكراري . فُقد بعضٌ من بساطة هذا التصميم الأنيقة بإضافة بعض التحسينات النحوية إلى اللغة، لكن الشكل الأساسي لا يزال قائمًا. تُعدّ لغة IL مناسبةً بشكلٍ خاص للتحليل النحوي التنازلي التكراري للغة TINY BASIC نظرًا للطبيعة التكرارية العامة لإجراءاتها وبساطة رموز TINY BASIC. لغة IL مُحسَّنةٌ بشكلٍ فعّال لتفسير TINY. وقد أظهرت التجربة أن صعوبة إضافة ميزات جديدة إلى اللغة لا تتناسب إطلاقًا مع طبيعة هذه الميزات. عادةً ما يكون من الضروري إضافة إجراءات فرعية إضافية للغة الآلة لدعم الميزات الجديدة. غالبًا ما تفوق الصعوبة المزايا." [ 19 ]

انحرافات عن التصميم

في معرض تعريفه للغة Tiny BASIC لنادي Homebrew Computer Club، كتب بيتمان: "Tiny BASIC هي مجموعة فرعية من لغة Dartmouth BASIC، وتتكون من أنواع العبارات التالية فقط: LET، PRINT، INPUT، IF، GOTO، GOSUB، RETURN، END، CLEAR، LIST، RUN. تُجرى العمليات الحسابية باستخدام أعداد صحيحة 16 بت فقط، مع المعاملات + - * / والأقواس المتداخلة. لا يوجد سوى 26 اسم متغير مكون من حرف واحد، من A إلى Z، ولا توجد دوال. لا توجد سلاسل نصية أو مصفوفات... تحدد Tiny BASIC أرقام الأسطر الأقل من 256." [ 20 ] ثم شرع في وصف تطبيقه: "تم توسيع هذه اللغة لتشمل الدوال RND وUSR وPEEK وPOKE، مما يتيح للمستخدم الوصول إلى جميع مكونات نظامه في معالج 6800 من خلال برنامج BASIC."

استعان العديد من المطورين بخبراتهم مع لغة HP Time-Shared BASIC أو DEC BASIC-PLUS في تصميماتهم، وخففوا من مواصفات لغة Tiny BASIC الرسمية. ومن بين أبرز سبعة تطبيقات نُشرت بحلول عام 1977:

  • أضاف الجميع نوعًا من دوال الأرقام العشوائية، عادةً RND(). على الرغم من عدم تضمينها في المواصفات، إلا أن مقالًا في النشرة الإخبارية قبل مذكرة التصميم الخاصة بـ Tiny BASIC طلب هذه الدالة فقط.
  • تم تمكين جميع عبارات LET لتكون اختيارية، وتحتوي معظم عبارات let في عبارات التعيين على عوامل تشغيل علائقية .
  • جميعها باستثناء 6800TB تدعم محددات العبارات في الأسطر، :على الرغم من أن TBX يستخدم $و PATB يستخدم ;.
  • في عبارات IF ، أزالت جميع التطبيقات باستثناء MINOL الحاجة إلى احتواء التعبيرات على عوامل مقارنة (مثلاً، كان ذلك صحيحًا). وقد أزالت التطبيقات THEN تمامًا أو جعلتها اختيارية أو دعمتها فقط لعبارة GOTO الضمنية . ولم يدعم أي منها عبارات ELSE .IFXTHENLETY=X
  • قام العديد من المستخدمين بتعديل أمر الطباعة لدعم مناطق الطباعة، وذلك بالانتقال إلى المنطقة التالية وعدم تحريك المؤشر.,;
  • تمت إضافة جميع الإصدارات باستثناء 6800TB وDTB (جديد) .
  • أضافت جميعها باستثناء 6800TB و MINOL وظيفة لإرجاع حجم الذاكرة: كان لدى TBX وظيفة SZE ، وكان لدى DTB و PATB وظيفة SIZE ، وكان لدى L1B وظيفة MEM ، وكان لدى NIBL ​​وظيفة TOP .
  • أضافت أربع تطبيقات المصفوفات، سواء كانت مصفوفة واحدة غير محددة الأبعاد في PATB و L1B أو مصفوفات قابلة للتحديد الأبعاد في TBX و DTB.
  • أضافت أربع تطبيقات عبارة REM ark.
  • أضافت أربعة تطبيقات حلقة FOR : قدمت PATB وNIBL وL1B FOR-TO-STEP/NEXT ، بينما لم يدعم TBX STEP واستخدم الكلمة الرئيسية NXT لإنهاء الحلقة.
  • كانت NIBL ​​هي الوحيدة التي أشارت إلى البرمجة المهيكلة، مع DO/UNTIL ، على الرغم من شكوى أليسون في العدد 2 بشأن المشاكل المتعلقة بلغة BASIC.

كبديلٍ لتقسيم النص إلى رموز، ولتوفير ذاكرة الوصول العشوائي (RAM)، قامت أنظمة TBX [ 21 ] وDTB [ 22 ] وMINOL [ 23 ] باختصار الكلمات المفتاحية: PR للأمر PRINT ، وIN للأمر INPUT ، وRET للأمر RETURN . لم تكن الكلمات المفتاحية الكاملة والتقليدية مقبولة. في المقابل، سمح نظام PATB باستخدام الكلمات المفتاحية التقليدية المقبولة، بالإضافة إلى إمكانية اختصار أي كلمة مفتاحية إلى أقصر سلسلة نصية فريدة لها، مع إضافة نقطة في النهاية. على سبيل المثال، يمكن كتابة PRINT ، على الرغم من أن PR. وغيرها من الصيغ المشابهة كانت تعمل أيضًا. تم الاحتفاظ بهذا النظام في لغة BASIC من المستوى الأول لجهاز TRS-80 ، الذي استخدم نظام PATB، كما وُجد لاحقًا في لغة BASIC الخاصة بجهاز Atari ولغة BASIC الخاصة بأجهزة Sharp Pocket Computers المختلفة . [ 24 ]P.

اللهجات

كانت أبرز لهجات لغة Tiny BASIC هي Design Note الأصلية، وTiny BASIC Extended، وPalo Alto Tiny BASIC، و6800 Tiny BASIC. ومع ذلك، فقد وُجدت العديد من الإصدارات الأخرى من Tiny BASIC.

قائمة اللهجات البارزة

نُشرت لغة Tiny BASIC لأول مرة في نشرة إخبارية تابعة لشركة People's Computer Company ، وهي نشرة أصبحت فيما بعد مجلة Dr. Dobb's Journal ، وهي مجلة حاسوبية عريقة. وقد نُشرت حوالي عشر نسخ منها في المجلة.

اللهجات البارزة للغة Tiny BASIC (في مجلة دكتور دوبز)
تاريخ النشرمشكلةلهجةمؤلفالمعالجمقاس
ديسمبر 19751 [ 25 ]ملاحظة تصميميةدينيس أليسونغير متوفرغير متوفر
فبراير 19762 [ 21 ]Tiny BASIC Extended (TBX)ديك ويبل وجون أرنولد80802.9 ألف
مارس 19763 [ 22 ]دنفر تايني بيسك (DTB)فريد غريب80802.75 ألف
مارس 19763 [ 26 ]6800 Tiny BASIC (6800TB)توم بيتمان68002K [ 27 ]
أبريل 19764 [ 23 ]مينولإريك تي. مولر80801.75 ألف
مايو 19765 [ 28 ]Palo Alto Tiny BASIC (PATB)لي تشن وانغ80801.77 ألف
نوفمبر 197610 [ 29 ]اللغة الأساسية الصناعية الوطنية (NIBL)مارك ألكسندر وستيف لينينجرSC/MP4K
أكتوبر 198049 [ 30 ]معالج 6800 Tiny BASIC المحسنروبرت هدسون6800غير متوفر
فبراير 1985100 [ 31 ]TBI68Kجوردون براندلي68000غير متوفر
يناير 2006351 [ 32 ]عودة Tiny BASICتوم بيتمانغير متوفر ( ج )غير متوفر

كان TBX يُعرف أيضًا باسم Texas Tiny BASIC. [ 33 ]

تم الإعلان عن كل من SCELBAL [ 34 ] و 6800 Tiny BASIC في المجلة ولكن لم يتم نشر شفرة المصدر الخاصة بهما.

بالو ألتو تايني بيسك

كانت Palo Alto Tiny BASIC، أو PATB اختصارًا، من تطوير لي-تشين وانغ ، إحدى أشهر نسخ Tiny BASIC . ظهرت PATB لأول مرة في عدد مايو 1976 من مجلة Dr. Dobbs ، مكتوبةً بلغة تجميع مخصصة ذات رموز تذكيرية غير قياسية. أدى ذلك إلى تطوير نسخ أخرى متوافقة مع المجمعات التقليدية على معالج 8080. [ 24 ] استهلكت النسخة الأولى من المفسر 1.77 كيلوبايت من الذاكرة، وافترضت استخدام جهاز Teletype (TTY) لإدخال/إخراج المستخدم . نُشر تصحيح للمقال الأصلي في عدد يونيو/يوليو من مجلة Dr. Dobbs (المجلد 1، العدد 6). تضمن هذا المقال أيضًا معلومات حول إضافة أجهزة إدخال/إخراج إضافية، باستخدام كود شاشة عرض الفيديو VDM من شركة Processor Technology كمثال.

كان وانغ من أوائل من استخدموا مصطلح " حقوق النسخ المفتوحة ". في إشعار توزيع برنامج Palo Alto Tiny BASIC، كتب: "@COPYLEFT جميع الحقوق محفوظة". [ 35 ] لم يُوزّع برنامج Tiny BASIC بموجب أي شكل رسمي من شروط توزيع حقوق النسخ المفتوحة، بل قُدّم في سياقٍ يتم فيه مشاركة شفرة المصدر وتعديلها. في الواقع، كان وانغ قد ساهم سابقًا بتعديلات على Tiny BASIC Extended قبل كتابة مترجمه الخاص. [ 21 ] شجّع وانغ الآخرين على تكييف شفرة المصدر الخاصة به ونشر تعديلاتهم، كما هو الحال مع نسخة روجر راوسكولب من PATB المنشورة في Interface Age . [ 8 ] كما نشر نسخة ثالثة في كتاب PCC المرجعي للحوسبة الشخصية والمنزلية . [ 36 ]

من أبرز التغييرات في PATB إضافة حلقة FOR...NEXT . في TB الأصلي، كان بالإمكان تنفيذ الحلقات باستخدام IF`for...NEXT` و`for ...NEXT` فقط GOTO. وكما هو الحال في Microsoft BASIC ، كان يتم تحديد الحدين العلوي والسفلي للحلقة عند بدء الحلقة، ولا يتغيران أثناء تنفيذها. لذا، إذا كان أحد الحدين يعتمد على تعبير متغير، فإن تغيير المتغير لا يُغير الحد. STEPوكان المُعدِّل `for...NEXT` اختياريًا، كما هو الحال في Microsoft BASIC. [ 24 ]

ومن التغييرات المهمة الأخرى إمكانية وضع عدة عبارات في سطر واحد. ولأسباب غير واضحة، استخدم برنامج PATB الفاصلة المنقوطة ;للفصل بين العبارات، بدلاً من النقطتين الرأسيتين الشائعتين :.

وتشمل التغييرات الأخرى إضافة مصفوفة رقمية واحدة، باسم المتغير @، STOPبالإضافة إلى END، واستخدام #للمقارنة بين القيم غير المتساوية، بدلاً من <>. [ 24 ] [ ب ]

استخدم نظام PATB الكلمات بدلاً من الأرقام في رسائل الخطأ. ولتقليل حجم الذاكرة المطلوبة، اقتصرت الرسائل على ثلاث كلمات فقط. وكان النظام يستجيب بأخطاء WHAT?بناء الجملة، HOW?وأخطاء وقت التشغيل مثل الانتقال إلى سطر غير موجود أو تجاوزات الأرقام، SORRYومشاكل نفاد الذاكرة. [ 24 ]

كما كتب وانغ برنامجًا لـ STARTREK بلغة Tiny BASIC الخاصة به، والذي ظهر في عدد يوليو 1976 من نشرة شركة People's Computer Company . [ 37 ] [ 38 ]

قام لاحقًا بتكييف اللغة إلى لغة التحكم الأساسية 3K لشركة كروميمكو ، مضيفًا أسماء متغيرات على شكل حرف-رقم (مثلًا، A0إلى Z9)، ووظائف منطقية ( AND()،، OR()) XOR()، CALLوأمرًا لتنفيذ إجراءات لغة الآلة، PRINTوخيارات تنسيق إضافية، وغيرها ( GET()و PUT()بدلًا من PEEKو POKE؛ وظائف منفذ الإدخال/الإخراج). [ 39 ]

تم تكييف لغة Palo Alto Tiny BASIC للعديد من التطبيقات الأخرى، بما في ذلك Level I BASIC (1977)، وBASIC لجهاز الكمبيوتر المحمول Sharp PC-1211 (1980)، و Astro BASIC (1982، من تأليف جيمي فينتون ). [ 40 ]

مينول

كانت لغة MINOL، التي كتبها طالب في المرحلة الثانوية، هي التطبيق الوحيد الذي لم يدعم ملاحظات التصميم كاملةً، إذ افتقرت إلى أسبقية المعاملات ، واقتصرت على ثلاثة معاملات مقارنة فقط (<، =، #)، مع حذف المعاملات الفرعية GOSUB. RETURNكما أنها دعمت دقة 8 بت غير الموقعة فقط (على عكس دقة 16 بت الموقعة في جميع التطبيقات الأخرى) وأرقام الأسطر من 0 إلى 254.

لم يُسمح بوجود مسافات إلا في السلاسل النصية؛ !تُعيد هذه الدالة رقمًا عشوائيًا $قبل أن يقوم تعبير بتحميل سلسلة نصية في ذلك العنوان؛ OSثم تعود إلى نظام التشغيل. كانت الذاكرة قابلة للعنونة كما لو كانت مصفوفة ثنائية الأبعاد من البايتات العليا والسفلى (على سبيل المثال، من "(0,0)" إلى "(255,255)")؛ CALLتُنفذ هذه الدالة روتينًا فرعيًا بلغة الآلة. [ 23 ]

لهجات متنوعة

ظهرت العديد من اللهجات في منشورات أخرى متنوعة.

تضمن عدد مايو 1977 قرصًا مرنًا يحتوي على لغة البرمجة MICRO-BASIC.

استلهامًا من دعوة شركة PCC لتطوير لغات Tiny BASIC، كتب روبرت أويترويك لغة MICRO BASIC 1.3 لنظام SWTPC 6800 ، والتي نشرتها الشركة في عدد يونيو 1976 من نشرتها الإخبارية. كان أويترويك قد كتب اللغة بخط يده على لوح ورقي. لاحقًا، وسّع اللغة إلى 4 كيلوبايت، مضيفًا دعمًا للأعداد العشرية؛ تميز هذا الإصدار بين مترجمات لغة BASIC باستخدامه نظام العد العشري الثنائي بدقة تصل إلى 9 أرقام، بمدى يصل إلى 1099 ، ونشره مجانًا كملحق لمجلة "Floppy ROM" . أضاف إصدار 8 كيلوبايت متغيرات السلاسل النصية ووظائف حساب المثلثات . باعت شركة SWTPC كلا الإصدارين 4 كيلوبايت و8 كيلوبايت. في يناير 1978، باع أويترويك حقوق شفرة المصدر لشركة موتورولا . [ 41 ] [ 42 ]

كتب توماس إف. وايتمان برنامج Tiny BASIC في عام 1976 لأجهزة Hewlett-Packard HP-2640 و HP-2645 الطرفية (التي استخدمت معالجات Intel 8008 و 8080)، والتي نُشرت في مجلة Hewlett-Packard .

نُشرت لغة البرمجة BASIC الخاصة بمختبر لورانس ليفرمور (LLL ) في عدد ديسمبر 1976 من مجلة Interface Age ، وقد طُوّرت مسودتها الأولى على يد ستيف لينينجر استنادًا إلى مواصفات أليسون قبل أن ينتقل لينينجر من شركة ناشيونال سيميكوندكتور إلى شركة تاندي . طُوّر المترجم النهائي بواسطة جون ديكنسون وجيري باربر وجون تيتر في جامعة أيداهو بموجب عقد مع مختبر لورانس ليفرمور. بلغ حجم البرنامج 5 كيلوبايت، وتضمن حزمةً لحسابات الفاصلة العائمة، طوّرها ديفيد ميد وهال براند وفرانك أولكن. أتاح مختبر لورانس ليفرمور البرنامج للعموم، بعد أن طوّر النظام تحت إشراف إدارة أبحاث وتطوير الطاقة الأمريكية. [ 43 ]

أساسيات 4K

كان بإمكان برنامج Altair BASIC ، أو 4K BASIC، العمل ضمن  جهاز بذاكرة وصول عشوائي (RAM) سعتها 4 كيلوبايت، مما يترك حوالي 790 بايت فقط متاحة لكتابة التعليمات البرمجية. [ 44 ] [ 45 ] وقد انطلقت مبادرة Tiny BASIC استجابةً لسعر برنامج Altair 4K BASIC البالغ 150 دولارًا.

في عام ١٩٧٥، انضم ستيف وزنياك إلى نادي هومبرو للحاسوب الذي تأسس حديثًا ، والذي ضم أيضًا لي-تشين وانغ (مطور لغة بالو ألتو تايني بيسك) وتوم بيتمان (مطور لغة ٦٨٠٠ تايني بيسك). استنتج وزنياك أن جهازه سيحتاج إلى لغة بيسك خاصة به، والتي ستكون، على أمل، الأولى من نوعها لمعالج MOS Technology 6502. ولأن اللغة كانت تتطلب ٤  كيلوبايت من ذاكرة الوصول العشوائي (RAM)، فقد جعلها الحد الأدنى للذاكرة المطلوبة للتصميم. [ ٤٦ ] نُشرت لغة إنتغر بيسك لأول مرة على شريط كاسيت مضغوط في عام ١٩٧٦.

في عام ١٩٧٧، أصدرت شركة راديو شاك (كما كانت تُعرف آنذاك) أول حاسوب لها، وهو TRS-80 ، وهو نظام Z80 مزود بلغة BASIC من المستوى الأول في ذاكرة ROM بسعة ٤  كيلوبايت. كان ستيف لينينجر، الموظف في شركة تاندي ، قد كتب المسودة الأولى لمترجم NIBL ​​(لغة BASIC الصناعية الوطنية) لنظام SC/MP أثناء عمله في شركة ناشيونال سيميكوندكتور . [ ٢٩ ] ولعدم تمكنه من أخذ شفرة المصدر معه، قام بتعديل لغة Palo Alto Tiny BASIC التي طورها لي-تشين وانغ للنموذج الأولي لجهاز TRS-80 موديل ١. وقد أجرى تنقيحًا شاملًا على المترجم، مضيفًا دعمًا للفاصلة العائمة، ورسومات بسيطة بالأبيض والأسود، وعبارات READ/DATA/RESTORE . [ ٤٧ ]

تم تطوير لغة Sinclair 4K BASIC في الأصل عام 1979، وكتبها جون جرانت، واستخدمت معيار Minimal BASIC الصادر عن المعهد الوطني الأمريكي للمعايير (ANSI) عام 1978 كتعريف للغة، ولكنها كانت في حد ذاتها  تطبيقًا غير مكتمل بحجم 4 كيلوبايت مع عمليات حسابية للأعداد الصحيحة فقط. [ 48 ]

لهجات المتحكمات الدقيقة

تم تكييف تطبيقات Tiny BASIC للتحكم في المعالجات وللوحدات الدقيقة مثل Arduino :

  • كتب ستيفن أ. نيس لغة XYBASIC لشركة مارك ويليامز في عام 1977، وهي لغة برمجة للأعداد الصحيحة بحجم 4 كيلوبايت. وقد استُخدمت هذه اللغة بشكل متكرر في تطبيقات التحكم في العمليات. [ 49 ]
  • Arduino BASIC – مقتبس من 68000 Tiny BASIC لجوردون براندلي، وتم نقله إلى لغة C بواسطة مايك فيلد.
  • TinyBasic Plus – مقتبس من Arduino BASIC بواسطة سكوت لورانس. [ 50 ]
  • برنامج Half-Byte Tiny Basic - مقتبس من Arduino BASIC. [ 51 ]
  • Tiny Basic على micro:bit - مقتبس من Palo Alto Tiny BASIC. [ 52 ]

التطبيقات اللاحقة

في عام 2002، نشر إيمانويل شايو وباسكال مانوري وبرونو باجانو تطبيق Tiny BASIC (بدون GOSUB / RETURN ) في كتاب تطوير التطبيقات باستخدام Objective Caml كمثال على تطبيق Objective Caml . [ 53 ]

في عام 2013، نشر أليكس يانغ تطبيقًا بلغة بايثون . [ 54 ]

في عام 2019، نشر سيرجي كوزنيتسوف نسخة بلغة روبي . [ 55 ]

وفي عام 2019 أيضاً، نشر أوسكار توليدو غوتيريز برنامج bootBASIC، الذي يندرج ضمن...تشغل 512  بايت من قطاع الإقلاع في جهاز 8086/8088، مما يجعلها أصغر تطبيق للغة BASIC حتى الآن. ولتحقيق ذلك، تتخلى اللغة عن عوامل المقارنة ( تعمل عبارات IF على القيم غير الصفرية)، وتقتصر أسطر التعليمات البرمجية على 19 حرفًا أو أقل، ولا تُحدّث الشاشة عند الضغط على مفتاح الحذف. [ 56 ] بالإضافة إلى ذلك، تفتقر إلى الدالتين GOSUB وRETURN، ولكنها تتضمن دالة RND (بدون وسائط، تُرجع قيمة بين 0 و255). [ 57 ] تستخدم اللغة مصفوفة لتخزين أسطر البرنامج، مما يتطلب20000  بايت للقيام بذلك. [ 58 ]

في عام 2023، نشر غوردون هندرسون تطبيقًا بلغة Tiny Basic مكتوبًا بلغة التجميع 6502. وهو متأثر بـ NIBL ​​ويمكن تشغيله في وقت قصير جدًا.ذاكرة قراءة فقط (ROM) بسعة 3.5  كيلوبايت تتطلب على الأقلذاكرة وصول عشوائي (RAM) بسعة 1  كيلوبايت لتخزين البيانات والبرامج. يدعم هذا النظام أوامر DO/UNTIL و FOR/NEXT، والسلاسل النصية البسيطة، ووظائف PEEK/POKE (بايت أو كلمة 16 بت)، و GOSUB/RETURN، و CALL، و RND، بالإضافة إلى إمكانية إدخال وإخراج البيانات بالنظام الست عشري. [ 59 ]

مقارنة اللهجات

يقارن الجدول التالي ميزات اللغة لتطبيقات Tiny BASIC مع لغات BASIC البارزة الأخرى التي سبقتها.

مقارنة بين تطبيقات لغة BASIC - Tiny BASICs وأنواع أخرى من BASICs
تاريخ النشر
لهجةالمبرمج (المبرمجون)المعالجيكتبمدخليتركمطبعةانتقل إلىإذا ...إذنGOSUBيعودنهايةيجريقائمةواضحجديدريمللتالي/للأمامقراءة / بيانات / استعادةتمت إضافة أوامر BASICالتخصيصاتتعابير الوجهريلوبالوظائفRNDوظيفة الذاكرةأرقام الأسطرفاصل البيانأخطاءدقةالحسابالمتغيراتالمصفوفاتالأوتار
أكتوبر 1964
DTSS Dartmouth BASIC (الإصدار 2) [ 60 ]
(طلاب دارتموث)GE-225التجميع والتشغيلغير متوفر [!]LET var = expressionاطبع قائمة التعبيرات { , /  ; / }انتقل إلى الرقمإذا كان التعبير relop تعبيرًا، فرقم السطررقم GOSUBيعودنهايةيجريقائمة - ابدأغير متوفرجديد [يطلب اسم البرنامج]ريملـ / إلى / خطوة / التالياقرأ البياناتقفغير متوفرالأسبقية، ^< <= = >= > <>INT, SIN, COS, TAN, ATN, EXP, LOG, ABS, SQR, DEF FNRND(0) 0..1غير متوفرمن 1 إلى 99999لا أحد22 محددة9 أرقام±999,999,999؛ تدوين E أساس 2 -256 إلى +255 (E±76).من الألف إلى الياء، من ألف إلى ياء 9DIM (اسم من حرف واحد، بُعدان)؛ إذا تم حذفه، يُفترض أن يتراوح من 0 إلى 10؛ يصل إلى 1500 عنصر عبر جميع المصفوفاتلا شيء (أضيف في الإصدار 4)
فبراير 1970
DEC BASIC-8 [ 61 ]
(موظفو إدارة حماية البيئة)PDP-8التجميع والتشغيلقائمة متغيرات الإدخالLET var = expressionاطبع قائمة التعبيرات { , /  ; / }انتقل إلى الرقمإذا كان التعبير relop [ثم/انتقل إلى] رقم السطررقم GOSUBيعودنهايةيجريقائمة (الأول (، الأخير))غير متوفرجديد [يطلب اسم البرنامج]ريملـ / إلى / خطوة / التاليقراءة البيانات، استعادةتوقف، قديم، حفظ، إلغاء الحفظحذف (الأول (، الأخير))، وداعًاالأسبقية، ^< <= = >= > <>INT, SGN, SIN, COS, TAN, ATN, EXP, LOG, ABS, SQR, DEF FNRND(0) 0..1غير متوفرمن 1 إلى 2045لا أحد23 محددة؟±134,217,727; 14E-38<N<1.7E38من الألف إلى الياء، من الألف إلى الياء 9DIM (اسم من حرف واحد، بعدان)لا أحد
يونيو 1974
UIUC BASIC [ 62 ]
ألفريد ويفر، مايكل تيندال، رونالد دانييلسون8008مترجمإدخال <متغير> {, <متغير>}*ليكن المتغير = الصيغةاطبع <سلسلة> / <صيغة> {, <سلسلة> / <صيغة>}*انتقل إلى الرقمإذا كان التعبير صحيحًا، فرقم السطررقم GOSUBيعودنهايةيجريغير موثقغير موثقغير موثقريملـ / إلى / خطوة / التاليغير متوفرDEF FN، ​​توقفغير متوفرالأسبقية، ^< <= = >= > # و أو لاFNA..Z، SIN، COS، LOG، SQR، EXP، ATNغير متوفرغير متوفرمن 0 إلى 999لا أحدغير موثقجزء من 4 بايت وأس من 1 بايت [حزمة حسابية للفاصلة العائمة Datapoint 2200]غير موثقمن الألف إلى الياء، من ألف إلى ياء 9DIM (اسم من حرف واحد، ثلاثة أبعاد)لا أحد
1975
Altair 4K BASIC [ 63 ]
بيل غيتس، بول ألين، مونتي دافيدوف8080مترجمإدخال ("سلسلة نصية",) قائمة المتغيرات(LET) var = expressionاطبع قائمة التعبيرات { , /  ; }رقم GOTOإذا كانت العبارة صحيحة، فـ رقم السطر/العبارةرقم GOSUBيعودنهايةيجريالقائمة (بداية)غير متوفرجديدريملـ / إلى / خطوة / التاليقراءة البيانات، استعادةقفغير متوفرأسبقية< <= = >= > <>ABS، INT، SGN، SQR، TAB، USRRND(X) <0، ابدأ باستخدام X كبذرة؛ =0، كرر؛ >0، التاليغير متوفرمن 1 إلى 65535:12 محددةمعامل عائم 40 بت؟؟DIM (بعد واحد)لا أحد
ديسمبر 1975
ملاحظة تصميمية [ 64 ]
دينيس أليسونغير متوفرمترجمقائمة متغيرات الإدخالLET var = expressionاطبع قائمة التعبيراتتعبير GOTOإذا كان التعبير relop ثم عبارةتعبير GOSUBيعودنهايةيجريقائمة[مكافئ لـ NEW]غير متوفرغير متوفرغير متوفرغير متوفرغير متوفرغير متوفرأسبقية< <= = >= > <> ><لا أحدلا أحدغير متوفرمن 1 إلى 255لا أحد8 تم تعريفها16 بت± 32767من الألف إلى الياءلا أحدلا أحد
فبراير 1976
Tiny BASIC Extended [ 65 ]
ديك ويبل وجون أرنولد8080مترجمفي(LET) var = expression;}انتقل إلىعبارة IF [بدون عبارة THEN]اشتركمتقاعدنهايةيجريLST (first (, last))غير متوفرجديدغير متوفرFOR-NXT (بدون خطوة)DTA (مصفوفة LET)غير متوفرغير متوفرأسبقية< <= = >= > <> ><المسافات في الطباعة TB()RN (عشوائي 0-10000)المقاسمن 1 إلى 65535دولار14 محددة16 بت± 32767من الألف إلى الياءالأبعاد، بُعد واحد أو بُعدان، 255 × 255 كحد أقصىلا أحد
مارس 1976
دنفر تايني بيسك [ 66 ]
فريد غريب8080مترجمفي(LET) var = expression;}انتقل إلىعبارة IF [بدون عبارة THEN]GOSUBمتقاعدنهايةيجريقائمة (الاسم الأول الاسم الأخير)[مكافئ لـ NEW]غير متوفرغير متوفرغير متوفرغير متوفرحفظ الشريط، تحميلCLRS [CLS]أسبقية< <= = >= > <> ><RND(0), RND(1)مقاسمن 2 إلى 255:20 محددة16 بت± 32767من الألف إلى الياء، من A1 إلى A6 إلى Z6DIM، بُعد واحدلا أحد
مارس 1976
6800 Tiny BASIC [ 66 ]
توم بيتمان6800مترجمقائمة متغيرات الإدخال (التعبير)LET var = expressionاطبع قائمة التعبيرات { , /  ; }تعبير GOTOإذا كان التعبير relop ثم عبارةتعبير GOSUBيعودنهايةيجريقائمة (الاسم الأول الاسم الأخير)[مكافئ لـ NEW]غير متوفرريمغير متوفرغير متوفرغير متوفرغير متوفرأسبقية< <= = >= > <> ><USR()RND()غير متوفرمن 1 إلى 65535لا أحد53 محددة16 بت± 32767من الألف إلى الياءلا أحدلا أحد
أبريل 1976
مينول [ 67 ]
إريك تي. مولر8080مترجمفي(LET) var = expressionPR expr-list {; }[ GOTO 0 يعود إلى بداية العبارة المباشرة]IF expression relop expression  ; statementغير متوفرغير متوفرنهايةيجريقائمةمسح [المتغيرات فقط]جديدغير متوفرغير متوفرغير متوفرغير متوفرلا يُسمح بوجود مسافات إلا في النصوصلا توجد أولوية للمشغل< =$ [CHR$]! [RND]غير متوفرمن 1 إلى 254:6 محددة8 بتمن 0 إلى 255من الألف إلى الياءموقع الذاكرة (H,L)حرف واحد
مايو 1976
Palo Alto Tiny BASIC [ 68 ]
لي تشن وانغ8080مترجمإدخال [(تعبير) متغير]*(LET) var = expressionاطبع قائمة التعبيراتتعبير GOTOعبارة IF [بدون عبارة THEN]تعبير GOSUBيعودقفيجريالقائمة (بداية)غير متوفرجديدريملـ / إلى / خطوة / التاليغير متوفرقفغير متوفرأسبقية< <= = >= > #القيمة المطلقة (ABS)RND()مقاسمن 1 إلى 32767؛3 محددة16 بت± 32767من الألف إلى الياء(مصفوفة واحدة ذات بُعد واحد)لا أحد
نوفمبر 1976
NIBL [ 69 ]
مارك ألكسندر وستيف لينينجرSC/MPمترجممتغير الإدخال ($)(LET) var = expressionقائمة تعبيرات الطباعة/العلاقات العامةتعبير GOTOعبارة IF (THEN)تعبير GOSUBيعودنهايةيجريالقائمة (بداية)مسح [المتغيرات والمكدس]جديدريملـ / إلى / خطوة / التاليغير متوفرافعل/حتىمعالجة الذاكرة (@ [PEEK/POKE]، STAT، PAGE)أسبقية< <= = >= > <>MOD()، AND، OR، NOT،RND(A,Z)قمةمن 0 إلى 32767:13 تعريفًا لأربعة أحرف16 بت± 32767من الألف إلى الياءمعالجة الذاكرةINPUT$,PRINT$,$exp=exp
أغسطس 1977
المستوى الأول الأساسي [ 70 ]
ستيف لينينجرZ80مترجمإدخال (#رقم) [(تعبير) متغير]*(LET) var = expressionاطبع قائمة التعبيرات (#رقم)رقم GOTOعبارة IF THENرقم GOSUBيعودنهايةتشغيل (بدء)القائمة (بداية)غير متوفرجديدريملـ / إلى / خطوة / التاليقراءة البيانات، استعادةإيقاف، متابعة، تشغيل/انتقال إلى/انتقال فرعيتحميل، حفظ، مسح، تعيين، إعادة تعيينأسبقية< <= = >= > <> ><القيمة المطلقة (ABS)، عدد صحيح (INT)، الذاكرة (MEM)، النقطة (X، Y)RND()الذاكرةمن 1 إلى 32767:3 محددة16 بت± 32767من الألف إلى الياءA(مصفوفة واحدة ذات بُعد واحد)A$,B$
يونيو 1976
مايكرو بيسك 1.3 [ 71 ]
روبرت أويترويك6800مترجمقائمة متغيرات الإدخال(LET) var = expressionاطبع قائمة التعبيرات { , /  ; }تعبير GOTOإذا كان التعبير relop ثم عبارةتعبير GOSUBيعودنهايةيجريقائمة (الأول (، الأخير))غير متوفرجديدغير متوفرلـ/إلى/التالي (بدون خطوة)غير متوفرفاتورة غير مدفوعة()غير متوفرأسبقية< <= = >= > <> ><RND، SIZERND [يعيد 1-32762]الحجم (بيان يطبع عدد البايتات المستخدمة وعدد البايتات المتاحة)من 1 إلى 65535لا أحد17 محددة16 بت [لاحقًا BCD!]± 32767من الألف إلى الياءDIM (بعدان، الحد الأقصى للحجم 255)لا أحد
يونيو 1976
اللغة الأساسية الابتدائية العلمية (SCELBAL) [ 72 ] [ 34 ]
مارك أرنولد ونات وادزورث8008مترجمقائمة متغيرات الإدخال(LET) var = expressionاطبع قائمة التعبيرات {, /  ; / }رقم GOTOثم بيانرقم GOSUBيعودنهايةيجريقائمةغير متوفريخدش]ريملـ / إلى / خطوة / التاليغير متوفرحفظ، تحميلUDF [USR]الأسبقية، ^< <= = >= > <>INT، SGN، ABS، SQR، CHR [للاستخدام في الطباعة فقط]، TABRND(0) 0..1غير متوفرمن 1 إلى 999999لا أحد18 محددةمعامل 32 بت عائم أو ثابت النقطة±134,217,727; 14E-38<N<1.7E38؟DIM (اسم حرف واحد، بُعد واحد؛ ما يصل إلى 4 مصفوفات تحتوي على ما يصل إلى 64 عنصرًا إجمالاً)لا أحد
أكتوبر 1976
Apple I BASIC [ 73 ]
ستيف وزنياك6502مترجمإدخال ("سلسلة نصية",) قائمة المتغيرات(LET) var = expressionاطبع قائمة التعبيرات { , /  ; }تعبير GOTOإذا كان التعبير relop expression THEN رقم السطر/العبارةتعبير GOSUBيعودنهايةتشغيل (بدء)قائمة (الأول (، الأخير))غير متوفرSCRريملـ / إلى / خطوة / التاليغير متوفرتلقائي، حذف، دفعTAB (أمر)، CALLأسبقية< <= = >= > <> # و أو ليس تعديلًاSGN، ABS، PEEK()، LEN()RND(X) 0..X (أو X..0!)HIMEM, LOMEMمن 1 إلى 32767لا شيء [الإصدار المبكر، إذن  :]16 محددة16 بت± 32767أ-ي متبوعًا بأي عدد من الأحرف والأرقامDIM (بعد واحد)الأبعاد
ديسمبر 1976
LLL BASIC [ 74 ]
(موظفو جامعة أيداهو)8080مترجمقائمة متغيرات الإدخال(LET) var = expressionاطبع قائمة التعبيرات { , /  ;}انتقل إلى الرقمعبارة IF (ثم)رقم GO الفرعييعودنهايةيجريقائمةغير متوفرSCRريملـ/إلى/التالي (بدون خطوة)غير متوفرقفاستدعاء، جلب، وضعأسبقية< <= = >= > <> ><لا يوجد بحث وتطوير؟غير متوفرمن 0 إلى 32767:14 محددةمعامل 32 بت بنظام الفاصلة العائمة؟من الألف إلى الياء، من ألف إلى ياء 9DIM (أعداد صحيحة فقط، اسم من حرف واحد، بُعد واحد، الحد الأقصى للحجم 255)لا أحد
يناير 1980
سينكلير 4K بيسك [ 75 ]
جون جرانتZ-80مترجممتغير الإدخالLET var = expressionاطبع قائمة التعبيرات { , /  ;}انتقل إلى الرقمعبارة IF THENرقم GO الفرعييعودغير متوفرتشغيل (رقم)قائمةواضحجديدريملـ/إلى/التالي (بدون خطوة)غير متوفرقفبوكأسبقية< = >ABS، CHR$، CODE، PEEK، RND، STR$، TL$، USRRND، عشوائيغير متوفرمن 1 إلى 9999غير متوفر10 محددةعدد صحيح مكون من 16 بتعدد صحيح مكون من 16 بتأ-ي متبوعًا بأي عدد من الأحرف والأرقامDIM AZ (أعداد صحيحة فقط، اسم من حرف واحد، بُعد واحد، الحد الأقصى للحجم 255)من الألف إلى الياء

انظر أيضاً

ملحوظات

  1. في ذلك الوقت، كان حجم الذاكرة الأكثر شيوعًا لجهاز 8080 هو 4 كيلوبايت، والذي كان يكلف مئات الدولارات.
  2. تم استخدام التجزئة أيضًا للمقارنة بين القيم غير المتساوية في لغة HP Time-Shared BASIC .

مراجع

الاقتباسات

  1. لانكستر، دون (1976). "كتاب طبخ آلة كاتبة التلفزيون" (ملف PDF) . الصفحات 210-211 . مؤرشف (ملف PDF) من الأصل بتاريخ 2022-10-09. 
  2. مانس وأندروز 1994 ، ص 81.
  3. روبرتس، هـ. إدوارد (أكتوبر 1975). "رسالة من الرئيس" . ملاحظات الحاسوب . 1 (5). ألبوكيرك، نيو مكسيكو: معهد ماساتشوستس للتكنولوجيا: 3-4 . مؤرشف من الأصل في 23 مارس 2012.
  4. Manes & Andrews1994 ، ص 91.
  5. أليسون، دينيس (يوليو 1976). "ملاحظات تصميمية للغة تايني بيسك" . إشعارات سيغبلان . 11 (7). ACM: 25-33 . doi : 10.1145/987491.987494 . S2CID 18819472 . 
  6. 1 2 "ورقة رموز TB" . مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان، الجري بخفة دون فرط بايت . 1 (1). ديسمبر 1975.
  7. دوبس 1976 ، ص 5.
  8. 1 2 3 راوسكولب، روجر (ديسمبر 1976). "لغة بالو ألتو تايني بيسك للدكتور وانغ". مجلة إنترفيس إيج . 2 (1): 92-108 .يبدأ الكود المصدري بالأسطر التسعة التالية:
    ;************************************ ؛ لغة TINY BASIC لمعالج Intel 8080 الإصدار 2.0 بقلم لي-تشين وانغ ; مُعدّل ومترجم ؛ إلى تقنيات التذكر الذكية بقلم روجر راوسكولب 10 أكتوبر 1976 ; @COPYLEFT جميع الحقوق محفوظة ؛ ;************************************
  9. "الأجهزة مفتوحة المصدر: كيف ولماذا تعمل" . شركة آي بي إم . تأسست حركة البرمجيات مفتوحة المصدر على يد دينيس أليسون بإصداره لغة Tiny BASIC عام 1975.
  10. 1 2 وارن، جيم سي. (يوليو 1976). "المراسلات". إشعارات SIGPLAN . 11 (7). ACM: 1– 2. ISSN 0362-1340 . 
  11. وانغ، لي-تشين (مايو 1976). "بالو ألتو تايني بيسك". مجلة دكتور دوبز لتمارين الحاسوب وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (5): 12-25 .يبدأ الكود المصدري بالأسطر الستة التالية.
    لغة Tiny Basic لمعالج Intel 8080 الإصدار 1.0 بقلم لي-تشين وانغ 10 يونيو 1976 @COPYLEFT جميع الحقوق محفوظة
    تاريخ يونيو المذكور في عدد مايو صحيح. كانت المجلة متأخرة عن موعدها، فتم دمج عددي يونيو ويوليو لتعويض التأخير.
  12. أليسون، دينيس (1976). "ابنِ لغة BASIC الخاصة بك" . مجلة دكتور دوب . المجلد 1، العدد 1. ص 9.   
  13. أليسون، دينيس (1976). "دليل مرجعي سريع للغة Tiny BASIC" . مجلة دكتور دوب . المجلد 1، العدد 1. ص 6.   
  14. دليل لغة BASIC-PLUS (ملف PDF). ماينارد، ماساتشوستس: شركة المعدات الرقمية. 1972. الصفحات 3-13 . 
  15. ألين، دينيس. "تايني بيسك". شركة كمبيوتر الشعب . المجلد 4، العدد 3.  
  16. فيت، هولجر. "لغة بيسك الصغيرة 6800 لتوم بيتمان" . تم الاطلاع عليه بتاريخ 2 مايو 2017 .
  17. ^ مجلة د. دوب ، المجلد الأول، العدد الأول، 1976، ص. 12.
  18. يرمز الرمز "CRLFthere" إلى إرجاع السطر متبوعًا بتغذية السطر .
  19. بيتمان، توم. "مجموعة أدوات تجريبية صغيرة للغة BASIC" . تم الاطلاع عليه في 9 أغسطس 2020 .
  20. "TINY BASIC 6800" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 9 أكتوبر 2022. تم الاطلاع عليه بتاريخ 13 أغسطس 2020 .
  21. 1 2 3 "Tiny BASIC Extended". مجلة دكتور دوب للتمارين الحاسوبية وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (2). فبراير 1976.
  22. 1 2 "Denver Tiny BASIC". مجلة دكتور دوب للتمارين الحاسوبية وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (3). مارس 1976.
  23. 1 2 3 "مينول". مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان، الجري بخفة دون تداخل . 1 (4). أبريل 1976.
  24. 1 2 3 4 5 راوسكولب، روجر (ديسمبر 1976). "لغة بالو ألتو تايني بيسك للدكتور وانغ" (ملف PDF) . مجلة إنترفيس إيج . الصفحات 92-108 . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 9 أكتوبر 2022. 
  25. "ملاحظة تصميمية". مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (1). ديسمبر 1975.
  26. "6800 Tiny BASIC". مجلة دكتور دوب للتمارين الحاسوبية وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (3). مارس 1976.
  27. "دليل المستخدم الأساسي الصغير+" .
  28. وانغ، لي-تشين (مايو 1976). "بالو ألتو تايني بيسك". مجلة دكتور دوبز لتمارين الحاسوب وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (5): 12-25 .
  29. 1 2 "NIBL". مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان، الجري بخفة دون فرط بايت . 1 (10). نوفمبر 1976.
  30. "لغة 6800 Tiny BASIC المحسّنة والمعدّلة". مجلة دكتور دوبز لتمارين الحاسوب وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . أكتوبر 1980.
  31. "TBI68K". مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . فبراير 1985.
  32. "عودة Tiny BASIC". مجلة دكتور دوب للتمارين الحاسوبية وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . يناير 2006.
  33. "دمج لغة تكساس تايني بيسك (TBX) مع نظام تشغيل أشرطة التلفزيون (TVCOS)". مجلة دكتور دوبز لتمارين الحاسوب وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (5): 28-31 . مايو 1976.
  34. 1 2 أرنولد، مارك؛ وادزورث، نات (فبراير 1976). "SCELBAL - لغة برمجة عالية المستوى لأنظمة 8008/8080" . مجلة دكتور دوب . الصفحات 30-53 . 
  35. وانغ، لي-تشين (مايو 1976). "بالو ألتو تايني بيسك". مجلة دكتور دوبز لتمارين الحاسوب وتقويم الأسنان، التشغيل الخفيف بدون بايت زائد . 1 (5): 12-25 .(ملاحظة: يبدأ كود المصدر بالأسطر الستة التالية: "TINY BASIC FOR INTEL 8080; VERSION 1.0; BY LI-CHEN WANG; 10 JUNE, 1976; @COPYLEFT; ALL WRONG RESERVED". تاريخ يونيو المذكور في عدد مايو صحيح. تأخرت المجلة عن موعد إصدارها، وتم دمج عددي يونيو ويوليو لتعويض التأخير.)
  36. مكابي، دوايت [محرر] (1 يوليو 1977). كتاب PCC المرجعي للحوسبة الشخصية والمنزلية ( الطبعة الأولى). مينلو بارك، كاليفورنيا: شركة People's Computer. ص 248. ISBN   0-918790-02-6.{{cite book}}له |first1=اسم عام ( مساعدة )
  37. "شركة حاسوب الشعب" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 9 أكتوبر 2022. تم الاطلاع عليه بتاريخ 25 ديسمبر 2019 .
  38. تيرنبول، بيت. "Startrek.asc" . مؤرشف من الأصل في 24 فبراير 2021. تم الاطلاع عليه في 25 ديسمبر 2019 .
  39. "دليل التعليمات الأساسية للتحكم 3K" (ملف PDF) . شركة كروميمكو. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 22-12-2013 . تم الاطلاع عليه بتاريخ 18-02-2013 .
  40. أينسورث، ديك (1982). أسترو بيسك . أستروكيد، إنك. ص 3. 
  41. ^ "أساسيات روبرت أويترويك" .
  42. ^ "Micro Basic لروبرت أويترويك" .
  43. "الجزء الأول من LLL 8080 مترجم لغة BASIC" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 2022-10-09.
  44. "4 أنظمة لغات ألتاير" . ألتاير بيسك .
  45. Altair BASIC (PDF) . MITS. 25 أغسطس 1975. مؤرشف (PDF) من الأصل في 2022-10-09.
  46. ووزنياك، ستيفن (1 مايو 2014). "كيف كتب ستيف ووزنياك لغة BASIC لجهاز أبل الأصلي من الصفر" . جيزمودو .
  47. ويلش، ديفيد؛ ويلش، تيريزا (2007). تمهيد الطريق: كيف ساهم عشاق جهاز TRS-80 في إشعال ثورة الحواسيب الشخصية . ص 7. 
  48. "ZX80 – ترقية ذاكرة القراءة فقط الأساسية 8K" .
  49. نيس، ستيفن. "XYBASIC" . برمجيات نيس . تم الاطلاع عليه بتاريخ 4 أغسطس 2020 .
  50. "TinyBasicPlus" . GitHub .
  51. "ها هو ذا! Half-Byte Tiny Basic 2 لأردوينو والأجهزة المتوافقة معه" . 27 نوفمبر 2014.
  52. "تشغيل Tiny Basic على Micro: Bit" . 28 مارس 2020.
  53. شايو، إيمانويل؛ مانوري، باسكال؛ باجانو، برونو (2002). تطوير التطبيقات باستخدام لغة Objective-Caml . فرنسا: أورايلي. ISBN 2841771210.
  54. "aleozlx/tinybasic" . GitHub . تم الاسترجاع في 2020-09-20 .
  55. "PaloAltoTinyBasic" . تم الاطلاع عليه بتاريخ 2020-09-20 .
  56. ويليامز، آل (31 يوليو 2019). "bootBASIC يناسب لغتك المفضلة في قطاع التمهيد" . هاك أ داي . تم الاسترجاع في 26 مارس 2022 .
  57. غوتيريز، أوسكار توليدو. "bootBASIC هي لغة BASIC مكتوبة بلغة x86 بحجم 512 بايت" . جيت هاب . تم الاطلاع عليه بتاريخ 26 مارس 2022 .
  58. غوتيريز، أوسكار توليدو (27 يوليو 2019). برمجة ألعاب قطاع الإقلاع . لولو. ص 155. ISBN  978-0-359-76262-0.
  59. هندرسون، جوردون (2023). "لغة أساسية صغيرة للمعالج 6502" . مشاريع دروجون .
  60. "BASIC" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 2022-10-09.
  61. "دليل مستخدم نظام المشاركة الزمنية TSS/8" . فبراير 1970.
  62. "مترجم لغة أساسية للمعالج الدقيق إنتل 8008" . 1974.
  63. "دليل مرجعي أساسي لبرنامج MITS ALTAIR" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 2022-10-09.
  64. "مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان: الجري بخفة دون زيادة في حجم البيانات" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 2022-10-09.
  65. "مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان: الجري بخفة دون زيادة في حجم البيانات" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 2022-10-09.
  66. 1 2 "مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان: تشغيل خفيف بدون بايت زائد" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 2022-10-09.
  67. "مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان: الجري الخفيف بدون بايت زائد" .
  68. "عصر الواجهة" .
  69. "مجلة دكتور دوب للتمارين الرياضية الحاسوبية وتقويم الأسنان: الجري بخفة دون زيادة في حجم البيانات" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 2022-10-09.
  70. "مساعدة في لغة BASIC للمستوى الأول لجهاز TRS-80" .
  71. "مايكرو بيسك لروبرت أويترويك" . مؤرشف من الأصل بتاريخ 2012-02-05 . تم الاطلاع عليه بتاريخ 2012-01-15 .
  72. "SCELBAL - لغة برمجة عالية المستوى لأنظمة 8008/8080" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 2022-10-09.
  73. "دليل المستخدم التمهيدي لنظام أبل الأساسي" . أكتوبر 1976.
  74. "عصر الواجهة" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 2022-10-09.
  75. ""دليل تشغيل ZX80"( PDF) .

فهرس