How Vintage Game Controllers Worked

Поділитися
Вставка
  • Опубліковано 27 гру 2024

КОМЕНТАРІ •

  • @metfan4l
    @metfan4l 6 років тому +2833

    Soldering an NES controller to a C64 and writing your own little demonstration program is the kind of above and beyond effort you just won't find on any other channel :D Great video!

    • @blackdragons95
      @blackdragons95 6 років тому +19

      Wtf! metfan, i find you all over youtube haha

    • @Dhalin
      @Dhalin 6 років тому +27

      He was probably personally curious if it were possible, and merely filmed himself satisfying his own curiosity and also to prove it. Not that I'm saying it's any less of a feat because of that, but still.

    • @DoomRater
      @DoomRater 6 років тому +13

      This is nice to see but it needs to be rewritten in assembly to make it usable for actually playing games. That controller lag will be atrocious otherwise.

    • @billkeithchannel
      @billkeithchannel 6 років тому +6

      @@DoomRater King of the 999 ping! Using how lag works made my buddy a top player on the original Quake:CTF clq board.

    • @adamsfusion
      @adamsfusion 6 років тому +4

      The lag is probably not a huge problem for David. He already thinks he's better than everyone else. *distant rimshot*

  • @negative.infinity
    @negative.infinity 6 років тому +1775

    You forgot to mention how you can also move the NES controller in the same direction that you're pressing on the D-pad in order to make your character go even faster. Every 80s kid knows this.

    • @camillecirrus3977
      @camillecirrus3977 6 років тому +226

      Yes, indeed! And if you throw the controller out the window while playing Super Mario Bros, Mario will fly to space then get hit by a car.

    • @billkeithchannel
      @billkeithchannel 6 років тому +96

      And you have to move your arms around while doing it to help you avoid objects on the screen better.

    • @lordofthecats6397
      @lordofthecats6397 6 років тому +100

      Well, that only works if you properly blow out the cartridge first

    • @MammaApa
      @MammaApa 6 років тому +52

      Leaning to avoid bullets also works.

    • @thakingis
      @thakingis 6 років тому +13

      Ahh, just golden 👌 Oh the memories ♡

  • @MartinKronstrom
    @MartinKronstrom 6 років тому +344

    It's so enjoyable to have answers to questions you had 30 years ago and stopped wondering about.

    • @BillAnt
      @BillAnt 5 років тому +18

      I know, right?! ha-ha It's amazing how much more info is available nowadays about these old machines than way back, when those who were in the know usually kept the knowledge to themselves. The internet has surely disseminated information for anyone willing to learn.

    • @hypnogypsy
      @hypnogypsy 3 роки тому +1

      Yes

  • @hgbugalou
    @hgbugalou 5 років тому +187

    Ok. Wiring an nes controller to a c64 and showing it working was damn impressive.

  • @LMacNeill
    @LMacNeill 6 років тому +368

    Not only *how* they work in general, but a demonstration of how to make them work on a specific piece of retro hardware -- very cool!!

    • @ReverendTed
      @ReverendTed 6 років тому +8

      Yes, that was definitely unexpected! (Although, knowing David, maybe it shouldn't have been!)

  • @bibasik7
    @bibasik7 6 років тому +782

    Take a shot every time he writes a program in basic to demonstrate how the controller works.

    • @Echidneys
      @Echidneys 5 років тому +59

      Nerdiest drinking game ever, lmao

    • @KaibaSeto.
      @KaibaSeto. 5 років тому +77

      @@Echidneys I can make it even nerdier
      A shot of water,because water is healthy and good for the body

    • @BITBITBIT-fd3gu
      @BITBITBIT-fd3gu 4 роки тому +1

      Salt

    • @BITBITBIT-fd3gu
      @BITBITBIT-fd3gu 4 роки тому

      And by that I mean, Nah

    • @JonnyOgg
      @JonnyOgg 4 роки тому +22

      Id thumb you up but you're at 255 and I'm afraid of integer overflow

  • @neomage2021
    @neomage2021 6 років тому +166

    When I was in my early electrical engineering courses and I decided to use an NES controller to interface with, I was surprised at how simple it was. That got me down the road of building my own 8 bit video game system on a xylinx fpga.

    • @sdsdfdu4437
      @sdsdfdu4437 5 років тому +10

      That's hardcore

    • @mibbleyt
      @mibbleyt 3 роки тому +1

      can we look at it please?

    • @NickolasHunter
      @NickolasHunter 3 роки тому

      I'm interested in seeing it too!

    • @sabin97
      @sabin97 3 роки тому +3

      i also used a nes controller for my microprocessors 2 course back in my college years.
      we made a very simple gaming system.
      using the motorola mcore processor, just because the professor said there would be bonus points for anyone using that one. the only drawback is that the mcore was never discussed in class, but we were all into reading on our own.
      and we divided the labour evenly.
      i had to create the sound system, it was quite a good learning experience. during that project i learned that there's such a thing as an analog multiplexer/demultiplexer, and that you should use it if you have analog signals.....and that analog signals are sometimes found in the weirdest places where you'd expect a digital signal.
      those were the good old day.

    • @ecernosoft3096
      @ecernosoft3096 2 роки тому

      It's not 8 bit if it doesn't run on 8 bit hardware!

  • @purplesam2609
    @purplesam2609 6 років тому +32

    You've given me something to watch during my free time at school, as I have limited options on restricted mode. Thank you.

    • @fishyninjja9103
      @fishyninjja9103 3 роки тому +2

      f, dude...

    • @ecernosoft3096
      @ecernosoft3096 2 роки тому

      F**k to all the schools who give us computers but don't let us use 1/2 of the software. Just because it's "Unsafe"

    • @Connie_TinuityError
      @Connie_TinuityError Рік тому

      @@fishyninjja9103 the comment is 4 years old, that probably isn't an issue anymore nowadays so don't worry

    • @luigikoopa8771
      @luigikoopa8771 Рік тому

      turn restricted mode off my school let me do it

  • @szoszaty
    @szoszaty 6 років тому +670

    Legend says you can press all 4 buttons on the D-pad at the same time.

    • @debbiemeyer2693
      @debbiemeyer2693 6 років тому +6

      Ehh true

    • @JVerschueren
      @JVerschueren 6 років тому +31

      Easy, just short out the contacts with tin foil on the back of the PCB. :P

    • @CinemaShotsTV
      @CinemaShotsTV 6 років тому +11

      Legend says there's only three ways to get out of the hood

    • @goatbone
      @goatbone 6 років тому +49

      Some NES games require pressing opposite d-pad buttons simultaneously to access debug options.

    • @GerbenWijnja
      @GerbenWijnja 6 років тому +45

      Chuck Norris did it.

  • @bojackson3073
    @bojackson3073 5 років тому +199

    9:40 "you can only physically push 1 directional button at a time"
    you mean "2" directional buttons at a time.

    • @mariostar13
      @mariostar13 5 років тому +3

      Yeah. I was going to say that.

    • @Connie_TinuityError
      @Connie_TinuityError 3 роки тому +19

      Definitely not left+right, which is forbidden in speedruns

    • @Wheelz_
      @Wheelz_ 3 роки тому +18

      @@Connie_TinuityError you can actually do that if you shave down the little bump in the middle of the dpad piece, although most games won't know how to deal with that properly and yeah, it's banned in anything non TAS

    • @jamesnewbould2469
      @jamesnewbould2469 3 роки тому +9

      @@Wheelz_ I heard some speedruns did accept that as you nes or snes controller could wear down naturally over time.

    • @Wheelz_
      @Wheelz_ 3 роки тому +6

      @@jamesnewbould2469 I think Super Mario Kart actually allows it from memory, for fast Mini Turbos or something if I remember right

  • @Kadotus
    @Kadotus 6 років тому +76

    I never really thought about the number of pins on some controllers, until now! This was way more interesting than I could've ever imagined!

    • @sheilaolfieway1885
      @sheilaolfieway1885 4 роки тому +1

      i'd like to see semi-modern controllers like say sega saturn Nintendo 64 playstation dreamcast gamecube... you know the ones with proprietary plugs.

  • @srihariayapilla4233
    @srihariayapilla4233 5 років тому +3

    Huge respect for you, just for the fact that you go to such lengths to show the concepts so clearly and make such great content. Take a bow, Sir.

  • @musashigundoh
    @musashigundoh 6 років тому +26

    When I was little, my dad made a homebrew "joystick" for our ZX Spectrum using a soap box and 4 microswitches on the bottom, so it was essentially a mouse that you had to tilt instead of moving. It worked way better than cheap stick-type joysticks available at the time.

    • @clray123
      @clray123 6 років тому +1

      My ZX Spectrum had a home-made SHIFT key, which was a clicky microswitch encased in a cardboard shell near the keyboard (I think because the original key broke).

    • @musashigundoh
      @musashigundoh 6 років тому +2

      The keyboard on mine was made out of 2 old scientific calculators side by side. I wish I still had it, it was top tier DIY stuff.

    • @silkwesir1444
      @silkwesir1444 6 років тому +1

      musashi gundoh
      may i ask what part of the world you grew up in?

  • @robmortimer4150
    @robmortimer4150 6 років тому +9

    Love the effort to really demonstrate how these work. I remember hearing the mega drive pad was bad for the Amiga but I never knew why...

  • @colonelgraff9198
    @colonelgraff9198 6 років тому +276

    Thank you 8-Controller Guy

    • @E231986
      @E231986 6 років тому +19

      I thought he was the 8-Book Guy...

    • @GaleDoesMusic
      @GaleDoesMusic 6 років тому +24

      @@E231986 8-Pin Guy?

    • @E-virtuosEu
      @E-virtuosEu 6 років тому +6

      Actually 3 controller guy

    • @kuberootwastaken
      @kuberootwastaken 6 років тому

      @@GaleDoesMusic Ah, but each pin is actually a bit! (Assuming they're digital)

    • @GaleDoesMusic
      @GaleDoesMusic 6 років тому

      @@kuberootwastaken yea i know, but it happens to have fit this scenario

  • @r0xjo0
    @r0xjo0 5 років тому +12

    This is great. I am going to show this in my High School Electrical Engineering class.

  • @KofolaDealer
    @KofolaDealer 6 років тому +202

    Look, my favorite youtuber has uploaded!

  • @Mystical_owl
    @Mystical_owl Рік тому +1

    I have never seen such a good intro/outro! I just love it, the way it does that weird code stuff is so cool! The video was really entertaining as well!

  • @Letham316
    @Letham316 3 роки тому +175

    Edit: Based on some replies, I assume the thing he said about Genesis controllers damaging Atari/Commodore consoles was just speculation. I'm glad to hear that people have tried it and didn't have their consoles blow up. 👍

    • @jonathankhuzkian6419
      @jonathankhuzkian6419 3 роки тому +27

      I'm pretty sure it was unintentionally, lol. They wanted that start button

    • @Letham316
      @Letham316 3 роки тому +28

      ​@@jonathankhuzkian6419 I just meant, if they're altering the wiring like that, especially if it presented a hazard, why even use the same port shape?
      Also, if I'm being honest, I'm actually a little suspicious about the claim. With all the people that had both a Genesis and an Amiga, and thought "hey, that looks like it fits", surely I would've heard about exploding computers by now. 🤷‍♂️

    • @andybilyak
      @andybilyak 3 роки тому +8

      Well ya know, Genesis Does. 😅

    • @heathc148
      @heathc148 3 роки тому +5

      @@Letham316 they didnt want to change the design of their system just to prevent breaking old computers, even if they did know about it.

    • @Crystalsandchrome
      @Crystalsandchrome 3 роки тому +4

      Feels a lot like sabotage to me. Like, idk if they put out a warning with the new controllers, but it definitely feels like it was done on purpose.

  • @hellothere7802
    @hellothere7802 6 років тому +3

    After watching this, I’ve decided to subscribe. You put a lot of effort into your videos and I haven’t seen something like this done before.

  • @mirabilis
    @mirabilis 6 років тому +78

    You can press two directions at once, i.e up+left. It's an 8-direction controller.

    • @E231986
      @E231986 6 років тому +15

      I was looking for this comment lol

    • @mchevre
      @mchevre 6 років тому +18

      You're right. I think he meant to say you can't physically press up+down or left+right simultaneously. up+left, down+left, up+right,down+right are of course all possible.

    • @KaitouKaiju
      @KaitouKaiju 6 років тому +2

      A true 8-way input would have a dedicated input for diagonals. Often found on flight sim controllers

    • @mirabilis
      @mirabilis 6 років тому

      @@KaitouKaiju Never seen one of those.

    • @AmyraCarter
      @AmyraCarter 6 років тому +3

      Just pressing down two Hat Switches simultaneously. It only works because they can be read simultaneously, though whether the game does anything depends on its' programming.

  • @SuperC142
    @SuperC142 6 років тому +1

    This is my favorite type of video from you, David; you're great at explaining how things work. The NES controller proof of concept was especially wonderful. Great stuff!

  • @stevethepocket
    @stevethepocket 6 років тому +35

    You should do an episode sometime on how fastload cartridges worked. It still baffles me that such a serious flaw with the disk drive could be fixed using something that just plugs right into the back of the computer.

    • @KineticManiac
      @KineticManiac 5 років тому +1

      I believe he already made one, but I can't find it right now.

  • @ethzero
    @ethzero 6 років тому +2

    Great Scott! Those NES extension cable plugs looks like the ones on the high voltage cable Dr Brown used in Back To The Future!

  • @Biker_Gremling
    @Biker_Gremling 6 років тому +84

    *Sees title, thinks it's a simple video.
    *Watches video, jaw drops.

    • @BertGrink
      @BertGrink 5 років тому

      You pretty much said what i was thinking.

  • @Haxiel
    @Haxiel 6 років тому +2

    It's been a while since your last video and I'm glad you're back. Thank you for making these.

  • @yorgle
    @yorgle 6 років тому +20

    I totally love that you've nicknamed joypads as "flat game controllers". I need to start using that term! :D

    • @cringecastfull7278
      @cringecastfull7278 5 років тому +1

      Joypads?! JOYPADS??!!? WHAT THE HECK IS A JOYPAD?!!?

    • @nathanurie4686
      @nathanurie4686 5 років тому

      @@cringecastfull7278 you think Joypad Is crazy, you should hear about the D-Button

  • @Elcarsh
    @Elcarsh 3 роки тому

    I am writing to you from the future year of 2021 to say that this fellow's voice is absolutely perfect for explaining how technology works. Crisp, excellent enunciation, not overly complicated sentences.

  • @GarrettLeach
    @GarrettLeach 5 років тому +7

    Neat, I've been working on a USB interface for SNES controllers myself using this same information lately.

  • @TrialzGTAS
    @TrialzGTAS 6 років тому +2

    This is awesome. I don’t know much about the inner working of how the things we grew up with works. So this definitely fulfills that curiosity. Hope to see a video on how the modern controllers operate!

  • @NaokisRC
    @NaokisRC 6 років тому +30

    Great video but you were wrong with the genesis/mega drive controller description. Select is not a button, in fact it is an input to the controller which allows you to switch between the buttons you want to read.
    In its default state (select being high) you can read U,D,L,R plus B and C like you would on the master system controller. This is for backwards compatibility with software and hardware between the two. If you ground the select line, it will change the controller state and allow you to read A and Start, whilst also grounding the L and R directions. So to read all buttons, you'd read the controller data with select high, then flip select low and you would see the second set of button data required. You could do this much the same like you did with the NES pad.
    The 6 button pad works much the same but if you read the controller 3 times in quick succession, on the 4th read you'll have XYZ and Mode on the button inputs instead.
    Whilst I'm not going to argue that it could cause problems with the C64, it wouldnt damage it as the 5V would only set Select to be high and thus you'd only see the B and C buttons. Im not sure if the controller would function right as it expects power on pin 5 but without testing i wouldnt know.
    And this is all from experience from reading many controllers to get them to work on other consoles or arcade game boards!

    • @ownpj
      @ownpj 6 років тому +5

      pin 5 is a pot input, so while it is normally floating it is pulled to ground every 512 clock cycles to discharge the capacitor used to measure the paddle resistance. naturally this briefly stops the multiplexer chip frim working as expected. The multiplexer usually powers itself via internal leakage of the 5v on the select line whist the normal 5v power is in the floating state.

    • @NaokisRC
      @NaokisRC 6 років тому

      @@ownpj Ah, I thought it might. And you're right that pin 5 on the Atari standard is a pot input, but on the Sega version, pin 5 is 5v.

    • @brotheredward06
      @brotheredward06 6 років тому +6

      The reason genesis controllers can damage C64s is that some of the pins on the joystick port are shared with the keyboard so the C64 periodically drives them low. Normal joysticks leave the pins open circuit when not triggering them but genesis controllers actively drive them high causing bus contention. It's not an instant death kind of scenario which is why some people will get away with it for months or years and swear that there's no problem, but it puts unnecessary strain on the C64's chips and has been known to fry them.

    • @NaokisRC
      @NaokisRC 6 років тому +1

      @@brotheredward06 Ah that would make a lot of sense. The controllers will do that because of the 74 series chip in it. But in the mega drive, one off the Sega customs handle the controllers so there's no contention. Also an interesting fact is that the rear DE-9, used for the modem in Japan, is connected and can function like a controller port. Or that the front ports can act as a 7 bit IO port. I remember people used this feature to connect the mega drive to a pc and upload demo code onto it, using software burnt into cd for use in the mega cd.

    • @KuraIthys
      @KuraIthys 6 років тому +1

      @@brotheredward06 huh. That would also explain why there's not many people claiming that it can cause damage to atari 8 bit computers. (8 bit guy being an exception, but then his description both of how the Sega controller works AND why it can kill a c64 are clearly wrong).
      The Joystick ports on the Ataris don't connect in any way to a keyboard controller - that's a quirk specific to the c64...
      While I've heard people question whether it can damage an Atari, I've rarely ever heard anyone claim that it can...
      And they usually cite something to do with the keyboard controller as being why it can damage a c64 but not an atari...

  • @MagesGuild
    @MagesGuild 5 років тому

    Just as a note: I am pleased that you covered the static shift register. When you state that the SFC/SNES uses a larger one, I wish that you had expanded on that for the typical viewer, as technically it uses two SSRs in sequence.
    Anyway, I'm glad to see this information offered out in a way that the average hobbyist can digest. I'm one of those mad blokes who's made (digital) trackballs and mice for the NES/Famicom, and adapted controllers to all sorts of unintended purposes. I found your use of the old IBM DA15 joystick to the C64 quite novel. Very nice!
    On a side note: Those extension cables for that NES port are harder to find than the controller cables. To viewers, I'd suggest de-soldering the connections inside the NES controller and replacing it, or just snipping off the end; or by using the actual NES ports (they are connected with a straight pin connector, not soldered in), to build an adapter.
    IMO though, it's far simpler to wire up the NES controller to a DB9 female connector, bypassing the SSR entirely. Just cut its traces and wire up your pins to the actual inputs to the SSR.
    When I built my mouse and trackballs for the NES, I effectively did the opposite of this: I wired in an SSR to the signals from each pin, and my output signals to the NES or Famicom came out of the other side of the SSR. Eventually, I automated this with hand-made adapters, so that any Atari standard digital joystick worked, however, to use two buttons, I was forced to modify the actual connections.

  • @Ty-douken
    @Ty-douken 3 роки тому +16

    I love how simple the early controllers are from a hardware perspective. There something poetic about restrictions like this for how it influences creativity.

    • @Atlas_Redux
      @Atlas_Redux 3 роки тому +1

      The NES controller is far from simple. It borders on being way to overcomplicated to save production cost.

  • @lochinvar00465
    @lochinvar00465 6 років тому

    @0:11 The joystick at the lower left is the one I have. Wonderful joystick. No leaf spring contacts, this one has industrial microswitches, and a stainless steel reinforcing rod in the stick. Built very solid. Practically indestructible. The only downside is it is a right hand control, although they also made a left hand version as well if you asked for it. Was no problem until I got a left handed GF. She was able to use it but it was clumsy for her because she couldn't grip it as well.

  • @onedeadsaint
    @onedeadsaint 6 років тому +30

    fantastic episode! see you on the next one!

  • @Raltzoi
    @Raltzoi 3 роки тому

    This man made a whole adapter for the video. Also on top of that a video that kept my attention even though I don’t under stand some of the stuff he’s talking about you’ve got my sub!

  • @JacobHunt04
    @JacobHunt04 6 років тому +6

    Very cool! I love watching your videos because I get to learn how these things work! Thanks!

  • @resrussia
    @resrussia 6 років тому

    Your video reminded me of a project I did in high school in the mid-1980s. I bought Timex-Sinclair 2068 that had a Atari style game port. The Macintosh had just come out and wanted a mouse for my Timex-Sinclair. So I took apart an Atari joystick and discovered there just five switches. After discovering how simple the joystick worked, I went to Radio shack and bought four switches, and some wire. At a hobby shop, I bought some sheet plastic and assembled a "mouse" for Timex-Sinclair. Also, your video inspired to create an "Atari" joystick for the Raspberry Pi. Thanks for an excellent video.

  • @adamsfusion
    @adamsfusion 6 років тому +15

    Discrete logic NES -> Atari adapters do exist, even far back in the day. They can be accomplished fairly easily with a single 555 timer and an inverted-latch, effectively replicating exactly what the NES already did internally.

    • @BrekMartin
      @BrekMartin 5 років тому

      How is a 555 supposed to demux serial back to a parallel interface?

    • @KoopaMedia64
      @KoopaMedia64 3 роки тому

      Just a guess, but I think the 555 timer is used to pulse the clock line to move the shift register, then the inverted latch is used to break out the single data line into 8 output pins that will control the Atari’s 5 buttons (stick and single button)

  • @TheRealAburaman
    @TheRealAburaman 6 років тому +4

    Best youtube video I have seen, ever. If I had money, I'd patreon you. Thank you so much.

  • @IvanRodriguez-C
    @IvanRodriguez-C 6 років тому +217

    Waiting for "How Modern Game Controllers Work"

    • @lordofthecats6397
      @lordofthecats6397 6 років тому +41

      He is right, most use standard protocals such as USB or Bluetooth. A little microcontroller inside the controller repeatedly polls the digital buttons and converts the analog sensors into digital data. It might do a little key debouncing, then send a packet over a protocal to the console. Some consoles, such as the N64, Gcube, and original Xbox had a proprietary interface, but now all use USB (wired) or Bluetooth (wireless) because the hardware and software needed for these is cheap and widespread. That little microcontroller can also receive data from the console, generating lights or rumbles, or, in the case of the Dreamcast, allowing you to take a Chao with you.

    • @admiralbananas
      @admiralbananas 6 років тому +15

      You may be at the wrong channel

    • @BillAnt
      @BillAnt 5 років тому +12

      Simple, just plug in to usb port and fire away... lol jk
      By the way, just because most consoles use the standard USB port, it doesn't mean you can mix and match controllers among the consoles due to proprietary drivers, data, buttons, etc.

    • @RAndrewNeal
      @RAndrewNeal 5 років тому +15

      Well, he's the _8 Bit Guy,_ so you probably won't find him doing any modern technology on this channel.

    • @MrHack4never
      @MrHack4never 5 років тому +16

      @@lordofthecats6397 Slight correction:
      The original Xbox controllers were USB with a nonstandard connector, which is why you can get USB to Xbox adapters and vice versa

  • @TarminatorSalvation
    @TarminatorSalvation 6 років тому

    This was honestly a lot more interesting / in-depth than I expected going in - very well done.

  • @SuperJet_Spade
    @SuperJet_Spade 6 років тому +6

    I haven't given a thought about these controllers until now. Interesting video 👌🏽

  • @RetroKevin
    @RetroKevin 5 років тому +2

    Amazing video, it's always crazy to see how much you know about the old school systems and how they work.

    • @snippletrap
      @snippletrap 5 років тому

      Any computer engineering undergraduate should be able to do this stuff. When you work on complex setups, it becomes easy to learn simple setups (like the NES). The principles are the same.

  • @sj-qn4uy
    @sj-qn4uy 6 років тому +200

    8-Bit Guy , was/are you ever a School Teacher? i would have listened and learned from you, as you are perfect at explaining everything in easy to understand instructions! Many thanks from me in the U.K

    • @FinalBaton
      @FinalBaton 6 років тому +71

      He's really got the teacher DNA, it's crazy. His ablity to break down (some very complex)concepts in super-clear-visually and super-easy-to-understand and fun way, is really at an elite level

    • @hakureicirno6059
      @hakureicirno6059 6 років тому +31

      He once said he used to work in AST tech support department. Maybe this helps.

    • @TheMr77469
      @TheMr77469 6 років тому +18

      Maybe he should teach a couple of Intro to computer or IT classes at a local community college?

    • @sjarken3979
      @sjarken3979 6 років тому +11

      @@TheMr77469 I believe he already have enough to do.

    • @vinesthemonkey
      @vinesthemonkey 6 років тому +4

      @@TheMr77469 If you watch his daily schedule video he is already busy all day making videos and whatnot. No time to waste teaching idiots at a community college.

  • @gnolex86
    @gnolex86 6 років тому

    Many years ago I wanted to figure out how to read button states from NES controller but I had no idea how it worked. You actually explained it in a very nice way so even someone who doesn't know anything about shift registers can understand it. Maybe I'll prepare such a task for my students who are learning about embedded systems.

  • @jasonblalock4429
    @jasonblalock4429 6 років тому +28

    4:23 Holy crap, the "Top Gun" Thrustmaster! For a lot of us, that was the first time we got to use a "real" flightstick because it was the first Thrustmaster released that was

    • @Atlessa
      @Atlessa 6 років тому +3

      No PC enthusiast worth their salt will say that Mouse + KB is enough for flight sims. Most will probably recommend one of the many available console controllers (Xbox, Switch and PS4 controllers all work with little to no effort) for a budget user, or a full HOTAS if money is not too tight.
      Personally, I prefer the wired (!) Xbox 360 one because it just fits my hands the best, and I think it is the cheapest possible controller with that layout and feature set, but I have used my switch Pro Controller for a few select games as well.

    • @aritakalo8011
      @aritakalo8011 5 років тому +2

      @@Atlessa One shall not forget pedals. Atleast for helicopter flying. Twist handle can never replace pedals..... Problem is I'm poor..... Hmmmmmmm.... car parts shop...... arduino..... hmmmmm.........

    • @BillAnt
      @BillAnt 5 років тому

      My all time favorite was the Epyx joystick. It was suck a radical design, ergonomically fit the hand perfectly, and the switches lasted forever unlike on others. Still have 3 used one and 2 brand new never opened boxes. :)

  • @roweboy1974
    @roweboy1974 6 років тому

    I love this channel with all of the vintage computers! I was growing up as these came out and it was great fun to play all of these machines when I was a kid! Thanks for keeping memories alive!

  • @Murrlin27
    @Murrlin27 6 років тому +11

    Brilliant! I'm almost jealous, when I tinkered with an nes controller, there was no online datasheets or anything! heck there wasn't even an online!

  • @shyshsh
    @shyshsh 5 років тому

    this is the kind of effort id like to see on every video i watch on youtube!
    this is one of a kind!

  • @SuperMacro64
    @SuperMacro64 3 роки тому +15

    3:30 - That's genuinely terrifying.

    • @AuntAlnico4
      @AuntAlnico4 3 роки тому

      Yeah, but as with most things "terrifying" they just are not true🤣😜🤷🥂

    • @SuperMacro64
      @SuperMacro64 3 роки тому

      @@AuntAlnico4 I bet you're a flat earther.

  • @Coolman13355
    @Coolman13355 2 роки тому +1

    Definitely waiting on the USB follow up. I'd also like the in between. The PS1/PS2, Saturn, DC, N64, GC, and OG Xbox. In addition to USB you could talk about Bluetooth etc...

  • @fardnia9434
    @fardnia9434 6 років тому +4

    10 minutes of 8 bit guy amazingness! :)

  • @mikoaj3283
    @mikoaj3283 4 роки тому

    Dude I love these videos, they're so chilling, but you still can learn a ton of things from them.

  • @MidnightToker24
    @MidnightToker24 6 років тому +3

    I like to smoke one and watch your very cool and in-depth videos. I appreciate all the research presented and nice shots.

    • @red_pandey
      @red_pandey 5 років тому

      Smoking is bad
      Contact you local GP they can help you
      I hope you quit nicotine

  • @slappadabass1977
    @slappadabass1977 4 роки тому

    I don't know why this channel popped up in my recommendations, but glad it did. Brings my electrical engineering days back. A degree I never used once lol. Thank you Carleton University!

  • @8ByteBrian
    @8ByteBrian 6 років тому +46

    @0:30 *WOW...be careful where you point that thing!*

    • @CathrineMacNiel
      @CathrineMacNiel 6 років тому

      caution, may hurt some woman.

    • @montruo000000007
      @montruo000000007 6 років тому

      Kirrim Kerman some men as well

    • @Saul_Soto82
      @Saul_Soto82 6 років тому +3

      ​@@CathrineMacNielfeminist's: [TRIGGERED]

    • @Keranu
      @Keranu 6 років тому

      If I'm going to get pregnant, it better be from that Master System stick. Or that Terminator 2 skullstick.

  • @CAVALENCIA
    @CAVALENCIA 6 років тому +1

    Thanks for the great video. This reminded me of something I did in 87 to connect a piano toy I disassembled to an ATARI 800XL. I used the two joystick ports to read the key presses in the piano and wrote a program to play the correct note. A good experiment you might want to try. Of course, there are not enough entry signals for a chromatic octave.

    • @TheJeremyHolloway
      @TheJeremyHolloway 6 років тому +1

      You could've tried using the Atari SIO Port, the grandfather of USB. :)

    • @CAVALENCIA
      @CAVALENCIA 6 років тому

      Jeremy Holloway yes, probably, but was 15 at that time, no electronics education and, of course, no internet. I found the pins with a program similar to what was shown in this video and used the connectors from damaged controls to connect the “switches” of each piano key.

  • @MarkyShaw
    @MarkyShaw 6 років тому +4

    And a good day to you too, Mr. 8-Bit Guy.

  • @claytonjones6127
    @claytonjones6127 6 років тому

    Dave,
    How about an episode that covers the "History of how the 8 bit guy became the 8 bit guy"? - what was your childhood like? what did you focus on? how did you learn so much? what would you recommend to kids and their technology today?
    Thank you
    Your content is very enjoyable,
    thank you
    a teacher in Phoenix

  • @minute8841
    @minute8841 6 років тому +12

    Great video! Will you explain how a four-score NES adapter works in the next episode?

    • @Smaxx
      @Smaxx 6 років тому +6

      It's basically the same principle. Except there are chained shift registers (or larger ones? only part I'm not sure) to allow two different controller states be stored and polled one after the other.
      So instead of reading "P1 P1 P1..." from the first port and "P2 P2 P2..." from the second port, it will read "P1 P3 P1 P3..." from the first port and "P2 P4 P2 P4..." from the second port. There are a few extra bits exchanged to identify the adapter as such, but it's essentially identical.

    • @KuraIthys
      @KuraIthys 6 років тому +3

      @@Smaxx Yeah, more or less.
      It's actually a built in feature of the SNES - it has hardware registers to store controller state information for 4 different controllers at once, yet only two controller ports.
      The circuit in the multitap is pretty simple. I assume the SNES can identify the presence of this device, and then compatible games can switch to code that reads the extra controllers. (SNES controllers have ID codes that you get alongside the button data; that's how the system can tell when you have a standard controller, a Super Scope, a mouse or something else plugged in - the ID code is different for each of them.)

    • @Smaxx
      @Smaxx 6 років тому +1

      @@KuraIthys You're a bit off the road though, unless that's meant as extra information. :) We're talking about the NES's Four Score adapter, which was basically the predecessor of the Supertap.

  • @EduardoWeidmanBarijan
    @EduardoWeidmanBarijan 6 років тому +1

    That is very interesting. I am impressed that you made adapters and even demo showcases. I learned something new. Yes I would like a follow up with how modern USB controllers work, but I know it is not material for 8-bit

  • @TheKingArabia
    @TheKingArabia 5 років тому +82

    This is a content creator. Not some dude streaming their GTA5

  • @frankkrouth8426
    @frankkrouth8426 3 роки тому

    You deserve so much recognition for this well put together video.

  • @rodmunch69
    @rodmunch69 6 років тому +76

    That was really interesting - but how does a 6-button Genesis controller work?
    Also I remember using my Genesis controller on my C64 back in the day, I'm glad I never hit the start button!

    • @IanC14
      @IanC14 6 років тому +11

      Multiplexing most likely, hence why it has the mode button to switch back to three button mode for games that trip over on the multiplexed signal.

    • @ownpj
      @ownpj 6 років тому +12

      The 3 button controller uses multiplexing. the 6 button controller looks for speciic signal timing on the select line to multiplex the additional buttons

    • @pflynn12
      @pflynn12 6 років тому +1

      All I understand is that genesis or NES controllers used on a c64 would use way less buttons

    • @LittleRainGames
      @LittleRainGames 6 років тому +7

      @@pflynn12 no. The nes controller uses serialized data. The console sends a 5v pulse (6us) on the latch pin, this tells the shift register in the controller to latch the inputs and revert to the first button, then it proceeds eith 6 more pulses, this time on the clock pin, and directly after each pulse, the shift register will output the next button.
      The order it outputs is Right, left, down, up, start, select, B, A.
      If you want to learn more, or have the chance to win an unassembled custom nes controller, follow my channel. Im making a tutorial on how to design a nes controller, circuit board, case, the whole shebang, followed with a giveaway of one of the controllers I make, follow my channel and when i post it in a month or 2 maybe youll see it.
      Sorry for the selfless plug, but if you are interested in this youll like my future content.

    • @amirpourghoureiyan1637
      @amirpourghoureiyan1637 6 років тому +1

      as the second guy said, the extra buttons emulated the same input as pressing start + a/b/c. alleviating the need for awkward combos to pull of extra moves for games like street fighter, etc

  • @shihantemplet
    @shihantemplet 5 років тому

    I don’t hardly care about any of this stuff. But your channel is so great, I just keep watching. Well done!

  • @SilveiraNeto
    @SilveiraNeto 6 років тому +7

    When I was a kid I missed my zaper gun into a mouse so that when Impressed the trigger it would click. Ruined a mouse and a zaper gun but it worked.

  • @matthewplehn4271
    @matthewplehn4271 6 років тому

    3 years later we get a video from one of my favorite tech guys!.....good to see you again.

  • @brentfilmore
    @brentfilmore 6 років тому +78

    “I wrote a little proof of concept program...”
    aaaaaaaaand my head explodes

    • @magreger
      @magreger 6 років тому +18

      Right. He's always so calm about some of the amazing things he does. Like when he coded a fully working tetris game from scratch in just a couple hours.

    • @lauram5905
      @lauram5905 6 років тому +1

      I really hope David's got a GitHub, I'd love to read some of these programs some day

    • @stevethepocket
      @stevethepocket 6 років тому +11

      BASIC on the Commodore was pretty robust. Every byte in the memory map could be read using a simple PEEK command if you had the documentation for what registers mean what, and that included all of the data pins on the input ports and the cartridge slot. Commodore provided most of the relevant information right in the manual, probably because they wanted to convince parents that their computers were good for teaching kids programming.

    • @TheCobrabee
      @TheCobrabee 6 років тому +5

      learn a little about coding; what he did would be time consuming for a beginner, but it's not really that complicated. once you learn a little programming you will feel amazing, and your understanding of a lot of things will open up. When I wrote my first functional application, I begin to understand how microprocessors worked, even though my project had nothing to do with that.

    • @DoomRater
      @DoomRater 6 років тому +1

      Heh, BASIC on the Commodore is so robust you could build a working Assembler in BASIC and use it to construct more powerful games. I tried and failed to do this in the past, mostly because I didn't think far enough ahead to make separate compiler and editor and instead tried to translate each assembly instruction line by line. This made such a bare bones tool that it was unusable for creation of an actual program.

  • @DaVeganZombie
    @DaVeganZombie 6 років тому

    MORE OF THESE PLEASE.
    Seriously. As much as I like your other stuff... THIS is very fascinating. How things work, and why they do what they did. How they interact with other components to make the small part of a bigger whole, function.
    That is some quality content.

  • @antihumor2231
    @antihumor2231 6 років тому +3

    Today I received an NES classic. My brother and I got it for Christmas.

    • @MastaSmack
      @MastaSmack 6 років тому

      So you're saying you're better than me?

  • @eckitronix
    @eckitronix 3 роки тому

    I just saw this on my feed, which is amazing considering I've been thinking about working on my own
    Your videos are honestly fascinating and I find them helpful as someone who would like to understand electronics better. Thank you!

  • @-42-47
    @-42-47 5 років тому +3

    Only time I've ever soldered anything was when hacking a controller so gotta respect this video.

  • @runeofaspoon8495
    @runeofaspoon8495 3 роки тому

    Bruh. Thus guy has one of the best intros I’ve ever seen I absolutely love it.

  • @alandmoore4306
    @alandmoore4306 6 років тому +3

    Hypothetically speaking, if a person had plugged a genesis controller into a C64, and hypothetically that C64 no longer works correctly, what might a hypothetical person want to check on his C64 for having hypothetically been fried?

  • @GZbroadcast
    @GZbroadcast 3 роки тому

    1:53 Is that correct? I know for a fact that some games allowed you to push the joystick a little bit and gradually increase the more you push it. I can think of an Star Wars game that does that

  • @ScottWozniak
    @ScottWozniak 6 років тому +11

    Sega Genesis controllers work fine on Atari 8-bit computers. I've been using them on my Atari 800XL for 25 years. As a matter of fact, many homebrew games support them. I've also used them for years without issue on my Amiga 500.

    • @KuraIthys
      @KuraIthys 6 років тому +2

      Yeah, his explanation for how they work is garbage, and his reasons for why it damages home computers is even worse.
      Afaik the damage caused is specific to the c64 and has something to do with it connecting it's keyboard controller to the same lines as the joystick port.
      It can damage a c64, but I don't think it will damage an Atari, or most other home computers...

    • @MrHurricaneFloyd
      @MrHurricaneFloyd 6 років тому +2

      @@KuraIthys Yeah, the C64 has no overcurrent protection on the controller port and can fry pretty easily. The Atari computers could cope with the short circuit, or at least they could intermittently. If you held SELECT down long enough you could fry some of them.

  • @matheusdiasg.soares6416
    @matheusdiasg.soares6416 4 роки тому +1

    It's amazing that The 8 Bit Guy can simply just make a program for everything that he needs on Basic in just a few minutes.
    Cure for the cancer? - BASIC
    Vaccine for HIV? - BASIC
    Calculate 1 billion number os PI? - BASIC

  • @jonnymmac
    @jonnymmac 3 роки тому +6

    THE NES CONTROLLERS CHANGED EVERYTHING. The change was completely revolutionary.

  • @billkendrick1
    @billkendrick1 6 років тому +1

    Paddle POT input is also how things like the Koala Pad and other drawing tablets worked.
    The digital joystick inputs on the Atari are also used for mice & trackballs, as well as the keyboard controller.
    They're I/O ports (not *just* input), so that's how you can get 12 buttons to work, per port!
    The output functionality is also used for multijoy devices. (I *just* got one that plugs into the two controller ports of my Atari 8-bit, and up to 8 joysticks!)

  • @archiveseeker
    @archiveseeker 6 років тому +9

    The NES controller is a legend in and of itself. It stood up to abuse due to a lost game, better than any other!

  • @sethtrey
    @sethtrey 6 років тому

    You are a fantastic explainer, 8-Bit Guy!

  • @DrLilo
    @DrLilo 6 років тому +17

    Genesis doesn't have a select button, did you mean C?

    • @BCDeshiG
      @BCDeshiG 6 років тому +11

      Think he meant start, or the pause button.

    • @ninjamaster3453
      @ninjamaster3453 6 років тому +1

      Maybe he meant the 6 button controller. Standard 3 button has only 3 buttons and start.

    • @sonninnos
      @sonninnos 6 років тому +2

      It does not mean button, but a line name on the multiplexer

    • @FindecanorNotGmail
      @FindecanorNotGmail 6 років тому +4

      I think he referred to the Pin 7 on the Genesis/Mega Drive controller, which is called the "select" pin. It is an _output_ pin which the console uses to select between two sets of two buttons on pins 6 and 9: B and C, or A and Start, respectively.
      The problem with the Genesis controller on the C64 is that the C64 expects no positive voltage on the input pins. The Genesis' gamepad has positive voltage on disconnected input pins (because it _also_ has pull-up resistors). The problem occurs when the I/O chip has reconfigured the same port lines to scan the keyboard. This can cause excess current to flow into the I/O chip if you press a keyboard key with the controller connected. You could supposedly prevent this with an adaptor that has a diode on each input pin so that current can flow only one way.
      The Genesis controllers should be safe on Amiga. Only one set of buttons is selected all the time though: B is fire (or left mouse button) and C is alternate fire in some games (or right mouse button).

    • @AmyraCarter
      @AmyraCarter 6 років тому +2

      'Mode' button. Same thing, at the functionality level.

  • @theclassycorn9344
    @theclassycorn9344 6 років тому

    I was planning on making a NES zapper wireless via bluetooth and your video just saved me a ton of work thank you!!

  • @SlavTiger
    @SlavTiger 5 років тому +4

    if you and a buddy each had an Amiga, would you be Amiga Amigos?

    • @JanetStarChild
      @JanetStarChild 5 років тому

      Or just "Amigas".
      K.I.S.S. (Keep It Simple, Stupid).

  • @opladertje
    @opladertje 6 років тому

    Great video, never knew this. Very informative. Please go on touching new different subjects like this!
    And a merry Christmas to you and the family,

  • @galier2
    @galier2 6 років тому +4

    TI-99/4A would have been interesting. It read 2 joysticks on 1 9 pin connector.

    • @billkeithchannel
      @billkeithchannel 6 років тому +1

      My dad rigged up a special plug for me so I could use a better dual set joystick he found at a discount mail order place. I wrote several head to head games for my TI.

    • @TheJeremyHolloway
      @TheJeremyHolloway 6 років тому

      There were adapter cables for using standard Atari joysticks for them. I bought one at Toys R Us for my cousins back in the day....

  • @fatcat0915
    @fatcat0915 6 років тому

    love watching your videos they help me with all kind of issues. You and LGR are my go to for all knowledge

  • @ChairSandwich
    @ChairSandwich 5 років тому +4

    *gasp* we used our genesis controller on a c64 so many times, how did we not fry the thing. 😐

    • @chrisakaschulbus4903
      @chrisakaschulbus4903 5 років тому +2

      well, i don't think that it would actually fry the computer... since there would only be a current flow from 5 volts to ground and depending on the resistance of the cable it could be possible, that there isn't enough power going through it to damage the power supply... but no matter how true that may be, it's never a good thing to connect vcc and ground :D

  • @atoz4399
    @atoz4399 3 роки тому

    Very good video. I always wondered how it worked with the system. Never knew each pin was a direction or function. Keep up the great work. Very good channel.

  • @MxStruble
    @MxStruble 6 років тому +5

    I used a Genesis control on my 2600 for years. Good thing I’ve never touched select. But you can get some really high scores in Taz with the d-pad over the clunky joystick.

    • @gwishart
      @gwishart 5 років тому +8

      If you have another look at a Genesis controller, you'll be able to figure out why you never pressed the Select button!

  • @RetroGamesCouple
    @RetroGamesCouple 4 роки тому

    The adapter in the end was awesome! Worth watching the video just for that!

  • @robintst
    @robintst 6 років тому +9

    Aw, you only skimmed over the ColecoVision controller, that was my first console. It's fine though, I can tell you how the "joysticks" on those things really work: Through positive thought and an unrelenting death grip. They have almost no travel and are stiff as hell, they're literally half of the challenge and half the experience of playing Coleco games.

  • @sss1ugged
    @sss1ugged 6 років тому

    Just finished my first semester of Digital Logic in college, and seeing what I’ve learned already having so many applications is pretty damn sweet. Thanks for sharing this. Makes for good review too, lol.

  • @TheLucarioBaoJunior
    @TheLucarioBaoJunior 6 років тому +6

    The SNES controller works perfectly for DS games. Well, except for the touchscreen.

    • @robertwoodall4330
      @robertwoodall4330 6 років тому +1

      Probably walking into some kind of trap here....just how do you plug an SNES controller into a DS?

    • @DankRedditMemes
      @DankRedditMemes 6 років тому +3

      @@robertwoodall4330 iheartsnes.blogspot.com/2008/11/snes-controller-on-ds-lite-mod.html

    • @metropod
      @metropod 6 років тому

      @@DankRedditMemes there is a tired "pimp my ride" joke in there somewhere...

  • @tonymack
    @tonymack 3 роки тому

    This was way too cool. My first video here but will def delve into more of them!

  • @AFFL1CTED1
    @AFFL1CTED1 6 років тому +6

    Input. more input. NEED MORE INPUT!

  • @narfman0
    @narfman0 3 роки тому

    Awesome, thanks! Minor note: on a NES controller, you can press two adjacent directions simultaneously. For example, holding "diagonal" down+left should actuate both down and left.

  • @SomeOrangeCat
    @SomeOrangeCat 6 років тому +3

    So, the NES controllers work via sorcery. Just as I suspected all along!

    • @gwishart
      @gwishart 6 років тому

      "Any sufficiently advanced technology is indistinguishable from magic." - Clarke's Third Law.

    • @KaibaSeto.
      @KaibaSeto. 5 років тому

      @@gwishartSince i never understand what the 8 Bit Guy says im just gonna assume he's a wizard
      So imm'a go ready the torches and pitchforks

  • @elisabethmarsh5818
    @elisabethmarsh5818 6 років тому

    This intro has really grown on me. Great video!