Hot answers tagged

187 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 ...
user avatar
  • 5,074
119 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 ...
user avatar
  • 1,204
79 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 ...
user avatar
  • 34.3k
76 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 -- ...
user avatar
  • 5,074
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 ...
user avatar
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 ...
user avatar
  • 1,099
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 ...
user avatar
  • 5,074
57 votes

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' ...
user avatar
  • 168k
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 ...
user avatar
  • 17k
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 ...
user avatar
  • 1,770
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 ...
user avatar
  • 95.7k
41 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 ...
user avatar
  • 5,074
40 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 ...
user avatar
  • 17.2k
36 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 ...
user avatar
35 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 ...
user avatar
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 ...
user avatar
  • 571
33 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 ...
user avatar
  • 431
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 ...
user avatar
  • 9,162
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. ...
user avatar
  • 5,074
29 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 ...
user avatar
28 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 ...
user avatar
  • 13.7k
28 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 ...
user avatar
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 ...
user avatar
  • 5,074
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'...
user avatar
  • 11.3k
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'. ...
user avatar
  • 9,875
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 ...
user avatar
  • 3,582
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 ...
user avatar
22 votes

386SX, NES and how much did data lines really cost anyway?

So that indicates extra data lines were very expensive; the difference between a 386SX and 386DX computer came to hundreds of dollars. Not really. Sure, they need to have some room and routing - and ...
user avatar
  • 168k
22 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 ...
user avatar
  • 13.7k

Only top scored, non community-wiki answers of a minimum length are eligible