ROM फ़ाइल क्या है?

एक ROM फ़ाइल एक भौतिक गेम कार्ट्रिज या डिस्क से read-only memory चिप की एक डिजिटल प्रति है। जब आप कार्ट्रिज से डेटा डंप करते हैं, तो परिणामी बाइनरी फ़ाइल एक हेडर ले जाती है — बहुत शुरुआत में बाइट्स का एक छोटा ब्लॉक — जो गेम और उस हार्डवेयर का वर्णन करता है जिसके लिए इसे बनाया गया था। प्रत्येक कंसोल परिवार अपनी अनूठी हेडर संरचना का उपयोग करता है, इसलिए एक NES ROM बाइट स्तर पर Game Boy या Sega Genesis ROM से मौलिक रूप से अलग दिखता है।

हेडर आमतौर पर लक्ष्य क्षेत्र, मेमोरी मैपर प्रकार, ROM और RAM आकार, और एक गेम पहचानकर्ता कोड जैसी जानकारी संग्रहीत करता है। यह फ़ाइल एक्सटेंशन पर पूरी तरह से निर्भर किए बिना, केवल फ़ाइल से उत्पन्न कंसोल का पता लगाना संभव बनाता है।

टूल विवरण

कोई भी ROM फ़ाइल अपलोड करें और टूल तुरंत पहचान लेगा कि यह किस गेम कंसोल से संबंधित है। यह बाइनरी हेडर को पढ़ता है, इसे ज्ञात कंसोल सिग्नेचर के विरुद्ध मिलाता है, और कंसोल का नाम सिस्टम-विशिष्ट मेटाडेटा जैसे क्षेत्र, गेम कोड, मैपर प्रकार, ROM/RAM आकार, और क्रिप्टोग्राफिक हैश (CRC32 और SHA-1) के साथ लौटाता है। ZIP आर्काइव जिसमें एक ROM है, समर्थित हैं — टूल अंदर पाई गई पहली ROM को निकालेगा और विश्लेषण करेगा।

समर्थित कंसोल

कंसोल सिस्टम कुंजी नोट्स
NES / Famicom nes iNES 1.0 और NES 2.0 हेडर; मैपर और sub-mapper का पता लगाता है
Super Nintendo sfc LoROM / HiROM का पता लगाता है, ROM गति, co-processors (SuperFX, SA-1, DSP)
Nintendo 64 n64 हेडर पार्सिंग, क्षेत्र पहचान, byte-swap वेरिएंट (.z64, .v64)
Game Boy / Color gb MBC प्रकार, RAM आकार, GBC / SGB संगतता का पता लगाता है
Game Boy Advance gba गेम ID और सेव प्रकार (SRAM / Flash / EEPROM) निकालता है
Nintendo DS nds गेम कोड, क्षेत्र, यूनिट कोड (DSi संगत), डिवाइस क्षमता
Sega Genesis / Mega Drive genesis घरेलू और विदेशी शीर्षक, सीरियल नंबर, क्षेत्र
Sega Master System sms TMR SEGA हेडर, उत्पाद कोड, क्षेत्र
Sega Game Gear gg Master System हेडर प्रारूप पर आधारित
PC Engine / TurboGrafx-16 pce बुनियादी पहचान
WonderSwan ws ROM के अंत का हेडर, गेम ID, मॉडल
WonderSwan Color wsc ROM के अंत का हेडर, गेम ID, मॉडल

उदाहरण

NES ROM अपलोड परिणाम

Detected Console  NES / Famicom
System Key        nes
CRC32             7d2d8d2c
SHA-1             a793e28a...
NES Version       iNES 1.0
Mapper            4
PRG ROM           256 KB
CHR ROM           128 KB
Region            NTSC

SNES ROM अपलोड परिणाम

Detected Console  Super Nintendo (SNES)
System Key        sfc
CRC32             b19ed489
ROM Type          LoROM
ROM Speed         SlowROM
RAM               8 KB

विशेषताएं

  • हेडर बाइट्स से कंसोल पहचान: बाइनरी magic words और हेडर संरचनाओं को पढ़कर कंसोल की पहचान करता है, केवल फ़ाइल एक्सटेंशन पर नहीं
  • ZIP आर्काइव समर्थन: एक .zip फ़ाइल अपलोड करें जिसमें एक ROM है और टूल स्वचालित रूप से अंदर की ROM का विश्लेषण करता है
  • सिस्टम-विशिष्ट मेटाडेटा: पहचाने गए कंसोल के आधार पर मैपर प्रकार, क्षेत्र, गेम कोड, शीर्षक, सीरियल, ROM और RAM आकार प्रदर्शित करता है
  • दोहरा hash आउटपुट: CRC32 और SHA-1 को एक साथ गणना करता है, ROM सत्यापन डेटाबेस में सबसे अधिक उपयोग किए जाने वाले दो चेकसम
  • सर्वर-साइड विश्लेषण: roomie लाइब्रेरी का उपयोग करके सर्वर पर प्रोसेसिंग होती है, इसलिए फ़ाइल पार्सिंग पर कोई क्लाइंट-साइड JavaScript सीमाएं लागू नहीं होती हैं

उपयोग के मामले

  • ROM लाइब्रेरी को व्यवस्थित करना: बिना लेबल वाली या गलत नाम की ROM फ़ाइलों की तुरंत पहचान करें और उन्हें कंसोल द्वारा सॉर्ट करें बिना एमुलेटर खोले
  • ROM डंप सत्यापित करना: No-Intro, Redump, या TOSEC डेटाबेस के विरुद्ध CRC32 या SHA-1 hash को क्रॉस-रेफ़र करें यह पुष्टि करने के लिए कि ROM एक ज्ञात अच्छा डंप है
  • एमुलेटर सेटअप: एक NES या SNES ROM के सटीक मैपर और क्षेत्र की पुष्टि करें इससे पहले कि एमुलेटर को कॉन्फ़िगर करें जिसके लिए यह जानकारी मैन्युअल रूप से आवश्यक है

सीमाएं

  • पहचान फ़ाइल में एक वैध हेडर की उपस्थिति पर निर्भर करती है। Headerless या corrupted ROMs को पहचाना नहीं जा सकता है।
  • प्रति अपलोड केवल एक ROM का विश्लेषण किया जाता है। कई ROMs वाले ZIP आर्काइव के लिए, केवल पहली मेल खाने वाली फ़ाइल को प्रोसेस किया जाता है।
  • कंसोल पहचान ऊपर सूचीबद्ध सिस्टम को कवर करती है; अन्य प्लेटफॉर्म के लिए ROM प्रारूप समर्थित नहीं हैं।