2 pontos por GN⁺ 2023-12-28 | 1 comentários | Compartilhar no WhatsApp

Imagens compatíveis

  • Modelos
    • Original
    • Color

Modelos

  • O Game Boy original foi lançado em 21 de abril de 1989 no Japão, em 31 de julho de 1989 nos Estados Unidos e em 28 de setembro de 1990 na Europa.
  • O sucessor da geração seguinte, o Game Boy Color, foi lançado em 21 de outubro de 1998 no Japão, em 18 de novembro de 1998 na América do Norte e em 23 de novembro de 1998 na Europa.

Placa-mãe

  • Original
    • Marcada

Diagrama

  • Diagrama da arquitetura principal do Game Boy original

Introdução rápida

  • O Game Boy pode ser imaginado como um NES portátil com desempenho limitado, mas inclui vários recursos novos bastante interessantes.

Análise do arco-íris

  • Devido à enorme popularidade deste console, surgiram várias revisões (por exemplo: Game Boy Pocket, Light, formato de cartucho de Super Nintendo etc.).
  • A marca Game Boy abrange duas gerações.
  • Na 4ª geração estão o Game Boy monocromático e suas revisões, e na geração seguinte está o Game Boy Color (lançado após o fim do Virtual Boy).
  • Como este texto cobre ambas as gerações, no fim você terá uma boa compreensão de como o funcionamento e a tecnologia do Game Boy evoluíram até se tornarem o Game Boy Color.

CPU

  • Em vez de colocar vários chips disponíveis no mercado na placa-mãe, a Nintendo escolheu um design de chip único que contém (e esconde) a maior parte dos componentes.
  • Esse chip é chamado de System On Chip (SoC) e, neste caso, foi feito especialmente para este console, sob medida para as exigências da Nintendo (eficiência energética, antipirataria, I/O adicional etc.).
  • Como esse chip não pode ser encontrado em catálogos de varejo, os concorrentes da época tiveram mais dificuldade para fazer clones.
  • O SoC usado no Game Boy é chamado de DMG-CPU ou Sharp LR35902, e é fabricado pela Sharp Corporation.
  • Essa empresa mantém uma relação próxima com a Nintendo.

Núcleo da CPU

  • O processador principal dentro do DMG-CPU é o Sharp SM83, uma mistura entre o Z80 (CPU usada no Sega Master System) e o Intel 8080.
  • Ele opera a cerca de 4,19 MHz, o que o torna mais rápido do que uma CPU média de 1 MHz.
  • O SM83 não inclui os registradores IX ou IY do Z80, nem as instruções IN ou OUT do 8080. Em outras palavras, não é possível usar portas de I/O.
  • Como apenas o conjunto de registradores do Intel 8080 foi implementado, ele tem apenas 8 registradores de propósito geral, em vez dos 16 do Z80.
  • Ele inclui parte do conjunto de instruções estendido do Z80 (apenas instruções de manipulação de bits).
  • A Sharp adicionou algumas instruções novas que não existem nem no Z80 nem no 8080. Elas otimizam tarefas específicas relacionadas à forma como Nintendo/Sharp configuraram o hardware.

Efeitos de cor

  • Quase 10 anos depois, após deixar de lado o Virtual Boy e seu hardware inovador, surgiu o modesto sucessor: o Game Boy Color.
  • No interior há um novo SoC, o CPU CGB, com alguns acréscimos; o núcleo SM83 continua o mesmo, mas a frequência de clock foi dobrada (agora opera em ~8,38 MHz).
  • Os desenvolvedores puderam reutilizar a tecnologia existente para programar o novo console, economizando custos sem precisar redesenhar o sistema para uma nova arquitetura, além de possibilitar compatibilidade retroativa sem grande esforço.
  • O CPU CGB implementa dois modos de operação:
    • Modo normal: o SM83 opera em ~4,19 MHz.
    • Modo de velocidade dupla: o SM83 opera em ~8,38 MHz.

Acesso ao hardware

  • O SM83 mantém um barramento de dados de 8 bits e um barramento de endereços de 16 bits, podendo endereçar até 64 KB de memória.
  • O mapa de memória é composto principalmente pelos seguintes pontos:
    • Espaço do game pak (cartucho do jogo).
    • RAM de trabalho (WRAM), RAM alta (HRAM) e RAM de vídeo (VRAM).
    • I/O (joypad, áudio, gráficos, LCD).
    • Controle de interrupções.

Memória disponível

  • A Nintendo equipou a placa-mãe com 8 KB de RAM. Ela é usada para fins gerais (chamada de Work RAM ou 'WRAM').
  • Dentro do SoC há ainda 127 B adicionais de RAM, oferecendo um pequeno espaço para dados que precisam de acesso imediato (por exemplo: a pilha).

Gráficos

  • Todos os cálculos gráficos são feitos pela CPU, e depois a Picture Processing Unit ou 'PPU' faz a renderização.
  • O resultado é exibido na tela LCD integrada, com resolução de 160×144 pixels e, no Game Boy monocromático, 4 tons de cinza (branco, cinza claro, cinza escuro e preto).

Organização do conteúdo

  • A PPU está conectada a 8 KB de VRAM ou 'RAM de vídeo', e também fornece à CPU um acesso ajustado.
  • Cabe ao jogo preencher as diferentes áreas com o tipo correto de dados.

Construção do frame

  • Para ver como a PPU desenha elementos na tela, podemos usar Super Mario Land 2 como exemplo.

Tiles

  • A PPU usa tiles como material básico para renderizar os gráficos.
  • Um tile é um bitmap 8x8 armazenado na área da VRAM chamada conjunto de tiles ou 'tabela de padrões de tiles'.

Camada de fundo

  • A camada de fundo é um mapa de 256x256 pixels (32x32 tiles) que contém tiles estáticos.
  • A parte exibida na tela é escolhida pelo jogo, que pode mover a área visível durante a jogabilidade.

Janela

  • A janela é uma camada de 160x144 pixels exibida sobre o fundo e os sprites, e essa camada não rola.

Sprites

  • Sprites são tiles que podem se mover independentemente pela tela.
  • Essa camada usa/requer uma cor adicional chamada transparente.

Resultado

  • Quando o frame é concluído, passa-se para o próximo frame.

Segredos e limitações

  • A introdução da camada de janela e de interrupções adicionais possibilitou novos tipos de conteúdo e efeitos.

Acréscimos de cor

  • A PPU do Game Boy Color funciona como um superconjunto da original.

Áudio

  • O sistema de áudio é implementado pela Audio Processing Unit (APU), um chip PSG de 4 canais.

Recursos

  • Cada um dos quatro canais é reservado para um único tipo de forma de onda:
    • Pulso
    • Ruído
    • Onda

Segredos e limitações

  • O mixer produz som estéreo, então os canais podem ser atribuídos à esquerda ou à direita.

Sistema operacional

  • Diferentemente do NES, o Game Boy foi projetado para sempre inicializar a partir de uma ROM interna de 256 bytes, e depois saltar para o código do jogo.

Jogos

  • Os jogos são escritos em assembly e têm tamanho máximo de 32 KB.

Comunicação externa

  • É possível se comunicar com outro Game Boy usando o cabo link do Game Boy.

Antipirataria

  • O console não executa o jogo imediatamente; em vez disso, realiza uma série de verificações para impedir a execução de cartuchos não autorizados e confirmar se o cartucho foi inserido corretamente.

Opinião do GN⁺

  • A evolução técnica do Game Boy representa um avanço importante na história dos consoles portáteis.
  • A abordagem de SoC da Nintendo foi inovadora no design de hardware e dificultou que concorrentes fizessem clones.
  • A compatibilidade retroativa do Game Boy Color trouxe grandes vantagens tanto para desenvolvedores quanto para usuários.

1 comentários

 
GN⁺ 2023-12-28
Comentários do Hacker News
  • O impressionante no desenvolvimento do Game Boy original é que, na época, a equipe de Gunpei Yokoi enfrentou bastante ceticismo. Havia quem dissesse que seria incômodo jogar no ônibus ou no banheiro. A visão deles era criar um dispositivo que oferecesse jogos simples e curtos usando tecnologia simples. Essa equipe foi a principal responsável por dar início aos jogos mobile.
  • Houve menção ao Game Boy Color, mas a parte que dizia que o tamanho dos cartuchos era de 1 MB não foi corrigida. Alguns jogos de GBC chegavam a 4 MB. Além disso, há também um jogo de trem de 8 MB, com vídeos curtos e imagens em alta qualidade.
  • Obrigado pela demo usando áudio de Pokémon. Foi uma viagem nostálgica.
  • O Game Boy é meu console favorito de todos os tempos. Atualmente estou desenvolvendo um jogo de pinball dungeon crawler em ASM (linguagem assembly). O hardware é fácil de entender, e as limitações exigem criatividade.
  • Fico me perguntando se hoje vivemos em uma era em que qualquer pessoa pode comprar as peças necessárias e PCBs para recriar um Game Boy.
  • O que será possível fazer ao aprender a arquitetura do Game Boy? Está planejando hackear a Terra, por acaso?
  • Existe um livro inteiro sobre o Game Boy, mas infelizmente ele não foi traduzido para o inglês. Comprei em espanhol. Ele inclui entrevistas únicas com os criadores.