#emulation #mame #pinmame #virtual-pinball

pinmame-nvram

Rust library handling PinMAME NVRAM files

22 releases

Uses new Rust 2024

new 0.3.16 Apr 16, 2025
0.3.15 Apr 14, 2025
0.3.12 Mar 25, 2025
0.3.11 Feb 1, 2025
0.1.1 Dec 4, 2024

#386 in Game dev

Download history 167/week @ 2024-12-27 156/week @ 2025-01-03 351/week @ 2025-01-10 58/week @ 2025-01-17 135/week @ 2025-01-24 333/week @ 2025-01-31 70/week @ 2025-02-07 72/week @ 2025-02-14 50/week @ 2025-02-21 113/week @ 2025-02-28 73/week @ 2025-03-07 35/week @ 2025-03-14 160/week @ 2025-03-21 125/week @ 2025-03-28 240/week @ 2025-04-04 561/week @ 2025-04-11

1,088 downloads per month
Used in vpxtool

MIT license

435KB
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