Expand description
One ROM Lab - ROM Database
The primary approach taken to identifying ROMs is to use a SHA1 digest of it. If that fails to provide a match, we try a 32-bit summing checksum.
This combination will always, uniquely, identify a ROM - in fact the SHA1 digest should. This has the side effect of a unique ROM image needing a single name and part number in the database. If this turns out to be an unsound assumption, we may need to add the concept of aliases.
Re-exports§
Modules§
- types
- One ROM Database - Types
Structs§
- RomEntry
- A ROM database entry
Enums§
- Error
- Database errors
Constants§
Functions§
- checksum
- Type agonostic wrapping checksum function. We typically only use the u32 version, as u16 and u8 values are the same, with the top bytes masked off.
- identify_
rom - Function to identify a ROM by SHA1. We do not do checksum matching at all because clashes are likely, and it complicates our logic (we have to only do checksum matching if SHA1 fails for all ROM types).
- sha1_
digest