استعادة PDP-11/04 آخر

ترجمة مقالة استرداد PDP-11/04 أخرى. يمكنك قراءة ثلاثية ثلاثية هنا - الجزء 1 (PDP-11/04 نفسه) ، الجزء 2 (محطة الشريط TU60) ، الجزء 3 (المحطة LA30). المائل هو تعليقاتي.

PDP-11/04 ، مرسلة بواسطة Gunnar


تلقينا هذا الجهاز من Gunnar Barbro ، ومعه جاءت مجموعة من الأشياء الجيدة المختلفة لـ PDP-11. لكن حالة الكمبيوتر نفسها كانت أبعد ما تكون عن الكمال. لم يكن هناك ما يكفي من المعالج وألواح الذاكرة ، وتم استبدال مفتاح الطاقة بإعادة صنع ، وعلاوة على ذلك ، كان كل شيء متربًا بشكل رهيب. لوحة الكترونية معززة ( لوحة الكترونية معززة ) كانت لوحة متصلة وحدة البرمجة KY11-LB، XY11 ( وحدة للتحكم في المخطط، على سبيل المثال IBM 1627 الذي تم توفيره مع آلة ديسمبر، وكان CalComp الكنسي 565 )، KW11-P ( وحدة برمجة RTC، دا نعم ، كان هناك لوحة كاملة تحت RTC! ) ، واللوحة الرئيسية RK11-D مع مجموعة من الوحدات ( وحدة تحكم لمحركات الأقراص المغناطيسية ، كانت عبارة عن مجموعة من البطاقات (3 أو 4 قطع) ، مجمعة بلوحة مشتركة ) ، و DR11-B (وحدة تحكم DMA ، والتي ، مرة أخرى ، تتكون من عدة لوحات: M7194 ، M971 ، M5916 ، M7820 ، ... ) ، أيضًا مع جميع الوحدات.



التنظيف


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

التجميع والتفتيش


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

KY11-LB


KY11-LB هو خيار مثير للاهتمام للغاية متاح لـ PDP-11/04 و PDP-11/34. لا يمكنك فقط تشغيل وحدة المعالجة المركزية وإيقاف تشغيلها ، وتصحيح الشفرة ، وعرض وتغيير الذاكرة ، وبالتالي إدخال البرامج والبيانات في الجهاز ، ولكن أيضًا استخدام وضع الخدمة ، حيث يتوفر تصحيح خطوة بخطوة للمعالج الصغير! يتم توفير هذه الميزة عن طريق توصيل زوج من الحلقات بوحدة المعالج. ولكن إذا كان المعالج مفقودًا أو متجمدًا ، فإن KY11-LB يسمح لك بالعمل مع Unibus ( ناقل توصيل وحدات في العديد من أجهزة كمبيوتر DEC) بدون مشاركة وحدة المعالجة المركزية. يتم تحقيق ذلك بسبب وجود معالج دقيق i8008 الخاص به. في الصورة أدناه قمت بتدويره باللون الأحمر. وهذه أخبار رائعة إذا كنت بحاجة إلى التحقق من تشغيل الحافلة نفسها أو إجراء اختبارات بسيطة للذاكرة وبطاقات الإدخال / الإخراج. عند طلب وجهة غير موجودة ، يضيء مصباح BUS ERR. كتب Jörg Hoppe وثيقة ممتازة حول استخدام KY11-LB.



بعد توصيل محلل المنطق ، تحققت من أن 8008 الموجودة على لوحة M7859 (KY11-LB) تعمل بشكل طبيعي وتنفذ البرنامج المسجل بشكل صحيح. لكن الرمز اعتبر أنه لا أحد يضغط على أي مفاتيح ... وتبين أن جميع إشارات CLR ( واضحة ، إشارة لمسح التسجيل ) لسجلات الإخراج كانت في حالة نشطة. وحدة تحكم ناقل unibus التي عالجت إشارة DCLO (كانت الإشارة على حافلة Unibus ، التي تبلغ أن جهد التيار المستمر منخفض جدًا ) عربات التي تجرها الدواب. كان العديد من برامج تشغيل المخزن المؤقت المفتوح ورقائق التسجيل معيبة. بمجرد استبدالها ، ظهرت وحدة التحكم في الحياة! ولكن مرة أخرى كان هناك فشل بعد بدء تشغيل المعالج واختباره بتشخيص وظائفه. ومرتين. الأول هو خطأ في M9301 ، لوحة التمهيد. كان البت الثامن على ناقل البيانات هو الأخير المتاح لسائق الحافلة. لم يستطع قراءة بيانات كافية من الحافلة. في المرة الثانية ، يتجمد المعالج ببساطة. لم يتم تعيين أي شيء على ناقل العنوان ، وأظهر فحص الرمز الصغير أن القابس حدث أثناء محاولة التقاط الناقل. بدأ تشغيل المعالج فقط بعد إخراج M7859 ( KY11-LB) اتضح أن M7859 ولّد إشارة BBSY 9 ميجاهرتز إلى ناقل Unibus ( Bus Busy ، في الحالة النشطة ، يشير إلى أن إشارات D0-D15 (كانت البيانات المطلوبة قادمة من خلالها) يستخدمها شخص ما ). لماذا؟ كسر أحد الزناد 7474 وتذبذب مثل المجنون. بعد استبداله ، نجح تشخيص المعالج والذاكرة!

M9301-YB


في PDP-11/04 ، M9301-YB هي وحدة تمهيدية وإنهاء. يخزن PROM الخاص باللوحة محاكي وحدة التحكم ورمز التمهيد للعديد من الأجهزة الشائعة. لكي يبدأ المعالج في التنفيذ مباشرة بعد البدء من منطقة التمهيد في PROM ، تولد الوحدة عنوانًا خاصًا 0173000 على الناقل ( نبضة 300 مللي ثانية باستخدام multivibrator 9602) ( غالبًا ما يتم استخدام نظام الأعداد الثماني لـ pdp ، وبالتالي لا يتم استخدام الأصفار في بداية الأرقام ، أي الإشارة إلى CC ) ، ويطلب المعالج عنوان السيرة الذاتية بعد انقطاع الطاقة ، وتعيين العنوان 024/026 على ناقل Unibus ( في العنوان الأول سجل MMIO الذي يوجد به الكمبيوتر الشخصي ، في الثانية - PSW ، كلمة حالة المعالج ، أعلام مختلفة وحالة المعالج) نتيجة لذلك ، يتم إرسال طلب بيانات إلى الناقل على العنوانين 0173024 و 0173026. بالنسبة للخلية 0173024 ، يجد M9301 مراسلات بين مجموعة قيم التبديل الصغري ( في الصورة ، في الوسط مباشرة ، و 10 قطع ) والبيانات في PROM. في الواقع ، تحدد رموز التبديل هذه العنوان الذي سيبدأ تنفيذه في المساحة 0173xxx. لقد تخلصت من أربع رقائق PROM - 23-038A9 و 23-039A9 و 23-040A9 و 23-041A9 . نظرًا لأن M9301-YB يحول بعض البتات لدعم إمكانية فصل مفاتيح اللوحة ذات الإشارات الخارجية ( في جهات اتصال الصور هي TP1 / TP2 / TP3 ، فإن قيم OR الخاصة بها هي مع قيم التبديل الجزئي على اللوحة ، على سبيل المثال ، TP1 متصل بـ S1 و S2 ) ، كتبت صغيربرنامج يجمع بين هذه الملفات الأربعة في ثنائي واحد . بعد إجراء التحليل الأولي فقط لقائمة أداة التفكيك ، لاحظت بالفعل أن الرمز يشبه إلى حد كبير PROM من M9301-YA ، باستثناء أن كتل التعليمات البرمجية متناثرة في عناوين مختلفة.



قم بتشغيل RT11SJ و XXDP V2.2



لتشغيل كل من هذه البرامج ، تحتاج إلى الإجراء المناسب في رمز أداة تحميل التشغيل. عادة ، يتم تنفيذ هذه الإجراءات في شريحة PROM منفصلة ، وتنفيذ الرمز الذي يحدث عند كتابة أحرف معينة في محاكي وحدة التحكم. ولكن يوجد على هذا الجهاز لوحة M9201-YB لا تحتوي على أداة تحميل تمهيد أساسية DU ( DEC لها أسماء مفيدة للغاية ، DU هي أداة تحميل تمهيد من الوسائط عبر MSCP (MSCP هو بروتوكول للتواصل مع محركات الأقراص ، مثل ATAPI) ). لذلك كان علي أن أضرب محمل الإقلاع يدويًا (يدعم محاكي وحدة التحكم ، وهو جزء من هذه الوحدة ، 4 وظائف - تحميل العنوان L ، وقراءة الذاكرة في العنوان E ، والكتابة إلى العنوان D ، وبدء تنفيذ S ، في الواقع ، يسمح لك هذا بإدخال الرمز يدويًا. تسلسل الأوامر من النوع L 016000 ، D XXXXXX ، D XXXXXX ، ... ، S 16002 ). لم يكن من السهل العثور على محمل إقلاع مناسب للعمل ، لكنني ما زلت صادفت واحدًا في مصدر SimH ( محاكي الأنظمة القديمة المختلفة ). باستخدام PDP11GUI ، قمت بتحميل ملف صغير إلى ذاكرة الجهاز. ويعمل (على الأقل في معظم الحالات).

تفريغ برنامج تحميل MSCP:
0016000  042125  012706  016000  012700  000000  012701  172150  012704
0016020  016162  012705  004000  010102  005022  005712  100001  000000
0016040  030512  001773  012412  006305  100370  105714  001434  012702
0016060  007000  005022  020227  007204  103774  112437  007100  110037
0016100  007110  112437  007114  112437  007121  012722  007004  010522
0016020  012722  007104  010512  024242  005711  005712  100776  005737
0016040  007016  001743  000000  005011  005003  012704  016020  005005
0016060  005007  100000  007204  000000  000001  004420  020000  001041
0016200  000000  

ابدأ في ملء الذاكرة بالرقم 016000 والتنفيذ بالرقم 016002 ( 0x4455 - الكلمة السحرية ).



بعد ذلك ، حاولت بدء صورة القرص باستخدام XXDP v2.2. ولكن ، للأسف ، لم يكن هناك نجاح. ظهر سطر أوامر XXDP ، ولكن أي أوامر عملت مع القرص ، مثل "D" ( الحصول على قائمة بالملفات على الوسائط المحملة ) ، انتهت بخطأ في وحدة التحكم "؟ RD ERR". يبدو أنه لا يمكن للبرنامج الوصول إلى القرص. لذا راجعت مجموعة التوزيع الصغيرة RT11 ( نظام تشغيل في الوقت الفعلي لـ PDP-11 ). إنشاء صورة قرص مع الإصدار 5.3 وحاول البدء. وكل شيء سار بشكل رائع! يمكنك لعب مغامرة أو برنامج على BASIC'e!

Source: https://habr.com/ru/post/ar390793/


All Articles