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.