بدأ كل شيء بمحاولة أخرى للإقلاع عن التدخين. بعد أن استيقظت "الضفدع" الداخلي بحثًا عن الدعم ، أقول لها: "انظر ، حزمة من سيجارتي تكلف اليوم مثل جهاز كمبيوتر الجيب مع شاشة ، أي حوالي 10 دولارات ، ومرة واحدة ، من أجل استنساخ Sinclair-48K ، أنفقنا الراتب الشهري بالكامل وقضى أكثر من شهر في التجميع والتصحيح ". قالت: "يا رفاق أنتم الماعز والكذابون ، إثبات ذلك!" كان علي العمل.
لذا فإن المواد المصدر:
- الحبة الزرقاء: STM32F103C8T6 - 20 كيلو رام 64 كيلو فلاش 2.06 دولار
- شاشة Arduino: ILI9341 2.8 "320x240 مع شاشة تعمل باللمس وفتحة بطاقة 7.72 دولار
- مكبر الصوت 0.18 دولار
- عدد قليل من الأزرار (7 قطع) 0.2 دولار
- بعض الأسلاك 0.1 دولار
- بطاقة فلاش 64 ميجا (من كاميرا قديمة) غير متضمنة فى الحساب
- مبرمج ST-LINK غير مستهلك ولا يتم تضمينه في الحساب ، ومع ذلك ، فإنه يكلف أيضًا بضعة دولارات
- علبة سجائر - تستهلك بسرعة كبيرة وفي كل يوم - 8.37 دولار

إن "الحبة الزرقاء" الرائعة المصنوعة في الصين جيدة للجميع ، باستثناء حجم ذاكرة الوصول العشوائي ، 20 كيلوبايت فقط (على الرغم من وجود القليل من الثابت ، 64 كيلوبايت فقط). يحتاج Spectrum-48K إلى 48K (صدفة؟ لا أعتقد) من ذاكرة الوصول العشوائي و 16 K من الثابت. سنأخذ ذاكرة الوصول العشوائي من الشاشة ، لأن دقة spessi هي حدود 256x192 + ، بينما ILI9341 لديها 320x240 مع 18 بت لكل نقطة. أي أنه يمكنك استخدام منتصف الشاشة للعرض ، وكل شيء آخر لـ "منطقة المبادلة" الفعلية (منطقة المبادلة؟). في نفس الوقت ، يتم تخزين ذاكرة (خوارزمية LRU) الأكثر استخدامًا بواسطة محاكي معالج Z80 في ذاكرة التخزين المؤقت STM32 ، ويتم تخزين الباقي في ذاكرة شاشة ILI9341 ، مع وصول بطيء (SPI).
منذ حوالي 25 عامًا ، كتبت محاكي Z80 على منصة 80286 ، وهم ليسوا أقاربًا بعيدًا جدًا مع Z80 ، وكلاهما جاء من 8080 ، مما سمح لي بالحصول على كود سريع جدًا باستخدام Borland TACM و C ++ الرائع ، ولكن بعد ذلك لم تكن هناك حاجة لمثل هذا المحاكاة التفصيلية ( تم كتابة التعليمات البرمجية لكلا الجانبين: دفتر ملاحظات مع قاموس ومحاكيه تحت Windows 3.1 للتصحيح).
كان كسولًا جدًا في الكتابة من الصفر للذراع ، لذلك سألت Google: "أخبرني Google ، كيف تسير الأمور مع محاكاة Z80 الأنيقة اليوم؟" أعطاني Google
بضعة آلاف من المشروعين المناسبين:
استنادًا إلى STM32F4 ، مؤلف Gorien والأكثر تطوراً
وتصحيحًا من محاكي Fuse . في التجميع الأول للرمز من Gorien ، اتضح حوالي 100K من التعليمات البرمجية القابلة للتنفيذ ، والتي من الواضح أنها متاحة أكثر حول هذا الموضوع. اضطررت إلى العبث قليلاً
بدفع فيل إلى الثلاجة . على سبيل المثال ، يتم تجميع المكالمات إلى المتغيرات المحلية في رمز مضغوط أكثر من الرموز العالمية ، وجميع الأوامر الموسعة للسجلات IX و IY هي نفسها ، ودقيقة لاستبدال المتغيرات ، ويمكن استبدال جدول مولد الأحرف برابط إلى مولد الأحرف Spectrum ، إلخ. كما تطلب رفع تردد المعالج إلى 112 ميجاهرتز (
بفضل xedas للفكرة ).
النتيجة: عمل (جربت حوالي اثنتي عشرة لعبة أثناء عمل الجميع) محاكي ZX spectrum-48 مع شاشة بحجم علبة السجائر (وهي تدخل بالفعل في جيبك ، ولكن الأسلاك تخرج) ، وقراءة مقالب القراءة (أيقونة + صورة ذاكرة + تسجيلات ~ 50 ألف) من الألعاب مع تنسيق بطاقة الفلاش FAT32 (بضع كيلوبايت من الكود) وباستهلاك إجمالي ~ 50mA (أي حوالي 50 ساعة من بطارية 18650 نموذجية لـ 2500mAh!) ، فإن وقت التشغيل أقل من ثانية والتكلفة الإجمالية حوالي أقل من 10 دولارات.
العيوب:
- لا يزال أبطأ قليلاً من الأصل.
- تعرض الشاشة رمز البرنامج الذي تم تنزيله ، بالألوان.
- أنت بحاجة إلى عصا التحكم أو أزرار أكثر نعومة. والرسوم. ومربع. والأذرع المستقيمة. و ...
في الخطط التقريبية: تقليل الاستهلاك (تمزيق مصابيح LED من اللوحة) ، وإضافة تعديل سطوع الشاشة ، ووضع الساعة مع إيقاف الشاشة ، ولحام لوحة مفاتيح عادية بعصا تحكم ، وضبط التأخير للحصول على الصوت والقراءة الصحيحين من مسجل الشريط (وماذا؟) ، محول تنسيق ملف الكمبيوتر تفريغ الضغط على المزيد من التعليمات البرمجية لاستضافة واجهة المستخدم. حاول تقليل تكلفة المنصة باستخدام شاشة مقاس 2.4 بوصة. هذا صحيح ، حسنًا ، صغير جدًا ، ولكن بالنسبة لـ 5 ... من الواضح أن الاهتمام هنا هو الرياضة البحتة ، على الرغم من أنك إذا أخذت في الاعتبار سرعة تفكيك أي إلكترونيات إلى أجزاء غير قابلة للاستخدام من قبل الأحفاد ، فإن السعر لا يزال مهمًا.
في الواقع رمز العمل الحالي على جيثبوالمزيد من الصور للجماهير ، لعبة من نوع R ، منطقة المبادلة حول حواف الشاشة الرئيسية:

الجانب الآخر:

لعبة Atic-Atac:

ملحوظة: لم أستوف سعر علبة السجائر ، لذا فإن "الضفدع" سيضطر إلى تحمل عاداتي السيئة ، لكني أبلغ من العمر 55 عامًا بالفعل ، لذا فقد قضيت معظمه بالفعل ... لأستمر.
فيديو ، بدون صوت ، آسف: