How Emulators 'Rewind' Games | MVG

  Рет қаралды 447,628

Modern Vintage Gamer

Modern Vintage Gamer

4 жыл бұрын

Ever wondered how emulators work? In this episode we perform a technical deep dive on how emulators can Rewind games and how Save States work. We demonstrate these features with the Nintendo Game Boy as the target emulation device.
Credits :
► BSOD Gaming - • Epic Emulation Updates...
► Digital Foundry - • DF Retro: Capcom Home ...
► someother1ne - • PS3 Gran Turismo 5 on ...
Social Media Links :
► Facebook : / modernvintagegamer
► Twitter : / modernvintageg
► IG: / modernvintagegamer
► BandCamp : modernvintagegamer.bandcamp.com/
► The Real MVP Podcast : player.fm/series/the-real-mvp
#Emulation #SaveStates #Rewind

Пікірлер: 1 400
@ModernVintageGamer
@ModernVintageGamer 4 жыл бұрын
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 4 жыл бұрын
Yeah I noticed it... Thanks for correcting! :)
@hualni
@hualni 4 жыл бұрын
Just press and hold "r" to fix it.
@nliberty
@nliberty 4 жыл бұрын
@@hualni best comment
@renakunisaki
@renakunisaki 4 жыл бұрын
Also F is not a general purpose register.
@ModernVintageGamer
@ModernVintageGamer 4 жыл бұрын
@@renakunisaki thats right, its to pay respects
@ikagura
@ikagura 4 жыл бұрын
Preservation is very important
@Sean-D78
@Sean-D78 4 жыл бұрын
Nintendo: Hold my F-Zero
@hamamudo3011
@hamamudo3011 4 жыл бұрын
Nintendo hates this statement
@ikagura
@ikagura 4 жыл бұрын
@@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 4 жыл бұрын
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 4 жыл бұрын
Pfft, let’s be honest, preservation is important but piracy is more important. Hence emulators. No one is REALLY doing it for preservation.
@RossTheNinja
@RossTheNinja 4 жыл бұрын
"this is about as simple as things will get" Me: Has no idea what's going on.
@elmalloc
@elmalloc 4 жыл бұрын
just press select, start, a, or B
@doublepmcl6391
@doublepmcl6391 3 жыл бұрын
Do the Konami Code, it will be much easier ;-)
@HistoMagouri
@HistoMagouri 4 жыл бұрын
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 3 жыл бұрын
Fascianating. People from my generation used Sands of Time.
@darkerm76
@darkerm76 4 жыл бұрын
Rewind always remind me of Prince of Persia
@avavii
@avavii 4 жыл бұрын
This? Yes! :D
@ModernVintageGamer
@ModernVintageGamer 4 жыл бұрын
Yeah that was the first time I experienced rewind in a game it was a cool feature
@ic_trab
@ic_trab 4 жыл бұрын
"That's not how it happened"
@ipodguy9
@ipodguy9 4 жыл бұрын
Anyone remember Blinx: the time sweeper
@BenGillam
@BenGillam 4 жыл бұрын
the original or more recent one? fell to my death far too many times back in the day
@JodyAlford
@JodyAlford 4 жыл бұрын
As a programmer, I really appreciate the code snippets as you are walking through the execution. Great video!
@ptakup3
@ptakup3 4 жыл бұрын
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 4 жыл бұрын
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.
@nutter-world
@nutter-world 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@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 4 жыл бұрын
@@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 4 жыл бұрын
@@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 4 жыл бұрын
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.
@BSoDGaming
@BSoDGaming 4 жыл бұрын
Awesome video as always mate.
@amanmittal857
@amanmittal857 4 жыл бұрын
Hey there good to see u here
@epiqboy
@epiqboy 4 жыл бұрын
Oh hi there
@lordAgustin
@lordAgustin 4 жыл бұрын
The king of emulation
@elmalloc
@elmalloc 4 жыл бұрын
Thanks m8, from US of A.
@DavidVerzolla
@DavidVerzolla 3 жыл бұрын
You both rocks.
@theannoyedmrfloyd3998
@theannoyedmrfloyd3998 4 жыл бұрын
Emulators can also be considered as development kits.
@jornthree8881
@jornthree8881 4 жыл бұрын
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 4 жыл бұрын
Not necessarily, but they can be amazing debug tools - especially when developing for older platforms
@dan_loup
@dan_loup 4 жыл бұрын
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 4 жыл бұрын
exactly
@gasparmxm
@gasparmxm 4 жыл бұрын
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 4 жыл бұрын
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)
@nighttimestalker
@nighttimestalker 4 жыл бұрын
I honestly hate anti emulation people. It's a literal necessity now-a-days
@emperorfaiz
@emperorfaiz 4 жыл бұрын
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 4 жыл бұрын
They are just angry that their retro collection lost a lot of value lol
@chairwood
@chairwood 4 жыл бұрын
Fuk u nerd
@nighttimestalker
@nighttimestalker 4 жыл бұрын
@@encycl07pedia- It's literally a necessity for game preservation.
@AzrialAlaria
@AzrialAlaria 4 жыл бұрын
@@mezzb Same here!
@MarcoGPUtuber
@MarcoGPUtuber 4 жыл бұрын
An amazing feature when I realise that *Mistakes Were Made* in my gameplay!
@Altilt
@Altilt 4 жыл бұрын
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 3 жыл бұрын
Exactly what I thought. I've definitely been using it 10 or 15 years back on ZSNES
@GRBtutorials
@GRBtutorials 4 жыл бұрын
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.
@myopiniondoesntmatter7068
@myopiniondoesntmatter7068 4 жыл бұрын
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 4 жыл бұрын
Same with pokemon, that guy walks so slow
@onepunchgirl7152
@onepunchgirl7152 4 жыл бұрын
Same here.
@p3trichor862
@p3trichor862 4 жыл бұрын
@@fryncyaryorvjink2140 Omg the pokemon, I have no idea how people play pokemon on original hardware its like impossible.
@comicsans1689
@comicsans1689 4 жыл бұрын
@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 4 жыл бұрын
@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.
@SullySadface
@SullySadface 4 жыл бұрын
I understood about 5% of this. I finished the video because it's interesting as hell.
@SullySadface
@SullySadface 4 жыл бұрын
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 4 жыл бұрын
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.
@Gods_God
@Gods_God 4 жыл бұрын
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
@MrMario2011
@MrMario2011 4 жыл бұрын
Yes! More emulation techniques videos!
@seanflores3511
@seanflores3511 4 жыл бұрын
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!
@haggisman0812
@haggisman0812 4 жыл бұрын
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!
@chrismarshall4523
@chrismarshall4523 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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_ 4 жыл бұрын
@@kaitlyn__L Incredible comment Kaitlyn, I took a screenshot and will be sure to reference this when I finally get started.
@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
@agatonspik
@agatonspik Жыл бұрын
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.
@gamertygonl
@gamertygonl 4 жыл бұрын
MVG Time!
@deafhobbit
@deafhobbit 4 жыл бұрын
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.
@Psilocervine
@Psilocervine 4 жыл бұрын
This episode, along with the episode on the Game Boy's graphics tools, have been some of my favourites
@MetalJody1990
@MetalJody1990 4 жыл бұрын
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.
@SourCloud
@SourCloud 4 жыл бұрын
Better than YT-Rewind. Nice Episode. I would love a emulation series!
@chrisakaschulbus4903
@chrisakaschulbus4903 4 жыл бұрын
not original, please consider going through the door and never coming back, thank you very much, have a nice christmas my child
@SourCloud
@SourCloud 4 жыл бұрын
@@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 4 жыл бұрын
@@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 4 жыл бұрын
@@chrisakaschulbus4903 No worries my man Happy chistmas!
@johnsimon8457
@johnsimon8457 4 жыл бұрын
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
@dbzkidkev2
@dbzkidkev2 4 жыл бұрын
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!
@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.
@Docs1231
@Docs1231 4 жыл бұрын
You gotta do more of these. This was fantastic
@Wkterr
@Wkterr 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@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 4 жыл бұрын
@@Dannysince1985 Learn to code.
@SerBallister
@SerBallister 3 жыл бұрын
@@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 3 жыл бұрын
@@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.
@Zachism
@Zachism 4 жыл бұрын
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!
@mingusdegeest7162
@mingusdegeest7162 4 жыл бұрын
Life would be so much harder without emulators
@basshead.
@basshead. 4 жыл бұрын
Good for speedrunners.
@milhouse777
@milhouse777 4 жыл бұрын
No doubt, I wouldn't played +80% of all titles that I've played in my life,
@thequake2009
@thequake2009 4 жыл бұрын
The song in the beginning is MVG's own beat! called Race Condition. Damn it's good!!
@TehEpicMuffzor
@TehEpicMuffzor 3 жыл бұрын
I love the technical details you dug into. Been watching you for 2yrs and this is my favorite video
@Viper-py4pg
@Viper-py4pg 4 жыл бұрын
I would definitely love to see more on this topic. You explain these complex tech concepts with clarity and I get to learn things I never thought I’d understand the science behind. Keep up the good work!
@petwisk2012
@petwisk2012 4 жыл бұрын
Pleasse do more emulation Stuff, great vídeo, happy holidays
@kenrickeason
@kenrickeason 4 жыл бұрын
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*
@kenrickeason
@kenrickeason 4 жыл бұрын
@McTurbo1300 LOL!
@kenrickeason
@kenrickeason 4 жыл бұрын
@McTurbo1300 🤷🏿‍♂️🤷🏿‍♂️🤷🏿‍♂️🤷🏿‍♂️😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂
@saje5821
@saje5821 4 жыл бұрын
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!
@Metaphor9696
@Metaphor9696 4 жыл бұрын
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!
@flameshana9
@flameshana9 4 жыл бұрын
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.
@MrNyagasu
@MrNyagasu 4 жыл бұрын
Please do a series on this :)
@veerityvee
@veerityvee 4 жыл бұрын
Absolutely love these in-depth videos. You always present the information in a concise way that is easy to digest and follow along. Thank you, MVG!
@MrAtda
@MrAtda 4 жыл бұрын
Happy holidays MVG! For sure enjoyed this one. I think showing the bits of code and techniques is a great idea for a series.
@GabeSkolnik
@GabeSkolnik 4 жыл бұрын
Definitely like this topic for a series 😁🎮
@justdewitt3758
@justdewitt3758 4 жыл бұрын
this is better than YT Rewind!
@Quiltfish
@Quiltfish 4 жыл бұрын
I mean, not hard, but the sentiment is good.
@logang4eversikehellno140
@logang4eversikehellno140 4 жыл бұрын
DummyFacts
@EastDallasKicks
@EastDallasKicks 4 жыл бұрын
Falco Lombardi yup
@EastDallasKicks
@EastDallasKicks 4 жыл бұрын
Just DeWitt isn’t everything better than that
@sosasees
@sosasees 4 жыл бұрын
@@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.
@sayeghjoe
@sayeghjoe 4 жыл бұрын
This is one of the best videos I've seen about how emulation works. I love your channel. Happy holidays mate.
@FoxxOTG
@FoxxOTG 4 жыл бұрын
I can hear the nostalgia in your voice, you need to do more videos like this. I have been involved with emulation & homebrew dev for a long time and absolutely loved this video concept. As a teen emulation and homebrew was my inspiration and tool kit to learn a myriad of technical skills. I have done content many years ago using emulators to create cheat codes to explain computer number systems, memory, buffers, and using save/load state as a tool to do memory mapping of NES games. It was an easy visual approach toward an abstract and often complex concepts.
@AmyraCarter
@AmyraCarter 4 жыл бұрын
I use rewind on NES, SNES, and GB game emulators. Kinda helps with some things. Happy Yule; may the winter be plentiful, but merciful...
@koopdawhoop.
@koopdawhoop. 4 жыл бұрын
9:00 "So let's move on to rewind" *Gets a KZbin Rewind ad*
@elbachir4395
@elbachir4395 4 жыл бұрын
Thank you very much for making content that presents an aspect and illustrate the technical aspect of it, with actual code example. Great format. I'm really interested in seeing a series of emulation techniques.
@aaronhill3443
@aaronhill3443 4 жыл бұрын
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!
@TheGunmanChannel
@TheGunmanChannel 4 жыл бұрын
Merry Christmas from Australia man.
@jeddunkxyz
@jeddunkxyz 4 жыл бұрын
As someone who's studying Computer Science, I'd love to see this as a series.
@GetVladimir
@GetVladimir 4 жыл бұрын
Thank you so much for creating this video! I had a general understanding how save states work, but had no idea how rewind works. The idea behind it was actually simple yet amazing: make a lot of save states and load them in reverse order. Thank you again for making these videos and wish you a Merry Christmas and Happy Holidays! 🎄
@fernandohernannunez1513
@fernandohernannunez1513 4 жыл бұрын
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.
@HellScream107
@HellScream107 4 жыл бұрын
MVG, I hope someday you become a professor of gaming technology if such a thing exists in the future :D
@marlbear
@marlbear 4 жыл бұрын
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 👌🏼
@kenrickeason
@kenrickeason 4 жыл бұрын
Exactly!! Final Fight SNES version I'm looking at you..
@marlbear
@marlbear 4 жыл бұрын
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!
@vladtomoiaga4721
@vladtomoiaga4721 4 жыл бұрын
I'm excited about the following series on emulation! Merry Christmas, MVG, and a Happy New Year!
@mateixe
@mateixe 4 жыл бұрын
Man awesome content! Loving the show and will love to see more in depth developing details like these! Hugs from Brazil.
@DukenukemX
@DukenukemX 4 жыл бұрын
I'd like to see a video on why Vulkan is so great for emulators.
@taylorwoolston8856
@taylorwoolston8856 4 жыл бұрын
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.
@supersquare
@supersquare 4 жыл бұрын
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!
@donaldredding964
@donaldredding964 3 жыл бұрын
Another great video! I really enjoy the distinct angle your channel has. I know exactly what I'm getting into when I pull up a MVG video.
@BIGwillTHEGAME
@BIGwillTHEGAME 4 жыл бұрын
Good Topic
@primezone416
@primezone416 4 жыл бұрын
Oooooh im early Merry Christmas everyone ;)
@reagandow850
@reagandow850 4 жыл бұрын
What a cool video. So glad you’re around. I see you each week recently in Spawn Cast and you make the hang complete. So glad they have put you on as a regular. Your videos are so thorough and unique. I love ‘em. Keep putting out these amazing video and Merry Christmas MVG!!
@Windex525gmail
@Windex525gmail 4 жыл бұрын
Love this content. As someone with an EE background but no experience with emulation, its great that you are sharing your breadth of experience with the modding and home brew scene. Keep up the great work!!
@manuelvillalta3793
@manuelvillalta3793 4 жыл бұрын
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.
@joshm264
@joshm264 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@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
@SuperSanjuro
@SuperSanjuro 4 жыл бұрын
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.
@kurtg5405
@kurtg5405 4 жыл бұрын
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!
@darek4488
@darek4488 4 жыл бұрын
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.
@diablo888
@diablo888 4 жыл бұрын
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.
@TuffBaddi
@TuffBaddi 4 жыл бұрын
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!
@ktvx.94
@ktvx.94 3 жыл бұрын
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?
@ifi3763
@ifi3763 4 жыл бұрын
"now things can be done in different ways of course, but you certainly get the idea" me: 😶
@stanislav8794
@stanislav8794 4 жыл бұрын
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 4 жыл бұрын
You could watch javidx9 Videos about a NES Emulator Part 1 --> kzbin.info/www/bejne/fGnOqWhshL-Ensk
@themrnobody9819
@themrnobody9819 4 жыл бұрын
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/...
@michaelyapkf
@michaelyapkf 4 жыл бұрын
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.
@ioioio13
@ioioio13 4 жыл бұрын
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.
@timovandam
@timovandam 4 жыл бұрын
Back in 2006 or 2007 I used a NES emulator on my Nintendo DS that had rewind 🤓
@bobafruti
@bobafruti 4 жыл бұрын
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.
@phatboi202
@phatboi202 4 жыл бұрын
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 4 жыл бұрын
Well if I'm being honest I'd say that repair can be as fun as emulation
@fifaworldcup1994
@fifaworldcup1994 4 жыл бұрын
Mine luckily still works.
@phatboi202
@phatboi202 4 жыл бұрын
@@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 4 жыл бұрын
@@fifaworldcup1994 glad it does, it a fat original though?
@fifaworldcup1994
@fifaworldcup1994 4 жыл бұрын
@@phatboi202 Nope. PS2 Slim. The silver model.
@McWickyyyy
@McWickyyyy 4 жыл бұрын
I have been dying to find a channel like this. I’m so fascinated with old games and how the programming and hardware etc for them worked. Awesome channel!!
@RamonMachadoChannel
@RamonMachadoChannel 4 жыл бұрын
Great content as always! Sometimes I stop to think about how savestate works, and I'm glad it was almost like I imagined it was.
@FDCAFOK
@FDCAFOK 4 жыл бұрын
Can't wait till I start to build my own Emulation Station. Got all the games ready. Merry Christmas!
@FDCAFOK
@FDCAFOK 4 жыл бұрын
@@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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
Kryštof Píštěk sounds dope but would a high end pc be able to run them all?
@karliskorlass196
@karliskorlass196 4 жыл бұрын
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 4 жыл бұрын
@@BlindBison 1080p. I get no differene in fps between 1080p and 720p.
@karliskorlass196
@karliskorlass196 4 жыл бұрын
@@BlindBison Yeah, I get 40% GPU usage during gameplay.
@HOWLWOLF
@HOWLWOLF 4 жыл бұрын
An incredible video as always, MVG. Your videos are the kne thing I look forward to every Monday. Emulation would be an incredible series of videos from someone who's written class emulators for the xbox.
@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.
@bitelaserkhalif
@bitelaserkhalif 4 жыл бұрын
I wonder.. what if you can implement hibernate features for one app without shutting down the pc?
@renakunisaki
@renakunisaki 4 жыл бұрын
It's difficult if the app has any files or network connections open. They might not still be there when you resume.
@sonichuizcool7445
@sonichuizcool7445 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@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.
@yuval6508
@yuval6508 4 жыл бұрын
A series on emulation?! PLEASE DO! And as always, thanks for an awesome video with detailed information and interesting analysis. Happy holidays!
@legoboy-ox2kx
@legoboy-ox2kx 4 жыл бұрын
Awesome explanation of how emulation works! This is one of few videos I've seen that does a giod job explaining how an emulator is written.
@mauryj.3415
@mauryj.3415 4 жыл бұрын
My phone is already playing NES, SNES, GENESIS, MASTER SYSTEM, TURBOGRAFX, DREAMCAST, GB, GBA, Gamecube, Wii, Arcade Cabinet games.... EMULATION IS GREAT!
@overlordalfredo
@overlordalfredo 4 жыл бұрын
If you are going to make videos on emulation techniques, please make them more explanatory. I am working within IT for almost 10 years now and I really struggle to follow the steps you are making and what actually happens or what you are doing...
@inlovewithi
@inlovewithi 4 жыл бұрын
I thought the explanation was great. Just simple common sense explanation for what is not supposed to be a tutorial.
@overlordalfredo
@overlordalfredo 4 жыл бұрын
@@inlovewithi yes for this video it's totally okay as it is not meant as a tutorial, but if he is going to make a video about emulation techniques, I would love to have it properly explained. Especially for someone from a non-English country like me, it was too compact in this video to follow.
@kbzonmarko
@kbzonmarko 4 жыл бұрын
Great video man, literally. Awesome content and perfect visual quality!
@pantapdiazho
@pantapdiazho 4 жыл бұрын
I really love your technical approach on these subjects. I've coded for a long time in my life but always wondered how these things worked, you're awesome and your videos are awesome too. ❤️
@Lightblue2222
@Lightblue2222 4 жыл бұрын
Save states is cheating! But Rewinding is just plain sinful! I try to avoid using them, as beating a game fair is more rewarding. But since the option is there, sometimes I just can't help it. Interesting video as always. Gives me a little understanding as to how it works.
@GrandMasterLynx
@GrandMasterLynx 4 жыл бұрын
Save States is good like if you gotta go do something you can save it at anytime or if you wanna speedrun a certain area you don’t need to restart the game over and over just to speed run the area you want to try
@SoundFantasy
@SoundFantasy 4 жыл бұрын
Jurassic Park on SNES benefits from save states.
@Lightblue2222
@Lightblue2222 4 жыл бұрын
@@GrandMasterLynx true. And it's also good for games with password save. So you don't have to re type the long password.
@Lightblue2222
@Lightblue2222 4 жыл бұрын
@@SoundFantasy all games could "benefit" from saves. Especially long ones where your keeping the system on pause for days at a time. Even though these old games are a pain to beat, part of the fun is doing it over and over again to improve muscle memory and get a little further each time. When I beat a game it feels like it's over. But when I lose it keeps me coming back for more. It's hard to "Save Responsibly". Since it takes a certain amount of will power to re-start. There are some games I don't think I would have beaten without save states. I remember back in the day I used a Game Genie to beat Vectorman and instead of the ending it said "Next time don't cheat!" . Blew my mind that it knew hehe.. But with today's save states it hasn't a clue lol.
@GrandMasterLynx
@GrandMasterLynx 4 жыл бұрын
LightBlue2222 for sure
How Graphics worked on the Nintendo Game Boy | MVG
12:56
Modern Vintage Gamer
Рет қаралды 524 М.
The 2011 PlayStation Network PSN Hack - What Really Happened? | MVG
13:37
Modern Vintage Gamer
Рет қаралды 440 М.
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 7 МЛН
ПЕЙ МОЛОКО КАК ФОКУСНИК
00:37
Masomka
Рет қаралды 10 МЛН
Software Emulators vs FPGAs
27:08
What's Ken Making
Рет қаралды 267 М.
Secrets of the Original Xbox DVD Playback Kit | MVG
10:31
Modern Vintage Gamer
Рет қаралды 474 М.
Emulators as Fast As Possible
4:53
Techquickie
Рет қаралды 490 М.
Full Speed PlayStation 1 emulation in 1999 - Connectix Virtual Game Station | MVG
12:27
Eek! Emulation! - Scott The Woz
19:05
Scott The Woz
Рет қаралды 3,4 МЛН
If you think emulators are illegal, you're wrong
9:33
Polygon
Рет қаралды 205 М.
How Graphics worked on the Nintendo Game Boy Color | MVG
13:33
Modern Vintage Gamer
Рет қаралды 435 М.
StarForce - The PC CD-ROM DRM that broke your Computer | MVG
14:38
Modern Vintage Gamer
Рет қаралды 531 М.
How we fit an NES game into 40 Kilobytes
12:04
Morphcat Games
Рет қаралды 3,5 МЛН
Secrets of the Nintendo Game Boy Boot Logo | MVG
11:52
Modern Vintage Gamer
Рет қаралды 535 М.
60* Satisfying minecraft pixel art #shorts #gaming #sandart
0:31
LEGENDARY MUTATION EGG?! #brawlstars #legendary #starrdrop #mythic #viral
0:23
LEGENDARY MUTATION EGG?! #brawlstars #legendary #starrdrop #mythic #viral
0:23