*** هذا المشروع هو عمل غير مكتمل قيد التنفيذ. يحتوي حاليًا على أخطاء ولم يتم اختبار جميع الميزات!
تم تصميم الوحدات الحالية لتناسب لوحة الكترونية معززة RC2014 Pro معدلة قليلاً. سأشرح في النص أدناه الوضع الحالي للمشروع والحلول اللازمة لتشغيله وتفاصيل البناء الأساسية. نظرًا لحالة تقدم العمل في المشروع، ستكون هذه الوثيقة مقتضبة عن عمد.
يستخدم المشروع رأس/مقبس الدبوس لتوصيل الوحدات داخل الأنظمة الفرعية (النظام الفرعي لذاكرة الوصول العشوائي للفيديو والنظام الفرعي للإدخال والصوت). وهذا يتطلب رأس دبوس أطول من المعتاد.
هذه لوحة الكترونية معززة RC2014 Pro معدلة قليلاً. تستخدم وحدة CPC Modular الخطوط من D8 إلى D15 داخل النظام الفرعي لذاكرة الوصول العشوائي للفيديو ونظام IO-Sound الفرعي لحافلات البيانات المحلية. لذلك:
ستحتاج إلى قطع الخطوط من D8 إلى D15 بين هذه الأقسام.
هذه وحدة معالجة مركزية Z80 معدلة قليلاً من طراز RC2014. تعديل:
يجب استبدال المقاومات الموجودة على اللوحة بقيمة مختلفة. 2.2 كيلو أوم يجب أن تعمل بشكل جيد.
تحتوي هذه اللوحة على 512 كيلو بايت NORFLASH. يتضمن دوائر لتمكين حرق الفلاش في الموقع (لم يتم اختباره). التكوين:
يجب تثبيت وصلة العبور على دبوس التوصيل 2 من LK4 والدبوس 2 من LK5.
لتمكين حرق الفلاش، قم بتثبيت الروابط LK1 وLK2 وLK3. وإلا اترك مفتوحة.
ملاحظاتي للكتابة على Flash (مأخوذة من الملف التخطيطي) هي:
!!! توجد طريقة لتعطيل الكتابة في الذاكرة على نظام CPC القياسي. لذلك فإن أي ذاكرة تكتبها على ذاكرة ROM أثناء نشاط WRITE_EN ستكتب أيضًا على ذاكرة الوصول العشوائي (RAM).
ومع ذلك، نظرًا لأن ROM يتم تعيينه إلى أي وجميع بنوك الذاكرة، فإن هذا يضيف قدرًا معينًا من المرونة. لاحظ أيضًا أنه يتم تعطيل القراءة من ROM أثناء تمكين الكتابة. هذا يعني أنه يمكننا القراءة من ذاكرة الوصول العشوائي "أسفل" ذاكرة القراءة فقط أثناء نشاط ذاكرة القراءة فقط.
إجراء البرمجة الموصى به هو الكتابة إلى ذاكرة الوصول العشوائي (ROM) باستخدام عناوين ذاكرة الوصول العشوائي (RAM) للفيديو، ولكن يمكن كتابة ذاكرة القراءة فقط (ROM) باستخدام العناوين الموجودة في البنك 1 (&4000-&7fff) إذا كان نطاق الذاكرة هذا لا يحتوي على بيانات ذات معنى. (إذا كانت البيانات المراد كتابتها موجودة بالفعل في نطاق العناوين هذا، فيمكن للمبرمج ببساطة قراءة البيانات (RAM) ثم الكتابة (ROM) على نفس العنوان. ومع ذلك، يجب توخي الحذر مع الأوامر المرسلة إلى ROM، لأن هذه ستظل البيانات في سلة المهملات أدناه).
اقرأ بايت ذاكرة الوصول العشوائي (RAM) على العنوان المراد برمجته.
قم بتشغيل تمكين الكتابة لـ ROM
قم بكتابة البيانات المطلوبة على ROM.
قم بإيقاف تشغيل تمكين الكتابة لـ ROM
قم بكتابة البيانات الأصلية مرة أخرى إلى ROM.
يمكن لذاكرة القراءة فقط (NORFLASH) استيعاب ما يصل إلى 31 ذاكرة قراءة فقط (ROMS) بالإضافة إلى ذاكرة القراءة فقط (ROM) الخاصة بالبرامج الثابتة. عند برمجة الشريحة، يحتاج البرنامج الثابت إلى الدخول في الفتحة 31 (بدءًا من العنوان &7c000). يحتاج BASIC (في حالة تثبيته) إلى الدخول في الفتحة 0 (العنوان &00000). توجد فتحات ROM كل &4000 بايت، أي &00000، &04000، &08000، &0C000، &10000 وما إلى ذلك.
في حالة حرق ROM باستخدام برنامج XGPro:
استخدم Select IC لتحديد IC المستخدم (SST39FS040).
انقر فوق زر شريط الأدوات تحميل.
حدد الملف المراد تحميله.
تنسيق الملف: ثنائي (لملفات .ROM)
إلى المنطقة: افتراضي
وضع التحميل: عادي
من ملف بداية العنوان: 0000
عنوان بدء تشغيل المخزن المؤقت: عنوان بدء فتحة ROM (&7C000 للبرنامج الثابت، &00000 لـ BASIC)
مسح المخزن المؤقت عند تحميل الملف: سيؤدي خيار "مسح المخزن المؤقت الافتراضي" إلى استبدال أي بيانات تم تحميلها مسبقًا! استخدم هذا لأول ROM تم تحميله في XGPro (والذي سيبدأ ROM بأكمله). بالنسبة لجميع الأقراص المضغوطة الأخرى، حدد "تعطيل" (الذي سيؤدي إلى تحميل البيانات في الفتحة المحددة فقط).
انقر فوق "موافق" وتحقق من تحميل الملف (الملفات) على العنوان (العناوين) الصحيح ولم تتم الكتابة فوقه.
انقر فوق PROG (شريط الأدوات)
انقر فوق البرنامج.
تحتوي هذه اللوحة على مصفوفة البوابة ومخرج الفيديو.
في JP901، يتم تبديل إشارات DISPEN وHSYNC مقارنةً بتلك الموجودة على الرأس المكافئ على لوحة التحكم في ذاكرة الوصول العشوائي (RAM). من الأفضل تثبيت ذلك على لوحة التحكم في ذاكرة الوصول العشوائي (انظر أدناه).
دائرة إخراج الفيديو هي من CPC464 ولكن، بطريقة ما، استخدمت قيم المكونات من CPC6128 ولكن مطروحًا منها المكثفات الموجودة في '6128. ربما لا يحدث هذا فرقًا كبيرًا.
في الاختبار الذي أجريته، أستخدم نفس محول SCART إلى HDMI الذي أستخدمه عادةً مع Amstrads ولكنه يظهر هنا صورة بالأبيض والأسود، أو لا توجد صورة على الإطلاق. يبدو أن هذه مشكلة بين وحدة PSU التي يستخدمها الكابل والمحول. يمكن إصلاحه عن طريق تغذية الكابل بطاقة 5 فولت من لوحة وحدات CPC.
تشتمل اللوحة على آثار أقدام لكل من مصفوفات البوابة 40007 و40010 (ويجب أن تعمل 40008 أيضًا). تتداخل آثار الأقدام لتوفير المساحة. يجب أن تكون قادرًا على تضمين مآخذ لكليهما عن طريق فصل صفين من المسامير وإزالة الشريط بينهما، ومع ذلك، فإن آثار الأقدام قريبة جدًا من بعضها البعض بحيث لا يمكنك القيام بذلك بسهولة.
الفتحات الموجودة في مساحة مقبس DIN صغيرة جدًا.
تحتوي هذه اللوحة على الرابط بين ناقل بيانات الفيديو وناقل بيانات وحدة المعالجة المركزية، وتدلك الإشارات لجعلها مناسبة لذاكرة SRAM وتضم المكونات الاختيارية المطلوبة للذكريات الأكبر من 64 كيلو بايت (لم يتم اختبارها).
دائرة القيادة /RAMOE غير صحيحة. لإصلاحه:
قطع التتبع بين دبابيس U192 1 و 13
قطع التتبع بين U192 دبوس 11 وU193 دبوس 1
قم بتركيب سلك بين U192 pin 1 وU195 pin 9
قم بتركيب سلك بين U195 pin 8 وU193 pin 1
كما هو مذكور بالنسبة للوحة الفيديو، يتم تبديل أطراف DISPEN وHSYNC على الموصلات بين اللوحات. لإصلاح هذا:
قم بقطع التتبع بين J1 pin 2 وJ2 pin 2
قم بقطع التتبع بين J1 pin 3 و J2 pin 3
قم بتركيب سلك بين J1 pin 2 و J2 pin 3
قم بتركيب سلك بين J1 pin 3 وJ2 pin 2
لاستخدام <= 64 كيلو بايت من ذاكرة الوصول العشوائي، قم بتثبيت روابط LK5 وLK6 وLK7. إذا كان الأمر كذلك، فلا تقم بإدخال IC118 وU194
لاستخدام > 64 كيلو من ذاكرة الوصول العشوائي، اترك LK5 وLK6 وLK7 مفتوحًا وقم بتثبيت IC118 وU194. IC118 هو معيار Amstrad HAL/PAL.
الدائرة الصحيحة للقيادة/RAMOE هي:
XCPU_AD-----| |-- /XCPU_AD-- AND---/ROMOE OR--- /RAMRD----
في شكل نص: /ROMOE := XCPU_AD AND (/XCPU_AD OR /RAMRD)
يمكن الحصول على XCPU_AD من U195 pin 8.
تحتوي هذه اللوحة على 6845 CRTC ومضاعفات العناوين وذاكرة SRAM سعة 512 كيلو بايت. لا توجد مشاكل هنا، وليس هناك حاجة إلى التكوين.
يمكن تثبيت الرؤوس لـ CURSOR وLPEN إذا لزم الأمر. ربما ليسوا كذلك.
تحتوي هذه اللوحة على 8255 PIO وواجهة الشريط. يتم تثبيت وصلات اللحام ووصلات العبور لجعل عنوان الإدخال/الإخراج قابلاً للتكوين:
تم تصميم اللوحة بحيث يمكن تركيب لوحة الإدخال والإخراج "فوق/أمامها" ولكن المرحل طويل جدًا بحيث لا يسمح بذلك. وبالتالي: أنصحك بتثبيت J902 على الجزء الخلفي من اللوحة (هذا هو الموصل إلى لوحة الصوت).
في الجزء الخلفي من اللوحة، ابحث عن روابط اللحام الموجودة أعلى دبابيس العنوان مباشرة. في كل رابط تحتاج إلى لحام لوحة العنوان "العالية" (المسمى A7(كذا) إلى A15) باللوحة المركزية. يجب ألا تكون لوحات العناوين "المنخفضة" (A0..A7) متصلة باللوحات المركزية.
في الجزء الأمامي من اللوحة، ابحث عن الروابط الموجودة بين U1 وD302. تحتاج إلى توصيل الرابط "المنخفض" (إلى الدبوس الأوسط) للرابط المسمى A3، والوصلة العالية (إلى الدبوس الأوسط) للوصلات الأخرى (A2، A4، A5، A6، A7).
ابحث عن الروابط الموجودة بين C315 وJ901. قم بتكوين الإشارات التي يتم توجيهها إلى مآخذ التوصيل وأيها يتم توجيهها إلى اللوحة الإلكترونية المعززة. الإعداد الموصى به هو:
قم بتثبيت الروابط بين INT(ernal) والدبابيس الوسطى لـ TO وTI و/MO (الشريط الخارجي والشريط الداخلي والمحرك).
اترك الرابط /EXP مفتوحًا.
يسمح J901 بالوصول إلى إشارات الإدخال 8255 المختلفة. بشكل افتراضي، تحتوي جميع هذه الخطوط على عمليات سحب ويمكن تجاهلها.
RG0، RG1، RG2 هي إعدادات المنطقة.
V هرتز هو الإعداد 50 هرتز/60 هرتز لإخراج الفيديو.
/EXP هي إشارة /EXP.
PBSY هي إشارة الطابعة مشغولة. لا تشتمل وحدات تكلفة النقرة (CPC) على منفذ متوازي. يمكن استخدام هذه الإشارة للتوسع إذا رغبت في ذلك.
J1 وJ2 وJ3 هي مقابس الإدخال/الإخراج الخاصة بالشريط. يجب أن يكون J3 (المحرك) عبارة عن مقبس مقاس 2.5 مم ولكن البصمة مخصصة لمقبس مقاس 3.5 مم.
تحتوي هذه اللوحة على مولد الصوت AY-3-8910 والمخرجات المرتبطة به، بالإضافة إلى موصلات لوحة المفاتيح وعصا التحكم.
كما هو مذكور بالنسبة للوحة الإدخال والإخراج: يجب عليك تركيب الموصل الداخلي (J902) في الجزء العلوي من هذه اللوحة، وليس في الجزء الخلفي كما هو موضح في الشاشة الحريرية.
تتمتع اللوحة بالقدرة على استخدام مذبذب موجود على اللوحة لإدخال ساعة AY. في CPC Modular: احذف X1 وقم بتثبيت وصلة وصل في نهاية CLK2 لـ JP3 (الذي يقوم بتكوين اللوحة لاستخدام إشارة الساعة من مصفوفة البوابة المرسلة عبر اللوحة الإلكترونية المعززة).
تسمح وصلات العبور الموجودة أعلى J103 (مقبس مخرج الصوت) بإرسال إشارات صوتية متنوعة إلى مجموعة متنوعة من دبابيس لوحة الكترونية معززة. في معظم الحالات يمكن تركها مفتوحة. لاحظ أن بعض الإعدادات قد تتعارض مع إشارات الشريط الموجهة عبر اللوحة الإلكترونية المعززة على لوحة الإدخال/الإخراج.
إذا تم تركيب مقبس صوت، فلن يتم إرسال الإشارات اليسرى واليمنى إلى اللوحة الإلكترونية المعززة (إذا تم تكوينها للقيام بذلك - راجع العنصر السابق). ومع ذلك، سيستمر إرسال MIX الصوتي (إذا تم تكوينه على هذا النحو).
CP2 هو موصل لوحة المفاتيح. يستخدم هذا نفس pinout مثل Amstrad CPC464 الأصلي (لوحة مفاتيح PCB).
J102 هو موصل عصا التحكم. تم تركيب الموصل هنا قليلاً جدًا "داخليًا" ويمكن أن يؤدي إلى قصر PCB في المقبس التالي.
هال/بال:
الكود الأصلي: https://www.cpcwiki.eu/index.php/PAL16L8
استبدال WiP: https://github.com/Bread80/GreenHAL
استبدال WiP: https://www.cpcwiki.eu/forum/index.php?msg=231084
مصفوفة البوابة:
الاستبدال القائم على WiP FPGA: https://github.com/codedchip/AMSGateArray
صور ROM: https://www.cpcwiki.eu/index.php/ROM_List
الترخيص: CERN-OHL-P
حقوق الطبع والنشر © مايك ساتون، 2023
موقع الكتروني: https://bread80.com
وسائل التواصل الاجتماعي (المستودون): https://mstdn.social/@bread80
لا يوجد شيء مفيد خارج هنا. ولكن إذا كنت قد وصلت إلى هذا الحد، فمن المحتمل أن تستمر في المضي قدمًا على أي حال.
TX/RX=الصوت (يسار، يمين) **وصلة العبور (اختياري) USR1=ROMDIS USR2=/ROMEN USR3=VSYNC (فيديو إلى IO) USR4=
/انتظار=جاهز (إنه جاهز بالفعل!) CLOCK2=/CPU_ADDR (لوحة ذاكرة الوصول العشوائي؛ ساعة بسرعة 1 ميجاهرتز للصوت) RX2=شريط إدخال **موصول بوصلة (اختياري) TX2=شريط للخارج **موصل بوصلة (اختياري) USR5=RAMDIS منقول USR6=/ RAMRD MOVED USR7=المحرك **القافز (اختياري)
D8-D15=ناقل الفيديو
D8-D15=ناقل الإدخال والإخراج ؟؟؟إشارات التحكم؟؟؟
الموضع=الصف العلوي من الثقوب عند 45.72 مم أعلى مركز دبابيس رأس RC2014 الأساسية، الدبابيس الموجودة في أقصى اليسار = نقطة المنتصف بين A9 وA8 الدبوس 1 إلى اليمين 1 GND 2 HSYNC (بوصة) 3 DISPEN (بوصة) 4 GND 5 /RAS ( خارج) 6 /CAS (خارج) 7 /MWE (خارج) 8 /CCLK (خارج) 9 /244EN (خارج) 10 جنيه
الموضع = الصف العلوي من الثقوب عند 43.18 مم أعلى مركز دبابيس الرأس الممتدة، الدبابيس الموجودة في أقصى اليسار = النقطة الوسطى بين دبابيس D2 وD3، الدبوس 1 إلى اليسار، جميع الأسباب في الصف العلوي. 1=GND 2=HSYNC (مدخل) 3=DISPEN (مدخل) 4=/CCLK (خارج) 5=/XCPU_ADDR (خارج) 6=/RAMCS (خارج) 7=GND 8=/RAMOE (خارج) 9=GND 10 =/RAMWE (خارج) 11=RAMA14 (خارج) 12=RAMA15 (خارج) 13=RAMA16 (خارج) 14=RAMA17 (خارج) 15=GND 16=RAMA18 (خارج)
1=GND 2=BC1 3=BDIR 4=PC0 5=PC1 6=PC2 7=PC3 8=GND
دبوس أمستراد/MX4
GND الصوت Y A15 Y Y Y A14 Y Y Y A13 Y A12 Y A11 Y Y A10 Y Y A9 Y Y A8 Y Y Y A7 Y Y A6 Y A5 Y A4 Y A3 Y A2 Y A1 Y A0 Y Y
D7 Y Y Y D6 Y Y Y D5 Y Y Y D4 Y Y Y Y D3 Y Y Y D2 Y Y Y D1 Y Y Y D0 Y Y Y (CRTC) VCC MREQ Y M1 Y Y RFSH IORQ Y Y Y Y RD Y Y Y Y WR Y Y Y Y HALT INT Y NMI BUSRQ BUSAK جاهز Y Y BRST RSET Y؟ ص؟ ص؟ ص؟ ص؟ ROMEN Y ROMDIS Y RAMRD Y Y RAMDIS CURSOR Y LPEN Y EXP Y Y GND CLK4 Y Y
إضافي (ذاكرة الوصول العشوائي للفيديو): RD7..RD0 Y Y Y RAS Y Y CAS Y Y MWE Y Y 244EN Y Y XCPU_AD(?) Y Y RAMCS Y Y RAMOE Y Y RAMWE Y Y RAMA18..RAMA14 Y Y HSYNC Y Y DISPEN Y Y CCLK Y Y (24 سطرًا)
إضافي (Video-RAM وIO-Sound): CPU_ADDR(1MHz) Y Y Y VSYNC Y Y Y (خطين)
إضافي (صوت IO): PA7..PA0 Y Y MOTOR Y CASRD Y CASWR Y PRINTBUSY (Y) BC1 Y Y BDIR Y Y PC3..PC0 Y Y LEFT Y RIGHT Y (20 سطرًا)
القرص: حوالي 14 سطرًا مطلوبًا داخليًا
الفيديو/ذاكرة الوصول العشوائي: 50 + 24 + 2 = 76 سطرًا! المجموع. أقل غير مطلوب: إجمالي 69 (70 زائد واحد احتياطي!) الإدخال/الصوت: 50 + 20 + 2 = إجمالي 72 سطرًا. أقل غير مطلوب: إجمالي 50 (بما في ذلك قطع الغيار) القرص: 50 + 14 = إجمالي 64 سطرًا
ملاحظات: موصل حافة 76 دبوسًا: عرض اللوحة = 99.06 مم
اللوحات: قسم MX4: قطع غيار (وحدات) ROM لوحدة المعالجة المركزية RC2014 موصل الحافة
قسم الفيديو (صفيف البوابة): التحكم في ذاكرة الوصول العشوائي للفيديو
قسم الفيديو (RP2040): جهاز إرسال واستقبال إشارات الفيديو RAM
قسم القرص: موصلات/مخازن التحكم المؤقتة
قسم الصوت IO: مضخم/خلاط الصوت PPI AY Tape