Перейти к содержимому

This NES Game Swaps Its Own Code 17 Times in Half a Second

Tick By Tick

0:00 / 0:00

This NES Game Swaps Its Own Code 17 Times in Half a Second

794 просмотра · 3 нед. назад
Tick By Tick
76 подписчиков
794 просмотра · 3 нед. назад
Mega Man is 128 KB of program. The NES can only ask a cartridge for 32 KB at a time: fifteen address wires go into the slot, and there is no sixteenth. So how does the game run at all? It writes to memory that can't be written. The byte is never stored, but something on the cartridge hears it, a 4-bit register built from two off-the-shelf chips, and a different 16 KB slice of the game appears at the very same addresses. In this episode I trace it inside my own NES emulator: the five lines of arithmetic behind mapper 2, the 17 bank switches Mega Man makes while booting, why the top half of the window can never move, why the game writes a byte that's already there, and how the graphics get copied in before the picture comes on. 0:00 The write that didn't vanish 0:58 Fifteen wires 1:51 The number you call out 3:10 Two windows, one multiplication 5:06 Don't saw off the branch 6:15 Seventeen times in half a second 7:18 The graphics chip that starts empty 8:25 The same gesture, with a finer knob 9:23 Zoom out, and the next question The NES, piece by piece 1. The processor:    • The NES CPU Can’t Multiply. It Ran Super M...   2. The cartridge:    • Twenty Times Bigger Than the Machine That ...   Full series:    • The NES, piece by piece   The full source of the emulator, in C: https://github.com/TickByTickDev/NES-Emu #NES #MegaMan #RetroComputing