ROM dosyası nedir?

ROM dosyası, fiziksel bir oyun kartuşu veya diskten okunan bellek çipinin dijital bir kopyasıdır. Bir kartuştan veri çıkardığınızda, ortaya çıkan ikili dosya bir başlık içerir — çok başında bulunan küçük bir bayt bloğu — bu dosya oyunu ve bunun için oluşturulduğu donanımı açıklar. Her konsol ailesi kendi benzersiz başlık yapısını kullanır, bu nedenle bir NES ROM, bayt düzeyinde Game Boy veya Sega Genesis ROM'undan temel olarak farklı görünür.

Başlık tipik olarak hedef bölge, bellek mapper türü, ROM ve RAM boyutları ve bir oyun tanımlayıcı kodu gibi bilgileri depolar. Bu, dosya uzantısına güvenmeden, yalnızca dosyadan kaynak konsolu algılamayı mümkün kılar.

Araç açıklaması

Herhangi bir ROM dosyasını yükleyin ve araç anında hangi oyun konsoluna ait olduğunu tanımlayacaktır. İkili başlığı okur, bunu bilinen konsol imzalarıyla eşleştirir ve konsol adını bölge, oyun kodu, mapper türü, ROM/RAM boyutları ve kriptografik hash'ler (CRC32 ve SHA-1) gibi sisteme özgü meta verilerle birlikte döndürür. ROM içeren ZIP arşivleri de desteklenir — araç içinde bulunan ilk ROM'u çıkaracak ve analiz edecektir.

Desteklenen konsollar

Konsol Sistem anahtarı Notlar
NES / Famicom nes iNES 1.0 ve NES 2.0 başlıkları; mapper ve alt-mapper'ı algılar
Super Nintendo sfc LoROM / HiROM, ROM hızı, yardımcı işlemcileri algılar (SuperFX, SA-1, DSP)
Nintendo 64 n64 Başlık ayrıştırması, bölge algılaması, bayt-swap varyantları (.z64, .v64)
Game Boy / Color gb MBC türünü, RAM boyutunu, GBC / SGB uyumluluğunu algılar
Game Boy Advance gba Oyun kimliğini ve kaydetme türünü çıkarır (SRAM / Flash / EEPROM)
Nintendo DS nds Oyun kodu, bölge, birim kodu (DSi uyumlu), cihaz kapasitesi
Sega Genesis / Mega Drive genesis Yerli ve yurtdışı başlık, seri numarası, bölge
Sega Master System sms TMR SEGA başlığı, ürün kodu, bölge
Sega Game Gear gg Master System başlık formatına dayalı
PC Engine / TurboGrafx-16 pce Temel tanımlama
WonderSwan ws ROM sonu başlığı, oyun kimliği, model
WonderSwan Color wsc ROM sonu başlığı, oyun kimliği, model

Örnekler

NES ROM yükleme sonucu

Algılanan Konsol  NES / Famicom
Sistem anahtarı   nes
CRC32             7d2d8d2c
SHA-1             a793e28a...
NES Sürümü        iNES 1.0
Mapper            4
PRG ROM           256 KB
CHR ROM           128 KB
Bölge             NTSC

SNES ROM yükleme sonucu

Algılanan Konsol  Super Nintendo (SNES)
Sistem anahtarı   sfc
CRC32             b19ed489
ROM Türü          LoROM
ROM Hızı          SlowROM
RAM               8 KB

Özellikler

  • Başlık baytlarından konsol algılaması: Konsolu ikili sihirli kelimeler ve başlık yapılarını okuyarak tanımlar, yalnızca dosya uzantısına güvenmez
  • ZIP arşiv desteği: ROM içeren bir .zip dosyası yükleyin ve araç içindeki ROM'u otomatik olarak analiz eder
  • Sisteme özgü meta veriler: Algılanan konsola bağlı olarak mapper türü, bölge, oyun kodu, başlık, seri, ROM ve RAM boyutlarını görüntüler
  • Çift hash çıktısı: CRC32 ve SHA-1'i aynı anda hesaplar, ROM doğrulama veritabanlarında en yaygın olarak kullanılan iki sağlama toplamı
  • Sunucu tarafı analizi: İşleme roomie kütüphanesi kullanılarak sunucuda gerçekleşir, bu nedenle dosya ayrıştırmasına istemci tarafı JavaScript sınırlamaları uygulanmaz

Kullanım durumları

  • ROM kütüphanesini düzenleme: Etiketlenmemiş veya yanlış adlandırılmış ROM dosyalarını hızlı bir şekilde tanımlayın ve bir emülatör açmaya gerek kalmadan bunları konsola göre sıralayın
  • ROM dökümlerini doğrulama: CRC32 veya SHA-1 hash'ini No-Intro, Redump veya TOSEC veritabanlarıyla karşılaştırarak bir ROM'un bilinen iyi bir döküm olduğunu doğrulayın
  • Emülatör kurulumu: Bunu manuel olarak gerektiren bir emülatörü yapılandırmadan önce bir NES veya SNES ROM'unun tam mapper'ını ve bölgesini doğrulayın

Sınırlamalar

  • Algılama, dosyada geçerli bir başlığın varlığına dayanır. Başlıksız veya bozuk ROM'lar tanınmayabilir.
  • Yükleme başına yalnızca bir ROM analiz edilir. Birden fazla ROM içeren ZIP arşivleri için yalnızca ilk eşleşen dosya işlenir.
  • Konsol Algılaması yukarıda listelenen sistemleri kapsar; diğer platformlar için ROM formatları desteklenmez.