स्पेक्ट्रम -48 सिगरेट के एक पैकेट के खिलाफ, एक कुल्हाड़ी से दलिया या STM32F103C8T6 + वीडियो क्या कर सकता है (अपडेट)

यह सब धूम्रपान छोड़ने के एक और प्रयास के साथ शुरू हुआ। समर्थन की तलाश में अपने आंतरिक "टॉड" को जगाने के बाद, मैं उससे कहता हूं: "देखो, मेरे सिगरेट के एक पैकेट की कीमत आज एक स्क्रीन के साथ पॉकेट रेट्रो कंप्यूटर की तरह है, जो कि $ 10 के बारे में है, और एक बार सिनक्लेयर -48 के क्लोन के लिए, हमने पूरे मासिक वेतन का खर्च किया। और विधानसभा और डिबगिंग पर एक महीने से अधिक समय बिताया। " वह: "तुम लोग बकरी और झूठे हो, इसे साबित करो!" मुझे काम करना था।

तो, स्रोत सामग्री:

  1. नीली गोली: STM32F103C8T6 - 20K ram 64K फ़्लैश $ 2.06
  2. Arduino डिस्प्ले: टचस्क्रीन और $ 7.72 कार्ड स्लॉट के साथ ILI9341 2.8 ”320x240
  3. ट्वीटर $ 0.18
  4. कुछ बटन (7 टुकड़े) $ 0.2
  5. कुछ तार $ 0.1
  6. 64 मेगा (एक प्राचीन कैमरा से) के लिए फ्लैश कार्ड, गणना में शामिल नहीं है
  7. एसटी-लिंक प्रोग्रामर का उपभोग नहीं किया जाता है और इसे गणना में शामिल नहीं किया जाता है, हालांकि, इसमें कुछ डॉलर भी खर्च होते हैं
  8. सिगरेट का एक पैकेट - बहुत जल्दी और हर दिन खपत - $ 8.37



चीन में बनी अद्भुत "नीली गोली", केवल 20K (केवल 64% है, हालांकि थोड़ा स्थिर भी है) को छोड़कर, सभी के लिए अच्छा है। स्पेक्ट्रम -48 K को 48K (संयोग की जरूरत है; मुझे नहीं लगता) RAM और 16K का स्थिर। हम स्क्रीन से रैम लेंगे, क्योंकि स्पेसी का रिज़ॉल्यूशन 256x192 + बॉर्डर है, जबकि ILI9341 में 18x प्रति बिंदु के साथ 320x240 है। यही है, आप प्रतिपादन के लिए स्क्रीन के मध्य का उपयोग कर सकते हैं, और वास्तविक "स्वैप क्षेत्र" (स्वैप क्षेत्र?) के लिए और सब कुछ। इसके अलावा, प्रोसेसर एमुलेटर Z80 मेमोरी द्वारा उपयोग किए जाने वाले सबसे अधिक बार (LRU एल्गोरिथ्म) रैम STM32 में कैश किया जाता है, बाकी को धीमी (SPI) एक्सेस के साथ स्क्रीन मेमोरी ILI9341 में संग्रहीत किया जाता है।

लगभग 25 साल पहले, मैंने 80806 प्लेटफॉर्म पर Z80 एमुलेटर लिखा था, वे Z80 के साथ बहुत दूर के रिश्तेदार नहीं हैं, दोनों 8080 से आए थे, जिसने मुझे अद्भुत बोरलैंड TACM और C ++ का उपयोग करके एक बहुत तेज़ कोड प्राप्त करने की अनुमति दी, लेकिन तब इस तरह के विस्तृत अनुकरण की कोई आवश्यकता नहीं थी ( कोड को दोनों पक्षों के लिए लिखा गया था: डिक्शनरी वाला एक नोटबुक और डिबगिंग के लिए विंडोज़ 3.1 के तहत इसका एमुलेटर)।

हाथ के लिए खरोंच से लिखना बहुत आलसी था, इसलिए मैंने Google से पूछा: "मुझे बताएं कि Google, आज साफ सुथरी ज़ेड के साथ चीजें कैसी हैं?" Google ने मुझे दो हज़ार दो उपयुक्त परियोजनाएँ दीं : STM32F4 के आधार पर, गोरियन के लेखक और सबसे उन्नत और डीबग फ्यूज़-एमुलेटर । गोरियन से कोड की पहली विधानसभा में, यह निष्पादन योग्य कोड के लगभग 100K निकला, जो स्पष्ट रूप से विषय पर उपलब्ध है। मुझे एक हाथी को फ्रिज में रखने के साथ थोड़ा छेड़छाड़ करना पड़ा। उदाहरण के लिए, स्थानीय चर के लिए कॉल को वैश्विक लोगों की तुलना में अधिक कॉम्पैक्ट कोड में संकलित किया जाता है, रजिस्टरों IX और IY के सभी विस्तारित आदेश समान हैं, चर के प्रतिस्थापन के लिए सटीक, वर्ण जनरेटर तालिका को स्पेक्ट्रम वर्ण जनरेटर के लिंक के साथ बदला जा सकता है, आदि। यह प्रोसेसर को 112 मेगाहर्ट्ज ( विचार के लिए xedas के लिए धन्यवाद) को ओवरक्लॉक करने की भी आवश्यकता थी।

परिणाम: एक कार्य (मैंने एक दर्जन खेलों के बारे में कोशिश की, जबकि हर कोई काम कर रहा है) ZX स्पेक्ट्रम -48 एमुलेटर स्क्रीन के साथ सिगरेट के एक पैकेट के आकार का है (यह पहले से ही आपकी जेब में मिल रहा है, लेकिन तार चिपक जाते हैं), डंप (आइकन + मेमोरी इमेज + रजिस्टर ~ 50K) गेम के साथ पढ़ना FAT32 प्रारूप में फ्लैश कार्ड (कोड के कुछ और किलोबाइट) और ~ 50mA की कुल खपत के साथ (यानी, 2500mAh के लिए ठेठ 18650 बैटरी से लगभग 50 घंटे!), बारी-बारी का समय एक सेकंड से भी कम है और कुल लागत लगभग $ 10 से कम है।

नुकसान:

  1. अभी भी मूल से थोड़ा धीमा है।
  2. स्क्रीन रंग में, डाउनलोड किए गए प्रोग्राम का कोड दिखाता है।
  3. आपको जॉयस्टिक, या नरम बटन चाहिए। और शुल्क। और एक बॉक्स। और सीधे हाथ। और ...


अनुमानित योजनाओं में: खपत को कम करना (बोर्ड से एल ई डी को फाड़ना), स्क्रीन चमक के मॉड्यूलेशन को जोड़ना, स्क्रीन को बंद करने की घड़ी मोड, जॉयस्टिक के साथ एक सामान्य कीबोर्ड को मिलाप करना, टेप रिकॉर्डर (और क्या?), पीसी फ़ाइल प्रारूप कनवर्टर से सही ध्वनि और पढ़ने के लिए देरी समायोजित करें? डंप, उपयोगकर्ता इंटरफ़ेस होस्ट करने के लिए कुछ और कोड निचोड़ें। 2.4 इंच की स्क्रीन का उपयोग करके मंच की लागत को कम करने का प्रयास करें। यह सच है, अच्छी तरह से, बहुत छोटा है, लेकिन 5 के लिए ... यह स्पष्ट है कि यहां ब्याज विशुद्ध रूप से खेल है, हालांकि अगर आप पोते द्वारा किसी भी इलेक्ट्रॉनिक्स को बेकार हिस्सों में नष्ट करने की गति को ध्यान में रखते हैं, तो कीमत अभी भी मायने रखती है।

वास्तव में Github पर वर्तमान कार्य कोड

और प्रशंसकों के लिए अधिक तस्वीरें, आर-टाइप गेम, मुख्य स्क्रीन के किनारों के आसपास स्वैप क्षेत्र:



दूसरा पक्ष:



एटिक-एटक खेल:



पुनश्च: मैं सिगरेट के एक पैकेट की कीमत को पूरा नहीं करता था, इसलिए मेरे "टॉड" को मेरी बुरी आदतें झेलनी पड़ेंगी, लेकिन मैं पहले से ही 55 साल का हूं, इसलिए मैंने पहले ही इसका अधिकांश खर्च कर दिया ... इसे जारी रखा जाए।
वीडियो, कोई आवाज़ नहीं, क्षमा करें:

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


All Articles