A little known fact about the NES is that there are versions of the console that do not support all the controllers out there. The PAL version that came with controllers that have the NES-004E engraved on the back ONLY support controllers with this engraving and nothing else. Controllers from the NTSC version will not work and nor will any knock-off controllers from China.
I recently replaced my controller’s insides with the excellent DIY kit from 8BitDo that turns the original controller into a wireless version that works just as well.
I am using this with the also excellent NES retro receiver and works flawlessly. Since I am using the original chassis and buttons, the feeling is almost identical to the original controller sans the cable. The system worked fine on my PAL NES-E console as well.
But all that changed when I bought a couple of (admittedly very nicely built) knock-off controllers from China. I plugged both on either port on my NES and nothing seemed to work. It would be a huge coincidence for both the controllers to be faulty (I knew the console and both ports worked) so I investigated further.
It turns out that my console only supported NES-004E controllers (the 8bitdo receiver obviously is handling the issue fine). By disassembling the console, I noticed that each controller port was connected to some kind of board which in turn was connected to the main board. These boards had several diodes that obviously prevented other versions of the NES controller to work.
The solution turned out to be surprisingly easy. All one needs to do is bridge all the diodes (essentially bypassing them). You could also remove the whole board and connect the cables directly on the port but I felt this solution was easier to do and more elegant.
This modification is only useful if your NES has this board between each controller port and the main board and you have controllers you want to use that are not recognized. It can also be done in the same way on both ports. Doing this mod does not have any drawbacks, the original controller work just fine. But now, your NES is controller-region-free!