Che cos'è il formato di file SMC?
I file con estensione .smc memorizzano immagini ROM di giochi Super Nintendo. Il nome dell'estensione deriva dal Super MagiCom, un dispositivo di copia delle cartucce prodotto da Front Fareast Industrial e uno dei più popolari strumenti di dumping ROM della sua epoca. Il copiatore leggeva i dati dalle cartucce e li salvava in file .smc; per i giochi multi-cartuccia, venivano generati file .smc aggiuntivi con un suffisso .001, .002 e simili. Ogni cartuccia memorizzava un singolo gioco. Un dettaglio tecnico distintivo è l'intestazione (header) opzionale del copiatore da 512 byte anteposta ai dati ROM grezzi - gli emulatori la rilevano controllando se la dimensione del file è un multiplo di 32 KB più 512 byte e la saltano automaticamente. L'intestazione interna del gioco SNES si trova all'offset 0x7FC0 (LoROM) o 0xFFC0 (HiROM) all'interno dei dati della cartuccia; una variante intercambiabile, .sfc, utilizza gli stessi dati ROM ma omette questa intestazione del copiatore. Formati di dump di copiatori simili includono .fig (copiatore Figaro) e .swc (Super Wild Card).
I file .smc sono utilizzati principalmente dagli emulatori SNES (SNES sta per Super Nintendo Entertainment System). Gli emulatori SNES sono disponibili per PC desktop (Windows, macOS o Linux) e possono essere utilizzati per giocare ai giochi SNES salvati in file .smc. Tali emulatori supportano vari controller e modalità di visualizzazione per ricreare l'esperienza originale il più fedelmente possibile. Sono disponibili anche versioni mobili per Android e iOS. I più popolari emulatori SNES che supportano .smc sono:
- Snes9x (Windows, macOS, Linux, Android)
- RetroArch (Windows, macOS, Linux, Android, iOS)
- bsnes / higan (Windows, macOS, Linux)
- OpenEmu (macOS)
- Snes9x EX+ (Android)
- Delta (iOS)
Le immagini di gioco .smc venivano utilizzate per distribuire giochi piratati, sebbene il formato fosse stato progettato per il backup delle ROM dei giochi in caso di perdita o danneggiamento dei dati della cartuccia, o per la condivisione privata di giochi con altri utenti. In Giappone tutti gli strumenti che permettevano di copiare le ROM dei giochi venivano chiamati magicoms - computer magici.
Sicurezza e incolumità
RISCHIO: MEDIUMI dati ROM stessi sono codice di gioco inerte che viene eseguito solo all'interno di un emulatore, ma si applicano due preoccupazioni reali. Legale: scaricare ROM di giochi che non si possiedono è una violazione del copyright nella maggior parte dei paesi - la via lecita è il dumping delle proprie cartucce o l'esecuzione di homebrew. Sicurezza della fonte: i «siti di ROM» sono pieni di pubblicità, falsi pulsanti di download e malware in bundle, e i vecchi emulatori (in particolare ZSNES) presentano vulnerabilità di parsing - utilizza un emulatore attuale e accurato (Snes9x, RetroArch, bsnes) ed evita portali di download sospetti.
Dettagli del formato
in sintesiProgrammi che aprono file SMC
Dettagli tecnici
specifiche approfondite| Struttura del file | Dump ROM grezzo della cartuccia, opzionalmente preceduto da un'intestazione del copiatore da 512 byte aggiunta dall'hardware Super Magicom |
| Dimensione intestazione copiatore | 512 byte; presenza rilevata verificando se la dimensione del file mod 1.024 è uguale a 512 (la dimensione totale è un multiplo di 32 KB più 512 byte) |
| Intestazione interna SNES - offset LoROM | 0x7FC0 all'interno dei dati ROM; contiene il titolo del gioco, il tipo di ROM, il byte della dimensione e il checksum |
| Intestazione interna SNES - offset HiROM | 0xFFC0 all'interno dei dati ROM; utilizzata per cartucce più grandi con mappatura degli indirizzi in memoria alta |
| Campo titolo del gioco | Stringa ASCII da 21 byte con riempimento a zero memorizzata all'inizio dell'intestazione interna SNES |
| Checksum integrità ROM | Checksum da 2 byte e complemento bit a bit da 2 byte memorizzati nell'intestazione SNES; utilizzati dagli emulatori per rilevare ROM corrotte o sovradimensionate |
| Modalità di mappatura ROM | LoROM, HiROM, ExLoROM, ExHiROM - dichiarate tramite un singolo byte all'offset +0x25 dell'intestazione SNES |
| Dimensioni tipiche dei file | Da 256 KB a 6 MB, rispecchiando le capacità effettive delle ROM delle cartucce SNES (da 256 Kbit a 48 Mbit) |
| Firma del file (magic bytes) | Nessuna - nessuna firma fissa; formato identificato euristicamente dal pattern della dimensione del file e dalla convalida del checksum dell'intestazione interna SNES |
| Nomenclatura file multi-parte | I dump multi-cartuccia producono file correlati denominati con suffissi .001, .002 e simili aggiunti dopo il nome base .smc |
| File di salvataggio correlato | Backup SRAM in-game memorizzato in un file .srm separato che condivide lo stesso nome base, scritto dall'emulatore durante l'esecuzione |
| Tipo MIME | application/octet-stream |
| Architettura CPU | WDC 65C816 (16-bit); i dati ROM .smc sono un'immagine di memoria diretta dello spazio di indirizzamento della cartuccia come visto da questa CPU |
| Hardware d'origine | Dispositivo copiatore Super Magicom di Front Fareast Industrial (Taiwan, primi anni '90); il formato .smc è stato successivamente adottato come standard comunitario de facto tra più marchi di copiatori |
| Gestione intestazione emulatore | Snes9x, RetroArch, bsnes e la maggior parte degli emulatori moderni rilevano e rimuovono automaticamente l'intestazione del copiatore da 512 byte prima di caricare la ROM |
| Rilasciato | early-mid 1990s (Super Magicom / copier era) |
| Specifica | snes.nesdev.org |
Conversioni SMC
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file SMC.