I just recently discovered that PC Master Race reddit thread where that absolute doofus changed his Xbox Alpha Tower into a "Master Race" PC, and saw that you replied on there. I'm sorry to reawaken horrid memory's of that absolute blunder, But I MUST know if anything came of that. Were people able to recover anything from the 20 GB of data on the Hard Drive that the absolute Baboon wiped?
@@ATSNorthernMI Does the Xbox 360 have this reboot command (I don't see how it could, because the user can interact with the Guide at all times)? I ask because the 360 only has 512 MB of RAM, yet in my many hours of playing vanilla Oblivion on it, I've only had maybe 2 crashes, and one I recall was on a loading screen and could've been a disc read problem.
I was working at Microsoft when OG Xbox was launched. A LOT of games reboot between levels. It provided a quick way to clean up memory, and let developers use PC code where PC memory management was more lenient which could be VERY fragmented and/or not free all allocations.
That is very interesting. As a kid a loved playing on the GameCube for its friendly carefree feeling but when it came to the Xbox it felt like a futuristic beast of a machine. Anytime I held the controller or played a game on the system I felt like I was doing something special. I can't describe it but the original Xbox gives off this strange aura. It felt futuristic powerful like it meant business but also wanted to have a good time.
The launch PAL copy came with a sheet of paper which detailed two bugs and what the player had to do to go around them (one was the world map being totally black).
@Android's Let's plays Correction: This USED to be a very Bethesda thing to do. Nowadays the bug will still be there but they'll ban your profile if you report it on their forums...
@@aweigh1010 yeah, first time i've ever seen one of these failsafes! Interestingly keeping the switch/game on/slept increases the chances of it happening too!
You mean BotW actually runs out of memory sometimes? I would've thought it has lots of free RAM all the time, considering that the likes of GTA V could run on 512 MB. Although there could be some fancier stuff going on, which I didn't think of... I mean, the load times are fast enough that it must be holding the world inside and outside the shrines at the same time, for one.
Hilarious, not to mention clever, if true. I always thought it was a little suspect that I was seeing blood moons in such wildly varying intervals when I played BotW on my Switch. Now I'm playing in Cemu with extended memory enabled, and I hardly ever see them.
Wow that reboot explains a lot. I used to just play guitar in my load screens as a kid they were easily 10 minutes + in my late game world with a million things all over the ground.
Not necessarily. Xbox being essentially a modified Windows 98 PC with DirectX was critical to allowing PC ports that would have been insurmountable full ports. Half Life 2 for example. There'd be no way to get that game running on GCN/PS2. Since the game was likely patched and tuned for the Xbox from the Windows version, which has access to a lot more resources like swap files, things had to be done to deal with inevitable memory limitations. Plus, I think PC crashes were far more expected or culturally acceptable for games than on console, where a crash is unforgivable.
@@GiuseppeGaetanoSabatelli - Nope. the 'OS' on the xbox was nothing like Windows 98 (it was based on Windows 2000) - the ONLY reason you saw games like Half Life 2 on the OG XBOX? was because it was significantly more powerful than the other consoles at the time. 733MHz x86 processor with 64Mb of memory - PS2? 295MHz MIPS (RISC) with 32Mb and significantly less powerful GPU. It had nothing to do with similarity to the PC - the OG XBOX was simply the only console at the time powerful enough to run it.
As a casual computer science nerd, I really appreciate how well you explain what's going on. I know enough to understand logic loops and the like, and you do a fantastic job of scaffolding up from the base of knowledge. Thanks!
I think Pokemon Sun/Moon and Ultra do those too, I've noticed the 3DS has an extended load, home, and application close, its almost like the 3DS is rebooting or something to load a custom kernel or something to free up extra memory.
This happens to boot the game into an extended memory mode on old 3DS consoles, limiting some functions of the home menu etc to free up more memory for the game application. This doesn't happen on new 3DS as these games just use the standard memory mode on those systems as they have more to begin with.
Didn´t Oblivion had such function on the 360 if you held down the "A" Button when you boot up the Game? I did that a few times back then and it significantly improved the Gameplay stuttering. I think it´s documented somewhere, i have to research it.
Oblivion kept a hard drive cache to help loading and such. Sometimes the data can get spread around the drive and cause long/infinite loading times. Holding the button while booting forces the game to make a new cache. It isn't necessary to do this every time you play, but if you're running into issues, it's definitely something to try!
@@ghost.8836 Indeed they did, Valve despised the PS3 for a while and eventually Gabe made a public make up when on stage at.. I think it was E3 announcing Portal 2 for the system, but they let EA handle all of their Playstation 3 ports.
Fun fact: Morrowind was on the same engine as Dark Age of Camelot, which is an MMO from Mythic Entertainment (now Broadsword Entertainment, which is owned by EA)
@@adam1984pl man.. I know we all have different tastes but have you played it through? The game is so full of cleverness it’s a puzzle cube sometimes...for those that go looking.
Hey, MVG, I just want to say thanks for what you do. I love all the gaming news and reviews that all the other channels give me. However, your unique content really fills this "gaming +" void and as my gaming knowledge grows, you're always there to show what keeps making the hobby fascinating. So thanks, mate!
I have been watching your stuff for quite a long time. But now I am pursuing my bachelor's in computer science and for the first time I understood each and every memory related term you used. And damn it felt good.
Hope you do some combinational logic circuit stuff like we do in Computer Engineering. Seeing what exactly goes into a building register (and doing timing diagrams and stuff) or I/O or just a basic flip flop really gives you a new appreciation for computers.
@@MrValsung Ooh. That's a good one. All our stuff is from lecture notes. I'd say look up digital electronics tutorials online. Allaboutcircuits seems to have a good thing for it on their website.
I wouldn't have even questioned this rumor after playing it, and watching as the game crumbled under itself if you liked to drop things on the floor. This game needs as much space as possible at all times. At least the GOTY edition tried to save your data before it crashed. Launch version / greatest hits version? not so much. But not having a good computer at the time... This game alone made the Xbox worth it.
I heard the reboot trick was used for Deus Ex Invisible War due to memory leak issues. So, instead of fixing them, they soft-rebooted the console on each level change.
Even the pc version does that. It drops back to the desktop every level load for a moment before reopening itself. Its a pretty obvious console port...
I did enjoy this a lot man! It's intriguing to think about. It's something counter intuitive, something we gamers never really suspected was occurring. We weren't even aware this was a concept until now. Bravo presentation
I played hundreds of hours of Morrowind when it came out on Xbox. Staying up late. Best friend staying the night. Then jumping on Champions of Norrath on PS2 and then over to Phantasy Star Online.
I love when you have technical videos like this. I have a software background but never got much into game development, homebrew development, etc but always wish I did more. It’s really entertaining watching how you work and also explain it well.
I remember reading about this in the big interview about the history of Morrowind's development. The XBox developers were horrified by this hack. In retrospect it's a bit rich of them given what I've heard of the hacks that used to go into Safe Mode. One of the goals of Safe Mode was to make every attempt to work. If you've got a bug in your Mouse or Keyboard drivers though you're unable to do anything to fix the problem. Though the keyboard and mouse work during the BIOS so you can select the boot options. Back when USB keyboards and mice were new drivers would often be a problem, but the BIOS had to make them work so they have emulation to make USB look like PS/2. So it'd be convenient if we could get the BIOS to do that, right? Well, you can't just jump back into the BIOS. intel CPUs used to for compatibility reasons go from running in an 8-bit mode, through 16-bit until 32-bit, the BIOS runs in 8-bit mode and there's no instructions to go back. So… the Windows developers did something terrifying, they worked out a way to reboot the CPU. I don't understand all of the details, but the CPU has "fault handlers" for certain conditions, "page fault" is the one people may be most familiar with. They have the CPU jump into a bit of code to handle it, and store the address to return to in a register. There's a "double-fault" where something happens while handling a fault, but you've only got a limited number of registers, so a "triple-fault" exists for if you're faulting while handling a fault in a fault handler, which resets the CPU as unrecoverable. Memory maps aren't set-up on boot, boot code is expected to set it up, so Windows developers set up the memory maps to include code that would make operating system calls in BIOS mode for input or output then bootstrap back up into 32-bit mode and return to the Windows OS.
Holy shit. "Hey, people might have problems with USB. Let's error the CPU out until it completely crashes, then have it do what we'd call a warm boot attack if anyone but us did it."
@@Alzter0 It's when you use an exploit that runs your payload from a "warm boot," when you start a computer that's already partially started (like choosing Restart from the Windows Shut Down menu - your computer doesn't go completely off before it starts again).
@@angolin9352 It's only called an "attack" when done maliciously so as to not scare the laymen who don't know how to computer. Nobody's suing the guys who made the online patches for Ratchet and Clank III for utilising an RCE exploit to push the patches in a game not made to support updates of any kind.
3DS games which require more memory on original models do exactly this, such as Super Mario Maker and Super Smash Brothers. It takes longer to shut them down too as the entire system quietly reboots in order to have enough resources to return to the home menu.
This could have been totally avoidable by making the power button actually turn off the system instead of sending you to the home menu, then making you press it again, then making you tap on the "Yes, I'm sure I want to actually turn it off" button. Dear Microsoft, Sony, and Nintendo: I want my system off when I'm not playing games. I don't want it in sleep mode. If there's a game in the disk tray/cartridge slot, I want to boot straight to the game, not into a menu. You make devices purpose-built to play games on, why is it harder to play games on your devices now than it was 20 years ago?
Todd Howard very justifiably gets a lot of flack but I appreciate that he's still a game dev. Lots of gaming execs out there who aren't and don't understand the ins and outs of the job (AHEM CDProjekt)
Thats an unfair comparison. Cdpr also has a ton of front facing actual devs. Maybe watch an interview with miles tost or phillip weber. Todd howard isnt a corporate executive.
I wasn’t even expecting a new vid this early but I’m happy to see it. Anything about the OG Xbox is always interesting. It’s honestly still my favorite way to play morrowind with the pressure sensitive buttons and the weird look it has. Thank you!
Lots of games did this on Xbox. It was usually quicker to do a soft hidden reboot than to clean up all your memory (and safer too as it was guaranteed to give you non fragmented memory afterwards)
I have literally no idea what all the technical stuff is. That part of my brain doesn't seem to work....but I watch every one of your videos and love them.
Is your Real MVP podcast dead? Or just on extended hiatus? I see you haven't posted an episode in almost a year. I really enjoyed it and wish it would return.
I'll be honest, the OG Xbox never interested me much at the time. I'm still not super interested in it, but I find some of the things people do with them to be pretty interesting.
Dude, since I heard about this from Todd Howard I was so curious how it works in practice, how it's possible that gamer doesn't even know that the console is reeboting during loading. Thanks man!
Ah the Creation Engine. All that time Bethesda have spent later in it's life trying to keep it alive and work around it's many weaknesses might have been better spent migrating to something that wasn't such an albatross. Great explanation of stealth rebooting on the ORIGINAL Xbox. I had no idea it was even possible.
Man, your channel is amazing, thanks for supporting my curiosity and giving great advice, BTW you're also the reason I got a N2DS after that amazing homebrew beast episode, currently on a breath of fire 3 playthrough through retroarch, keep up the great work!
I theorize that the reboot on new game was likely utilized if the player had quit back to the main menu, then started a new game hence the memory needing to be cleared out. I am thinking this, since it could be quite possible that starting a new game file doesn’t make a call to the standard load function, which means the Xbox wouldn’t reboot itself when it should. Alternatively it could be that the Devs really just wanted every new game to start with “fresh” memory. Either way super interesting stuff and glad you covered it!
Hey, you said in one of the spawncasts you have a degree in computer science and math, it’s really shows in these videos. The work you put into these for us is incredible :)
I think the entire point is that it _isn't_ like a save state in emulators - it's just loading from an ordinary save game file. Loading from a save state wouldn't free any memory which is the entire point of doing this.
Mario Kart 64 is a bit similar. Whenever you load a level it resets the game to a clean slate, preserving only a few variables for the overall game state. It's not a complete reboot (the OS is still initialized only at power on) but it's pretty close. The game also doesn't do any memory allocation during play. It just has static arrays for items and such. It has malloc but no realloc or free - it just discards everything when it resets. Also fun, the levels in ROM are pretty much just compressed memory dumps for the most part. So loading is really quick and simple. No preprocessing, just copy some files into memory and run! (There are some exceptions though.)
Love how this was used to reveal the Indiana Jones game without anybody noticing. Watch how he leans to the left to give his cam a full view of the Indy items in his shelf, while dropping keywords like Xbox and Reboot. That's why everybody is laughing, because they know what he is doing.
MVG: "As you can see..." Me: Nope, I don't see anything. 😔 MVG: "You can already tell..." Me: Nope, still can't but after watching it twice I can. 😆 Great explanations on this topic! It really was easy to follow.
it reboots when a new game is started, as well as if the game is left in it's attract mode. There was a requirement that games can be left running across hardware lots, for X amount of time, and most games solved their issues with this requirement by rebooting at the end of the attract cycle. What you are also finding is that the game also will reboot, sending itself data of WHY ( a reason code parameter ), when leaving the attract/boot sequence, and transitioning into gameplay, getting memory in it's best situation...
IDA Pro and Hex Rays will set you back. Still one of the very best tools around but I was dissaponted their IDA Home plans were so restrictive to hobbyists.
Ghidra gets better and better though. Last update fixed a bug that made it much more usable for me. Yes its a bit slower in everything but its not a deal breaker. (even has some features that Ida doesn't have out of the box.) Anyways! Most ppl using ida pro on UA-cam cracked it! did MVG?!? :D
@@halofreak1990 I don't think I am advanced enough to see why ida is superior. Had the opportunity to try out Ida pro (at a friends house ;) ) but can't really see how its worth the money or better in a nameable way. But maybe its just because you used ida in the past and can afford it :) nobody likes change tbh.
thank you for doing the break down. this has also been on my mind since todd howard mentioned it! and I was so happily surprised to see you were actually doing this video!
My copy of morrowind was randomly crashing with that annoying buzzing sound on my original Xbox, but I may or may not have found a solution. It's a little too early to be sure about this, but ever since I stopped leaving the world map open, it hasn't crashed on me yet. Like when you push B to bring up the menu (I'll call it the B menu from now on) and then push L or R to go to the map and then push A to switch it to the world map. I would always close the B menu while the world map was open so I could look at it quickly whenever I needed to, but the game would randomly crash, sometimes frequently. However, in the 17 years I've had this game it has NEVER crashed on me while I was in Mournhold, and it might be because Mournhold doesn't have a world map. So yesterday I decided to always scroll to the inventory screen before closing the B menu and it hasn't crashed on me since. Just to play it safe, I always switch to the local map first before scrolling to the inventory screen and then closing it. After that, I played it for about 24 hours (12 hours yesterday and 12 hours today) without a single crash. Still though, it's too early to know for sure. It's possible that I just got lucky. Only time will tell.
this is quite old so I don't know if you will see this or if you know already but Search->Text in IDA searches the entire disassembly instead of just strings, you can do Shift+F12 or View->Open Subviews->Strings and then Ctrl+F to look through strings in the executable, you might also want to Right Click->Setup and choose more allowed string types such as unicode. This will be much faster and better
ty for this explanation. as a non coder my self. i always wondered how they did it. i remember playing morrowind on the xbox a lot. i do remember that sometimes when entering a cave the game would freeze for a second or two. always wondered why it did it.
This strikes me as the same problem Unity consistently runs into. That the engine is so flexible, and has so many variables that it sacrifices efficiency in that process. I'd be curious to find out if the Devs tried "and failed" to find a more astute way of clearing the memory. Particularly considering it was their own Creation Engine they where using.
I am just happy that I finally know why some of the loading screens were much longer than others. I had always assumed it was loading in chunks of the world.
Super cool video! The only thing I'm still struggling to wrap my head around is how the screen doesn't turn black while it's doing the soft reboot. The loading screen is seamless (for the time and circumstances, that is!)
After weeks of modding Morrowind, I'm expecting to finally be finished and be ready to start a playthrough. How timely I see this video in my feed from "3 minutes ago". O.o
Always knew about this, but VERY nice to see a deep dive into the process... We're missing these kinds of things with super powerful systems... Less creativity, and some of these workarounds end up benefitting the entire industry by introducing programming efficiencies... Thanks for the great videos and work...
Awesome detective work on this! A fun test might be setting those "No Reboot on New/Load Game" values to 1 to see how consistently the game crashes.
indeed. also love your vids. they have helped me a lot in softmoding and messing with hardware on various consoles ;)
Even on PC, vanilla Morrowind and Oblivion crashed like crazy.
Prob as consistently as unpatched Skyrim on PS3.
I just recently discovered that PC Master Race reddit thread where that absolute doofus changed his Xbox Alpha Tower into a "Master Race" PC, and saw that you replied on there.
I'm sorry to reawaken horrid memory's of that absolute blunder, But I MUST know if anything came of that. Were people able to recover anything from the 20 GB of data on the Hard Drive that the absolute Baboon wiped?
@@ATSNorthernMI Does the Xbox 360 have this reboot command (I don't see how it could, because the user can interact with the Guide at all times)? I ask because the 360 only has 512 MB of RAM, yet in my many hours of playing vanilla Oblivion on it, I've only had maybe 2 crashes, and one I recall was on a loading screen and could've been a disc read problem.
I was working at Microsoft when OG Xbox was launched. A LOT of games reboot between levels. It provided a quick way to clean up memory, and let developers use PC code where PC memory management was more lenient which could be VERY fragmented and/or not free all allocations.
That is very interesting. As a kid a loved playing on the GameCube for its friendly carefree feeling but when it came to the Xbox it felt like a futuristic beast of a machine. Anytime I held the controller or played a game on the system I felt like I was doing something special. I can't describe it but the original Xbox gives off this strange aura. It felt futuristic powerful like it meant business but also wanted to have a good time.
@@cyclops8238 to me, it was just a really cool system at the time, coming from N64 and SNES
I thought you were doing Dirty Sanchez show on MTV 😁.
@@shadowrage2593 Nope, that was some cheap imposter :D I was busy making games like 'Age of Empires'
@@MattPritchardOfficial What other OG Xbox titles you woked on?
The launch PAL copy came with a sheet of paper which detailed two bugs and what the player had to do to go around them (one was the world map being totally black).
@Android's Let's plays Correction: This USED to be a very Bethesda thing to do. Nowadays the bug will still be there but they'll ban your profile if you report it on their forums...
@@Darkdaej lol
@Android's Let's plays Now they just say "what do you mean nothing wrong with the game, would you like some MTX?"
I wanna see some footage please
Remember in daggerfall 1.07.213 when bethesda enabled a hotkey to teleport you to your last coordinates? In case you actually drift off the map.
"It's called memory management"
That was a sick burn lol
on himself.
@Leanja He’s a male Ellen annoying and obnoxious
It was called avoiding proper memory management and just soft rebooting the system instead, lol.
I don’t get it how was that a burn
@@Ma1q444he’s saying Bethesda doesn’t know how to make a game right
Breath of the Wild forces a panic blood moon if the game runs out of memory/anything goes wrong too! Resets the state of the world.
@@aweigh1010 yeah, first time i've ever seen one of these failsafes! Interestingly keeping the switch/game on/slept increases the chances of it happening too!
It has memory bleed!
Oh wow, it's an actual in-world error handler that follows lore. It's not like Sonic Blast's "You found the secret cheat menu!" error handler.
You mean BotW actually runs out of memory sometimes?
I would've thought it has lots of free RAM all the time, considering that the likes of GTA V could run on 512 MB.
Although there could be some fancier stuff going on, which I didn't think of... I mean, the load times are fast enough that it must be holding the world inside and outside the shrines at the same time, for one.
Hilarious, not to mention clever, if true. I always thought it was a little suspect that I was seeing blood moons in such wildly varying intervals when I played BotW on my Switch. Now I'm playing in Cemu with extended memory enabled, and I hardly ever see them.
This *was* geeky and technical, but that's why we're here!
Also very vintage, yet modern!
Is being geeky a problem MVG? :)
The most shocking part is Todd Howard telling the truth,
He was 16x more accurate in this statement than normal.
@@renewagain6956 16 times zero is still zero!
Tell me lies, tell me sweet little lies
Rebooting: it just works.
You only needed to wait 20 years. I 2026 he will admit how much of a scam the horse armor was.
MVG....Answering the questions we didn't even know needed answering!
I love this channel!
Bruh i didn't even know about this but i glad he just show this and explain it very well
Todd told us the answer months ago
So garbage collection sucks at its job so memory leak?
Someone needs to fix the broken ass depth buffer.
Wow that reboot explains a lot. I used to just play guitar in my load screens as a kid they were easily 10 minutes + in my late game world with a million things all over the ground.
"Todd Howard's information was correct."
Now that's something you don't hear every day!
It just works
Tell me lies, tell me sweet little lies...
16 times the reboot
He really hasnt lied as much as the internet claims he has. No clue why this meme is so popular.
He isn't really much of a liar. He just embellishes the truth. Most of what he says is "technically correct".
This is fantastic!
You should DEFINITELY continue with more of these investigative videos. It's so entertaining seeing an expert do what they do best!
Absolutely
Agreed. Most of this is slightly above my skill level but fascinating just the same.
Soft rebooting a console rather than fixing their memory management is a very Bethesda thing to do.
Edit: Gosh, this blew up
@Obsidian Rose lol
I mean yeah. But on the other hand, with how much memory Xbox had, I'm sure this big RPG game wouldn't be possible on the system otherwise...
The problem wasn't so much running out of memory - but running out of continuous blocks of free space. Morrowind is a fragmentation nightmare.
Not necessarily. Xbox being essentially a modified Windows 98 PC with DirectX was critical to allowing PC ports that would have been insurmountable full ports. Half Life 2 for example. There'd be no way to get that game running on GCN/PS2. Since the game was likely patched and tuned for the Xbox from the Windows version, which has access to a lot more resources like swap files, things had to be done to deal with inevitable memory limitations.
Plus, I think PC crashes were far more expected or culturally acceptable for games than on console, where a crash is unforgivable.
@@GiuseppeGaetanoSabatelli - Nope. the 'OS' on the xbox was nothing like Windows 98 (it was based on Windows 2000) - the ONLY reason you saw games like Half Life 2 on the OG XBOX? was because it was significantly more powerful than the other consoles at the time. 733MHz x86 processor with 64Mb of memory - PS2? 295MHz MIPS (RISC) with 32Mb and significantly less powerful GPU.
It had nothing to do with similarity to the PC - the OG XBOX was simply the only console at the time powerful enough to run it.
As a casual computer science nerd, I really appreciate how well you explain what's going on. I know enough to understand logic loops and the like, and you do a fantastic job of scaffolding up from the base of knowledge. Thanks!
I do remember Nintendo doing a similar thing for Super Smash Brothers for 3DS.
Yep remember reading about that somewhere, that even you can hear the click when that happens
I think Pokemon Sun/Moon and Ultra do those too, I've noticed the 3DS has an extended load, home, and application close, its almost like the 3DS is rebooting or something to load a custom kernel or something to free up extra memory.
This happens to boot the game into an extended memory mode on old 3DS consoles, limiting some functions of the home menu etc to free up more memory for the game application. This doesn't happen on new 3DS as these games just use the standard memory mode on those systems as they have more to begin with.
Monster Hunter 4 did too. The textures are also lower res on the OG 3DS cause of RAM. The web browser was pretty potato anwyays, worth the RAM.
@@lwvmobile first time I tried to close ultra sun I thought my 3DS was about to shit the bed.
Didn´t Oblivion had such function on the 360 if you held down the "A" Button when you boot up the Game?
I did that a few times back then and it significantly improved the Gameplay stuttering. I think it´s documented somewhere, i have to research it.
Oblivion kept a hard drive cache to help loading and such. Sometimes the data can get spread around the drive and cause long/infinite loading times.
Holding the button while booting forces the game to make a new cache.
It isn't necessary to do this every time you play, but if you're running into issues, it's definitely something to try!
This would have been very handy for Skyrim on PS3 back in the days
I read they used a method of dipping into the 256mb system ram to help run the ps3 releases. Dunno if that's accurate though.
@Go Eagles A bunch of developers said the PS3 was really limited, so I'm not sure if it's their fault.
@Go Eagles I've heard that Valve had their complaints on the PS3 while porting The Orange Box to the platform.
That's why I said that it was limited, but still, thanks.
@@ghost.8836 Indeed they did, Valve despised the PS3 for a while and eventually Gabe made a public make up when on stage at.. I think it was E3 announcing Portal 2 for the system, but they let EA handle all of their Playstation 3 ports.
The 'rebooting during a new game' is most likely set in case someone makes a new character after playing awhile
Which given that Morrowind is what caused my Alt-aholism, is precisely what I would do a lot.
This level of technical detail is why I love this channel, keep up the good work! :)
Fun fact: Morrowind was on the same engine as Dark Age of Camelot, which is an MMO from Mythic Entertainment (now Broadsword Entertainment, which is owned by EA)
The music in that game was so good.
for me Oblivion has the best music by far in the series
yes
Its only good thing anout ths game.
@@adam1984pl man.. I know we all have different tastes but have you played it through? The game is so full of cleverness it’s a puzzle cube sometimes...for those that go looking.
@@adam1984plDifferent strokes lol, some people like games like kotor and tes3 and others like twitch shooters ;p
Bethesda: "We can't do memory management so let's just turn the system off and on again."
Microsoft: "Wanna join our family?"
Hey, MVG, I just want to say thanks for what you do. I love all the gaming news and reviews that all the other channels give me. However, your unique content really fills this "gaming +" void and as my gaming knowledge grows, you're always there to show what keeps making the hobby fascinating. So thanks, mate!
I have been watching your stuff for quite a long time. But now I am pursuing my bachelor's in computer science and for the first time I understood each and every memory related term you used. And damn it felt good.
Maybe you should get a job at Bethesda writing memory managers ;)
Hope you do some combinational logic circuit stuff like we do in Computer Engineering. Seeing what exactly goes into a building register (and doing timing diagrams and stuff) or I/O or just a basic flip flop really gives you a new appreciation for computers.
@@BonJoviBeatlesLedZep anywhere online I could learn about this stuff for myself; or an introductory text on the subject?
@@MrValsung Ooh. That's a good one. All our stuff is from lecture notes. I'd say look up digital electronics tutorials online. Allaboutcircuits seems to have a good thing for it on their website.
These reverse engineering and porting for the OG Xbox are my absolute favorites!
well that does sound like bethesda thing to do
I wouldn't have even questioned this rumor after playing it, and watching as the game crumbled under itself if you liked to drop things on the floor. This game needs as much space as possible at all times. At least the GOTY edition tried to save your data before it crashed. Launch version / greatest hits version? not so much.
But not having a good computer at the time... This game alone made the Xbox worth it.
I heard the reboot trick was used for Deus Ex Invisible War due to memory leak issues. So, instead of fixing them, they soft-rebooted the console on each level change.
This would explain why that game loved to hang at loading screens.
Even the pc version does that. It drops back to the desktop every level load for a moment before reopening itself. Its a pretty obvious console port...
@@thegearknob7161 Same with Thief: Deadly Shadows
@@thegearknob7161 wait until you hear about the memory management trick that X-Com UFO Defence used...
I had met Michael McDonald from Day One Studios before and he said that the original Mech Assault used this trick as well.
An interesting trick to clean up memory fragmentation
They could have also just used SLAB allocators.
MVG PLEASE do more Xbox SDK deep dives. There's so little content on this and you're our only hope!
I did enjoy this a lot man! It's intriguing to think about. It's something counter intuitive, something we gamers never really suspected was occurring. We weren't even aware this was a concept until now. Bravo presentation
"Todd Howard is very much 100% accurate with words"
Todd Howard - "IT JUST WORKS!"
I played hundreds of hours of Morrowind when it came out on Xbox. Staying up late. Best friend staying the night. Then jumping on Champions of Norrath on PS2 and then over to Phantasy Star Online.
I love when you have technical videos like this. I have a software background but never got much into game development, homebrew development, etc but always wish I did more. It’s really entertaining watching how you work and also explain it well.
I remember reading about this in the big interview about the history of Morrowind's development. The XBox developers were horrified by this hack.
In retrospect it's a bit rich of them given what I've heard of the hacks that used to go into Safe Mode.
One of the goals of Safe Mode was to make every attempt to work. If you've got a bug in your Mouse or Keyboard drivers though you're unable to do anything to fix the problem.
Though the keyboard and mouse work during the BIOS so you can select the boot options. Back when USB keyboards and mice were new drivers would often be a problem, but the BIOS had to make them work so they have emulation to make USB look like PS/2. So it'd be convenient if we could get the BIOS to do that, right?
Well, you can't just jump back into the BIOS. intel CPUs used to for compatibility reasons go from running in an 8-bit mode, through 16-bit until 32-bit, the BIOS runs in 8-bit mode and there's no instructions to go back.
So… the Windows developers did something terrifying, they worked out a way to reboot the CPU. I don't understand all of the details, but the CPU has "fault handlers" for certain conditions, "page fault" is the one people may be most familiar with. They have the CPU jump into a bit of code to handle it, and store the address to return to in a register. There's a "double-fault" where something happens while handling a fault, but you've only got a limited number of registers, so a "triple-fault" exists for if you're faulting while handling a fault in a fault handler, which resets the CPU as unrecoverable.
Memory maps aren't set-up on boot, boot code is expected to set it up, so Windows developers set up the memory maps to include code that would make operating system calls in BIOS mode for input or output then bootstrap back up into 32-bit mode and return to the Windows OS.
Holy shit. "Hey, people might have problems with USB. Let's error the CPU out until it completely crashes, then have it do what we'd call a warm boot attack if anyone but us did it."
@@angolin9352 what's a warm boot attack?
@@Alzter0 It's when you use an exploit that runs your payload from a "warm boot," when you start a computer that's already partially started (like choosing Restart from the Windows Shut Down menu - your computer doesn't go completely off before it starts again).
@@angolin9352 It's only called an "attack" when done maliciously so as to not scare the laymen who don't know how to computer.
Nobody's suing the guys who made the online patches for Ratchet and Clank III for utilising an RCE exploit to push the patches in a game not made to support updates of any kind.
it was without a doubt "geeky and technical" but you explained it PERFECTLY. nice job my man! 100%
THE MUSIC /me gets chills :'(
3DS games which require more memory on original models do exactly this, such as Super Mario Maker and Super Smash Brothers. It takes longer to shut them down too as the entire system quietly reboots in order to have enough resources to return to the home menu.
This could have been totally avoidable by making the power button actually turn off the system instead of sending you to the home menu, then making you press it again, then making you tap on the "Yes, I'm sure I want to actually turn it off" button.
Dear Microsoft, Sony, and Nintendo: I want my system off when I'm not playing games. I don't want it in sleep mode. If there's a game in the disk tray/cartridge slot, I want to boot straight to the game, not into a menu. You make devices purpose-built to play games on, why is it harder to play games on your devices now than it was 20 years ago?
Todd Howard very justifiably gets a lot of flack but I appreciate that he's still a game dev. Lots of gaming execs out there who aren't and don't understand the ins and outs of the job (AHEM CDProjekt)
Thats an unfair comparison. Cdpr also has a ton of front facing actual devs. Maybe watch an interview with miles tost or phillip weber. Todd howard isnt a corporate executive.
@@Jereb343 Had. While making Cyberpunk 2077, CD Projekt RED went full DEI, much like everyone else.
Can't think of witty comment. Too busy reinstalling Morrowind.
Don't forget OpenMW and possible Morrowind Rebirth mod
Now this is a rumor i can sink my fangs into
Its not a rumor
You decompiling an old Xbox game and poking around the exe and the documentation is just amazing and very instructing, please do more of those!!
I wasn’t even expecting a new vid this early but I’m happy to see it. Anything about the OG Xbox is always interesting. It’s honestly still my favorite way to play morrowind with the pressure sensitive buttons and the weird look it has. Thank you!
That's the kind of content we need on UA-cam. Well researched, nicely explained, awesome and unique. Thanks!
Just got a sudden urge to play morrowind my god I'd be happy if they ported this to the switch.....my gaming life would be complete
I agree, I used the open morrowind port on the switch but my save would always be deleted on reboot
I love the xbox classic development kit! but over 2000€ is crazy money
I enjoy your level of "geeky and technical" a lot. I find guided code reading very helpful.
Lots of games did this on Xbox. It was usually quicker to do a soft hidden reboot than to clean up all your memory (and safer too as it was guaranteed to give you non fragmented memory afterwards)
This was another great video! Enjoyed it
Dude the vid was uploaded one minut ago
@@QuiveringQuasar solid point
I have literally no idea what all the technical stuff is. That part of my brain doesn't seem to work....but I watch every one of your videos and love them.
Your brain is fine. You're just lacking the software engineering basics.
Is your Real MVP podcast dead? Or just on extended hiatus? I see you haven't posted an episode in almost a year. I really enjoyed it and wish it would return.
As a game dev, I love those debug videos! It's cool to see the in and outs of old code and the "secrets" they hold. Do more of these if you like!
*_The first time I saw Morrowind played on an Xbox, I knew the Xbox was the best console of that generation._*
I'll be honest, the OG Xbox never interested me much at the time. I'm still not super interested in it, but I find some of the things people do with them to be pretty interesting.
Dude, since I heard about this from Todd Howard I was so curious how it works in practice, how it's possible that gamer doesn't even know that the console is reeboting during loading. Thanks man!
Ah the Creation Engine. All that time Bethesda have spent later in it's life trying to keep it alive and work around it's many weaknesses might have been better spent migrating to something that wasn't such an albatross.
Great explanation of stealth rebooting on the ORIGINAL Xbox. I had no idea it was even possible.
This is the type of content depth why I'm subbed to you MVG. Loved the vid, awesome work!
A timeless lesson: Always check the config file lol
THUNDERDOOOOOOOME 👌🏽
Be careful modifying the config wil break the game and you will end up with a mess comparable to n64 graphics.
@@HARDBEATZZZZ My favorite Tina Turner song.
Man, your channel is amazing, thanks for supporting my curiosity and giving great advice, BTW you're also the reason I got a N2DS after that amazing homebrew beast episode, currently on a breath of fire 3 playthrough through retroarch, keep up the great work!
The craziest part about Todd Howard to me is how close his voice is to James Arnold Taylor's. AKA the voice of characters like Tidus or Ratchet.
Lol I hear it now
Thank you
This investigation was great!
How would this even work?
Todd Howard : it just works! as usual! x)
I was hoping you'd recompile the executable, removing the reboot, and seeing what happens (if it's possible).
Great video, as always!
Your Xbox catches fire 🔥😂
MVG is over here give Digital Foundry a run for their money!
Regarding pure programming skills, I think MVG is the more knowledgeable between them. They should have him as a guest more often.
I theorize that the reboot on new game was likely utilized if the player had quit back to the main menu, then started a new game hence the memory needing to be cleared out.
I am thinking this, since it could be quite possible that starting a new game file doesn’t make a call to the standard load function, which means the Xbox wouldn’t reboot itself when it should.
Alternatively it could be that the Devs really just wanted every new game to start with “fresh” memory. Either way super interesting stuff and glad you covered it!
I really enjoy these kinds of videos where you walkthrough the reverse engineering process and really sink into the code.
Hey, you said in one of the spawncasts you have a degree in computer science and math, it’s really shows in these videos. The work you put into these for us is incredible :)
I thought Todd lied.
I was really amazed by him saying the truth.
What a time to be alive.
further indication that we are living in the ending times.
"It just reboots."
I felt like he was being candid here, not the usual PRsona he puts up that we all hate
Nice video MVG. As a software engineer myself, I really enjoy these types of investigations!
I think the entire point is that it _isn't_ like a save state in emulators - it's just loading from an ordinary save game file. Loading from a save state wouldn't free any memory which is the entire point of doing this.
Mario Kart 64 is a bit similar. Whenever you load a level it resets the game to a clean slate, preserving only a few variables for the overall game state. It's not a complete reboot (the OS is still initialized only at power on) but it's pretty close.
The game also doesn't do any memory allocation during play. It just has static arrays for items and such. It has malloc but no realloc or free - it just discards everything when it resets.
Also fun, the levels in ROM are pretty much just compressed memory dumps for the most part. So loading is really quick and simple. No preprocessing, just copy some files into memory and run! (There are some exceptions though.)
Ayeee, MVG in the morning 😊
lol I could tell something looked different about the scene but not observant enough to have realised what it was XD
While my coding skill is very limited, it was easy to follow along. I really enjoy the insights you give into the cracking/modding/porting scene.
Love how this was used to reveal the Indiana Jones game without anybody noticing. Watch how he leans to the left to give his cam a full view of the Indy items in his shelf, while dropping keywords like Xbox and Reboot. That's why everybody is laughing, because they know what he is doing.
wow, this IDA decomiler does a real pretty job, i'm amazed
MVG: "As you can see..."
Me: Nope, I don't see anything. 😔
MVG: "You can already tell..."
Me: Nope, still can't but after watching it twice I can. 😆
Great explanations on this topic! It really was easy to follow.
This is pretty much me when I watch MVG videos, very accurate
it reboots when a new game is started, as well as if the game is left in it's attract mode. There was a requirement that games can be left running across hardware lots, for X amount of time, and most games solved their issues with this requirement by rebooting at the end of the attract cycle. What you are also finding is that the game also will reboot, sending itself data of WHY ( a reason code parameter ), when leaving the attract/boot sequence, and transitioning into gameplay, getting memory in it's best situation...
IDA Pro and Hex Rays will set you back. Still one of the very best tools around but I was dissaponted their IDA Home plans were so restrictive to hobbyists.
Fun fact : IDA Pro is hacked using IDA Pro.
Ghidra gets better and better though. Last update fixed a bug that made it much more usable for me. Yes its a bit slower in everything but its not a deal breaker.
(even has some features that Ida doesn't have out of the box.)
Anyways! Most ppl using ida pro on UA-cam cracked it! did MVG?!? :D
@@Fligger I use a combination of IDA Home and Ghidra for my reverse engineering needs.
@@halofreak1990 I don't think I am advanced enough to see why ida is superior. Had the opportunity to try out Ida pro (at a friends house ;) ) but can't really see how its worth the money or better in a nameable way.
But maybe its just because you used ida in the past and can afford it :)
nobody likes change tbh.
yarr harr fiddle dee dee
thank you for doing the break down. this has also been on my mind since todd howard mentioned it! and I was so happily surprised to see you were actually doing this video!
Using a save state would defeat the entire point of rebooting to clean RAM, cause you'd be loading a save state of the dirty RAM
I like the higher level videos, but I love the deep dives you do for topics that absolutely warrant it like this one.
wow! todd howard told the truth about something that sounds cool!
My copy of morrowind was randomly crashing with that annoying buzzing sound on my original Xbox, but I may or may not have found a solution. It's a little too early to be sure about this, but ever since I stopped leaving the world map open, it hasn't crashed on me yet. Like when you push B to bring up the menu (I'll call it the B menu from now on) and then push L or R to go to the map and then push A to switch it to the world map. I would always close the B menu while the world map was open so I could look at it quickly whenever I needed to, but the game would randomly crash, sometimes frequently. However, in the 17 years I've had this game it has NEVER crashed on me while I was in Mournhold, and it might be because Mournhold doesn't have a world map. So yesterday I decided to always scroll to the inventory screen before closing the B menu and it hasn't crashed on me since. Just to play it safe, I always switch to the local map first before scrolling to the inventory screen and then closing it. After that, I played it for about 24 hours (12 hours yesterday and 12 hours today) without a single crash. Still though, it's too early to know for sure. It's possible that I just got lucky. Only time will tell.
Thank you MVG!
this is quite old so I don't know if you will see this or if you know already but Search->Text in IDA searches the entire disassembly instead of just strings, you can do Shift+F12 or View->Open Subviews->Strings and then Ctrl+F to look through strings in the executable, you might also want to Right Click->Setup and choose more allowed string types such as unicode. This will be much faster and better
Old wise man said, "exit(0);" is his garbage collector.
I suspect Deus Ex Invisible War might also be doing something like this, but it's just a hunch.
Huh. If it makes an ini file on the HDD, that'd be a quick place to check.
I wonder if any other games used this trick.
half life 2 on xbox?
@@haruhisuzumiya6650 maybe. that was a big game
@@soraltt it was called the "impossible port" likely candidate
ty for this explanation.
as a non coder my self.
i always wondered how they did it.
i remember playing morrowind on the xbox a lot.
i do remember that sometimes when entering a cave the game would freeze for a second or two. always wondered why it did it.
I'm a simple man.
I see an MVG video on the OG Xbox, I thumbs up and comment!
best gaming tech channel ever. you always bring the coolest stuff and the technical explanations other channels don't.
YESSSSS FINALLY A MORROWIND VIDEO
This strikes me as the same problem Unity consistently runs into. That the engine is so flexible, and has so many variables that it sacrifices efficiency in that process. I'd be curious to find out if the Devs tried "and failed" to find a more astute way of clearing the memory. Particularly considering it was their own Creation Engine they where using.
"it just works"
That's why Fallout76 waa crashing on launch so much, ps4 and xbo can't soft reboot back into the game
um, no?
Fallout 4 PS4 was pretty stable, I played that all the way through.
though my PS4's fans did kick on like a jet engine at times
I am just happy that I finally know why some of the loading screens were much longer than others. I had always assumed it was loading in chunks of the world.
0:28 Rare footage of Todd Howard not telling sweet lies to his audiences' face.
common*
Super cool video! The only thing I'm still struggling to wrap my head around is how the screen doesn't turn black while it's doing the soft reboot. The loading screen is seamless (for the time and circumstances, that is!)
After weeks of modding Morrowind, I'm expecting to finally be finished and be ready to start a playthrough. How timely I see this video in my feed from "3 minutes ago". O.o
It wasn't too geeky or technical because you summarised it well :)
Could you detect the reset if you had the Xbox plugged into an electricity use monitor?
I don't think so, it's a soft reset
Always knew about this, but VERY nice to see a deep dive into the process... We're missing these kinds of things with super powerful systems... Less creativity, and some of these workarounds end up benefitting the entire industry by introducing programming efficiencies...
Thanks for the great videos and work...