بوكي

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 ] المخترعان المذكوران هما ستيفن تي. ماير ورونالد إي. ميلنر.

سمات

الإصدارات

حسب رقم القطعة:

استخدمت أتاري عدة مصنّعين مختلفين للرقاقة، إلا أن شركة AMI أنتجت معظمها بدءًا من عام 1983. صُنعت الرقاقات الأولى بتقنية 5 ميكرومتر، ثم صُغّرت لاحقًا إلى 3 ميكرومتر. وقد سُجّلت معدلات فشل عالية لرقاقات POKEY التي أنتجتها AMI مقارنةً بالعلامات التجارية الأخرى؛ ولا تزال أسباب ذلك غير واضحة، ولكن يُعتقد أنها تعود إلى عيب في تغليف الرقاقة أو أسلاك التوصيل. وقد سُجّلت بعض النجاحات المحدودة في إعادة تشغيل رقاقات POKEY المعطلة عن طريق تسخينها في فرن. كما توجد بدائل حديثة تعتمد على مصفوفات البوابات المنطقية القابلة للبرمجة (FPGA) مثل POKEYOne. [ 8 ]

مخطط توصيل الدبابيس

مخطط توصيل دبابيس POKEY (C012294)
اسم الدبوسرقم التعريف الشخصي (أرقام التعريف الشخصي)وظيفةاتجاه
A0 - A336، 35، 34، 33حافلة العنوانأنا
صوتي37مخرج الصوتيا
BCLK26ساعة ثنائية الاتجاهالإدخال/الإخراج
CS030رقائق مختارةأنا
CS131رقائق مختارةأنا
D0 - D738، 39، 40، 2، 3، 4، 5، 6ناقل البياناتالإدخال/الإخراج
IRQ29طلب مقاطعةيا
K0 - K523، 22، 21، 20، 19، 18مسح لوحة المفاتيحيا
KR1 - KR225، 16مسح لوحة المفاتيحأنا
OCLC27ساعة خرج التسلسليا
من P0 إلى P714، 15، 12، 13، 10، 11، 8، 9فحص وعاءأنا
R/ W32التحكم في القراءة/الكتابةأنا
SID24بيانات الإدخال التسلسليأنا
SOD28بيانات الإخراج التسلسلييا
V DD17طاقة 5 فولتأنا
V SS1أرضيأنا
Φ27المرحلة الثانية من الساعةأنا

السجلات

تقوم أجهزة الكمبيوتر أتاري ذات 8 بت بربط POKEY بصفحة $D2xx السداسية العشرية ، وتقوم وحدة تحكم أتاري 5200 بربطها بصفحة $E8xx السداسية العشرية .

توفر وحدة POKEY تسعة وعشرين سجلاً للقراءة والكتابة تتحكم في الصوت، ومدخلات المجداف، ومدخلات لوحة المفاتيح، ومدخلات/مخرجات المنفذ التسلسلي، والمقاطعات. العديد من عناوين سجلات POKEY لها أغراض مزدوجة، حيث تؤدي وظائف مختلفة كسجلات للقراءة والكتابة. لذلك، لا ينبغي لأي برنامج قراءة سجلات الأجهزة بهدف استرجاع القيمة المكتوبة مسبقًا.

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

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

بعض سجلات الكتابة في الأجهزة لا تحتوي على سجلات ظل مقابلة. يمكن للتطبيق الكتابة إليها بأمان دون أن تُستبدل القيمة أثناء عملية المسح الرأسي. إذا احتاج التطبيق إلى معرفة آخر قيمة كُتبت في السجل، فإنه يتحمل مسؤولية تنفيذ قيمة ظل خاصة به لتذكر ما كتبه.

اسموصفالقراءة/الكتابةعنوان سداسي عشريعنوان ديسمبرالاسم الظليعنوان الظل السداسيعنوان عقد الظل
AUDF1تردد القناة الصوتية 1يكتب200 دولار53760
POT0مقياس الجهد (المجداف) 0يقرأ200 دولار53760PADDL00270 دولارًا624
AUDC1التحكم في قناة الصوت 1يكتبD20153761
POT1مقياس الجهد (المجداف) 1يقرأD20153761PADDL10271 دولارًا625
AUDF2تردد القناة الصوتية 2يكتبD20253762
بوتاسيوم 2مقياس الجهد (المجداف) 2يقرأD20253762PADDL20272 دولارًا626
AUDC2التحكم في قناة الصوت 2يكتبD20353763
POT3مقياس الجهد (المجداف) 3يقرأD20353763PADDL30273 دولارًا627
AUDF3تردد القناة الصوتية 3يكتبD20453764
بوتاسيوم 4مقياس الجهد (المجداف) 4يقرأD20453764PADDL40274 دولارًا628
AUDC3التحكم في قناة الصوت 3يكتبD205 دولار53765
POT5مقياس الجهد (المجداف) 5يقرأD205 دولار53765PADDL50.0275 دولار629
AUDF4تردد القناة الصوتية 4يكتبD20653766
بوتاسيوم 6مقياس الجهد (المجداف) 6يقرأD20653766PADDL60276 دولارًا630
AUDC4التحكم في قناة الصوت 4يكتبD207 دولار53767
POT7مقياس الجهد (المجداف) 7يقرأD207 دولار53767PADDL70277 دولارًا631
AUDCTLالتحكم الصوتييكتبD208 دولار53768
أولبوتاقرأ 8 أسطر من ميناء ولاية بوتيقرأD208 دولار53768
محفزمؤقتات البدءيكتبD209 دولار53769
رمز KBرمز لوحة المفاتيحيقرأD209 دولار53769CH02FC دولار764
سكريستإعادة ضبط حالة التسلسل (SKSTAT)يكتبD20A53770
عشوائيمولد الأرقام العشوائيةيقرأD20A53770
بوت جوبدء تسلسل فحص POTيكتب20 مليار دولار53771
سيروتإخراج بيانات المنفذ التسلسلييكتبD20D53773
سيرينإدخال البيانات عبر المنفذ التسلسلييقرأD20D53773
IRQENتمكين طلب المقاطعةيكتبD20E53774بوكمسك10 دولارات16
IRQSTحالة IRQيقرأD20E53774
SKCTLالتحكم في المنفذ التسلسلييكتبD20F53775SSKCTL0232 دولارًا562
SKSTATحالة المنفذ التسلسلييقرأD20F53775

ينطبق ما يلي على قوائم السجلات الفردية أدناه:

قيمة البتوصف
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 000 دولاركثيرات الحدود 5 بت ثم 17 بت
0 0 120 دولارًامتعدد الأضلاع 5 بت فقط
0 1 040 دولارًامتعددات 5 بت ثم متعددات 4 بت
0 1 160 دولارًامتعدد الأضلاع 5 بت فقط
1 0 080 دولارًامتعدد الأضلاع 17 بت فقط
1 0 1A0 دولاربدون بولي (نغمة نقية)
1 1 0$C0متعدد الأضلاع 4 بت فقط
1 1 1E0 دولاربدون بولي (نغمة نقية)

يتم توليد الضوضاء العشوائية عن طريق قراءة 8 بتات من أعلى مسجل إزاحة ذي 17 بتًا. يتم تشغيل هذه المسجلات بتردد 1.79  ميجاهرتز لنظام NTSC أو 1.77  ميجاهرتز لنظام PAL. ويمكن استخدام مخرجاتها بشكل مستقل بواسطة مُقسِّم تردد كل قناة صوتية.

AUDCTL $D208 كتابة

تتيح خاصية التحكم الصوتي اختيار مدخل الساعة المستخدم لقنوات الصوت، والتحكم في ميزة مرشح الترددات العالية، ودمج قناتين معًا مما يسمح بدقة تردد 16 بت، واختيار ساعة عالية التردد لقنوات محددة، والتحكم في "عشوائية" المدخل متعدد الحدود.

البت 7البت 6البت 5البت 4البت 3الجزء 2البت 1البت 0
17 مقابل 9 بوليالفصل 1 1.79CH3 1.79CH2 + 1CH4 + 3FI1 + 3FI2 + 464 مقابل 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 000 دولارخارجيخارجيمدخل
0 0 110 دولاراتالقناتان 3+4 (غير متزامنة)خارجيمدخل
0 1 020 دولارًاالقناة الرابعةالقناة الرابعةقناة الإخراج 4
0 1 130 دولارًاالقناة 3+4 (غير متزامنة)القناة الرابعة (غير متزامنة)مدخل
1 0 040 دولارًاخارجيالقناة الرابعةمدخل
1 0 150 دولارًاالقناة 3+4 (غير متزامنة)القناة الرابعة (غير متزامنة)مدخل
1 1 060 دولارًاالقناة الرابعةالقناة الثانيةقناة الإخراج 4
1 1 170 دولارًاالقناة 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.

مراجع

  1. ↑ "أولاً : نظرية التشغيل". دليل خدمة أجهزة الكمبيوتر المنزلية من أتاري - 400/800 . شركة أتاري، ص  1-11 .
  2. هاج، جيمس (مارس 1997). "دوغ نويباور" . أيام هالسيون: مقابلات مع مبرمجي ألعاب الكمبيوتر والفيديو الكلاسيكية . دادغم غيمز . تم الاسترجاع في 15 سبتمبر 2025 .
  3. "الفصل 7: الصوت". دي ري أتاري . أتاري، إنك. 1982.
  4. مايكل كارنت، "ما هي رقائق SALLY وANTIC وCTIA/GTIA وPOKEY وFREDDIE؟" ، حواسيب أتاري 8 بت: الأسئلة الشائعة
  5. كويك، خورخي. "بوكي ديكاب" .
  6. أتاري، المحدودة (24 يناير 1979). "جهاز لإنتاج مجموعة من المؤثرات الصوتية" . براءة اختراع أمريكية . مؤرشفة من الأصل في 3 يونيو 2015. تم الاطلاع عليها في 14 يناير 2008 .
  7. "اختلافات أتاري بوكي" . 16 نوفمبر 2016.
  8. "استبدال رقائق أتاري بوكي والحل المحتمل" . 11 يناير 2020.