O Nintendo Entertainment System (NES) é um dos consoles de videogame mais icônicos e foi responsável por reviver a indústria dos videogames nos anos 80 após o crash de 1983. Vamos explorar brevemente como este sistema funciona.
Os cartuchos do NES contêm a ROM do jogo, que é basicamente o código e os dados que o NES lê para executar o jogo. Alguns cartuchos possuem chips adicionais para melhorar a capacidade gráfica ou sonora.
O NES, apesar de suas limitações técnicas em comparação com os padrões atuais, é um marco na história dos videogames. A combinação de seu hardware com jogos bem projetados tornou-o uma parte inesquecível da infância de muitos e um objeto de estudo e admiração até hoje.
.segment "VECTORS" ; Segmento de Reset Vectors
.dw VBlank ; NMI
.dw RESET ; RESET
.dw IRQ ; IRQ
.segment "STARTUP" ; Código inicial
RESET:
sei ; Desativar interrupções
cld ; Limpar flag decimal
ldx #$FF ; Set X to FF
txs ; Set stack pointer
; Aqui vai o código para configurar a PPU, etc.
MainLoop:
; Código para escrever "Hello, World!" na PPU
jmp MainLoop ; Loop infinito
VBlank:
rti
.segment "CHARS"
HELLO_WORLD: ; Representação de "Hello, World!" em tiles
.byte 0x08, 0x05, 0x0C, 0x0C, 0x0F, 0x00, 0x13, 0x0F, 0x12, 0x0C, 0x04, 0x00