Что такое формат файла NES?
.nes files store game ROMs for the Nintendo Entertainment System gaming console, known in Japan as the Famicom. A .nes file is a dump of a physical cartridge's ROM chips wrapped in a 16-byte iNES header - a convention introduced in the mid-1990s. The header opens with the 4-byte magic 4E 45 53 1A ("NES" + 0x1A) and records PRG-ROM and CHR-ROM sizes plus a mapper number that tells the emulator how the cartridge's bank-switching hardware behaved. .nes files can be opened using dedicated emulator tools available for desktop and mobile devices. Famicom Disk System games use the separate .fds format rather than .nes.
In Poland, NES console clones were widely known under the name "Pegasus". Most "Pegasus" games were distributed as .nes ROM files, typically modified with added cheat options.
NES was an 8-bit console, so emulating its hardware is straightforward on any modern computer or mobile device. Fan communities have produced translations of many ROM images into various languages. Most commercial NES game titles remain under copyright, so distributing or downloading ROM images without authorization from the rights holder is not legal in most jurisdictions.
Безопасность и защита
РИСК: MEDIUMThe ROM data is inert game code that only runs inside an emulator, but two real concerns apply. Legal: downloading ROMs of games you don't own is copyright infringement in most countries - the lawful path is dumping cartridges you own or playing homebrew/freeware. Source safety: 'ROM sites' are riddled with ads, fake download buttons and bundled malware, so use a current, trusted emulator (Mesen, FCEUX, RetroArch) and avoid sketchy download portals. Old/obscure emulators can also have parsing bugs with malformed ROMs.
Детали формата
в двух словахПрограммы, открывающие файлы NES
Технические подробности
глубокая спецификация| File signature (magic bytes) | `4E 45 53 1A` at offset 0 - ASCII "NES" followed by the MS-DOS EOF byte (0x1A) |
| Header format | 16-byte iNES header; NES 2.0 is a backward-compatible extension detected when `(byte7 & 0x0C) == 0x08` |
| Encoding | Binary (raw ROM bank data) |
| Byte order | Little-endian, matching the MOS 6502 CPU architecture of the NES |
| PRG-ROM size field | Header byte 4 counts 16 KB banks (iNES); NES 2.0 extends this to a 12-bit field for larger sizes |
| CHR-ROM size field | Header byte 5 counts 8 KB banks; a value of 0 means the cartridge uses CHR-RAM instead of ROM |
| Mapper number | 8-bit in iNES (high nibbles of bytes 6-7); extended to 12 bits in NES 2.0 to support 256+ mappers |
| Trainer block | Optional 512-byte block between the header and PRG-ROM; present when bit 2 of header byte 6 is set |
| Typical file size | 16 KB - 512 KB for commercial cartridges plus a 16-byte header; NES 2.0 supports up to ~8 MB |
| MIME type | `application/x-nes-rom` |
| Compression | None - raw ROM banks stored uncompressed; files are commonly distributed inside ZIP archives |
| Save data handling | Battery-backed saves stored separately as `.sav` or `.srm` by emulators; not embedded in `.nes` |
| ROM integrity identification | No built-in checksum; verified externally via CRC32 or SHA-1 against No-Intro / Redump databases |
| Alternative containers | UNIF (`.unf`) for complex or undocumented mappers; headerless raw dumps also exist but are uncommon |
| Associated hardware | Nintendo Entertainment System (Famicom 1983 / NES 1985) and licensed clones such as Pegasus (Poland) |
| NES 2.0 extended fields | Adds submapper index, console type (NES/Vs./PlayChoice), CPU/PPU timing region, and extra RAM size fields |
| Выпущен | iNES header convention early-to-mid 1990s (Marat Fayzullin's iNES emulator); NES launched 1983/1985 |
| Последняя версия | NES 2.0 header (backward-compatible extension of iNES, finalized in the 2010s) |
| Спецификация | www.nesdev.org |
Конвертации NES
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах NES.