News

ARMv8 Architecture Announced
2011-10-31 at 19:00

ARM - the company that designs chips found in mobile phones and tablets - has announced its next architecture, ARMv8. The good news is that this new architecture will introduce 64-bit support. After taking a quick look at the released details (PDF), it seems like this new architecture will be a perfect candidate for a pcx360 port:

  • 31 general-purpose registers + a dedicated stack pointer (similar to the Xbox 360 with R1 for the stack pointer)
  • 32 floating-point registers that can be used for SIMD

What it lacks compared to the Xbox 360 is the dedicated vector units (VMX128). But then again, this kind of feature is not available on x86-64 microprocessors either anyway. From the look of it, a static recompilation to ARM could yield better results than on x86-64 thanks to the extra available registers, even though compiled Xbox 360 binaries don't seem to use the global general-purpose registers a lot.

Since Windows 8 will support the ARM architecture, and a scheduled 2014 release date for the ARMv8 architecture, it seems like it would be possible to port pcx360 to Windows 8 tablets, which would make a nice gaming platform with Xbox 360 games. But there is still a lot of work to be done on pcx360 before any of this can happen.

Database Update & XGD3 Support
2011-10-25 at 22:15

Some quick news, even though there is not exactly any significant improvement with the emulator or with this website, this is what has been done these past few days:

  • XGD3 images are now supported
  • memory management was greatly improved
  • more test executables work, although they are still quite simple (nothing graphical)
  • the game database is now mostly complete for Xbox 360 games (title/release date)

Work on the emulator still involves low level development, so there won't be any release before quite a while (even if there would, it would be mostly useless).

On the other hand, some small tool being developed alongside the emulator should be released before the emulator itself. It basically loads information about an Xbox 360 title and can either save it locally or submit it to the game database on this website. This is why at the moment there is no information about achievements, icons or game logo.

Website Updates
2011-10-12 at 11:30

This website is currently mostly empty, but is starting to fill up with details. Some of its features are slowly appearing, such as connections to various social sites (Facebook, Twitter, etc) or a game database.

At the moment the game database is still incomplete and many dates are incorrect, but in the next few days it should be complete, or at least complete enough for now. The final goal for this database is to hold a number of information about each game: its title, how compatible it is with pcx360, its ratings, a list of achievements, etc. Eventually, users should be able to register on this website in order to rate the games and comment on them.

Nothing interesting to announce on the emulator front for now.

Early Implementation Details
2011-10-07 at 14:15

With development moving forward, it is now possible to explain how pcx360 will (and does) work.

First, pcx360 is what is called a high level emulator. This means that rather than attempting to emulate the Xbox 360 accurately, simulating its components at a very low - hardware - level, we are instead going to attempt to get the same end result by "cheating". Basically, the goal here is not to simulate the Xbox 360, but to get the games running and looking the same as when executed on the Xbox.

In order to do this, some design decisions have been made, most of them with the goal of making things simpler while developing pcx360.

First, pcx360 will only work on 64-bit machines. The Xbox 360 uses a PowerPC architecture with many 64-bit registers. x86 would only have few registers and they would only be half the required size. While there are ways to work around this, they are simply not worth it. By the time pcx360 is capable of running some games, pretty much every system will be 64-bit anyway.

Second, pcx360 will only work on Windows systems. This is because the Xbox kernel has many similarities with the NT kernel, making it possible to let the Windows kernel deal with those parts, with some subtle changes here and there to make sure it works properly.

Finally, pcx360 will - in its early stages - use an interpreter for the PowerPC instructions. This, again, makes things simpler - a large part of it is already written - and leaves time to focus on the implementation of the kernel functions. Obviously, this interpreter will be replaced in later versions with something much faster, but this is going to happen only many months from now.

There will also be some effort to replace the kernel functions with something more... "user-land". If things go well, this could open the door to a port of the emulator to other operating systems.

At the moment, pcx360 is only capable of opening executables, directly from XEX files, from ISO images or from STFS containers. Most PowerPC instructions have been emulated with the - very basic - interpreter, which means kernel functions are starting to get implemented. As far as results are concerned, today pcx360 managed to execute a simple "Hello World" application up until the very end. This is not much compared to a full-blown game title, but it is still progress.

Gears of War 3 Released
2011-09-20 at 19:45

Gears of War 3Today, Gears of War 3 was released. Obviously, it doesn't work with pcx360. But I will certainly be playing it for quite a bit in the next few days. No worries though, there will also be progress on pcx360.

Speaking of which, a tiny little progress update: pcx360 can now open Xbox 360 ISO images, read files from them and extract the executable code from the XEX file.

There will be another piece of news in the next few days with details regarding the implementation of pcx360 and its future hardware and software requirements.

It Shall Begin
2011-09-15 at 17:15

The past two weeks were spent gathering information about the Xbox 360 hardware and software (but mostly software): the filesystem used on Xbox 360 DVDs, the executable file format, etc. There is not that much information available, which means the first few steps will involve reverse engineering the filesystem mentioned above as well as the XEX file format.

And this is what this news is about: after a first short "observation" period, it is time to start working on pcx360. Documentation will be created while working on the code, but for now the wiki used for documentation will remain private.

Project Started
2011-09-01 at 19:30

Welcome to the pcx360 website. pcx360 is the name of a new software project that will attempt to emulate the Xbox 360 videogame console.

At the moment this website is mostly empty, but it should start to get filled with some small features and extra details in the next few weeks. Creating such an emulator is going to take quite a while, so this will leave many opportunities to add content to this site and discuss the evolution of the project over time.

Stay Connected