NES
De ROMHackingWiki
Tabela de conteúdo |
Sobre o Nintendo Entertainment System
O Nintendo Entertainment System (NES) foi um dos (senão o) vídeogame responsável por retirar a indústria do Crash de 1983, graças à diversos fatores: além de ter um hardware muito mais potente do que o de seus competidores já defasados (como Amiga e Atari 2600), inaugurando a "Era dos 8-Bits". O NES introduziu diversos conceitos que se tornaram padrão na indústria dos games, como o controle, os jogos licensiados (que deveriam ser aprovados pela Nintendo para serem lançados, diminuindo a saturação de jogos de baixa qualidade no mercado), e durou até ser substituído pelo Super Nintendo Entertainment System (SNES), em 1993, tendo vendido mais de 60 milhões de unidades até lá.
Especificações Técnicas
- Processador Principal: 6502 8-bit modificado (NMOS)
- Clock: 1.773447MHz (PAL) or 1.7897725MHz (NTSC)
- Processador Auxiliar: PPU de 8-Bit (Picture Processing Unit)
- Memória RAM: 16 Kbit (2 Kb)
- RAM de Vídeo: 16 Kbit (2 Kb)
- Memória do Programa do Jogo: 128K, 32K, 16K or 8K Bytes, 1 Meg, 256K, or 64K Bits
- Memória dos Personagens do Jogo: 128K, 32K, 16K or 8K Bytes, 1 Meg, 256K, or 64K Bits
- Scroll: Horizontal e Vertical
- Som: Som PSG (2 Ondas Quadradas, 1 Onda Triangular, 1 Ruído Branco)
- Cores Exibidas: 16
- Cores Disponíveis: 52
- Cores de Sprite: 4 das 52 disponíveis
- Tamanho Mínimo / Máximo do Sprite: 8x8 / 8x16 pixels
- Máximo de Sprites: 64
- Máximo de Sprites por Scanline: 8
- Tamanho Mínimo / Máximo do Cartucho: 128 Kbit / 4 Mbit
- Saída de Vídeo: 256x240
- Dimensões: 25,5cm x 8,5cm x 20,2cm ; 1247,9g.
Memória
NESDev
NESDev é um hobby que consiste em programar softwares e jogos para o 6052, que utiliza a linguagem ASM, e que podem ser emulados como qualquer outra ROM de NES. Como o console não é mais comercializado, não há atrito entre os desenvolvedores e a Nintendo. Um tutorial muito bom para quem deseja entrar no mundo de nesdev é o [NerdyNights], uma série de aulas aplicadas pelo bunnyboy.
Programação
A totalidade dos homebrews de NES são feitos em ASM. Além do Nes DevKit, ah o DevKit do parodius.com, ambos sendo altamente recomendados para o desenvolvimento de homebrews para o NES.
Um dos maiores problemas na programação caseira de NES é justamente a dificuldade de adaptação com a linguagem ASM, de baixo nível, que requer além de um conhecimento profundo sobre lógica de programação, um extenso conhecimento sobre o funcionamento do console, seus endereços de memória, opcodes, registradores, contadores, mappers e modos de endereçamento. Embora não seja tão intuitivo, entretanto, com a prática se torna fácil a aplicação de tudo isso em seu homebrew.
Kits populares de desenvolvimento:
Documentação
Além do já citado NerdyNights e do RHDN, há muitos sites menores sobre NES e NESDev espalhados pela internet. Um dos melhores acervos sobre programação 6052 é o Obelisk, que contém uma lista compreensiva de opcodes.
Ferramentas
Após muitos anos de aperfeiçoamento, o NES conta atualmente com uma grande gama de opções quando o assunto é emulação. Um esforço conjunto dos programadores casuais, os orientados ao romhacking, e os orientados ao TAS rendeu o FCEUX 2.2.1, o emulador mais estável e com mais opções da cena no momento. Quanto às ferramentas, não há nenhuma específica para o console. Os Editores Hexadecimais de sempre devem funcionar com ele, o formato de encoding no Editor Gráfico geralmente é 2BPP Planar, mas há exceções.

