200
votes
Accepted
Why does the infamous "ENGAGERIDLEYMOTHERFUCKER" Metroid password break NES emulators?
Let's take a look at the code! A few seconds of Googling led me to a high-quality annotated disassembly by Kent Hansen and Nick Mikstas: https://www.metroid-database.com/source-code/
Whenever the user ...
84
votes
Could you reverse engineer silicon just by looking at it?
With a powerful enough microscope, you can see each transistor. Reverse-engineering silicon then boils down to carefully removing each layer (ceramic or plastic to expose the chip, then each metal ...
77
votes
Accepted
How can tilting a N64 cartridge cause such subtle glitches?
The main point to understand is that the console is limited. RAM on the console itself is faster than memory on the cartridge (and the cartridge memory was usually read only, with a little non ...
60
votes
Accepted
How did Super Mario Bros. 3 create this tunnel vision effect?
No MMC3 tricks are used for this effect; just standard background and sprite manipulation. Tiles that are completely invisible are replaced with a blank tile, while black sprites forming a circle ...
58
votes
Accepted
Why did Nintendo name its console the "Famicom"?
But why was it given an English name in Japan
Foreign Branding is a common marketing strategy to give a product a more distinguished name. Think 'Häagen-Dazs', a fantasy name with some Nordic 'flair' ...
53
votes
Could you reverse engineer silicon just by looking at it?
(More of a memory dump related to Stephen's answer)
At a time when ICs were of low complexity (compared today), could you actually see each transistor on the silicon and reverse engineer it?
Yes.
...
51
votes
How can tilting a N64 cartridge cause such subtle glitches?
I wouldn't say "It's a very specific and subtle kind of behavior." I really think this is the case of undefined behavior that has been reproduced so many times from N64 launch to now that ...
50
votes
Why did the Nintendo GameBoy Color make the name of any game to have a specific checksum?
The GameBoy Color has predefined colour palettes for a number of black-and-white GameBoy games. The title checksum is used to see if the current game is one of those, and if so, select the right ...
41
votes
Why does the original Donkey Kong update the screen in a curtain closing pattern?
This isn't a deliberate animation, it's an accident of the way the screen is being photographed, combined with the fact that a Donkey Kong arcade machine uses a CRT turned on its side.
A typical CRT ...
41
votes
Accepted
Why did the Nintendo GameBoy Color make the name of any game to have a specific checksum?
What is the purpose the checksum feature?
To provide limited colorization to a selection of legacy, Nintendo-published games, as well as show the Nintendo logo for two specific games, explained later. ...
38
votes
Accepted
Why does the original Donkey Kong update the screen in a curtain closing pattern?
Ken's answer is close but not quite right.
On the real arcade hardware the signal sent to the CRT monitor is read directly from RAM as the electron beam scans over the screen. That means that ...
37
votes
Accepted
GameBoy Color games do not save any more
Gameboy games use a CR2025 battery which over the years eventually dies stopping games from saving and causing previously saved games to disappear. Note however while the game is powered you can still ...
36
votes
How is memory allocated in Super Mario World?
Memory is allocated statically in Super Mario World. Every RAM location used is hard-coded into the game, although some are re-used by different parts of the code.
A full, annotated, and searchable ...
36
votes
Why do Game Boy Colors not want nickel-cadmium batteries?
I suspect more "don't disappoint the users" than "harm to the device".
From the Wikipedia AA article, not only is the nominal voltage lower (1.2V vs. 1.5V for both alkaline and ...
35
votes
Why does the infamous "ENGAGERIDLEYMOTHERFUCKER" Metroid password break NES emulators?
Fundamentally these 'passwords' aren't really passwords as such, but map back to a string of bits that control the state of the game - so it's more of a string representation of the current state of ...
33
votes
Accepted
Why didn't SNES Doom use mode 7?
Mode 7 is just an image warp — the programmer sets a 2d offset that is applied between each pixel and the next when proceeding in raster order. That allows 2d rotation and scaling to be applied; if ...
32
votes
Accepted
How does the NES Light Gun work?
The Zapper worked by receiving light through the photodiode at the front of the gun in the barrel.
mental_floss has a really great description of what happens:
When you point at a duck and pull ...
32
votes
Accepted
Why is a BIOS dump not required to emulate Nintendo 64 games in most modern emulators?
The Nintendo 64 ROM is only 2KB in size and apparently easy to emulate. It seems to only check the validity of the inserted cartridge's ROM and set up a limited environment.
Nintendo 64 cartridges ...
32
votes
Could you reverse engineer silicon just by looking at it?
It's worth noting what you can see, and what you can't.
First, you cannot see any feature that is much smaller than the wavelength of light that you are using. In 1995 I designed a chip for my Master'...
30
votes
Accepted
What was Nintendo's Software Development Environment for NES Games?
This website might help. A guy (Chris Covell) picked up a children's picture book in Japan which shows kids how NES games were made. (Mostly focussing on Super Mario Bros. 3)
Chris actually scanned ...
30
votes
How can tilting a N64 cartridge cause such subtle glitches?
This is the pinout of a Nintendo 64 cartridge (from here). The Nintendo 64 used a multiplexed address/data bus with a three-stage access protocol: write the high word of the address you want to ...
28
votes
Accepted
What was the point of the label on the bottom of the NES?
Any electronic equipment using radio frequencies which is sold in the USA has to be tested to show that it doesn't cause interference to other equipment, and also that it doesn't fail in a dangerous ...
25
votes
What was Nintendo's Software Development Environment for NES Games?
I worked with one and it was a pain to use.
It was a cartridge made of static ram; the computer would write the contents to the cartridge and you would manually reset the console.
it was slow, the ...
25
votes
In Tetris on Game Boy, does the speed increase depend on time or on the number of points?
Neither.
The level determines how fast the pieces drop. At level 9 a piece drops (assuming you don't press down) 1 row every 11 frames. So at the Gameboy's framerate of 59.73fps that means it drops at ...
23
votes
Accepted
Main board of the original Game & Watch (Ball)
I was involved with hardware remakes / clones of a few machines and we did reverse engineer one G&W game; I think it was Green House, if I remember well.
The games are build around a custom ASIC ...
23
votes
NES cartridge ROM emulation with Arduino or Pi?
As cbmeeks said, you're much better off with a FPGA or CPLD. It's going to be nearly impossible to emulate an NES ROM with a microcontroller. A Raspberry Pi would be fast enough, but not with an ...
22
votes
Why do Game Boy Colors not want nickel-cadmium batteries?
Two simple reasons.
Different battery chemistries have different voltage and safety.
Standard alkaline batteries are nominally rated for 1.5V, but they can have more than 1.6V when brand new and are ...
22
votes
Why did Nintendo name its console the "Famicom"?
There are several interviews with Masayuki Uemura (the creator of the familiy computer) online that contain a section about the name “family computer”. Many publications seem to be copied from each ...
21
votes
Can removing a cartridge from an NES (or any other cartridge-based game system) damage the hardware or software?
The NES can be damaged by software, so removing the cartridge at just the wrong timing could theoretically damage the console.
The 2CO2 PPU in the NES normally reads the background color from palette ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
nintendo × 83nes × 27
nintendo-64 × 15
snes × 12
game-cartridge × 11
hardware × 9
game-boy × 9
history × 8
rom × 7
famicom × 7
emulation × 5
gaming × 5
game-boy-advance × 5
6502 × 4
chip × 4
memory-layout × 4
glitches × 4
software × 3
power × 3
assembly × 2
memory × 2
arcade × 2
maintenance × 2
game-consoles × 2
sony-playstation × 2