Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Xemu: Original Xbox Emulator (xemu.app)
175 points by InitEnabler on April 7, 2024 | hide | past | favorite | 63 comments


Fun fact - Morrowind for the Xbox occasionally rebooted the whole console when running low on memory. A splash screen would remain displayed, so the user would have no idea this was happening. The Xbox only had 64MB of DDR1 RAM.

https://hackaday.com/2021/04/14/morrowind-rebooted-the-origi...


When the original Xbox was released (2001), its specs were comparable to a low-end PC of the time, but with a somewhat better GPU.


Good write up (along with the rest of their articles) on the X-Box architecture.

https://www.copetti.org/writings/consoles/xbox/


I had talked to a dev who worked on one of the Fable games and he mentioned that he was only alloted x amount of the total memory available on the 360 which surprised me, since I was primarily a PC gamer I didnt think about how little memory the console had.

Fun reminder that we got to the moon on significantly less memory.


They could've implemented their own virtual memory and paged it to disk. Very easy to do. That's what we had to do to load 64mb ROMs when creating an n64 emulator for Xbox.


Sure, but deadlines. And game hacks are fun!


And also… Bethesda


I read it was a memory leak


I hate the fact that Xbox One killed Xbox's momentum so much that people are dismissing or not recognizing some of the things that Xbox has going for it right now with Xbox GamePass and cloud gaming. This is a transitional generation, but Xbox is positioned a lot better than most people seem to understand if they only travel in the areas where console wars is the religion of the day again.

I've been replaying Halo 1 & 2 again and just remembering the infancy of console online gaming and how fun it was as compared today were its either absolute silence or mute worthy trash.


> recognizing some of the things that Xbox has going for it right now with Xbox GamePass and cloud gaming

Or they don't recognize them as inherently good things. Game pass has potentially cannibalized "real" game sales on the platform and primed its userbase to "just wait for it to come to gamepass"; with the gamepass honeymoon developer deals drying up, this has had dire implications for third party support going forward. Xcloud has been a mixed bag - you can find countless reports of it lagging behind PS cloud streaming and various PC cloud gaming vendors in performance (latency) and image quality (though I personally haven't seen much difference between most of them).

For a lot of us, the current generation Xbox platform has been doing everything just as bad or even worse than it was with the Xbox One - they've stopped iterating on backwards compatibility, they've pushed Gamepass above all, and they've spent unbelievable amounts of money on M&A instead of building up their own existing studios and releasing more new original exclusive games. The quality of some of their major trumpeted releases has also been incredibly suspect, despite repeated claims of high quality from their internal tastemakers before release.

The dumb social media console war stuff has unfortunately gotten in the way of some important self-review and introspection that the Xbox team should be doing. As a longtime Xbox fan, it has been tremendously disappointing to see.


The Xbox team have just had terrible leadership choices.

The One was a miss from the beginning , trying to be more than a gaming console and falling short on all fronts. The name didn’t help either.

Then they picked an even worse name for the Series X and and Series S. while implementing a necessity for parity. confusing the market and holding back devs.

The 360 was effectively a flash in the pan IMHO, helped by a significant misstep on Sony’s part with the PS3 design, and Nintendo moving to create their own market with the Wii that effectively made it a companion console rather than a competing one.


With the One they also made the mistake of trying to permanently tie discs to consoles in an attempt to destroy the used game market for the console, which got leaked pretty early on and led to Microsoft and the Xbox brand taking a massive reputation hit, even though they quickly backtracked. For that generation, a lot of people who would’ve otherwise bought Xboxes instead bought PS4s out of principle.


That E3 was crazy. Anyone remember the video that Sony posted on "how to share games with friends" while the Xbox debacle on locked discs and always online was in full force? (it was literally a guy giving a game disc to another guy)

This is why I am still against the MS acquisitions. Imagine that whole debacle happening but you're still forced to buy an anti consumer console, because God forbid you like to play CoD, Fallout, Starfield...


Now Sony just lock the entire disc drive behind online activation instead:

https://www.playstation.com/en-us/support/hardware/ps5-disc-... “Internet connection required to pair disc drive and PS5 console upon set up.”

Cue defenders “but it's only once and then it works offline!!” like that will make a difference in the far future once the activation system is dead and gone.


Bit disingenuous to compare the two because it’s also only if you’re upgrading from a disc-less model.


How does that make it okay? You're basically buying an external Blu-ray disc drive for the PS5. Why does it require Sony's permission to hook up and use if you've bought it? This is just another way modern companies are encroaching on our rights, it's literally online DRM for a peripheral. Imagine if you needed online activation to be able to use a new controller you buy. It'd be just as absurd as this.


a controller isn’t part of the security verification chain, and again, it’s disingenuous to compare the two because they happen at a significantly different frequency level.

The more salient comparison for “why” is look at PC games. Even if you buy a physical copy, most require you to authenticate them online.

Sony chose instead to do a one time drive authentication so you don’t need to authenticate every game online instead.


That's not true. PS5 Slims which are bundled with a disc drive still require online activation to use the disc drive. It's not just for those who bought a digital model and want to buy the disc drive later.

This puts them in the same boat as the retail Xbox One and Xbox Series consoles, which require an internet connection during first time setup.


And others of us are old enough to remember the Sony rootkit DRM on their CDs and refuse to go anywhere near Sony products.


Completely different product segment though. I don’t think that really had any outsized influence on PlayStation buyers at the time.


>The name didn’t help either.

It all goes back to Microsoft not naming the 360 "Xbox 3" with some lame excuse for why it did so. Yes, everyone would have laughed, but no one would remember or care today that the "Xbox 5" isn't actually the fifth Xbox.


The Xbox 360 was only the second xbox.

Though at the time we joked they just needed a triangle based word in the name for the follow up and they'll have all the main PS buttons covered in the title.


> The Xbox 360 was only the second xbox.

thatsthejoke.gif


And to top it all off I heard MS just put Surface people in charge of designing the next one, to copy Switch success I guess?.


And now they are playing a SEGA, turning XBox into a brand.

I don't believe that they still care about the console as much they say they do.


It's funny that you should note that they are doing positive things in a transitional era, only to finish off by noting that you are playing decades-old games on their hardware.

While I am a fan of GamePass, and I own two XBox One consoles, I have no desire to own a Series console or the forthcoming refresh. Everything I want to play I can play on the One or via Cloud; but more importantly: the difficulty of discovering compelling experiences in this era of XBox is too damn high.

There are too many straight-up _bad_ indie games swamping GamePass, and too many B and AAA quality games that are phoning it in.


Any game developer could have told them early on that Kinect was next-to-useless, despite the technology being interesting.

Even operating simple menus was problematic. You could point, but had no buttons to click. It was never going to work beyond a few niche cases (dance games and simple minigames).


> It was never going to work beyond a few niche cases (dance games and simple minigames).

It really is superior for dance games.


It's not that people are not recognizing the good things about it. There's this underlying theory that we had one chance at a digital game library. The PS3 and Xbox 360 were way too early for people to get attached to their digital purchases; after all, few large titles released digitally day and date with their disc versions. So people bought a few indie titles digitally, but they still had a big disc library.

But the PS4 generation was the digital generation. The majority of sales were digital then (probably not dollars-wise, but certainly units-wise). So the theory goes that people have this large lock-in with PS4, which leads to them directly going to the PS5 without looking at the distinguished competition's offerings.

I'm not sure I agree.


I’m sad for kids who don’t get to experience high-quality couch multiplayer.

Also making an account for every little stupid thing. No you don’t need account systems. At least make them opt-in.


This emulator has brought me hours of fun. A huge thank you to the developers.

I also strongly recommend checking whether Insignia supports the games you're playing on Xemu. If it does, grab a retail dashboard hard disk image and try it out!

I think Insignia even recently added support for Halo 2, which is pretty huge.

https://insignia.live


Wow, cant believe they added halo 2. Man. that's sick.


The original Xbox was essentially a PC of the time running a heavily customized version of Windows. Does this emulate that kernel without using any Microsoft code?


I think most people familiar with the original Xbox hw (like people working on xemu :)) take offense when you say it's just a PC. It's PC hardware, but nothing much is shared with the "IBM PC" architecture-wise. Even the software side is very different. It's not running a customized version of Windows, but the Windows kernel. One stripped down to 256kb, including the boot up animation and sound. That design for example required that a lot of things get linked into a game's executable, like network drivers and the entire TCP/IP stack.

If it were that easy, we'd have had a wine pendant for Xbox binaries 20 years ago. Cxbx is pretty much the wine approach to Xbox emulation and it's far from perfect.


> nothing much is shared with the "IBM PC" architecture-wise

Gate A20 begs to differ.


It's built into the CPU, what did you expect them to do, burn it with a laser?

.... well in hindsight that might've been a smart thing to do :o)


Gate A20 famously was responsible for the original XBOX getting hacked. It redirected execution from the special hidden ROM into ordinary flash ROM, bypassing all security.


Linux would ran on that with ease. And, yes, Wine ran, but just Win32 PE binaries, not XBE ones.

OFC it was an "IBM PC". Some people could run ReactOS on it.


There are two major original Xbox emulators - cxbx/cxbx-reloaded, which originally tried to do both LLE and HLE but these days does exclusively high-level emulation like you are describing, and xemu (this one), which does mostly low-level emulation.

So no, in this case Xemu runs the original Xbox kernel. This is why it's more compatible and generally much more robust than cxbx in terms of game support.

There are a lot of challenges with doing HLE for Xbox. While there is a kernel, its HAL is very low-level. Games are statically linked against the entire stack of DLLs that you'd usually find in Windows (the Xbox SDK), and depending on when they were released, can have one of about a gazillion versions of the Xbox SDK in them. So doing HLE is a matter of finding and hooking an enormous number of SDK functions, but also keeping up with the plethora of minor changes which were made constantly through the life of the console. Emulating the kernel doesn't get you very far, because it still provides low-level interfaces to (for example) manipulating GPU state, so you end up having to implement the GPU hardware in LLE anyway.


Per the documentation you have to provide dumps of the original Xbox bootroms, and it can optionally use a HDD image taken from a real Xbox, but the latter isn't required because they provide a basic cleanroom reimplementation of the dashboard you can use instead.

https://xemu.app/docs/required-files/

The CPU in the Xbox was literally an off-the-shelf Intel processor (some crazy people even soldered in faster CPUs that were never meant for the Xbox) but as I understand it the GPU is weird, and that's where most of the difficulty with emulation comes from. It's a unique mashup of GeForce 2 and GeForce 3 IP that was never used anywhere else, so the existing efforts to reverse engineer GF2 and GF3 for Linux drivers were of limited use.


This is a myth that is incorrect. The original Xbox's BIOS bares little to no resemblance to Windows 2000 (its closest contemporary) and runs from a 1MB flash chip at most. Games run Bare Metal on the system


The Xbox hardware was also quite advanced for its release date (2001). Many PCs at the time still had 100MHz FSB but the Xbox ran at 133MHz. The Xbox also had DDR RAM, not much of it (64MB), but DDR wouldn't be commonplace until the Pentium 4 and Athlon XP platforms a couple years later. Most PCs were still running regular single-channel SDRAM.

I've built a near-period correct PC with a later and faster CPU (Tualatin at 1.0GHz vs Xbox's Coppermine at 700MHz), more RAM (512MB), faster GPU (GF4 Ti4400), but it still can't achieve the raw memory and GPU bandwidth the Xbox had.


The fun thing about the RAM was that although the retail units only had 64MB, they shared the motherboard design with the devkits which had 128MB, and if you sourced a second set of RAM chips you could fully populate the board and build a 128MB retail unit. That was useful for some homebrew, and also made it possible to play games built for the Sega Chihiro arcade platform, which used the Xbox architecture but had the full 128MB of RAM installed and allowed games to use all of it.

If you were brave enough to replace a BGA chip you could upgrade the CPU as well, the stock one was an off-the-shelf 733mhz Pentium which happened to have a 1.4ghz counterpart, and surprisingly swapping the CPU out for the faster one mostly just worked. The faster chips were electrically compatible, but Intel only packaged those as socketed desktop parts, so people designed these wacky interposer boards to re-route the pins to the correct places on the Xboxes BGA footprint.

https://i.imgur.com/nvJdKfM.jpeg


I love hackery like this that pushes hardware capabilities to their limits. It’s kinda like extreme overclocking, except somehow both more crazy and usually more likely to have an end result that’s practical for day to day usage.


If I remember right, most of the "operating system" was linked statically into the game images (AFAIK at least the DirectX libs, not sure about any low level "firmware" stuff). I'm pretty sure there was no concept of "hardware drivers" though.


The original xbox actually had a real os based on the windows 2000[1] unlike it's competitors like the PSX

[1]-https://www.theverge.com/2020/5/21/21265995/xbox-source-code...


The original XBox didn’t compete against the PSX. It was one generation later competing with the PS2, DreamCast and GameCube


The Dreamcast was discontinued just as the Xbox was preparing to launch, so they didn't really compete.


If I am not wrong this is a LLE (low level emulator) rather than a hle so it should emulate the hardware rather than the kernel. So you need the dump of the microsoft's xbox kernel for it to work


kung fu chaos time! Such a great game, a little insensitive perhaps...glorious sofa multipleyer game though I kept that disk hoping they'd backwards compat it for many years


Out of all the og Xbox games, Kung Fu Chaos provided the most fun and laughs with friends. It honestly still holds up gameplay wise. I still play it sometimes. The minigames were the best.


Fuzion Frenzy as well!


Playing the Fuzion Frenzy demo on the XB Magazine discs and the Halo demo menu were a ton of fun too.

Wish more game demos existed today.


Is there some way to set to an alarm to let me know when Steel Battalion becomes playable?


That name had been taken... https://65site.de/emulator.php


With the Master Chief Collection on PC, I’d only use this to play Metal Arms and Mercenaries.

The first Xbox had a pretty lukewarm backlog.


It had loads of good games! Ninja Gaiden, Otogi 1 & 2, Far Cry Instincts, Crimson Skies, Panzer Dragoon Orta, Metal Wolf Chaos, Project Gotham Racing, Jade Empire, Fable, Outrun 2006, Splinter Cell, Burnout, Chronicles of Riddick, Conker, Psychonauts, Unreal Championship 2, Oddworld, Forza, etc.


Ninja Gaiden was so fraking hard! At some point I used an invincibility hack and still gave up at some point! But it was pretty cool. Played Halo 1 & 2, PGR a lot, JSRF was just awesome even though I never finished that either. Fable just wasn't my thing, but had a lot of fun in DoA3 with friends.


I managed to beat Ninja Gaiden as a teen. I have no idea how I pulled it off (it wasn't in Ninja Dog mode either). Sadly I no longer have the necessary hand-eye coordination :(


For me, it was the timed exclusivity of MGS2 substance


To me, Jet Set Radio Future was worth buying the entire console back in the day. Halo was just a nice bonus.


Metal Arms, what a blast from the past!


I’ve been replaying the thing using xemu and it works very well.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: