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!
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.
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.
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.
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.
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.
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.
@@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
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.
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).
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!
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 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. 🤷♂️
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.
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.
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!
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.
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.
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!
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!
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.
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.
@@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.
@@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...
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.
I love how simple the early controllers are from a hardware perspective. There something poetic about restrictions like this for how it influences creativity.
@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.
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!
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.
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.
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)
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.
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.
@@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
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.
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
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
@@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.
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.
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
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.
@@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.........
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. :)
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!
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...
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!
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.
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.
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
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.
@@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.)
@@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.
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
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!
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 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.
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
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.
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.
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.
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.
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.
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!
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?
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
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.
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...
@@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.
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
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!)
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).
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.
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
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.
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.
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.
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.
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.
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!
Wtf! metfan, i find you all over youtube haha
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.
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.
@@DoomRater King of the 999 ping! Using how lag works made my buddy a top player on the original Quake:CTF clq board.
The lag is probably not a huge problem for David. He already thinks he's better than everyone else. *distant rimshot*
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.
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.
And you have to move your arms around while doing it to help you avoid objects on the screen better.
Well, that only works if you properly blow out the cartridge first
Leaning to avoid bullets also works.
Ahh, just golden 👌 Oh the memories ♡
It's so enjoyable to have answers to questions you had 30 years ago and stopped wondering about.
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.
Yes
Ok. Wiring an nes controller to a c64 and showing it working was damn impressive.
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!!
Yes, that was definitely unexpected! (Although, knowing David, maybe it shouldn't have been!)
Take a shot every time he writes a program in basic to demonstrate how the controller works.
Nerdiest drinking game ever, lmao
@@Echidneys I can make it even nerdier
A shot of water,because water is healthy and good for the body
Salt
And by that I mean, Nah
Id thumb you up but you're at 255 and I'm afraid of integer overflow
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.
That's hardcore
can we look at it please?
I'm interested in seeing it too!
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.
It's not 8 bit if it doesn't run on 8 bit hardware!
You've given me something to watch during my free time at school, as I have limited options on restricted mode. Thank you.
f, dude...
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"
@@fishyninjja9103 the comment is 4 years old, that probably isn't an issue anymore nowadays so don't worry
turn restricted mode off my school let me do it
Legend says you can press all 4 buttons on the D-pad at the same time.
Ehh true
Easy, just short out the contacts with tin foil on the back of the PCB. :P
Legend says there's only three ways to get out of the hood
Some NES games require pressing opposite d-pad buttons simultaneously to access debug options.
Chuck Norris did it.
9:40 "you can only physically push 1 directional button at a time"
you mean "2" directional buttons at a time.
Yeah. I was going to say that.
Definitely not left+right, which is forbidden in speedruns
@@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
@@Wheelz_ I heard some speedruns did accept that as you nes or snes controller could wear down naturally over time.
@@jamesnewbould2469 I think Super Mario Kart actually allows it from memory, for fast Mini Turbos or something if I remember right
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!
i'd like to see semi-modern controllers like say sega saturn Nintendo 64 playstation dreamcast gamecube... you know the ones with proprietary plugs.
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.
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.
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).
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.
musashi gundoh
may i ask what part of the world you grew up in?
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...
Thank you 8-Controller Guy
I thought he was the 8-Book Guy...
@@E231986 8-Pin Guy?
Actually 3 controller guy
@@GaleDoesMusic Ah, but each pin is actually a bit! (Assuming they're digital)
@@kuberootwastaken yea i know, but it happens to have fit this scenario
This is great. I am going to show this in my High School Electrical Engineering class.
Are you a teacher !?
Look, my favorite youtuber has uploaded!
Happy day!
Same
The best
Hey! Me too!
😂🤣
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!
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. 👍
I'm pretty sure it was unintentionally, lol. They wanted that start button
@@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. 🤷♂️
Well ya know, Genesis Does. 😅
@@Letham316 they didnt want to change the design of their system just to prevent breaking old computers, even if they did know about it.
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.
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.
You can press two directions at once, i.e up+left. It's an 8-direction controller.
I was looking for this comment lol
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.
A true 8-way input would have a dedicated input for diagonals. Often found on flight sim controllers
@@KaitouKaiju Never seen one of those.
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.
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!
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.
I believe he already made one, but I can't find it right now.
Great Scott! Those NES extension cable plugs looks like the ones on the high voltage cable Dr Brown used in Back To The Future!
*Sees title, thinks it's a simple video.
*Watches video, jaw drops.
You pretty much said what i was thinking.
It's been a while since your last video and I'm glad you're back. Thank you for making these.
I totally love that you've nicknamed joypads as "flat game controllers". I need to start using that term! :D
Joypads?! JOYPADS??!!? WHAT THE HECK IS A JOYPAD?!!?
@@cringecastfull7278 you think Joypad Is crazy, you should hear about the D-Button
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.
Neat, I've been working on a USB interface for SNES controllers myself using this same information lately.
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!
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!
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.
@@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.
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.
@@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.
@@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...
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.
I love how simple the early controllers are from a hardware perspective. There something poetic about restrictions like this for how it influences creativity.
The NES controller is far from simple. It borders on being way to overcomplicated to save production cost.
@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.
fantastic episode! see you on the next one!
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!
Very cool! I love watching your videos because I get to learn how these things work! Thanks!
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.
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.
How is a 555 supposed to demux serial back to a parallel interface?
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)
Best youtube video I have seen, ever. If I had money, I'd patreon you. Thank you so much.
Waiting for "How Modern Game Controllers Work"
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.
You may be at the wrong channel
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.
Well, he's the _8 Bit Guy,_ so you probably won't find him doing any modern technology on this channel.
@@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
This was honestly a lot more interesting / in-depth than I expected going in - very well done.
I haven't given a thought about these controllers until now. Interesting video 👌🏽
Amazing video, it's always crazy to see how much you know about the old school systems and how they work.
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.
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
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
He once said he used to work in AST tech support department. Maybe this helps.
Maybe he should teach a couple of Intro to computer or IT classes at a local community college?
@@TheMr77469 I believe he already have enough to do.
@@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.
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.
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
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.
@@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.........
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. :)
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!
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!
this is the kind of effort id like to see on every video i watch on youtube!
this is one of a kind!
3:30 - That's genuinely terrifying.
Yeah, but as with most things "terrifying" they just are not true🤣😜🤷🥂
@@AuntAlnico4 I bet you're a flat earther.
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...
10 minutes of 8 bit guy amazingness! :)
Dude I love these videos, they're so chilling, but you still can learn a ton of things from them.
I like to smoke one and watch your very cool and in-depth videos. I appreciate all the research presented and nice shots.
Smoking is bad
Contact you local GP they can help you
I hope you quit nicotine
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!
@0:30 *WOW...be careful where you point that thing!*
caution, may hurt some woman.
Kirrim Kerman some men as well
@@CathrineMacNielfeminist's: [TRIGGERED]
If I'm going to get pregnant, it better be from that Master System stick. Or that Terminator 2 skullstick.
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.
You could've tried using the Atari SIO Port, the grandfather of USB. :)
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.
And a good day to you too, Mr. 8-Bit Guy.
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
Great video! Will you explain how a four-score NES adapter works in the next episode?
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.
@@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.)
@@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.
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
This is a content creator. Not some dude streaming their GTA5
You deserve so much recognition for this well put together video.
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!
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.
The 3 button controller uses multiplexing. the 6 button controller looks for speciic signal timing on the select line to multiplex the additional buttons
All I understand is that genesis or NES controllers used on a c64 would use way less buttons
@@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.
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
I don’t hardly care about any of this stuff. But your channel is so great, I just keep watching. Well done!
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.
3 years later we get a video from one of my favorite tech guys!.....good to see you again.
“I wrote a little proof of concept program...”
aaaaaaaaand my head explodes
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.
I really hope David's got a GitHub, I'd love to read some of these programs some day
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.
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.
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.
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.
Today I received an NES classic. My brother and I got it for Christmas.
So you're saying you're better than me?
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!
Only time I've ever soldered anything was when hacking a controller so gotta respect this video.
Bruh. Thus guy has one of the best intros I’ve ever seen I absolutely love it.
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?
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
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.
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...
@@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.
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
THE NES CONTROLLERS CHANGED EVERYTHING. The change was completely revolutionary.
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!)
The NES controller is a legend in and of itself. It stood up to abuse due to a lost game, better than any other!
You are a fantastic explainer, 8-Bit Guy!
Genesis doesn't have a select button, did you mean C?
Think he meant start, or the pause button.
Maybe he meant the 6 button controller. Standard 3 button has only 3 buttons and start.
It does not mean button, but a line name on the multiplexer
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).
'Mode' button. Same thing, at the functionality level.
I was planning on making a NES zapper wireless via bluetooth and your video just saved me a ton of work thank you!!
if you and a buddy each had an Amiga, would you be Amiga Amigos?
Or just "Amigas".
K.I.S.S. (Keep It Simple, Stupid).
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,
TI-99/4A would have been interesting. It read 2 joysticks on 1 9 pin connector.
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.
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....
love watching your videos they help me with all kind of issues. You and LGR are my go to for all knowledge
*gasp* we used our genesis controller on a c64 so many times, how did we not fry the thing. 😐
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
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.
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.
If you have another look at a Genesis controller, you'll be able to figure out why you never pressed the Select button!
The adapter in the end was awesome! Worth watching the video just for that!
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.
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.
The SNES controller works perfectly for DS games. Well, except for the touchscreen.
Probably walking into some kind of trap here....just how do you plug an SNES controller into a DS?
@@robertwoodall4330 iheartsnes.blogspot.com/2008/11/snes-controller-on-ds-lite-mod.html
@@DankRedditMemes there is a tired "pimp my ride" joke in there somewhere...
This was way too cool. My first video here but will def delve into more of them!
Input. more input. NEED MORE INPUT!
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.
So, the NES controllers work via sorcery. Just as I suspected all along!
"Any sufficiently advanced technology is indistinguishable from magic." - Clarke's Third Law.
@@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
This intro has really grown on me. Great video!