Este artigo foi baseado no Manual Técnico brasileiro do Super Nintendo produzido pela Playtronic e nele abordaremos o conjunto de operações básicas executadas pelo SNES a nível de hardware.
A finalidade do hardware do Super Nintendo é exibir os gráficos de vídeo que são contidos no firmware (a memória de apenas leitura - ROM) de um cartucho (ou outro dispositivo de entrada que fosse compatível) e permitir que o usuário jogue o jogo. O controle do jogador é realizado pela entrada a partir de uma leitura do dispositivo de controle feita através da CPU.
O Super Nintendo pode ser tanto conectado a uma TV ou a um monitor, pois ele, por padrão, contém uma porta de multi saída que pode fornecer uma conexão estéreo A/V, dados de imagem RGB e até uma saída SVHS (Super VHS). Uma saída independente permite a conexão RF com uma televisão através de um conjunto de comutação RF que oferece apenas som mono. No console também se encontra uma porta de expansão de 28 pinos para permitir a conexão de dispositivos periféricos.
Deste modo o SNES em si não funciona sozinho, mas precisa das informações contidas em um cartucho de jogo disponíveis em uma área de armazenamento somente leitura (ROM) e das entradas do usuário utilizando um controle (ou dispositivo compatível) para que se ocorra o desenvolvimento esperado. Assim, as principais funções do console são a execução de instruções da ROM, a produção de som, o processamento e exibição de imagens, o deslocamento de cenário e a movimentação de personagens. Todas essas atividades ocorrem sob o controle da CPU.
Por definição o Super Nintendo por ser dividido em oito blocos funcionais chamados de seções:
Seção de alimentação de energia
TF.Rave, CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons |
O adaptador de AC fornece 10 volts DC não regulado para o console. A seção de alimentação de energia no PCB principal é constituído de um filtro de ruídos, de uma proteção contra corrente inversa, de um interruptor de alimentação, de um supressor de picos, de um filtro de ondulações e de um regulador de tensão. As saídas são DC (Vcc) regulada de 5 volts e uma DC (Vs) não regulada de 7 volts que é usada pelo amplificador de som.
Seção de entrada do controle
Esta inclui arranjos de diodos e capacitores para proteção contra picos de tensão e resistores de pull-up para manter níveis lógicos. A CPU lê dados de entrada do controle a aproximadamente cada 17ms, mas essa amostragem pode ser variada a qualquer momento pelas instruções no software.
Seção de temporização do sistema
A temporização do sistema abrange um oscilador de 21 MHz, transistores, capacitores e resistores. O circuito produz um sinal de clock mestre de 21 MHz para a CPU para ambos os circuitos integrados da PPU e para o conector P1. A CPU divide o sinal do clock mestre por 6,8 e 12 para produzir frequências de clock de 3.58 MHz, 2.68 MHz e 1.79 MHz respectivamente. A CPU opera internamente a 3.58 MHz. Toda a transferência de dados para mapeamento de endereços opera em uma faixa padrão de 2.68 MHz. Contudo, dependendo do endereço a ser acessado pela CPU a velocidade do clock pode mudar automaticamente de acordo com a velocidade ou tempo de acesso usado pelo dispositivo (RAM, ROM, LSI). O Acesso Direto à Memória (DMA) é operando a uma velocidade de clock de 2.68 MHz (independente do endereço).
Seção de RESET
Abrange um oscilador de 4MHz, um circuito integrado de inversor hex. de 74HCU04, um de segurança (CIC), uma chave de reset e resistores e capacitores discretos. O CIC do console se comunica com o CIC do cartucho e para assegurar uma operação adequada dos processadores, ambas as PPUs se deverão tornar operacionais antes da CPU. Por essa razão, é aplicado um RESET do CIC à PPU2 que introduz uma demora, antes de passar o sinal para PPU1 e então para CPU.
Seção de Circuito Integrado de RESET
Chamado detector de tensão, assegura que, durante a interrupção de energia ou ocorrências de baixa tensão, a operação da CPU seja mantida para evitar um mau funcionamento ou uma fuga do sistema. Isso evita que dados errôneos sejam gravados na RAM do cartucho durante a cópia da memória.
Seção do Som
Baz1521 at ja.wikipedia, CC BY-SA 3.0 <http://creativecommons.org/licenses/by-sa/3.0/>, via Wikimedia Commons |
Inclui um módulo de som e um amplificador de som. O primeiro contém um microprocessador de som (CMP ou CPU de som), um processador digital de som (DSP), um conversos de Digital para Analódico (D/A) e dois circuitos integrados de RAM de 256K. O SMP é dedicado ao processamento de som e possui várias E/S e programas de monitor. Os dados de programa e de tom são carregados na RAM a partir da ROM do cartucho sob o controle do SMP. A é RAM compatilhada em uma base de tempo pelo SMP e DSP, este possui oito canais de som Modulado de Código de Puls (PCM), gerador de ruído, eco, varredura, envelope e outros circuitos para reproduzir qualidades de tom conforme for ordenado pelos dados armazenados na RAM.
O amplificador de som pode receber sua entrada de três fontes: do conector de expansão (P6), do conector de 62 pinos (P1) e do módulo de som. O amplificador possui um canal esquerdo e um direito, constituídos de amplificadores operacionais LM358. As saídas do op-amps se tornam a saída estéreo do conector de saída múltipla (P4). As saídas do modulador RF e o conector de expansão são mixados e se tornam monoaurais.
Seção de Display
Incluir uma PPU em dois circuitos integrados (PPU1 e PPU2), uma VRAM (duas SRAMs de 256K), o circuito de amplificador do RGB, o codificador RGB e amplificadores para sincronização e saída de vídeo. A PPU1 e a PPU2 funcionam como um único processador para montar o display da tela. Contudo, as funções principais da PPU1 são realizar a geração, a rotação, a ampliação/redução de objetos e o controle de endereços de cenário; enquanto as principais funções da PPU2 são da cor e realizar gráficos de efeito especial, tais como janelas, mosaicos, aumento ou diminuição da intensidade da cor e criar sinais de imagem de RGB a partir dos dados da imagem. Os sinais da imagem são recebidos pelo Codificador RGB que cria vídeo composto e saída de SVHS.
Seção de Programa
Aqui inclui a CPU e a RAM de trabalho. A CPU é o controlador mestre para as operações do console e algumas das suas funções são listadas abaixo:
- Captar e decodificar instruções provenientes da ROM;
- Fornecer sinais de temporização e controle para vários elementos do console e acessórios;
- Controlar a transferência de dados entre os circuitos integrados periféricos, inclusive o uso de DMA;
- Realizar operações aritméticas e lógicas pedidas pelas intruções
- Responder a sinais de controle periféricos gerados pelo CI, tal como RESET.