« Arquitetura do Super Nintendo (index)

Arquitetura do Super Nintendo

Chapter 6: Jogos


Índice

  1. Configuração do Cartucho
    1. Além da convenção

Para ser franco, o programa principal é escrito em linguagem de montagem (assembly) do 65816 e o driver de música é escrito em linguagem de montagem do SPC700. Receio que você não encontrará nenhuma das comodidades disponíveis em equipamentos do século XXI.

No entanto, foram distribuídas algumas ferramentas pela Nintendo, pela Intelligent Systems e pela Ricoh para facilitar a vida dos programadores, incluindo :

Curiosamente, vários estúdios de jogos como Argonaut Software, Accolade, SN Systems e outros também desenvolveram seus próprios equipamentos internos que forneceram mais capacidades do que as ofertadas oficialmente (ou seja, editor de memória, leitor de disco flexível, kit de desenvolvimento como uma placa-filha ISA, etc.) .

Configuração do Cartucho

Quando se trata de acessar o cartucho, as coisas ficam muito mais confusas em comparação com o modelo de mapeamento relativamente mais simples do NES. Ainda assim, acho interessante, especialmente para entender como ele poderia ser expandido.

O 65C816 usa um barramento de endereço de 24 bits, o que permite acessar até 16 MB de dados. No entanto, devido à forma como o console é projetado, parte do espaço de endereçamento é consumido por componentes mapeados em memória. Além disso, o 65C816 possui apenas 16 linhas de endereço que são combinadas com um registrador interno para formar um endereço de 24 bits. Isso é análogo a abrigar um mapeador interno e exigir comutação de bancos para acessar dados extras além dos limites do barramento de endereço. Se você ler outros artigos da mesma geração, encontrará essa metodologia um tanto familiar.

Image
Exemplo de placas de cartuchos projetadas com diferentes configurações .
De cima pra baixo: LoROM (ROM dupla com SRAM alimentada por bateria), LoROM (ROM simples com SRAM alimentada por bateria) e LoROM (ROM simples)

Dito isso, quando se trata de projetar cartuchos, há diversas maneiras de conectar eletricamente os pinos de endereço entre a ROM e a CPU. Cada uma se aproveita da comutação de bancos de uma maneira diferente. Existem dois modelos fundamentais que permitem acessar até 4 MB de ROM e 64 KB de SRAM , e eles funcionam assim:

Em ambos os casos, grande parte do espaço da ROM é espelhada em toda a área restante do espaço de endereçamento da CPU, mas aqui está a parte interessante: uma metade do espaço pode ser lida a ~2,68 MHz enquanto a outra pode atingir 3,58 MHz.. Isso só ocorrerá se o chip de ROM suportar a velocidade mais alta e o sinal FastROM da CPU estiver habilitado .

Algo que ainda não mencionei é que os cartuchos que contém SRAM também precisam ter um chip MAD-1 (ou similar) para realizar a decodificação de endereço. Isso é especialmente necessário para selecionar corretamente os pinos que escolhem entre chips de ROM e de SRAM .

Além da convenção

Agora, se os programadores precisarem de mais espaço, é aí que entra em jogo os modelos derivados da LoROM e HiROM. Por exemplo, duas variações comumente referidas como ExHiROM e ExLoROM expandem o espaço de endereçamento da ROM, reduzindo a área espelhada. Ambas podem acessar cerca de 7,9 MB de ROM.

Image
Star Fox (1993) usa o chip Super FX GSU para renderizar superfícies 3D (a S-PPU apenas enxerga a camada de plano de fundo feita de tiles erráticas).

Alternativamente, e o mais importante, a LoROM e a HiROM também podem ser adaptadas para abrigar chips de aprimoramento no cartucho. Esses são processadores adicionais que expandem as capacidades do console. Para citar alguns exemplos de novas configurações:

É difícil ignorar o impacto que essa engenharia teve nos jogos durante os anos 90, muitos dos quais conseguiram superar as expectativas destes consoles sem exigir módulos de expansão e afins. Pode-se dizer que isso dificultou os planos da Nintendo de lançar um sucessor do SNES (o que pode explicar por que jogos em estágio de desenvolvimento avançado como Star Fox 2 foram cancelados).


Previous: 5. Áudio

Next: 7. Anti-pirataria / Trava de região


Rodrigo Copetti © 2026 RSS Feed

Mudar para a edição moderna

Início · Artigos · Suporte · Sobre o autor · Sobre o site