Morrowind, on the xbox, would completely reboot the xbox after presenting a static loading screen, in a last ditch effort to allow the user to keep playing. [1]
“There’s been great tricks that [Xbox] taught us,” Howard said. “My favorite one in Morrowind is, if you’re running low on memory, you can reboot the original Xbox and the user can’t tell. You can throw, like, a screen up. When Morrowind loads sometimes, you get a very long load. That’s us rebooting the Xbox. That was like a hail Mary.”
I never played on the xbox, but I remember when traveling between cells in Morrowind (like into a dungeon or building, etc) I never could figure out why it sometimes only took a few seconds and other times I was sure the game was locked up. I saw this behavior on several PCs and don't ever remember it going away.
Morrowind had a much more interesting world than Oblivion, but I really appreciated that Oblivion did not do that. And that NPCs could chase me out of buildings.
I dimly remember that the Xbox SDK manuals recommended to reboot into new game levels, or to boot into a completely different executable for the multiplayer mode to make better use of the limited memory by not keeping stuff around that's not actually needed.
I'm more surprised the Xbox somehow did this without showing the Xbox loading logo, is this like some normal feature of game consoles I was unaware of? I guess I would call it moreso a silent reboot.
Particularly interesting since wasn't the OG Xbox the first major console to actually be running a significant amount of background system software? I feel like that would considerably complicate reboot-to-self vs with old-school setups where everything is bare metal and the user software is in control from the moment of boot.
Anyway, maybe the full weight of the hypervisor-based solution didn't land until the 360, but even a generation later, other players were in catch up mode like, wasn't the Wii still doing goofy stuff like making individual games include the code to show the "system" pause screen when the home button was pressed?
I don't remember honestly, but I think the background services thing only came with the Xbox360? (did the OG Xbox actually have any sort of "slide-in" dashboard when the Xbox button was pressed?)
Mainly because with 64 MBytes of RAM filled to the brim with game assets you'd very quickly run into memory fragmentation issues.
It's easier to just load big chunks of data at pre-defined memory addresses, and once you need to overwrite most of the memory anyway with new data, starting from a clean slate with a reboot is much more straightforward.
A lot of Linux-based DSP solutions do this. You either purposely tell the kernel that you have less memory than you do at startup, reserving the rest for the DSP, or you load a kernel driver which can allocate contiguous memory. This driver never actually uses the memory, it just scoops it up before anyone else can.
1. https://kotaku.com/morrowind-completely-rebooted-your-xbox-d...