طيف 48 ضد علبة سجائر ، عصيدة من فأس أو ما يمكن أن يفعله فيديو STM32F103C8T6 + (تحديث)

بدأ كل شيء بمحاولة أخرى للإقلاع عن التدخين. بعد أن استيقظت "الضفدع" الداخلي بحثًا عن الدعم ، أقول لها: "انظر ، حزمة من سيجارتي تكلف اليوم مثل جهاز كمبيوتر الجيب مع شاشة ، أي حوالي 10 دولارات ، ومرة ​​واحدة ، من أجل استنساخ Sinclair-48K ، أنفقنا الراتب الشهري بالكامل وقضى أكثر من شهر في التجميع والتصحيح ". قالت: "يا رفاق أنتم الماعز والكذابون ، إثبات ذلك!" كان علي العمل.

لذا فإن المواد المصدر:

  1. الحبة الزرقاء: STM32F103C8T6 - 20 كيلو رام 64 كيلو فلاش 2.06 دولار
  2. شاشة Arduino: ILI9341 2.8 "320x240 مع شاشة تعمل باللمس وفتحة بطاقة 7.72 دولار
  3. مكبر الصوت 0.18 دولار
  4. عدد قليل من الأزرار (7 قطع) 0.2 دولار
  5. بعض الأسلاك 0.1 دولار
  6. بطاقة فلاش 64 ميجا (من كاميرا قديمة) غير متضمنة فى الحساب
  7. مبرمج ST-LINK غير مستهلك ولا يتم تضمينه في الحساب ، ومع ذلك ، فإنه يكلف أيضًا بضعة دولارات
  8. علبة سجائر - تستهلك بسرعة كبيرة وفي كل يوم - 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 دولارات.

العيوب:

  1. لا يزال أبطأ قليلاً من الأصل.
  2. تعرض الشاشة رمز البرنامج الذي تم تنزيله ، بالألوان.
  3. أنت بحاجة إلى عصا التحكم أو أزرار أكثر نعومة. والرسوم. ومربع. والأذرع المستقيمة. و ...


في الخطط التقريبية: تقليل الاستهلاك (تمزيق مصابيح LED من اللوحة) ، وإضافة تعديل سطوع الشاشة ، ووضع الساعة مع إيقاف الشاشة ، ولحام لوحة مفاتيح عادية بعصا تحكم ، وضبط التأخير للحصول على الصوت والقراءة الصحيحين من مسجل الشريط (وماذا؟) ، محول تنسيق ملف الكمبيوتر تفريغ الضغط على المزيد من التعليمات البرمجية لاستضافة واجهة المستخدم. حاول تقليل تكلفة المنصة باستخدام شاشة مقاس 2.4 بوصة. هذا صحيح ، حسنًا ، صغير جدًا ، ولكن بالنسبة لـ 5 ... من الواضح أن الاهتمام هنا هو الرياضة البحتة ، على الرغم من أنك إذا أخذت في الاعتبار سرعة تفكيك أي إلكترونيات إلى أجزاء غير قابلة للاستخدام من قبل الأحفاد ، فإن السعر لا يزال مهمًا.

في الواقع رمز العمل الحالي على جيثب

والمزيد من الصور للجماهير ، لعبة من نوع R ، منطقة المبادلة حول حواف الشاشة الرئيسية:



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



لعبة Atic-Atac:



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

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


All Articles