202
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 ...
118
votes
Accepted
Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?
One use is as a copyright mechanism. Many distributors would steal/copy programs and sell pirate or derivative copies, by changing the text strings inside the code and reordering the blocks, it was ...
85
votes
Accepted
Why did the NES not allow rotated sprites?
For each sprite displayed on a scanline, the hardware fetches two bytes from memory, and then clocks the pixels out one by one. The sprite is eight pixels wide, and each pixel is two bits, which is ...
78
votes
Accepted
Is it possible to make a ROM converter?
Note: This answer mainly focuses on the NES, since that's what I'm most familiar with.
Yes; this is called static recompilation or static binary translation, and it is theoretically possible -- ...
72
votes
Accepted
Why does the Minus World exist?
In Super Mario Bros, you can access warp zones in three areas of the game. There are two of these that are important for the minus world glitch: the one at the end of World 1-2 (following the exit ...
71
votes
Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?
The NES was also from the era where some sound and graphics resources were also executable code. (Typically, this worked the other way around. Identify a needed sound and listen to chunks of the ...
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' ...
52
votes
Why does the Minus World exist?
Warp zones exist at the end of some levels. In order to access them, you have to break through blocks at the top of the level, then run along the top until a secret area becomes visible. In order to ...
52
votes
Were the classic game consoles *technically* able to play both NTSC and PAL games, if ignoring artificial region lock-in?
They were different.
You probably already know that NTSC is 60 Hz and PAL is 50 Hz. The video generation hardware was much more 'bare metal' than today (the NES color palette implementation was so ...
42
votes
Accepted
How can I create a split-scroll effect in an NES game?
This is done by changing the scroll mid-screen.
This is what the nametables look like on scanline 30 in Super Mario Bros, with the scroll shown:
The horizontal scroll is 0 (you can barely see the ...
42
votes
Accepted
386SX, NES and how much did data lines really cost anyway?
The situation with the 386(DX) v. 386SX is similar to the situation with the 8086 v. 8088. The big issue isn’t the data lines (although they do have an impact on complexity and cost when routing a ...
42
votes
Accepted
What is the purpose of mirrored memory regions in NES's CPU memory map?
It is not intentionally mirrored, it is just a side effect of making the address decoding hardware for RAM as simple and cheap as possible with a single common 74LS139 chip used for the task, when an ...
37
votes
Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?
I'm just speculating here, but one possible reason for using a 2-byte NOP would be if you wanted to change an existing 2-byte instruction into a NOP (to fix a bug, for instance), without changing the ...
37
votes
Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?
A mistake?
The instruction $89 on the 6502 is a two-byte NOP. Based on adjacent instructions in the opcode matrix, especially LDA #ii ($A9 ii), it would have been STA #ii, a store to an immediate ...
35
votes
Accepted
Were the dungeons in Legend of Zelda designed to fit together?
As seen in that incorrect† image, the levels seem to merge well. This wasn't a case of "Let's take these shapes, and see if they... whoa! They fit together!"
It was more like, "Here's ...
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 ...
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
What is a subpixel in Super Mario Bros, and how does it relate to wall clipping?
Subpixels in general are invisible fractional pixels that you cannot see, but are used internally to represent the positions of objects at a finer level than they're capable of being displayed at.
So ...
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
Accepted
Why do NES sprites flicker when there are a lot of them?
The Picture Processing Unit (PPU) in the NES can only draw 64 sprites per frame and 8 sprites per horizontal line (scanline). If the game tries to draw more than that, some of them will be invisible.
...
29
votes
Accepted
How did Elite on the NES work?
The cartridge contains extra RAM. The NES can use tiles in cartridge memory space, but that doesn't necessarily have to be ROM. With suitable RAM and memory mapping the cartridge can create a basic ...
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 ...
28
votes
Accepted
Is the only reason that my PAL NES is able to run NTSC/American games that it's doing it on an EverDrive?
The NES's region lock is implemented in hardware, not software, with the CIC chip. The NES contains a CIC, and each authentic cartridge contains an identical CIC. When the console is powered on, the ...
26
votes
Were the dungeons in Legend of Zelda designed to fit together?
Typically in cases like this, they are designed to fit together.
Actually, it's not so much that they are separate maps that happen to fit together, but rather it's just one big map and each 'dungeon'...
26
votes
What is the "NES version" of the NES?
The 'NES Version' was the branding of the revision of the Nintendo Entertainment System for the UK release. The European (non-UK) version of the Nintendo Entertainment System, was not a 'NES Version'. ...
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
Accepted
Did the NES do anything special to support coprocessors?
You're correct about it being a consequence of cartridges being able to observe the PPU memory bus. The advanced video features of the MMC5 and other mappers might have been trivial to add if Nintendo ...
25
votes
What is a subpixel in Super Mario Bros, and how does it relate to wall clipping?
In many 8 bit games the position of the player's sprite is stored as the pixel coordinates it rests on. For many games that is adequate, but it has some limitations.
If the game only uses whole pixel ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
nes × 92nintendo × 27
emulation × 10
snes × 9
game-cartridge × 8
hardware × 7
graphics × 7
6502 × 6
sprite × 6
famicom × 6
gaming × 5
ntsc × 5
pal × 5
rom × 4
glitches × 4
history × 3
memory-layout × 3
design-choices × 3
nintendo-64 × 3
game-consoles × 3
sega-genesis × 3
assembly × 2
programming × 2
software × 2
chip × 2