NES Emulator Part #1: Bitwise Basics & Overview

Поділитися
Вставка
  • Опубліковано 4 лис 2024

КОМЕНТАРІ • 923

  • @javidx9
    @javidx9  5 років тому +272

    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

    • @serge-otro
      @serge-otro 5 років тому +2

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

    • @sweetberries4611
      @sweetberries4611 5 років тому

      @@serge-otro i think that's secret to keep people hyped

    • @Pridetoons
      @Pridetoons 5 років тому +12

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

  • @olearycrew
    @olearycrew 5 років тому +901

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

    • @ZapDash
      @ZapDash 5 років тому +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

  • @darkfoxfurre
    @darkfoxfurre 5 років тому +494

    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 5 років тому +34

      36:45 - hurt ears

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

  • @Naveication
    @Naveication 5 років тому +506

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

    • @javidx9
      @javidx9  5 років тому +43

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

    • @dotslashsatan
      @dotslashsatan 3 роки тому

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

    • @iyadlamouri6572
      @iyadlamouri6572 3 роки тому

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

    • @dotslashsatan
      @dotslashsatan 3 роки тому +2

      @@iyadlamouri6572 so it’s the same?

  • @Quiltfish
    @Quiltfish 5 років тому +209

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

    • @numalesoybea1348
      @numalesoybea1348 4 роки тому +3

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

    • @Quiltfish
      @Quiltfish 4 роки тому +31

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

  • @SparxableTunes
    @SparxableTunes 5 років тому +165

    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

  • @deathreus
    @deathreus 4 роки тому +19

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

  • @curtis9701
    @curtis9701 5 років тому +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.

  • @dambros
    @dambros 5 років тому +27

    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!

  • @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 5 років тому +61

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

  • @xotmatrix
    @xotmatrix 5 років тому +16

    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  5 років тому +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

  • @NOCTUMSEMPRA
    @NOCTUMSEMPRA 5 років тому +5

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

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

  • @oneoutoffive
    @oneoutoffive 5 років тому +31

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

    • @javidx9
      @javidx9  5 років тому +6

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

  • @dthewave9466
    @dthewave9466 5 років тому +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!!

  • @jajwarehouse1
    @jajwarehouse1 5 років тому +50

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

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

  • @metalsquid
    @metalsquid 5 років тому +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  5 років тому +2

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

    • @EpicestGamer
      @EpicestGamer 5 років тому

      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.

  • @UnidayStudio
    @UnidayStudio 5 років тому +69

    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  5 років тому +5

      Hey Uniday Studio, thanks!

    • @ruddymolina7044
      @ruddymolina7044 4 роки тому

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

  • @MateusAntonioBittencourt
    @MateusAntonioBittencourt 5 років тому +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 5 років тому +2

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

    • @javidx9
      @javidx9  5 років тому +1

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

  • @recklesflam1ngo968
    @recklesflam1ngo968 4 роки тому +2

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

  • @waseinmalwar1854
    @waseinmalwar1854 5 років тому +7

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

  • @amberdean1263
    @amberdean1263 5 років тому +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.

  • @ThinDi3sel
    @ThinDi3sel 5 років тому +7

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

    • @javidx9
      @javidx9  5 років тому

      Cheers Varun!

  • @boba1fett742
    @boba1fett742 Рік тому +1

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

  • @porsupollo9349
    @porsupollo9349 5 років тому +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  5 років тому +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.

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

  • @HumbertTheHorse
    @HumbertTheHorse 5 років тому +5

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

  • @Atomizer74
    @Atomizer74 5 років тому +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 5 років тому +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  5 років тому +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 5 років тому

      @@javidx9 those were the simple days
      bottom text

  • @jasonleo
    @jasonleo 4 роки тому +2

    Well explained about the bitwise operation, thank you

  • @gabrielferrer8061
    @gabrielferrer8061 5 років тому +7

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

  • @Gordolone
    @Gordolone 5 років тому +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!

  • @eleganteatinginjapan659
    @eleganteatinginjapan659 5 років тому +17

    Thanks for sharing and providing us with free education!

    • @javidx9
      @javidx9  5 років тому +3

      My pleasure EEinJ!

  • @raiker02
    @raiker02 3 роки тому +1

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

  • @konferansjer
    @konferansjer 5 років тому +11

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

    • @paulobueno1
      @paulobueno1 3 роки тому

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

  • @fahadkhankhattak8339
    @fahadkhankhattak8339 3 роки тому +1

    I am genuinely intrigued by the way you worked your way around the legal thingie lol. great effort btw. thank you

  • @UberMun
    @UberMun 5 років тому +3

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

  • @zrodger2296
    @zrodger2296 4 роки тому +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!

  • @nttn3666
    @nttn3666 5 років тому +4

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

    • @javidx9
      @javidx9  5 років тому +1

      Thanks NTTN!

  • @npenkow
    @npenkow 5 років тому +2

    As a kid I always wondered how my NES works. Now I'm at the end of my engineering bachelor degree and I can understand how most of the electronics work, but I had no reference to look till now for the NES working principle. Thanks to you this is not the case anymore. Great series. Looking forward to the next part! :)

    • @javidx9
      @javidx9  5 років тому +1

      Thanks Nikolay! Its great getting comments from people who were enthusiastic about the workings of technology when they were children. I worry that this is in decline these days.

  • @uncoherentramblings2826
    @uncoherentramblings2826 5 років тому +3

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

  • @DaveChurchill
    @DaveChurchill 5 років тому +2

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

    • @javidx9
      @javidx9  5 років тому +1

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

    • @DaveChurchill
      @DaveChurchill 5 років тому

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

  • @yosoydead
    @yosoydead 5 років тому +3

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

    • @javidx9
      @javidx9  5 років тому +1

      Cheers yosoydead!

  • @DavoMelendez
    @DavoMelendez 4 роки тому +2

    Oh man you are such a Master... I have been fascinated with the NES since I met it back in the 90's when I was 9 year old. I've researched a lot by myself but this is by far one of the best global working prionciple explanation of this machine that I've seen.. way to go, keep doing it, Hello from Venezuela

    • @javidx9
      @javidx9  4 роки тому

      Thanks Davo! I love the NES!

  • @thomas3754
    @thomas3754 5 років тому +21

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

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

  • @LisandroDuran
    @LisandroDuran 5 років тому +4

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

  • @FernandoPonteFilho
    @FernandoPonteFilho 5 років тому +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.

  • @iii720
    @iii720 5 років тому +3

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

    • @javidx9
      @javidx9  5 років тому +3

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

    • @iii720
      @iii720 5 років тому

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

  • @dr.pulque5386
    @dr.pulque5386 5 років тому +2

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

  • @JohnDlugosz
    @JohnDlugosz 5 років тому +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 5 років тому

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

    • @krystian8526
      @krystian8526 5 років тому

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

    • @SerBallister
      @SerBallister 4 роки тому

      Isn't that the DRY principal?

  • @svenbtb
    @svenbtb Рік тому +2

    Just finished reading Vol 1 of Write Great Code, your explanation of bitwise operations is a lot easier to follow lol. thank you for this! I'm definitely not at the level yet in my learning of C++ to try writing a whole emulator but it looks like it would be a REALLY fun project, definitely want to give this a try sometime!

    • @javidx9
      @javidx9  Рік тому

      It's a great challenge but I agree not a project to start with. There are simpler emulators though, or why not even design your own fantasy console. That's why coding's a great hobby!

  • @justsomeguy8385
    @justsomeguy8385 5 років тому +101

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

    • @cortexauth4094
      @cortexauth4094 5 років тому +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 4 роки тому

      hahaha me reight nowq!!!!!

    • @tech6hutch
      @tech6hutch 3 роки тому

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

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

  • @HenrikoMagnifico
    @HenrikoMagnifico 5 років тому +4

    Such a phenomenal learning resource! Thank you!

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

  • @veda-powered
    @veda-powered 5 років тому +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 UA-cam’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 5 років тому

      it will be hello world

    • @RaymondHulha
      @RaymondHulha 5 років тому +1

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

    • @obinator9065
      @obinator9065 5 років тому

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

    • @sam-n9v
      @sam-n9v 5 років тому

      GTA Clone is my guess.

    • @cmanatlan
      @cmanatlan 5 років тому

      @BEN1JEN
      - Roko's basilisk

  • @dustinwilson2311
    @dustinwilson2311 5 років тому +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.

  • @louis-etiennemessier8003
    @louis-etiennemessier8003 5 років тому +3

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

    • @whatamievendoing
      @whatamievendoing 5 років тому

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

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

  • @biggtk
    @biggtk 5 років тому +3

    Ah, the sweet nostalgia of blowing into a dysfunctional cartridge

  • @josephruiz831
    @josephruiz831 5 років тому +1

    I was just starting to do research on my own nes emulator, went to UA-cam, 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  5 років тому

      lol cheers Jose to the F XD

  • @monolyth421
    @monolyth421 5 років тому +41

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

  • @dannyarnold9823
    @dannyarnold9823 5 років тому +1

    Thanks for creating a 8 bit project, I decided to write a commodore 64 game to improve my understanding the underlying machinations of an 8-bit game, Now I'm sure that your series will be invaluable in helping me in achieving my goals, Keep up the good work.

    • @javidx9
      @javidx9  5 років тому

      Cheers Dan, I will!

  • @12ryudragon
    @12ryudragon 5 років тому +50

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

    • @javidx9
      @javidx9  5 років тому +13

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

    • @ruadeil_zabelin
      @ruadeil_zabelin 5 років тому +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 5 років тому +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 5 років тому +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

  • @DiegoSLTS
    @DiegoSLTS 5 років тому +2

    This is so good. I tried to make an NES emulator some years ago but I never got it to work for any real game. Currently I've been working in a GameBoy emulator and since I have a few real games already working I was considering starting a UA-cam channel or blog to share the process too, but in spanish.

    • @javidx9
      @javidx9  5 років тому +1

      Sounds good Diego, do it!

  • @happydays3300
    @happydays3300 5 років тому +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*

  • @CrystalBit
    @CrystalBit 5 років тому +2

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

  • @hanagomikusohana9118
    @hanagomikusohana9118 5 років тому +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.

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

  • @HA7DN
    @HA7DN 5 років тому +109

    I like it, I love it, but I'm not gonna watch it.
    Why?
    Coz I'm plannig to do the same thing in the future, and I want to do it myself.

    • @stropheum
      @stropheum 5 років тому +5

      Same, but i want to do gameboy so it's not really cheating

    • @Bunny99s
      @Bunny99s 5 років тому +7

      @@stropheum The gameboy is much simpler. It's essentially a mix between an Intel 8080 and a Zilog Z80 and pretty much everything is memory mapped as far as I remember. So all I/O is done through memory read / write.
      Here's a nice overview of the instruction set of the LR35902 CPU
      www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html
      This wiki should contain all you need:
      gbdev.gg8.se/wiki/articles/Pan_Docs

    • @veorEL
      @veorEL 5 років тому +2

      OK, fiiiine, I will build an emulator too, but also going to watch the series.

    • @HA7DN
      @HA7DN 5 років тому

      @@veorEL CHEATER!

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

  • @BlueJayBonsai
    @BlueJayBonsai 5 років тому +6

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

  • @watsonwrote
    @watsonwrote 5 років тому +2

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

    • @javidx9
      @javidx9  5 років тому +1

      Thanks Matthew!

  • @Cpt.Zenobia
    @Cpt.Zenobia 5 років тому +9

    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 5 років тому

      IT'S LEGAL

    • @valshaped
      @valshaped 5 років тому +2

      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 5 років тому

      @@AssopraCartuchos Discord?

    • @circuit10
      @circuit10 5 років тому

      @@AssopraCartuchos Or disliked?

    • @valshaped
      @valshaped 5 років тому +1

      @@circuit10 Probably Disney?

  • @Catishcat
    @Catishcat 4 роки тому +2

    infinite respect for the rogue legacy sounds in the begining

  • @Janman81
    @Janman81 5 років тому +5

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

    • @javidx9
      @javidx9  5 років тому +1

      Hi Janman, me too!

  • @jayadeepmir7496
    @jayadeepmir7496 5 років тому

    I've always been an admirer of this channel. Teaching through real world application rather than just some random puzzles to solve. That may be fun too, but this is what really enrosses every learner.

  • @DocMacLovin
    @DocMacLovin 5 років тому +9

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

  • @Mikailrocha
    @Mikailrocha 3 роки тому

    What a guy, such complexities broken down to bytesize pieces to understand what is going on. Seriously some awesome content.

  • @davidbeckers6460
    @davidbeckers6460 5 років тому +6

    Probably FizzBuzz in every language known to mankind

  • @sebastianrengelclaros3558
    @sebastianrengelclaros3558 9 місяців тому +1

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

  • @InspireTheory
    @InspireTheory 5 років тому +8

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

    • @javidx9
      @javidx9  5 років тому +2

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

  • @patrickbateman455
    @patrickbateman455 5 років тому +2

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

  • @IDE_Busmaster
    @IDE_Busmaster 5 років тому +5

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

  • @dedraks
    @dedraks Рік тому +1

    It's the best explanation of hex and bitwise operations I ever seen. Many colege teatcher need to watch this video.

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

  • @JorgeFilhoPro
    @JorgeFilhoPro 2 роки тому

    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.

  • @MattLoveday
    @MattLoveday 5 років тому +13

    It's a P = NP Proof.

    • @darknightninja9773
      @darknightninja9773 5 років тому +4

      Spoiler alert, n = 1 lmao

    • @mattt2684
      @mattt2684 5 років тому

      @@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 5 років тому

      Darknight Ninja damn it Ninja.

    • @obinator9065
      @obinator9065 5 років тому

      Darknight Ninja you damn engineer.

  • @xsk37chx
    @xsk37chx 5 років тому +1

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

  • @serge-otro
    @serge-otro 5 років тому +19

    what about making handheld ascii game console for $9.99?

    • @javidx9
      @javidx9  5 років тому +6

      I do need a hardware project for next year...

    • @kplays_6000
      @kplays_6000 5 років тому

      @@javidx9Making a game console!

  • @mistervoldemort7540
    @mistervoldemort7540 5 років тому +2

    We finally get to know what all this dedication was about. Great project!!

    • @javidx9
      @javidx9  5 років тому +1

      lol thanks Voldemort!

  • @russmack11
    @russmack11 5 років тому +6

    Teenage Mutant HERO Turtles??? Are they not allowed to use the word "Ninja" there or something?

  • @musicinsession
    @musicinsession 4 роки тому +1

    I can't believe I only discovered this channel now! Why is it that if I look up a movie trailer on youtube I get bombarded with TMZ and E bullcrap, but when I watch 50 minutes of pure gold content like this one I get ZERO recommendations... Anyyway mate, amazing content you helped me loads!!

    • @javidx9
      @javidx9  4 роки тому +1

      Thank you Filipe! Good to hear you've found things useful!

    • @musicinsession
      @musicinsession 4 роки тому

      @@javidx9 thank YOU mate, for taking the time to explain things so clearly! I always struggled with bitwise operators and never really understood their real-life applicability (even though I know they are much much faster). As a humble suggestion would be good to see a video about how to apply bitwise in real-life scenarios, like audio and video for example.

  • @LaughDonor
    @LaughDonor 5 років тому +6

    The exclusive-or (XOR) symbol is more commonly referred to with a 'caret', not a 'hat' character (^). 22:36

  • @GodofWar1515
    @GodofWar1515 5 років тому +1

    A great video David. Very great video. And because I actually did some studying on Bitwise operations and masking for understanding code in a recent Tetris project. I was able to follow along in your video. Enabling me to learn more than before. Thanks again!

    • @javidx9
      @javidx9  5 років тому

      Thanks Lucas!

  • @hugoestevesrj
    @hugoestevesrj 5 років тому +7

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

  • @randomniichan
    @randomniichan 3 роки тому

    You're an incredible teacher. I came here out of curiosity, but I subscribed and stayed because of your awesome teaching skills.