|
"dd" is a UNIX utility for copying specific amounts of data between files and/or devices.
The structure of a .NES is as follows: 16-byte header: 4E 45 53 1A [1] [2] [3] [4] 00 00 00 00 00 00 00 00 *** If the last 8 bytes are not zero, then your ROM is CORRUPTED (most likely by "DiskDude!") - either get a ROM fixing utility (like NesToy) or find a clean copy of the ROM.
[N] specifies a variable, all other bytes are constant * [1] specifies the number of 16KB PRG ROM blocks * [2] specifies the number of 8KB CHR ROM blocks * [3] and [4] specify the mapper and mirroring/SRAM/trainer/VS-Unisystem/PC10 (see other documents for more info)
After the header is the PRG ROM data followed by the CHR ROM data. If the 'trainer' flag is set, an extra 512 bytes of data will appear in front of the PRG ROM (I'm not certain exactly how it gets used, since I don't support trainers in my emu). If the PC10 flag is set, an additional 8KB of code appears after the CHR ROM (this is used to run the 2nd screen containing game instructions and stuff).
Any other data beyond what is specified above is GARBAGE and can be safely discarded - more often than not, the extra data consists of either a chunk of ASCII text describing the ROM or an advertisement for the ROM website "Vimm.net".
-- Quietust P.S. If you don't get this note, let me know and I'll write you another.
|