#emulation #mame #pinmame #virtual-pinball

pinmame-nvram

Rust library handling PinMAME NVRAM files

18 releases

new 0.3.12 Mar 25, 2025
0.3.11 Feb 1, 2025
0.3.10 Jan 24, 2025
0.3.6 Dec 27, 2024
0.1.1 Dec 4, 2024

#442 in Game dev

Download history 316/week @ 2024-12-02 585/week @ 2024-12-09 299/week @ 2024-12-16 320/week @ 2024-12-23 127/week @ 2024-12-30 297/week @ 2025-01-06 119/week @ 2025-01-13 126/week @ 2025-01-20 273/week @ 2025-01-27 122/week @ 2025-02-03 53/week @ 2025-02-10 82/week @ 2025-02-17 42/week @ 2025-02-24 104/week @ 2025-03-03 80/week @ 2025-03-10 39/week @ 2025-03-17

266 downloads per month

MIT license

355KB
2.5K SLoC

pinmame-nvram

Rust library handling PinMAME NVRAM files.

Usage

Add the pinmame-nvram dependency to your project

cargo add pinmame-nvram

Example code for reading scores:

use pinmame_nvram::Nvram;

fn main() {
    let mut nvram = Nvram::open(Path::new("afm_113b.nv")).unwrap().unwrap();
    let scores = nvram.read_highscores().unwrap();

    for score in &scores {
        println!("{} {} {}", score.label.unwrap(), score.initials, score.score);
    }
}

Attributions

This library makes use of the PinMAME NVRAM Maps project. The maps are embedded in the library and are used to look up values in the nvram files.

Dependencies

~8MB
~297K SLoC