Morrowind Rebooted The Original Xbox Without You Ever Noticing

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.

14 thoughts on “Morrowind Rebooted The Original Xbox Without You Ever Noticing

  1. 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.

    1. 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…

  2. 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.

  3. 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.

      1. 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.

      1. 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.

Leave a Reply to damntechCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.