Anapan wrote:I had opened my NES because my pin connector was crap and the only way I could make games run was to jam stuff against it to make the connection more secure. I accidentally dragged a screwdriver across the connector and it did something cool. I found that while a game is running if I randomly short pins together weird stuff happens. Most of the time the game will just crash, but sometimes the music, graphics, colors or even levels will change - stuff like
this youtube video shows. A great way to increase the longevity of games that I'd played to death.
So for anyone that is interested, I think I can explain why this happens with my limited knowledge of electronics.
As a huge coincidence, I just stumbled upon this YouTube video that explains how Read Only Memory (ROM) chips work using LEDs as a visual indicator:
https://www.youtube.com/watch?v=BA12Z7gQ4P0A ROM has different address lines that are used to access different areas of memory on the chip. Think of the ROM as a house, and you want to store all of your stuff in all of the rooms of the house. The address lines control which room you're looking in. The above linked YouTube video does a good job showing how the address lines work, but the important thing to note is that each address line is either high or low (binary). High being 5v (in this case) and low being 0v (or ground). The NES (or whatever console) directly interfaces with the address pins on the ROM chip on the cart, and will make each address line either low or high depending on what piece of data it wants to read.
So, by shorting pins together with a screwdriver or whatever, you're causing the NES to read a different area in memory than it was intending to. This would have a totally random effect, as Anapan noted.
You could build something to sit between the cart and the console, and wire each address line to a switch so you could pull each address line high or low respective of what the NES had it set to. That would be safer than shorting pins. But this is also basically how a Game Genie works, minus the random part. The Game Genie sits between the ROM on the cart and the console. When you enter a Game Genie code, you're instructing the Game Genie to watch for a specific memory location and return a specific value (a different value for that address than what would have been read from the ROM).