NES Graphics Explained

In this episode I break down the basics of how graphics work on the Nintendo Entertainment System.
Support the channel on Patreon: / neshacker
Chapters:
0:00 Introduction
1:03 PPU Overview
3:36 CRTs Explained
6:32 Pattern Tables & Palettes
10:32 Nametables & Attribute Tables
13:13 Object Attribute Memory
15:12 Final Example: Megaman
16:43 Conclusion

Пікірлер: 384

  • @NesHacker
    @NesHacker2 жыл бұрын

    *UPDATES* - The PAL / NTSC Section is somewhat lacking and a bit inaccurate. See the many liked comments below for more details. - Many games were specifically coded for PAL, mostly to fix music timing (thanks @Strobo) - Pattern tables contain 4KB of data not 64KB of data. I forgot to divide by 8 when calculating (thanks @HughGenuts)

  • @CarbonRollerCaco

    @CarbonRollerCaco

    2 жыл бұрын

    Many games were made for one standard or another in terms of their graphics, too. The different resolutions resulted in different pixel proportions when made to fit in 4:3 aspect ratio images, so images that were made for one standard will be distorted in the other.

  • @jogandocombololo8862

    @jogandocombololo8862

    2 жыл бұрын

    The Pal system from South America, at least at Brasil, is 60 hz, no 50. It’s different from Europe pal system.

  • @ErdrickHero

    @ErdrickHero

    2 жыл бұрын

    @@CarbonRollerCaco This reminds me of Toy Story on SNES - developed by Traveler's Tales in Europe, the game uses a PAL aspect ratio, despite appearing to be properly adapted for NTSC as far as framerate and timing are concerned. Considering the importance of the film (being a technical marvel and the first of it's kind) I'm kind of surprised Disney/Pixar let that detail go. But it works out nicely because the PAL aspect ratio (what is it, 5:3?) fills more of a modern 16:9 display than the old NTSC standard of 4:3.

  • @mchenrynick

    @mchenrynick

    2 жыл бұрын

    @@jogandocombololo8862 That is also the frames per second. Europe's TVs were tricky with only 50 frames per second, instead of 60.

  • @marcelooliveira6612

    @marcelooliveira6612

    2 жыл бұрын

    @@jogandocombololo8862 CRT Tvs on Brazil at beginning handle NTSC 60hz, but in the middle 90s can handle both NTSC and PAL-M/ PAL-N. Major part of video eletronics at that era been based on EUA products (or directly imported); consoles like Nintendo, Super Nintendo and Sega Genesis (called Mega Drive here) use NTSC 60hz, standard that is still used today.

  • @christeague6681
    @christeague66812 жыл бұрын

    I've been in the NES dev community since 1997, have written several emulators and know quite a bit about the system. This channel is legit - good info clearly presented. We'll done!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    High praise, thanks so much for watching!

  • @bredmond812

    @bredmond812

    2 жыл бұрын

    Have you seen Michael Chiaramonte's game? He streams on his twitch channel called clearvus. He is making a vertical shooter. You can see his vods on his KZread channel Michael chiaramonte.

  • @teighan7829

    @teighan7829

    2 жыл бұрын

    Thank you for your hard-work! As I'm sure your aware, those emulators are so important for preserving these games!

  • @insertmetalusernamehere

    @insertmetalusernamehere

    2 жыл бұрын

    You sir, are a godsend. I remember the first time I got an emulator to work. At that time I hadn't seen these games In years. The nostalgia was off the charts.

  • @joeheuft

    @joeheuft

    Жыл бұрын

    NESticle, is that you?

  • @embergamedev
    @embergamedev Жыл бұрын

    Making my first NES game, after a week of study and watching your videos, i have managed to draw a heart sprite to the screen. I already had respect for devs of the time, but experiencing it first hand is really starting to put it all into perspective, just how incredible these developers were.

  • @HughGenuts
    @HughGenuts2 жыл бұрын

    The pattern tables don't each have 64 kilobytes of memory. Each pattern table has 256 tiles, each 8x8 pixels; that's 16384 pixels with 2 bit color depth, or 32768 *bits* in one pattern table. That's 4096 bytes, or 4 kilobytes.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Oops! You’re absolutely right… I totally missed that when I was writing the script (and when reviewing the video, haha). Thanks for pointing it out!

  • @WillSams

    @WillSams

    2 жыл бұрын

    Thanks, HughGenuts. Along with this video, your comment, the NES Dev Wiki's PPU nametables listing, and NES Maker's Discord helped me clear up some confusion.

  • @ecernosoft3096

    @ecernosoft3096

    Жыл бұрын

    @@NesHacker Everything else is correct though! (as far as I can tell.)

  • @azforu29

    @azforu29

    Жыл бұрын

    That PPU was unbelievable at the time. Graphics that still hold up, as far as our 2d retro games made today. Games like Shadow of the Ninja, Ninja Gaiden 3, Power Blade 2, Guardian Legend, Vice Project Doom. That stuff could have been made today if I didnt know them already. Just absolutely crazy.

  • @venom74799

    @venom74799

    Жыл бұрын

    So basically it’s just 16x16 NES being displayed. Gotcha 😉

  • @rodrigogirao8344
    @rodrigogirao83442 жыл бұрын

    5:15 The map is correct, but the description is wrong. You see, strictly, PAL and NTSC refer only to the color encodings, not the whole systems. After all, analog TV is a monochrome signal first, plus a color subcarrier. So it's more proper to say the US used System M (525-line, 60i) with NTSC color on top, and most of Europe used System B (625-line, 50i) with PAL color on top. And then Brazil used this funky thing called PAL-M, which was System M with PAL color.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    That’s a really nice and succinct way of describing it, thanks for the clarifications!

  • @rodrigomolinsky

    @rodrigomolinsky

    2 жыл бұрын

    I was going to make this comment. As a Brazilian, I never had a problem to import US games to play here. Until I bought my Nintendo 64 in USA. When I rented "Star Wars Racer" for N64, the game was in monochrome, no colors whatsoever. And the weird thing is it was the first game released here with this problem. So it became a lottery and I never understood what was going on, thinking either the game was broken or, more possibly, the console. Rented "Turok 2" and... same thing. But "Banjo Kazooie" played ok, no problem whatsoever. I found out with "International SuperStar Soccer 2000" that the high-resolution mode was causing the problem. With the expansion pack, some games have the option to run in 480i. But with ISS2000, you can barely play in hi-res, so I tested in low-res. BANG: from monochrome to colors! So I was lost, thinking my TV was broken, until I found out about these signal and color subcarrier patterns in the internet.

  • @chivalrous_chevy1163

    @chivalrous_chevy1163

    Жыл бұрын

    I was gonna point that out as well until I saw your comment. Glad you caught that!

  • @fungo6631

    @fungo6631

    Жыл бұрын

    ​@@rodrigomolinsky That's odd. The resolution shouldn't make a difference here.

  • @retrorockerross
    @retrorockerross5 ай бұрын

    I'm not a programmer, coder, or designer at all, but I LOVED this video and learning how my childhood favorites were made and worked. Thank you!

  • @VoidHalo
    @VoidHalo2 жыл бұрын

    I'm really glad (and grateful) that you took the time and energy to produce this video, despite the fact that there are already many videos (among other documents) about the same topic. I know some creators have the attitude that you shouldn't do videos on things other channels have already covered. At least sometimes they do. But I'm glad that wasn't the case with this video. I never believed in that philosophy because even if I've seen other videos on NES graphics before, which I have, it's such a complicated and comprehensive subject that there's no way a 20, 30 or even 40 minute video could give you the full picture (sorry for the pun). Even if they did, there's no way a person could memorize everything in it. So it's always great to have multiple resources to consult on the same subject so you can get the same story told from a different perspective, so to speak. Plus that really helps with understanding the material intuitively, as well. If there's something technical in a video or document I don't understand, it always helps a lot to be able to have it explained differently. tl;dr you have an amazing channel that's not afraid to take chances by covering topics others already have. And it's paid off in spades! Thank you for sharing your passion with us.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    That’s a really really nice thing to say. Thank you 😊

  • @VoidHalo

    @VoidHalo

    2 жыл бұрын

    @@NesHacker It's my pleasure. You've brought me and many others so much joy with these videos. I know that sometimes being the one creating the videos, it sometimes doesn't seem like that big a deal. But I think if it can help me, or someone else forget about having a crappy day, or something that's troubling us etc for a little bit, I think that's something truly special. And the fact that you teach us about this stuff at the same time, instead of it just being some mindless junk with no thought put into it shows some real talent. And is something that I personally really respect. So it's the least I can do to leave a nice message for you and maybe return the favour in my own small way. =) In any case I'm really glad that you enjoyed it. I wish you all the best. Take care!

  • @serbonkers4130
    @serbonkers41302 жыл бұрын

    This channel deserves more subs.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    I think so too, but… I might be biased ;)

  • @njbair
    @njbair2 жыл бұрын

    Wow. I've watched just about every video on KZread that talks about NES architecture, and while I grasped the essentials, this is the first video that got the gears turning in my head that maybe I can try making my own NES games.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Right on! Yeah I think the system can be a little weird to get used to, but once you do it’s really fun and most stuff is pretty straightforward. Good luck with your game hacking endeavors! :D

  • @Zhilajoon
    @Zhilajoon2 жыл бұрын

    Just discovered this video and was so impressed with the content/animations and the clear explanation. Can't wait to binge the rest of the channel. Keep it up!

  • @renecura
    @renecura2 жыл бұрын

    This channel is so great, and the presentation of each theme is perfect. Please! we need more!

  • @punchabunchabuttons
    @punchabunchabuttons2 жыл бұрын

    What an awesome video for someone with 339 subscribers. On point. Clear. Short. Interesting. Cuts right when my brain is about to overheat. Great job and yes, more please!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thank you! Yes it can be a lot to take in all at once, so I worked quite a bit on the script to ensure that the topics were paced appropriately. I’m happy you noticed! :)

  • @nakano15

    @nakano15

    2 жыл бұрын

    339 eh? Now is 10,2k. That's one leap.

  • @BizerkPixel
    @BizerkPixel3 жыл бұрын

    There is no way you have 25 subs rn man. Just randomly found your videos when searching about NES graphics and your entire channel is a gold mine of well crafted video explanations. We need more in-depth, well-organized explanations about the NES, and I'm confident you're the guy to do it!

  • @NesHacker

    @NesHacker

    3 жыл бұрын

    Wow, thanks so much! It's quite a bit of work to put these together, so it's really awesome to hear from people who find them useful. It would have been great to have this kind of content back when I was first learning, so that's why I decided to start the channel. More people making NES games means more fun for everyone :D

  • @antusFireNova

    @antusFireNova

    2 жыл бұрын

    The only reason he has so few subs is that he's relatively new. With some time, I'm sure he will gain a lot! He's already close to 100!

  • @tupactip

    @tupactip

    2 жыл бұрын

    @@NesHacker no reason to type out the exact same comment but i had the exact same exp

  • @mtunayucer

    @mtunayucer

    2 жыл бұрын

    @@NesHacker mate! KZread algorithm picked you up! You are like retro mech ex but focused on nes which is my favorite retro console!

  • @techBuffy
    @techBuffy Жыл бұрын

    Im a software pro and this mem tables description makes so much sense to someone who also did some assembly programming on 8085 in College. Having played Nintendo games back in the 90s as a school kid, this is like life going full circles. You played the game as a kid and now you know how that game was made. And now it encourages someone like me to actually fiddle with instruction sets on emulators.. Thanks much

  • @NesHacker

    @NesHacker

    Жыл бұрын

    I'm glad I could bring you back to those happy days 😊

  • @GraemeIng
    @GraemeIng Жыл бұрын

    Very good stuff. I only ever made one commercial SNES game (not NES) but found it very enjoyable and this brings back memories. Most of my games were Amiga in 68000. Thanks for the great videos.

  • @NesHacker

    @NesHacker

    Жыл бұрын

    Oh that must have been so much fun! I was too young back when these systems were out and I used to daydream about working on games for them xD. Thanks for watching and sharing :D

  • @GraemeIng

    @GraemeIng

    Жыл бұрын

    @@NesHackeryou inspire me to make a similar channel. I know exactly what system too 😁 Not Nintendo so I won’t be competing.

  • @NesHacker

    @NesHacker

    Жыл бұрын

    @@GraemeIng That makes me *super* happy to hear. More people making programming and retro-gaming videos means more interesting things for everyone to watch :D

  • @joshb.9380
    @joshb.93802 жыл бұрын

    Wow, great explanation of NES graphics. Your visuals really did a fine job of backing up your narration.

  • @voidexp7180
    @voidexp71802 жыл бұрын

    Great work and much effort to make such quality content! Appreciate every frame of it. Keep going!

  • @cahlendavidson2921
    @cahlendavidson29218 ай бұрын

    Love the cleanness of the editing

  • @roberttezak8325
    @roberttezak83252 жыл бұрын

    Hey Ryan. Just found your channel and think it’s really cool that you are doing this. I was pretty excited about it honestly. The content is a little outside of my wheelhouse at this point, but you did a great job of breaking it down. My son even thought it was interesting.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Hey man, it's been a while! Kinda awesome you came across the channel! Yeah, my goal is to help people make the leap into the hobby by providing as much info as I can... but that means it can get a little complicated sometimes. Awesome to hear that you and your son are enjoying it, and thanks for reaching out :D

  • @splugereport
    @splugereport Жыл бұрын

    Man, the production quality on these are amazing!

  • @Fireblats
    @Fireblats Жыл бұрын

    This is the coolest of beans! Thank you! I imagine putting all of this together was a lot of hard work. And this is just awesome. It's 12am rn and something tells me I'm going to be up until 4 going down this glorious rabbit hole.

  • @stuart1001
    @stuart10012 жыл бұрын

    Videos like this always interest me. You have a good clear narrative voice 👍

  • @JulienNeel
    @JulienNeel2 жыл бұрын

    Thank you for this excellent video. Great content and solid delivery. Happy new subscriber here!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Radical, thank you very much for watching :D

  • @timbrosius
    @timbrosius2 жыл бұрын

    I wasn’t searching for this but it was suggested to me and I watched and enjoyed it immensely. I think the algorithm is choosing you. Liked and subscribed, wishing you all the best!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Awesome, I’m glad you liked it! Yeah, I’ve noticed that I am getting a lot more views and subscribers over the last week. So it looks like I am being suggested to more people, and so far the response has been very positive :). Thank you for the kind feedback, it really gets me pumped and excited to work on the next video. Cheers!

  • @i33th4x
    @i33th4x2 жыл бұрын

    Nice work! Much appreciate your contributions to the community.

  • @paulspaulding79
    @paulspaulding792 жыл бұрын

    Ryan, I rarely comment on videos, but you clearly put a lot of time into this. Very well done!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Hey Paul, thank you so much, I really appreciate the recognition. :)

  • @FloatingSunfish
    @FloatingSunfish2 жыл бұрын

    You just earned a subscriber, my friend! ❤️ Thanks for all your hard work!

  • @HardcoreHeely
    @HardcoreHeely2 жыл бұрын

    The editing on this is so nice! Can’t wait to see your channel blow up :)

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks! NES Development is a somewhat esoteric topic, so we’ll see about all that, haha

  • @ratone1983
    @ratone19832 жыл бұрын

    This is such an accurate description of how the NES graphics work, and the explanation is very accesible. Top quality content!

  • @joshmiller887
    @joshmiller8872 жыл бұрын

    I just found your channel. Really nice job! I’m interested in all this, and you explain it very well. Keep them coming sir!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Right on, thank you!

  • @doc_sav
    @doc_sav Жыл бұрын

    This is really, really great. I have picked up and known bits of this over the years, but this video really breaks it down in a holistic way so I finally understand how it all relates together.

  • @darkbluedman
    @darkbluedman Жыл бұрын

    Amazing video! I wanted to start drawing NES style sprites but within the limitations of the NES, and this gave me exactly what I was looking for complete with a whole palette! Thank you so much!

  • @NesHacker

    @NesHacker

    Жыл бұрын

    Awesome, glad I could help! Check out this other video I made where I do sprite editing using a program called YY-CHR: kzread.info/dash/bejne/oYWM186HfLu2lNo.html

  • @youreperfectstudio4789
    @youreperfectstudio47892 жыл бұрын

    Neat to see such a well made channel with only 200 subs so far! This channel should grow very quickly 😌

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Let’s hope so! I really like making the videos so I’m glad people find them interesting :)

  • @DiscorporateProductions
    @DiscorporateProductions2 жыл бұрын

    This is a wonderful video I sought out because I use a circuit bent NES for video art in music productions. Understanding how the PPU is organized was especially helpful in creating a workflow for working with music and lighting direction. Understand OAM Sprites was specifically engaging. A million thanks for creating this not only informative video but well edited and presented. Amazing!

  • @Jelly2003
    @Jelly2003 Жыл бұрын

    Thanks so much for making this video. It’s clearly explained with a good use of visuals. I am currently floating between retro consoles for a project and this was exactly what I needed to get me started with understanding NES graphics.

  • @yannmarkovich7399
    @yannmarkovich73992 жыл бұрын

    Amazing video. Super clear and it seems covers all conceptual aspects, gives perfect understanding of how that worked, that's exactly what I looked for. Thank a lot

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks! I’m really glad you found the video useful :)

  • @Byefriendo
    @Byefriendo2 жыл бұрын

    Honestly can't believe a channel with this good production quality only has 350 subs. Earned a sub from me :)

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks! And I appreciate the sub :)

  • @lily91109
    @lily911092 жыл бұрын

    I like just hearing people talk about something they're enthusiastic about, even if I don't understand it. Good work!

  • @aer0449
    @aer0449 Жыл бұрын

    Thank you so much for educating me ... I'm so amazed to know how things were created back in the time ... Loved it ❤️

  • @sleepysnorlax7728
    @sleepysnorlax77282 жыл бұрын

    Just wanna say, this is an awesome video I‘m glad people are still engaging with retro gaming systems these days, and you‘re explanation was one of the best I‘ve ever seen You‘ve definitely got my sub, excited for more ^^

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Awesome, thanks so much! Yeah I was super pleased with this video when I made it, I’m so glad that you like it :)

  • @bombdatacenters
    @bombdatacenters Жыл бұрын

    All other explanations either assumed too much prior knowledge for a beginner like me, or left out the specifics that I was looking for. This really clears things up, thanks for making it!

  • @_wouter52
    @_wouter522 жыл бұрын

    Very interesting video! I think your channel has been blessed by the algorithm, as it should! :D

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    I’m happy you enjoyed it :)

  • @randy7894
    @randy78942 жыл бұрын

    Excellent content and use of infographics. Thanks man.

  • @christopherbennett1173
    @christopherbennett11732 жыл бұрын

    Really high quality stuff. Can't believe how few subs you have. I liked all you videos ;)

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thank you! Well, I only started the channel a few months ago… so I’m just glad people are finding the videos and seem to enjoy them :)

  • @mr_noodler
    @mr_noodler Жыл бұрын

    Awesome video bro!

  • @jaysistar2711
    @jaysistar27112 жыл бұрын

    Great content! Please post more. Memory addresses to talk to various hardware, etc. would be nice, as well as mapper details.

  • @smtek
    @smtek2 жыл бұрын

    This guy deserves a lot more subscribers, nicely done !

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks!

  • @EvaFatal
    @EvaFatal Жыл бұрын

    Nice! Very interesting and understandable!) really well explained, thanks!)

  • @bundr
    @bundr2 жыл бұрын

    excellent video! thank so much for uploading it.

  • @gijsgroenewegen8212
    @gijsgroenewegen82122 жыл бұрын

    Amazing video! Good explanations :D

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thank you! I spend a lot of time working on the my scripts to ensure that I'm clearly communicating, so it's good to hear that the hard work is paying off :)

  • @TheTogoRojo
    @TheTogoRojo2 жыл бұрын

    Amazingly good. I almost understand. This will be helpful learning the code you used to make a development engine.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks!

  • @igormonteiro9210
    @igormonteiro92102 жыл бұрын

    excelent way to explain the famicom/nes inside. very easy to understand. thank you

  • @DavoMelendez
    @DavoMelendez Жыл бұрын

    excellent explanation

  • @bredmond812
    @bredmond8122 жыл бұрын

    Wow! I just found this channel. This is great.

  • @MarceloMaldonado79
    @MarceloMaldonado792 жыл бұрын

    Great Channel. Keep the good work!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks :)

  • @blatherskite3009
    @blatherskite3009 Жыл бұрын

    The whole PAL/NTSC thing was a nightmare. Thank the Maker the world eventually settled on a single 2K/4K standard since then! Still, even though people in PAL regions lost out big-time with videogames they arguably won by the same degree with movies, with a noticeably higher SD resolution (625 vs 525 lines) and perfectly smooth motion, albeit with an imperceptible (4%) speed increase.

  • @NesHacker

    @NesHacker

    Жыл бұрын

    It's such a nightmare I couldn't even explain it correctly in this video 😂

  • @Hyper-M
    @Hyper-M10 ай бұрын

    I’m working on a modern, but NES-inspired game, and it’s super helpful to understand the systems graphics abilities and limitations. Thanks

  • @NesHacker

    @NesHacker

    10 ай бұрын

    Heck yeah, I’m glad it was useful!

  • @great.Indian.culture
    @great.Indian.culture2 жыл бұрын

    Very informative thank you sir

  • @SA77888
    @SA77888 Жыл бұрын

    Its not too often ya really learn from a youtube video - brilliant info thank you.

  • @ExinerisLP
    @ExinerisLP7 ай бұрын

    I don't have a background in the technical side of how nes games are made, but I was fascinating by the parts I understood! Thanks for the great video

  • @rogero8443
    @rogero8443 Жыл бұрын

    I subbed because you are very succinct with your wordage and are able to explain this concept to people like myself with almost no basis in programming at all. I think I took three VB courses in University back in the day simply for a language requirement yet this was very easy to digest. Thanks for the content, hope you get 10x the subs you have. (I know I was not the target audience, but hey I love the NES and always wanted to know more about why it does what it does as it seems like a mess of programming building blocks inside)

  • @NesHacker

    @NesHacker

    Жыл бұрын

    Haha, I don't really make videos with an intended audience in mind (just look at my development environment course episode). So if you liked my stuff and have fun learning, then imho you *are* the target audience :)

  • @svenkarlsen2702
    @svenkarlsen27022 жыл бұрын

    Line scrolls are tricks used for things like status-bars/parallax effects. They change image data during screen refresh. They usually require exact scan-line draw timings which are different across regions.

  • @Donkykong421
    @Donkykong4212 жыл бұрын

    Great video, man!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thank you, thank you!

  • @01k
    @01k2 жыл бұрын

    Nice work!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks!

  • @harveywallbanger
    @harveywallbanger Жыл бұрын

    This video was tremendously helpful. I've been hacking NES roms since the first emulators were available but barely had any idea what I was doing. Learning abstract and complicated concepts is frustrating via trial and error, but this explained so much stuff I never would have figured out on my own. The first thing I ever managed successfully was a sprite edit of Mickey on Mickey Mousecapades and it was such an amazing feeling to be able to manipulate games from my childhood. Using a Game Genie as a child helped me vaguely understand how the NES worked and always thought that tool was amazing at the time. Looking forward to the rest of your videos. Immediate subscription.

  • @NesHacker

    @NesHacker

    Жыл бұрын

    Yeah it’s really really hard to learn this stuff without some basis. I’m super glad the video helped!

  • @Abacoot
    @Abacoot2 жыл бұрын

    Thank you so much for this video. It is so vital for me to understand how the NES worked as much as possible if I want my future pixel art and game designs to have an authentic retro feel!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Right on! Yeah just keep your palettes set to no more than 4 values for the foreground and 4 values for the background and you’ll get pretty close :D

  • @ccricers

    @ccricers

    2 жыл бұрын

    One thing I've wanted to see for a long time is a true retro port of Shovel Knight intended to run on a real NES. The devs are aware of the many rules they broke, so I'd find it interesting to see this made within the NES's limitations.

  • @Desmobrenner
    @Desmobrenner2 жыл бұрын

    Ver good Video and channel... best regards from Europe

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks so much!

  • @simoncobian2816
    @simoncobian28162 жыл бұрын

    This really makes me want to learn programming but man is it rough to even learn where to get started

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    It’s tough but it can be really rewarding. I have a video on setting up a development environment and a couple more on learning 6502 assembly. I’m working on the 3rd part of that series and should have the video out next week. Give the videos a try and pop some questions in the comments if you get stuck :)

  • @85mmphotography2

    @85mmphotography2

    9 ай бұрын

    Scratch

  • @warmarin
    @warmarin2 жыл бұрын

    Nice video, very comprehensive, I'd just like to point out that here in Chile we have NTSC not PAL

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    I feel like I should do a whole video on just the evolution of these broadcast systems… but it’s kinda only tangentially related to the NES xD

  • @bbqgiraffe3766
    @bbqgiraffe3766 Жыл бұрын

    I'm planning on putting a PPU in my homebrew 65c02 computer and this has been pretty helpful, makes the documentation I found online make a bit more sense

  • @NesHacker

    @NesHacker

    Жыл бұрын

    That’s cool as hell

  • @AloanMoreira1
    @AloanMoreira12 жыл бұрын

    Can´t believe how developers can remember all the pieces of how things are set, plus work with a whole language (even assembly)... I´m amazed!

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Haha, thank you! I’m glad you enjoyed the video :)

  • @gonkdroidincarnate4237
    @gonkdroidincarnate42372 жыл бұрын

    bro your talking about quantum physics and stuff I never 100% fully understood these videos, usually loses me after looking away for a couple seconds BUT I can tell this is really in depth and a good video.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Haha, I guess electrons are technically a quantum phenomenon xD

  • @gonkdroidincarnate4237

    @gonkdroidincarnate4237

    2 жыл бұрын

    @@NesHacker Lmao

  • @HauntedCorpse
    @HauntedCorpse2 жыл бұрын

    I've been learning Japanese for the past year through a couple phone apps, using mainly Duolingo, albeit at a very slow pace. And I was happy to see what would be "I love Cat-Chan!" at 5:02

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Haha yeah… In addition to Nintendo I am a Japan nerd too 🤓

  • @HauntedCorpse

    @HauntedCorpse

    2 жыл бұрын

    @@NesHacker Oh wow, that is awesome!

  • @gocanuckurself1
    @gocanuckurself1 Жыл бұрын

    I used to play video games as a kid in the 90’s, and now in my 30’s I’ve started collecting and playing old Sega and Nintendo games from my youth. I finally understand what bits are 😅😅😅 Thank you!!!!!!!

  • @bpcgos
    @bpcgos2 жыл бұрын

    This is awesome... Subbed ... Keep it up.. also got it randomly after sharopolis Video about games that push NES Limit

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Thanks for the sub!

  • @Twenty_Six_Hundred
    @Twenty_Six_Hundred2 жыл бұрын

    Nice video mate! As an Atari homebrew developer and my love for everything retro im going to jump aboard your channel. Subbed.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    With a name like “TwentySixHundred” you’re dedicated! I just found my 2600 and 600XL so I’m thinking of doing a video featuring them soon. Thanks for watching & subbing, I appreciate it!

  • @Twenty_Six_Hundred

    @Twenty_Six_Hundred

    2 жыл бұрын

    @@NesHacker Yeah it was my first console so holds a place in my heart. Got the 2600JR when i was 5 for my birthday. Probably because Atari was selling them cheap in the late 80's. Then i got my NES as a hand-me-down a few years later. At the moment im having fun with developing in 7800Basic which is a cross compiler. Such an underrated system IMO. Look forward to your upcoming videos

  • @romanemul1
    @romanemul111 ай бұрын

    Thanks . Nice vid

  • @NesHacker

    @NesHacker

    11 ай бұрын

    Glad you enjoyed it!

  • @scotty2hottie626
    @scotty2hottie6262 жыл бұрын

    Pretty crazy how technical the og Nintendo/ famicom is, being a 40 year old console. I watch alot of videos on old school concoles and the awesome shortcuts and hacks they had to pull off with such little ram and processing power. It's ingenuous the shit the devs came up with. Love this channel so far, this is the first video I've seen. I'll have to check some more out.

  • @15bits
    @15bits3 ай бұрын

    SECAM NES did actually exist, but it was a pirated clone. Those were popular in ex-USSR in the early 90s. That particular SECAM edition was named Dendy SECAM Classic, if I'm not mistaken, and it was released in 1992. It was a first Russian NES bootleg clone. Subsequent bootleg models of Dendy were PAL only because of two factors, I think. First, multi-system TV sets became much more common by 1994 already. People even modded their old Soviet SECAM-only TVs by soldering PAL decoder. And second, it seems like Dendy SECAM was a failure from a technical POV, lacking reliable color output.

  • @katherinek6166
    @katherinek6166Ай бұрын

    SECAM was partially compatible with PAL, but produced a B&W image when presented with a PAL signal. So these of us growing up in SECAM regions generally were stuck with playing NES (or its clones) without color until multisystem TVs that supported both PAL and SECAM color became common. It wasn't until several years after I first played SMB that I learned that Mario's overalls are red on the NES.

  • @JD3Gamer
    @JD3Gamer2 жыл бұрын

    Technically there were mechanical tvs before crts but they were so impractical and uncommon that I wouldn’t argue with anyone who wanted to not count them. So I’ll let it slide.

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Indeed. CRTs are primary focus here as well since the NES was designed to work with them. I wanted to ensure that the viewer had some exposure to the concept if they hadn’t come across it already as it will be somewhat relevant to discussions of timing and VBLANKS if/when I make videos on those topics. But yes, you’re correct, I should have said “For those who don’t know CRTs were the first commercially viable and widespread type of television.”

  • @arriagatwo777
    @arriagatwo777 Жыл бұрын

    I cannot program a thing but I enjoy you content 'cos I'm curious and I love the behind scene kind of thing

  • @NesHacker

    @NesHacker

    Жыл бұрын

    That’s the cool part about “edu-tainment” haha :)

  • @EricFaries
    @EricFaries2 жыл бұрын

    This is definitely informative, and i can't wait for more. I'm just now going through your videos, and curious to see if you actually go through the process of drawing, and then programming a level. I see many videos explaining HOW the NES and SNES read and display graphics, but i haven't seen any videos that show the developer process of drawing and programming a level itself. Like, did the devs first make a drawing software that let them save a map info to past into the code? Or did the literally map it out on paper, and then type line by line the code for how the map would be rendered? I really want to see the gritty behind the scenes of old school game dev flow. lol

  • @NesHacker

    @NesHacker

    2 жыл бұрын

    Yeah, I somehow doubt they did it on paper and entered it by hand. I think most studios built in house software to handle level design and editing then exported it to binary for the ROM. There are a ton of cool data packing schemes you can use to do this, and I am indeed hoping to cover them at some point on the channel to show folks how to make and use their own.

  • @EricFaries

    @EricFaries

    2 жыл бұрын

    @@NesHacker It's definitely something i wish was talked about more with older games dev flow. I'm an artist myself, so i really want to see how the old school people did art for games before we had things like Aseprite and engines with tile map editors lol. To see what they had to make in order to produce the maps and art would be fascinating.

  • @samghost13
    @samghost132 жыл бұрын

    Hello Hello Soo Cool! THX for showing some NES Dev. stuff Thumbs up! What i really really would like to have is one of those Sprite Machines they had back in the day. That would BLOW MY MIND!!! THX for your stuff i was Stooked to see your Content!

  • @SuperColdLemonade
    @SuperColdLemonade2 жыл бұрын

    Love it !

  • @nirosolis485
    @nirosolis4858 ай бұрын

    I wish I discovered your channel earlier, I love your content! So I'm late to this video, and I don't want to be _that guy_ but since you went into such detail, I thought it would be somewhat informative to point out that when you say "flat screen" you probably mean flat panel. There existed flat screen CRTs. I used to own a Sony Trinitron, which is a flat screen CRT. The LCD monitors/TVs we use today are officially called "flat panels", owing to their thickness. It's a very common mistake, not a big deal, just thought I'd mention it.

  • @NesHacker

    @NesHacker

    8 ай бұрын

    Haha that’s perfectly fine, I like learning things… especially stuff like that 👍🏻

  • @TheTobylyn
    @TheTobylyn Жыл бұрын

    Hi! i Love your videos and the editing :D Question: I during a project where i want to read sprite data directly from the cartridge, not running the game itself( maybe with a atmega1284p). I quess i can read the pattern tables directly from the character ROM and the pins connected to it. But i need the OAM data to know how the tiles are connected and how many to each sprite and so on. I'm a bit confused on where to find this data? Is it different from each game, or is there a pattern to look for? I think i have seen and read too many tutorials and got a bit confused:b

  • @TukaihaHithlec
    @TukaihaHithlec10 ай бұрын

    I remember learning fairly recently that unlike most other systems, the NES’s available colours are ordered by hue and brightness as opposed to RGB. Each palette specifically uses all different hues and brightnesses for each colour to ensure that the sprites read just as clearly on monochrome TVs as colour TVs.

  • @NesHacker

    @NesHacker

    10 ай бұрын

    Oh that’s neat, I knew it organized the system palette this way but I didn’t think about the implications for monochrome!

  • @TukaihaHithlec

    @TukaihaHithlec

    10 ай бұрын

    @@NesHacker I’ve developed an interest in how older games and systems used their limitations to their advantage in ways that aren’t obvious, or even become “problems” when emulated on modern hardware. This is one of those examples where now that I know, it stands out when NES style art doesn’t follow that rule lol Another example is how early Nintendo systems rendered frames narrower than TVs, so the displayed frame was stretched. As a result, some developers actually narrowed their art so that things like circles and squares would display as intended. Ironically, first party developers did this the least. Obviously analog signals on CRT screens weren’t as sharp as modern displays, so some sprite work looks much better when a little fuzzier in general. Another way this was utilized was how dithering got blended together and was effectively unnoticeable on intended displays, whereas some people really hate how dithering looks now. Similarly, using vertical stripes (like the waterfalls in Sonic) made them simply appear translucent. The way even relatively newer games utilized resolution was interesting too. I’ve seen people point out funny looking LODs in Mario 64 that were never visible before. PS1 games that used flat image backgrounds like Resident Evil or Final Fantasy were seamless back in the day but look very strange when emulated at higher resolutions now. A lot of games with “low resolution” textures or lower polygon counts did not seem that low when the display was so limited too. Anyhow, I appreciate your reply. That was probably a long read, much of which was either uninteresting or already known, but I get excited sharing lol Hopefully it wasn’t too bad, and if nothing else I’m glad to hear the monochrome compatible palettes were new to you!

  • @Clery75019
    @Clery750192 жыл бұрын

    NES that were sold in France were PAL versions. TV using the SECAM standards were also compatible with PAL. They were usually described as "PAL/SECAM" TV sets.

  • @satibel
    @satibelАй бұрын

    0:42 an interesting thing is that some people learn better from top to bottom or from bottom to top, i.e. screen to transistor or transistor to screen. so what you find works the best for you may not work the best for everyone. (though the the way you understand best is often the way you explain best, so nothing wrong with that.)

  • @RussianSevereWeatherVideos
    @RussianSevereWeatherVideos Жыл бұрын

    04:33 Had a very similar TV design back in the USSR when I was a kid. Had a Dendy hooked up to it as well. Which was a bootleg NES copy. Lightgun and all.

  • @cleberdvm
    @cleberdvm2 жыл бұрын

    Hi! Although you have placed Brazil in the "PAL" category, the analog system used here is PAL-M, it is unique among analogue TV systems in that it combines the 525-line 30 frames-per-second System M with the PAL color encoding system (using very nearly the NTSC color subcarrier frequency), unlike all other countries which pair PAL with 625-line systems and NTSC with 525-line systems.

  • @drinksanddice9528
    @drinksanddice9528 Жыл бұрын

    is there any way to control the frequency of foreground sprites being written to the PPU. For example, could you load one set of 8 eight sprites one cycle and a second set in between to simulate 16 on a single scan line (I assume it would half the frame rate, but I don't quite understand how PPU cycles and frame rate are related)? I'm not quite sure what terms I could search on dev forums to find an answer.

  • @YNGBLD80
    @YNGBLD802 жыл бұрын

    Hi mate just came across your channel really nice content and detail. I got most of the content however, I'm just lost with regard to the attributes I understood how each attribute byte is split into 4 2 bit segments making a byte of data but get lost when "each segment is used to select the palette for 1 of 4 16 by 16 sections of tile data". I can't see the 16 by 16 other than a whole row made up of 8 attributes boxes by 2 tiles ( H or V) across but I just can't marry up the connection I was wondering can you just clarify the above if possible.

  • @samghost13
    @samghost132 жыл бұрын

    Love 64K

  • @johnmj89schannel47
    @johnmj89schannel47 Жыл бұрын

    Great video I've been nes and snes hacking for years

  • @freeNode5
    @freeNode55 ай бұрын

    how are the background tiles moved in subtile increments to render the directional scrolling/sliding? does the 32x30 grid account for single tile overhang or something?

  • @ginomctony6773
    @ginomctony6773 Жыл бұрын

    Just to add some more technical information here, when a CRT television is scanning or moving the electron beam, it actually scans every OTHER line first then goes back and fills in the gaps between those.

  • @michael2244
    @michael22442 жыл бұрын

    Hey it's Dragon Warrior i love that game!!!! :D

  • @byte_dance
    @byte_dance Жыл бұрын

    Gold