The original Xbox was well-known for being based on basic PC hardware, and among developers, well known for having just 64 megabytes of RAM which even at the time wasn’t a lot to be working with. In a recent podcast, [Todd Howard] of Bethesda related an anecdote from the era, claiming that Morrowind occasionally invisibly rebooted the Xbox without user’s knowledge in order to free up RAM. [Modern Vintage Gamer] wanted to determine if this was true or not, and began an investigation.
The investigation begins with the aid of an Xbox Development Kit. Noting that the original anecdote mentioned the reboots occurring during the loading process, the devkit Xbox was soft rebooted after executing a load. Rather than going back to the title screen of the game, it kicked straight back into the loading screen and brought up the last save game instead. This suggested that the game was indeed capable of rebooting in the midst of the loading routine.
[Modern Vintage Gamer] had a hunch that this was being achieved with the use of a routine called XLaunchNew Image, a piece of the Xbox API that could be used to soft-reboot the console and start an executable. Upon decompiling Morrowind, a call was found that fit the bill. Further analysis showed that the game was indeed calling XLaunchNewImage upon loading and launching a new game, and was confirmed by finding an *.ini file that contained flags to enable this behaviour.
Presumably, the reason for this behaviour was that it was simpler to boot the game fresh when loading a save, rather than trying to unload all the game assets in memory from the current game. It’s a neat trick that likely made the development team’s lives much easier once they implemented it.
We don’t often talk about The Elder Scrolls series around here, though we’ve seen someone modify an exercise bike to work with Skyrim. Video after the break.
On a Linux box I think this would be a kexec, the whole memory space is being replaced with another executable, but I’m not sure if the processor would really be reset or not.
So long as you can keep an image displayed, it wouldn’t really matter or you could time the image cutting out with a new one being displayed. Boom active reload screen…
Way back I once worked on software to talk to a very expensive piece ($4000 I believe) of audio hardware. Every 50 minutes or so, the firmware engineers had put in a reboot because they couldn’t solve a memory leak or something in the firmware code. Only way you could tell was that reverbs reset themselves. Fortunately it could usually time the reboot for when the music was stopped, but for anyone who recorded >50 minute tracks using our system, I apologize on behalf of the firmware team for the mystery reverb pop in your mix.
I guess it’s not unlike when you get a silent update or patch and restart during startup.
Nothing beats the Nintendo Wii, in having a crazy number of reboots. You don’t even have to launch a game; just browsing through the menus and settings requires multiple reboots.
Sorry, but can i get a bit of information about it?
3DS and Wii will occasionally do the same as the xbox did here. Loading some software will reset the console into another mode.
3DS famously had a gotchya where if you loaded a custom firmware, then loaded the settings app to check you were in it, the console rebooted and returned you to the home screen now in the stock firmware!
It’s nothing new, before the XBox I imagine many consoles reset memory and cpu when loading software like a game. It’s just Xbox carried that over and Nintendo still does it.
Each program on the Wii is basically its own Operating System. So you’re switching between Operating Systems when changing between/opening programs.
Defective Wii maybe? I never noticed that on mine (PAL model)
I spent many hours on the Wii when it was new, but never noticed this. Was there any way of telling from an end-users perspective?
The intent is that it is not noticed by the end user. As Alex Rossie said legacy consoles, arcades, etc… reset memory and cpu regularly, it’s a form of garbage collection. What dlcarrier is eluding to is Wii has several little Operating Systems they call IOSes. While using the Wii, navigating menus, launching games, updating the system, the Wii is rebooted into one of many different Operating Systems.
They actually admitted to doing this during an interview. I believe the one when they had been bought by microsoft.
dlcarrier is probably talking about the “IOS” system in the Wii. Every game or menu applet could have its own IOS version. So yes, a lot is re-initialized when opening a game or app, or going back to the home menu.
More info about IOS: https://wiibrew.org/wiki/IOS
Upon seeing the Title Photo, I didn’t know the GEICO Gecko had a previous job in gaming!