O que é o formato de ficheiro SMC?
Arquivos com a extensão .smc armazenam imagens ROM de jogos de Super Nintendo. O nome da extensão é derivado do Super MagiCom, um dispositivo de cópia de cartuchos fabricado pela Front Fareast Industrial e uma das ferramentas de dumping de ROM mais populares de sua era. O copiador lia os dados dos cartuchos e os salvava em arquivos .smc; para jogos de vários cartuchos, arquivos .smc adicionais com um sufixo .001, .002 e similares eram gerados. Cada cartucho armazenava um único jogo. Um detalhe técnico distintivo é o cabeçalho opcional de copiador de 512 bytes anexado antes dos dados brutos da ROM - os emuladores o detectam verificando se o tamanho do arquivo é um múltiplo de 32 KB mais 512 bytes e o ignoram automaticamente. O cabeçalho interno do jogo SNES fica no deslocamento 0x7FC0 (LoROM) ou 0xFFC0 (HiROM) dentro dos dados do cartucho; uma variante intercambiável, .sfc, usa os mesmos dados de ROM, mas omite este cabeçalho de copiador. Formatos de dump de copiadores semelhantes incluem .fig (copiador Figaro) e .swc (Super Wild Card).
Arquivos .smc são usados principalmente por emuladores de SNES (SNES significa Super Nintendo Entertainment System). Emuladores de SNES estão disponíveis para PC desktop (Windows, macOS ou Linux) e podem ser usados para jogar jogos de SNES salvos em arquivos .smc. Tais emuladores suportam vários controles e modos de exibição para recriar a experiência original o mais fielmente possível. Versões móveis também estão disponíveis para Android e iOS. Os emuladores de SNES mais populares que suportam .smc são:
- Snes9x (Windows, macOS, Linux, Android)
- RetroArch (Windows, macOS, Linux, Android, iOS)
- bsnes / higan (Windows, macOS, Linux)
- OpenEmu (macOS)
- Snes9x EX+ (Android)
- Delta (iOS)
As imagens de jogos .smc foram usadas para distribuir jogos piratas, embora o formato tenha sido projetado para fazer backup de ROMs de jogos em caso de perda ou dano dos dados do cartucho, ou compartilhamento privado de jogos com outros usuários. No Japão, todas as ferramentas que permitiam copiar ROMs de jogos eram referidas como magicoms - computadores mágicos.
Segurança e proteção
RISCO: MEDIUMOs dados da ROM em si são código de jogo inerte que só roda dentro de um emulador, mas duas preocupações reais se aplicam. Legal: baixar ROMs de jogos que você não possui é violação de direitos autorais na maioria dos países - o caminho legal é fazer o dump de seus próprios cartuchos ou jogar homebrew. Segurança da fonte: «sites de ROM» estão repletos de anúncios, botões de download falsos e malware empacotado, e emuladores antigos (notadamente ZSNES) possuem vulnerabilidades de análise - use um emulador atual e preciso (Snes9x, RetroArch, bsnes) e evite portais de download suspeitos.
Detalhes do formato
em resumoProgramas que abrem arquivos SMC
Detalhes técnicos
especificação profunda| Estrutura do arquivo | Dump bruto de ROM de cartucho, opcionalmente precedido por um cabeçalho de copiador de 512 bytes anexado pelo hardware Super Magicom |
| Tamanho do cabeçalho do copiador | 512 bytes; presença detectada verificando se o tamanho do arquivo mod 1.024 é igual a 512 (o tamanho total é um múltiplo de 32 KB mais 512 bytes) |
| Cabeçalho interno do SNES - deslocamento LoROM | 0x7FC0 dentro dos dados da ROM; contém o título do jogo, tipo de ROM, byte de tamanho e checksum |
| Cabeçalho interno do SNES - deslocamento HiROM | 0xFFC0 dentro dos dados da ROM; usado para cartuchos maiores com mapeamento de endereço de memória alta |
| Campo de título do jogo | String ASCII de 21 bytes preenchida com zeros, armazenada no início do cabeçalho interno do SNES |
| Checksum de integridade da ROM | Checksum de 2 bytes e complemento bit a bit de 2 bytes armazenados no cabeçalho SNES; usado por emuladores para detectar ROMs corrompidas ou com excesso de dados |
| Modos de mapeamento de ROM | LoROM, HiROM, ExLoROM, ExHiROM - declarados via um único byte no deslocamento +0x25 do cabeçalho SNES |
| Tamanhos de arquivo típicos | 256 KB a 6 MB, refletindo as capacidades reais de ROM dos cartuchos de SNES (256 Kbit a 48 Mbit) |
| Assinatura do arquivo (magic bytes) | Nenhuma - sem assinatura fixa; formato identificado heuristicamente pelo padrão de tamanho do arquivo e validação do checksum do cabeçalho interno do SNES |
| Nomenclatura de arquivos multi-parte | Dumps de vários cartuchos produzem arquivos complementares nomeados com sufixos .001, .002 e similares anexados após o nome base .smc |
| Arquivo de salvamento complementar | Backup de SRAM do jogo armazenado em um arquivo .srm separado compartilhando o mesmo nome base, gravado pelo emulador durante a execução |
| Tipo MIME | application/octet-stream |
| Arquitetura da CPU | WDC 65C816 (16 bits); os dados da ROM .smc são uma imagem de memória direta do espaço de endereço do cartucho conforme visto por esta CPU |
| Hardware de origem | Dispositivo copiador Super Magicom da Front Fareast Industrial (Taiwan, início dos anos 1990); o formato .smc foi posteriormente adotado como um padrão comunitário de fato em várias marcas de copiadores |
| Tratamento de cabeçalho pelo emulador | Snes9x, RetroArch, bsnes e a maioria dos emuladores modernos detectam e removem automaticamente o cabeçalho do copiador de 512 bytes antes de carregar a ROM |
| Lançado | early-mid 1990s (Super Magicom / copier era) |
| Especificação | snes.nesdev.org |
Conversões de SMC
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos SMC.