بوكي
POKEY ( دائرة لوحة المفاتيح المتكاملة ) [ 1 ] هي شريحة إدخال/إخراج رقمية صممها دوغ نويباور في شركة أتاري [ 2 ] لأجهزة كمبيوتر أتاري ذات 8 بت . تم إصدارها لأول مرة مع جهازي أتاري 400 وأتاري 800 في عام 1979، وهي مُضمنة في جميع الطرازات اللاحقة وجهاز أتاري 5200 .
يجمع برنامج POKEY بين وظائف قراءة وحدات التحكم ( مقياس الجهد ) ولوحات مفاتيح الكمبيوتر ، بالإضافة إلى توليد الصوت ومصدر للأرقام شبه العشوائية . وينتج أربعة أصوات مميزة من الموجات المربعة ، إما كنغمات صافية أو معدلة بإعدادات تشويه. [ 3 ] كما طورت شركة نويباور لعبة Star Raiders، وهي لعبة شهيرة لأجهزة أتاري ذات 8 بت، والتي تستخدم ميزات POKEY.
تُستخدم رقائق POKEY للصوت في العديد من ألعاب الفيديو في صالات الألعاب خلال ثمانينيات القرن الماضي، بما في ذلك Centipede و Missile Command و Asteroids Deluxe و Gauntlet . تستخدم بعض أنظمة ألعاب أتاري إصدارات متعددة النوى تحتوي على 2 أو 4 رقائق POKEY في حزمة واحدة لتوفير قنوات صوتية أكثر. يسمح جهاز أتاري 7800 باحتواء خرطوشة اللعبة على رقاقة POKEY، مما يوفر صوتًا أفضل من شريحة الصوت المدمجة في الجهاز. تستخدم ثلاث ألعاب مرخصة هذه التقنية: وهي نسخ مُعدّلة من Ballblazer و Commando و Tiger-Heli .
تحتوي شريحة LSI على 40 طرفًا، ويُعرف اسمها بالرمز C012294. [ 4 ] وهي تضم حوالي 5000 ترانزستور. [ 5 ] منح مكتب براءات الاختراع والعلامات التجارية الأمريكي (USPTO ) شركة أتاري براءة الاختراع الأمريكية رقم 4,314,236 في 2 فبراير 1982، عن "جهاز لإنتاج مجموعة من المؤثرات الصوتية". [ 6 ] المخترعان المذكوران هما ستيفن تي. ماير ورونالد إي. ميلنر.
سمات
- صوتي
- 4 قنوات صوتية شبه مستقلة
- يمكن تهيئة القنوات على النحو التالي:
- أربع قنوات 8 بت
- قناتان 16 بت
- قناة واحدة 16 بت وقناتان 8 بت
- مستوى الصوت والتردد وشكل الموجة لكل قناة ( موجة مربعة ذات دورة تشغيل متغيرة أو ضوضاء شبه عشوائية )
- مقسم تردد 15 كيلو هرتز أو 64 كيلو هرتز .
- يمكن تشغيل قناتين بتردد ساعة وحدة المعالجة المركزية.
- مرشح تمرير عالي
- مسح لوحة المفاتيح (حتى 64 مفتاحًا) + مفتاحان معدلان (Shift، Control) + مفتاح Break
- منافذ مقياس الجهد (8 منافذ مستقلة، كل منها بدقة 8 بت)
- مؤقتات عالية الدقة (يمكن تهيئة قنوات الصوت 1 و2 و4 للتسبب في مقاطعات المؤقت عند تجاوزها الصفر)
- مولد أرقام عشوائية (يمكن قراءة 8 بتات من عداد متعدد الحدود مكون من 17 بت)
- منفذ الإدخال /الإخراج التسلسلي
- ثمانية مقاطعات IRQ
الإصدارات
حسب رقم القطعة:
- C012294 — يُستخدم في جميع أجهزة كمبيوتر أتاري ذات 8 بت ، بما في ذلك أتاري XEGS وجهاز أتاري 5200. يشير اللاحقة الموجودة على الشريحة إلى الشركة المصنعة.
- C012294B-01 — AMI
- C012294-03 — سيجنيتكس
- C012294-19 — ناشيونال سيمي داكتور
- C012294-22 — أوكي لأشباه الموصلات
- C012294-31 — مستورد
- 137430-001 — رقم القطعة الذي يستخدم أحيانًا في أجهزة ألعاب أتاري لـ POKEY.
- 137324-1221 — معالج POKEY رباعي النواة المستخدم في أجهزة ألعاب أتاري Major Havoc و I , Robot و Firefox و Return of the Jedi . [ 7 ]
استخدمت أتاري عدة مصنّعين مختلفين للرقاقة، إلا أن شركة AMI أنتجت معظمها بدءًا من عام 1983. صُنعت الرقاقات الأولى بتقنية 5 ميكرومتر، ثم صُغّرت لاحقًا إلى 3 ميكرومتر. وقد سُجّلت معدلات فشل عالية لرقاقات POKEY التي أنتجتها AMI مقارنةً بالعلامات التجارية الأخرى؛ ولا تزال أسباب ذلك غير واضحة، ولكن يُعتقد أنها تعود إلى عيب في تغليف الرقاقة أو أسلاك التوصيل. وقد سُجّلت بعض النجاحات المحدودة في إعادة تشغيل رقاقات POKEY المعطلة عن طريق تسخينها في فرن. كما توجد بدائل حديثة تعتمد على مصفوفات البوابات المنطقية القابلة للبرمجة (FPGA) مثل POKEYOne. [ 8 ]
مخطط توصيل الدبابيس

| اسم الدبوس | رقم التعريف الشخصي (أرقام التعريف الشخصي) | وظيفة | اتجاه |
|---|---|---|---|
| A0 - A3 | 36، 35، 34، 33 | حافلة العنوان | أنا |
| صوتي | 37 | مخرج الصوت | يا |
| BCLK | 26 | ساعة ثنائية الاتجاه | الإدخال/الإخراج |
| CS0 | 30 | رقائق مختارة | أنا |
| CS1 | 31 | رقائق مختارة | أنا |
| D0 - D7 | 38، 39، 40، 2، 3، 4، 5، 6 | ناقل البيانات | الإدخال/الإخراج |
| IRQ | 29 | طلب مقاطعة | يا |
| K0 - K5 | 23، 22، 21، 20، 19، 18 | مسح لوحة المفاتيح | يا |
| KR1 - KR2 | 25، 16 | مسح لوحة المفاتيح | أنا |
| OCLC | 27 | ساعة خرج التسلسل | يا |
| من P0 إلى P7 | 14، 15، 12، 13، 10، 11، 8، 9 | فحص وعاء | أنا |
| R/ W | 32 | التحكم في القراءة/الكتابة | أنا |
| SID | 24 | بيانات الإدخال التسلسلي | أنا |
| SOD | 28 | بيانات الإخراج التسلسلي | يا |
| V DD | 17 | طاقة 5 فولت | أنا |
| V SS | 1 | أرضي | أنا |
| Φ2 | 7 | المرحلة الثانية من الساعة | أنا |
السجلات
تقوم أجهزة الكمبيوتر أتاري ذات 8 بت بربط POKEY بصفحة $D2xx السداسية العشرية ، وتقوم وحدة تحكم أتاري 5200 بربطها بصفحة $E8xx السداسية العشرية .
توفر وحدة POKEY تسعة وعشرين سجلاً للقراءة والكتابة تتحكم في الصوت، ومدخلات المجداف، ومدخلات لوحة المفاتيح، ومدخلات/مخرجات المنفذ التسلسلي، والمقاطعات. العديد من عناوين سجلات POKEY لها أغراض مزدوجة، حيث تؤدي وظائف مختلفة كسجلات للقراءة والكتابة. لذلك، لا ينبغي لأي برنامج قراءة سجلات الأجهزة بهدف استرجاع القيمة المكتوبة مسبقًا.
تُحل هذه المشكلة لبعض السجلات بواسطة سجلات "ظل" نظام التشغيل المُنفذة في ذاكرة الوصول العشوائي (RAM) العادية، والتي تعكس قيم سجلات الأجهزة. أثناء عملية المسح الرأسي، ينسخ نظام التشغيل سجلات الظل في ذاكرة الوصول العشوائي (RAM) الخاصة بسجلات الكتابة إلى سجل الجهاز المقابل ، ويُحدّث قيم الظل الخاصة بسجلات القراءة من الجهاز وفقًا لذلك. وبالتالي، ستُستبدل عمليات الكتابة إلى سجلات الجهاز التي لها سجلات ظل مقابلة بقيم سجلات الظل أثناء عملية المسح الرأسي التالية.
قد تؤدي قراءة القيم مباشرةً من المكونات المادية في مرحلة غير معروفة من دورة العرض إلى نتائج غير متسقة (مثال: قراءة مقاييس الجهد). عادةً ما تكون سجلات الظل الخاصة بنظام التشغيل لسجلات القراءة هي المصدر المفضل للمعلومات.
بعض سجلات الكتابة في الأجهزة لا تحتوي على سجلات ظل مقابلة. يمكن للتطبيق الكتابة إليها بأمان دون أن تُستبدل القيمة أثناء عملية المسح الرأسي. إذا احتاج التطبيق إلى معرفة آخر قيمة كُتبت في السجل، فإنه يتحمل مسؤولية تنفيذ قيمة ظل خاصة به لتذكر ما كتبه.
| اسم | وصف | القراءة/الكتابة | عنوان سداسي عشري | عنوان ديسمبر | الاسم الظلي | عنوان الظل السداسي | عنوان عقد الظل |
|---|---|---|---|---|---|---|---|
| AUDF1 | تردد القناة الصوتية 1 | يكتب | 200 دولار | 53760 | |||
| POT0 | مقياس الجهد (المجداف) 0 | يقرأ | 200 دولار | 53760 | PADDL0 | 0270 دولارًا | 624 |
| AUDC1 | التحكم في قناة الصوت 1 | يكتب | D201 | 53761 | |||
| POT1 | مقياس الجهد (المجداف) 1 | يقرأ | D201 | 53761 | PADDL1 | 0271 دولارًا | 625 |
| AUDF2 | تردد القناة الصوتية 2 | يكتب | D202 | 53762 | |||
| بوتاسيوم 2 | مقياس الجهد (المجداف) 2 | يقرأ | D202 | 53762 | PADDL2 | 0272 دولارًا | 626 |
| AUDC2 | التحكم في قناة الصوت 2 | يكتب | D203 | 53763 | |||
| POT3 | مقياس الجهد (المجداف) 3 | يقرأ | D203 | 53763 | PADDL3 | 0273 دولارًا | 627 |
| AUDF3 | تردد القناة الصوتية 3 | يكتب | D204 | 53764 | |||
| بوتاسيوم 4 | مقياس الجهد (المجداف) 4 | يقرأ | D204 | 53764 | PADDL4 | 0274 دولارًا | 628 |
| AUDC3 | التحكم في قناة الصوت 3 | يكتب | D205 دولار | 53765 | |||
| POT5 | مقياس الجهد (المجداف) 5 | يقرأ | D205 دولار | 53765 | PADDL5 | 0.0275 دولار | 629 |
| AUDF4 | تردد القناة الصوتية 4 | يكتب | D206 | 53766 | |||
| بوتاسيوم 6 | مقياس الجهد (المجداف) 6 | يقرأ | D206 | 53766 | PADDL6 | 0276 دولارًا | 630 |
| AUDC4 | التحكم في قناة الصوت 4 | يكتب | D207 دولار | 53767 | |||
| POT7 | مقياس الجهد (المجداف) 7 | يقرأ | D207 دولار | 53767 | PADDL7 | 0277 دولارًا | 631 |
| AUDCTL | التحكم الصوتي | يكتب | D208 دولار | 53768 | |||
| أولبوت | اقرأ 8 أسطر من ميناء ولاية بوت | يقرأ | D208 دولار | 53768 | |||
| محفز | مؤقتات البدء | يكتب | D209 دولار | 53769 | |||
| رمز KB | رمز لوحة المفاتيح | يقرأ | D209 دولار | 53769 | CH | 02FC دولار | 764 |
| سكريست | إعادة ضبط حالة التسلسل (SKSTAT) | يكتب | D20A | 53770 | |||
| عشوائي | مولد الأرقام العشوائية | يقرأ | D20A | 53770 | |||
| بوت جو | بدء تسلسل فحص POT | يكتب | 20 مليار دولار | 53771 | |||
| سيروت | إخراج بيانات المنفذ التسلسلي | يكتب | D20D | 53773 | |||
| سيرين | إدخال البيانات عبر المنفذ التسلسلي | يقرأ | D20D | 53773 | |||
| IRQEN | تمكين طلب المقاطعة | يكتب | D20E | 53774 | بوكمسك | 10 دولارات | 16 |
| IRQST | حالة IRQ | يقرأ | D20E | 53774 | |||
| SKCTL | التحكم في المنفذ التسلسلي | يكتب | D20F | 53775 | SSKCTL | 0232 دولارًا | 562 |
| SKSTAT | حالة المنفذ التسلسلي | يقرأ | D20F | 53775 |
ينطبق ما يلي على قوائم السجلات الفردية أدناه:
| قيمة البت | وصف |
|---|---|
| 0 | يجب أن تكون قيمة البت 0 |
| 1 | يجب أن تكون قيمة البت 1 |
| ؟ | قد تكون قيمة البت إما 0 أو 1، ويتم استخدامها لغرض معين. |
| - | البت غير مستخدم، أو لا ينبغي توقع أن تكون له قيمة معينة |
| ملصق | راجع شرحاً لاحقاً لمعرفة الغرض من هذا الجزء. |
صوتي
يحتوي جهاز Pokey على مولد صوت قابل للبرمجة ؛ أربع قنوات صوتية مع عناصر تحكم منفصلة في التردد والضوضاء ومستوى الصوت.
تحتوي كل قناة على مقسم تردد 8 بت ومسجل 8 بت لاختيار الضوضاء ومستوى الصوت.
- AUDF1 إلى AUDF4 – مسجل التردد (تردد الصوت)
- AUDC1 إلى AUDC4 – مسجل مستوى الصوت والضوضاء (التحكم الصوتي)
- AUDCTL – سجل عام، يتحكم في المولدات (AUDio ConTroL)
يتميز صوت جهاز POKEY بفرادته: فعند استخدام القنوات الأربع بشكل منفصل، يظهر انحراف ملحوظ في نغمات أجزاء من سلم التوزيع المتساوي ذي الاثنتي عشرة نغمة ، نتيجةً لنقص دقة النغمات. ويمكن دمج القنوات معًا لزيادة الدقة؛ بالإضافة إلى ذلك، تتوفر أشكال متعددة من التشويش ، مما يسمح بصوت أكثر عمقًا. ويُستخدم التشويش بشكل أساسي في الموسيقى لأجزاء الباس.
تردد قناة الصوت
تتحكم سجلات AUDF* في تردد أو درجة صوت قنوات الصوت المقابلة. كما تتحكم قيم AUDF* في مؤقتات POKEY المادية المفيدة للبرامج التي يجب أن تعمل على فترات زمنية دقيقة أكثر تكرارًا من الفاصل الرأسي.
كل سجل AUDF* عبارة عن قيمة 8 بت تُستخدم كمؤقت تنازلي أو مُقسِّم لنبضات ساعة POKEY. لذا، تسمح القيم الأصغر بإخراج نبضات أكثر تكرارًا من POKEY، بينما تسمح القيم الأكبر بإخراجها بتكرار أقل. يتم زيادة القيم من $0 سداسي عشري / 0 عشري إلى $FF سداسي عشري / 255 عشري بواسطة POKEY لتتراوح من $1 سداسي عشري / 1 عشري إلى $100 سداسي عشري / 256 عشري . يعتمد تردد الصوت المسموع على تردد ساعة POKEY وقيم التشوه المُختارة. انظر قسمي " التحكم في قناة الصوت" و "التحكم في الصوت" .
AUDF1 $D200 كتابة
تردد القناة الصوتية 1
AUDF2 $D202 كتابة
تردد القناة الصوتية 2
AUDF3 $D204 كتابة
تردد القناة الصوتية 3
AUDF4 $D206 كتابة
تردد القناة الصوتية 4
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ |
التحكم في قناة الصوت
تتيح سجلات التحكم في قنوات الصوت التحكم في مستوى الصوت والتشويه لكل قناة صوتية على حدة. كما يمكن توليد الصوت بشكل مستقل عن ساعة POKEY من خلال التحكم المباشر في مستوى صوت القناة، وهو أمر مفيد لتشغيل العينات الرقمية.
AUDC1 $D201 كتابة
التحكم في قناة الصوت 1
AUDC2 $D203 كتابة
التحكم في قناة الصوت 2
AUDC3 $D205 كتابة
التحكم في قناة الصوت 3
AUDC4 $D207 كتابة
التحكم في قناة الصوت 4
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| الضوضاء 2 | الضوضاء 1 | الضوضاء 0 | حجم القوة | المجلد 3 | المجلد الثاني | المجلد 1 | المجلد 0 |
البتات من 0 إلى 3: التحكم في مستوى الصوت، من 0 إلى F.
البت 4: إخراج الصوت فقط. عند ضبط هذا البت، تتجاهل القناة مؤقت AUDF، وعناصر التحكم في الضوضاء/التشويه، ومرشح الترددات العالية. يتم إنتاج الصوت فقط عن طريق ضبط بتات مستوى الصوت من 0 إلى 3. استُخدمت هذه الخاصية لإنشاء صوت رقمي عبر تعديل رمز النبض .
البتات من 5 إلى 7: إعدادات مسجل الإزاحة للضوضاء/التشويه. قيم البتات موضحة أدناه:
| قيمة الضوضاء | قيمة البتات | وصف |
|---|---|---|
| 0 0 0 | 00 دولار | كثيرات الحدود 5 بت ثم 17 بت |
| 0 0 1 | 20 دولارًا | متعدد الأضلاع 5 بت فقط |
| 0 1 0 | 40 دولارًا | متعددات 5 بت ثم متعددات 4 بت |
| 0 1 1 | 60 دولارًا | متعدد الأضلاع 5 بت فقط |
| 1 0 0 | 80 دولارًا | متعدد الأضلاع 17 بت فقط |
| 1 0 1 | A0 دولار | بدون بولي (نغمة نقية) |
| 1 1 0 | $C0 | متعدد الأضلاع 4 بت فقط |
| 1 1 1 | E0 دولار | بدون بولي (نغمة نقية) |
يتم توليد الضوضاء العشوائية عن طريق قراءة 8 بتات من أعلى مسجل إزاحة ذي 17 بتًا. يتم تشغيل هذه المسجلات بتردد 1.79 ميجاهرتز لنظام NTSC أو 1.77 ميجاهرتز لنظام PAL. ويمكن استخدام مخرجاتها بشكل مستقل بواسطة مُقسِّم تردد كل قناة صوتية.
AUDCTL $D208 كتابة
تتيح خاصية التحكم الصوتي اختيار مدخل الساعة المستخدم لقنوات الصوت، والتحكم في ميزة مرشح الترددات العالية، ودمج قناتين معًا مما يسمح بدقة تردد 16 بت، واختيار ساعة عالية التردد لقنوات محددة، والتحكم في "عشوائية" المدخل متعدد الحدود.
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| 17 مقابل 9 بولي | الفصل 1 1.79 | CH3 1.79 | CH2 + 1 | CH4 + 3 | FI1 + 3 | FI2 + 4 | 64 مقابل 15 كيلوهرتز |
"1" تعني "تشغيل"، إذا لم يتم تحديد ذلك:
- البت 0
- $01: (15 كيلوهرتز)، اختيار معدل مقسم التردد "0" - 64 كيلوهرتز، "1" - 15 كيلوهرتز
- البت 1
- $02: ( FI2 + 4 )، مرشح تمرير عالي للقناة 2 مصنف حسب تردد القناة 4
- الجزء 2
- $04: ( FI1 + 3 )، مرشح تمرير عالي للقناة 1 مصنف حسب تردد القناة 3
- البت 3
- $08: ( CH4 + 3 )، توصيل القواسم 4+3 للحصول على دقة 16 بت
- البت 4
- 10 دولارات: ( CH2 + 1 )، توصيل القواسم 2+1 للحصول على دقة 16 بت
- البت 5
- 20 دولارًا: ( القناة 3، 1.79 )، اضبط تردد القناة 3 على 64 كيلوهرتز. التردد "0" هو 64 كيلوهرتز. التردد "1" هو 1.79 ميجاهرتز NTSC أو 1.77 ميجاهرتز PAL
- البت 6
- 40 دولارًا: ( القناة 1، 1.79 )، اضبط تردد القناة 1 على 64 كيلوهرتز (التردد "0"). التردد "1" هو 1.79 ميجاهرتز لنظام NTSC أو 1.77 ميجاهرتز لنظام PAL.
- البت 7
- 80 دولارًا: (POLY 9)، مسجل إزاحة تبديل "0" - 17 بت، "1" - 9 بت
يمكن تشغيل جميع مقسمات التردد (AUDF) في نفس الوقت بمعدل 64 كيلو هرتز أو 15 كيلو هرتز.
يمكن تشغيل مُقسّمي التردد 1 و3 بالتناوب بواسطة تردد ساعة المعالج (1.79 ميجاهرتز NTSC، 1.77 ميجاهرتز PAL). كما يمكن تشغيل مُقسّمي التردد 2 و4 بالتناوب بواسطة خرج مُقسّمي التردد 1 و3. وبهذه الطريقة، يُتيح برنامج POKEY إمكانية توصيل قنوات 8 بت لإنتاج صوت بدقة 16 بت.
تكوينات القنوات الممكنة:
- أربع قنوات 8 بت
- قناتان 8 بت وقناة واحدة 16 بت
- قناتان 16 بت
مقاييس الجهد
يحتوي جهاز POKEY على ثمانية منافذ لتحويل الإشارات التناظرية إلى رقمية، تُستخدم عادةً مع مقاييس الجهد، والمعروفة أيضًا باسم وحدات التحكم اللوحية. تُستخدم المدخلات التناظرية أيضًا مع وحدة تحكم الجهاز اللوحي اللمسي، ووحدات تحكم لوحة مفاتيح ألعاب الفيديو ذات الـ 12 زرًا. يحتوي كل مدخل على ترانزستور إسقاط، يمكن تشغيله أو إيقافه عبر البرنامج. يمكن أيضًا استخدام المؤقتات لدعم قلم ضوئي ، وذلك بتوصيل ثنائي ضوئي بترانزستور الإسقاط، الذي يلتقط إشارة المؤقت عند مرور شعاع الإلكترون في التلفزيون بجانب القلم. كان يجب قراءة الوضع الرأسي للقلم بشكل منفصل.
POT0 $D200 اقرأ
الظل: PADDL0 $0270
مدخل وحدة التحكم بالمجداف 0
POT1 $D201 اقرأ
الظل: PADDL1 $0271
مدخل وحدة التحكم بالمجداف 1
POT2 $D202 اقرأ
الظل: PADDL2 $0272
مدخل وحدة التحكم بالمجداف 2
POT3 $D203 اقرأ
الظل: PADDL3 $0273
مدخل وحدة التحكم بالمجداف 3
POT4 $D204 اقرأ
الظل: PADDL4 $02704
وحدة تحكم المجداف 4 مدخل
POT5 $D205 اقرأ
الظل: PADDL5 $0275
وحدة تحكم المجداف 5 مدخلات
POT6 $D206 اقرأ
الظل: PADDL6 $0276
وحدة تحكم بمجداف 6 مداخل
POT7 $D207 اقرأ
الظل: PADDL7 $0277
وحدة تحكم المجداف 7 مدخل
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ |
يحتوي كل مدخل على مؤقت 8 بت، يحسب الوقت الذي يُعرض فيه كل سطر تلفزيوني. وقد أتاح ذلك ميزة إضافية تتمثل في إمكانية إدخال القيمة المقروءة مباشرةً إلى إحداثيات الشاشة للأجسام التي يتم التحكم بها بواسطة المجاديف. تتراوح قيم مجاديف أتاري من 0 إلى 228، مع العلم أن القيمة القصوى الممكنة هي 244. يقرأ متحكم المجاديف القيمة 0 عند تدويره إلى أقصى وضع له باتجاه عقارب الساعة، ويعيد قيمًا متزايدة عند تدويره عكس اتجاه عقارب الساعة حتى يصل إلى قيمته القصوى.
تبدأ عملية قراءة المِجْدِف بالكتابة إلى POTGO، مما يُعيد ضبط قيم POT* إلى الصفر، وقيمة ALLPOT إلى $FF، ويُفرِّغ مكثفات قراءة مقياس الجهد. تزداد قيم POT* أثناء مسحها حتى تصل إلى قيمة مقاومة مقياس الجهد. عند اكتمال قراءة المِجْدِف ، تُعاد ضبط البت المقابل في ALLPOT إلى الصفر.
قد تستغرق عملية مسح لوحة التحكم معظم إطار الفيديو لإتمامها. يتولى نظام تشغيل أتاري قراءة بيانات لوحة التحكم تلقائيًا. تُقرأ بيانات لوحة التحكم ويبدأ مسحها خلال المرحلة الثانية من الفراغ الرأسي. تُنسخ قيم لوحة التحكم إلى سجلات الظل. (لاحظ أن إشارات لوحة التحكم هي في الواقع مدخلات اتجاه عصا التحكم المقروءة من وحدة التحكم المنطقية القابلة للبرمجة).
يمكن تسريع عملية مسح المجاديف عن طريق ضبط بت في SKCTL . يكتمل تسلسل القراءة في سطرين مسح فقط، لكن القيمة تكون أقل دقة.
ALLPOT $D208 اقرأ
حالة مسح مقياس الجهد
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| المجداف 7 | المجداف 6 | المجداف 5 | المجداف 4 | المجداف 3 | المجداف 2 | المجداف 1 | المجداف 0 |
يمثل كل بت مدخلًا واحدًا لمقياس الجهد (سجلات POT*). عند بدء مسح المجداف بالكتابة إلى POTGO ، يتم ضبط بت كل مجداف في ALLPOT على 1. عند اكتمال مسح المجداف، تتم إعادة ضبط البت المقابل في ALLPOT إلى 0، مما يشير إلى أن القيمة في سجل POT* المرتبط بها صالحة للقراءة الآن.
POTGO $D20B اكتب
بدء مسح مقياس الجهد
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - |
تبدأ عملية الكتابة إلى POTGO عملية مسح مقياس الجهد (Paddle). يؤدي ذلك إلى إعادة ضبط قيم POT* إلى الصفر، وقيمة ALLPOT إلى $FF، وتفريغ مكثفات قراءة مقياس الجهد. مع اكتمال كل عملية مسح لمقياس الجهد، يتم مسح البت المقابل لمقياس الجهد في ALLPOT، مما يشير إلى أن قيمة سجل POT* المرتبط به صالحة للقراءة.
منفذ إدخال/إخراج تسلسلي
يتضمن:
- خط إدخال تسلسلي
- خط الإخراج التسلسلي
- خط إخراج ساعة التسلسل
- خط بيانات الساعة التسلسلي ثنائي الاتجاه
- يسجل SKREST، SEROUT، SERIN، SKCTL، SKSTAT
POKEY هو نوع من أنواع UART . عادةً ما تُستخدم إحدى قنوات الصوت المزدوجة كمولد لمعدل الباود. معدل الباود القياسي هو 19.2 كيلوبت/ثانية، بينما الحد الأقصى الممكن هو 127 كيلوبت/ثانية. يتم إرسال البايت المُدخل في سجل SEROUT تلقائيًا عبر ناقل البيانات التسلسلي. يحتوي إطار البيانات على 10 بتات: بت بدء واحد، و8 بتات للبيانات، وبت توقف واحد. مستويات الجهد هي 0 فولت (منطقي 0) و+4 فولت (منطقي 1). من الممكن توصيل منفذ Atari التسلسلي بمنفذ RS-232 باستخدام محول جهد بسيط .
تتسبب كل عملية إدخال/إخراج في تغيير قيمة سجلات الإزاحة الداخلية لـ POKEY، لذلك عند البرمجة لـ POKEY، من الضروري إعادة تهيئة بعض القيم بعد تنفيذ كل عملية.
SKREST $D20A اكتب
إعادة ضبط حالة المنفذ التسلسلي (SKSTAT).
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - |
ستؤدي الكتابة إلى هذا السجل إلى إعادة ضبط البتات من 5 إلى 7 من SKSTAT وهي عبارة عن مزاليج إلى 1. تشير المزاليج إلى تجاوز لوحة المفاتيح، وتجاوز إدخال البيانات التسلسلية، وخطأ إطار إدخال البيانات التسلسلية.
سيروت $D20D اكتب
بايت إخراج بيانات المنفذ التسلسلي.
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - |
هذا سجل "احتفاظ" متوازٍ لقيمة ثمانية بتات (بايت واحد) تُنقل إلى سجل الإزاحة التسلسلي للإخراج بتًا واحدًا في كل مرة. عندما يكون المنفذ جاهزًا لاستقبال البيانات للإخراج، يُعلم مقاطعة إخراج البيانات التسلسلية نظام التشغيل بإمكانية كتابة بايت إلى سجل الإخراج هذا.
سيرين $D20D اقرأ
بايت إدخال بيانات المنفذ التسلسلي.
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - |
على غرار سجل SEROUT، يوجد أيضًا سجل "حفظ" متوازٍ. يحفظ هذا السجل قيمة ثمانية بتات (بايت واحد) مُجمّعة بواسطة سجل الإزاحة التسلسلي الذي يقرأ بيانات الإدخال بتًا بتًا. عند قراءة بايت كامل، يحدث مقاطعة إدخال البيانات التسلسلية لإعلام نظام التشغيل بإمكانية قراءة البايت من هذا السجل.
SKCTL $D20F كتابة
التحكم في المنفذ التسلسلي
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| انقطاع متسلسل | الوضع التسلسلي 2 | الوضع التسلسلي 1 | الوضع التسلسلي 0 | تسلسلي ثنائي النغمة | فحص سريع للقدرة | تفعيل فحص قاعدة المعرفة | ارتداد KB |
البت 0: تفعيل خاصية "إزالة الارتداد" التي تهدف إلى التخلص من التشويش أو الارتجاج الناتج عن المفاتيح الميكانيكية. القيمة 1 تُمكّن برنامج POKEY من استخدام سجل مقارنة داخلي أثناء مسح المفاتيح. يجب اكتشاف المفتاح في مسحين متزامنين قبل اعتباره مضغوطًا، ويجب أن يُرى مُحررًا في مسحين متتاليين ليُعتبر مُحررًا. يُنصح بتفعيل هذه الخاصية للحفاظ على التعامل الطبيعي مع لوحة المفاتيح مع نظام التشغيل.
البت 1: اضبطه على 1 لتمكين مسح لوحة المفاتيح. يجب تفعيل هذا الخيار للحفاظ على التعامل الطبيعي مع لوحة المفاتيح مع نظام التشغيل.
البت 2: اضبطه على 1 لتمكين المسح السريع لمقياس الجهد، وإن كان أقل دقة. يزيد المسح السريع لمقياس الجهد العداد في كل دورة ويعيد نتيجة قابلة للاستخدام في غضون سطرين من المسح.يستخدم نظام التشغيل تقنية المسح البطيء للمقاومة المتغيرة، حيث يزيد العداد مرة واحدة كل 114 دورة (خط المسح)، ويستغرق إطارًا واحدًا (1/60 من الثانية) لإنتاج النتيجة. يقرأ نظام التشغيل قيم المقاومة المتغيرة أثناء مقاطعة الفراغ الرأسي (VBI) وينسخ النتيجة إلى سجلات الظل الخاصة بالمقاومة المتغيرة في ذاكرة الوصول العشوائي (RAM). ثم يعيد ضبط POTGO للقراءة التالية أثناء مقاطعة الفراغ الرأسي التالية.
البت 3: تفعيل وضع النغمتين لمنفذ التسلسل. عند التفعيل، يتم استبدال البتات 1 و0 الخارجة إلى ناقل SIO بنغمات يتم ضبطها بواسطة المؤقتين 1 و2. يُستخدم هذا عادةً لكتابة نغمات تناظرية تمثل بيانات رقمية على شريط كاسيت.
البتات من 4 إلى 6: التحكم في توقيت الساعة لتشغيل المنفذ التسلسلي. قيم البتات موضحة أدناه:
| التحكم في المنفذ [6:4] | قيمة البتات | ساعة الإدخال | ساعة الإخراج | ساعة ثنائية الاتجاه |
|---|---|---|---|---|
| 0 0 0 | 00 دولار | خارجي | خارجي | مدخل |
| 0 0 1 | 10 دولارات | القناتان 3+4 (غير متزامنة) | خارجي | مدخل |
| 0 1 0 | 20 دولارًا | القناة الرابعة | القناة الرابعة | قناة الإخراج 4 |
| 0 1 1 | 30 دولارًا | القناة 3+4 (غير متزامنة) | القناة الرابعة (غير متزامنة) | مدخل |
| 1 0 0 | 40 دولارًا | خارجي | القناة الرابعة | مدخل |
| 1 0 1 | 50 دولارًا | القناة 3+4 (غير متزامنة) | القناة الرابعة (غير متزامنة) | مدخل |
| 1 1 0 | 60 دولارًا | القناة الرابعة | القناة الثانية | قناة الإخراج 4 |
| 1 1 1 | 70 دولارًا | القناة 3+4 (غير متزامنة) | القناة الثانية | مدخل |
البت 7: يفرض إخراجًا معروفًا بقيمة 0، بحيث يمكن للمؤقت 2 إعادة ضبط المؤقت 1 في وضع الإخراج التسلسلي ثنائي النغمة.
SKSTAT $D20F اقرأ
حالة المنفذ التسلسلي
| البت 7 | البت 6 | البت 5 | البت 4 | البت 3 | الجزء 2 | البت 1 | البت 0 |
|---|---|---|---|---|---|---|---|
| خطأ في الإطار التسلسلي | المسلسل في حالة تجاوز | تجاوز سعة لوحة المفاتيح | بيانات القراءة جاهزة | مفتاح Shift | المفتاح الأخير لا يزال مضغوطًا | المدخل التسلسلي مشغول | - |
KBCODE $D209 اقرأ
الظل: CH $02FC
رمز لوحة المفاتيح
ثمانية مقاطعات IRQ
- استراحة
- اضغط على زر الإيقاف (مفتاح الإيقاف)
- ك
- لوحة المفاتيح (مقاطعة لوحة المفاتيح)
- سيد
- إذا كان الإدخال التسلسلي جاهزًا (قراءة المقاطعة من خط الإدخال التسلسلي)
- شبكة الإنترنت
- في حالة الحاجة إلى بيانات الإخراج (كتابة مقاطعة من خط التسلسل)
- XD
- إذا تم إرسال البيانات (مقاطعة نهاية الإرسال التسلسلي)
- T1
- المؤقت 1، مقاطعة المؤقت 1
- T2
- المؤقت 2، مقاطعة المؤقت 2
- T4
- المؤقت 4، مقاطعة المؤقت 4
يمكن تفعيل أو تعطيل المقاطعات من خلال البرنامج باستخدام سجل IRQEN. يحتوي سجل IRQSTAT على حالة المقاطعات.
لوحة المفاتيح
سجل المفاتيح الستة (K0 K5) يحتوي على قيم تتراوح من 00 إلى 3F. ويحتوي على قيمتي تحكم. إحداهما تعمل كمفكك لجميع القيم الست. أما قيمة التحكم الثانية فتُستخدم لفك تشفير قيم المفاتيح الخاصة - CTRL وSHIFT وBREAK.
مراجع
- ↑ "أولاً : نظرية التشغيل". دليل خدمة أجهزة الكمبيوتر المنزلية من أتاري - 400/800 . شركة أتاري، ص 1-11 .
- ↑ هاج، جيمس (مارس 1997). "دوغ نويباور" . أيام هالسيون: مقابلات مع مبرمجي ألعاب الكمبيوتر والفيديو الكلاسيكية . دادغم غيمز . تم الاسترجاع في 15 سبتمبر 2025 .
- ↑ "الفصل 7: الصوت". دي ري أتاري . أتاري، إنك. 1982.
- ↑ مايكل كارنت، "ما هي رقائق SALLY وANTIC وCTIA/GTIA وPOKEY وFREDDIE؟" ، حواسيب أتاري 8 بت: الأسئلة الشائعة
- ↑ كويك، خورخي. "بوكي ديكاب" .
- ↑ أتاري، المحدودة (24 يناير 1979). "جهاز لإنتاج مجموعة من المؤثرات الصوتية" . براءة اختراع أمريكية . مؤرشفة من الأصل في 3 يونيو 2015. تم الاطلاع عليها في 14 يناير 2008 .
- ↑ "اختلافات أتاري بوكي" . 16 نوفمبر 2016.
- ↑ "استبدال رقائق أتاري بوكي والحل المحتمل" . 11 يناير 2020.
روابط خارجية
- ASMA — أرشيف موسيقى أتاري SAP مجموعة من مشغلات موسيقى رقائق POKEY (SAP) وموسيقى SAP من ألعاب أتاري 8 بت المختلفة.
- تم مسح ورقة بيانات شريحة POKEY ضوئيًا وتحويلها إلى ملف PDF .
- بوكي مصنوع من رقائق منطقية صغيرة الحجم
- فيديو لجهاز أتاري 8 بت (باستخدام POKEY) يحاكي شريحة Commodore SID.
- أجهزة كمبيوتر أتاري ذات 8 بت
- مقدمات متعلقة بالحاسوب في عام 1979
- رقائق الصوت
- دوائر متكاملة للإدخال/الإخراج
- الدوائر المتكاملة
