Wat is het SRM-bestandsformaat?
Een .srm-bestand is een ruwe binaire dump van de door een batterij ondersteunde SRAM van een Super Nintendo Entertainment System (SNES)-spelcartridge. Wanneer een spel opslag in de cartridge ondersteunt, schrijft de SNES de voortgang van de speler naar een kleine SRAM-chip die wordt gevoed door een knoopcelbatterij. SNES-emulators bootsen dit gedrag na door dezelfde ruwe geheugeninhoud naar een .srm-bestand op de schijf te schrijven.
Het formaat heeft geen header, geen metadata en geen magic bytes - het is een platte, aaneengesloten dump van het SRAM-gebied van de cartridge, beginnend bij het laagste adres. De bestandsgrootte wordt bepaald door de SRAM-grootte die is gedeclareerd in de SNES ROM-header op offset 0x28: de meest voorkomende groottes zijn 2 KB, 8 KB en 32 KB. De interne indeling is volledig spelspecifiek; elke titel structureert zijn eigen opslagslots, checksums en variabelen binnen de ruwe geheugenruimte.
De extensie .srm werd gestandaardiseerd door vroege SNES-emulators, voornamelijk Snes9x (circa 1996), en is nu universeel: ZSNES, bsnes, ares en RetroArch met de Snes9x- of bsnes-core gebruiken allemaal hetzelfde ruwe formaat. Fysieke cartridge-back-upapparaten zoals de Retrode en INLretro lezen en schrijven dezelfde ruwe SRAM, waardoor directe overdracht tussen originele hardware en emulators mogelijk is zonder conversie.
Sommige spellen gebruiken .sav in plaats van .srm, maar het ruwe dumpformaat is identiek - alleen de extensie verschilt door emulatorconventies. Gekoppelde .sfc- of .smc-ROM-images delen dezelfde basisbestandsnaam als hun .srm-opslagbestand.
Beveiliging & veiligheid
RISICO: LOWSRM-bestanden zijn passieve gegevensbestanden zonder uitvoerbare code. Het enige risico is het downloaden van nep-«SRM-converters» die adware zijn - het bestand zelf is onschadelijk.
Formaatdetails
in een notendop- Spiceworks Help Desk Backup - Spiceworks IT-beheersoftware gebruikt .srm voor database-back-upbestanden, niet gerelateerd aan gaming.
- SecureRM Secure Delete Report - Het hulpprogramma SecureRM voor het vernietigen van bestanden slaat verwijderingslogboeken op met de extensie .srm.
Programma's die SRM-bestanden openen
Technische details
diepe specificaties| Codering | Binair (ruwe SRAM-geheugendump) |
| Byte-volgorde | Little-endian (weerspiegelt de native byte-volgorde van de SNES 65C816 CPU) |
| Container | Geen - platte ruwe binaire gegevens zonder header, map of metadata |
| Magic bytes | Geen - geen handtekening; bestand wordt geïdentificeerd door extensie en verwachte grootte |
| Compressie | Geen - ruwe geheugendump zonder extra codering |
| Versleuteling | Geen - opslaggegevens worden ongewijzigd opgeslagen vanuit de SRAM |
| Typische grootte | 2 KB, 8 KB of 32 KB (groottes in machten van twee, bepaald door de SRAM-chip van de cartridge) |
| Bron van grootte | SRAM-grootteveld op offset 0x28 in de SNES ROM-header; emulators kunnen opvullen met nullen tot de dichtstbijzijnde macht van 2 |
| Interne indeling | Volledig spelspecifiek - geen universele velden of structuur; elke titel definieert zijn eigen opslagslots en checksums binnen de ruwe SRAM |
| Opslag-checksums | Door het spel gedefinieerd en opgeslagen binnen de SRAM-gegevens zelf; geen integriteitsmechanisme op bestandsniveau |
| Compatibiliteit tussen emulators | Snes9x, ZSNES, bsnes, ares en RetroArch (Snes9x/bsnes-core) gebruiken allemaal hetzelfde ruwe formaat |
| Overdracht naar fysieke hardware | Retrode en INLretro cartridge-back-upapparaten lezen/schrijven dezelfde ruwe SRAM - geen conversie nodig tussen hardware en emulator |
| Extensie gestandaardiseerd door | Snes9x (circa 1996); sindsdien universeel overgenomen door SNES-emulators |
| Uitgebracht | 1996 (Snes9x, early emulator implementations) |
| Laatste versie | N/A - format is a static raw dump; no versioning |
| Specificatie | snes.nesdev.org |
SRM conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over SRM-bestanden.