Che cos'è il formato di file ROM?
I file .rom sono file immagine di gioco utilizzati dagli emulatori per eseguire giochi per console e computer. Un file .rom è un dump byte-per-byte di una cartuccia di gioco o di un chip ROM - il termine «ROM» sta per Read-Only Memory (memoria a sola lettura), riferendosi all'hardware originale da cui i dati sono stati copiati.
A differenza di formati dedicati come .n64 o .smc, l'estensione .rom è un'etichetta generica senza una struttura interna fissa o magic bytes. Il suo layout interno dipende interamente dalla console o dal computer da cui proviene il dump - un gioco per N64, un titolo per computer MSX, una cartuccia ColecoVision e un gioco per Game Boy producono tutti layout binari molto diversi, anche se ognuno potrebbe essere salvato come .rom.
I giochi per Nintendo 64 utilizzano diversi formati strettamente correlati insieme a .rom:
.n64- ordine dei byte little-endian.v64- ordine dei byte byte-swapped (interleaved).z64- ordine dei byte big-endian (il formato nativo N64)
Per aprire un file .rom è necessario un emulatore per il sistema corretto. Per i giochi N64, le scelte popolari sono Project64 e Mupen64Plus. RetroArch e OpenEmu supportano i file .rom di molti sistemi diversi attraverso i loro sistemi di plug-in core.
Poiché .rom non contiene un identificatore di sistema integrato, alcuni emulatori potrebbero non essere in grado di rilevare automaticamente a quale console appartiene il file e potrebbero richiedere una configurazione manuale.
Sicurezza e incolumità
RISCHIO: MEDIUMUna ROM di gioco è un dato passivo che l'emulatore interpreta, quindi il file raramente viene eseguito sul tuo sistema operativo reale - ma esistono rischi concreti. I siti di download di ROM sono una fonte nota di malware e falsi installer «roms.exe», quindi usa solo fonti affidabili e scansiona i download. Fondamentalmente, un file .rom che è in realtà un firmware/BIOS è pericoloso in modo diverso: flashare l'immagine firmware sbagliata su una scheda madre, GPU o router può danneggiare permanentemente il dispositivo - verifica che corrisponda esattamente al tuo hardware prima di flashare. Legalmente, scaricare ROM protette da copyright che non si possiedono è generalmente una violazione; estrarre le proprie cartucce e usare ROM homebrew/di pubblico dominio sono le strade più sicure.
Dettagli del formato
in sintesi- Immagine Firmware / BIOS - BIOS/UEFI della scheda madre, BIOS video della GPU (vBIOS), firmware di router e dispositivi sono spesso distribuiti come file .rom da flashare sul chip - non sono giochi.
- Option ROM / expansion ROM - Le schede aggiuntive per PC (rete, RAID, GPU) contengono un'immagine option ROM, a volte chiamata .rom, caricata dal firmware di sistema all'avvio.
Programmi che aprono file ROM
Dettagli tecnici
specifiche approfondite| Codifica binaria | Binario grezzo - copia non compressa, byte-per-byte, dei dati originali della cartuccia o del chip |
| Struttura interna | Dipendente dal sistema; nessun header universale o layout fisso - il layout binario è dettato interamente dalla console o dal computer sorgente |
| Magic bytes / firma del file | Nessuno; l'estensione `.rom` non ha una firma identificativa fissa - l'identificazione si affida all'emulatore o all'utente |
| Varianti ordine byte N64 | Big-endian `.z64` (formato nativo MIPS R4300i), byte-swapped `.v64` e little-endian `.n64` - gli emulatori convertono tra loro al caricamento |
| Tipo MIME | `application/octet-stream` |
| Dimensione tipica del file | 256 KB - 64 MB a seconda della cartuccia; la maggior parte dei titoli N64 varia da 8 MB a 64 MB |
| Copertura dei contenuti | Codice eseguibile completo del gioco, grafica, audio e dati dei livelli esattamente come memorizzati nel chip ROM originale |
| Compressione | Nessuna all'interno del file; gli utenti archiviano comunemente i file `.rom` esternamente in contenitori ZIP o 7z |
| Ecosistema di estensioni correlate | `.z64`, `.n64`, `.v64` (N64); `.smc` / `.sfc` (SNES); `.nes` (NES); `.gba` (GBA); `.gb` (Game Boy) |
| Supporto per ROM hacking | Il file può essere modificato con editor esadecimali o patchato utilizzando utility per patch IPS/BPS come Floating IPS o beat |
| Identificazione del sistema | Determinata dalla configurazione dell'emulatore o dalla selezione dell'utente - non incorporata nel file `.rom` stesso |
| Header cartuccia N64 | I primi 64 byte codificano i registri PI BSD, la frequenza di clock, l'indirizzo di avvio, il nome del gioco (20 byte), l'ID della cartuccia (2 byte) e il codice del paese |
| Controllo integrità CRC N64 | Le ROM N64 contengono due valori CRC a 32 bit agli offset 0x10 (CRC1) e 0x14 (CRC2), verificati dalla ROM di avvio della console all'accensione |
| Contesto legale | I dump personali delle cartucce sono generalmente consentiti in molte giurisdizioni; la distribuzione o il download di ROM di terze parti è tipicamente una violazione del copyright |
| Rilasciato | with console/computer emulation (1990s onward) |
| Specifica | emulation.gametechwiki.com |