Hva er SMC-filformatet?
Filer med filendelsen .smc lagrer Super Nintendo spill-ROM-bilder. Navnet på utvidelsen er avledet fra Super MagiCom, en enhet for kopiering av kassetter produsert av Front Fareast Industrial og et av de mest populære verktøyene for ROM-dumping i sin tid. Kopimaskinen leste data fra kassetter og lagret dem i .smc-filer; for spill over flere kassetter ble det generert ekstra .smc-filer med suffikser som .001, .002 og lignende. Hver kassett lagret ett enkelt spill. En særegen teknisk detalj er den valgfrie 512-byte kopihodet (header) som legges til før de rå ROM-dataene - emulatorer oppdager dette ved å sjekke om filstørrelsen er et multiplum av 32 KB pluss 512 byte, og hopper automatisk over det. Den interne SNES-spillheaderen ligger ved posisjon 0x7FC0 (LoROM) eller 0xFFC0 (HiROM) i kassettdatene; en utskiftbar variant, .sfc, bruker identiske ROM-data, men utelater denne kopihodet. Lignende formater inkluderer .fig (Figaro-kopimaskin) og .swc (Super Wild Card).
.smc-filer brukes hovedsakelig av SNES-emulatorer (SNES står for Super Nintendo Entertainment System). SNES-emulatorer er tilgjengelige for stasjonære PC-er (Windows, macOS eller Linux) og kan brukes til å spille SNES-spill lagret i .smc-filer. Slike emulatorer støtter ulike kontrollere og visningsmoduser for å gjenskape den originale opplevelsen så nøyaktig som mulig. Mobilversjoner er også tilgjengelige for Android og iOS. De mest populære SNES-emulatorene som stø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-spillbilder ble brukt til å distribuere piratkopierte spill, selv om formatet ble designet for sikkerhetskopiering av spill-ROM-er i tilfelle tap av kassettdatene eller skade, eller privat deling av spill med andre brukere. I Japan ble alle verktøy som tillot kopiering av spill-ROM-er referert til som «magicoms» - magiske datamaskiner.
Sikkerhet og trygghet
RISIKO: MEDIUMROM-dataene i seg selv er inaktiv spillkode som bare kjører inne i en emulator, men to reelle bekymringer gjelder. Juridisk: nedlasting av ROM-er for spill du ikke eier er brudd på opphavsretten i de fleste land - den lovlige veien er å dumpe egne kassetter eller spille «homebrew». Kilde-sikkerhet: «ROM-sider» er ofte fulle av annonser, falske nedlastingsknapper og medfølgende skadevare, og gamle emulatorer (spesielt ZSNES) har sårbarheter i parsing - bruk en moderne, nøyaktig emulator (Snes9x, RetroArch, bsnes) og unngå tvilsomme nedlastingsportaler.
Formatdetaljer
i et nøtteskallProgrammer som åpner SMC-filer
Tekniske detaljer
dyp spesifikasjon| Filstruktur | Rå ROM-dump fra kassett, valgfritt foranledet av et 512-byte kopihode lagt til av Super Magicom-maskinvaren |
| Størrelse på kopihode | 512 byte; tilstedeværelse oppdages ved å sjekke om filstørrelse modulo 1 024 er lik 512 (total størrelse er et multiplum av 32 KB pluss 512 byte) |
| SNES intern header - LoROM-posisjon | 0x7FC0 i ROM-dataene; inneholder spilltittel, ROM-type, størrelsesbyte og sjekksum |
| SNES intern header - HiROM-posisjon | 0xFFC0 i ROM-dataene; brukt for større kassetter med høy-minne adressering |
| Spilltittelfelt | 21-byte null-utfylt ASCII-streng lagret i starten av den interne SNES-headeren |
| ROM-integritetssjekksum | 2-byte sjekksum og 2-byte bitvis komplement lagret i SNES-headeren; brukes av emulatorer for å oppdage korrupte ROM-er |
| ROM-kartleggingsmoduser | LoROM, HiROM, ExLoROM, ExHiROM - deklarert via en enkelt byte ved SNES-headerposisjon +0x25 |
| Typiske filstørrelser | 256 KB til 6 MB, som speiler faktiske SNES-kassettkapasiteter (256 Kbit til 48 Mbit) |
| Filsignatur (magic bytes) | Ingen - ingen fast signatur; formatet identifiseres heuristisk ved filstørrelsesmønster og validering av intern SNES-header-sjekksum |
| Navngiving av flerdelte filer | Dumping av spill over flere kassetter produserer følgefiler navngitt med suffikser som .001, .002 lagt til etter .smc-basenavnet |
| Tilhørende lagringsfil | SRAM-sikkerhetskopi fra spillet lagret i en separat .srm-fil med samme basenavn, skrevet av emulatoren under kjøring |
| MIME-type | application/octet-stream |
| CPU-arkitektur | WDC 65C816 (16-bit); .smc-ROM-dataene er et direkte minnebilde av kassettens adresserom slik det ses av denne CPU-en |
| Opprinnelig maskinvare | Super Magicom-kopienhet av Front Fareast Industrial (Taiwan, tidlig 1990-tall); .smc-formatet ble senere adoptert som en de facto fellesskapsstandard på tvers av flere kopimaskinmerker |
| Emulatorens håndtering av headere | Snes9x, RetroArch, bsnes og de fleste moderne emulatorer oppdager og fjerner automatisk det 512-byte kopihodet før ROM-en lastes |
| Utgitt | early-mid 1990s (Super Magicom / copier era) |
| Spesifikasjon | snes.nesdev.org |
SMC-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om SMC-filer.