NES Emulator Part #1: Bitwise Basics & Overview

  Рет қаралды 473,606

javidx9

javidx9

Күн бұрын

I've always wanted to do this. Let's make an 8-bit console emulator!
KZbin: / javidx9
/ javidx9extra
Discord: / discord
Twitter: / javidx9
Twitch: / javidx9
GitHub: www.github.com/onelonecoder
Patreon: / javidx9
Homepage: www.onelonecoder.com

Пікірлер: 922
@javidx9
@javidx9 4 жыл бұрын
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 жыл бұрын
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 жыл бұрын
I'm subscribed to hundreds of channels on youtube and I have to say your one of the most underrated channels on KZbin. Your channel is truly a KZbin Gem!
@olearycrew
@olearycrew 4 жыл бұрын
I came for the NES emulator. I stayed for the best explanation of HEX and bitwise operations ever.
@ZapDash
@ZapDash 4 жыл бұрын
Seriously
@lauritslolck
@lauritslolck 4 жыл бұрын
So true!
@IgnisTMage
@IgnisTMage 4 жыл бұрын
The bit masking explanation was a thing of beauty.
@FelipeDWB
@FelipeDWB 3 жыл бұрын
You are right even in my cs degree I got explanation like that
@jasonleo
@jasonleo 3 жыл бұрын
Me too
@Naveication
@Naveication 4 жыл бұрын
"The Picture Processing Unit, also known as PPU, sometimes called the Pixel Processing Unit... by me... accidentally." Comedy gold right there
@javidx9
@javidx9 4 жыл бұрын
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 жыл бұрын
@@iyadlamouri6572 so it’s the same?
@darkfoxfurre
@darkfoxfurre 4 жыл бұрын
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 жыл бұрын
36:45 - hurt ears
@neontiger2007
@neontiger2007 4 жыл бұрын
You could have zero-padded the first 5 items!!! Lol, JK. Thanks for the TOC.
@Danny-we4vz
@Danny-we4vz 2 жыл бұрын
Doing god’s work!
@48-_
@48-_ Жыл бұрын
Intro is the Best
@Quiltfish
@Quiltfish 4 жыл бұрын
A sign of a good teacher is engaging someone who already knows the topic. ...Subscribed.
@numalesoybea1348
@numalesoybea1348 3 жыл бұрын
Actually it's the opposite. A good teacher engages someone who doesn't know the topic.
@Quiltfish
@Quiltfish 3 жыл бұрын
@@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 жыл бұрын
That was the most intense "fetching a thing out of the attic" sequence
@SparxableTunes
@SparxableTunes 4 жыл бұрын
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_ Жыл бұрын
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
@UnidayStudio
@UnidayStudio 4 жыл бұрын
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 жыл бұрын
Hey Uniday Studio, thanks!
@ruddymolina7044
@ruddymolina7044 3 жыл бұрын
@@javidx9 hey man was the metal track at the beggining
@rhornak2381
@rhornak2381 2 жыл бұрын
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 жыл бұрын
Thanks buddy! 😊
@SoDamnMetal
@SoDamnMetal Жыл бұрын
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.
@dthewave9466
@dthewave9466 4 жыл бұрын
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 4 жыл бұрын
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."
@TwennyBux
@TwennyBux 4 жыл бұрын
All NES awesomeness aside this was a really great explanation of bitwise operations. Really helpful thanks
@xotmatrix
@xotmatrix 4 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
So basically they taught you like Mr. Miyagi... teach you the techniques without explaining what it’s for until later.
@DownTownDowns
@DownTownDowns 4 жыл бұрын
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 жыл бұрын
Old?? Its like 6 months old XD Thanks buddy! XD
@dambros
@dambros 4 жыл бұрын
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!
@neontiger2007
@neontiger2007 4 жыл бұрын
This is the second video I watch from this channel... damn, you're one HELL of a CODER. Subscribed++ !!
@dustinwilson2311
@dustinwilson2311 4 жыл бұрын
Absolutely phenomenal! You're a wonderful teacher and the pacing is superb. I'm very much looking forward to the rest of the series.
@Gordolone
@Gordolone 4 жыл бұрын
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!
@oneoutoffive
@oneoutoffive 4 жыл бұрын
I've been trying to build an NES emulator for a long time, I'm hyped for more videos!!!!
@javidx9
@javidx9 4 жыл бұрын
Its certainly not been easy, but loads of fun. Thanks Tony!
@UberMun
@UberMun 4 жыл бұрын
This is going to be an amazing series, I can feel it in mah bones!
@amberdean1263
@amberdean1263 4 жыл бұрын
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.
@zrodger2296
@zrodger2296 3 жыл бұрын
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!
@uncoherentramblings2826
@uncoherentramblings2826 4 жыл бұрын
Thank you for the video as always. Hope to see more from this series.
@HumbertTheHorse
@HumbertTheHorse 4 жыл бұрын
WOW, such an exciting series. One of my first loves, NES.
@dsasilentsound
@dsasilentsound 4 жыл бұрын
Really looking forward to this series! Great work so far.
@JustHackingAround
@JustHackingAround 4 жыл бұрын
I am really looking forward to this series, hope you continue it!!
@metalsquid
@metalsquid 4 жыл бұрын
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 жыл бұрын
Thanks metalsquid, I dont know if i can cover every last detail on KZbin, 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.
@waseinmalwar1854
@waseinmalwar1854 4 жыл бұрын
Very awesome topic. This summer I made a Z80 emulator, watching this will be surely fun!
@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.
@xsk37chx
@xsk37chx 4 жыл бұрын
Thanks for doing this. An emulator has been on my todo list for quite awhile. Really looking forward to the series!
@gabrielferrer8061
@gabrielferrer8061 4 жыл бұрын
Hi David. I can't wait until next episode. Good stuff as always. Regards.
@MateusAntonioBittencourt
@MateusAntonioBittencourt 4 жыл бұрын
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 жыл бұрын
Pointers and bitwise operations are essential for low level coding in C (drivers and such) not to mention baremetal coding.
@javidx9
@javidx9 4 жыл бұрын
Thanks Mateus, yeah, bitwise is going to be really important for this series.
@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
@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
@HenrikoMagnifico
@HenrikoMagnifico 4 жыл бұрын
Such a phenomenal learning resource! Thank you!
@nttn3666
@nttn3666 4 жыл бұрын
I'm HYPED , really looking forward to this :))))
@javidx9
@javidx9 4 жыл бұрын
Thanks NTTN!
@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!
@CrystalBit
@CrystalBit 4 жыл бұрын
I followed this video taking notes with pen & paper. I felt like being at Uni, thanks for this work! Keep it going!
@porsupollo9349
@porsupollo9349 4 жыл бұрын
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 жыл бұрын
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.
@FredM80
@FredM80 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 жыл бұрын
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
@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.
@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.
@yosoydead
@yosoydead 4 жыл бұрын
you would make a damn good teacher. can't wait for next parts
@javidx9
@javidx9 4 жыл бұрын
Cheers yosoydead!
@justsomeguy8385
@justsomeguy8385 4 жыл бұрын
me: "oh building an emulator would be cool!" me 20 minutes in: o_O
@cortexauth4094
@cortexauth4094 4 жыл бұрын
Bro, you haven't even seen PPU right now :' ( I am suffering with PPU right now
@marcelcevani5688
@marcelcevani5688 3 жыл бұрын
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
@jeangodecoster
@jeangodecoster 4 жыл бұрын
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
@raiker02
@raiker02 2 жыл бұрын
This must be the best bitwise operations explanation I've seen. Very concise and easy to follow!
@eleganteatinginjapan659
@eleganteatinginjapan659 4 жыл бұрын
Thanks for sharing and providing us with free education!
@javidx9
@javidx9 4 жыл бұрын
My pleasure EEinJ!
@htiSkraD029
@htiSkraD029 4 жыл бұрын
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!
@bitwitch
@bitwitch 4 жыл бұрын
cant wait for the this series to begin proper! thanks for all your work!
@dr.pulque5386
@dr.pulque5386 4 жыл бұрын
God, where have you been all my life?! Thank you very, very much for this series! :)
@louis-etiennemessier8003
@louis-etiennemessier8003 4 жыл бұрын
wow those explanations of the basics were amazing! thanks :)
@whatamievendoing
@whatamievendoing 4 жыл бұрын
Can't wait for the rest of the series! Seems fun...
@iii720
@iii720 4 жыл бұрын
I like how casually he mentions completing Shadowgate. Totally gave up after not finding that key to the first locked door.
@javidx9
@javidx9 4 жыл бұрын
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 KZbin.
@recklesflam1ngo968
@recklesflam1ngo968 3 жыл бұрын
As someone who is learning to code for the NES, your emulator series is quite fun and helpful to watch
@glitchy_weasel
@glitchy_weasel 4 жыл бұрын
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!
@LisandroDuran
@LisandroDuran 4 жыл бұрын
Aunque me he perdido en varios puntos, los conceptos se entienden claramente. Esperando el siguiente vídeo.
@thomas3754
@thomas3754 4 жыл бұрын
"hello let's make a nes emulator" beautiful introduction!
@thePrinceOfPurpose
@thePrinceOfPurpose 4 жыл бұрын
I am really excited to start watching your videos again! I finally have enough time to get back into games for a bit.
@MithrasX
@MithrasX 4 жыл бұрын
Thank you for your very clear and complete explanation of the topics discussed. I subscribed and I am eagerly looking forward to your next upload!
@konferansjer
@konferansjer 4 жыл бұрын
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
@JohnDlugosz
@JohnDlugosz 4 жыл бұрын
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?
@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.
@speed488
@speed488 4 жыл бұрын
Very nice intro to the series. You've got yourself a new subscriber. Keep up the good work!
@biggtk
@biggtk 4 жыл бұрын
Ah, the sweet nostalgia of blowing into a dysfunctional cartridge
@happydays3300
@happydays3300 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*
@ciaragarrity6425
@ciaragarrity6425 4 жыл бұрын
this has been extremely educational for me. all these videos are spectacular and they teach me something others miss
@_yllw6155
@_yllw6155 2 жыл бұрын
Truly an amazing video series here. I want to see videos like this for so many different consoles.
@IDE_Busmaster
@IDE_Busmaster 4 жыл бұрын
I thought I was watching a skillspecs video in the background in the beginning lmao
@xX0T1Xx
@xX0T1Xx 4 жыл бұрын
what's the song you played while you were preparing the NES console?
@Atomizer74
@Atomizer74 4 жыл бұрын
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.
@FernandoPonteFilho
@FernandoPonteFilho 4 жыл бұрын
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.
@monolyth421
@monolyth421 4 жыл бұрын
NES emulators are cool, that's why I got a degree in Computer Engineering
@veda-powered
@veda-powered 4 жыл бұрын
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 KZbin’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 жыл бұрын
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
@patrickbateman455
@patrickbateman455 4 жыл бұрын
I'm really happy that i fount this channel. Really nice content, good job!
@watsonwrote
@watsonwrote 4 жыл бұрын
I'm looking forward to the rest of the series! This was a great introduction
@javidx9
@javidx9 4 жыл бұрын
Thanks Matthew!
@BlueJayBonsai
@BlueJayBonsai 4 жыл бұрын
We’re ok with videos part 6, 7, 8, 9, A, B, C, D, E & F !😁👍🕹🎮
@hanagomikusohana9118
@hanagomikusohana9118 4 жыл бұрын
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.
@mariouriel5057
@mariouriel5057 3 жыл бұрын
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
@danielstephenson7558
@danielstephenson7558 2 жыл бұрын
Loving these videos! I'm fascinated by the way you draw ampersands.
@Janman81
@Janman81 4 жыл бұрын
I have always wanted to know how this works. Thank you.
@javidx9
@javidx9 4 жыл бұрын
Hi Janman, me too!
@davidbeckers6460
@davidbeckers6460 4 жыл бұрын
Probably FizzBuzz in every language known to mankind
@oberonqa8734
@oberonqa8734 4 жыл бұрын
Thank you for doing this! I've been interested in learning more about how the NES works for a long time... and what better way to gain an understanding on this topic than by building an emulator from the ground up. I subscribed and will be following your channel with great interest! =)
@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
@Cpt.Zenobia
@Cpt.Zenobia 4 жыл бұрын
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 жыл бұрын
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 жыл бұрын
@@circuit10 Probably Disney?
@DocMacLovin
@DocMacLovin 4 жыл бұрын
each and every coders wants to code his own editor ...
@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
@antling_
@antling_ 4 жыл бұрын
This is absolutely amazing! Especially considering I was creating my own NES emulator not that long ago. The cartridge mappers are interesting, I think of it as a way the games worked around the simplistic nature of the 6502.
@burntt999
@burntt999 4 жыл бұрын
I scared my gf from busting out laughing(Lying in bed at night) when you hit the power button on the console
@12ryudragon
@12ryudragon 4 жыл бұрын
You were playing Rogue Legacy at the beginning, didn´t you? Nice
@javidx9
@javidx9 4 жыл бұрын
I was! its a great game, but man I suck at it XD
@ruadeil_zabelin
@ruadeil_zabelin 4 жыл бұрын
@@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 жыл бұрын
@@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 жыл бұрын
@@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
@josephruiz831
@josephruiz831 4 жыл бұрын
I was just starting to do research on my own nes emulator, went to KZbin, 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
@joshlovesfood
@joshlovesfood 2 жыл бұрын
Hi Javidx9, thank you for making this video! Although I’m not at the level I can do this myself, I enjoy watching it to learn more!
@HA7DN
@HA7DN 4 жыл бұрын
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 4 жыл бұрын
Same, but i want to do gameboy so it's not really cheating
@Bunny99s
@Bunny99s 4 жыл бұрын
@@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 4 жыл бұрын
OK, fiiiine, I will build an emulator too, but also going to watch the series.
@HA7DN
@HA7DN 4 жыл бұрын
@@veorEL CHEATER!
@InspireTheory
@InspireTheory 4 жыл бұрын
I'm waiting for the CommandLine and Conquer! =)
@javidx9
@javidx9 4 жыл бұрын
lol, thats been on the "to video" list for a while... one day... one day....
@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.
@benjohnson7610
@benjohnson7610 4 жыл бұрын
I don't know who you are but I am subscribed now. I've always wondered how to make a proper emulator and never had the time to break down the code myself. I will definitely be following this series and I hope you can get this project done 100% as soon as possible.
@frankeke8541
@frankeke8541 4 жыл бұрын
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.
@hugoestevesrj
@hugoestevesrj 4 жыл бұрын
Amazing content, thanks for sharing. I'm a master system guy, but NES porn is always welcome lol
@Karsteski
@Karsteski 4 жыл бұрын
I love your videos, I'm really looking forward to this series :D
@svenbtb
@svenbtb 8 ай бұрын
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 8 ай бұрын
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!
NES Emulator Part #2: The CPU (6502 Implementation)
1:07:12
javidx9
Рет қаралды 406 М.
How NESticle changed NES Emulation forever | MVG
11:27
Modern Vintage Gamer
Рет қаралды 286 М.
Help Herobrine Escape From Spike
00:28
Garri Creative
Рет қаралды 54 МЛН
MINHA IRMÃ MALVADA CONTRA O GADGET DE TREM DE DOMINÓ 😡 #ferramenta
00:40
The Code That Makes Mario Move
9:53
NesHacker
Рет қаралды 507 М.
How we fit an NES game into 40 Kilobytes
12:04
Morphcat Games
Рет қаралды 3,5 МЛН
Let's Create a Compiler (Pt.1)
1:11:03
Pixeled
Рет қаралды 428 М.
"Game Development in Eight Bits" by Kevin Zurawel
39:41
Strange Loop Conference
Рет қаралды 534 М.
Emulation - Computerphile
22:36
Computerphile
Рет қаралды 197 М.
Tim Jacobs: Why YOU Shoud Write A Gameboy Emulator
17:06
Electromagnetic Field
Рет қаралды 1,4 М.
I Designed My Own 16-bit CPU
15:46
AstroSam
Рет қаралды 1,8 МЛН
Emulating a CPU in C++ (6502)
52:28
Dave Poo
Рет қаралды 936 М.
Consoles Vs. Emulators
20:21
Mr.Welbig659
Рет қаралды 138 М.
Ошибка в калькуляторе iPhone
0:22
Romancev768
Рет қаралды 1 МЛН
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Рет қаралды 3,3 МЛН
Интел подвинься, ARM уже в ПК!
14:06
PRO Hi-Tech
Рет қаралды 72 М.
План хакера 🤯 #shorts #фильмы
0:59
BruuHub
Рет қаралды 855 М.