xboxscene.org forums

Author Topic: Two Things I've Always Wondered About The Xbox  (Read 16 times)

Heimdall

  • Archived User
  • Hero Member
  • *
  • Posts: 3862
Two Things I've Always Wondered About The Xbox
« on: November 17, 2010, 11:35:00 AM »

1. They were. The standard drive and kernel will only read games from genuine discs in a way very similar to the one you've described, and because the disc is written from the outside in i.e. the opposite way from a standard DVD, then the DVD drive on your PC wouldn't read it, and a standard DVD writer won't write a genuine Xbox DVD. However, once the kernel was hacked and we were able to run unsigned code, it was relatively easy to write software to read the files from the disc, because the specialised reading instructions were in the firmware on the DVD drive. We were also able to spoof the kernel so it believed that it had received the "this is a genuine Xbox DVD" flag that the drive firmware passes to the kernel, so we could then run games from DVDs we had burned ourselves. (We also needed software like Qwix to create an iso image file that is reversed, so that when written using a standard DVD writer (inside out), it could be read by the reverse reading firmware on the Xbox DVD drive (outside in).)

2. The Xbox isn't basically a PC. It uses an Intel CPU, and a PC derived GPU, but the rest of it is completely different. In particular, the southbridge (MCPX) is completely different, changing the way the Xbox boots to make it totally different from a PC (read this article for details). Further, the BIOS/kernel is completely different, and the I/O space is completely different, so none of the low-level BIOS calls (the bits that actually talk to hardware in DOS/Windows to make things happen) exists on the Xbox. That means that a port is a massive rewrite of all of the low-level drivers. It's been done for linux, but as you say that can't be done for Windows / DOS because they are closed source. Your point about Freedos is interesting because it can't really be any more challenging than porting linux, but I'd guess that most of the hackers were happy to have linux running, so simply didn't see the need for porting another O/S. There are also the issues that Freedos is purely character / keyboard based, whereas linux has a number of remote GUI options, so it was easier to operate, and (IIRC) Freedos, while good, didn't ever manage to replicate all of the functionality in DOS, so it would only have provided patchy coverage of the available DOS apps. The major issue with WINE is that it is provides Windows applications with a Windows API on top of anothe O/S kernel (e.g. linux) and is therefore designed to talk to the underlying O/S, not the BIOS. Rewriting it to provide those services directly on top of the Xbox BIOS (kernel) would be a complete rewrite, and you would also need to port all of the O/S components that WINE depends on, like all of the screen / file / I/O handling, etc. In other words, WINE isn't an O/S that you can port, it's a very specialised application that only works if the host O/S is present.
Logged

lordvader129

  • Archived User
  • Hero Member
  • *
  • Posts: 5860
Two Things I've Always Wondered About The Xbox
« Reply #1 on: November 17, 2010, 05:44:00 PM »

QUOTE(Clockface @ Nov 17 2010, 02:08 PM) View Post

Then again, maybe they couldn't improve the security of the discs without harming compatibility with older models of the XBox, as is the case with DVD (video) discs.

precisely


ETA: actually MS did update the media checks in the games once or twice, but since the xbox was hacked at the kernel level it was a simple matter to patch out the new checks as they were discovered
Logged

GBW

  • Archived User
  • Newbie
  • *
  • Posts: 2
Two Things I've Always Wondered About The Xbox
« Reply #2 on: November 17, 2010, 08:01:00 PM »

QUOTE(Heimdall @ Nov 17 2010, 08:35 PM) View Post

1. They were. The standard drive and kernel will only read games from genuine discs in a way very similar to the one you've described, and because the disc is written from the outside in i.e. the opposite way from a standard DVD, then the DVD drive on your PC wouldn't read it, and a standard DVD writer won't write a genuine Xbox DVD. However, once the kernel was hacked and we were able to run unsigned code, it was relatively easy to write software to read the files from the disc, because the specialised reading instructions were in the firmware on the DVD drive. We were also able to spoof the kernel so it believed that it had received the "this is a genuine Xbox DVD" flag that the drive firmware passes to the kernel, so we could then run games from DVDs we had burned ourselves. (We also needed software like Qwix to create an iso image file that is reversed, so that when written using a standard DVD writer (inside out), it could be read by the reverse reading firmware on the Xbox DVD drive (outside in).)

2. The Xbox isn't basically a PC. It uses an Intel CPU, and a PC derived GPU, but the rest of it is completely different. In particular, the southbridge (MCPX) is completely different, changing the way the Xbox boots to make it totally different from a PC (read this article for details). Further, the BIOS/kernel is completely different, and the I/O space is completely different, so none of the low-level BIOS calls (the bits that actually talk to hardware in DOS/Windows to make things happen) exists on the Xbox. That means that a port is a massive rewrite of all of the low-level drivers. It's been done for linux, but as you say that can't be done for Windows / DOS because they are closed source. Your point about Freedos is interesting because it can't really be any more challenging than porting linux, but I'd guess that most of the hackers were happy to have linux running, so simply didn't see the need for porting another O/S. There are also the issues that Freedos is purely character / keyboard based, whereas linux has a number of remote GUI options, so it was easier to operate, and (IIRC) Freedos, while good, didn't ever manage to replicate all of the functionality in DOS, so it would only have provided patchy coverage of the available DOS apps. The major issue with WINE is that it is provides Windows applications with a Windows API on top of anothe O/S kernel (e.g. linux) and is therefore designed to talk to the underlying O/S, not the BIOS. Rewriting it to provide those services directly on top of the Xbox BIOS (kernel) would be a complete rewrite, and you would also need to port all of the O/S components that WINE depends on, like all of the screen / file / I/O handling, etc. In other words, WINE isn't an O/S that you can port, it's a very specialised application that only works if the host O/S is present.



very good info there thanks  smile.gif
Logged