Skip to main content

Crate onerom_database

Crate onerom_database 

Source
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§

pub use types::CsActive;
pub use types::RomType;

Modules§

types
One ROM Database - Types

Structs§

RomEntry
A ROM database entry

Enums§

Error
Database errors

Constants§

ROMS

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