गेम कंसोल एमुलेटर को विकसित करना इतना कठिन क्यों है?


14

मैंने हमेशा एमुलेटर को आकर्षक पाया है। मैं गंभीरता से एक पुराने गणेशन कंसोल या हैंडहेल्ड के लिए एमुलेटर बनाना चाहूंगा। यह मुझे हार्डवेयर और उस हार्डवेयर के लिए बनाए गए गेम्स की अधिक सराहना प्राप्त करने में मदद करेगा। हालांकि, लोग हमेशा कह रहे हैं कि यह कितना कठिन है और मुझे भी प्रयास नहीं करना चाहिए। मैं जानना चाहूंगा कि ऐसा क्यों है।

इसके अलावा, मैं शुरू करने के लिए एक अच्छी जगह पर कुछ सुझाव चाहूंगा और मुझे अपनी ज़रूरत की जानकारी कहाँ मिल सकती है?

जवाबों:


15

SO प्रश्न

यह एक लोकप्रिय संसाधन लगता है कि वे कैसे काम करते हैं।

टीएल; डीआर - वास्तुकला पूरी तरह से अलग है, और मूल वास्तुकला को प्राप्त करने के लिए यह समानांतर संसाधनों का एक बहुत लेता है।

गेम कंसोल के लिए सीपीयू वास्तुकला अक्सर आपके औसत डेस्कटॉप मशीन की तुलना में कुछ हद तक विदेशी है। इम्यूलेशन का अर्थ है सॉफ्टवेयर में वह सब कुछ करना जो मूल हार्डवेयर ने किया था। यही है, जबकि मूल कंसोल में एक अलग निर्देश सेट के साथ सीपीयू और साथ ही साथ चिप्स, समर्पित ग्राफिक्स, ऑडियो, आदि हो सकते हैं, एमुलेटर को इन समानांतर संसाधनों के सभी कार्यों को गति से करना होगा।

जब तक कंसोल का जीपीयू पुराना नहीं होता, तब तक इसे लगभग निश्चित रूप से मेजबान मशीन के जीपीयू पर अनुकरण किया जाना चाहिए, क्योंकि आधुनिक ग्राफिक्स कार्ड, यहां तक ​​कि सस्ते भी, कई बार सबसे महंगे मल्टीकोर सीपीयू के थ्रूपुट (ग्राफिक्स वर्कलोड के लिए) होते हैं। इस कठिनाई को हल करते हुए यह तथ्य है कि सीपीयू, जीपीयू, किसी भी अन्य जहाज पर डीएसपी और मेमोरी के बीच संचार संभवतः हार्डवेयर कॉन्फ़िगरेशन की बारीकियों का लाभ उठाने के लिए कंसोल पर अत्यधिक अनुकूलित किया गया था, और इसलिए इन संसाधनों को दर-मिलान भी किया जाना चाहिए।

इन सभी कठिनाइयों को हल करते हुए, आमतौर पर कंसोल के हार्डवेयर की बारीकियों के बारे में बहुत कम जाना जाता है, क्योंकि इसे डिजाइन द्वारा बहुत ही कम रखा जाता है। रिवर्स इंजीनियरिंग कम और कम शौक करने वालों के लिए संभव हो पा रहा है।

चीजों को परिप्रेक्ष्य में रखने के लिए, एक वास्तुशिल्प सिम्युलेटर (एक प्रोग्राम जो चल सकता है, उदाहरण के लिए, एक x86 मशीन पर एक PowerPC प्रोग्राम और इसके बारे में सभी प्रकार के आंकड़े एकत्र करें) वास्तविक समय की तुलना में 1000x और 100000x के बीच धीमा हो सकता है। एक आधुनिक सीपीयू का आरटीएल सिमुलेशन (सभी फाटकों और फ्लिप-फ्लॉप का एक चिप) जो आमतौर पर केवल 10 हर्ट्ज और कुछ सौ हर्ट्ज के बीच चल सकता है। यहां तक ​​कि बहुत ही अनुकूलित अनुकरण मूल कोड की तुलना में 10 और 100 गुना धीमा होने की संभावना है, इस प्रकार जो आज ठोस रूप से अनुकरण किया जा सकता है (विशेष रूप से एक गेम कंसोल एमुलेटर द्वारा निहित वास्तविक समय की अन्तरक्रियाशीलता)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.