How Vintage Game Controllers Worked

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 พ.ค. 2024
  • Support this channel on Patreon:
    / 8bitguy1
    Visit my website here:
    www.the8bitguy.com
    Download the BASIC code examples on this page (scroll all the way to the bottom)
    www.the8bitguy.com/download-da...

ความคิดเห็น • 1.9K

  • @metfan4l
    @metfan4l 5 ปีที่แล้ว +2828

    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 5 ปีที่แล้ว +19

      Wtf! metfan, i find you all over youtube haha

    • @Dhalin
      @Dhalin 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +1755

    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 5 ปีที่แล้ว +220

      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 5 ปีที่แล้ว +92

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

    • @lordofthecats6397
      @lordofthecats6397 5 ปีที่แล้ว +96

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

    • @MammaApa
      @MammaApa 5 ปีที่แล้ว +51

      Leaning to avoid bullets also works.

    • @thakingis
      @thakingis 5 ปีที่แล้ว +12

      Ahh, just golden 👌 Oh the memories ♡

  • @jcb88ify
    @jcb88ify 4 ปีที่แล้ว +330

    Would imagine this dudes "loose cable drawer" is more like a "loose cable room".

    • @darralnolan5792
      @darralnolan5792 4 ปีที่แล้ว +18

      My anus smells like the Atari

    • @trashboye1235
      @trashboye1235 4 ปีที่แล้ว +28

      @@darralnolan5792 thanks for sharing

    • @jonnylaw4569
      @jonnylaw4569 3 ปีที่แล้ว +10

      Well... this thread took a weird turn...

    • @chico305SIGMA
      @chico305SIGMA 3 ปีที่แล้ว +3

      What the fuck happened to your little toe?????

    • @sabin97
      @sabin97 2 ปีที่แล้ว

      @@darralnolan5792
      no it doesnt!
      at least it didnt use to......

  • @hgbugalou
    @hgbugalou 4 ปีที่แล้ว +182

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

  • @MartinKronstrom
    @MartinKronstrom 5 ปีที่แล้ว +341

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

    • @BillAnt
      @BillAnt 5 ปีที่แล้ว +17

      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.

    • @crumplenewscom
      @crumplenewscom 2 ปีที่แล้ว +1

      Yes

  • @neomage2021
    @neomage2021 5 ปีที่แล้ว +167

    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 4 ปีที่แล้ว +9

      That's hardcore

    • @mibbleyt
      @mibbleyt 2 ปีที่แล้ว +1

      can we look at it please?

    • @NickolasHunter
      @NickolasHunter 2 ปีที่แล้ว

      I'm interested in seeing it too!

    • @sabin97
      @sabin97 2 ปีที่แล้ว +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 ปีที่แล้ว

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

  • @bibasik7
    @bibasik7 5 ปีที่แล้ว +775

    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. 4 ปีที่แล้ว +76

      @@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 ปีที่แล้ว +20

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

  • @Letham316
    @Letham316 2 ปีที่แล้ว +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 2 ปีที่แล้ว +27

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

    • @Letham316
      @Letham316 2 ปีที่แล้ว +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 2 ปีที่แล้ว +8

      Well ya know, Genesis Does. 😅

    • @heathc148
      @heathc148 2 ปีที่แล้ว +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 2 ปีที่แล้ว +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.

  • @LMacNeill
    @LMacNeill 5 ปีที่แล้ว +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 5 ปีที่แล้ว +8

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

  • @szoszaty
    @szoszaty 5 ปีที่แล้ว +670

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

    • @debbiemeyer2693
      @debbiemeyer2693 5 ปีที่แล้ว +6

      Ehh true

    • @JVerschueren
      @JVerschueren 5 ปีที่แล้ว +31

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

    • @CinemaShotsTV
      @CinemaShotsTV 5 ปีที่แล้ว +11

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

    • @goatbone
      @goatbone 5 ปีที่แล้ว +49

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

    • @GerbenWijnja
      @GerbenWijnja 5 ปีที่แล้ว +45

      Chuck Norris did it.

  • @purplesam2609
    @purplesam2609 5 ปีที่แล้ว +31

    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 2 ปีที่แล้ว +2

      f, dude...

    • @ecernosoft3096
      @ecernosoft3096 ปีที่แล้ว

      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

  • @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 4 ปีที่แล้ว +3

      Yeah. I was going to say that.

    • @Connie_TinuityError
      @Connie_TinuityError 2 ปีที่แล้ว +18

      Definitely not left+right, which is forbidden in speedruns

    • @Wheelz_
      @Wheelz_ 2 ปีที่แล้ว +17

      @@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 2 ปีที่แล้ว +9

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

    • @Wheelz_
      @Wheelz_ 2 ปีที่แล้ว +6

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

  • @Kadotus
    @Kadotus 5 ปีที่แล้ว +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.

  • @colonelgraff9198
    @colonelgraff9198 5 ปีที่แล้ว +276

    Thank you 8-Controller Guy

    • @E231986
      @E231986 5 ปีที่แล้ว +19

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

    • @GaleDoesMusic
      @GaleDoesMusic 5 ปีที่แล้ว +24

      @@E231986 8-Pin Guy?

    • @E-virtuosEu
      @E-virtuosEu 5 ปีที่แล้ว +6

      Actually 3 controller guy

    • @kuberootwastaken
      @kuberootwastaken 5 ปีที่แล้ว

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

    • @GaleDoesMusic
      @GaleDoesMusic 5 ปีที่แล้ว

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

  • @GamesTuesday
    @GamesTuesday 2 ปีที่แล้ว +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 2 ปีที่แล้ว +1

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

  • @SuperMacro64
    @SuperMacro64 2 ปีที่แล้ว +14

    3:30 - That's genuinely terrifying.

    • @auntjenifer7774
      @auntjenifer7774 2 ปีที่แล้ว

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

    • @SuperMacro64
      @SuperMacro64 2 ปีที่แล้ว

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

  • @musashigundoh
    @musashigundoh 5 ปีที่แล้ว +25

    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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +1

      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 5 ปีที่แล้ว +1

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

  • @mirabilis
    @mirabilis 5 ปีที่แล้ว +80

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

    • @E231986
      @E231986 5 ปีที่แล้ว +15

      I was looking for this comment lol

    • @mchevre
      @mchevre 5 ปีที่แล้ว +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 5 ปีที่แล้ว +2

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

    • @mirabilis
      @mirabilis 5 ปีที่แล้ว

      @@KaitouKaiju Never seen one of those.

    • @AmyraCarter
      @AmyraCarter 5 ปีที่แล้ว +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.

  • @ethzero
    @ethzero 5 ปีที่แล้ว +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!

  • @SuperC142
    @SuperC142 5 ปีที่แล้ว +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!

  • @Biker_Gremling
    @Biker_Gremling 5 ปีที่แล้ว +85

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

    • @BertGrink
      @BertGrink 4 ปีที่แล้ว

      You pretty much said what i was thinking.

  • @stevethepocket
    @stevethepocket 5 ปีที่แล้ว +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 4 ปีที่แล้ว +1

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

  • @IvanRodriguez-C
    @IvanRodriguez-C 5 ปีที่แล้ว +219

    Waiting for "How Modern Game Controllers Work"

    • @lordofthecats6397
      @lordofthecats6397 5 ปีที่แล้ว +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.

    • @siradmiralbanana
      @siradmiralbanana 5 ปีที่แล้ว +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

  • @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!

  • @KofolaDealer
    @KofolaDealer 5 ปีที่แล้ว +203

    Look, my favorite youtuber has uploaded!

  • @robmortimer4150
    @robmortimer4150 5 ปีที่แล้ว +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...

  • @billkendrick1
    @billkendrick1 5 ปีที่แล้ว +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!)

  • @r0xjo0
    @r0xjo0 4 ปีที่แล้ว +12

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

  • @cadburybunny
    @cadburybunny 5 ปีที่แล้ว +4

    Having already taken all my old controllers apart as a kid I knew most of this ... but I always find something new to learn from watching your videos. Huzzah!

  • @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.

  • @hellothere7802
    @hellothere7802 5 ปีที่แล้ว +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.

  • @Haxiel
    @Haxiel 5 ปีที่แล้ว +2

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

  • @yorgle
    @yorgle 5 ปีที่แล้ว +21

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

    • @cringecastfull7278
      @cringecastfull7278 4 ปีที่แล้ว +1

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

    • @nathanurie4686
      @nathanurie4686 4 ปีที่แล้ว

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

  • @JacobHunt04
    @JacobHunt04 5 ปีที่แล้ว +6

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

  • @eckitronix
    @eckitronix 2 ปีที่แล้ว

    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!

  • @opladertje
    @opladertje 5 ปีที่แล้ว

    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,

  • @onedeadsaint
    @onedeadsaint 5 ปีที่แล้ว +30

    fantastic episode! see you on the next one!

  • @adamsfusion
    @adamsfusion 5 ปีที่แล้ว +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 4 ปีที่แล้ว

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

    • @KoopaMedia64
      @KoopaMedia64 2 ปีที่แล้ว

      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)

  • @roweboy1974
    @roweboy1974 5 ปีที่แล้ว

    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!

  • @fatcat0915
    @fatcat0915 5 ปีที่แล้ว

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

  • @SuperJet_Spade
    @SuperJet_Spade 5 ปีที่แล้ว +6

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

  • @NaokisRC
    @NaokisRC 5 ปีที่แล้ว +29

    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 5 ปีที่แล้ว +4

      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 5 ปีที่แล้ว

      @@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 5 ปีที่แล้ว +5

      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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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...

  • @Raltzoi
    @Raltzoi 2 ปีที่แล้ว

    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!

  • @mikoaj3283
    @mikoaj3283 3 ปีที่แล้ว

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

  • @sj-qn4uy
    @sj-qn4uy 5 ปีที่แล้ว +199

    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 5 ปีที่แล้ว +70

      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 5 ปีที่แล้ว +31

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

    • @TheMr77469
      @TheMr77469 5 ปีที่แล้ว +18

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

    • @sjarken3979
      @sjarken3979 5 ปีที่แล้ว +11

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

    • @vinesthemonkey
      @vinesthemonkey 5 ปีที่แล้ว +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.

  • @Murrlin27
    @Murrlin27 5 ปีที่แล้ว +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!

  • @frankkrouth8426
    @frankkrouth8426 2 ปีที่แล้ว

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

  • @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!

  • @jasonblalock4429
    @jasonblalock4429 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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. :)

  • @GarrettLeach
    @GarrettLeach 5 ปีที่แล้ว +7

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

  • @mohammedal-tamimi4125
    @mohammedal-tamimi4125 5 ปีที่แล้ว

    As always, brilliant video...you are one of my favorite youtubers...

  • @TarminatorSalvation
    @TarminatorSalvation 5 ปีที่แล้ว

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

  • @8ByteBrian
    @8ByteBrian 5 ปีที่แล้ว +46

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

    • @CathrineMacNiel
      @CathrineMacNiel 5 ปีที่แล้ว

      caution, may hurt some woman.

    • @montruo000000007
      @montruo000000007 5 ปีที่แล้ว

      Kirrim Kerman some men as well

    • @Saul_Soto82
      @Saul_Soto82 5 ปีที่แล้ว +3

      ​@@CathrineMacNielfeminist's: [TRIGGERED]

    • @Keranu
      @Keranu 5 ปีที่แล้ว

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

  • @fardnia9434
    @fardnia9434 5 ปีที่แล้ว +4

    10 minutes of 8 bit guy amazingness! :)

  • @atoz4399
    @atoz4399 2 ปีที่แล้ว

    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.

  • @DaVeganZombie
    @DaVeganZombie 5 ปีที่แล้ว

    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.

  • @MarkyShaw
    @MarkyShaw 5 ปีที่แล้ว +4

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

  • @brentfilmore
    @brentfilmore 5 ปีที่แล้ว +78

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

    • @magreger
      @magreger 5 ปีที่แล้ว +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 5 ปีที่แล้ว +1

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

    • @stevethepocket
      @stevethepocket 5 ปีที่แล้ว +12

      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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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.

  • @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 4 ปีที่แล้ว

      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.

  • @orwell_fan
    @orwell_fan 5 ปีที่แล้ว

    As usual great video man! Loved the NES gamepad experiment.

  • @blazed85
    @blazed85 5 ปีที่แล้ว +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 4 ปีที่แล้ว

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

  • @TheKingArabia
    @TheKingArabia 4 ปีที่แล้ว +83

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

  • @RetroGamesCouple
    @RetroGamesCouple 3 ปีที่แล้ว

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

  • @tonymack
    @tonymack 2 ปีที่แล้ว

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

  • @minute8841
    @minute8841 5 ปีที่แล้ว +12

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

    • @Smaxx
      @Smaxx 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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.

  • @SilveiraNeto
    @SilveiraNeto 5 ปีที่แล้ว +8

    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.

  • @TheRealAburaman
    @TheRealAburaman 5 ปีที่แล้ว +4

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

  • @peterspencer6442
    @peterspencer6442 4 ปีที่แล้ว

    Very nicely done! I especially liked your adaptor and demonstration :)

  • @jonnymmac
    @jonnymmac 2 ปีที่แล้ว +6

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

  • @rodmunch69
    @rodmunch69 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +1

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

    • @LittleRainGames
      @LittleRainGames 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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

  • @Tim_3100
    @Tim_3100 5 ปีที่แล้ว

    Great episode David

  • @simstash9889
    @simstash9889 5 ปีที่แล้ว

    Always an interesting experience hanging out at this channel.

  • @Dhalin
    @Dhalin 5 ปีที่แล้ว +3

    @9:40 : You can only press 1 direction? Then how did we do Diagonal in many NES games, where you'd push Up+Left, or Up+Right, etc?

    • @HCkev
      @HCkev 5 ปีที่แล้ว

      He meant you can't physically press opposite directions as the middle of the D-pad rests against a small bump in the controller

    • @paradoxzee6834
      @paradoxzee6834 5 ปีที่แล้ว

      Yea it was just wrong wording on his part

  • @dreammfyre
    @dreammfyre 5 ปีที่แล้ว +3

    Wait, what about the third button on the Genesis controller? I'm guessing that one goes on the unused pin?

    • @gwishart
      @gwishart 5 ปีที่แล้ว +1

      He's actually made a mistake (or a deliberate simplification) in describing the way the Genesis controller works. The Select pin is an output, the console sets or clears it to choose which of the two banks of buttons to read. On a six button controller, it sends a two bit sequences, to choose from four banks.

  • @CAVALENCIA
    @CAVALENCIA 5 ปีที่แล้ว +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 5 ปีที่แล้ว +1

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

    • @CAVALENCIA
      @CAVALENCIA 5 ปีที่แล้ว

      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.

  • @theclassycorn9344
    @theclassycorn9344 5 ปีที่แล้ว

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

  • @antihumor2231
    @antihumor2231 5 ปีที่แล้ว +3

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

    • @MastaSmack
      @MastaSmack 5 ปีที่แล้ว

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

  • @-42-47
    @-42-47 5 ปีที่แล้ว +3

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

  • @Elcarsh
    @Elcarsh 2 ปีที่แล้ว

    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.

  • @Musicombo
    @Musicombo 5 ปีที่แล้ว

    Been waiting for this video for a long time, awesome!!

  • @ScottWozniak
    @ScottWozniak 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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.

  • @archiveseeker
    @archiveseeker 5 ปีที่แล้ว +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!

  • @TrialzGTAS
    @TrialzGTAS 5 ปีที่แล้ว +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!

  • @MagesGuild
    @MagesGuild 4 ปีที่แล้ว

    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.

  • @MxStruble
    @MxStruble 5 ปีที่แล้ว +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 4 ปีที่แล้ว +8

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

  • @jacksat2252
    @jacksat2252 5 ปีที่แล้ว +5

    AHHH ,the good old MS Sidewinder joystick days.

    • @snippletrap
      @snippletrap 4 ปีที่แล้ว

      Good for Descent

  • @itmustvebeenlag9590
    @itmustvebeenlag9590 2 ปีที่แล้ว

    This was such a great presentation, and I've watched many people do this type of stuff.

  • @Robo10q
    @Robo10q 5 ปีที่แล้ว

    Another great video. Thanks for the early holiday present.

  • @ChairSandwich
    @ChairSandwich 4 ปีที่แล้ว +4

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

    • @chrisakaschulbus4903
      @chrisakaschulbus4903 4 ปีที่แล้ว +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

  • @galier2
    @galier2 5 ปีที่แล้ว +4

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

    • @billkeithchannel
      @billkeithchannel 5 ปีที่แล้ว +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 5 ปีที่แล้ว

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

  • @resrussia
    @resrussia 5 ปีที่แล้ว

    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.

  • @kendallpino3524
    @kendallpino3524 5 ปีที่แล้ว

    You are a prodigy at Basic. It's amazing!

  • @robintst
    @robintst 5 ปีที่แล้ว +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.

  • @stewiegriffin6503
    @stewiegriffin6503 5 ปีที่แล้ว +3

    I had to laugh after he pulled it out at 0:29

  • @organiccold
    @organiccold 5 ปีที่แล้ว

    Happy New Year Dave

  • @EduardoWeidmanBarijan
    @EduardoWeidmanBarijan 5 ปีที่แล้ว +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

  • @SlavTiger
    @SlavTiger 5 ปีที่แล้ว +4

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

    • @JanetStarChild
      @JanetStarChild 4 ปีที่แล้ว

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

  • @shade041
    @shade041 2 ปีที่แล้ว

    This was very informative and very impressive. Nice video!

  • @josenicolasmolinacartes5873
    @josenicolasmolinacartes5873 5 ปีที่แล้ว

    very educative video as usual! many thanks from Chile

  • @AFFL1CTED1
    @AFFL1CTED1 5 ปีที่แล้ว +6

    Input. more input. NEED MORE INPUT!