Co to jest format pliku NES?
Pliki .nes przechowują obrazy ROM gier dla konsoli Nintendo Entertainment System, znanej w Japonii jako Famicom. Plik .nes to zrzut pamięci ROM fizycznego kartridża opakowany w 16-bajtowy nagłówek iNES - standard wprowadzony w połowie lat 90. Nagłówek zaczyna się od 4-bajtowej sygnatury 4E 45 53 1A („NES” + 0x1A) i zawiera informacje o rozmiarach PRG-ROM i CHR-ROM oraz numer mappera, który informuje emulator, jak zachowywał się sprzęt do przełączania banków pamięci w kartridżu. Pliki .nes można otwierać za pomocą dedykowanych emulatorów dostępnych na komputery i urządzenia mobilne. Gry z systemu Famicom Disk System używają oddzielnego formatu .fds zamiast .nes.
W Polsce klony konsoli NES były powszechnie znane pod nazwą „Pegasus”. Większość gier na „Pegasusa” była dystrybuowana jako pliki ROM .nes, zazwyczaj zmodyfikowane o dodatkowe opcje ułatwień (cheaty).
NES był konsolą 8-bitową, więc emulacja jego sprzętu jest prosta na każdym nowoczesnym komputerze lub urządzeniu mobilnym. Społeczności fanowskie przygotowały tłumaczenia wielu obrazów ROM na różne języki. Większość komercyjnych tytułów gier NES pozostaje chroniona prawem autorskim, więc dystrybucja lub pobieranie obrazów ROM bez upoważnienia właściciela praw nie jest legalne w większości jurysdykcji.
Bezpieczeństwo
RYZYKO: MEDIUMDane ROM to pasywny kod gry, który uruchamia się tylko wewnątrz emulatora, ale istnieją dwa realne zagrożenia. Kwestie prawne: pobieranie obrazów ROM gier, których nie posiadasz, jest naruszeniem praw autorskich w większości krajów - legalną drogą jest tworzenie zrzutów z własnych kartridży lub granie w gry homebrew/freeware. Bezpieczeństwo źródeł: „strony z ROM-ami” są pełne reklam, fałszywych przycisków pobierania i dołączonego złośliwego oprogramowania, dlatego należy używać aktualnych, zaufanych emulatorów (Mesen, FCEUX, RetroArch) i unikać podejrzanych portali. Stare lub niszowe emulatory mogą również posiadać błędy przetwarzania przy nieprawidłowo sformatowanych plikach ROM.
Szczegóły formatu
w pigułceProgramy otwierające pliki NES
Szczegóły techniczne
specyfikacja| Sygnatura pliku (magic bytes) | `4E 45 53 1A` na offsecie 0 - ASCII „NES” oraz bajt EOF systemu MS-DOS (0x1A) |
| Format nagłówka | 16-bajtowy nagłówek iNES; NES 2.0 to wstecznie kompatybilne rozszerzenie wykrywane, gdy `(byte7 & 0x0C) == 0x08` |
| Kodowanie | Binarne (surowe dane banków ROM) |
| Kolejność bajtów | Little-endian, zgodna z architekturą procesora MOS 6502 konsoli NES |
| Pole rozmiaru PRG-ROM | Bajt 4 nagłówka liczy banki 16 KB (iNES); NES 2.0 rozszerza to do 12-bitowego pola dla większych rozmiarów |
| Pole rozmiaru CHR-ROM | Bajt 5 nagłówka liczy banki 8 KB; wartość 0 oznacza, że kartridż używa CHR-RAM zamiast ROM |
| Numer mappera | 8-bitowy w iNES (starsze półbajty bajtów 6-7); rozszerzony do 12 bitów w NES 2.0, aby obsługiwać ponad 256 mapperów |
| Blok Trainer | Opcjonalny 512-bajtowy blok między nagłówkiem a PRG-ROM; obecny, gdy bit 2 bajtu 6 nagłówka jest ustawiony |
| Typowy rozmiar pliku | 16 KB - 512 KB dla komercyjnych kartridży plus 16-bajtowy nagłówek; NES 2.0 obsługuje do ok. 8 MB |
| Typ MIME | `application/x-nes-rom` |
| Kompresja | Brak - surowe banki ROM przechowywane bez kompresji; pliki są powszechnie dystrybuowane wewnątrz archiwów ZIP |
| Obsługa zapisów gier | Zapisy podtrzymywane bateryjnie przechowywane oddzielnie jako `.sav` lub `.srm` przez emulatory; nie są osadzone w `.nes` |
| Identyfikacja integralności ROM | Brak wbudowanej sumy kontrolnej; weryfikacja zewnętrzna przez CRC32 lub SHA-1 względem baz danych No-Intro / Redump |
| Alternatywne kontenery | UNIF (`.unf`) dla złożonych lub nieudokumentowanych mapperów; istnieją też surowe zrzuty bez nagłówka, ale są rzadkie |
| Powiązany sprzęt | Nintendo Entertainment System (Famicom 1983 / NES 1985) oraz licencjonowane klony, takie jak Pegasus (Polska) |
| Rozszerzone pola NES 2.0 | Dodaje indeks submappera, typ konsoli (NES/Vs./PlayChoice), region taktowania CPU/PPU oraz pola rozmiaru dodatkowej pamięci RAM |
| Wydano | iNES header convention early-to-mid 1990s (Marat Fayzullin's iNES emulator); NES launched 1983/1985 |
| Najnowsza wersja | NES 2.0 header (backward-compatible extension of iNES, finalized in the 2010s) |
| Specyfikacja | www.nesdev.org |
Konwersje NES
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki NES.