Mikä on ROM-tiedosto?

ROM-tiedosto on digitaalinen kopio fyysisen pelikasetista tai levystä olevan vain luku -muistin sirusta. Kun dumppaat tiedot kasetista, tuloksena oleva binaaritiedosto sisältää otsikon — pienen tavujen lohkon aivan alussa — joka kuvaa peliä ja laitteistoa, jolle se rakennettiin. Jokainen konsoliperhe käyttää omaa ainutlaatuista otsikkorakennettaan, joten NES ROM näyttää perustavanlaatuisesti erilaiselta Game Boy- tai Sega Genesis -ROM:ista tavutasolla.

Otsikko sisältää tyypillisesti tietoja, kuten kohdealue, muistin mapper-tyyppi, ROM- ja RAM-koot sekä pelin tunnistekoodin. Tämä mahdollistaa alkuperäisen konsolin tunnistamisen pelkästään tiedostosta ilman, että on riippuvainen pelkästään tiedostopäätteestä.

Työkalun kuvaus

Lataa mikä tahansa ROM-tiedosto ja työkalu tunnistaa välittömästi, mihin pelikonsoliin se kuuluu. Se lukee binaarisen otsikon, vertaa sitä tunnettuihin konsolin allekirjoituksiin ja palauttaa konsolin nimen sekä järjestelmäkohtaiset metatiedot, kuten alueen, pelin koodin, mapper-tyypin, ROM/RAM-koot ja kryptografiset tiivisteet (CRC32 ja SHA-1). ZIP-arkistot, jotka sisältävät ROM:n, ovat myös tuettuja — työkalu poimii ja analysoi ensimmäisen arkiston sisällä olevan ROM:n.

Tuetut konsolit

Konsoli Järjestelmäavain Huomautukset
NES / Famicom nes iNES 1.0 ja NES 2.0 -otsikot; tunnistaa mapper ja sub-mapper
Super Nintendo sfc Tunnistaa LoROM / HiROM, ROM-nopeuden, apuprosessorit (SuperFX, SA-1, DSP)
Nintendo 64 n64 Otsikon jäsennys, alueen tunnistus, tavun vaihtovaihtoehdot (.z64, .v64)
Game Boy / Color gb Tunnistaa MBC-tyypin, RAM-koon, GBC / SGB -yhteensopivuuden
Game Boy Advance gba Poimii pelin tunnuksen ja tallennustyypin (SRAM / Flash / EEPROM)
Nintendo DS nds Pelin koodi, alue, yksikkö koodi (DSi yhteensopiva), laitteen kapasiteetti
Sega Genesis / Mega Drive genesis Kotimainen ja ulkomainen otsikko, sarjanumero, alue
Sega Master System sms TMR SEGA -otsikko, tuotekoodi, alue
Sega Game Gear gg Perustuu Master System -otsikon muotoon
PC Engine / TurboGrafx-16 pce Perus tunnistus
WonderSwan ws ROM:n lopun otsikko, pelin tunnus, malli
WonderSwan Color wsc ROM:n lopun otsikko, pelin tunnus, malli

Esimerkit

NES ROM -latauksen tulos

Tunnistettu konsoli  NES / Famicom
Järjestelmäavain     nes
CRC32                7d2d8d2c
SHA-1                a793e28a...
NES-versio           iNES 1.0
Mapper               4
PRG ROM              256 KB
CHR ROM              128 KB
Alue                 NTSC

SNES ROM -latauksen tulos

Tunnistettu konsoli  Super Nintendo (SNES)
Järjestelmäavain     sfc
CRC32                b19ed489
ROM-tyyppi           LoROM
ROM-nopeus           SlowROM
RAM                  8 KB

Ominaisuudet

  • Konsolin tunnistus otsikon tavuista: Tunnistaa konsolin lukemalla binaarisia magic-sanoja ja otsikkorakenteita, ei vain tiedostopäätettä
  • ZIP-arkiston tuki: Lataa .zip-tiedosto, joka sisältää ROM:n, ja työkalu analysoi ROM:n arkiston sisällä automaattisesti
  • Järjestelmäkohtaiset metatiedot: Näyttää mapper-tyypin, alueen, pelin koodin, otsikon, sarjanumeron, ROM- ja RAM-koot tunnistetun konsolin mukaan
  • Kaksinkertainen tiiviste-tuloste: Laskee CRC32 ja SHA-1 samanaikaisesti, kaksi yleisimmin käytettyä tarkistussummaa ROM-varmennustietokannoissa
  • Palvelinpuolen analyysi: Käsittely tapahtuu palvelimella käyttäen roomie-kirjastoa, joten asiakaspuolen JavaScript-rajoitukset eivät koske tiedoston jäsentämistä

Käyttötapaukset

  • ROM-kirjaston järjestäminen: Tunnista nopeasti nimetöntä tai väärin nimettyä ROM-tiedostoja ja lajittele ne konsolin mukaan ilman emulaattorin avaamista
  • ROM-vedosten varmistaminen: Vertaa CRC32- tai SHA-1-tiivistettä No-Intro-, Redump- tai TOSEC-tietokantoihin vahvistaaksesi, että ROM on tunnettu hyvä vedos
  • Emulaattorin asennus: Vahvista NES- tai SNES-ROM:n tarkka mapper ja alue ennen emulaattorin määrittämistä, joka vaatii nämä tiedot manuaalisesti

Rajoitukset

  • Tunnistus perustuu kelvollisen otsikon olemassaoloon tiedostossa. Otsikottomat tai vioittuneet ROM:t eivät välttämättä tunnistetaan.
  • Vain yksi ROM analysoidaan latauskerralla. ZIP-arkistoissa, joissa on useita ROM:eja, vain ensimmäinen vastaava tiedosto käsitellään.
  • Konsolin tunnistus kattaa yllä luetellut järjestelmät; muiden alustojen ROM-muodot eivät ole tuettuja.