How Emulators 'Rewind' Games | MVG

  Рет қаралды 451,698

Modern Vintage Gamer

Modern Vintage Gamer

Күн бұрын

Пікірлер: 1 400
@ModernVintageGamer
@ModernVintageGamer 5 жыл бұрын
Minor correction : at 6:36 LD B, C actually takes the value of register 'C and puts it in 'B' - had too much eggnog
@silvaxbruno
@silvaxbruno 5 жыл бұрын
Yeah I noticed it... Thanks for correcting! :)
@hualni
@hualni 5 жыл бұрын
Just press and hold "r" to fix it.
@nliberty
@nliberty 5 жыл бұрын
@@hualni best comment
@renakunisaki
@renakunisaki 5 жыл бұрын
Also F is not a general purpose register.
@ModernVintageGamer
@ModernVintageGamer 5 жыл бұрын
@@renakunisaki thats right, its to pay respects
@ikagura
@ikagura 5 жыл бұрын
Preservation is very important
@Sean-D78
@Sean-D78 5 жыл бұрын
Nintendo: Hold my F-Zero
@ikagura
@ikagura 5 жыл бұрын
@@Sean-D78 True, even if the first game is on the snes online there are people that managed to keep and save the lost BS versions of the game (F-zero Gran Prix 2 with levels such as Sandstorm and Metal Fortress) and the 64DD expansion pack for F-zero X (which had a track maker)
@vegetafan9922
@vegetafan9922 5 жыл бұрын
Sega letting people who wish to use Mega Drive roms on the Steam version of Sega Mega Drive Classics the ability to do so. Sega still does what Nintendo'nt.
@AcornElectron
@AcornElectron 5 жыл бұрын
Pfft, let’s be honest, preservation is important but piracy is more important. Hence emulators. No one is REALLY doing it for preservation.
@TooBokoo
@TooBokoo 5 жыл бұрын
Although I don't care if people emulate, preservation is the cheapest excuse to use for emulation and roms. LOL! At the end of the day, 95% of people crack consoles and games so they can get them for free. "Preservation" only became wildly popular to cite in the last 10 years or so.
@BSoDGaming
@BSoDGaming 5 жыл бұрын
Awesome video as always mate.
@amanmittal857
@amanmittal857 5 жыл бұрын
Hey there good to see u here
@epiqboy
@epiqboy 5 жыл бұрын
Oh hi there
@lordAgustin
@lordAgustin 5 жыл бұрын
The king of emulation
@elmalloc
@elmalloc 5 жыл бұрын
Thanks m8, from US of A.
@DavidVerzolla
@DavidVerzolla 4 жыл бұрын
You both rocks.
@JodyAlford
@JodyAlford 5 жыл бұрын
As a programmer, I really appreciate the code snippets as you are walking through the execution. Great video!
@ptakup3
@ptakup3 5 жыл бұрын
I almost never post any comments, but here I have to make an exception. I really like to watch your videos cuz you share with us many technical details and your experience, not like many others who just read something on web and create video about this. :) I’ve been always interested in how these things works „under the hood” and your channel is full of usefull informations. Nice video and excellent content at all. Your videos inspired me to start programming (I wrote many times simple things in various languages but it never was an serious thing) and some day I hope I could write something we could call an simple emulator. Have a good week! ;)
@kkgt6591
@kkgt6591 5 жыл бұрын
Worse is most of them think that reading and making a video is research.
@Geeon2
@Geeon2 4 жыл бұрын
i code for a living and i cannot even come close to coding a full emulator. you might want to search for a new goal 🤪
@null_pointer_deref
@null_pointer_deref 4 жыл бұрын
@@Geeon2 well, to be honest, you shouldn't expect to be able to make a functional emulator from the ground up if you have not done research on it before. Yes, it's not an easy thing, but definitely a feasible feat. There are already tutorials in youtube that explains the basics or how-to, such as the series of the NES emulator from javidx9, which is a great channel for all game programming stuff. And of course, you can find a lot of docs and help online if you go to the right places.
@RossTheNinja
@RossTheNinja 5 жыл бұрын
"this is about as simple as things will get" Me: Has no idea what's going on.
@elmalloc
@elmalloc 5 жыл бұрын
just press select, start, a, or B
@doublepmcl6391
@doublepmcl6391 4 жыл бұрын
Do the Konami Code, it will be much easier ;-)
@HistoMagouri
@HistoMagouri 5 жыл бұрын
Back in my day, we used an Ocarina and the Song of Time.
@AwakenTheGuardian
@AwakenTheGuardian 4 жыл бұрын
FIFTH ROOT FLAT THIRD FIFTH ROOT FLAT THIRD
@geraq0
@geraq0 4 жыл бұрын
@@charlesdoesmore5488 he is talking about music notation, those are the notes making up the Song of Time in any key. In the game, if I'm not mistaken, is A D F A D F, which would make it a D minor
@ArtHazard
@ArtHazard 4 жыл бұрын
Fascianating. People from my generation used Sands of Time.
@nutter-world
@nutter-world 5 жыл бұрын
Very interesting, I assume you could compress the older buffers and uncompress on a rewind giving you a rolling cache. More videos like this, very informative!
@ModernVintageGamer
@ModernVintageGamer 5 жыл бұрын
yep, thats another way ive seen it work. Linked-Lists, Circular buffers, compressed frames. Maintaining a full state on 8-bit systems is fine because the overhead is small. doing that on 32 bit systems would not work as well
@nutter-world
@nutter-world 5 жыл бұрын
@@ModernVintageGamer while I was typing I was thinking Prince of Persia (sands of time I think) and how they kept a cross platform rewind consistent given the ram differences. NB yeah easy on a simple set of registers but once you get over 16bit or custom chips it's going to be a little more tricky.
@emilianoleiva9467
@emilianoleiva9467 5 жыл бұрын
@@nutter-world if you think about it, rewind its in everywhere. Braid, Tracer in Overwatch, Grid. Maybe Race-Ghosting its a type of "rewind" method when you race againts the ghost which drives the exact way you raced before.
@nutter-world
@nutter-world 5 жыл бұрын
@@emilianoleiva9467 Yeah actually when you put it like that it makes sense but are they storing enough information so you could drop back in during a replay and continue where you left off; say in a racing game. That would be fun once you've finished a game / track and go back and work on each corner scrubbing the timeline to make a perfect lap that you could then work to beat in realtime.
@rollizle
@rollizle 5 жыл бұрын
In the case of tracer she only needs to store her location, ammo and health over the time of that rewind. Which is what? 1.5 seconds? So it's really not much info to store in her case, which I always found to be very smart design from a programming and performance standpoint.
@darkerm76
@darkerm76 5 жыл бұрын
Rewind always remind me of Prince of Persia
@avavii
@avavii 5 жыл бұрын
This? Yes! :D
@ModernVintageGamer
@ModernVintageGamer 5 жыл бұрын
Yeah that was the first time I experienced rewind in a game it was a cool feature
@ic_trab
@ic_trab 5 жыл бұрын
"That's not how it happened"
@ipodguy9
@ipodguy9 5 жыл бұрын
Anyone remember Blinx: the time sweeper
@BenGillam
@BenGillam 5 жыл бұрын
the original or more recent one? fell to my death far too many times back in the day
@nighttimestalker
@nighttimestalker 5 жыл бұрын
I honestly hate anti emulation people. It's a literal necessity now-a-days
@emperorfaiz
@emperorfaiz 5 жыл бұрын
Fortunately, they have no power to stop the emulation but whining pointlessly with no effort. You do you, my man. Long live emulation! EDIT: encycl07pedia for example literally has no power to stop us. A big L to him and move on with what we want to enjoy.
@koffing2073
@koffing2073 5 жыл бұрын
They are just angry that their retro collection lost a lot of value lol
@chairwood
@chairwood 5 жыл бұрын
Fuk u nerd
@nighttimestalker
@nighttimestalker 5 жыл бұрын
@@encycl07pedia- It's literally a necessity for game preservation.
@AzrialAlaria
@AzrialAlaria 5 жыл бұрын
@@mezzb Same here!
@theannoyedmrfloyd3998
@theannoyedmrfloyd3998 5 жыл бұрын
Emulators can also be considered as development kits.
@jornthree8881
@jornthree8881 5 жыл бұрын
Phúc Trần I mean, it’s pcsx2, what do you expect, it’s project64 for ps2 emulation. I recommend looking into and supporting “play!”, an open source ps2 emulator. It’s not to hot right now, but it’s getting better. And I believe it’s in libretro as well, so I recommend giving it a shot.
@SteelSkin667
@SteelSkin667 5 жыл бұрын
Not necessarily, but they can be amazing debug tools - especially when developing for older platforms
@dan_loup
@dan_loup 5 жыл бұрын
Many emulators are not very good for it because outside of the context of "running the commercial games", they're pretty imprecise. For example, on BlueMSX, you're allowed to change the sprite table on the middle of the scanline, change the video memory layout with no consequences to the data in it and even read a disk without turning on the motor. Those things make OpenMSX (an emulator made with making a perfect 1:1 copy of the real hardware) throw a fit, but BlueMSX just allow you because it don't break any games, as no real game attempt to do those things.
@omegarugal9283
@omegarugal9283 5 жыл бұрын
exactly
@gasparmxm
@gasparmxm 5 жыл бұрын
Emulators can't be considered Dev kits, there's a good reason, almost all emulators just want to emulate with errors, they don't rely on tech of the original hardware, that's why emulators have lots of errors on games, it's not 1:1 emulation. You need a real dev kit so you can develop in a reliable environment.
@nothankyou4859
@nothankyou4859 5 жыл бұрын
You should do a video on the history of the dolphin emulator! It's pretty crazy how good it has gotten, with multiple forks for specific games too (faster melee)
@GRBtutorials
@GRBtutorials 5 жыл бұрын
As someone interested in the more technical details, I loved this video (though I most likely can't speak for most of your audience, as I already knew how a CPU works so it was easy to understand). Certainly, I'd like you to make the series on emulation.
@MrMario2011
@MrMario2011 5 жыл бұрын
Yes! More emulation techniques videos!
@MarcoGPUtuber
@MarcoGPUtuber 5 жыл бұрын
An amazing feature when I realise that *Mistakes Were Made* in my gameplay!
@Solowraith4life
@Solowraith4life 4 жыл бұрын
As a computer science major I loved that you explained the programming techniques used, not many youtubers ever seem to talk about the actual code because they don't think people care but I would love a full series like this video
@seanflores3511
@seanflores3511 5 жыл бұрын
I love it when you get into the weeds with an IDE and break down concepts like this with a technical walk through. Great video!
@Gods_God
@Gods_God 5 жыл бұрын
I would love to see this series expanded. I've always wondered what goes on behind the scenes in emulation, and how people reverse engineer hardware functions to make quality software
@deafhobbit
@deafhobbit 5 жыл бұрын
I appreciated you talking about how these features improve accessibility. As someone who finds old school arcade inspired designs like limited lives and long gaps between checkpoints extremely frustrating, save states have really been essential in helping me enjoy older games.
@OnYourSquare
@OnYourSquare 5 жыл бұрын
MVG is has become one of my Top 5 favorite KZbin channels. I work from home recovering data from damaged Apple products, so my head is buried in a microscope most of the day. Typically I end up listening to shows more than I watch. His content is detailed, informative AND entertaining. So regardless of what I'm doing, it still holds my attention. Love it. Keep it up.
@haggisman0812
@haggisman0812 5 жыл бұрын
Discovered your channel earlier this year and been hooked ever since, fantastic content especially for someone like myself who is very interested in emulation but doesn't understand the technical details. Merry Christmas to you and yours MVG!
@tensevo
@tensevo 3 жыл бұрын
The emulation community is really something special. Preserving classics. Modding. Up-scaling. Save-states, Filters, Control mapping. Effects. Speed-up, slow-down, collecting, home-brew. Emulation can give new life to old titles and often they can even play better.
@Altilt
@Altilt 5 жыл бұрын
Rewinds definitely been around more than 7 years, I remember doing it on ZSnes over a decade ago. Wasn't as clean as modern ones, but its definitely been around.
@Yamigishi
@Yamigishi 4 жыл бұрын
I remember using rewind on a NES emulator on my psp, I can't remember the exact time frame but that was at least 8 years ago
@Faygris
@Faygris 4 жыл бұрын
Exactly what I thought. I've definitely been using it 10 or 15 years back on ZSNES
@MetalJody1990
@MetalJody1990 5 жыл бұрын
I love emulation. Been a fan of it since the early PSP modding days. I'll never forget how amazing it was to play my first consoles ever, on the go, for the first time. It absolutely blew my mind. I want to give a huge thanks to everyone involved in making emulation happen, and you too, MVG, for making videos on it.
@gamertygonl
@gamertygonl 5 жыл бұрын
MVG Time!
@AnonymousFREEZEpOp1
@AnonymousFREEZEpOp1 4 жыл бұрын
I'm a gamer, but know nothing about modding or emulation, but I find these video and this channel overall so interesting. He makes it so much easier to understand than other channels I've seen.
@Docs1231
@Docs1231 5 жыл бұрын
You gotta do more of these. This was fantastic
@michaelyapkf
@michaelyapkf 5 жыл бұрын
Thank you for a detailed explanation. Very informative. Thank you to all who spent so much time bringing us all the emulators for all the vintage systems so that we can still enjoy those vintage games which we treasure.
@SullySadface
@SullySadface 5 жыл бұрын
I understood about 5% of this. I finished the video because it's interesting as hell.
@SullySadface
@SullySadface 5 жыл бұрын
On the note about rewinding, i could swear ZSNES (yes I use dumpster tier eumlators) has had a rewind function since 1.42 released, if not before. Granted, it's nowhere near as visually pleasing as the short coding demo you displayed. Perhaps I just made an assumption.
@mcqueenspartyisinhell2013
@mcqueenspartyisinhell2013 5 жыл бұрын
At least you got a better idea about emulation and hardware limitations
@ClokworkGremlin
@ClokworkGremlin 4 жыл бұрын
It has. I'm certain I remember using rewind features as early as the end of the 90s. I used to have fun with the rewind and record features, recording a set of inputs, playing them back, and then hitting rewind or state restore in the middle of the playback and watching my character's actions play out in a different context.
@TuffBaddi
@TuffBaddi 5 жыл бұрын
Long-time watcher, first-time writer. I really appreciated this video's somebody who wants to get into coding and emulation but some of the concepts go over my head. I appreciate you stripping back the veil a little! More of this style of history and learning would be great!
@SourCloud
@SourCloud 5 жыл бұрын
Better than YT-Rewind. Nice Episode. I would love a emulation series!
@chrisakaschulbus4903
@chrisakaschulbus4903 5 жыл бұрын
not original, please consider going through the door and never coming back, thank you very much, have a nice christmas my child
@SourCloud
@SourCloud 5 жыл бұрын
@@chrisakaschulbus4903 Dude chill. I just want to comment what I want and btw i commented this liturally 8 min after upload. So go back in your toxic Schulbus und verpiss dich. Thanks.
@chrisakaschulbus4903
@chrisakaschulbus4903 5 жыл бұрын
@@SourCloud i just wrote some random crap because i literally have nothing better to do... even on christmas. but i actually laughed at that line "So go back in your toxic Schulbus und verpiss dich." no hard feelings bro :D
@SourCloud
@SourCloud 5 жыл бұрын
@@chrisakaschulbus4903 No worries my man Happy chistmas!
@ktvx.94
@ktvx.94 4 жыл бұрын
Finally those 4 years of studying game development paid off. It really is beautiful watching videos like these and actually understanding what they say with little effort (sometimes). I'm very interested in how emulators work to begin with. I've never done research so it would be awesome for an experienced youtuber to explain it. Like, how does a device pretend ir's abother?
@chrismarshall4523
@chrismarshall4523 5 жыл бұрын
Would love to see you do a series on how to code for beginners. Im 43 yo and now have a little extra time in my life to finally learn. With your ability to break down and explain things from an analytical mindset, not only are you a great instructor, it might make a successful side channel.
@bobafruti
@bobafruti 5 жыл бұрын
Chris Marshall if you’re serious about your desire there are a number of game making tutorial channels that will start you off simply enough in Unity or Gamemaker and you can get real projects under your belt before you even get into the tedious nitty-gritty that most compsci courses start off with.
@andymorin9163
@andymorin9163 5 жыл бұрын
This is what I send people who want to learn how to code www.reddit.com/r/learnprogramming/comments/6fto5j/how_to_start_learning_to_code_when_you_dont_know/
@kaitlyn__L
@kaitlyn__L 5 жыл бұрын
This isn't a video series, but there's a few approaches you can take. You could learn something modern like Lua or Python, or Java or possibly maybe JavaScript (the last two are a little more arcane, and can get some hate for it, but they still simplify a lot of the same things). You could learn C or C++ (many do C and then C++, since C++ was designed to appeal to existing C users at the time). They're a few decades old now but C++ is still used in a lot of programming contexts, because the programmer has to manually manage a lot more things and thus it can run faster or on fewer resources. Ultimately learning both kinds of things would be useful, but these are just the different approaches of where to start. Many programs today will use a combination of C++ and Python, to combine speed of writing the program with Python, with the speed of C++ for certain attributes. Python was designed to compile into C++, so you can insert actual C++ code into a Python program as well and have it "drop down" into C++ for certain functions. Another approach some people advocate is learning on something retro like a C64, because those computers were built around anybody programming something right away on the screen. That may appeal to you if you used a C64 back in the day, but it can also be more difficult because of memory limitations that modern computers just don't have. Additionally, if you get to the point of writing things like sorting algorithms, a modern computer is going to run through them so much faster when you test them. So I don't personally recommend going retro to learn, although they were indeed simpler to program for. If you wanted to run something faster than BASIC (which is "interpreted" like Python and JavaScript and so on, which again means the computer manages resources you might have to manually allocate in another language, which takes up more of its time) you would have to use Assembly on those computers, which is a fancy way of saying you're directly speaking the CPU's language. The parts about programming the Game Boy in this video were in Assembly, with the registers and the memory addresses. Advocates say retro Assembly is better to learn than a modern CPU's Assembly, because of how much simpler the CPUs themselves were. They say it gives you a deeper and intuitive understanding of the way computers actually work and handle data. And I wouldn't fundamentally disagree that it gives you those skills, so if that appeals to you, by all means start there. But in my opinion, Assembly is mostly comprised of busywork shuffling values around between registers, with maybe 1-10% of your time actually spent making the CPU do its task. I'm sure there are plenty of people who enjoy that, but I just prefer to let a compiler handle all of that and let me think about what I'm actually wanting to happen in my program. So I wouldn't personally go "lower level" than C/C++, which still has memory allocation (malloc) and things like that, but at least eliminate a lot of the active register swapping busywork. But any way of getting started is valid. Any way into the way computers think makes it easier for you to learn other methods later. Plenty of people started with Python and plenty with Assembly, neither would inhibit you from picking up the other one later. As for actually learning those things, there are a lot of free courses available online if you search terms like "learn [programming language]". Additionally there are sites such as Skillshare which you may have seen sponsoring people's videos, they're paid services but have video courses split up into chapters. These may be more your speed compared to the free options, which can often be like reading Wikipedia for hours. Additionally, there's multiple different people who uploaded their own courses, so you might find it easier to try different people's methods until you land on the one that clicks with you. Ultimately, don't be afraid to try multiple sources and methods if one isn't really gelling with you. There's no benefit to sticking with one method if you hate it, you're going to learn better if you enjoy it. But no matter which way you take to finding how to learn programming, something I wish someone had told me is this - Google for specific problems you're having! "How do I alter the size of an array in [language]" for example - you're going to be back on your way to programming much faster that way than just hoping your online learning resource gets there eventually. Don't be afraid to skip around the curriculum if it'll let you try new ideas, you can always go back into the prescribed path once you're directionless again. This was a bit long, but I hope it helped a little Chris! Self-directed learning can be overwhelming at first, but can also be immensely empowering once you get a handle on it. Info about almost anything you might want to do around the house, but don't know how, is usually available online with a little digging. Good luck with learning to program!
@paulgraves1392
@paulgraves1392 5 жыл бұрын
If your just wanting to learn to code for games, I strongly recommend reading Fabien Sanglard's blog- he specialises in writing detailed source code reviews of video games from the 1990s that are technical but easy to understand for people who have never coded before. I also recommend two of his books: Game Engine Black Book: Wolfenstein 3D Game Engine Black Book: DOOM
@deus_ex_machina_
@deus_ex_machina_ 5 жыл бұрын
@@kaitlyn__L Incredible comment Kaitlyn, I took a screenshot and will be sure to reference this when I finally get started.
@blakryptonite1
@blakryptonite1 5 жыл бұрын
You have one of the best retro gaming channels on KZbin. Most other channels review a new crappy AliExpress emulator every week, and try to get people to buy it using affiliate links. Your channel gives actual information about the technical aspects of vintage gaming.
@myopiniondoesntmatter7068
@myopiniondoesntmatter7068 5 жыл бұрын
Its nearly impossible for me to play 99% of my favourite emulated games now without a frameskip/fast forward option. I pretty much exclusively play JRPG's and I can get the same experience as I did back when I was a kid in 1/10th of a time simply by speeding through every overly long battle animation or making the walk speed bearable. Playing games like Lufia 1, Breath of Fire 2 or Any Phantasy Star besides 4 (macros were ahead of their time) without them is torture, especially knowing that frameskip exists.
@fryncyaryorvjink2140
@fryncyaryorvjink2140 5 жыл бұрын
Same with pokemon, that guy walks so slow
@onepunchgirl7152
@onepunchgirl7152 5 жыл бұрын
Same here.
@p3trichor862
@p3trichor862 5 жыл бұрын
@@fryncyaryorvjink2140 Omg the pokemon, I have no idea how people play pokemon on original hardware its like impossible.
@comicsans1689
@comicsans1689 5 жыл бұрын
@Brett C That's a major flaw in Pokemon's design philosophy, because it originally came out in a time where developers had to pad out gameplay with grinding so that you feel like you got your money's worth. Unfortunately, JRPG developers of today still have that same mindset, where there is a ridiculous amount of grinding in game to hide the utter lack of content and shallow gameplay. That's why I always return to western CRPGs, because most of them don't feel like a complete chore to get through.
@xavier7769
@xavier7769 5 жыл бұрын
@A GentlemanExperiencing Nostalgia isnt always practical. Thats like if a game werent in your country and it was really good, its not worth your time because there is absolutely no way to find it legally.
@supersquare
@supersquare 5 жыл бұрын
I was LITERALLY looking into this myself, as I basically made the underpinning of a rewind algorithm while programming a high performant, real time undo/redo algo for my framework. I wanted to see if emulators were simply recording user inputs or if they were recording entire data streams. Thanks so much for this incredible insight!! Absolutely love your channel and have been loving these super deep dives!
@justdewitt3758
@justdewitt3758 5 жыл бұрын
this is better than YT Rewind!
@Quiltfish
@Quiltfish 5 жыл бұрын
I mean, not hard, but the sentiment is good.
@logang4eversikehellno140
@logang4eversikehellno140 5 жыл бұрын
DummyFacts
@EastDallasKicks
@EastDallasKicks 5 жыл бұрын
Falco Lombardi yup
@EastDallasKicks
@EastDallasKicks 5 жыл бұрын
Just DeWitt isn’t everything better than that
@sosasees
@sosasees 5 жыл бұрын
@@WiiUniverse Yes. You can watch the KZbin Rewind without paying any money. But Google Stadia is many purchases which eventually add up to (more than) what you'd pay for a regular games console which is much better.
@vk3fbab
@vk3fbab 5 жыл бұрын
Great to see someone explaining how this stuff works. I'm sure people who have never thought about how software emulation works would get great benefit. Brings back memories from the old university days. Had a lecturer write a software emulation of a CPU. Kept finding bugs in it. Remember a case where he was not impressed that I wrote a very simple program that crashed his emulator but would never crash the real hardware.
@johnsimon8457
@johnsimon8457 5 жыл бұрын
First time I saw rewind, I thought “This must gobble up ram like a son of a gun.” but then I remembered this isn’t the 90’s and it’s totally OK to use a hundred MB or so of RAM and store each state for each frame for a couple of seconds.
@tf_d
@tf_d 2 жыл бұрын
I remember thinking that when I switched from making a game on the NES to making a program in C lmao
@saje5821
@saje5821 5 жыл бұрын
MVG, Please do make more videos like this! As a younger kid, I grew up past the time of many of the older game consoles that are covered in your videos, and emulation was really essential in enabling me to appreciate the history of video games, which came to be a really big part of my childhood, and I think really contributed to who I am today. Even today, I use emulators all the time for games that are otherwise (pretty much) inaccessible due to reasons like age. For example, I am currently using an emulator to play a game in Japanese called "Home Sweet Home" (ホームスイートホーム) . Not to mention, it's just really cool to be able to learn about all these things from a programming and technical perspective. I don't know how much I am exactly retaining of what I learn in videos like yours, but I know I am learning a few things, and what information I do get to learn is just amazing to me. So, for those reasons, please make more videos like this!
@GabeSkolnik
@GabeSkolnik 5 жыл бұрын
Definitely like this topic for a series 😁🎮
@BM-wf8jj
@BM-wf8jj 3 жыл бұрын
Another great episode from your channel. I've been playing games on emulators since I was a kid back in the mid 90's but never knew much about how it all works behind the user interface. It's definitely something I find more interesting now since I'm learning real basic stuff like how to program PLC's as well as how they work in my electrical apprenticeship right now. I'd love to see this topic turned into an ongoing series.
@jeddunkxyz
@jeddunkxyz 5 жыл бұрын
As someone who's studying Computer Science, I'd love to see this as a series.
@dbzkidkev2
@dbzkidkev2 5 жыл бұрын
This is what I love about your channel! The videos are not just a high level glossed overview, you go into technical detail which is excellent!
@Wkterr
@Wkterr 5 жыл бұрын
I write emulators and virtual machines myself, and while rewind isn't a new concept to me, having a playlist with various emulation techniques would be useful. Just a tip though: Please animate the state changes when showing what the CPU does. It makes it much easier to follow along when there are more visual cues to make it more obvious what's going on. Check out Michael Steil's "27c3: Reverse Engineering the MOS 6502 CPU" talk, I found his approach very easy to follow.
@Dannysince1985
@Dannysince1985 5 жыл бұрын
My brain trying to understand this is like the episode of Simpsons when homer is doing an experiment and blows his basement up then changes one value of something to a lower value then blows his basement up even more than before........but good on you I like to play emulators and wish I knew how they actually do what they do.....
@Wkterr
@Wkterr 5 жыл бұрын
@@Dannysince1985 I highly recommend the Michael Steil video I mentioned. I've watched that talk probably 10 times, but it really helps understanding how a CPU works on a really low level. Once you understand that, coding an emulator is actually pretty straightforward.
@DasAntiNaziBroetchen
@DasAntiNaziBroetchen 5 жыл бұрын
@@Dannysince1985 Learn to code.
@SerBallister
@SerBallister 4 жыл бұрын
@@Wkterr debugging an emulator is kind of hard though. Mess up a status flag for one opcode and getting a crash 3 million cycles later is not something you want.
@Wkterr
@Wkterr 4 жыл бұрын
@@SerBallister Yep, that's why you should have unit tests or a specifically designed test ROM to fully confirm the operation of each op code. Obviously it's not a guarantee, but it makes it a lot easier to develop. Emulating peripherals, however. That sucks.
@LordRaven256
@LordRaven256 5 жыл бұрын
I love that you actually show the C++ code that does it. This gives this video so much more credibility in my eyes.
@mingusdegeest7162
@mingusdegeest7162 5 жыл бұрын
Life would be so much harder without emulators
@basshead.
@basshead. 5 жыл бұрын
Good for speedrunners.
@milhouse777
@milhouse777 5 жыл бұрын
No doubt, I wouldn't played +80% of all titles that I've played in my life,
@Psilocervine
@Psilocervine 5 жыл бұрын
This episode, along with the episode on the Game Boy's graphics tools, have been some of my favourites
@TheGunmanChannel
@TheGunmanChannel 5 жыл бұрын
Merry Christmas from Australia man.
@warpnowify
@warpnowify 4 жыл бұрын
This is the first time I've posted a comment on any of your videos. I really like the level of detail you go into in your explanations without going too far over anyone's head. I have always wanted to know how emulators work and would be very interested in watching them. Please keep them coming.
@petwisk2012
@petwisk2012 5 жыл бұрын
Pleasse do more emulation Stuff, great vídeo, happy holidays
@alancaX
@alancaX 5 жыл бұрын
This is very different than some of your other videos; being extremely technical with programming specifics was a welcome surprise! I've always respected emulator programmers, thanks for sharing!
@MrNyagasu
@MrNyagasu 5 жыл бұрын
Please do a series on this :)
@Zachism
@Zachism 5 жыл бұрын
ABSOLUTELY love this video! As someone who grew up with emulation and is currently learning to code, but only skirted around the backend of it while growing up, I’d love to see more about this!
@diablo888
@diablo888 5 жыл бұрын
10:51 "past 6 years" ... what do you base that on? Because I have seen and used it extensively waaaaaay before that. Maybe not all emulated system had it from the start, but ZSNES had it if not 10+ years ago.
@ShadowFox64
@ShadowFox64 4 жыл бұрын
Yea I remember using rewind while playing a FFV fan translation when I was in middle school so it's at least been a thing since the mid-aughts.
@TehEpicMuffzor
@TehEpicMuffzor 4 жыл бұрын
I love the technical details you dug into. Been watching you for 2yrs and this is my favorite video
@flameshana9
@flameshana9 5 жыл бұрын
10:50 Rewinding is recent? I recall doing that on my snes emulators back in the early 2000's though. 12:16 I recall that setting on the ZSNES.
@agatonspik
@agatonspik 2 жыл бұрын
Rewind has been there for much longer than 6 years in emulators. Implemented it back in 2007 myself in one of my own emulators with a technique of combining movie recording through button presses and savestates during timed in intervals. Even had the option back then for the sound to play backwards as well.
@kenrickkahn
@kenrickkahn 5 жыл бұрын
I just left a channel talking about Emulators for this channel talking about Emulators.. I guess I like this KZbinr better.. LOL *Edit: Correcting Sentence Structure by adding missing word*
@kenrickkahn
@kenrickkahn 5 жыл бұрын
@McTurbo1300 LOL!
@kenrickkahn
@kenrickkahn 5 жыл бұрын
@McTurbo1300 🤷🏿‍♂️🤷🏿‍♂️🤷🏿‍♂️🤷🏿‍♂️😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂
@ZAX27171527
@ZAX27171527 5 жыл бұрын
Im a CS student and I LOVE this in depth stuff. I would like to re-create an emulator just to see how it works and this was something that really helped. I would love to see more in depth videos like this.
@marlbear
@marlbear 5 жыл бұрын
Emulation is literally the best, not cos I want to play pirated games cos I want to play 90’s arcades not the crap console ports. 👍🏼👍🏼👍🏼 Quality video btw 👌🏼
@kenrickkahn
@kenrickkahn 5 жыл бұрын
Exactly!! Final Fight SNES version I'm looking at you..
@marlbear
@marlbear 5 жыл бұрын
Kenrick Eason and sunset riders on the SNES! So pixelated
@jenniferlynn3579
@jenniferlynn3579 4 жыл бұрын
Not that I have a problem with it, but those arcade games are still pirated lmao
@michaelhelmut1
@michaelhelmut1 4 жыл бұрын
@@jenniferlynn3579 piracy intends that all of them have a modern way to play that isnt 2nd hand equipment
@matthieuleperlier251
@matthieuleperlier251 4 жыл бұрын
Yeah, it sucks when you buy a port of an old game and realize that emulating it would actually be better!
@Metaphor9696
@Metaphor9696 5 жыл бұрын
I really did like this episode. I have to be honest, I was barely able to follow along with the information you were giving but until I learn what everything means exactly, I would still like to see more of these types of videos. Happy and safe holidays everyone!
@AmyraCarter
@AmyraCarter 5 жыл бұрын
I use rewind on NES, SNES, and GB game emulators. Kinda helps with some things. Happy Yule; may the winter be plentiful, but merciful...
@n64ever
@n64ever 5 жыл бұрын
This is some of the best emulation content on KZbin, PLEASE continue this series!
@koopdawhoop.
@koopdawhoop. 5 жыл бұрын
9:00 "So let's move on to rewind" *Gets a KZbin Rewind ad*
@fernandohernannunez1513
@fernandohernannunez1513 5 жыл бұрын
Excellent video. I'd love to see more lengthy ones. Not because I'd use it, but because I find emulation fascinating. And your way of presenting stuff is so good.
@thequake2009
@thequake2009 5 жыл бұрын
The song in the beginning is MVG's own beat! called Race Condition. Damn it's good!!
@prophismusic
@prophismusic 4 жыл бұрын
I've been commenting on gaming channels for years asking them to make this video. Thanks for actually doing it.
@HellScream107
@HellScream107 5 жыл бұрын
MVG, I hope someday you become a professor of gaming technology if such a thing exists in the future :D
@seanmikhaels
@seanmikhaels 5 жыл бұрын
would love to see this as kinda a mini series, getting into detail about not only the rewind / save state but how blueprints for an emulator , how it’s coded at a high level , maybe another series about emulating graphics core, sound , etc
@DukenukemX
@DukenukemX 5 жыл бұрын
I'd like to see a video on why Vulkan is so great for emulators.
@ioioio13
@ioioio13 5 жыл бұрын
Very interesting topic and I liked the code and concept breakdown on rewind features. It has been many years since I have dipped my toes into code. Would definitely be interested in seeing more breakdown of emulation. Thanks for making great content.
@manuelvillalta3793
@manuelvillalta3793 5 жыл бұрын
At first, I read the title and thought to myself, eh..who cares? Then I glance at the name of the channel and thought to myself, MVG!? This is gonna be interesting! You can break down the process of paint drying and it would be an epic video.
@TaimatCR
@TaimatCR 4 жыл бұрын
As someone that can barely write a super simple script, it is amazing that there are people out there who are talented enough to make emulation a reality
@joshm264
@joshm264 5 жыл бұрын
The funny thing about some of these emulators is that alot of new mini consoles and emulated compilations use the same emulators that are primarily used to illegally play these games. Also, Merry Christmas if you see this!
@PhantomDogman
@PhantomDogman 5 жыл бұрын
Wanted to comment that emulators by themselfs are legals but getting roms... probably in gray zone if not illegal, but I assume that you already understood that how you wrote that comment.
@joshm264
@joshm264 5 жыл бұрын
@@PhantomDogman yeah, was trying to say that the same emulators that the mini systems and compilations are using is the same one that people are using illegal roms with
@kurtg5405
@kurtg5405 5 жыл бұрын
Love videos like this! I've been a user of emulators since I was very young (my first emulator was a DOS game boy emu playing a poorly translated version of Pokemon Gold version, that locked up once walking to a certain point in the game. Finding out how all of these emulators work is fascinating. All the best!
@taylorwoolston8856
@taylorwoolston8856 5 жыл бұрын
Before watching, I would think it would just save the contents of RAM (and whatever else) every X number of frames. Then when you hit the rewind button, the emulator would go backwards through the saved RAM by X number of frames until you stop pressing it, and load the saved RAM and continue from there.
@larysk227
@larysk227 5 жыл бұрын
I like the direction of trying to explain the concepts in little more depth from the programmers perspective. Didn't understood it all, but I'm planning to rewatch. I use emulators so much that it would be nice to understand a little more of how they work, so I'm looking forward to seeing more videos like this, even though honestly they might push away some people because of complexity and requirement of understanding basic programming concepts and the programming language used.
@darek4488
@darek4488 5 жыл бұрын
Rewind didn't appear in the last 6-7 years. I've used a rewind function playing NES games on my DS Lite with R4DS more than a decade ago.
@NesGaming0801
@NesGaming0801 5 жыл бұрын
I would’ve probably never been as active in getting my retro consoles and games if it weren’t for discovering them with emulation and it’s something I’ll be grateful for forever!
@ifi3763
@ifi3763 4 жыл бұрын
"now things can be done in different ways of course, but you certainly get the idea" me: 😶
@johnsaxston6004
@johnsaxston6004 4 жыл бұрын
The very first red emu menu I remember, the emu menu with the hand that looks like its dripping blood. My brother years ago introduced me to that emulator on a windows 7 desktop. Ever since my brother passed away a year ago, you MVG, have had me interested in every thing of old. I have been looking into all these emulators that run on windows 10, mainly the dolphin master build that runs gamecube and wii games. Its quite amazing what is possible with just a little bit of knowledge and you mr MVG, have given me enough knowledge through your videos to be able to code and fix things. Thank you mr MVG!!
@stanislav8794
@stanislav8794 5 жыл бұрын
Do you have any "how to make emulator" or any kind of basic for making one? Or maybe you plan on making one? Would be great. Love how you explain things and I would love to start some way making my own emu if only for practicing my coding skills
@michael.andreae
@michael.andreae 5 жыл бұрын
You could watch javidx9 Videos about a NES Emulator Part 1 --> kzbin.info/www/bejne/fGnOqWhshL-Ensk
@themrnobody9819
@themrnobody9819 5 жыл бұрын
Haven't seen these videos myself, so I can't say anything about them but resources for NES Emulation can be found at wiki.nesdev.com. You can find all the concepts and how the NES works there, for actual example code you can e.g. look up the source for Nintendulator/Mesen/FCEUX/...
@vladtomoiaga4721
@vladtomoiaga4721 5 жыл бұрын
I'm excited about the following series on emulation! Merry Christmas, MVG, and a Happy New Year!
@primezone416
@primezone416 5 жыл бұрын
Oooooh im early Merry Christmas everyone ;)
@lxmcf
@lxmcf 5 жыл бұрын
My thoughts are we need whatever you decide to put out, you deserve so much more attention!
@phatboi202
@phatboi202 5 жыл бұрын
without emulation my whole shelf of PS2 games would be unplayable for me. as my PS2 has thrown it's laser, why should i spend more money fixing something that's out of manufacture? i'll just emulate those games. I just wish there was better steering wheel support in pcsx2 so i can run GT 2-4 better with my sim setup :/
@BulletFever1
@BulletFever1 5 жыл бұрын
Well if I'm being honest I'd say that repair can be as fun as emulation
@fifaworldcup1994
@fifaworldcup1994 5 жыл бұрын
Mine luckily still works.
@phatboi202
@phatboi202 5 жыл бұрын
@@BulletFever1 i can, but i have shakey hads, so if i messed up the mod chip at the same time would make it worse... lol :/
@phatboi202
@phatboi202 5 жыл бұрын
@@fifaworldcup1994 glad it does, it a fat original though?
@fifaworldcup1994
@fifaworldcup1994 5 жыл бұрын
@@phatboi202 Nope. PS2 Slim. The silver model.
@SuperSanjuro
@SuperSanjuro 5 жыл бұрын
I've enjoyed every single one of your videos, but yes, this one was really cool. I only have a very rudimentary understanding of code, but you make it easy to understand. I come here for the joy of learning. Thanks for all the work you've put in so far.
@bitelaserkhalif
@bitelaserkhalif 5 жыл бұрын
I wonder.. what if you can implement hibernate features for one app without shutting down the pc?
@renakunisaki
@renakunisaki 5 жыл бұрын
It's difficult if the app has any files or network connections open. They might not still be there when you resume.
@GameplayandTalk
@GameplayandTalk 5 жыл бұрын
Man, you're really cranking these out, yet the quality remains top notch. I have no idea how you do it!
@BIGwillTHEGAME
@BIGwillTHEGAME 5 жыл бұрын
Good Topic
@TLS2SN
@TLS2SN 5 жыл бұрын
I tried to go to college for game programming, unfortunately I only got the content of programming and not the context. I don't know how any institution can take someone from pre-coding to C#/C++ and expect them to just understand on the spot and learn such a major language in six weeks. I loved websites like Tehskeen, and I love your programs MVG! I may not be able to program, but that doesn't mean I am not interested in learning the context of how things work and operate. Thank you for producing this video, it really does open your eyes as to how things work. I would love to see more information about this topic in the future. Please, do keep things up! :)
@AlwaysEngland
@AlwaysEngland 5 жыл бұрын
Can't wait till I start to build my own Emulation Station. Got all the games ready. Merry Christmas!
@AlwaysEngland
@AlwaysEngland 5 жыл бұрын
@@WiiUniverse That's what I'm getting, only found out about the Raspberry PI a few months back.. I've already designed the casing & the layout of the inside. I had a ZX Spectrum 48k when they came out & looking forward to playing some old favourites.
@Adioownz1
@Adioownz1 5 жыл бұрын
I’m trying to figure out which console has like ALL the retro games, ps1, ps2, Xbox, Xbox 360, wii and Wii U games. Which console has the most games emulated on?
@Adioownz1
@Adioownz1 5 жыл бұрын
singularon1 there’s not a lot of videos on the Wii U modding just the original wii. Which the og wii can have over 10,000 games but most of them are ones I wouldn’t even want. What kind of pc setup would you have to have? I don’t actually want ALL the games from those consoles but I want to be able to have a setup that I can download every game I’d ever want to play
@Adioownz1
@Adioownz1 5 жыл бұрын
singularon1 and why would I need a super good pc to play those games that run on low spec hardware? I’m only talking about running everything up to last gen (ps3 360 wii Wii U)
@Adioownz1
@Adioownz1 5 жыл бұрын
Kryštof Píštěk sounds dope but would a high end pc be able to run them all?
@karehaqt
@karehaqt 5 жыл бұрын
What a great start to Christmas week, an MVG video.
@karliskorlass196
@karliskorlass196 5 жыл бұрын
Wii U emulation is quite far along. I can play BoTW on a Wii U emulator without any artifacting or graphical bugs at 50fps on a Ryzen 5 3600 and a GTX 1070.
@karliskorlass196
@karliskorlass196 5 жыл бұрын
@@BlindBison 1080p. I get no differene in fps between 1080p and 720p.
@karliskorlass196
@karliskorlass196 5 жыл бұрын
@@BlindBison Yeah, I get 40% GPU usage during gameplay.
@32th
@32th 5 жыл бұрын
You are definitely one of my favourite retro game KZbinrs and a big reason for that are your programming skills and technical knowledge
@timovandam
@timovandam 5 жыл бұрын
Back in 2006 or 2007 I used a NES emulator on my Nintendo DS that had rewind 🤓
@bobafruti
@bobafruti 5 жыл бұрын
Timo van Dam yeah, I was thinking that same thing. If you think about it the DS has more than enough memory to do what he is talking about. In fact once you’ve gone to the effort of writing the emulator the extra 20 lines of code to enable rewind is a no brainer.
@ClokworkGremlin
@ClokworkGremlin 4 жыл бұрын
Yep. I played games on emulators as early as 1999(I remember having to disable transparent layers to get a playable framerate) that included a "rewind" feature. It wasn't the Prince of Persia-style "warp backwards through time until the desired moment" rewind, but it did allow me to jump back several seconds in increments of a second or two at a time.
@edavila8171
@edavila8171 5 жыл бұрын
Yes! Series on emulation, please! I enjoy your videos tremendously! Specially the technical aspects with code you include, those are awesome!
@sonichuizcool7445
@sonichuizcool7445 5 жыл бұрын
May I ask a question? Im the loner type with my gaming and in life. (Autism) .. Years ago I puchased on Xbox Arcade the Teenage mutant ninja turtles game. I really really enjoyed that game. At the point I had issues keeping my life together and gaming went out the window for several years. Now that I am able to keep a life together (employment and relationships) I got back into gaming. TMNT was delisted from what I have researched. I paid for that game and I feel its mine. I dont think its fair im not allowed to redownload it since I was given no way to archive it to begin with. Whats the easiest way of getting it up and running? Im not asking for the rom just what to do to make it run. Thanks
@antilad
@antilad 5 жыл бұрын
If you're referring to Turtles In Time Re-Shelled this also happened to me and I've found the only way to play it on the original hardware these days is to mod your Xbox 360/PS3.
@gadget7894
@gadget7894 5 жыл бұрын
its either with a modded 360, or there is a 360 emulator, of which MVG has spoke of im sure in a past video, but unsure of which one it was ! ...
@sonichuizcool7445
@sonichuizcool7445 5 жыл бұрын
@@mezzb Thanks for the reply. Im looking into it now. Sounds like for me this is the best option. I did find an Odroid XU4 option that sounds pretty reasonable to run this game and others like it in the future. I guess my best bet for a more portable way would be the purchase one of those boards or the Sheild I just saw which seems to be pretty capable too.
@o_d-chan
@o_d-chan 5 жыл бұрын
I barely understand most of your technical explanations, but they're really fun to watch because it makes me want to learn so much more!
How Graphics worked on the Nintendo Game Boy | MVG
12:56
Modern Vintage Gamer
Рет қаралды 530 М.
Dungeon Master -  Clever Floppy Disk Anti-Piracy | MVG
15:34
Modern Vintage Gamer
Рет қаралды 1 МЛН
-5+3은 뭔가요? 📚 #shorts
0:19
5 분 Tricks
Рет қаралды 13 МЛН
Their Boat Engine Fell Off
0:13
Newsflare
Рет қаралды 15 МЛН
Ozoda - Alamlar (Official Video 2023)
6:22
Ozoda Official
Рет қаралды 10 МЛН
How UltraHLE changed Nintendo 64 emulation forever | MVG
13:13
Modern Vintage Gamer
Рет қаралды 966 М.
INSERT DISC 2: A Brief History of Multi-Disc Video Games
33:03
The Golden Bolt
Рет қаралды 720 М.
How Graphics worked on the Nintendo Game Boy Advance | MVG
12:31
Modern Vintage Gamer
Рет қаралды 630 М.
How Graphics worked on the Nintendo DS | MVG
13:27
Modern Vintage Gamer
Рет қаралды 883 М.
I Made the Same Game for 5 Consoles
15:12
PolyMars
Рет қаралды 1,5 МЛН
How we fit an NES game into 40 Kilobytes
12:04
Morphcat Games
Рет қаралды 3,6 МЛН
Can I fix a CORRUPT PlayStation 2 save file?
18:10
MattKC
Рет қаралды 1 МЛН
Should You Buy The Steam Deck OLED For Emulation?
15:54
Retro Dodo
Рет қаралды 175 М.
How Nintendo Stopped Bootleg Games on the Nintendo 64 | MVG
13:51
Modern Vintage Gamer
Рет қаралды 1,2 МЛН
-5+3은 뭔가요? 📚 #shorts
0:19
5 분 Tricks
Рет қаралды 13 МЛН