Website
Home
Database
News
Submissions queue
Community
Forum
Clubs
Reviews
Discord
Members
Tools
ROM Patcher
ROM Hasher
Pages
Support us
Learn Romhacking
About
Contact Us
Help & Legal Pages
Development
Forge
Documentation
Guest
Login
Forum
Entries
News
Settings
Community
Romhack Plaza
Site Related
Bug reports
"Verified: No" for NES hashes
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Bavi_H" data-source="post: 7021" data-attributes="member: 607"><p>Due to variation in NES file headers, I think it can be common to have an NES file that will show up as Verified "No" in the ROMHack Plaza hash tool. If you want to get a particular NES file to show up as "verified", you'll need to research the most up-to-date header it should use. (I might explain some ways to do this in another post.)</p><p></p><p>For example, the Super Mario Bros. file you mentioned (file CRC32 3337ec46), has a header of</p><p><code class="bbCodeInline">4E 45 53 1A 02 01 01 00 00 00 00 00 00 00 00 00</code></p><p></p><p>But the most correct header is currently considered to be</p><p><code class="bbCodeInline">4E 45 53 1A 02 01 01 08 00 00 00 00 02 00 00 01</code></p><p></p><p>Here is what those headers mean according to the header editor in the emulator Mesen:</p><p></p><p>[ATTACH=full]406[/ATTACH]</p><p></p><p>If you update your file to have that updated header, then the ROMHack Plaza hash tool will show it as Verified "Nintendo - Nintendo Entertainment System (Headered) v.20260617-064757 (No-Intro)".</p><p></p><p></p><p><strong>More details</strong></p><p></p><p>When you use the ROMHack Plaza hash tool to check an NES file, it looks like the Verified field will show the name of the database the NES file hash matches up with, for example, "Nintendo - Nintendo Entertainment System (Headered) v.20260617-064757 (No-Intro)". If the NES file hash didn't match up with the database, the Verified field will instead say "No".</p><p></p><p>The NES file hash will only match up with the database if the NES file header is the same one that the database version uses.</p><p></p><p>In an NES file, the first 16 bytes are the NES file header. This header is not part of the contents of the ROM chips on the cartridge, it is only extra information for emulators, mainly to describe the type of "mapper" chip the cartridge uses. This kind of header is called an "external" header, because it's only for emulators and doesn't appear in the data of the game itself.</p><p></p><p>Some older NES files can have incorrect headers. But also, even if an NES file has a correctly working header, opinions about the most correct header to use can change over time.</p><p></p><p>In particular, the NES file header format has been extended into the backward-compatible "NES 2.0" header format. The NES 2.0 header format adds a "submapper" number that can help distinguish certain mapper variants. It also includes extra information like the most appropriate controllers to use with the game. Older NES files don't have that extra information in their headers. So an older NES file with a non-2.0 header might still be functionally correct or mostly correct, but an up-to-date hash database will use the most up-to-date NES 2.0 header that is considered the most correct today.</p><p></p><p></p><p><strong>Other systems</strong></p><p></p><p>NES catridges have hundreds of different mapper types, so the external NES file header is important to get the game working in an emulator. Files for other game systems often do not need an external header. (The game contents either has an internal header that is already appropriate, or there are very few mapper types and the emulator can detect the correct one automatically.)</p><p></p><p>You asked about FDS files, for example. FDS files can optionally have an external header, but the only thing the header contains is the number of disk sides the file contains, which can also be detected without the external header by examining the file size. Since opinions about the correct FDS file header do not change, it is more likely you will have a FDS file hash that matches the one in the database and your FDS file will show up as "verified" in the hash tool.</p></blockquote><p></p>
[QUOTE="Bavi_H, post: 7021, member: 607"] Due to variation in NES file headers, I think it can be common to have an NES file that will show up as Verified "No" in the ROMHack Plaza hash tool. If you want to get a particular NES file to show up as "verified", you'll need to research the most up-to-date header it should use. (I might explain some ways to do this in another post.) For example, the Super Mario Bros. file you mentioned (file CRC32 3337ec46), has a header of [ICODE]4E 45 53 1A 02 01 01 00 00 00 00 00 00 00 00 00[/ICODE] But the most correct header is currently considered to be [ICODE]4E 45 53 1A 02 01 01 08 00 00 00 00 02 00 00 01[/ICODE] Here is what those headers mean according to the header editor in the emulator Mesen: [ATTACH type="full" alt="header-changes.webp"]406[/ATTACH] If you update your file to have that updated header, then the ROMHack Plaza hash tool will show it as Verified "Nintendo - Nintendo Entertainment System (Headered) v.20260617-064757 (No-Intro)". [B]More details[/B] When you use the ROMHack Plaza hash tool to check an NES file, it looks like the Verified field will show the name of the database the NES file hash matches up with, for example, "Nintendo - Nintendo Entertainment System (Headered) v.20260617-064757 (No-Intro)". If the NES file hash didn't match up with the database, the Verified field will instead say "No". The NES file hash will only match up with the database if the NES file header is the same one that the database version uses. In an NES file, the first 16 bytes are the NES file header. This header is not part of the contents of the ROM chips on the cartridge, it is only extra information for emulators, mainly to describe the type of "mapper" chip the cartridge uses. This kind of header is called an "external" header, because it's only for emulators and doesn't appear in the data of the game itself. Some older NES files can have incorrect headers. But also, even if an NES file has a correctly working header, opinions about the most correct header to use can change over time. In particular, the NES file header format has been extended into the backward-compatible "NES 2.0" header format. The NES 2.0 header format adds a "submapper" number that can help distinguish certain mapper variants. It also includes extra information like the most appropriate controllers to use with the game. Older NES files don't have that extra information in their headers. So an older NES file with a non-2.0 header might still be functionally correct or mostly correct, but an up-to-date hash database will use the most up-to-date NES 2.0 header that is considered the most correct today. [B]Other systems[/B] NES catridges have hundreds of different mapper types, so the external NES file header is important to get the game working in an emulator. Files for other game systems often do not need an external header. (The game contents either has an internal header that is already appropriate, or there are very few mapper types and the emulator can detect the correct one automatically.) You asked about FDS files, for example. FDS files can optionally have an external header, but the only thing the header contains is the number of disk sides the file contains, which can also be detected without the external header by examining the file size. Since opinions about the correct FDS file header do not change, it is more likely you will have a FDS file hash that matches the one in the database and your FDS file will show up as "verified" in the hash tool. [/QUOTE]
Insert quotes…
Verification
Post reply
Community
Romhack Plaza
Site Related
Bug reports
"Verified: No" for NES hashes
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Back
Top