Hvad er SMC-filformatet?
Filer med filtypenavnet .smc gemmer Super Nintendo spil-ROM-aftryk. Navnet på filtypen er afledt af Super MagiCom, en enhed til kopiering af kassetter fremstillet af Front Fareast Industrial og et af de mest populære ROM-dumping-værktøjer i sin tid. Kopimaskinen læste data fra kassetter og gemte dem i .smc-filer; for spil med flere kassetter blev der genereret yderligere .smc-filer med et tilføjet .001, .002 og lignende suffiks. Hver kassette gemte et enkelt spil. En karakteristisk teknisk detalje er den valgfrie 512-byte kopimaskine-header, der er tilføjet før de rå ROM-data - emulatorer registrerer den ved at kontrollere, om filstørrelsen er et multiplum af 32 KB plus 512 byte og springer den automatisk over. Den interne SNES-spilheader sidder ved offset 0x7FC0 (LoROM) eller 0xFFC0 (HiROM) i kassettedataene; en udskiftelig variant, .sfc, bruger de identiske ROM-data, men udelader denne kopimaskine-header. Lignende kopiformater inkluderer .fig (Figaro-kopimaskine) og .swc (Super Wild Card).
.smc-filer bruges hovedsageligt af SNES-emulatorer (SNES står for Super Nintendo Entertainment System). SNES-emulatorer er tilgængelige til stationære pc'er (Windows, macOS eller Linux) og kan bruges til at spille SNES-spil gemt i .smc-filer. Sådanne emulatorer understøtter forskellige controllere og visningstilstande for at genskabe den originale oplevelse så tæt som muligt. Mobilversioner er også tilgængelige til Android og iOS. De mest populære SNES-emulatorer, der understøtter .smc, er:
- Snes9x (Windows, macOS, Linux, Android)
- RetroArch (Windows, macOS, Linux, Android, iOS)
- bsnes / higan (Windows, macOS, Linux)
- OpenEmu (macOS)
- Snes9x EX+ (Android)
- Delta (iOS)
.smc-spilaftryk blev brugt til at distribuere piratkopierede spil, selvom formatet var designet til at sikkerhedskopiere spil-ROM'er i tilfælde af tab eller beskadigelse af kassettedata, eller privat deling af spil med andre brugere. I Japan blev alle værktøjer, der tillod kopiering af spil-ROM'er, omtalt som magicoms - magiske computere.
Sikkerhed og tryghed
RISIKO: MEDIUMSelve ROM-dataene er inaktiv spilkode, der kun kører inde i en emulator, men to reelle bekymringer gør sig gældende. Juridisk: download af ROM'er af spil, du ikke ejer, er en overtrædelse af ophavsretten i de fleste lande - den lovlige vej er at dumpe dine egne kassetter eller spille homebrew. Kildesikkerhed: «ROM-sider» er fyldt med annoncer, falske download-knapper og medfølgende malware, og gamle emulatorer (især ZSNES) har sårbarheder i parsing - brug en aktuel, præcis emulator (Snes9x, RetroArch, bsnes) og undgå tvivlsomme download-portaler.
Formatdetaljer
kort fortaltProgrammer der åbner SMC-filer
Tekniske detaljer
dyb specifikation| Filstruktur | Råt kassette-ROM-dump, valgfrit forudgået af en 512-byte kopimaskine-header tilføjet af Super Magicom-hardwaren |
| Kopimaskine-headerstørrelse | 512 byte; tilstedeværelse detekteres ved at kontrollere, om filstørrelse mod 1.024 er lig med 512 (total størrelse er et multiplum af 32 KB plus 512 byte) |
| SNES intern header - LoROM offset | 0x7FC0 i ROM-dataene; indeholder spiltitel, ROM-type, størrelses-byte og tjeksum |
| SNES intern header - HiROM offset | 0xFFC0 i ROM-dataene; bruges til større kassetter med high-memory adresse-mapping |
| Spiltitel-felt | 21-byte zero-padded ASCII-streng gemt i starten af den interne SNES-header |
| ROM-integritetstjeksum | 2-byte tjeksum og 2-byte bitvis komplement gemt i SNES-headeren; bruges af emulatorer til at detektere korrupte eller overdumpede ROM'er |
| ROM-mapping-tilstande | LoROM, HiROM, ExLoROM, ExHiROM - erklæret via en enkelt byte ved SNES-header offset +0x25 |
| Typiske filstørrelser | 256 KB til 6 MB, hvilket afspejler faktiske SNES-kassette-ROM-kapaciteter (256 Kbit til 48 Mbit) |
| Filsignatur (magic bytes) | Ingen - ingen fast signatur; formatet identificeres heuristisk ved hjælp af filstørrelsesmønster og validering af den interne SNES-header-tjeksum |
| Navngivning af filer i flere dele | Multi-kassette-dumps producerer ledsagefiler navngivet med .001, .002 og lignende suffikser tilføjet efter .smc-basenavnet |
| Ledsagende gemmefil | In-game SRAM-backup gemt i en separat .srm-fil, der deler det samme basenavn, skrevet af emulatoren under kørsel |
| MIME-type | application/octet-stream |
| CPU-arkitektur | WDC 65C816 (16-bit); .smc ROM-dataene er et direkte hukommelsesaftryk af kassettens adresseområde, som det ses af denne CPU |
| Oprindelig hardware | Super Magicom-kopienhed af Front Fareast Industrial (Taiwan, begyndelsen af 1990'erne); .smc-formatet blev efterfølgende vedtaget som en de facto fællesskabsstandard på tværs af flere kopimaskine-mærker |
| Emulator-headerhåndtering | Snes9x, RetroArch, bsnes og de fleste moderne emulatorer registrerer og fjerner automatisk den 512-byte kopimaskine-header, før ROM'en indlæses |
| Udgivet | early-mid 1990s (Super Magicom / copier era) |
| Specifikation | snes.nesdev.org |
SMC-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om SMC-filer.