Co to jest format pliku SMC?
Pliki z rozszerzeniem .smc przechowują obrazy ROM gier Super Nintendo. Nazwa rozszerzenia pochodzi od Super MagiCom, urządzenia do kopiowania kartridży produkowanego przez Front Fareast Industrial, które było jednym z najpopularniejszych narzędzi do zrzucania ROM-ów w tamtej epoce. Kopiarka odczytywała dane z kartridży i zapisywała je w plikach .smc; w przypadku gier wielokartridżowych generowane były dodatkowe pliki .smc z dołączonymi sufiksami .001, .002 i podobnymi. Każdy kartridż przechowywał jedną grę. Charakterystycznym szczegółem technicznym jest opcjonalny 512-bajtowy nagłówek kopiarki dodawany przed surowymi danymi ROM - emulatory wykrywają go, sprawdzając, czy rozmiar pliku jest wielokrotnością 32 KB plus 512 bajtów, i automatycznie go pomijają. Wewnętrzny nagłówek gry SNES znajduje się pod offsetem 0x7FC0 (LoROM) lub 0xFFC0 (HiROM) w danych kartridża; zamienny wariant, .sfc, wykorzystuje identyczne dane ROM, ale pomija ten nagłówek kopiarki. Podobne formaty zrzutów z kopiarek to .fig (kopiarka Figaro) oraz .swc (Super Wild Card).
Pliki .smc są używane głównie przez emulatory SNES (skrót od Super Nintendo Entertainment System). Emulatory SNES są dostępne na komputery stacjonarne (Windows, macOS lub Linux) i mogą być używane do grania w gry SNES zapisane w plikach .smc. Takie emulatory obsługują różne kontrolery i tryby wyświetlania, aby jak najwierniej odtworzyć oryginalne wrażenia. Dostępne są również wersje mobilne na systemy Android i iOS. Najpopularniejsze emulatory SNES obsługujące .smc to:
- Snes9x (Windows, macOS, Linux, Android)
- RetroArch (Windows, macOS, Linux, Android, iOS)
- bsnes / higan (Windows, macOS, Linux)
- OpenEmu (macOS)
- Snes9x EX+ (Android)
- Delta (iOS)
Obrazy gier .smc były wykorzystywane do dystrybucji pirackich gier, choć format został zaprojektowany do tworzenia kopii zapasowych ROM-ów gier na wypadek utraty lub uszkodzenia danych na kartridżu, bądź do prywatnego udostępniania gier innym użytkownikom. W Japonii wszystkie narzędzia umożliwiające kopiowanie ROM-ów gier nazywano magicoms - magicznymi komputerami.
Bezpieczeństwo
RYZYKO: MEDIUMSame dane ROM są bezwładnym kodem gry, który działa tylko wewnątrz emulatora, ale istnieją dwa realne zagrożenia. Prawne: pobieranie ROM-ów gier, których nie posiadasz, jest naruszeniem praw autorskich w większości krajów - legalną drogą jest zrzucanie własnych kartridży lub granie w homebrew. Bezpieczeństwo źródeł: «strony z ROM-ami» są pełne reklam, fałszywych przycisków pobierania i dołączonego złośliwego oprogramowania, a stare emulatory (zwłaszcza ZSNES) mają luki w parsowaniu - używaj aktualnego, dokładnego emulatora (Snes9x, RetroArch, bsnes) i unikaj podejrzanych portali z plikami.
Szczegóły formatu
w pigułceProgramy otwierające pliki SMC
Szczegóły techniczne
specyfikacja| Struktura pliku | Surowy zrzut ROM kartridża, opcjonalnie poprzedzony 512-bajtowym nagłówkiem kopiarki dodanym przez sprzęt Super Magicom |
| Rozmiar nagłówka kopiarki | 512 bajtów; obecność wykrywana przez sprawdzenie, czy rozmiar pliku modulo 1 024 wynosi 512 (całkowity rozmiar jest wielokrotnością 32 KB plus 512 bajtów) |
| Wewnętrzny nagłówek SNES - offset LoROM | 0x7FC0 w danych ROM; zawiera tytuł gry, typ ROM, bajt rozmiaru i sumę kontrolną |
| Wewnętrzny nagłówek SNES - offset HiROM | 0xFFC0 w danych ROM; używany w przypadku większych kartridży z mapowaniem adresów w wysokiej pamięci |
| Pole tytułu gry | 21-bajtowy ciąg ASCII uzupełniony zerami, przechowywany na początku wewnętrznego nagłówka SNES |
| Suma kontrolna integralności ROM | 2-bajtowa suma kontrolna i 2-bajtowe dopełnienie bitowe przechowywane w nagłówku SNES; używane przez emulatory do wykrywania uszkodzonych lub nadmiarowych ROM-ów |
| Tryby mapowania ROM | LoROM, HiROM, ExLoROM, ExHiROM - deklarowane za pomocą pojedynczego bajtu pod offsetem +0x25 nagłówka SNES |
| Typowe rozmiary plików | Od 256 KB do 6 MB, co odzwierciedla rzeczywiste pojemności ROM kartridży SNES (od 256 Kbit do 48 Mbit) |
| Sygnatura pliku (magic bytes) | Brak - brak stałej sygnatury; format identyfikowany heurystycznie na podstawie wzorca rozmiaru pliku i walidacji sumy kontrolnej wewnętrznego nagłówka SNES |
| Nazewnictwo plików wieloczęściowych | Zrzuty wielokartridżowe tworzą pliki towarzyszące o nazwach z sufiksami .001, .002 i podobnymi, dodawanymi po nazwie bazowej .smc |
| Towarzyszący plik zapisu | Kopia zapasowa SRAM z gry przechowywana w oddzielnym pliku .srm o tej samej nazwie bazowej, zapisywana przez emulator w trakcie pracy |
| Typ MIME | application/octet-stream |
| Architektura procesora | WDC 65C816 (16-bit); dane ROM .smc są bezpośrednim obrazem pamięci przestrzeni adresowej kartridża widzianej przez ten procesor |
| Oryginalny sprzęt | Urządzenie kopiujące Super Magicom firmy Front Fareast Industrial (Tajwan, wczesne lata 90.); format .smc został następnie przyjęty jako de facto standard społecznościowy dla wielu marek kopiarek |
| Obsługa nagłówka przez emulator | Snes9x, RetroArch, bsnes i większość nowoczesnych emulatorów automatycznie wykrywa i usuwa 512-bajtowy nagłówek kopiarki przed załadowaniem ROM-u |
| Wydano | early-mid 1990s (Super Magicom / copier era) |
| Specyfikacja | snes.nesdev.org |
Konwersje SMC
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki SMC.