Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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]

1. https://kotaku.com/morrowind-completely-rebooted-your-xbox-d...



“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.”


Hearing this makes me feel better about some of the asinine things I've done to keep software going.


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.


And they say that games can't do stop-the-world garbage collection...


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.


Italian Job in PC did that. And PS too I think.


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.


Yes, IIRC it was a special "warm start" boot mode. Rebooting into different game modes wasn't that uncommon.


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?)


Presumably this was only an option for offline things?


Didn’t the Wii do something similar for GameCube games? It would technically reboot when loading and when done.


I'm confused. If you're running low on memory, why wouldn't you just... deallocate stuff?


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: