Wat is het NES-bestandsformaat?
.nes-bestanden slaan spel-ROM's op voor de Nintendo Entertainment System spelcomputer, in Japan bekend als de Famicom. Een .nes-bestand is een dump van de ROM-chips van een fysieke cassette, verpakt in een 16-byte iNES-header - een conventie die halverwege de jaren 90 werd geïntroduceerde. De header begint met de 4-byte magic 4E 45 53 1A („NES” + 0x1A) en registreert PRG-ROM- en CHR-ROM-groottes plus een mapper-nummer dat de emulator vertelt hoe de bank-switching hardware van de cassette werkte. .nes-bestanden kunnen worden geopend met speciale emulatortools die beschikbaar zijn voor desktop en mobiele apparaten. Famicom Disk System-spellen gebruiken het afzonderlijke .fds formaat in plaats van .nes.
In Polen stonden NES-kloonconsoles algemeen bekend onder de naam „Pegasus”. De meeste „Pegasus”-spellen werden gedistribueerd als .nes ROM-bestanden, meestal aangepast met extra cheat-opties.
De NES was een 8-bit console, dus het emuleren van de hardware is eenvoudig op elke moderne computer of mobiel apparaat. Fan-communities hebben vertalingen van veel ROM-afbeeldingen in verschillende talen geproduceerd. De meeste commerciële NES-speltitels vallen nog steeds onder het auteursrecht, dus het distribueren of downloaden van ROM-afbeeldingen zonder toestemming van de rechthebbende is in de meeste rechtsgebieden niet legaal.
Beveiliging & veiligheid
RISICO: MEDIUMDe ROM-gegevens zijn inerte spelcode die alleen binnen een emulator draait, maar er zijn twee reële zorgen. Juridisch: het downloaden van ROM's van spellen die u niet bezit is in de meeste landen een inbreuk op het auteursrecht - de wettige weg is het dumpen van cassettes die u bezit of het spelen van homebrew/freeware. Bronveiligheid: 'ROM-sites' zitten vol met advertenties, valse downloadknoppen en gebundelde malware, dus gebruik een actuele, vertrouwde emulator (Mesen, FCEUX, RetroArch) en vermijd schimmige downloadportals. Oude/onduidelijke emulators kunnen ook parsing-fouten bevatten bij misvormde ROM's.
Formaatdetails
in een notendopProgramma's die NES-bestanden openen
Technische details
diepe specificaties| Bestandssignatuur (magic bytes) | `4E 45 53 1A` op offset 0 - ASCII „NES” gevolgd door de MS-DOS EOF-byte (0x1A) |
| Header-formaat | 16-byte iNES-header; NES 2.0 is een achterwaarts compatibele uitbreiding die wordt gedetecteerd wanneer `(byte7 & 0x0C) == 0x08` |
| Codering | Binair (ruwe ROM-bankgegevens) |
| Byte-volgorde | Little-endian, passend bij de MOS 6502 CPU-architectuur van de NES |
| PRG-ROM grootteveld | Header byte 4 telt 16 KB banken (iNES); NES 2.0 breidt dit uit naar een 12-bit veld voor grotere formaten |
| CHR-ROM grootteveld | Header byte 5 telt 8 KB banken; een waarde van 0 betekent dat de cassette CHR-RAM gebruikt in plaats van ROM |
| Mapper-nummer | 8-bit in iNES (hoge nibbles van bytes 6-7); uitgebreid naar 12 bits in NES 2.0 om 256+ mappers te ondersteunen |
| Trainer-blok | Optioneel 512-byte blok tussen de header en PRG-ROM; aanwezig wanneer bit 2 van header byte 6 is ingesteld |
| Typische bestandsgrootte | 16 KB - 512 KB voor commerciële cassettes plus een 16-byte header; NES 2.0 ondersteunt tot ~8 MB |
| MIME-type | `application/x-nes-rom` |
| Compressie | Geen - ruwe ROM-banken ongecomprimeerd opgeslagen; bestanden worden vaak gedistribueerd in ZIP-archieven |
| Afhandeling van opgeslagen gegevens | Batterij-gevoede saves worden door emulators apart opgeslagen als `.sav` of `.srm`; niet ingebed in `.nes` |
| ROM-integriteitsidentificatie | Geen ingebouwde checksum; extern geverifieerd via CRC32 of SHA-1 tegen No-Intro / Redump databases |
| Alternatieve containers | UNIF (`.unf`) voor complexe of ongedocumenteerde mappers; ruwe dumps zonder header bestaan ook maar zijn ongebruikelijk |
| Bijbehorende hardware | Nintendo Entertainment System (Famicom 1983 / NES 1985) en gelicentieerde klonen zoals Pegasus (Polen) |
| NES 2.0 uitgebreide velden | Voegt submapper-index, consoletype (NES/Vs./PlayChoice), CPU/PPU-timingregio en extra RAM-groottevelden toe |
| Uitgebracht | iNES header convention early-to-mid 1990s (Marat Fayzullin's iNES emulator); NES launched 1983/1985 |
| Laatste versie | NES 2.0 header (backward-compatible extension of iNES, finalized in the 2010s) |
| Specificatie | www.nesdev.org |
NES conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over NES-bestanden.