NES Sound: The DMC - Behind the Code

  Рет қаралды 123,029

Displaced Gamers

Displaced Gamers

Күн бұрын

Examination of one sound channel of the NES - the DMC. Analog to digital conversion, PCM, and DPCM are covered.
If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - / displacedgamers
Twitter: / displacedgamers
Facebook: / displacedgamers
Instagram: / displacedgamers
Music by:
/ hariboosx
/ @wolfandraven
0:00 Intro
1:00 What is Sound?
3:08 From Analog to Digital
5:59 PCM Explanation
7:45 PCM on the NES
10:15 Raw PCM on Register $4011
11:21 DPCM on the NES
12:52 Dwouble Dwibble and Registers $4012 and $4013
18:37 NES DPCM Sample Rate Options
20:56 NES Speech Replacement
21:53 DPCM Instruments
23:26 Sample Length and the Off-by-one Error
26:06 Looping Samples
27:46 A DPCM ROM Modification...
28:33 Journey to Silius Bass Compare
29:56 Thoughts on Bass Change
30:46 Super C and Drums vs Orchestra Hits
32:07 DMC Shortcomings
33:10 Conclusion and Outro
#NES #SOUND #SPEECH

Пікірлер: 448
@slowfuse
@slowfuse 3 жыл бұрын
I studied audio engineering and sound design at College, and dude just summed up the first 2 years worth of textbooks better than they did.
@square-pixel
@square-pixel 3 жыл бұрын
Cortex Auth absolutely true!
@OGmolton1
@OGmolton1 3 жыл бұрын
great video... yeah sorry to hear that. What are they charging us all that money for anyway?
@slowfuse
@slowfuse 3 жыл бұрын
@@OGmolton1 lots of stuff, it was a good course. Just this video made it very easy for a layman to follow quickly and pick up the concepts
@nebularain3338
@nebularain3338 3 жыл бұрын
I tend to find that courses and the like are stuck in an overly formal format of presentation, and much of the way that the information is taught can be very dry and usually doesn't have much context. Manuals are the same, which is why I despise people on forums saying "Go read the manual" instead of giving a real answer. Usually the people asking questions have read the manual, but don't understand the way the information was presented and so are looking for another take on it. Many people also have a tenancy to bloat information and make it more complicated than it needs to be. I've seen tutorials which are borderline impossible to follow, but once I figured out what to do by myself I was shocked at how much they made it needlessly cumbersome. TL:DR - Get as many different explanations and takes as you can find on whatever topic you want to know about. If people just keep referring others to the same page of the same boring and hard to understand manual time and time again, then very few people will "get it".
@jordantfryman6184
@jordantfryman6184 3 жыл бұрын
@@slowfuse like me. Yep.
@MrCheeze
@MrCheeze 3 жыл бұрын
God damn, that revelation that "Double Dribble" was an encoding error that managed to still sound like what I expected sampled audio of that era to sound like was amazing.
@gregmark1688
@gregmark1688 Жыл бұрын
Imagine how impressed we all would've been if they had sounded like they were meant to!
@MovieMovies1
@MovieMovies1 3 жыл бұрын
I find it interesting how people really started taking bit order reversal seriously after I discovered Sunsoft's DPCM conversion process had a reversed bit order in their games from Batman onward. I was actually prompted to investigate the whole bit-reversal thing due to the Double Dribble discovery, as I thought the fuzziness sounded similar to Sunsoft's DPCM samples. I remember the first sample I tried reversing was a slap bass sample from Gimmick, which after I reversed the bits of manually due to lack of tools until after this became more well known, I finally managed to hear that it was actually a classic Roland slap bass, found on lots of their samplers and ROMpler synths, including the MT-32 and SoundCanvas lines. I had been eluded by that sample for years on end wondering what it was, as the bit-reversal had made the high end frequencies much harder to identify, so hearing it so clearly was an immediate indicator that bit-reversal was probably more common than just Double Dribble. As for the Contra drums, as far as I remember they're from one of the Yamaha RX drum machines, at least the snaredrum is. I still don't know what the more common Sunsoft bass sounds are from though (The ones used in Journey to Silius, Batman: Return of the Joker, Hebereke, etc.). -Interestingly enough, Sunsoft's earlier usage of DPCM before Batman all had the right bit order, but the conversions themselves mangled the samples so bad that the newer, bit-reversed conversion method they eventually used sounds miles better than those :p- As it turns out, Sunsoft's old DPCM samples weren't even DPCM-converted, they were 1-bit PCM that the hardware then just interpreted as DPCM.
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Wow! Good stuff, MovieMovies1!
@SleepingCocoon
@SleepingCocoon 3 жыл бұрын
are there public patches available for these? dying to hear them all directly! it's crazy how the earlier sunsoft bass goes from "i think it's a slap bass?" to a kind of phat moog sound. but I'd love a fixed version of gimmick!
@nickcarter4006
@nickcarter4006 3 жыл бұрын
That’s fascinating! I order if they might have done this to obscure the source of the samples? Might be kinda dicey to just lift Roland or Korg samples
@SleepingCocoon
@SleepingCocoon 3 жыл бұрын
@@nickcarter4006 nah, this is a non-issue. most of the instrument samples used in super famicom, n64, playstation, etc games come from either that era of romplers or sample discs. it's what they're there for. by that logic you wouldn't be able to use them in any music. it's assumed to be fine if you have to store recordings of the samples for playback. just wait until you find out how many samples the rompler manufacturers stole from one another!
@jordantfryman6184
@jordantfryman6184 3 жыл бұрын
@@DisplacedGamers May I please ask what the game in the outro specifically is? As I would like to listen to the whole tune.
@davidmcgill1000
@davidmcgill1000 3 жыл бұрын
Wow. So the Double Dribble devs must've thought the NES just sounded like garbage and never noticed this.
@jansenart0
@jansenart0 3 жыл бұрын
All code is held together with tape and hope...
@jamescurrie01
@jamescurrie01 3 жыл бұрын
@@jansenart0 so true
@MickeyD2012
@MickeyD2012 3 жыл бұрын
@@jamescurrie01 NO. Some assembly programmers ACTUALLY know what they're doing.
@FoxerTails
@FoxerTails 3 жыл бұрын
@@MickeyD2012 There's always the possibility of a mistake. Humans aren't perfect after all. That's how bugs are born. :)
@Kapin05
@Kapin05 3 жыл бұрын
@@jansenart0 If your code works first time, buy a lottery ticket
@benanderson89
@benanderson89 3 жыл бұрын
I've written music for the NES sound chip before but I've never went deep diving into it's technical specifications. Fantastic video idea!
@okarowarrior
@okarowarrior 3 жыл бұрын
Real hardware or just a tracker?
@benanderson89
@benanderson89 3 жыл бұрын
@@okarowarrior Tracked and then played back on hardware.
@okarowarrior
@okarowarrior 3 жыл бұрын
@@benanderson89 ah. I thought you would've written music in assembly and it would be really interesting to hear the insides of it.
@benanderson89
@benanderson89 3 жыл бұрын
@@okarowarrior I've written in 65xx assembly before on both a BBC Micro and Commodore 64 (same CPU family as the NES). There's nothing really that interesting about it other than it's really labour intensive to get something up and running.
@okarowarrior
@okarowarrior 3 жыл бұрын
@@benanderson89 ohh neat. Haha. I'd imagine it would be the case. So, do you consider that really isn't that much of a gain in writing the music as code compared to using a tracker? other than the virtuosso/craftmanship factor? I'm interested because I use trackers myself, and always wondered "how would be to write this directly on assembly." Or at least in basic for the C64. Thanks for the reply
@Teuthida
@Teuthida 3 жыл бұрын
Fun fact: the first NES game to use DPCM in a musical context instead of just for sound effects was a Japan-exclusive bililards game from Konami, which included a single bass drum sample. This sample would go on to appear in most later Komani titles, usually together with the iconic Konami snare sample.
@null_state
@null_state 3 жыл бұрын
"Exciting Billiards"
@FinalLuigi
@FinalLuigi 3 жыл бұрын
I think Nintendo's Gumshoe is the first game to use musical samples; though only for one song, and 11 times at that. Interestingly, Wild Gunman is the first NES game to use samples at all, and both games are lightgun games. It's likely Nintendo made these decisions because of the controller read glitch.
@Peter_Morris
@Peter_Morris 2 жыл бұрын
Holy cow that bit reversal thing blew my mind. I just always figured NES sound samples were so noisy and distorted because of the tiny storage space. But hearing “Double Dribble” so cleanly was eye opening! It actually sounded like the “Konami Arcade” voice.
@sonikku9173
@sonikku9173 3 жыл бұрын
The music from journey to silious is amazing!
@StraightOuttaJarhois
@StraightOuttaJarhois 3 жыл бұрын
Sunsoft made some of the best music for the NES, no doubt.
@magoid
@magoid 3 жыл бұрын
It really is. In fact, is better than the game it is in.
@LorenHelgeson
@LorenHelgeson 3 жыл бұрын
Pretty much anything from Sunsoft is top-notch NES music. Even earlier stuff like Wing of Madoola, something a bit obscure like Platoon, or the downright unpopular like Fester's Quest. Regardless of game quality, the music is almost always a hit.
@joaonitro5149
@joaonitro5149 3 жыл бұрын
@@magoid NO
@aretrogamergentleman4426
@aretrogamergentleman4426 2 жыл бұрын
I agree with the boys, Sunsoft was practically the indisputable master in using the NES sound engine at its fullest to create this and countless other mesmerizing pieces.
@ballandpaddle
@ballandpaddle 3 жыл бұрын
Great vid! A topic dear to my heart. I'd like to request a video about the various expansion chips that went into some games, like the Konami VRC6 or Namco N163.
@Skeletroy
@Skeletroy 3 жыл бұрын
I'd like to second this request.
@PabloAvilaEstevez
@PabloAvilaEstevez 3 жыл бұрын
Third! The Namco 163 is responsible for one of the greatest video game soundtracks of all time regardless of hardware, the Digital Devil Story Megami Tensei II soundtrack
@gluttonousmaximus9048
@gluttonousmaximus9048 3 жыл бұрын
I'd like to hear about how the Turbografx or the MSX Konami SCC created their distinctive wavetable sounds
@megamix5403
@megamix5403 3 жыл бұрын
I love you Trance Chiptunes! I hope you make more.
@nicholaswelch4376
@nicholaswelch4376 3 жыл бұрын
If you haven't heard them yet, Retro Game Audio did an individual podcast for each of the NES expansion chips. Very detailed with lots of audio examples.
@GameSack
@GameSack 3 жыл бұрын
Oh how I love videos about sound! Fascinating stuff. Some of it reminds me of how I mixed sound for home videos back in the 90s to take advantage of Dolby Pro-Logic. Same sound in both left and right channels. Should be mono, right? However you can adjust the sound in one of the channels (doesn't matter which) out of phase by 180º and BAM, that same sound now plays through the surround speakers! Another part of your video reminds me of how they rewrote the sample driver or some such thing for the Street Fighter 2 games on the Genesis to achieve MUCH better voice quality compared to the original retail release using the same exact samples that are already on the cart. Anyway great video!
@IllusionSector
@IllusionSector 3 жыл бұрын
Joe?
@xenos_n.
@xenos_n. 3 жыл бұрын
@@IllusionSector that's Mr. Sack to you.
@Lady_Moonsong
@Lady_Moonsong 3 жыл бұрын
@Lawrence Bo I tried this and now my cat is on fire and my mother in law is gay. Thanks for nothing
@skins4thewin
@skins4thewin 2 жыл бұрын
@@Lady_Moonsong LOL uh.... what?
@skins4thewin
@skins4thewin 2 жыл бұрын
While it definitely sounds better, the SF2 voices didn't sound THAT much better to me. A bit better sure, but not a ton. The voices still sound a bit shrill to me & still don't quite match the SNES voices. It really makes me wonder why devs struggled so mightily with samples on the Genesis, why was it so hard for most devs to get voices to sound right? Hell, the NES seemed like it had more games with excellent sounding samples than the Genesis had. If the NES is capable of such nice sounding voice samples, then why not the Genesis? Why did devs struggle so badly with it?
@Acoha7
@Acoha7 3 жыл бұрын
The amount of work you must put into these videos is astonishing. I’d absolutely sit in one of your lessons if you were a teacher. Amazing work.
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Wow! Thank you!
@VinsCool
@VinsCool 3 жыл бұрын
Great video! DPCM tuning issues were the reason why I went all out and sampled 3 octaves worth of bass, 1 sample per note. They take a massive load of ROM space but the quality made it really worth the time I spent splicing and normalizing them by hand in Audacity, lol
@fakeshemp9599
@fakeshemp9599 3 жыл бұрын
Hahaha "Dwouble Dwibble"... nice chapter name lol
@kimgkomg
@kimgkomg 3 жыл бұрын
I always heard it as "Double Dibble"
@sadpacman3290
@sadpacman3290 3 жыл бұрын
Learned two things: I have a ton more respect for the coders/musicians who had to work through all this and came out with classic tracks. Also, I want to get a bass guitar and learn that Journey to Silus track.
@themadmallard
@themadmallard 3 жыл бұрын
truly, as a composer from the period, your melody had nowhere to hide when it came to instrumentation. you either had a hook, or you didn't
@Choralone422
@Choralone422 3 жыл бұрын
I still find it fascinating how much developers were able to get out of the NES/Famicom with base hardware that was released in 1983 and used a main CPU (MOS 6502) that was from 1975! The custom PPU & APU were fantastic! The additional mapper chips in most cartridges after 1985 really helped stretch what the base hardware could do!
@sparrowthesissy2186
@sparrowthesissy2186 3 жыл бұрын
I love when part of what makes something distinct and special is that it was actually broken all along, but we just grew up with that brokenness so we remember it fondly.
@zxbryc
@zxbryc 3 жыл бұрын
You should do a video on NES sound drivers. It's a very neglected subject. Everyone just uses the same FamiTracker sound driver and don't appreciate how things developed from highly limited, short title jingles on the first Famicom games, up to the crazy stuff Tim Follin and Jeroen Tel had in their drivers.
@MelonadeM
@MelonadeM 3 жыл бұрын
you always do such a great job explaining really complicated stuff in a clear and concise manner, i hope you keep up the great work!
@irgendwer3610
@irgendwer3610 2 жыл бұрын
and you make great music
@wojciechmilczarek6051
@wojciechmilczarek6051 3 жыл бұрын
I can't believe the quality of this channel. Your videos are very interesting, high quality and original, you honestly deserve more subs. Btw, that silus soundtrack was fire
@llamamiento
@llamamiento 3 жыл бұрын
This is becoming one of my favorite channels. I appreciate the visualization of information. I can't wait for the next video.
@code4chaosmobile
@code4chaosmobile 3 жыл бұрын
cannot say it enough , love this series!!! tyvm
@djhaloeight
@djhaloeight 3 жыл бұрын
Absolutely enthralling video! Always a good day when a Displaced Gamers video shows up!
@tomsko863
@tomsko863 3 жыл бұрын
Thank you for this video! Alot of work went into it. You did a great job!
@press_pause2236
@press_pause2236 3 жыл бұрын
Your videos are just incredible, honestly one of the best channels around here
@emmettturner9452
@emmettturner9452 3 жыл бұрын
Another thing about The Immortal: It doesn't seem to have been made with a proper dev kit or following official guidelines, since it uses the wrong value for black and causes issues on modern TVs (blacker than black value gets misinterpreted as a sync pulse). EA made their own dev kit for Genesis back then so they probably didn't want to be beholden to Nintendo either. Back in 2017 I made a ROM edit that fixes this and I plan to make a video about it showing that I have what may be the only "fixed" physical copy of the game in existence while I simultaneously release the patch. When John Riggs encountered the game I offered to send him the patch since he kinda got his start making repros and hadn't actually fixed a game in a long time but he didn't seem interested. :( If you want to do a video on it, let me know because I've been putting mine off for three years! ;)
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Oh man, Emmett! I hope you make that video!
@Wandering_Boots
@Wandering_Boots 3 жыл бұрын
This is a very clear, articulate and insightful video!
@ElvisAaronBU
@ElvisAaronBU 3 жыл бұрын
Great job explaining a complex topic! I'm really enjoying this series.
@JamieBainbridge
@JamieBainbridge 3 жыл бұрын
Damn dude this was an incredible video. So much information and experimentation, presented so clearly.
@jamescurrie01
@jamescurrie01 3 жыл бұрын
Absolutely fantastic, blown away by how comprehensive these videos are. Research and time spent really shows.
@massivewon
@massivewon 2 жыл бұрын
Your videos are insanely good. Keep up the great work!
@robintst
@robintst 3 жыл бұрын
You do fantastic videos. I get a little lost on the deeper technical stuff but you make the gist of it easy to understand and I'm still able to follow along. Great work!
@skins4thewin
@skins4thewin 3 жыл бұрын
Very educational! I learned a lot watching this. Thanks for making it!
@xenos_n.
@xenos_n. 3 жыл бұрын
6 minutes in, I completely forgot what this video was about until you brought up the NES again.
@txrom
@txrom 3 жыл бұрын
Great video. I just implemented the DMC channel in my NES emulator, and this provided a lot of good material for understanding what I was doing, and why!
@bdjeffyp
@bdjeffyp 3 жыл бұрын
I’m always excited for your deep dives into the inner working of NES games, but this dive into the NES itself was amazing! Looking forward to more of these fantastic videos. Keep up the great work you do.
@UmEricYockey
@UmEricYockey Жыл бұрын
this is my favorite channel on youtube. please never change.
@TroyBlackford
@TroyBlackford 3 жыл бұрын
Oh man, that was wonderful. Thank you so much for your high quality, enlightening, and highly entertaining videos. I would love more that go just as in-depth into other aspects of NES sound, or maybe into the SNES sound, which was *very* different. You should feel good about yourself, and the one guy who thumbs downed this a half hour after you posted it should chug a pissy milkshake.
@Gpig20
@Gpig20 3 жыл бұрын
Hell yeah new video! These are always so good. Back when I was looking into making my console controllers wireless ala wavebird, the wiring of the NES controller video was the only example I could find that successfully mapped all buttons.
@BubblegumCrash332
@BubblegumCrash332 3 жыл бұрын
I love these technical breakdowns about retro hardware. Thank you for taking the time to make these. Your MSX video was top notch. Hopefully one day you could make one on NES bank switching. I'm still insure what it is lol
@lisapearson6053
@lisapearson6053 3 жыл бұрын
I love the Behind the Code series so much. Thank you.
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Thanks, Lisa!
@beipiaosaurus
@beipiaosaurus 3 жыл бұрын
This is such an informative video. As a gamer who has never learned about the coding side of things, your Behind the Code videos open up a new perspective and make it easy to comprehend. Please keep making more of these and congrats on the great work!
@emolovetree
@emolovetree 2 жыл бұрын
Thank you for using the correct graphing method for digital samples
@miltiadiskoutsokeras9189
@miltiadiskoutsokeras9189 3 жыл бұрын
Brilliant stuff as always
@AjinkyaMahajan
@AjinkyaMahajan 3 жыл бұрын
This makes me admire old technology for its simplicity. Cheers✨✌
@realmchat6665
@realmchat6665 2 жыл бұрын
Awesome, very informative and well presented.
@SivakD
@SivakD 2 жыл бұрын
Very well explained. I never used this channel in any of my games, but now that I'm doing a disassembly I needed to know how certain things worked.
@dancinninja
@dancinninja 3 жыл бұрын
Absolutely fascinating!
@arcadelinkauthor
@arcadelinkauthor Жыл бұрын
This is awesome, thank you!
@ChaunceyGardener
@ChaunceyGardener 3 жыл бұрын
Amazing video! This channel keeps giving!
@omegarugal9283
@omegarugal9283 3 жыл бұрын
so the NES had a lot of sound potential that went almost unexploited...
@kimgkomg
@kimgkomg 3 жыл бұрын
No,
@kitsunegiblaze8022
@kitsunegiblaze8022 3 жыл бұрын
8bitcollective would beg to differ.
@xtrance25
@xtrance25 26 күн бұрын
Very informatic and very well explained 😍🥰
@michaelpowell3204
@michaelpowell3204 Жыл бұрын
Very good and legible explanation of a lot of DSP concepts here.
@jodymcdougle8810
@jodymcdougle8810 3 жыл бұрын
I love these types of videos!!
@skins4thewin
@skins4thewin 2 жыл бұрын
You honestly could teach classes man. You did a fantastic job explaining all of this in a way that makes it easy to understand. Bravo good sir, bravo!
@rgarciaf071
@rgarciaf071 3 жыл бұрын
Fantastic video, I loved the ladder analogy to explain discrete functions/samples, I really enjoyed this video it can be used even for teaching a bit of digital signal processing so the students can relate to real world applications
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Thanks!
@markykid8760
@markykid8760 2 жыл бұрын
Fantastic video. Any more you would do on retro audio would be hugely appreciated. I love your channel.
@strawmanhat
@strawmanhat Жыл бұрын
You replaced an NES sample with your own vocal sample. I am very impressed. Thanks for all the explanations and exploring this stuff.
@miahthorpatrick1013
@miahthorpatrick1013 6 ай бұрын
This was such a great educational video for musicians like myself. I learned things I never knew after 25 years into my scholastic musical journey.
@nathanleete9303
@nathanleete9303 3 жыл бұрын
This such a good video, lots of great info.
@Dwedit
@Dwedit 3 жыл бұрын
It turns out the "Blades of Steel" voice is actually simulating DPCM through use of RAW PCM. In order to be able to read the sample from a different ROM bank, it's played as RAW PCM, but the sample format itself is the same as DPCM.
@AICJDR
@AICJDR 3 жыл бұрын
Awesome video as always!
@Yngdady
@Yngdady 3 жыл бұрын
This is like learning about how difficult it must've been to compose music on a computer with limited memory in the 80s and knowing how much easier and precise it is today. Fascinating!
@gwalla
@gwalla 3 жыл бұрын
What I learned from this video is that the title screen music from Journey to Silius is kind of a banger
@ArtofBrandonTruster
@ArtofBrandonTruster 3 жыл бұрын
Thanks for sharing!!!
@minamur
@minamur 3 жыл бұрын
really great video
@Stereozentrum
@Stereozentrum 3 жыл бұрын
Great explaination!
@SECONDQUEST
@SECONDQUEST 3 жыл бұрын
Great video, love the channel.
@rulojuka
@rulojuka 2 жыл бұрын
That was awesome. I studied a lot of computer music in my computer science course and would`ve loved to see that video in those times! Also, I would love to see a similar video on the SNES!
@senhorpenajaca
@senhorpenajaca 3 жыл бұрын
great work
@ArborDaze
@ArborDaze 3 жыл бұрын
Very interesting! Thanks for your work. Your continued work, I guess.
@chadwolf3840
@chadwolf3840 2 жыл бұрын
super fascinating.
@xotmatrix
@xotmatrix 3 жыл бұрын
Amazing video!
@gregmark1688
@gregmark1688 Жыл бұрын
As a semi-pro recording engineer, I would say that the reversed bass sample from Journey to Silius is very clearly meant to be played the second way. The result of the bit-reversal is mostly a large increase in higher harmonics, which is clearly audible in the A/B comparison you make at about @29:22 - the corrected bass has a far smoother waveform, while the bit-reversed version has a lot of high frequency distortion in the bass signal. (BTW, this is because the bass frequencies are low, which matches more closely the byte-width sampling rate, and the individual errors from the bit reversal tend to average out of the lower freqs. The main result is high frequency distortion. At the 33k sampling rate, sounds below around 4khz should be preserved fairly accurately, albeit with lots of higher freq noise added.) As I noted in a comment below, it seems likely that many companies were using the same tool to convert samples to DPCM and that many games will likely have the bad samples.
@RT55J
@RT55J 3 жыл бұрын
excellent video
@SleepingCocoon
@SleepingCocoon 3 жыл бұрын
excellent video! I've written a lot of music for this chip and really came to love working the DMC channel. it's got a lot of personality! I've got a fun one for you :check out some stuff by KID, namely Kick Master and Recca - their audio driver has a comical bug where whenever the triangle isn't active in a piece it's getting used in, it constantly plays the lowest possible tone. they must not have caught it on their TVs during testing across multiple games but it cracks me up
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Ha!
@Kunigun
@Kunigun 3 жыл бұрын
fantastic
@skins4thewin
@skins4thewin 2 жыл бұрын
It's truly amazing to see all of the various techniques used in older game consoles to squeeze every little bit of performance out of them, in order to give us an experience that was as good as humanly possible with these rather weak & inexpensive CPU's. The results are honestly quite remarkable. We had it better than any of us realized back then.
@El_K_Bron_Del_Moycas
@El_K_Bron_Del_Moycas 2 жыл бұрын
Genius!!!
@philp7353
@philp7353 Жыл бұрын
I have a feeling the majority of games have the bytes backwards but honestly when I was listening to your example comparing it on Silius I realized that I like it better backwards, elsewise it sounds too clean and not like an NES game. I think the reversed bits on the sound is actually a part of the charm of the NES sound.
@kitsunegiblaze8022
@kitsunegiblaze8022 3 жыл бұрын
Sunsoft and Konami had some of the best damn chiptune music on the NES.
@BigBadBong
@BigBadBong 3 жыл бұрын
Wow, I'm impressed af
@Izzy84075
@Izzy84075 6 ай бұрын
Having worked on some "current" audio hardware with less-than-stellar documentation... Little details like the bit-reversal are /hard/ to get right without a lot of dedication to making sure it's correct. If you don't know to look for it, you can go for years and never know there's an issue, it's just "how that hardware sounds". I had written an audio library that would add an extra sample occasionally, and it went unnoticed for almost a year until somebody else was comparing the output to another library and noticed that mine consistently output more samples than the file contained, and it was making it difficult to synchronize things. Turns out when I read a block of audio data, I had an off-by-one error in the size, and each block of samples got an extra byte added at the end. Much like the NES' DPCM, that extra byte's samples resulted in an output that was legible, and very /close/ to the correct output, but still not correct. It never got noticed because that hardware was weird to begin with, and it never quite sounded the same as any other hardware even after that got fixed, so I called it "good" and didn't thoroughly test it. The Silius samples are a good example, I think. I can hear a very slight "hiss" to the original version that isn't there in the bit-reversed version, which leads me to believe that the bit-reversed version is more "correct", but it's so slight that if there were any distortion by the speakers they were using during development, it was probably either entirely unnoticed or passed off as distortion in the speakers/amplifier, not a software/encoding bug in the data itself.
@TomBrady1
@TomBrady1 3 жыл бұрын
I've studied DSP through both undergrad and grad school, you provide an excellent and concise description of signal processing. Thank you for such great explanation video.
@loranfrank4403
@loranfrank4403 Жыл бұрын
This is very intuitive about the audio engineering science of how making 8-bit NES music. Alot of the later made Konami & Sunsoft games especially TMNT III The Manhattan Project & Batman Return of the Joker had one of the most polished techniques making them as high quality as possible considering the technology limitations of that era imagine how more powerful the NES audio sound engineering can be expanded upon with today's modern technology!!!!
@igodreamer7096
@igodreamer7096 2 жыл бұрын
Love your videos, man! It's like take a class on gaming or something! xDDD
@marscaleb
@marscaleb 3 жыл бұрын
I love how you go into all this detail to explain really basic information about how sound works, and then later jump into obsolete assembly language code like you just expect everyone to know all this already.
@leandrobarone3351
@leandrobarone3351 2 жыл бұрын
¡Gracias!
@DisplacedGamers
@DisplacedGamers 2 жыл бұрын
Thank you, Leandro!
@saltidog86
@saltidog86 3 жыл бұрын
Thank you for the hearing test.
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
lol. I may or may not have raised my left or right hands during the making of this video.
@mattthelumber3234
@mattthelumber3234 3 жыл бұрын
Idk what the hell im watching nor will with info stick, but you did a great job of explaining it
@Dark.Shingo
@Dark.Shingo 3 жыл бұрын
It SO interesting to learn all the quirks and bits of programming for the NES, so fascinating! The other day I was discussing with a friends how many developers nowadays don't optimize games anymore and create these monsters that eat disk space, that I missed how devs back in the day worked around limitations and it made them more creative to come up with solutions to this. That's why I love indie games, most of them have to work with limited resources and come up with great ideas. Thanks for such an awesome video as usual!
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
I am a firm believer in the fact that limitation breeds creativity. This is true of game design as well as keeping those of us who code "in check."
@d_valroth
@d_valroth 3 жыл бұрын
I agree with you, although that's not the reason games are 40GB now. It's the eight copies of every material in the game, each of which consists of like five textures for PBR, for everything from 4K down to the most distant, you can barely see it MIP map; along with the ten copies of the game's full dialogue in most of Earth's major languages. Because it's more efficient to have one copy of the game for everyone than to try to balance and patch across fifteen different variations, and the games are optimized for playback speed, not storage space, because we have almost infinite storage capacity these days. It's actually a case of precomputing as much a possible to save CPU and initialization/load times, and to fake complex visual calculations. All that data needs to be stored if we aren't going to generate it at run time. That said, giving people a system with limits will almost always result in something more creative as they are forced to focus and work things out and can't just do literally whatever they want. I feel the same way about Hollywood ever since they got their hands on workable CGI. When there were clear limits, it was all the more impressive when someone tricked their way around them, or at least created the illusion of doing so. Nowadays I don't get excited for new consoles or games for the most part because there's nothing left to work around. The best we can do is make the ultimate version of something we already have.
@KopperNeoman
@KopperNeoman 2 жыл бұрын
@Charles Faraone Optimising for load times is all the more important - ever tried playing Sea of Thieves on an old hard drive, such as the SATA II the Xbox Ones all ship with? Not fun.
@emmettturner9452
@emmettturner9452 3 жыл бұрын
Well, now I think I know why Hi-Def NES only played the first bark in Duck Hunt when I first installed in July 2016 (first DIY shipment). It seems the FPGA sound implementation for digital audio broke the loop command. I remember wondering if you only got one "Hut!" from the "Hut! Hut! Hut!" from Tecmo Bowl but I'm not sure I ever tested that. I think I did and it worked normally meaning it probably repeated without the loop command. I made a video demonstrating the error and Kevtris fixed it long ago. It also demonstrated an issue late in Ninja Gaiden (Ryu's eyes remain distinct while the rest of the screen flashes).
@maximeeuziere
@maximeeuziere 3 жыл бұрын
Thanks for doing these videos! I'm making a mini NES emulator as a hobby project and your content makes it easier for me to understand what I'm doing
@Controllerhead
@Controllerhead 3 жыл бұрын
Wonderful breakdown of general sound mechanics and the DMC channel: A difficult topic even for NES developers. You're doing gods work. It blows my my mind that the "iconic sunsoft bass" was likely a backwards mistake... man i just love that Thwanck.
@Yomom12388
@Yomom12388 3 жыл бұрын
Not only did I learn how these old school consoles process and implement sound, but I also learned that Journey to Silius’ soundtrack is a certified, Me Official Seal of Approval earning, downright goddamn banger.
@GimblyGFR
@GimblyGFR 3 жыл бұрын
Man, that was an AMAZING breakdown. Are you planning on explaining all of the NES sound channels? 'Cause that would be really great! Also, if you can get enough time, I'd love if you could make a video on the inner workings of sample playback on the Sega Genesis. Specially on the driver used on both Street Fighter II games, and the incredible hack that both games received that enhanced PCM. Thank you very much for this video. An outstanding work.
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Oh my goodness - the Mega Drive/Genesis is such a dive when it comes to sound. So much there to talk about! I would like to make videos about the other sound channels of the NES - possibly going as far as various expansion audio chips. It depends on how well people respond to this vs the game-based Beyond the Code videos. This particular one took some extra time!
@GimblyGFR
@GimblyGFR 3 жыл бұрын
​@@DisplacedGamers Excellent! All the videos on your Beyond the Code series are very interesting, and few (if any) content creators dived this deep into the inner workings of the sound on the NES (or other consoles).
@johnbillings5260
@johnbillings5260 2 жыл бұрын
The Double Dribble sample had me crying. 🤣
@goatbone
@goatbone 3 жыл бұрын
Amazing. Might have to try put my voice in a game too.
@mkinitcpio
@mkinitcpio 3 жыл бұрын
wonderful and thorough video, thanks man. it also doubles as the perfect tribute to the sunsoft bassline. i vaguely remember reading years ago that bit banging pcm wasnt possible on the famicom, is that true?
@ciberman
@ciberman 2 жыл бұрын
Never knew that the NES could play sample files. Amazing!
@YeahItsKansas
@YeahItsKansas Жыл бұрын
All of a sudden all those times when I was a kid where the NES music felt haunted make sense. And then, how much of our lives as gamers were affected by the +1 and the reversals. Mind blown.
The Hidden Source Code in Dragon's Lair (NES)
20:29
Displaced Gamers
Рет қаралды 154 М.
MSX Computers - Scrolling, Sprites, and Stereotypes
31:02
Displaced Gamers
Рет қаралды 279 М.
КАРМАНЧИК 2 СЕЗОН 4 СЕРИЯ
24:05
Inter Production
Рет қаралды 615 М.
Reprogramming Mega Man 4's Charged Shot - Behind the Code
19:37
Displaced Gamers
Рет қаралды 74 М.
How to Reprogram Tetris By Playing It - Behind the Code Leveled Up
31:58
Displaced Gamers
Рет қаралды 41 М.
NES & Famicom Sound Enhancement Chips
12:19
Retro Crisis
Рет қаралды 19 М.
The Garbage Sprites in Strider (NES) - Behind the Code
15:00
Displaced Gamers
Рет қаралды 74 М.
How Old-School Computers Played Sound Samples | MVG
14:25
Modern Vintage Gamer
Рет қаралды 110 М.
Nintendo (NES) Controller - Electronics
18:09
Displaced Gamers
Рет қаралды 130 М.
Cartridge Games - Versions, Bugs, and Behind the Code: A Sampler
10:31
Displaced Gamers
Рет қаралды 119 М.
Software Emulators vs FPGAs
27:08
What's Ken Making
Рет қаралды 264 М.
Help Herobrine Learn Piano with Saitama Sensei #minecraftshorts
0:51
BigBlockCraft
Рет қаралды 23 МЛН
Gegagedigedagedago! Nugget Kid Saved by a Cute Puppy! Part 16
0:18
Max Design Pro - Creative Animation Channel
Рет қаралды 29 МЛН
Jumping challenge with Herobrine
0:39
Big Monster School
Рет қаралды 13 МЛН
Шансы на дроп из Яиц 🥚🐣
1:00
makvay
Рет қаралды 1,7 МЛН