Hva er ROM-filformatet?
.rom-filer er bildefiler av spill som brukes av emulatorer for å kjøre konsoll- og dataspill. En .rom-fil er en byte-for-byte-kopi av en spillkassett eller ROM-brikke - begrepet «ROM» står for Read-Only Memory, og refererer til den originale skrivebeskyttede maskinvaren dataene ble kopiert fra.
I motsetning til dedikerte formater som .n64 eller .smc, er filendelsen .rom en generisk betegnelse uten fast intern struktur eller «magic bytes». Det interne oppsettet avhenger helt av hvilken konsoll eller datamaskin kopien kom fra - et N64-spill, en MSX-tittel, en ColecoVision-kassett og et Game Boy-spill produserer alle svært forskjellige binære oppsett selv om hver av dem kan være lagret som .rom.
Spill for Nintendo 64 bruker flere nært beslektede formater ved siden av .rom:
.n64- «little-endian» byte-rekkefølge.v64- «byte-swapped» (flettet) byte-rekkefølge.z64- «big-endian» byte-rekkefølge (det innfødte N64-formatet)
For å åpne en .rom-fil trenger du en emulator for det riktige systemet. For N64-spill er Project64 og Mupen64Plus populære valg. RetroArch og OpenEmu støtter .rom-filer fra mange forskjellige systemer gjennom sine kjerne-plugins.
Fordi .rom ikke inneholder noen innebygd systemidentifikator, kan enkelte emulatorer være ute av stand til å automatisk oppdage hvilken konsoll filen tilhører, og kan kreve manuell konfigurasjon.
Sikkerhet og trygghet
RISIKO: MEDIUMEn spill-ROM er passive data som emulatoren tolker, så filen kjører sjelden på ditt faktiske operativsystem - men reelle risikoer finnes. Sider for nedlasting av ROM-er er en beryktet kilde til skadelig programvare og falske «roms.exe»-filer, så bruk kun anerkjente kilder og skann nedlastinger. Viktigst er at en .rom som faktisk er firmware/BIOS er farlig på en annen måte: flashing av feil firmware-bilde til et hovedkort, GPU eller ruter kan permanent ødelegge enheten - verifiser at den samsvarer nøyaktig med maskinvaren din før flashing. Juridisk sett er nedlasting av opphavsrettsbeskyttede ROM-er du ikke eier generelt et lovbrudd; å kopiere egne kassetter eller bruke homebrew/public-domain ROM-er er de tryggere veiene.
Formatdetaljer
i et nøtteskall- Firmware / BIOS-bilde - Hovedkort-BIOS/UEFI, GPU-video-BIOS (vBIOS), ruter- og enhets-firmware distribueres ofte som .rom-filer som flashes på brikken - ikke spill.
- Option ROM / expansion ROM - PC-tilleggskort (nettverk, RAID, GPU) inneholder et «option ROM»-bilde, noen ganger kalt .rom, som lastes av systemets firmware ved oppstart.
Programmer som åpner ROM-filer
Tekniske detaljer
dyp spesifikasjon| Binær koding | Rå binær - ukomprimert, byte-for-byte-kopi av de originale kassett- eller brikkedataene |
| Intern struktur | Systemavhengig; ingen universell header eller fast oppsett - det binære oppsettet dikteres helt av kildekonsollen eller datamaskinen |
| Magic bytes / filsignatur | Ingen; filendelsen `.rom` har ingen fast identifiserende signatur - identifikasjon avhenger av emulatoren eller brukeren |
| N64 byte-rekkefølge varianter | Big-endian `.z64` (innfødt MIPS R4300i-format), byte-swapped `.v64`, og little-endian `.n64` - emulatorer konverterer mellom dem ved lasting |
| MIME-type | `application/octet-stream` |
| Typisk filstørrelse | 256 KB - 64 MB avhengig av kassett; de fleste N64-titler varierer fra 8 MB til 64 MB |
| Innholdsdekning | Full kjørbar spillkode, grafikk, lyd og nivådata nøyaktig slik det er lagret på den originale ROM-brikken |
| Komprimering | Ingen i selve filen; brukere arkiverer ofte `.rom`-filer eksternt i ZIP- eller 7z-beholdere |
| Relatert økosystem for filendelser | `.z64`, `.n64`, `.v64` (N64); `.smc` / `.sfc` (SNES); `.nes` (NES); `.gba` (GBA); `.gb` (Game Boy) |
| Støtte for ROM-hacking | Filen kan endres med hex-editorer eller patches ved hjelp av IPS/BPS-verktøy som Floating IPS eller beat |
| Systemidentifikasjon | Bestemmes av emulatorkonfigurasjon eller brukervalg - ikke innebygd i selve `.rom`-filen |
| N64 kassett-header | De første 64 bytene koder PI BSD-registre, klokkefrekvens, oppstartsadresse, spillnavn (20 byte), kassett-ID (2 byte) og landskode |
| N64 CRC-integritetssjekk | N64-ROM-er inneholder to 32-biters CRC-verdier ved offset 0x10 (CRC1) og 0x14 (CRC2), verifisert av konsollens boot-ROM ved oppstart |
| Juridisk kontekst | Personlige kopier av egne kassetter er generelt tillatt i mange jurisdiksjoner; distribusjon eller nedlasting av tredjeparts ROM-er er vanligvis et brudd på opphavsretten |
| Utgitt | with console/computer emulation (1990s onward) |
| Spesifikasjon | emulation.gametechwiki.com |