Nintendo (NES) Controller - Electronics

Sdílet
Vložit
  • čas přidán 2. 06. 2024
  • An examination of the electronics - the 8-bit shift register and signals as well as a few bits of trivia for the NES controller.
    If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - / displacedgamers
    Twitter: / displacedgamers
    Facebook: / displacedgamers
    Instagram: / displacedgamers
    Music by: Wolf and Raven
    #NES #Controller #Electronics
  • Věda a technologie

Komentáře • 293

  • @JamieBainbridge
    @JamieBainbridge Před 4 lety +132

    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!

  • @r.g.thesecond
    @r.g.thesecond Před měsícem +1

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

  • @RustoKomuska
    @RustoKomuska Před 4 lety +21

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

  • @SdudyoyO
    @SdudyoyO Před 4 lety +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 Před 4 lety +10

      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 Před 3 lety

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

    • @Nordlicht05
      @Nordlicht05 Před 3 lety +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!

    • @amiga_arcade_project
      @amiga_arcade_project Před 3 lety +2

      @@twn5858 The should have just used a 1-1 connector switch and skipped all the latch-data crap ( i.e. polling every 4 frames for 4 players causing serious lag )

    • @DiThi
      @DiThi Před 2 lety +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.

  • @etansivad
    @etansivad Před 4 lety +91

    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 Před 4 lety +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.

    • @halonothing1
      @halonothing1 Před 4 lety +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 Před 4 lety

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

    • @stefanegger
      @stefanegger Před 3 lety

      what is a breadboard ? He talks about NES console

  • @JuanesChiwirosky
    @JuanesChiwirosky Před 3 lety +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

  • @Hamster07
    @Hamster07 Před 2 lety +3

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

  • @Oyocat
    @Oyocat Před 3 lety +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.

  • @Cab895
    @Cab895 Před 3 lety +4

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

  • @livefreeprintguns
    @livefreeprintguns Před 2 lety +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!

  • @benjaminbrady2385
    @benjaminbrady2385 Před 4 lety +34

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

  • @antivanti
    @antivanti Před 10 měsíci +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 😊

  • @Komagb
    @Komagb Před 4 lety +3

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

  • @dsuess
    @dsuess Před 4 lety +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

  • @colestunden7572
    @colestunden7572 Před 4 lety +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.

  • @danieljimenez1989
    @danieljimenez1989 Před 4 lety +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  Před 4 lety

      "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 Před 4 lety

      @@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 Před 4 lety

      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 Před 4 lety +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? :)

  • @iCach0
    @iCach0 Před 4 lety +10

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

  • @bearmatic
    @bearmatic Před 4 lety +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!

  • @killyouwithfire
    @killyouwithfire Před 4 lety +7

    Gotta love the 80’s music XD

  • @lennonmclean
    @lennonmclean Před rokem

    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.

  • @volo870
    @volo870 Před 3 lety

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

  • @Michirin9801
    @Michirin9801 Před 4 lety +13

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

  • @Riley_MDS
    @Riley_MDS Před 4 lety +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 Před rokem

    Beautiful in-depth, but easy to understand explaination!

  • @Kippykip
    @Kippykip Před 4 lety +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

  • @danielturner1891
    @danielturner1891 Před 4 lety +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.

  • @ImperatorScab
    @ImperatorScab Před 4 lety +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  Před 4 lety +12

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

  • @malik641
    @malik641 Před 3 lety

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

  • @null_state
    @null_state Před 3 lety +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!

  • @CAHSR2020
    @CAHSR2020 Před 4 lety +4

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

  • @twoodall88
    @twoodall88 Před 4 lety +3

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

  • @sickregret
    @sickregret Před 4 lety

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

  • @erniesdeck7550
    @erniesdeck7550 Před 4 lety +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.

  • @OlujaDoTokija
    @OlujaDoTokija Před 4 lety +1

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

  • @doge-of-venice
    @doge-of-venice Před 4 lety +1

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

  • @jn_gutierrez
    @jn_gutierrez Před 4 lety +1

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

  • @JBiggsNewJersey
    @JBiggsNewJersey Před 4 lety

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

  • @GregStrike
    @GregStrike Před 11 měsíci +1

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

  • @ahobimo732
    @ahobimo732 Před 3 lety

    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.

  • @WalrusFPGA
    @WalrusFPGA Před 4 lety +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!

  • @dlang6487
    @dlang6487 Před 4 lety +1

    I love your videos! Keep the great content coming!

  • @GustavoValdiviesso
    @GustavoValdiviesso Před 4 lety +1

    Great video. Very instructive!

  • @AndrewChalkley
    @AndrewChalkley Před 4 lety

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

  • @Eddies_Bra-att-ha-grejer

    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.

  • @Ryan-bn6kq
    @Ryan-bn6kq Před 4 lety +2

    Your channel is awesome, dude!

  • @eburgos021
    @eburgos021 Před 3 lety

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

  • @ranger81de
    @ranger81de Před 4 lety +1

    Awesome explanation! Thanks!

  • @aceoft3482
    @aceoft3482 Před 3 lety

    Thank you for the very clear explanation! Fascinating stuff.

  • @FagnerLuan
    @FagnerLuan Před 4 lety

    Fantastic video! Congrats

  • @cosmicrdt
    @cosmicrdt Před 4 lety

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

  • @iwir3d
    @iwir3d Před 4 lety

    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.

  • @cyntwix
    @cyntwix Před 3 lety

    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

  • @geckoo9190
    @geckoo9190 Před 2 lety

    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

  • @Komagb
    @Komagb Před 3 lety

    Fantastic deep dive!

  • @KryptekDragon
    @KryptekDragon Před 4 lety

    Your videos are amazing. Thank you

  • @AsilarWindsailor
    @AsilarWindsailor Před 4 lety +1

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

  • @R3TR0R4V3
    @R3TR0R4V3 Před 4 lety

    Great video! Glad to learn something new. 👍👍

  • @Mr76Pontiac
    @Mr76Pontiac Před 3 lety

    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.

  • @donchaput8278
    @donchaput8278 Před 2 lety +1

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

  • @Megarushing
    @Megarushing Před 3 lety

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

  • @RobertoLicardie
    @RobertoLicardie Před 4 lety

    Amazing content as always

  • @komemiute
    @komemiute Před 4 lety

    Wowza! Fantastic writing!

  • @YNGBLD80
    @YNGBLD80 Před rokem

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

  • @belfrog
    @belfrog Před 3 lety

    Really great video!

  • @tahustvedt
    @tahustvedt Před 2 lety

    Fantastic video!

  • @GilbertTang
    @GilbertTang Před 3 lety

    Magnificent. I continue to devour your channel.

  • @SamuelCarrier
    @SamuelCarrier Před 3 lety +1

    Amazing stuff. Perfect channel for thinkering retro gamers!

  • @redseagaming7832
    @redseagaming7832 Před 3 lety

    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

  • @TheKrensada
    @TheKrensada Před 3 lety +1

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

  • @Zeldagamer9000
    @Zeldagamer9000 Před 4 lety +4

    Dang! Where was this video a year ago when I was building my own custom controller? This will be incredibly helpful with finishing that project!

  • @ryjelsum
    @ryjelsum Před 2 lety +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.

  • @jessewilcox7475
    @jessewilcox7475 Před 4 lety

    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 CZcamsrs 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.

  • @RestoreTechnique
    @RestoreTechnique Před 3 lety +1

    This is awesome, thanks!

  • @TBL_stevennelson
    @TBL_stevennelson Před 4 lety

    I learnt so much. Mind blown. Thanks

  • @supasimon
    @supasimon Před 4 lety +1

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

  • @AndyGoth111
    @AndyGoth111 Před 3 lety

    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.

  • @ThePerfectKiosk
    @ThePerfectKiosk Před 3 lety

    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.

  • @PhantomLord24
    @PhantomLord24 Před 8 měsíci

    Very good info, thanks 👍🏻

  • @OptimusNiaa
    @OptimusNiaa Před 4 lety

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

  • @jpjokela1
    @jpjokela1 Před 3 lety +1

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

  • @GenerationalGamer
    @GenerationalGamer Před 4 lety

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

  • @carlwillows
    @carlwillows Před 4 lety

    Amazing detail

  • @MyLittleWalrus
    @MyLittleWalrus Před 4 lety

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

  • @licksorestockpile1190

    really like the hardware stuff!

  • @Pedritox0953
    @Pedritox0953 Před 2 lety

    Very complete explanation

  • @opelman5173
    @opelman5173 Před 3 lety

    Awesome. I've learned a lot.

  • @bengineer8
    @bengineer8 Před 3 lety

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

  • @SleepingCocoon
    @SleepingCocoon Před 4 lety

    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

  • @nensondubois
    @nensondubois Před 3 lety

    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.

  • @JuneNafziger
    @JuneNafziger Před 4 lety

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

  • @chadwolf3840
    @chadwolf3840 Před rokem

    great stuff.

  • @KuraIthys
    @KuraIthys Před 4 lety

    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.)

  • @shadymaint1
    @shadymaint1 Před 3 lety +10

    I built an arcade stick for my NES. Even has turbo. Wish I had one when I was a kid.

    • @tastymonkey
      @tastymonkey Před 3 lety +2

      I still have my NES Advantage and SNES Advantage controllers.

    • @john-tk2dn
      @john-tk2dn Před 3 lety

      Funny. I am working on the same project. However I am running into an issue. Every 6 seconds, the nintendo will not recieve any inputs, then it will work for 6 seconds, and then not again for another 6. Kinda stumped

    • @shadymaint1
      @shadymaint1 Před 3 lety +1

      @@john-tk2dn sounds like a clock timing issue. Are you DIYing the circuitry or robbing parts from a controller. If your DIYing your shift register may be wrong. I took the guts out of a old turbo controller . Tapped into the ground plane and to each button. Was cheaper to go that route as opposed to building one. Controller only cost a couple bucks on eBay. Plus you get a cord.

    • @john-tk2dn
      @john-tk2dn Před 3 lety +1

      @@shadymaint1 HA! i literally just came to post that yah, somehow i had one of my grounds connected to the clock pin LOL Not using breadboard, just using some prototyping board. And im well aware I can just tap into an existing board, but wanted to build from the ground up. I actually bout some of those really crappy controllers just for the cord and the connector :) Im just laying everything out and gonna have a custom PCB printed so i dont have to use jumper wires and have actual traces. Its just been a fun project :)

    • @shadymaint1
      @shadymaint1 Před 3 lety +1

      @@john-tk2dn right on man.

  • @SuperCuriousFox
    @SuperCuriousFox Před 2 lety

    `Thanks for teaching me why pull-up resistors are called that way!

  • @shinypb
    @shinypb Před 4 lety

    Great video; thanks for making it! This finally made shift registers click for me.

  • @theseriousaccount
    @theseriousaccount Před 2 lety

    Best vid on this subject

  • @Sinn0100
    @Sinn0100 Před 10 měsíci

    Fascinating!

  • @NeoCortex3
    @NeoCortex3 Před 4 lety

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

  • @vuurniacsquarewave5091

    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.