Che cos'è il formato di file NES?
I file .nes memorizzano le ROM dei giochi per la console Nintendo Entertainment System, nota in Giappone come Famicom. Un file .nes è un dump dei chip ROM di una cartuccia fisica racchiuso in un header iNES di 16 byte - una convenzione introdotta a metà degli anni '90. L'header si apre con i 4 byte magic 4E 45 53 1A ("NES" + 0x1A) e registra le dimensioni di PRG-ROM e CHR-ROM, oltre a un numero di mapper che indica all'emulatore come si comportava l'hardware di bank-switching della cartuccia. I file .nes possono essere aperti utilizzando strumenti di emulazione dedicati disponibili per dispositivi desktop e mobili. I giochi per Famicom Disk System utilizzano il formato separato .fds anziché .nes.
In Polonia, i cloni della console NES erano ampiamente conosciuti con il nome «Pegasus». La maggior parte dei giochi «Pegasus» veniva distribuita come file ROM .nes, tipicamente modificati con l'aggiunta di opzioni per i trucchi.
Il NES era una console a 8 bit, quindi emulare il suo hardware è semplice su qualsiasi computer o dispositivo mobile moderno. Le comunità di fan hanno prodotto traduzioni di molte immagini ROM in varie lingue. La maggior parte dei titoli commerciali per NES rimane protetta da copyright, quindi la distribuzione o lo scaricamento di immagini ROM senza l'autorizzazione del titolare dei diritti non è legale nella maggior parte delle giurisdizioni.
Sicurezza e incolumità
RISCHIO: MEDIUMI dati della ROM sono codice di gioco inerte che viene eseguito solo all'interno di un emulatore, ma si applicano due preoccupazioni reali. Legale: scaricare ROM di giochi che non si possiedono è una violazione del copyright nella maggior parte dei paesi - la via lecita è il dumping delle proprie cartucce o l'uso di homebrew/freeware. Sicurezza delle fonti: i «siti di ROM» sono pieni di pubblicità, falsi pulsanti di download e malware, quindi usa un emulatore aggiornato e affidabile (Mesen, FCEUX, RetroArch) ed evita portali di download sospetti. Gli emulatori vecchi o oscuri possono anche presentare bug di parsing con ROM malformate.
Dettagli del formato
in sintesiProgrammi che aprono file NES
Dettagli tecnici
specifiche approfondite| Firma del file (magic bytes) | `4E 45 53 1A` all'offset 0 - ASCII «NES» seguito dal byte EOF di MS-DOS (0x1A) |
| Formato header | Header iNES di 16 byte; NES 2.0 è un'estensione retrocompatibile rilevata quando `(byte7 & 0x0C) == 0x08` |
| Codifica | Binario (dati grezzi dei banchi ROM) |
| Ordine dei byte | Little-endian, corrispondente all'architettura della CPU MOS 6502 del NES |
| Campo dimensione PRG-ROM | Il byte 4 dell'header conta i banchi da 16 KB (iNES); NES 2.0 estende questo a un campo a 12 bit per dimensioni maggiori |
| Campo dimensione CHR-ROM | Il byte 5 dell'header conta i banchi da 8 KB; un valore pari a 0 significa che la cartuccia utilizza CHR-RAM invece della ROM |
| Numero mapper | 8 bit in iNES (nibble alti dei byte 6-7); esteso a 12 bit in NES 2.0 per supportare oltre 256 mapper |
| Blocco Trainer | Blocco opzionale di 512 byte tra l'header e la PRG-ROM; presente quando il bit 2 del byte 6 dell'header è impostato |
| Dimensione tipica del file | 16 KB - 512 KB per le cartucce commerciali più un header di 16 byte; NES 2.0 supporta fino a circa 8 MB |
| Tipo MIME | `application/x-nes-rom` |
| Compressione | Nessuna - i banchi ROM grezzi sono memorizzati non compressi; i file sono comunemente distribuiti all'interno di archivi ZIP |
| Gestione dei dati di salvataggio | I salvataggi con batteria tampone sono memorizzati separatamente come `.sav` o `.srm` dagli emulatori; non sono incorporati nel .nes |
| Identificazione integrità ROM | Nessun checksum integrato; verificato esternamente tramite CRC32 o SHA-1 rispetto ai database No-Intro / Redump |
| Container alternativi | UNIF (`.unf`) per mapper complessi o non documentati; esistono anche dump grezzi senza header ma sono rari |
| Hardware associato | Nintendo Entertainment System (Famicom 1983 / NES 1985) e cloni autorizzati come Pegasus (Polonia) |
| Campi estesi NES 2.0 | Aggiunge l'indice del submapper, il tipo di console (NES/Vs./PlayChoice), la regione di timing CPU/PPU e campi per la dimensione della RAM extra |
| Rilasciato | iNES header convention early-to-mid 1990s (Marat Fayzullin's iNES emulator); NES launched 1983/1985 |
| Ultima versione | NES 2.0 header (backward-compatible extension of iNES, finalized in the 2010s) |
| Specifica | www.nesdev.org |
Conversioni NES
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file NES.