Nintendo (NES) Controller - Electronics

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

Комментарии • 297

  • @JamieBainbridge
    @JamieBainbridge 4 года назад +134

    Absolutely beautiful. Some of us learn the theory and code a microcontroller to use a real controller. You attack the same problem from the entire other direction and make an entire pretend controller to interact with a real console, then view it on a scope. Not having either an oscilloscope or the experience to use one, this sort of low-level investigation was thoroughly enjoyable. Well done and thanks as always for your videos!

  • @etansivad
    @etansivad 4 года назад +92

    As someone who just bought his first breadboard this week, this video was really helpful in understanding the fundamentals with a controller I grew up using :D

    • @stillrabit73
      @stillrabit73 4 года назад +4

      Biggest thing I will urge any new electrical hobbyist / maker to learn (beyond basic components) is multiplexers, opamps, and shift registers. You can make so much cool shit with just those three things and complementary components of course.

    • @VoidHalo
      @VoidHalo 4 года назад +3

      Welcome to the world of electronics. I just got into it myself a couple of years ago. Two sites I'd strongly recommend checking out are Circuitmod on Paul Falstad's site, which is a great circuit simulator that really helps to visualize what's happening in a circuit, as well as helps to design and understand simple circuits. It has some great examples of fundamental circuits, both digital and analog.
      The other is the textbook section of allaboutcircuits.com It's laid out in order of what you should start with, going through DC, AC semiconductors and digital circuits in many detailed, but easy to understand chapters.
      Both sites were instrumental in helping me to get where I am today in terms of my knowledge, though I had many other resources to help me. These are just the two main ones. As a bonus, I'll also recommend checking out a program called Logisim. It's another circuit simulator, but it focuses purely on digital circuits. It's flexible enough that you could design and simulate a full computer within it.
      In terms of advice, the most important thing I can tell you is don't rush the learning process. And don't shy away from the math. I can't overstate how important math is for this. A lot of people are scared of it, but I found in the context of a practical application, it's not nearly as painful as it was to learn math in school.
      But enjoy the journey, and don't worry too much about the destination. There is a ton of stuff to learn in electronics. College students don't even get into transistors until 2nd year. So just try to take your time so you don't end up with any gaps in your knowledge. It's better to spend a few days or weeks making sure you learn something proper than to spend years being hindered by a gap in your knowledge. There's no harm in jumping ahead if you're curious about something, but take care not to get distracted and forget about the fundamentals. So many times I've tried to jump ahead, only to find I need to know about half a dozen other things if I want to have any understanding of whatever I jumped ahead to.
      And don't be put off by failure. Failure is what helps us learn more than anything else.
      Cheers. And happy learning. :)

    • @vasili1207
      @vasili1207 4 года назад

      @@stillrabit73 ok i will take that on board.... how much more intrest did you get when you switched banks?
      😊👐

    • @stefanegger
      @stefanegger 4 года назад

      what is a breadboard ? He talks about NES console

  • @Oyocat
    @Oyocat 4 года назад +1

    Anyone else have no idea what hes talking about but is listening intently anyway? Listening to someone know what they're doing feels so relaxing for some reason.

  • @RustoKomuska
    @RustoKomuska 4 года назад +21

    just recently started learning electronics in college, cool to recognise the stuff ive learned in class while screwing around on youtube

  • @livefreeprintguns
    @livefreeprintguns 3 года назад +8

    I've only been a subscriber for about a week now, but my god the amount of appreciation that I took for granted as a child in regards to televisions, consoles and how to interface them (ie: RF modulators, RCA cables, etc...) grows exponentially with each video of yours I watch. Truly next-level amazing stuff my dude!

  • @SdudyoyO
    @SdudyoyO 4 года назад +42

    Makes you appreciate the engineers who built these sorts of devices in the first place. Don't get me wrong, breaking this stuff down in an easy to digest way is complicated, but imagine having to design a controller before one existed. I think we take for granted just how complicated our every day devices are.

    • @KuraIthys
      @KuraIthys 4 года назад +11

      Well, game machine designers had an advantage here, because the kind of things they built existed in industrial control systems long before game systems.
      Joystick-like devices were developed hand in hand with aircraft. And while those were mechanical...
      Electrical switches also existed since electricity became mainstream.
      And well, not to be too blunt about it, but you know what an Atari 2600 controller looks like on the inside?
      Yeah, it's literally just a set of switches connected between wires that run to the console itself.
      It's about as basic as wiring a switch directly to a microcontroller at that point.
      This might've been novel in relation to it's use in gaming, but it was something that was in widespread use in electrical devices for decades by that point.
      The mechanical design of stuff like a D-pad is a lot more interesting overall.
      And more complex designs of course, yes, they did get pretty clever, but they had the older designs as a reference. (and many companies literally copied atari - right down to the connector used. - the various systems could all use the exact same controllers. You can even still attach a Mega Drive controller to an Atari 2600 and it mostly still works)
      Plus, a shift register is a very common component with a well understood purpose. (it converts parallel data to serial data and vice versa).
      These designs are very clever, don't get me wrong.
      But from an electrical engineering point of view they are extremely trivial.
      (the design of the plastic casing, d-pads, exact feel of the buttons and so on is actually considerably more challenging.)

    • @twn5858
      @twn5858 4 года назад

      Just a bunch of switches. Doesn't seem like it should be that complicated.

    • @Nordlicht05
      @Nordlicht05 4 года назад +1

      @@twn5858 Happens to me often at work... Why haven't you see this it's obvious... Yes now in this moment it's also obvious for me. But last week. Why didn anyone say a word... Yes!

    • @DiThi
      @DiThi 3 года назад +1

      I bet they started by wiring the buttons directly to the CPU, then ran out of IO pins so they added the shift register to the motherboard, to then realize they can move the shift register to the controller to use half as many wires. If they wanted to reduce the 4 player lag they could have used 2 or 4 IO pins instead of one.

  • @benjaminbrady2385
    @benjaminbrady2385 4 года назад +34

    I just found this channel and I just needed to say how amazing it is!!

  • @colestunden7572
    @colestunden7572 4 года назад +24

    New favorite channel! Love the topics you cover like sound preservation or the history/explanation of television signals. On a binge now. This channel deserves more eyes from the gaming community. I found the channel on a algorythm reccommendation, hope others do too.

  • @iCach0
    @iCach0 4 года назад +10

    Amazing! You do a great job at explaining technical stuff in a way that anyone can understand and find interesting.

  • @bearmatic
    @bearmatic 4 года назад +1

    This channel is a hidden gem. So glad it popped up as a suggestion after watching some Adrian Black's Basement. Your approach is thourough, yet light! So many topics I thought: "I've seen this kins of video before elsewhere, why should I bother?" just to be drawn in, marvel at the detail, listening to your crystal clear means of explanations and understanding most of it! So good. You're highly undersubbed!

  • @Komagb
    @Komagb 4 года назад +3

    This is the most in-depth analysis of the NES controller I've ever seen. Kudos!

  • @JuanesChiwirosky
    @JuanesChiwirosky 4 года назад +4

    It Would be So cool if you can make a similar video about the N64 controller, since I was a child I was impressed with the fact that its connection only uses 3 pins..
    Also thanks for sharing all this information and for making it as easy to understand as possible

  • @r.g.thesecond
    @r.g.thesecond 6 месяцев назад +1

    This channel is a goldmine for homebrew noobs (like me). Thank you for your unapologetic deep dives!

  • @null_state
    @null_state 4 года назад +2

    Awesome channel. A lot is over my head, I admit, but I love how professionally done your videos are, and the retro 80s music keeps me glued as well!

  • @dsuess
    @dsuess 4 года назад +5

    Damn, i tip my hat to those engineers who made the system. That's badass! Thank you for exploring this breakdown, as the pint glass is raised to you

  • @danielturner1891
    @danielturner1891 4 года назад +5

    Wow! This video is incredible. I’ve learned so much in just one video. I feel like everything should have just flown over my head, but I was able to grasp a lot more than I’d expect due to the excellent teaching leaving in even what feels like some of the more basic information so someone like me can “catch up”. Subscribed.

  • @donchaput8278
    @donchaput8278 2 года назад +1

    I'd would be interested in additional breakdowns of controllers and the differences! Part 2?

  • @Hamster07
    @Hamster07 3 года назад +3

    this was so well made you made me think i knew what you were talking about

  • @jn_gutierrez
    @jn_gutierrez 4 года назад +1

    Your channel is something my subconscious had been craving for quite a while. Congratulations and keep up the amazing work.

  • @danieljimenez1989
    @danieljimenez1989 4 года назад +2

    It's important to note that the latch pulse doesn't just mean 'gimme the sate of A'. The timing of the latch pulse defines the sample time for all buttons, the latch pulse says 'capture the state of all buttons right now and output A in the data pin'. The clock pulses then shift the output to the next button, but these clock pulses don't define when the buttons are sampled. Many snes games clock out slower than nes games did, because of the use of a hardware feature that automatically reads controllers, so they are 'more laggy' in that sense.

    • @DisplacedGamers
      @DisplacedGamers  4 года назад

      "Let's go. Gimme A" was a slang way to say that the NES latch-signals the moment in time to take a snapshot of the pressed buttons as soon as the register hits parallel mode, and the register immediately starts outputting the state of "A" to the NES. This is always the first button the NES is expecting.
      I mentioned it signaling a capture like a "snapshot" or a "photo" of the buttons states during the PCB section of the explanation, I believe.
      I suppose I could have mentioned it again in the scope section. I just wanted a bit of slang to help take away from the complexity of the scope. :)
      Appreciate you dropping the word about the slower clock out on the SNES, Daniel! I'd like to examine the SNES in a bit more detail in a future video.
      Always welcome your feedback!

    • @danieljimenez1989
      @danieljimenez1989 4 года назад

      @@DisplacedGamers To be clear, I think this video (and all of your others) are pretty good. The explanation was ok, but I thought I'd made sure to note that, just because there may be some confusion as to when things happen, exactly. Cheers.

    • @sa3270
      @sa3270 4 года назад

      I noticed on the oscilloscope it showed 8 shift pulses following the latch pulse. So am I right that the 8th shift pulse was not necessary? I suppose it's just the way the software loop was written.

  • @fintux
    @fintux 4 года назад +1

    I always wondered as a kid how the controller worked as there were less pins than there were buttons, and considered also that even if the d-pad only had one position, it would take three bits (none, up, left, down, right), so it didn't explain. So I figured there must be something smarter there, but I never dug out what it was... But now I know. I liked the style of the video: it explains everything from the ground up, but still progresses quickly enough even for somebody that already knows at least the basic concepts. Maybe a video on the Zapper at some point? :)

  • @ahobimo732
    @ahobimo732 4 года назад

    This is one hell of an awesome video. It takes a complicated subject and explains it with perfect clarity, at the level of a total beginner. Everything is explained so rigorously and logically. This is high quality education.

  • @CAHSR2020
    @CAHSR2020 4 года назад +4

    Enjoyed the content and was able to keep up despite no electronics background. Well done. 👍

  • @Cab895
    @Cab895 4 года назад +4

    this blew my mind. How can someone be so thorough explaining something, yet at the same time make it so easy to digest.

  • @cerno_b
    @cerno_b Месяц назад

    Very helpful, thank you!
    I was trying to connect an NES controller to a Raspberry Pico and this helped me understand the concept of what is happening much better. It took me some time to figure out that the Latch and Clock lines are actually sent from the NES to the controller, but now it makes perfect sense. I am sitting here grinning like an idiot with a 64x64 matrix display hooked up to a Raspberry Pico and an NES controller that switches 0s to 1s on the screen when I press a button. I love it.

  • @cyntwix
    @cyntwix 4 года назад

    Hey really great video! I took a class in college where I had to interface an NES controller to an FPGA. I was responsible for generating the clock and latch signals as well as receiving the data signal, processing it, and using it to interface with a computer. It's been a few years now and your video was a perfect refresher for what I had to figure out myself back then. If your video was out at the time, it would've made the project so much easier! great job

  • @malik641
    @malik641 4 года назад

    This content is incredibly high quality. Amazing. Great work! I look forward to watching more from your channel.

  • @sickregret
    @sickregret 4 года назад

    Your videos are the most indepth and detailed gaming videos on here. You deserve a million subs!

  • @Mr76Pontiac
    @Mr76Pontiac 4 года назад

    This video is almost a year old to where I'm watching it, but, it made me giddy watching it, and I feel the need to learn more about how this style of electronics work. I was always mystified to how multi-button controllers could work with so few wires coming out (Before the advent of USB, that is). Awesome video. Thanks.

  • @antivanti
    @antivanti Год назад +1

    Fun fact. UK/EU (except Scandinavia) PAL NES systems has a bunch diodes in the ports and controllers to make them only compatible with these controllers. The other way around works fine however. I learned this the hard way when I imported an RGB modded NES from England and it didn't work with my Swedish controllers and ended up having to modify the controller ports.
    The reason Scandinavian NES uses the same non-region locked controllers as the US is because before Nintendo themselves launched the NES in Europe a Swedish company Bergsala got an exclusive import deal for Scandinavia. Not sure exactly why the controllers were region locked in the rest of Europe but I suspect that the partner Nintendo worked with didn't want their customers buying controllers sold via Bergsala or something. I think Mattel was the initial producer of European NES before Nintendo eventually took it inhouse. Bergsala btw still has that Scandinavian distribution exclusivity for Nintendo products. A deal that was sealed via the gift of a crystal ashtray btw 😊

  • @twoodall88
    @twoodall88 4 года назад +3

    Well said all around! I really like the visual aid of the scope.

  • @OlujaDoTokija
    @OlujaDoTokija 4 года назад +1

    RUclips recommended some of your videos yesterday and I'm not going to lie. I have been subbed and watching your videos since then.

  • @Riley_MDS
    @Riley_MDS 4 года назад +6

    So, After LGR, and other channel that cover up this type of content ( I forgot the channel name ), your video got into my Recommendation..
    Finally I can watch more content like this while doing my Fanmade project..
    Thanks for making me stay up and not get bored :3

  • @FLUFFSQUEAKER
    @FLUFFSQUEAKER 2 года назад

    Beautiful in-depth, but easy to understand explaination!

  • @Kippykip
    @Kippykip 4 года назад +3

    I thought I was the only one that thought the NES pins didn't make sense with the amount of buttons on there.
    This makes way more sense now

  • @doge-of-venice
    @doge-of-venice 4 года назад +1

    Very well-made and informative video. Keep up the good work.

  • @GregStrike
    @GregStrike Год назад +1

    What an awesome explanation man, thank you! Some good information for my next video!

  • @erniesdeck7550
    @erniesdeck7550 4 года назад +1

    I'm a new subscriber to your channel.
    I've been looking for a while for a channel just like this where things get explained on a technical level. I've been taking electronics apart since my parents VCR when I was 10. So I know my way. I'm happy I found this channel keep up the great videos.

  • @eburgos021
    @eburgos021 4 года назад

    Thank's for making the wiring easy to understand ! great help. Mr.G

  • @ImperatorScab
    @ImperatorScab 4 года назад +16

    Excellent video! I enjoy this technical, "deep in the weeds" type of stuff. Watching this and seeing how the old NES controller works got me thinking about something. How did the controllers with turbo buttons work?

    • @DisplacedGamers
      @DisplacedGamers  4 года назад +12

      Thanks, ImperatorScab! I will probably talk about turbo functionality in a future video.

  • @RestoreTechnique
    @RestoreTechnique 3 года назад +1

    This is awesome, thanks!

  • @JBiggsNewJersey
    @JBiggsNewJersey 4 года назад

    Wow this is great! Excellent presentation and speaking. I was just searching for this specific subject but subbed for whatever you post

  • @Ryan-bn6kq
    @Ryan-bn6kq 4 года назад +2

    Your channel is awesome, dude!

  • @iwir3d
    @iwir3d 4 года назад

    This was either the 3rd or 4th video I have seen from this channel. The quality of your videos seems to be impressive so I went ahead and subscribed. Keep up the great work, I really enjoyed watching these videos.

  • @lennonmclean
    @lennonmclean Год назад

    Fun fact: the other two pins on the controller port are used for the zapper gun. One is for the trigger and the other is for the light sensor.

  • @SamuelCarrier
    @SamuelCarrier 4 года назад +1

    Amazing stuff. Perfect channel for thinkering retro gamers!

  • @YNGBLD80
    @YNGBLD80 Год назад

    Love your content dude you're one very smart cat!, keep educating the masses with 8bit goodness

  • @AsilarWindsailor
    @AsilarWindsailor 4 года назад +1

    Nicely done! I think this explanation might even be better than the one given by The 8-Bit Guy

  • @Megarushing
    @Megarushing 4 года назад

    Another incredibly interesting video! So much to learn from the devices that lived in our childhood

  • @gochadc
    @gochadc 3 месяца назад

    Great video, truly clear and informative.

  • @ranger81de
    @ranger81de 4 года назад +1

    Awesome explanation! Thanks!

  • @jessewilcox7475
    @jessewilcox7475 4 года назад

    Hey bro I've watched a few of your videos now and they're all really well done. I wanted to encourage you to keep making videos, and suggest you put a few more out there. You're a little bit older than me but I was playing DOS games from the time I was a young child, so I really appreciate not only your expertise but your perspective. I was super stoked to see a video on Jill of the Jungle! I think you should do more opinion/retrospective content about what makes old games continually compelling, maybe touch on how the technical limits affected developer creativity in producing such a diverse range of games as was enjoyed in that era. Your videos on dithering were outstanding in giving a glimpse into this, and in general I think your videos stand out relative to other RUclipsrs on the topic, my only complaint being that most of your videos are too short and there's not enough of them. I'd really strongly encourage you to make more videos and a couple of deep dives into gaming history sometime. I'm sure this is easier said than done in terms of time, but I felt compelled to say I think your videos are not only really informative but really engaging. You're able to present the content really well too, and it's very endearing to see such an authentic passion for this era of gaming presented by an authentic person. I was pretty surprised to find out after I watched the first video of yours I saw that this channel wasn't huge. It's great stuff man, keep it up.

  • @dlang6487
    @dlang6487 4 года назад +1

    I love your videos! Keep the great content coming!

  • @alejmc
    @alejmc 4 года назад

    This is incredibly fascinating. As an BSEE myself, I wish we would have done a deep dive on video game gadgets and electronics just like you just did, we didn’t do that at all... would have been a great way to motivate the crowd. Electronics Engineering in my time at least had a very high percentage of flunked or, in the worst case, expelled students. A sad sight.

  • @WalrusFPGA
    @WalrusFPGA 4 года назад +1

    Thanks; I learned a lot from this video. Well-explained and great visual presentation for the information shared.
    Can't ask for more than that!

  • @Michirin9801
    @Michirin9801 4 года назад +13

    How have I only just found this channel? It's awesome!
    I'm subscribing now!

  • @volo870
    @volo870 3 года назад

    Wow! This is the longest and most detailed tutorial to shift registers on RUclips.
    I'd say you may recommend it to tinkerers, who are not even gamers.

  • @aceoft3482
    @aceoft3482 4 года назад

    Thank you for the very clear explanation! Fascinating stuff.

  • @GustavoValdiviesso
    @GustavoValdiviesso 4 года назад +1

    Great video. Very instructive!

  • @SleepingCocoon
    @SleepingCocoon 4 года назад

    ha, i remember the original release of Rockman 4 MI (fantastic hack!) had the DPCM bug, i had no clue what the hell was going on until a new hardware compatible build was rolled out
    again, incredible work on the videos

  • @Eddies_Bra-att-ha-grejer
    @Eddies_Bra-att-ha-grejer 3 года назад

    17:05 The Scandinavian NES was actually different from the continental European one, in that it did accept NTSC controllers. The Scandinavian SNES also used the same DC connector as the Super Famicom, while the continental one had a slightly thinner one.

  • @supasimon
    @supasimon 4 года назад +1

    You are massively under-subbed my friend. Awesome video quality!

  • @AndyGoth111
    @AndyGoth111 4 года назад

    6:30 It's possible to read the controller any number of times per video frame. For example, check out the pause feature in Dragon Warrior. Whenever Start is pressed, the game goes into a tight spin reading the controller as fast as it can until Start is pressed again. During this time the game does almost nothing else. The important exception is its common read-controller routine also increments the global random number generator each time. Thus, with sub-frame accurate timing, it becomes possible to use Start to continuously manipulate RNG without the game ever visibly pausing.

  • @AndrewChalkley
    @AndrewChalkley 4 года назад

    This is a great explanation for an enthusiast like me who knows enough but not how to decipher circuit diagrams.

  • @geckoo9190
    @geckoo9190 3 года назад

    this reminds me when i was a kid and tried to design my own joystick with some arcade spare parts, everything was going well until I reached that integrated circuit, years latter I made some experimental snes joysticks, i made one with a globe, one with a cardboard box and one with a sponge, the last one was very sensitive, one of the best joysticks that i ever had

  • @TheKrensada
    @TheKrensada 4 года назад +1

    Thanks to this video, I can make a nintendo controller that fits my big hands.

  • @Kylefassbinderful
    @Kylefassbinderful 4 года назад

    The SNES controller is just adding another 8 bit shift register. There's a pin on the register that will shift the data into the next register allowing for 4 more buttons to be pressed X, Y, L, R. I believe they used 16 bit registers instead of two 8 bit registers. This is why you can use a snes controller on a nes if you just wire the correct for plug. Thb Shift Registers are my fav components.

  • @nensondubois
    @nensondubois 4 года назад

    The SNES Mouse are compatible with the NES and even setup to work with a very small amount of homebrew games. The Virtual Boy controller is also theoretically compatible but it is not implemented in any known homebrew.

  • @emmettturner9452
    @emmettturner9452 4 года назад

    I've actually found these with bad shift registers and replaced them. The FC dogbone also has a much shorter cord. I had a very late model one that also had the SMD shift register when I used to buy junk ones for repair. FYI: junk ones are often simply unplugged inside. They share components like buttons and rubber membranes with SNES and Game Boy controls. ;) It was parts-bin engineering in order to keep costs low.

  • @ryjelsum
    @ryjelsum 2 года назад +1

    You didn't mention the most fun part of the DPCM controller conflicts - because of that, in games that use the workaround you showed, if you mash buttons *really really really* fast, faster than a human or even a controller itself can likely physically do, you can basically influence when code executes, and eventually gain control of execution. Did I say eventually? I meant before the titlescreen loads. That's what the infamous TAS for SMB3 that beats the game in less than a second does.

  • @ThePerfectKiosk
    @ThePerfectKiosk 3 года назад

    The DMC bug causes a read operation from the CPU to be performed twice, and reading the controller state register is what sends the clock pulse to the controller. The controller state is corrupted because one of the button states is lost when this happens. In 2014, it was found that the DMC read occurs on only even (maybe it was only odd?) CPU cycles, as well as the object DMA function. When DMA completes, the CPU is always on an even or odd cycle (I forget which it is), so controller state can be reliably processed even while DMC samples are in use.

  • @komemiute
    @komemiute 4 года назад

    Wowza! Fantastic writing!

  • @KryptekDragon
    @KryptekDragon 4 года назад

    Your videos are amazing. Thank you

  • @MyLittleWalrus
    @MyLittleWalrus 4 года назад

    This video and the Luma video are really well done. I'd love to see more like this.

  • @cosmicrdt
    @cosmicrdt 4 года назад

    Would love to see more videos with electronics. Great stuff 👍

  • @KuraIthys
    @KuraIthys 4 года назад

    Ah, The good old atari joystick port.
    As used by Atari, Commodore, Sega and a ton of other companies...
    Sometimes with incompatibilities, and later on with very strange workarounds...
    I'm most familiar with it on the 800XL...
    Where it has so many functions mapped to the same pins it's kinda crazy.
    The basics are obvious enough;
    5 'buttons', ground, an unconnected pin (technically held at +5 volts), and two analogue input pins.
    The buttons map to the standard controller, and the analogue pins are used for the paddles...
    But also for a mouse, if you use one (never officially had one, but you can use both Amiga and Atari ST mice with the system if you do the programming correctly), and the atari drawing tablet.
    You can also use the analogue pins as extra buttons if you build a controller a certain way and program the software the right way.
    So, is that everything? Actually, no it isn't.
    See, the 4 'button' pins that the joystick directions map to are technically a serial port.
    If you write to appropriate registers you can set the communications direction.
    By default they're all set as input pins (understandable), but you can also write to them and use them as outputs.
    And thus we got things like an electronics lab, a modem, and an 80 column text display device that all connected to the controller ports.
    This observation also means you can, with some basic conversion circuitry, wire up an NES or SNES controller and communicate with it properly as long as you write a custom program to do so.
    The NES approach is certainly interesting though. It's very flexible but also quite expandable, and uses quite simple circuitry (shift registers are very basic generic parts)
    The proof of this is that the SNES is electrically compatible with the NES, and the SNES contains internal logic to read controllers the way the NES does.
    The SNES controller simply has a larger shift register, hence more buttons.
    The Sega Master system (and turbographx in fact - which uses the same circuitry) as well as the 3 button mega drive controller also use a fairly simple bit of circuitry - a multiplexer chip, which takes an input line and a set of output lines to 'select' which set of buttons you can read at once.
    This is a fairly clever solution, but it doesn't scale easily with simple circuitry.
    Hence the 6 button Mega Drive controller contains a microprocessor and some fairly complicated timing logic to give the extra buttons without adding more lines to the connector...
    The SNES meanwhile would really only have to change the controller access programming to increase the buttons even further. (also there's a FLASH memory storage device that attaches to controller port 2. RPG maker uses it to let you save your work on something other than the RPG maker cartridge.)

  • @redseagaming7832
    @redseagaming7832 3 года назад

    what's astonishing is that the the Nintendo Entertainment System or at least a time were patching a console was impossible so they had to make sure this console worked when they released it to the stores something I can really respect Nintendo for

  • @bengineer8
    @bengineer8 4 года назад

    I am designing my own controller so this will be a massive help!

  • @DashRetro
    @DashRetro 4 года назад +1

    Excellent video! My only question is, what made you go with 39K resistors in the mock-up controller, and how does the value of this resistor affect the behavior?

  • @GenerationalGamer
    @GenerationalGamer 4 года назад

    Excellent video. You provided a lot of information and in a way that the layman can understand.

  • @GilbertTang
    @GilbertTang 4 года назад

    Magnificent. I continue to devour your channel.

  • @Komagb
    @Komagb 4 года назад

    Fantastic deep dive!

  • @CoolDudeClem
    @CoolDudeClem 4 года назад +1

    For a long time, I thought the NES used the same 9 pin game connector as the Atari, Master System and many other computers and consoles of the time. 8 "buttons", 9 pins, one pin being the "common" pin, makes sense right? Never having played a real NES, but seeing that 9 pin connector on famiclones also made me think that.

  • @jpjokela1
    @jpjokela1 4 года назад +1

    Nice video. The only thing missing was showing the Konami Code on oscilloscope :-)

  • @vuurniacsquarewave5091
    @vuurniacsquarewave5091 4 года назад

    You literally have to write the code for the NES to send those pulses. It is pretty easy, but you are literally using a single bit in the byte to communicate with the controllers. Latch, Set to serial, [read from the data line, save input to a variable, repeat 7x] and for games with DPCM samples, this can happen up to three times. That is, if there was a corrupted read somewhere in there.

  • @R3TR0R4V3
    @R3TR0R4V3 4 года назад

    Great video! Glad to learn something new. 👍👍

  • @mirqjejq
    @mirqjejq 4 года назад +1

    Would love to see similar video regarding dualshock 2.

  • @Pedritox0953
    @Pedritox0953 3 года назад

    Very complete explanation

  • @OptimusNiaa
    @OptimusNiaa 4 года назад

    Very good stuff. Just found your channel yesterday. New subscriber.

  • @FagnerLuan
    @FagnerLuan 4 года назад

    Fantastic video! Congrats

  • @diorse1167
    @diorse1167 День назад

    Woah i know nothing about circuits or machinery but you really made this easy for me to understand! Its nice that even i can learn about the NES even if i know shit all LOL

  • @JuneNafziger
    @JuneNafziger 4 года назад

    If anyone’s wondering, the extra pins on the port are for the zapper gun.

  • @karld4737
    @karld4737 4 года назад +1

    How likely are the shift register chips to go bad? I have a few original controllers that no longer work. I assumed the wires were broken near the controllers case as I naively used to wrap them as a kid, but never found any breaks in the wires of the one I took apart and stripped. Solder joints looked good to me too. I assumed it was a problem with this chip tho I never knew what it actually was or called to this point.

  • @Alakazam2047
    @Alakazam2047 4 года назад

    This is a super well done video and does a great job explaining how it works. If possible, when you get to the SNES controller can you compare the improvements from the NES controller? As Sdudyoy pointed out, it's really remarkable how they decided to go the route they did in designing this. Even though this controller is decades old, the stuff in it is still the material that I learned about in university.

  • @TBL_stevennelson
    @TBL_stevennelson 4 года назад

    I learnt so much. Mind blown. Thanks

  • @carlwillows
    @carlwillows 4 года назад

    Amazing detail

  • @NeoCortex3
    @NeoCortex3 4 года назад

    Who would think controller could be that interesting.
    Loved it.

  • @intel386DX
    @intel386DX 4 года назад +1

    16:58 in PAL NESes you have a diodes on controller imputes to prevent controllers without resistors (NTSC or clone ones) to work on the PAL console

    • @KuraIthys
      @KuraIthys 4 года назад

      Yeah, I had heard that applied to SNES systems as well.
      But I've had no problem using my Super Famicom controllers on a PAL SNES...
      Then again sometimes the protections are literally only to prevent US stuff working with anything else...
      Still funny to me though that Super Famicom carts fit in PAL SNES consoles and vice versa but have software lockouts...
      While the only reason a US SNES can't play Super Famicom games (and vice versa) is because of the respective shapes of the cartridges.
      (the US cart is simply too big to fit into a Super Famicom - while the Super Famicom cartridge has a solid back while the US console contains two plastic tabs that fit into cutouts on the US cartridge. - otherwise the two machines are completely inter-operable.)

    • @intel386DX
      @intel386DX 4 года назад

      @@KuraIthys heh yes I know very "smart" :protection (US vs JP) :D

  • @stefanegger
    @stefanegger 4 года назад

    Nice video, not too bad. Some used a pin to determine the function, e.g. RGBI signal is I for Intensity so the 8 colors can be doubled to 16 by using the state of the I pin. I guess the Mega Drive works similar to make 8 buttons (4 direction, A, B, C and START) out of the usual 5 pins (standard Atari plug/layout).

  • @Christopher-N
    @Christopher-N 3 года назад

    (4:36) "If this happened, it would be bad. Don't cross the streams."
    Hours of fun with _The Real Ghostbusters_ toy line from Kenner. We saw _Ghostbusters II_ in the theater while wearing full costume. Uncomfortable in the seats, but worth it. ^_^