Co to jest plik ROM?

Plik ROM to cyfrowa kopia pamięci tylko do odczytu (ROM) z fizycznego kartridża gry lub dysku. Gdy zrzucisz dane z kartridża, wynikowy plik binarny zawiera nagłówek — mały blok bajtów na samym początku — który opisuje grę i sprzęt, dla którego została stworzona. Każda rodzina konsoli używa własnej unikalnej struktury nagłówka, więc ROM NES wygląda fundamentalnie inaczej niż ROM Game Boy lub Sega Genesis na poziomie bajtów.

Nagłówek zwykle przechowuje informacje takie jak region docelowy, typ mappera pamięci, rozmiary ROM i RAM oraz kod identyfikacyjny gry. To umożliwia wykrycie konsoli pochodzenia z samego pliku, bez polegania wyłącznie na rozszerzeniu pliku.

Opis narzędzia

Prześlij dowolny plik ROM, a narzędzie natychmiast zidentyfikuje, do której konsoli gry należy. Odczytuje binarny nagłówek, dopasowuje go do znanych sygnatur konsoli i zwraca nazwę konsoli wraz z metadanymi specyficznymi dla systemu, takimi jak region, kod gry, typ mappera, rozmiary ROM/RAM oraz skróty kryptograficzne (CRC32 i SHA-1). Obsługiwane są również archiwa ZIP zawierające ROM — narzędzie wyodrębni i przeanalizuje pierwszy znaleziony ROM wewnątrz.

Obsługiwane konsole

Konsola Klucz systemu Uwagi
NES / Famicom nes Nagłówki iNES 1.0 i NES 2.0; wykrywa mapper i sub-mapper
Super Nintendo sfc Wykrywa LoROM / HiROM, szybkość ROM, koprocesory (SuperFX, SA-1, DSP)
Nintendo 64 n64 Parsowanie nagłówka, wykrywanie regionu, warianty byte-swap (.z64, .v64)
Game Boy / Color gb Wykrywa typ MBC, rozmiar RAM, kompatybilność GBC / SGB
Game Boy Advance gba Wyodrębnia ID gry i typ zapisu (SRAM / Flash / EEPROM)
Nintendo DS nds Kod gry, region, kod urządzenia (kompatybilne z DSi), pojemność urządzenia
Sega Genesis / Mega Drive genesis Tytuł krajowy i zagraniczny, numer seryjny, region
Sega Master System sms Nagłówek TMR SEGA, kod produktu, region
Sega Game Gear gg Na podstawie formatu nagłówka Master System
PC Engine / TurboGrafx-16 pce Podstawowa identyfikacja
WonderSwan ws Nagłówek na końcu ROM, ID gry, model
WonderSwan Color wsc Nagłówek na końcu ROM, ID gry, model

Przykłady

Wynik przesłania ROM NES

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

Wynik przesłania ROM SNES

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

Funkcje

  • Wykrywanie konsoli z bajtów nagłówka: Identyfikuje konsolę poprzez odczytanie binarnych słów magicznych i struktur nagłówka, nie tylko rozszerzenia pliku
  • Obsługa archiwów ZIP: Prześlij plik .zip zawierający ROM, a narzędzie automatycznie przeanalizuje ROM wewnątrz
  • Metadane specyficzne dla systemu: Wyświetla typ mappera, region, kod gry, tytuł, numer seryjny, rozmiary ROM i RAM w zależności od wykrytej konsoli
  • Podwójne wyjście skrótu: Oblicza CRC32 i SHA-1 jednocześnie, dwa najczęściej używane skróty w bazach danych weryfikacji ROM
  • Analiza po stronie serwera: Przetwarzanie odbywa się na serwerze przy użyciu biblioteki roomie, więc nie obowiązują ograniczenia JavaScript po stronie klienta dotyczące parsowania plików

Przypadki użycia

  • Organizowanie biblioteki ROM: Szybko zidentyfikuj nienazwane lub nieprawidłowo nazwane pliki ROM i posortuj je według konsoli bez konieczności otwierania emulatora
  • Weryfikacja zrzutów ROM: Porównaj skrót CRC32 lub SHA-1 z bazami danych No-Intro, Redump lub TOSEC, aby potwierdzić, że ROM jest znanym dobrym zrzutem
  • Konfiguracja emulatora: Potwierdź dokładny mapper i region ROM NES lub SNES przed skonfigurowaniem emulatora, który wymaga tych informacji ręcznie

Ograniczenia

  • Wykrywanie opiera się na obecności prawidłowego nagłówka w pliku. Pliki bez nagłówka lub uszkodzone mogą nie być rozpoznane.
  • Tylko jeden ROM jest analizowany na przesłanie. W przypadku archiwów ZIP zawierających wiele ROM, przetwarzany jest tylko pierwszy pasujący plik.
  • Wykrywanie konsoli obejmuje systemy wymienione powyżej; formaty ROM dla innych platform nie są obsługiwane.