محول واجهة التلفاز

أتاري 2600

محول واجهة التلفاز [1] ( TIA ) هو شريحة الكمبيوتر المخصصة التي تشكل، إلى جانب متغير من MOS Technology 6502 ، قلب وحدة تحكم الألعاب Atari Video Computer System لعام 1977. يولد TIA عرض الشاشة والمؤثرات الصوتية ويقرأ وحدات التحكم. في الوقت الذي تم فيه تصميم Atari VCS، كانت حتى الكميات الصغيرة من ذاكرة الوصول العشوائي باهظة الثمن. تم تصميم الشريحة بدون الدوائر الإضافية لإطار التخزين المؤقت ، بدلاً من ذلك تتطلب برمجة مفصلة لإنشاء حتى شاشة بسيطة. [2]

قاد جاي مينر تطوير CO10444/CO11903 [3] TIA ، والذي واصل في أتاري التوسع في تصميم TIA لأجهزة الكمبيوتر أتاري ذات الثمانية بتات باستخدام شرائح ANTIC و CTIA/GTIA . قاد مينر لاحقًا تصميم الشرائح المخصصة لجهاز كمبيوتر أميجا .

تصميم

اللوحة الأم لجهاز Atari VCS الأصلي ذي الستة مفاتيح. توجد شريحة TIA ذات الأربعين سنًا على اليسار. الشريحة المركزية ذات الـ 28 سنًا هي شريحة MOS Technology 6507، وعلى يمينها شريحة Ram-I/O-Timer (RIOT) ذات الأربعين سنًا من MOS Technology 6352. توجد فتحة إدخال الخرطوشة على يمين شريحة RIOT مباشرةً.

خلفية

حوالي عام 1975، كان مهندسو أتاري في شركة سيان إنجينيرنج بقيادة ستيف ماير ورون ميلنر يفكرون في بدائل للأجهزة المخصصة للتطوير مثل الدوائر المتكاملة المخصصة للتطبيقات (ASIC) لألعاب الفيديو المخصصة للصالات وأجهزة ألعاب الفيديو المنزلية. وصلت المعالجات الدقيقة القابلة للبرمجة إلى السوق، لكن أتاري اعتبرتها باهظة الثمن لتطبيق منزلي. [4] كانت محدودة بالتكلفة في خيارات عرض الرسومات. في هذه المرحلة من الزمن، تم إنشاء معظم رسومات الكمبيوتر باستخدام رسومات مرسومة أعلى ساحة لعب، والتي تم ترجمتها بعد ذلك إلى إشارة تناظرية لعرضها على شاشة فيديو CRT . [5] سيتم الاحتفاظ بالرسومات كخريطة بتات في إطار عازل ، مما يتطلب ذاكرة وصول عشوائي (RAM). كانت ذاكرة الوصول العشوائي لا تزال باهظة الثمن، حيث تكلف عشرات الآلاف من الدولارات لكل ميغا بايت. [6] وكان عرض ساحة لعب ثنائية الألوان على شاشة 80 × 48 سيكلف آلاف الدولارات في الذاكرة. [4] في تلفزيون NTSC الملون التقليدي ، تراوحت الدقة القصوى عمومًا بين 256 و320 بكسل لكل سطر، و192 إلى 240 سطرًا لكل شاشة. [7]

في سبتمبر 1975، قدمت شركة MOS Technology المعالج الدقيق 6502 ، وهو أحد أوائل المعالجات الدقيقة منخفضة التكلفة في السوق. رتب ماير وميلنر للتحدث إلى مصمم الشريحة، تشاك بيدل ، حول استخدام 6502 كأساس لوحدة التحكم في ألعاب الفيديو القابلة للبرمجة. على مدار يومين، تم وضع التصميم الأساسي لـ Atari VCS، حيث عرض Peddle على Atari استخدام معالج MOS Technology 6507 الأقل تكلفة ومؤقت RAM-I/O-Timer 6532 من MOS Technology (RIOT) باعتباره جوهر التصميم. [8] باستخدام نموذج أولي للوحة توصيل محول العرض أعلى نظام اختبار 6502، تمكن ميلنر من إثبات القدرة على برمجة نسخة بسيطة من لعبة Tank الخاصة بهم . تم تعيين جو ديكوير للمساعدة في تحويل إثبات مفهوم ميلنر إلى نموذج أولي وظيفي، وهو ما يكفي لشركة Atari لإعطاء الضوء الأخضر لمواصلة التطوير. [4]

بينما كان Decuir يعمل على تصميم بقية النظام، ركز Jay Miner على صنع ASIC لمحول العرض. [4] في وقت مبكر، تم تسمية محول عرض ASIC بمحول واجهة التلفزيون (TIA). [4] ظلت تكلفة ذاكرة الوصول العشوائي مرتفعة عندما بدأ الفريق تصميمه، وبالتالي تم إسقاط خيار استخدام إطارات التخزين المؤقتة القائمة على الذاكرة من تصميم TIA. [4]

تصميم بدون ذاكرة وصول عشوائي (RAM)

بسبب عدم وجود ذاكرة وصول عشوائي، يختلف TIA عن نهج الإطار المؤقت التقليدي على الشاشة ويتألف من معالجة خمسة كائنات رسومية متحركة (لاعبان وصاروخان وكرة واحدة) وكائن ملعب ثابت. يتم إنشاء كل هذه الكائنات على كل خط مسح من سجلاتها الخاصة، على عكس التقنية المستخدمة في نموذج الإطار المؤقت، مما يتطلب من البرنامج تحديثها على كل خط مسح. [9] الدقة الأفقية ليست موحدة، حيث يعتمد حجمها على الكائن الرسومي المعين. تتوافق أصغر وحدة بكسل مع دورة ساعة لونية واحدة للشريحة، والتي يوجد منها 160 وحدة مرئية على خط واحد. [9]

يتكون كائن Playfield من سجل مكون من بايتين ونصف (عرض 20 بت)، والذي يمكن عكسه بشكل متماثل أو نسخه كما هو إلى النصف الأيمن من الشاشة لإجمالي 40 بت (كل بت بعرض 4 دورات لونية). يتم تحديد اللون الذي تم رسمه إذا كان البت 1 أو 0 من لوحة ألوان محددة مسبقًا تصل إلى 128 لونًا (انظر أدناه) ويتم الاحتفاظ به في سجلات أخرى.

كما دعمت TIA أيضًا خمسة كائنات رسومية منفصلة تتكون من:

  • خطان أفقيان بقياس 8 بكسل يشكلان " العفاريت " الخاصة باللاعب 1 واللاعب 2. وهما بلون واحد، ويمكن تمديدهما بعامل 2 أو 4، ويمكن تكرارهما أو تضاعفهما ثلاث مرات.
  • "الكرة" - خط أفقي بنفس لون الملعب. ويمكن أن يكون عرضه بكسلًا واحدًا أو اثنين أو أربعة أو ثمانية.
  • صاروخان - خط أفقي آخر بنفس لون اللاعب المعني. يمكن أن يكون عرضه بكسل واحد أو اثنين أو أربعة أو ثمانية.

بدون إطارات التخزين المؤقتة المستندة إلى ذاكرة الوصول العشوائي، يكون اكتشاف التصادم معقدًا أيضًا. يحتوي TIA على اكتشاف تصادم الأجهزة لجميع هذه الكائنات من خلال استخدام 15 من قلابات التعيين/إعادة التعيين ويخزن خريطة بتات للتصادمات، والتي تتم قراءتها عادةً أثناء فترة VBLANK. [4] تسمح السجلات في TIA للمبرمج بالتحكم في وضع الكائنات الرسومية ولونها.

كما يوفر TIA قناتين للصوت أحادي البت. توفر كل قناة 32 قيمة نغمة و16 تسلسل بت ممكن. يوجد عنصر تحكم في مستوى الصوت بأربعة بتات. [4]

أخيرًا، يحتوي TIA على مدخلات لقراءة ما يصل إلى أربعة وحدات تحكم مجداف تناظرية باستخدام مقاييس الجهد ومشغلين لعصا التحكم. [4]

رسم العرض

نظرًا لأن السجلات تحتفظ بالبيانات لسطر واحد فقط من الشاشة، فإن إنشاء شاشة كاملة يتطلب من برنامج اللعبة تحديث السجلات أثناء التنقل، وهي العملية المعروفة باسم " سباق الشعاع ". [10]

لبدء العملية، يقوم برنامج اللعبة الذي يعمل على وحدة المعالجة المركزية المستندة إلى MOS Technology 6502 بتحميل سجلات TIA بالبيانات اللازمة لرسم الخط الأول من الشاشة. ثم ينتظر TIA حتى يصبح التلفزيون جاهزًا لرسم الخط (تحت أمر الأجهزة التناظرية المرتبطة بـ TIA) وقراءة السجلات لإنتاج إشارة لذلك الخط. أثناء فترة التعتيم الأفقي بين الخطوط، يقوم 6502 بسرعة بتغيير سجلات TIA حسب الحاجة للسطر التالي. تستمر هذه العملية على طول الشاشة.

يصبح هذا الأمر أكثر صعوبة لأن تقنية MOS 6507 في 2600 هي نسخة مخفضة الدبابيس من 6502 بدون دعم لمقاطعات الأجهزة . بشكل عام، يولد الجانب التناظري لنظام العرض مقاطعة عندما ينتهي من رسم خط المسح ويستعد للخط التالي. تعمل المقاطعة على تشغيل الكود المطلوب لتحديث الشاشة، ثم تعود إلى البرنامج "الرئيسي". تركت 6507 هذه الدبابيس خارج وحدة المعالجة المركزية لتوفير المال، ومع ذلك فهي تحتوي على دبوس "RDY" لإدراج حالات الانتظار في دورات ناقل وحدة المعالجة المركزية . تم تصميم TIA خصيصًا لاستخدام دبوس RDY لمزامنة وحدة المعالجة المركزية مع توقيت خط المسح للفيديو الذي تم إنشاؤه بواسطة TIA: عندما تكتب وحدة المعالجة المركزية إلى عنوان سجل معين من TIA، يخفض TIA إشارة خرج RDY الخاصة به حتى نهاية السطر الحالي، وهو أمر "انتظر المزامنة". [4] يؤدي هذا إلى تعليق تشغيل وحدة المعالجة المركزية حتى بداية (دورة ساعة اللون 0) فترة التعتيم الأفقي مباشرة قبل السطر التالي، مما يوفر مقياسًا للمزامنة التلقائية. الغرض المقصود من هذه الآلية هو أن تقوم وحدة المعالجة المركزية بتشغيل التعليمات البرمجية التي تقوم بإعداد سجلات TIA للخط الذي سيتم رسمه، والتي تعمل عادةً حتى اكتمالها قبل فترة من وصول TIA إلى نهاية هذا السطر. لتسهيل مزامنة توقيت الفيديو، تكتب وحدة المعالجة المركزية بعد ذلك إلى السجل الذي يؤدي إلى تأخير المزامنة عبر RDY، مما يؤدي إلى إهدار قدر متغير من وقت وحدة المعالجة المركزية. [4]

بالإضافة إلى ذلك، لا يقوم TIA إلا بتوليد إشارات توقيت المزامنة الرأسية بشكل شبه تلقائي (لتحديد نهاية كل إطار فيديو وبداية الإطار التالي). ويستطيع TIA إدخال إشارة مزامنة رأسية في إشارة الفيديو الناتجة التناظرية، ولكنه لا يحتوي على عداد خطوط إطارات وبالتالي لا يمكنه تحديد متى يجب أن ينتهي الإطار. وبدلاً من ذلك، يُترك الأمر لبرنامج وحدة المعالجة المركزية لتشغيل إشارات المزامنة الرأسية وحساب الخطوط في كل إطار لتحديد متى يجب إنشاء إشارة مزامنة رأسية. وكما هو الحال بالنسبة لأجهزة RDY-wait، يتم تشغيل إشارة المزامنة الرأسية من خلال كتابة وحدة المعالجة المركزية إلى عنوان سجل TIA محدد. وإذا لم يتم إجراء أي كتابة على هذا العنوان على الإطلاق وتم السماح لـ TIA بالعمل بحرية، فسيقوم بإنشاء إطار واحد لا نهائي من خطوط الراستر النشطة، والتي تظهر عادةً على التلفزيون كصورة متدحرجة. معظم الألعاب المنشورة لجهاز Atari 2600 تولّد مزامنة رأسية بعد كل 262 أو كل 263 سطرًا (ولكن لا شيء في TIA يمنعه من توليد إطارات بأي طول، أقصر أو أطول، على الرغم من أن شاشات الفيديو الناتجة سوف تتدحرج رأسياً على أجهزة التلفزيون العادية).

تعني هذه التفاصيل وغيرها من تفاصيل برمجة TIA أن المبرمجين يحتاجون إلى ضبط توقيت برامجهم بعناية لتشغيلها بالعدد الدقيق من الدورات المطلوبة للأحداث المختلفة المتعلقة بالشاشة. إن ارتكاب خطأ في هذا يعني أن الشاشة لم يتم رسمها بشكل صحيح. يُعرف الجزء من البرنامج الذي يقوم بذلك باسم "نواة" هذا البرنامج. [11]

نظرًا لهذا التعقيد، كانت الألعاب المبكرة التي تستخدم النظام تميل إلى أن تكون بسيطة في التصميم، باستخدام TIA لإنشاء ساحات لعب متماثلة مع لاعبين في الأعلى. كان هذا هو القصد الأصلي للنظام: تشغيل حفنة من ألعاب الأركيد التي أنتجتها أتاري بالفعل مثل Tank و Pong . في هذه الحالات، تم وضع بيانات ساحة اللعب عادةً في ذاكرة ROM بحجم 2 كيلوبايت في خرطوشة اللعبة . نظرًا لأن كل سطر يستخدم 20 بتًا من البيانات، وكان هناك 192 سطرًا على شاشة NTSC، [12] فإن الشاشة ذات التصميم المختلف في كل سطر تحتاج فقط إلى 480 بايت (192 × 20 / 8) من 4 كيلوبايت في الخرطوشة لحمل شاشة واحدة مبرمجة بشكل ثابت. في هذه الحالة، تقدمت النواة ببساطة بمقدار 20 بتًا عبر ROM لكل سطر مع تقدم TIA لأسفل الشاشة، وهي مهمة استغرقت بضع دورات فقط من وقت وحدة المعالجة المركزية. يمكن تقليل ذلك بشكل أكبر عن طريق استخدام نفس البيانات لعدة أسطر، إما بمضاعفتها رأسياً، أو القراءة في اتجاه واحد عبر القائمة في الأعلى ثم العودة في الاتجاه الآخر في الأسفل، مما ينتج عنه عرض معكوس رأسياً بحجم 240 بايت فقط.

تأثير قوس قزح مرئي في لعبة Barnstorming

كان أحد التطورات الرئيسية هو ترخيص لعبة Space Invaders للمنصة، والتي تطلبت عددًا أكبر بكثير من رسومات اللاعب لرسم الكائنات الفضائية المعادية. كان الحل هو تغيير بيانات اللاعب لكل سطر أثناء رسم الصورة، مما أدى إلى إنشاء عدد كبير من اللاعبين. تم تحقيق تقدم آخر من خلال (جزئيًا) ترميز العرض كتعليمات وحدة المعالجة المركزية بدلاً من تخزينها كبيانات ثابتة في ذاكرة القراءة فقط. تستخدم Adventure هذا المفهوم لإنتاج مجموعة متنوعة من الخرائط من خلال الجمع بين أجزاء مختلفة من البيانات في ذاكرة القراءة فقط، والقفز ذهابًا وإيابًا من خلالها أثناء رسم الشاشة. [13] سمح هذا للعبة بأن تحتوي على 30 غرفة، والتي كانت لتتطلب بخلاف ذلك 14 كيلو بايت من ذاكرة القراءة فقط .

مع اعتياد المبرمجين على التوقيت الغريب المطلوب لجعل الأشياء تعمل بشكل صحيح على الشاشة، بدأوا في استخدام المرونة المتأصلة في TIA لتحسين العروض بشكل كبير. كانت إحدى التقنيات الشائعة هي تغيير سجلات الألوان المستخدمة لرسم حالتي 1 و0 في الملعب، مما أدى إلى شاشات ذات تأثيرات تشبه قوس قزح. يمكن للألعاب اللاحقة تعديل خط منتصف الملعب لتوليد أنماط غير متماثلة، وإعادة وضع وتغيير شخصيات اللاعب في منتصف الشاشة لتوليد شخصيات إضافية.

إمكانيات الألوان في TIA

تستخدم TIA لوحات ألوان مختلفة اعتمادًا على تنسيق إشارة التلفزيون المستخدم. بالنسبة لتنسيق NTSC (رقم الجزء CO10444)، [3] يتم توفير لوحة ألوان مكونة من 128 لونًا، بينما يتوفر 104 ألوان فقط لتنسيق PAL (رقم الجزء CO11903). [3] أخيرًا، تتكون لوحة ألوان SECAM من 8 ألوان فقط.

لوحة ألوان NTSC

السطوع
لون
0 2 4 6 8 10 12 14
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

لوحة الألوان PAL

السطوع
لون
0 2 4 6 8 10 12 14
0,1,14,15
2
3
4
5
6
7
8
9
10
11
12
13

لوحة ألوان SECAM

0 2 4 6 8 10 12 14

مولد الضوضاء/النغمة (AUD0/1)

تتمتع TIA بالقدرة على توليد أنواع مختلفة من موجات النبض وإخراج الضوضاء البيضاء إلى مذبذبيها ( أو قناتيهما ) AUD0 وAUD1. يحتوي كل مذبذب على مقسم تردد مكون من 5 بتات وسجل تحكم صوتي مكون من 4 بتات يتلاعب بالشكل الموجي . يوجد أيضًا سجل تحكم في مستوى الصوت مكون من 4 بتات لكل قناة .

مقسم التردد (AUDF0/1)

يتم توليد  الترددات عن طريق أخذ 31399 هرتز (31113  هرتز لـ PAL ) وقسمتها على القيمة المكونة من 5 بتات المقدمة. [14] والنتيجة هي مقسم تردد رخيص قادر على نغمات غير مضبوطة والتردد المضبوط الفردي. لا يعد TIA شريحة موسيقية إلا إذا عمل الملحن ضمن حدود التردد أو قام بالتعديل بين ترددين غير مضبوطين لإنشاء نغمة مضبوطة اهتزازيًا .

التحكم في الصوت (AUDC0/1)

يقوم سجل التحكم الصوتي بإنشاء موجة نبضية ومعالجتها لإنشاء نبضات معقدة أو ضوضاء. يوضح الجدول التالي (مع النسخ المكررة المصممة) كيفية إنشاء نغماته:

عرافة د7 د6 د5 د4 د3 د2 د1 د0 نوع الضوضاء أو التقسيم
0   0 0 0 0 ضبط على 1 (الحجم فقط)
1 0 0 0 1 4 بت بولي
2 0 0 1 0 ÷ 15 → 4 بت متعدد
3 0 0 1 1 5 بت بولي → 4 بت بولي
4 0 1 0 0 ÷ 2
5 0 1 0 1 ÷ 2
6 0 1 1 0 ÷ 31
7 0 1 1 1 5 بت متعدد → ÷ 2
8 1 0 0 0 9 بت متعدد (ضوضاء بيضاء)
9 1 0 0 1 5 بت بولي
أ 1 0 1 0 ÷ 31
ب 1 0 1 1 تعيين آخر 4 بتات إلى 1
ج 1 1 0 0 ÷ 6
د 1 1 0 1 ÷ 6
هـ 1 1 1 0 ÷ 93
ف 1 1 1 1 5 بت بولي ÷ 6

مراجع

  1. ^ "I. Theory of Operation". دليل الخدمة الميدانية لنظام كمبيوتر فيديو أتاري - الطراز 2600/2600A المحلي (PDF) . المراجعة 02. شركة أتاري، 21 يناير 1983. ص. 1-4. مؤرشف من الأصل (PDF) في 15 فبراير 2017. تم الاسترجاع في 10 سبتمبر 2010 .
  2. ^ هاج، جيمس (10 سبتمبر 2013). "لماذا توجد وحدات تحكم مخصصة للألعاب؟". البرمجة في القرن الحادي والعشرين .
  3. ^ abc Stilphen, Scott (5 فبراير 2020). "ATARI VCS/2600 TIA CHIPS" . تم الاسترجاع في 24 فبراير 2020 .
  4. ^ abcdefghijk Decuir, Joe (يوليو 2015). "نظام كمبيوتر فيديو أتاري: جلب قصص الترفيه إلى المنزل". مجلة IEEE للإلكترونيات الاستهلاكية : 59–66. doi : 10.1109/MCE.2015.2421572 .
  5. ^ كريس كروفورد، "ANTIC وقائمة العرض"، دي ري أتاري
  6. ^ McCallum, John C. (13 فبراير 2012). "أسعار الذاكرة (1957-2012)". jcmit.net . مؤرشف من الأصل في 26 أكتوبر 2012 . تم الاسترجاع في 27 أكتوبر 2012 .
  7. ^ مونتفورت وبوغوست، ص 27
  8. ^ جولدبرج، مارتي؛ فينديل، كيرت (2012). "الفصل 5". شركة أتاري: العمل ممتع . دار نشر سيغيزي. رقم ISBN 978-0985597405.
  9. ^ ab Wright, Steve. "دليل مبرمجي ستيلا"، (بالإسبانية) 3 ديسمبر 1979. مؤرشف من الأصل في 5 مارس 2016.
  10. ^ Kohler, Chris (13 مارس 2009). "Racing the Beam: How Atari 2600's Crazy Hardware Changed Game Design". Wired . مؤرشف من الأصل في 12 يوليو 2014.
  11. ^ مونتفورت وبوغوست، ص 34
  12. ^ لمزيد من المعلومات حول PAL، راجع "مواصفات Atari 2600" المؤرشفة في 24 مايو 2011، على موقع Wayback Machine
  13. ^ روبينيت، وارن، "المغامرة"، جامعة نورث كارولينا . مؤرشف من الأصل في 27 يناير 2018.
  14. ^ "رقائق الصوت في أجهزة الكمبيوتر ذات الثماني بتات". بوابة FLOP Atari . تم الاسترجاع في 14 ديسمبر 2023 .

مصادر

  • مونتفورت، نيك؛ بوجوست، إيان (2009). سباق الشعاع: نظام كمبيوتر الفيديو أتاري. مطبعة معهد ماساتشوستس للتكنولوجيا. رقم ISBN 978-0-262-01257-7.
  • برمجة ATARI 2600 للمبتدئين
  • معلومات تقنية عن TIA
  • دليل TIA الفني
  • مخططات TIA
  • لقطات عالية الدقة من TIA
  • برمجة Atari 2600، وأنا - الجزء الأول، الجزء الأول من سلسلة مكونة من 8 أجزاء
  • تطوير Atari 2600 بواسطة Joe Decuir
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=محول_واجهة_التلفزيون&oldid=1251508902"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate