| Crates.io | bsn64 |
| lib.rs | bsn64 |
| version | 1.0.1 |
| created_at | 2026-01-22 19:33:47.008894+00 |
| updated_at | 2026-01-22 20:14:46.157452+00 |
| description | Rust crate to convert and byteswap Nintendo 64 save files. |
| homepage | |
| repository | https://github.com/Sheikyon/bsn64 |
| max_upload_size | |
| id | 2062440 |
| size | 13,579 |
A lightweight, dead-simple command-line tool to convert Nintendo 64 save files between different emulator and hardware formats.
Nintendo 64 saves come in a few types: EEPROM (small, usually 512 bytes to 2KB), SRAM (32KB), FlashRAM (128KB), and Controller Pak (also 32KB, but separate). The problem is that different emulators and real hardware dump/load these saves in incompatible ways:
Transferring saves between Project64, EverDrive-64, Wii64, Wii Virtual Console, Sixtyforce, etc. usually requires manual byte-swapping and resizing. This tool automates that.
Build it with Cargo.
cargo build --releaseInstall it.
cargo install bsn64Usage: bsn64 -i <INPUT> -o <OUTPUT> -s <SOURCE> -d <DEST>
-i, --input: Path of the original file (ex: Zelda.eep).-o, --output: Path to the converted output file.-s, --source: Source format.-d, --destination: Destination format.| Profile | Architecture | Compatibility / Notes |
|---|---|---|
wii64 |
Big Endian | Native format. Compatible with physical cartridges and Not64 emulators. |
pj64 |
Little Endian | PC Emulator standard (Project64). Compatible with MiSTer FPGA. |
wii-vc |
Big Endian | Wii Virtual Console. Handles specific file sizes and padding values. |
sixtyforce |
Big Endian | Sixtyforce (macOS). Also compatible with Controller Pak data extraction. |
everdrive |
16-bit Swapped | Real hardware. Specific byteswapped format for EverDrive 64 flashcarts. |