NES Emulator Part #1: Bitwise Basics & Overview

Поделиться
HTML-код
  • Опубликовано: 5 июн 2024
  • I've always wanted to do this. Let's make an 8-bit console emulator!
    RUclips: / javidx9
    / javidx9extra
    Discord: / discord
    Twitter: / javidx9
    Twitch: / javidx9
    GitHub: www.github.com/onelonecoder
    Patreon: / javidx9
    Homepage: www.onelonecoder.com
  • НаукаНаука

Комментарии • 921

  • @javidx9
    @javidx9  4 года назад +266

    I wanted to see what this premier thing was all about - it's not something I'm gonna start using regularly. Just this time felt appropriate XD Also, if you want to submit for showcase video, or featuring on the website, fill this in! forms.gle/zegqonbDsgugkunW8

    • @sotrosh10
      @sotrosh10 4 года назад +2

      Thank you for premiere. What’s the name of the game or genre?

    • @sweetberries4611
      @sweetberries4611 4 года назад

      @@sotrosh10 i think that's secret to keep people hyped

    • @Pridetoons
      @Pridetoons 4 года назад +12

      I'm subscribed to hundreds of channels on youtube and I have to say your one of the most underrated channels on RUclips. Your channel is truly a RUclips Gem!

  • @olearycrew
    @olearycrew 4 года назад +871

    I came for the NES emulator. I stayed for the best explanation of HEX and bitwise operations ever.

    • @ZapDash
      @ZapDash 4 года назад +19

      Seriously

    • @lossen1984
      @lossen1984 4 года назад +10

      So true!

    • @IgnisTMage
      @IgnisTMage 4 года назад +20

      The bit masking explanation was a thing of beauty.

    • @FelipeDWB
      @FelipeDWB 4 года назад +8

      You are right even in my cs degree I got explanation like that

    • @jasonleo
      @jasonleo 3 года назад +4

      Me too

  • @Naveication
    @Naveication 4 года назад +493

    "The Picture Processing Unit, also known as PPU, sometimes called the Pixel Processing Unit... by me... accidentally."
    Comedy gold right there

    • @javidx9
      @javidx9  4 года назад +42

      Im bound to slip up, and then people will nag in the comments XD

    • @dotslashsatan
      @dotslashsatan 2 года назад

      May as well call it pixel processor 😂 is it not just a basic GPU?

    • @iyadlamouri6572
      @iyadlamouri6572 2 года назад

      @@dotslashsatan
      because the PPU assemble pictures
      and GPU made operations for rendering pictures

    • @dotslashsatan
      @dotslashsatan 2 года назад +2

      @@iyadlamouri6572 so it’s the same?

  • @darkfoxfurre
    @darkfoxfurre 4 года назад +487

    0:00 Intro
    2:30 Overview
    5:24 Legality of Emulation
    6:25 NES Game Collection
    8:27 NES Reference Guide
    10:06 Hexadecimal Notation
    15:18 Bitwise Operations
    24:06 Bit Fields
    27:39 NES Hardware Overview
    38:30 Summary
    39:54 Outro

    • @eleanorprins
      @eleanorprins 4 года назад +34

      36:45 - hurt ears

    • @neontiger2007
      @neontiger2007 4 года назад +6

      You could have zero-padded the first 5 items!!! Lol, JK. Thanks for the TOC.

    • @Danny-we4vz
      @Danny-we4vz 2 года назад +2

      Doing god’s work!

    • @48-_
      @48-_ Год назад

      Intro is the Best

  • @Quiltfish
    @Quiltfish 4 года назад +200

    A sign of a good teacher is engaging someone who already knows the topic.
    ...Subscribed.

    • @numalesoybea1348
      @numalesoybea1348 3 года назад +3

      Actually it's the opposite. A good teacher engages someone who doesn't know the topic.

    • @Quiltfish
      @Quiltfish 3 года назад +29

      @@numalesoybea1348 I was thinking more that if a teacher can engage without boring someone who already knows the topic, that's a good sign for if they were to try teaching someone to whom it's still new and exciting. I could probably have worded it better, both times.

  • @deathreus
    @deathreus 4 года назад +17

    That was the most intense "fetching a thing out of the attic" sequence

  • @SparxableTunes
    @SparxableTunes 4 года назад +160

    Your skill in programming might come in 2nd compared to your skill in teaching. Thank you so much for all of the videos throughout the years

  • @256k_
    @256k_ Год назад +3

    your little talk about the NES and how much it means to you and that photo in the end made me want to go and hug my own NES that i've owned for 30 years now. that photo of you as a child might as well have been me. years and years of fun memories of the NES playing duck hunt with my dad who kept getting angry at the dog when he missed all the ducks, playing with my mom, playing with friends, seeing the joy on a friend's face as a full grown adult finishing super mario bros for the first time ever.
    "the NES made me who i am today" 100% accurate.
    thank you for the fantastic education

  • @TwennyBux
    @TwennyBux 4 года назад +61

    All NES awesomeness aside this was a really great explanation of bitwise operations. Really helpful thanks

  • @UnidayStudio
    @UnidayStudio 4 года назад +67

    Born too late to discover the world, too earlier to fiscover the universe (I guess), at the right time to watch this amazing youtube channel.
    Congrats for another fascinating video! :)

    • @javidx9
      @javidx9  4 года назад +5

      Hey Uniday Studio, thanks!

    • @ruddymolina7044
      @ruddymolina7044 4 года назад

      @@javidx9 hey man was the metal track at the beggining

  • @neontiger2007
    @neontiger2007 4 года назад +5

    This is the second video I watch from this channel... damn, you're one HELL of a CODER. Subscribed++ !!

  • @xotmatrix
    @xotmatrix 4 года назад +15

    This is going to be good. Building an emulator from scratch from data sheets and reference material is a great exercise. I had the same attitude as you when I made my Apple II emulator. I always avoided looking at other emulator code because I knew it was something I eventually had to do for myself. It's unbelievably satisfying when things start to come alive.

    • @javidx9
      @javidx9  4 года назад +10

      You're quite right, this is a project that "I" can be proud of, a rare thing as you get on in life XD

  • @curtis9701
    @curtis9701 4 года назад +29

    I have to say thank you! I just finished my first year of computer engineering and we were introduced into bitwise. The way they delivered the information was very spliced up. I needed to see where the heck it all leads to and not just being able to change a bit or how memory is stored ect..
    I clicked on this video out of curiosity and was like DAM... Being able to visually see the end product how everything gets tied together and what the mechanics are at the mircrochip level and massively informative. Thank you! This was more helpful than my prof. I can't wait to watch the rest of these. Im going to share it with other students because no one really understand where it all led to. Thank you kind sir.

    • @tech6hutch
      @tech6hutch 3 года назад +2

      So basically they taught you like Mr. Miyagi... teach you the techniques without explaining what it’s for until later.

  • @DownTownDowns
    @DownTownDowns 4 года назад +6

    Hey, I know this video is old but I just wanted to thank you. I have experience writing c++ for Arduino, but not 'real' c++ and your videos always leave me with ZERO questions. You are clearly extremely knowledgeable about c++ and your explanations, pacing, humour is all TOP. Props to you David, I appreciate your content

    • @javidx9
      @javidx9  4 года назад +3

      Old?? Its like 6 months old XD Thanks buddy! XD

  • @jajwarehouse1
    @jajwarehouse1 4 года назад +51

    The first time I played an NES game way back when it was released, the thing that went through my mind at the time was "I want to extract the data from this cartridge and get it to work on a computer."

  • @dambros
    @dambros 4 года назад +26

    This is something I've always wanted to try but had no idea where or how to start without simply copying/pasting other people's code. Great opportunity for me to learn how it should be done! Thanks for this!

  • @dthewave9466
    @dthewave9466 4 года назад +10

    This was the shortest and easiest explanation of how hexadecimals work, I have ever seen. Great work, looking forward to the rest of the series!!

  • @oneoutoffive
    @oneoutoffive 4 года назад +31

    I've been trying to build an NES emulator for a long time, I'm hyped for more videos!!!!

    • @javidx9
      @javidx9  4 года назад +6

      Its certainly not been easy, but loads of fun. Thanks Tony!

  • @rhornak2381
    @rhornak2381 2 года назад +7

    Your intro brought back amazing memories ! Blow the cartridge was always the perfect fix for me xD
    I am sad I didn’t see your video sooner, the NES is one of my favorite console (mostly because of Super Mario Bros 3) and I always wanted to try building an emulator, but it takes a lot of time to investigate read datasheets, etc, I never took the time to do it.
    Deep thanks, you are a good teacher :)

    • @javidx9
      @javidx9  2 года назад +2

      Thanks buddy! 😊

    • @SoDamnMetal
      @SoDamnMetal Год назад +1

      He forgot the final step though, blow away any possible dust in the console then firmly and tightly insert the cartridge. If that all fails... RIP.

  • @dustinwilson2311
    @dustinwilson2311 4 года назад +2

    Absolutely phenomenal! You're a wonderful teacher and the pacing is superb. I'm very much looking forward to the rest of the series.

  • @amberdean1263
    @amberdean1263 4 года назад +2

    I've been dabbling in programming since I was a child and only really getting serious about it over the past few years. Building an emulator is an absolutely huge dream of mine, and I can't express how grateful I am that you're composing a series like this. You're helping me to digest so many concepts much more quickly.

  • @metalsquid
    @metalsquid 4 года назад +19

    I've always wanted to know how to go about writing an NES emulator but could never quite put all the pieces together. Totally excited for this series and eagerly await the remaining parts!

    • @javidx9
      @javidx9  4 года назад +2

      Thanks metalsquid, I dont know if i can cover every last detail on RUclips, but I hope its enough to give people a head start

    • @EpicestGamer
      @EpicestGamer 4 года назад

      Yeah, one of my current pet projects may require me to write an NES emulator where I'm able to write in some sort of custom peripheral, so this actually came just in time, as I'm still working on the software thats gonna be running on the emulator, so this could give me not only good insight on how the NES works and how best to use it, but also a good place to start from when working on my emulator for my project.

  • @HumbertTheHorse
    @HumbertTheHorse 4 года назад +5

    WOW, such an exciting series. One of my first loves, NES.

  • @Gordolone
    @Gordolone 4 года назад +1

    I discovered your channel recently and I really like your content and how you explain things. The tube is filled with programmers making videos about the best language, how to become the best programmer, some stupid program examples, how did I make a career, and than there are channels like yours, genuine, actual people programming and doing the tube for passion and with love for programming. Those are the channels I love. Keep up the good work and keep loving it!

  • @zrodger2296
    @zrodger2296 3 года назад +1

    I knew from one of your other videos that this had a good intro to bitwise operations. I used to know all that stuff; this was a good refresher. But then whoa! New stuff! Now maybe I want to watch the whole series? Absolutely invaluable content! Thank you!

  • @waseinmalwar1854
    @waseinmalwar1854 4 года назад +7

    Very awesome topic.
    This summer I made a Z80 emulator, watching this will be surely fun!

  • @iii720
    @iii720 4 года назад +3

    I like how casually he mentions completing Shadowgate. Totally gave up after not finding that key to the first locked door.

    • @javidx9
      @javidx9  4 года назад +3

      Lol, full disclosure, it took me and my dad about 3 years of trial and error to beat that game XD

    • @iii720
      @iii720 4 года назад

      @@javidx9 Rest assured, sir, you're still awesome! We're fortunate to have you RUclips.

  • @fredtaylor9792
    @fredtaylor9792 3 года назад +1

    I'm just a tourist here. I'm just interested in what's happening under the hood as I play the old games and I'm extremely grateful for your hard work on these videos. It's content i've been interested in and haven't found until now. Thank you, thank you, thank you!

  • @raiker02
    @raiker02 3 года назад +1

    This must be the best bitwise operations explanation I've seen. Very concise and easy to follow!

  • @uncoherentramblings2826
    @uncoherentramblings2826 4 года назад +3

    Thank you for the video as always. Hope to see more from this series.

  • @UberMun
    @UberMun 4 года назад +3

    This is going to be an amazing series, I can feel it in mah bones!

  • @JP-ud9lf
    @JP-ud9lf 3 года назад

    Accidentally happened here. Love this approach you're taking and with such a beloved asset like the NES. Looking forward to the rest of this set immensely. Thanks.

  • @dsasilentsound
    @dsasilentsound 4 года назад +1

    Really looking forward to this series! Great work so far.

  • @MateusAntonioBittencourt
    @MateusAntonioBittencourt 4 года назад +5

    I think this is an amazing project. As someone who only recently got into coding... I think this is gonna be a HUGE educational series. I'm fascinated by how things were programmed back in the day... and how hardware worked.
    This already helped me a lot... bitwise is something I didn't understand very well even though I used sometimes for some specific things... But now I can see how powerful it can be. Can't wait for the next videos.

    • @JyrkiKoivisto
      @JyrkiKoivisto 4 года назад +2

      Pointers and bitwise operations are essential for low level coding in C (drivers and such) not to mention baremetal coding.

    • @javidx9
      @javidx9  4 года назад +1

      Thanks Mateus, yeah, bitwise is going to be really important for this series.

  • @gabrielferrer8061
    @gabrielferrer8061 4 года назад +7

    Hi David. I can't wait until next episode.
    Good stuff as always.
    Regards.

  • @DaveChurchill
    @DaveChurchill 4 года назад +2

    I have so far seen 7 youtube channels start this journey and not one has finished it. I wish you all the best :)

    • @ricardofunes413
      @ricardofunes413 4 года назад +1

      He already has mostly finished it. He said he already have 90% done, he has shown gameplay, he said that he does not plan to implement all mappers (for now), and one of his objectives is to release a "studying aid" source code in his Pixel Game Engine - meaning, very readable and not super optimized. Since the code will be open, everybody will be able to finish to implement it and polish it as much as we want.

    • @javidx9
      @javidx9  4 года назад +1

      Hi Dave and thanks! The emulator is finished, I just need to make the videos.

    • @DaveChurchill
      @DaveChurchill 4 года назад

      @@javidx9 That's awesome! I am really looking forward to it. I teach C++ to 3rd and 4th year university students and enjoy your examples and presentation style.
      Have you seen Bisqwit's video on writing an NES emulator? The lookup table he uses is a work of art

  • @Rx7man
    @Rx7man 3 года назад +1

    39:18 "The NES is a fascinating machine, and I love it to BITS " Nice pun there!
    Looking forward to watching this series!

  • @eleganteatinginjapan659
    @eleganteatinginjapan659 4 года назад +17

    Thanks for sharing and providing us with free education!

    • @javidx9
      @javidx9  4 года назад +3

      My pleasure EEinJ!

  • @justsomeguy8385
    @justsomeguy8385 4 года назад +102

    me: "oh building an emulator would be cool!"
    me 20 minutes in: o_O

    • @cortexauth4094
      @cortexauth4094 4 года назад +7

      Bro, you haven't even seen PPU right now :' ( I am suffering with PPU right now

    • @marcelcevani5688
      @marcelcevani5688 4 года назад +1

      My plan is to get first the 6502 core stable and run all test roms. I first go without mapper

    • @joshmeijers9667
      @joshmeijers9667 3 года назад

      hahaha me reight nowq!!!!!

    • @tech6hutch
      @tech6hutch 3 года назад

      @@joshmeijers9667 I think you got your graphics tiles messed up there

  • @JustHackingAround
    @JustHackingAround 4 года назад +2

    I am really looking forward to this series, hope you continue it!!

  • @honkatatonka
    @honkatatonka 4 года назад

    Very well done. can't wait for the next parts in the series. Well paced presentation and a breeze to follow. Thank you!

  • @HenrikoMagnifico
    @HenrikoMagnifico 4 года назад +4

    Such a phenomenal learning resource! Thank you!

  • @nttn3666
    @nttn3666 4 года назад +4

    I'm HYPED , really looking forward to this :))))

    • @javidx9
      @javidx9  4 года назад +1

      Thanks NTTN!

  • @xsk37chx
    @xsk37chx 4 года назад +1

    Thanks for doing this. An emulator has been on my todo list for quite awhile. Really looking forward to the series!

  • @Atomizer74
    @Atomizer74 4 года назад +2

    I came to this channel because I was recommended the 3d Graphics Engine Part 1, instead of just clicking on the video I went to the channel and looked at the playlists, considering I have delved into creating my own emulators in the past, this was the first playlist I ended up checking out.
    I started with a Chip8 emulator, with intention of going on to a NES emulator after, looking at my old development backups however, that was back in 2008, so it has been over 10 years since I seriously worked on emulation, I am super keen to dive back in, and this series has re-ignited my own passion for it.

  • @FredM80
    @FredM80 4 года назад +4

    I really like NES philosophy : all tiles and sprites, and what programmers made with it, with so few memory. I studied some times ago the SupermarioBros 1 encoding, and also Zelda 1 encoding : how they put huge maps on so few bytes. This is amazing

    • @javidx9
      @javidx9  4 года назад +1

      Hi Fred, Im a great believer in constraints breeding creativity. Imagine what people could do with modern hardware if the really exploited it...

    • @sweetberries4611
      @sweetberries4611 4 года назад

      @@javidx9 those were the simple days
      bottom text

  • @ThinDi3sel
    @ThinDi3sel 4 года назад +7

    This is a fantastic tutorial for anything bitwise (not just for NES applications), should help in my upcoming interviews. Subscribed.

    • @javidx9
      @javidx9  4 года назад

      Cheers Varun!

  • @CrystalBit
    @CrystalBit 4 года назад +2

    I followed this video taking notes with pen & paper. I felt like being at Uni, thanks for this work! Keep it going!

  • @Catishcat
    @Catishcat 4 года назад +2

    infinite respect for the rogue legacy sounds in the begining

  • @porsupollo9349
    @porsupollo9349 4 года назад +10

    dude, youtube just recommended me your video, i thought it would be entertainent for sure but i wasn't expecting to ended up learning how exadecimal and binary works lmao, and i haven't used complex math in about 9 years, you're an incredible teacher.

    • @javidx9
      @javidx9  4 года назад +6

      Hi porsu, thanks thats very kind of you, and welcome! I try to show things at a high level but always in a practical application sense, so its pleasing to hear youve enjoyed this.

  • @yosoydead
    @yosoydead 4 года назад +4

    you would make a damn good teacher. can't wait for next parts

    • @javidx9
      @javidx9  4 года назад +1

      Cheers yosoydead!

  • @thePrinceOfPurpose
    @thePrinceOfPurpose 4 года назад +1

    I am really excited to start watching your videos again! I finally have enough time to get back into games for a bit.

  • @tristacho5472
    @tristacho5472 4 года назад

    I wanted to watch this series when it came out but I kept getting distracted, and now that I've decided to work on my own gameboy emulator and am looking for info on emulation in general this video series is clutch. Thank you for taking the time to go into detail on everything and taking us along for the project

  • @konferansjer
    @konferansjer 4 года назад +12

    2:15 holy cow, I remember doing this, it actually worked sometimes!

    • @paulobueno9320
      @paulobueno9320 3 года назад

      When he didn't try it a few seconds earlier I was like "dude just blow it and it will work!" hahaha

  • @louis-etiennemessier8003
    @louis-etiennemessier8003 4 года назад +3

    wow those explanations of the basics were amazing! thanks :)

    • @whatamievendoing
      @whatamievendoing 4 года назад

      Can't wait for the rest of the series! Seems fun...

  • @mariouriel5057
    @mariouriel5057 4 года назад

    It's cool that people like you make this type of videos; really shows to see things that you don't have idea that existed

  • @bitwitch
    @bitwitch 4 года назад +1

    cant wait for the this series to begin proper! thanks for all your work!

  • @thomas3754
    @thomas3754 4 года назад +23

    "hello let's make a nes emulator" beautiful introduction!

  • @LisandroDuran
    @LisandroDuran 4 года назад +4

    Aunque me he perdido en varios puntos, los conceptos se entienden claramente. Esperando el siguiente vídeo.

  • @dr.pulque5386
    @dr.pulque5386 4 года назад +2

    God, where have you been all my life?! Thank you very, very much for this series! :)

  • @MegaEchech
    @MegaEchech 2 года назад

    You're absolutely incredible dude! One of the best and most interesting tutorials i've ever seen. This has been a project I've wanted to take on for a really long time now, so thank you so much for breaking it down like this! keep it up

  • @biggtk
    @biggtk 4 года назад +4

    Ah, the sweet nostalgia of blowing into a dysfunctional cartridge

  • @JorgeFilhoPro
    @JorgeFilhoPro Год назад

    I've just started to watch this series of videos, an it's an invaluable job you provided to all of us.
    Thanks for sharing this kind of content.

  • @ciaragarrity6425
    @ciaragarrity6425 4 года назад

    this has been extremely educational for me. all these videos are spectacular and they teach me something others miss

  • @JohnDlugosz
    @JohnDlugosz 4 года назад +12

    26:45 No, you can't. That is "undefined behavior". I know that is a traditional trick that we have used for decades, but with newer optimizer technology these things no longer work reliably (really).
    So don't write such a union in every place you want the whole word -- make a single function (or template) that does this, and have *all* uses call that one place, Then, when your new compiler breaks the code, you only have one place to fix, using the idiom or compiler pragmas that work for that compiler. Note that new std library functions will be available to help with this, since everyone knows how awkward it is in the current specification. It's called bit_cast or something like that.
    Hmm, I should post an article on Code Project about that. Using type traits and metaprogramming, you could have a template like:
    auto x = as_word(s1);
    where s1 is a variable of that bit-field struct type. It would be smart enough to know that it turns into an unsigned char or std::byte.

    • @ZeroViruzz
      @ZeroViruzz 4 года назад

      Doesn't the standard treat char-type specifically, allowing aliased access through it?

    • @krystian8526
      @krystian8526 4 года назад

      @@ZeroViruzz the aliasing rules allow access through expressions of char type, but not vice versa

    • @SerBallister
      @SerBallister 4 года назад

      Isn't that the DRY principal?

  • @happydays3300
    @happydays3300 4 года назад +4

    hahaha! blowing the cartridge! so many memories, but you forgot the last process...
    Hit the console!!! , this worked for me everytime, lol!

    • @benjaminkeebler4218
      @benjaminkeebler4218 3 года назад

      There's the one in the middle though.. Put the cart almost all the way in so that the edge drags on the console door front edge as it snaps down. That was the trick that got about 30% of the carts to startup. Mind you, you can wipe all your saved Zelda runs this way... *sigh*

  • @patrickbateman455
    @patrickbateman455 4 года назад +2

    I'm really happy that i fount this channel. Really nice content, good job!

  • @recklesflam1ngo968
    @recklesflam1ngo968 4 года назад +1

    As someone who is learning to code for the NES, your emulator series is quite fun and helpful to watch

  • @BlueJayBonsai
    @BlueJayBonsai 4 года назад +6

    We’re ok with videos part 6, 7, 8, 9, A, B, C, D, E & F !😁👍🕹🎮

  • @burntt999
    @burntt999 4 года назад +16

    I scared my gf from busting out laughing(Lying in bed at night) when you hit the power button on the console

  • @_yllw6155
    @_yllw6155 2 года назад

    Truly an amazing video series here. I want to see videos like this for so many different consoles.

  • @anshsharma3964
    @anshsharma3964 2 года назад

    i was searching for bitwise operators a few days ago and today it was in my recommended section and now I understand bitwose basics.
    You sure should make a few teaching playlists

  • @davidbeckers6460
    @davidbeckers6460 4 года назад +6

    Probably FizzBuzz in every language known to mankind

  • @Cpt.Zenobia
    @Cpt.Zenobia 4 года назад +8

    The 4 dislikes are from Nintendo HQ. next is an angry letter from their lawyers. although this is purely for educational proposes, so I think its all good.

    • @circuit10
      @circuit10 4 года назад

      IT'S LEGAL

    • @valshaped
      @valshaped 4 года назад +1

      Despite what Nintendo would have you believe, creating an emulator for their platforms is legal, so long as you don't use leaked internal documents, or copyrighted material (i.e. Nintendo's own NES emulator) to *create* it.

    • @circuit10
      @circuit10 4 года назад

      @@AssopraCartuchos Discord?

    • @circuit10
      @circuit10 4 года назад

      @@AssopraCartuchos Or disliked?

    • @valshaped
      @valshaped 4 года назад +1

      @@circuit10 Probably Disney?

  • @BurningMarmite
    @BurningMarmite 3 года назад

    hey man i love this. will watch the whole series. its also refreshing to see someone so deeply passionate about their tutorials.

  • @segatendo4705
    @segatendo4705 4 года назад

    You, sir, deserve a salute! Thank you for daring to start building, and teaching others about it! No one has done that before.

  • @IDE_Busmaster
    @IDE_Busmaster 4 года назад +5

    I thought I was watching a skillspecs video in the background in the beginning lmao

  • @monolyth421
    @monolyth421 4 года назад +41

    NES emulators are cool, that's why I got a degree in Computer Engineering

  • @watsonwrote
    @watsonwrote 4 года назад +2

    I'm looking forward to the rest of the series! This was a great introduction

    • @javidx9
      @javidx9  4 года назад +1

      Thanks Matthew!

  • @danielstephenson7558
    @danielstephenson7558 2 года назад

    Loving these videos!
    I'm fascinated by the way you draw ampersands.

  • @DocMacLovin
    @DocMacLovin 4 года назад +9

    each and every coders wants to code his own editor ...

  • @veda-powered
    @veda-powered 4 года назад +19

    Okay so here’s what I’m thinking:
    - Operating System: Possibly, but large amounts of C would probably be needed
    - Game Engine (with full GUI editor etc.): Doesn’t seem to go with the theme of the channel, and there’s already the PGE and CGE which seem to work better for tutorials because everything is defined by the code, with no extra pop ups.
    - Emulator: seems kinda likely especially an emulator for a “fantasy console” that never actually existed, but to use it you’d need to write assembly code, or a compiler, which is a whole other thing.
    - Compiler: Seems like it might be a little boring to most people (not me, probably not most people who watch this channel regularly), specifically new viewers, also might not really have a use...
    - Compiler + Emulator: Seems like at this point there’s to much for one project and what’s the point of not just using the PGE?
    - Minecraft clone: doesn’t seem like it would be as special as he makes it sound, and everyone else on RUclips’s already done it too.
    - Just a very fancy game: Again seems not “special”, also that would need community assets, which for obvious reasons are currently unavailable.
    - A Troll: Seems a little mean, and not in good taste in my opinion, also not April 1st, and nothing points to it being fake, that said the announcement does seem a little fishy, maybe just because of the slightly cheesyness of certain parts.
    - Mundane project: same as troll, not really that mean though, and I don’t think I’d mind that much.
    - Half Life three: no rights to the franchise.
    - Skynet: Does explain the robot arm videos... but where would he get the servers?
    - Zombie AI to force everyone to use a neural link into Minecraft(in collaboration with Elon): Most likely possibility.
    To be clear I’d find most these things awesome (well, everything above troll), also sorry about grammar and such written on Mobile at three AM like most comments.

    • @sweetberries4611
      @sweetberries4611 4 года назад

      it will be hello world

    • @RaymondHulha
      @RaymondHulha 4 года назад +1

      Very good guesses, thanks for the write up. I lean towards Game Engine with GUI Editor

    • @obinator9065
      @obinator9065 4 года назад

      You saw some car physics code in the last video, so take the educated guess

    • @struanmurray2625
      @struanmurray2625 4 года назад

      GTA Clone is my guess.

    • @cmanatlan
      @cmanatlan 4 года назад

      @BEN1JEN
      - Roko's basilisk

  • @jeangodecoster
    @jeangodecoster 4 года назад +1

    that's the fastest I've ever subscribed to a channel. Thank you sir, looking forward to become a better programmer through following this series, and most definitely, a better performance-aware programmer with what I anticipate to be a throng of performance optimisation patterns throughout the series

  • @boba1fett742
    @boba1fett742 Год назад +1

    this channel is every nerd/programmer dream , thank you for the content

  • @Janman81
    @Janman81 4 года назад +5

    I have always wanted to know how this works. Thank you.

    • @javidx9
      @javidx9  4 года назад +1

      Hi Janman, me too!

  • @hanagomikusohana9118
    @hanagomikusohana9118 4 года назад +3

    Congrats for the spectacular content. But, sorry i need write some correction for term "PIXEL". PPU Patent of the FAMICOM / NES (and similar primitive 80's video console computer) don't call "PIXEL" to picture information on VIDEO RAM or CARTRIDGE ROM.
    "The temporary memory stores the motion picture character
    data for a single scanning line by retrieving the motion
    picture attribute table memory "US4918434.pdf
    However, now we call Pixel to "picture element" from "raster image", the NES / FAMICON can not process "raster image". In particular on the NES / FAMICOM the RAM / ROM contain minimun "Picture information" for line Scanin process (to TV raster exploration), actually the image is a composition for CRT TV form all "Picture Characters gets from ROM/RAM".
    On other words, On modern PC, emulation, the image is really "Raster Image", the PC get ROM information an translate a RASTER VIDEO RAM (or similar GPU Texture information on RAM). If you compare whit PPU proccesing it's completely contrary.

  • @glitchy_weasel
    @glitchy_weasel 4 года назад +1

    Dude you're amazing. I just finished watching your 3D engine series and it is really interesting. Love the didactic approach of your videos.
    Waiting for the best in this NES series.

    • @javidx9
      @javidx9  4 года назад

      Hey thanks pablo!

  • @FernandoPonteFilho
    @FernandoPonteFilho 4 года назад +2

    I love to see emulators being developed, still a newbie on programming world and loving explanation, and yes, the NES community have a lot a documentation available but for me, series like yours are really inspiring to build things and undestanding better how these wonderful machines worked.

  • @xX0T1Xx
    @xX0T1Xx 4 года назад +3

    what's the song you played while you were preparing the NES console?

  • @InspireTheory
    @InspireTheory 4 года назад +8

    I'm waiting for the CommandLine and Conquer! =)

    • @javidx9
      @javidx9  4 года назад +2

      lol, thats been on the "to video" list for a while... one day... one day....

  • @sebastianrengelclaros3558
    @sebastianrengelclaros3558 4 месяца назад +1

    Such a master class, I searched for a NES emu, and ended up learning lots of interesting thing. Thanks!

  • @nathonbrown3596
    @nathonbrown3596 4 года назад +1

    Thank you for laying out the design. It's a great starting point. And I feel I will be able to follow along without getting lost.
    Looking forward to it

    • @javidx9
      @javidx9  4 года назад

      Thanks Nathon, I'm hoping the series will be reasonably accessible. Its impossible to detail every component of the emulation in a few videos, so Im aiming to give a broad enough perspective that people can see how the pieces fit together, and then can consult various resources to flesh them out.

  • @12ryudragon
    @12ryudragon 4 года назад +51

    You were playing Rogue Legacy at the beginning, didn´t you? Nice

    • @javidx9
      @javidx9  4 года назад +14

      I was! its a great game, but man I suck at it XD

    • @ruadeil_zabelin
      @ruadeil_zabelin 4 года назад +1

      @@javidx9 Ye I wish I was better at it. I really want to get far in it but I die before I get a chance to do much of anything :(

    • @lionelt.9124
      @lionelt.9124 4 года назад +2

      @@ruadeil_zabelin We all start off that way. After a while it'll take you more than half an hour to die. Your hands will react before you're aware of what is going on. There is a zen to it learn from hours of experience.

    • @ruadeil_zabelin
      @ruadeil_zabelin 4 года назад +1

      @@lionelt.9124 That's true.. i'm not sure if i want to invest that time in Rogue legacy. If i had to pick then i'd pick kaizo mario.. like Grand poo world 2

  • @frankeke8541
    @frankeke8541 4 года назад +3

    Hi, do you have any experience with opengl and shaders ? I would love to see you covering topic of raymarching

    • @vexit9628
      @vexit9628 4 года назад

      Check "the art of code" chanel, he made some video's about it.

  • @chewey
    @chewey 4 года назад

    I'm in uni working with C and embedded systems and these videos are perfect for me. And as others have said, your explanations of hex and bitwise operations are very clear and useful.

  • @RameshKumar-mv3jd
    @RameshKumar-mv3jd Год назад

    Thanks so much for explaining hexadecimal and bitwise operations! I look forward to watching the rest of the series and making my own emulator someday

  • @MattLoveday
    @MattLoveday 4 года назад +13

    It's a P = NP Proof.

    • @darknightninja9773
      @darknightninja9773 4 года назад +4

      Spoiler alert, n = 1 lmao

    • @mattt2684
      @mattt2684 4 года назад

      @@darknightninja9773 He's talking about complexity theory and the complexity zoo BTW
      It's really interesting stuff though and I recommend you check it out 😀

    • @lekhapratap1652
      @lekhapratap1652 4 года назад

      Darknight Ninja damn it Ninja.

    • @obinator9065
      @obinator9065 4 года назад

      Darknight Ninja you damn engineer.

  • @hugoestevesrj
    @hugoestevesrj 4 года назад +7

    Amazing content, thanks for sharing. I'm a master system guy, but NES porn is always welcome lol

  • @josephruiz831
    @josephruiz831 4 года назад +1

    I was just starting to do research on my own nes emulator, went to RUclips, and MY MAN! Javid to the X9! Hitting me with the deets just one week earlier. long time subscriber, love your channel. thanks g!

    • @javidx9
      @javidx9  4 года назад

      lol cheers Jose to the F XD

  • @speed488
    @speed488 4 года назад

    Very nice intro to the series. You've got yourself a new subscriber. Keep up the good work!