O que é o formato de ficheiro NES?
Arquivos .nes armazenam ROMs de jogos para o console de videogame Nintendo Entertainment System, conhecido no Japão como Famicom. Um arquivo .nes é um dump dos chips ROM de um cartucho físico envolto em um cabeçalho iNES de 16 bytes - uma convenção introduzida em meados da década de 1990. O cabeçalho abre com o magic de 4 bytes 4E 45 53 1A ("NES" + 0x1A) e registra os tamanhos de PRG-ROM e CHR-ROM, além de um número de mapper que informa ao emulador como o hardware de troca de banco (bank-switching) do cartucho se comportava. Arquivos .nes podem ser abertos usando ferramentas de emulação dedicadas disponíveis para dispositivos desktop e móveis. Jogos do Famicom Disk System usam o formato separado .fds em vez de .nes.
Na Polônia, os clones do console NES eram amplamente conhecidos sob o nome «Pegasus». A maioria dos jogos «Pegasus» era distribuída como arquivos ROM .nes, normalmente modificados com opções de trapaça (cheats) adicionadas.
O NES era um console de 8 bits, portanto, emular seu hardware é simples em qualquer computador ou dispositivo móvel moderno. Comunidades de fãs produziram traduções de muitas imagens ROM para vários idiomas. A maioria dos títulos de jogos comerciais de NES permanece sob direitos autorais, portanto, distribuir ou baixar imagens ROM sem autorização do detentor dos direitos não é legal na maioria das jurisdições.
Segurança e proteção
RISCO: MEDIUMOs dados da ROM são código de jogo inerte que só executa dentro de um emulador, mas duas preocupações reais se aplicam. Jurídica: baixar ROMs de jogos que você não possui é violação de direitos autorais na maioria dos países - o caminho legal é fazer o dump de cartuchos que você possui ou jogar homebrew/freeware. Segurança da fonte: «sites de ROM» estão repletos de anúncios, botões de download falsos e malware agrupado, portanto, use um emulador atual e confiável (Mesen, FCEUX, RetroArch) e evite portais de download suspeitos. Emuladores antigos/obscuros também podem ter bugs de processamento com ROMs malformadas.
Detalhes do formato
em resumoProgramas que abrem arquivos NES
Detalhes técnicos
especificação profunda| Assinatura do arquivo (magic bytes) | `4E 45 53 1A` no deslocamento 0 - ASCII «NES» seguido pelo byte EOF do MS-DOS (0x1A) |
| Formato do cabeçalho | Cabeçalho iNES de 16 bytes; NES 2.0 é uma extensão retrocompatível detectada quando `(byte7 & 0x0C) == 0x08` |
| Codificação | Binário (dados brutos de bancos ROM) |
| Ordem dos bytes | Little-endian, correspondendo à arquitetura da CPU MOS 6502 do NES |
| Campo de tamanho PRG-ROM | O byte 4 do cabeçalho conta bancos de 16 KB (iNES); o NES 2.0 estende isso para um campo de 12 bits para tamanhos maiores |
| Campo de tamanho CHR-ROM | O byte 5 do cabeçalho conta bancos de 8 KB; um valor 0 significa que o cartucho usa CHR-RAM em vez de ROM |
| Número do Mapper | 8 bits no iNES (nibbles altos dos bytes 6-7); estendido para 12 bits no NES 2.0 para suportar mais de 256 mappers |
| Bloco Trainer | Bloco opcional de 512 bytes entre o cabeçalho e a PRG-ROM; presente quando o bit 2 do byte 6 do cabeçalho está definido |
| Tamanho de arquivo típico | 16 KB - 512 KB para cartuchos comerciais mais um cabeçalho de 16 bytes; o NES 2.0 suporta até ~8 MB |
| Tipo MIME | `application/x-nes-rom` |
| Compressão | Nenhuma - bancos ROM brutos armazenados sem compressão; arquivos são comumente distribuídos dentro de arquivos ZIP |
| Manipulação de dados salvos | Salvamentos com bateria armazenados separadamente como `.sav` ou `.srm` pelos emuladores; não incorporados no `.nes` |
| Identificação de integridade da ROM | Sem checksum integrado; verificado externamente via CRC32 ou SHA-1 contra bancos de dados No-Intro / Redump |
| Containers alternativos | UNIF (`.unf`) para mappers complexos ou não documentados; dumps brutos sem cabeçalho também existem, mas são incomuns |
| Hardware associado | Nintendo Entertainment System (Famicom 1983 / NES 1985) e clones licenciados como Pegasus (Polônia) |
| Campos estendidos NES 2.0 | Adiciona índice de submapper, tipo de console (NES/Vs./PlayChoice), região de timing de CPU/PPU e campos de tamanho de RAM extra |
| Lançado | iNES header convention early-to-mid 1990s (Marat Fayzullin's iNES emulator); NES launched 1983/1985 |
| Versão mais recente | NES 2.0 header (backward-compatible extension of iNES, finalized in the 2010s) |
| Especificação | www.nesdev.org |
Conversões de NES
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos NES.