1 pontos por GN⁺ 2024-04-23 | 1 comentários | Compartilhar no WhatsApp

Here is a summary of the key points from the article on Super Nintendo cartridges, translated into Korean and organized using Markdown syntax:

Estrutura interna dos cartuchos do Super Nintendo

  • Os cartuchos de jogos do Super Nintendo podem incluir, além de instruções e assets no chip ROM, elementos adicionais.
    • Dentro da PCB também podem ser encontrados o chip de proteção contra cópia CIC, SRAM e até mesmo "processadores de melhoria de desempenho".

CIC (proteção contra cópia)

  • O mecanismo de proteção contra cópia do SNES funciona por meio da comunicação sincronizada entre dois chips, um no console e outro no cartucho.
  • Se o CIC do console detectar um funcionamento anormal, ele reinicia todos os processadores.

ROM: instruções e assets

  • Antigamente, o tamanho da ROM dos jogos era indicado em bits em vez de bytes (ex.: The Legend of Zelda 3 tem 8Mb).
  • O jogo com maior capacidade é Star Ocean (48Mb), enquanto clássicos como Super Mario World usam apenas uma ROM de 4Mb.
  • O autor organizou em um CSV feito por ele estimativas de uso de ROM para 3.378 títulos.

SRAM (função de salvamento)

  • Alguns jogos oferecem função de salvar progresso usando um chip SRAM e bateria.
  • Quando o console é desligado, a SRAM entra em modo de baixo consumo para reduzir o gasto da bateria.

Processador de melhoria de desempenho (Enhancement Processor)

  • O mais famoso é o Super FX (apelidos "MARIO", "GSU-1"), usado em Star Fox em 1993.
  • Há uma lista completa dos jogos de SNES que usaram chips de melhoria de desempenho na Wikipedia e em snescentral.com.
    • No total, 13 tipos de chips foram usados em 72 jogos.

SA-1

  • O "Super Accelerator 1" é o MVP dos chips de melhoria de desempenho e foi usado em 34 cartuchos.
    • É a mesma CPU 65C816 do console, mas roda 4 vezes mais rápido, a 10.74Mhz.
    • Possui 2KB de SRAM e CIC integrado.
  • O SA-1 tem 3 modos de operação (aceleração, processamento paralelo e processamento misto). Na configuração mais poderosa, aumenta o desempenho total do sistema em 5 vezes.
  • Na comunidade de retrogaming, o SA-1 é usado para melhorar a jogabilidade de jogos antigos que tinham problemas de lentidão, como Mario World, Gradius 3 e Contra 3.

CX4

  • O CX4 é um trabalho da Capcom e foi usado em Mega Man X2 e X3.
    • Fornece à VRAM renderização 3D em wireframe, vários tipos de cálculo e funções de escala/rotação de sprites.
  • É famoso pelo efeito wireframe, mas na prática é usado para processar todos os sprites do jogo, permitindo exibir mais sprites sem cintilação na tela.

Outros Enhancement Processor

  • CS-DD1: chip de descompressão de sprites. Usado em 2 jogos.
  • Série DSP: usada em 16 jogos. Oferece multiplicação rápida de 16 bits e instruções como sin/cos.
  • OBC-1: usado em 1 jogo. (há apenas especulações sobre manipulação de sprites)
  • S-RTC: fornece função de relógio em tempo real. Usado em 1 jogo.
  • SPC7110: chip de descompressão de dados. Usado em 3 jogos.
  • ST-010, ST-011, ST-018: chips da SETA para melhorias de IA. Cada um foi usado em 1 ou 2 jogos.

SUPERFX (GSU-1, GSU-2)

  • O GSU-1 foi usado em 5 jogos, incluindo Star Fox.
    • Roda a 10.74Mhz e, com cache de instruções de 512 bytes, opera sem deixar a CPU do SNES sem recursos.
  • Enquanto a PPU do SNES é centrada em tiles/sprites, o SuperFX é especializado em renderização de pixels e rasterização de polígonos.
    • Normalmente ele renderiza no framebuffer do cartucho e transfere para a VRAM no VSYNC.
  • O GSU-2 é basicamente o GSU-1 operando em full speed a 21.47Mhz. Foi usado em 3 jogos, como Yoshi's Island e Doom.
  • Na comunidade de SNES, estão em andamento projetos que usam GSU-1 e GSU-2 para melhorar jogos antigos.

Chips de melhoria de desempenho e emuladores

  • Os chips de melhoria de desempenho melhoraram muito a experiência de jogo e reduziram os custos das publishers, mas depois se tornaram um problema para desenvolvedores de emuladores.
    • Alguns jogos dependiam de chips incomuns e só passaram a ser emulados corretamente em 2012.
  • Para os emuladores, foi necessário muito esforço de engenharia reversa desses chips.
    • Chips com ROM interna (baseados em ARM) exigem fornecer arquivos de BIOS ao emulador.
  • Mesmo em 2020, a emulação de alguns chips raros ainda não havia sido concluída.

Opinião do GN⁺

  • Os chips de melhoria de desempenho são um caso interessante na história do design de hardware e do desenvolvimento de jogos. Destacam-se as várias ideias e esforços para extrair o máximo de um hardware limitado.
  • Do ponto de vista atual do desenvolvimento de emuladores, eles são incômodos, mas na época eram uma forma eficaz de elevar a qualidade dos jogos e economizar custos de desenvolvimento.
  • Casos parecidos na indústria incluem os vários chips adicionais do Sega Mega Drive/Genesis (SVP, Sega Virtua Processor etc.) e o slot para memory card do Neo Geo.
  • Esses chips de expansão costumam surgir no fim do ciclo de vida dos consoles, o que parece ser uma tentativa de superar limitações de hardware. Ao mesmo tempo, também marca uma fase de transição em preparação para o lançamento de um novo console.
  • É impressionante que a comunidade de retrogaming esteja conduzindo projetos para melhorar o desempenho de jogos antigos. Dá para ver isso como um trabalho de reinterpretar os jogos com um olhar moderno, preservando a intenção da equipe original.

1 comentários

 
GN⁺ 2024-04-23
Opiniões do Hacker News
  • Os cartuchos dos videogames antigos podiam se conectar diretamente ao barramento, de forma semelhante às placas de expansão PCI de PCs, permitindo implementar várias funções. Porém, depois do GBA, passaram a ser usados apenas para armazenamento simples de dados.
  • Com tecnologia moderna, seria possível colocar em um cartucho chips de ray tracing ou chips de expansão como o MSU1, aumentando bastante o desempenho do console. A fabricação física desses chips também seria teoricamente possível.
  • A CPU do SNES normalmente opera a 3,58MHz, mas com alguns cartuchos SlowROM de baixo custo a velocidade cai para 2,68MHz. Há também uma comunidade de modding tentando melhorar isso com patches.
  • A proteção contra cópia do SNES funcionava sincronizando os chips CIC do console e do cartucho, mas podia ser facilmente contornada com dispositivos de backup.
  • Quando desenvolvedores de jogos antigos compartilham detalhes técnicos em formato de blog, a densidade de informação é maior do que em vídeos no YouTube.
  • Super Mario World é uma obra-prima que colocou personagens, sprites e fases variados em apenas 360KB.
  • Se o método de chips de expansão do SNES fosse combinado com tecnologia moderna, também seria possível implementar gráficos mais avançados. O chip SuperFX tinha seu próprio framebuffer e copiava os dados para a VRAM.
  • Quem fez o port de Doom para o SNES desenvolveu tudo por engenharia reversa, sem documentação do chip GSU nem do código-fonte de Doom.
  • No passado, boa parte do preço dos jogos vinha do custo de fabricação dos cartuchos. Hoje, distribuir jogos quase não tem custo.
  • Em Yoshi's Island, é possível observar queda de taxa de quadros em certas situações.
  • O tamanho dos jogos seguia unidades em potência de 2 para se ajustar ao tamanho dos chips ROM. Não está claro de onde veio a contagem exata de bytes mencionada no documento.
  • Os chips de expansão do SNES permitiam jogos que iam muito além do desempenho básico do console. Em especial, o chip SA-1 mostrava desempenho 4 vezes superior ao da CPU principal.
  • Jogos não oficiais usavam vários expedientes para contornar a proteção contra cópia, como exigir que um cartucho original fosse conectado.
  • Analisar a correlação entre o tamanho dos jogos e outros fatores pode trazer insights interessantes sobre o desenvolvimento de jogos de SNES.