Jump to content
OGXbox.com

Titan - M8+ Xbox Kernel Patches for Extended Storage (up to 16tb)


Wally12
 Share

Recommended Posts

https://github.com/gaasedelen/titan#overview
 

Overview

Titan is a series of hand-written binary patches for the original Microsoft Xbox kernel. These patches are designed to expand the storage capabilities of the popular 2001 game console in excess of 16TB. This is achieved by modifying the kernel to support LBA48 and extending the number of addressable 512-byte disk sectors in the IO stack.

Special thanks to Mike Davis for his serial debugging boards, Matt Borgerson for his tireless efforts on XEMU & FATX, and finally Paul Bartholomew (oz_paulb) for his original LBA48 research from 2003 which facilitated up to 2TB for the past 15+ years. All of these people and their open-source works played an important role in the creation of Titan.

Disclaimer

This project does NOT use any copyrighted code, or help circumvent security mechanisms of an Xbox console.

These patches should be considered highly experimental pending further attestation. By using this software, you accept the risk of experiencing total loss or destruction of data on the console in question.

Titan may break existing Xbox homebrew, and existing homebrew may break Titan-based systems.

Usage

Titan's PC-based kernel patcher is written in Python 3. It is strongly recommended that you download the released packages which bundle the applicable dependencies for Windows, Linux, and macOS.

Example usage is provided below:

python3 tpatch.py m8plus_kernel.img

Successful output should look something like the following:

[*] Patching with Titan v1.0 -- by Markus Gaasedelen
[*] - Hashing kernel 'C:\titan\m8plus_kernel.img' to ensure compatibility
[*] - 0x800243AA: Patching HddStartVerify(...)
[*] - 0x8002443F: Patching HddVerify(...)
[*] - 0x800244E6: Patching HddStartRw_Length(...)
[*] - 0x80024534: Patching HddStartRw_Transfer(...)
[*] - 0x80024632: Patching HddRw_Save(...)
[*] - 0x8002465B: Patching HddRw_Smuggle(...)
[*] - 0x80024485: Patching HddCompleteRw(...)
[*] - 0x800246F3: Patching HddGetDriveGeometry(...)
[*] - 0x8002F066: Patching HddPartitionCreate(...)
[*] - 0x80024B5A: Patching HddCreateQuick(...)
[*] - 0x8005546D: Patching HddCreate(...)
[*] - 0x80027143: Patching FatxParseSupeblock(...)
[*] - 0x80029CE5: Patching FatxStartAsyncIo(...)
[*] - 0x80029E5B: Patching FatxAsyncIo(...)
[+] Patching successful!

For a full walkthrough of setting up an Xbox with Titan, please refer to the GUIDE.md provided in this repo.

Additional Notes

Some additional notes about Titan are as follows:

  • Formatting
    • The FATX project is currently the only tested/supported method to format a disk for a Titan-based system
    • XBPartitioner/XBlast/XeniumOS/FATXplorer are all considered unsupported and probably require updates
      • I fully expect these tools to get updated releases in the near-future
  • Partitions
    • Titan is essentially hardcoded to use a 'F (Partition 6) Takes All'-esque partitioning scheme
    • Titan could be extended to support additional partitions, but it seems unnecessary
  • Clusters
    • Titan allows increased cluster sizes of 128kb, 256kb and 512kb
      • It is strongly recommended to format large disks (2TB+) with 1024 sectors per cluster (512kb)
      • Matt's FATX is the only tool that can currently format disks with larger clusters
    • Increased cluster sizes dramatically increases the speed of mounting FATX volumes (faster bootup)
    • Increased cluster sizes will ensure more linear reads on the disk (faster file reads, game loading, etc.)
    • Increased cluster sizes allows for more items in the root disk directory (8192 items at 512kb clusters)
    • If you're using Titan, you can afford the luxury of bigger clusters so stop complaining about wasted space
    • Increased cluster sizes were never the issue for limiting drive/partition sizes, this is FUD
      • 64kb clusters should work on the Titan partition but bootup/mounting WILL be slow for large disks
  • UDMA
    • Titan can change the UDMA transfer mode used by the kernel with --udma N
      • Increasing the UDMA mode has been profiled to improve some game load times in excess of 20%
      • Increasing the UDMA mode will require an 80pin IDE cable
    • The retail Xbox uses UDMA 2 (33mb/s) by default (as do many/all (?) modified BIOS')
    • The maximum supported UDMA mode by the Xbox southbridge is UDMA 5 (100mb/s HDD <--> CPU)
      • UDMA 5 DOES NOT WORK WITH ALL IDE TO SATA ADAPTERS
      • UDMA 5 has been confirmed working with Startech adapters but has not been properly benchmarked
      • UDMA 5 is unstable on RXD-629A7-7 based adapters, but UDMA 4 seems okay
      • WLXKG-863B are the 'worst' adapters I have experienced working on Titan and are largely untested
  • Games
    • A random assortment of games have been tested to ensure some baseline on system stability
      • I don't expect major issues here, but more testing should be obviously be done
  • Dashboards
    • XBMC seems to work fine
    • EvoX seems to work fine
      • EvoX displays the incorrect disk size because it performs a modulus of 'available gigabytes' by 1000
      • This does not mean that you formatted incorrectly, or that the HDD is corrupt
      • FTP seems okay?
    • Dashboard-based FTPs are probably much safer than BIOS-based FTP (eg. XeniumOS)
    • Consider all other dashboards as untested
  • Other Homebrew Notes
    • DVD2Xbox works fine
    • FTP via XeniumOS is probably risky. I would only use it to transfer files onto RETAIL partitions (C or E)
    • Anything booting into a BFM BIOS (PBL, Hexen?) is totally unsupported for accessing the Titan partition (F)
    • Consider all other homebrew as untested
  • Patches
    • Titan is only supported on the M8+ kernel. M8+ is a modified version of the final retail kernel (5838)
      • Titan/M8+ can be used on ALL retail hardware revisions (1.0 -> 1.6b)
      • These patches can almost certainly be ported to other Xbox kernels, but not something I plan on doing
    • Previous iterations of these patches modified the kernel to use 4K sectors but was deemed unnecessary
      • The released patches can be further simplified, moving away from the original 4K implementation
    • More experimental patches that further accelerate mounting large FATX volumes may be added later
Edited by Wally12
Font fixing
  • Like 3
  • Haha 1
Link to comment
Share on other sites

Posted (edited)
16 hours ago, MilkMan2004 said:

From what I am reading this currently cannot be used for xboxhd+  as the patching process breaks things correct?

The different udma options is interesting.. looking forward to experimenting with it...

That seems to be the case for what I’ve tried. And I think Makemhz himself said it’s not yet compatible with M8+ that’s got the HD+ patch applied. I’ve only had success patching a base M8+ BIOS (presumably how it was released). Any changes made to M8+ using EVtool make the unpacked .img kernel unrecognizable by the Titan patch because it changes the hash it recognizes. What that means as far as coding goes, I couldn’t tell you lol.

You can force Titan to try and patch it using a --force command but it may result in the BIOS being broken and not actually working. You wouldn’t want to be experimenting with flashing that to a modchip unless it has multiple banks or you have a way to recover it.

I have tried editing M8+ for a v1.6 Xbox with EVtool to editing the splash screen colors, dashboard paths, and fan speed. Then I saved that and forced Titan to patch it. Titan said it patched it but after having flashed it to one of the modchip banks, it was completely a borked BIOS. No audio or video from the Xbox upon boot up.

I’m going to keep toying with it to see if I can get it to work. It’s possible I was trying to apply it to a copy of M8+ that I had applied the HD+ patch too, and that caused the issue. I don’t know.

Don’t be afraid to mess around with this patch but ONLY IF you have a modchip you can easily fix a bad BIOS being flashed to. Fixing a bricked TSOP probably wouldn’t be fun.

Edited by Wally12
Link to comment
Share on other sites

3 hours ago, Wally12 said:

That seems to be the case for what I’ve tried. And I think Makemhz himself said it’s not yet compatible with M8+ that’s got the HD+ patch applied. I’ve only had success patching a base M8+ BIOS (presumably how it was released). Any changes made to M8+ using EVtool make the unpacked .img kernel unrecognizable by the Titan patch because it changes the hash it recognizes. What that means as far as coding goes, I couldn’t tell you lol.

You can force Titan to try and patch it using a --force command but it may result in the BIOS being broken and not actually working. You wouldn’t want to be experimenting with flashing that to a modchip unless it has multiple banks or you have a way to recover it.

I have tried editing M8+ for a v1.6 Xbox with EVtool to editing the splash screen colors, dashboard paths, and fan speed. Then I saved that and forced Titan to patch it. Titan said it patched it but after having flashed it to one of the modchip banks, it was completely a borked BIOS. No audio or video from the Xbox upon boot up.

I’m going to keep toying with it to see if I can get it to work. It’s possible I was trying to apply it to a copy of M8+ that I had applied the HD+ patch too, and that caused the issue. I don’t know.

Don’t be afraid to mess around with this patch but ONLY IF you have a modchip you can easily fix a bad BIOS being flashed to. Fixing a bricked TSOP probably wouldn’t be fun.

Thanks for trying...  definitely going to mess around with this today once the kids are at school...

1 hour ago, sweetdarkdestiny said:

One thing which would be nice is, if it would be possible to use 128MB ram with Titan. Btw. it would also be nice if Team Cerbios would be able to do that.

The ultimate EvoX m8+ with support for : 128MB + 8TB/16TB + HDplus. * Just dreaming ;) *

 

Agreed! 3 of my xbox have 128mb and hd+ ....  that would be sweet!  🤞

Edited by MilkMan2004
Link to comment
Share on other sites

  • 2 weeks later...
On 3/3/2022 at 2:15 PM, sweetdarkdestiny said:

Here are the pre-patched bioses for XBox 1.0-1.4 and XBox 1.6

thanks a lot for that :)

Now I just need to figure out how to format the HDD properly. Afaik FATX is Linux only?

And what are the noDVD bioses?

Edited by puntja
Link to comment
Share on other sites

3 hours ago, puntja said:

thanks a lot for that :)

Now I just need to figure out how to format the HDD properly. Afaik FATX is Linux only?

FATXplorer 3.0 Beta is a Windows .NET 6.0 application that formats and can read/write data from/to a PC connected UNLOCKED hard drive for the ogXbox.  However, I don't know if it currently supports using cluster sizes larger than 64KBs required to create extended partitions larger than 1TB in size.

Edit: From FATXplorer 3.0 Beta's latest release notes:

v3.0.0.22744 (Beta 19)

Released on: February 10, 2022

  • This release has an accompanying announcement post. Click here to view it.
  • FATXplorer can now format and load OG Xbox HDDs up to 16 TB in size for use with Cerbios. 
    • (KE here, I'm not sure what the differences are between Cerbios and M8plus-TITAN.  Both require using larger cluster sizes - 128KB, 256KB, 512KB, ... for larger extended partitions - 2TB, 4TB, 8TB, ...)
  • Changed the behavior of the Max button in the formatting tools - it will no longer set a size larger than 1 TB, which is currently the maximum size OG Xbox supports.
  • The expiration date has changed to May 11, 2022.
  • Driver updated to v20.0.8069. Various internal changes and improvements were made. Driver updates may require a reboot.
  • Like 1
Link to comment
Share on other sites

6 hours ago, KaosEngineer said:

FATXplorer 3.0 Beta is a Windows .NET 6.0 application that formats and can read/write data from/to a PC connected UNLOCKED hard drive for the ogXbox.  However, I don't know if it currently supports using cluster sizes larger than 64KBs required to create extended partitions larger than 1TB in size.

Edit: From FATXplorer 3.0 Beta's latest release notes:

v3.0.0.22744 (Beta 19)

Released on: February 10, 2022

  • This release has an accompanying announcement post. Click here to view it.
  • FATXplorer can now format and load OG Xbox HDDs up to 16 TB in size for use with Cerbios. 
    • (KE here, I'm not sure what the differences are between Cerbios and M8plus-TITAN.  Both require using larger cluster sizes - 128KB, 256KB, 512KB, ... for larger extended partitions - 2TB, 4TB, 8TB, ...)
  • Changed the behavior of the Max button in the formatting tools - it will no longer set a size larger than 1 TB, which is currently the maximum size OG Xbox supports.
  • The expiration date has changed to May 11, 2022.
  • Driver updated to v20.0.8069. Various internal changes and improvements were made. Driver updates may require a reboot.

A new update will be releasing soon that adds support for the larger cluster sizes, and also adds support for formatting Titan HDDs.

I also have a solution for unlocking now, but that isn't ready just yet.

  • Like 6
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Back on Xbox after a Decade ;)

Flashed Titan Bios yesterday, copying over to 3TB HDD ATM. 

I am super happy that the Xbox Community. Is still alive. 

Only Thing missing is IGR, catched myselve giggling when automatically did the Combo on the Controller twice without effect :D

 

Cheers! 

 

Link to comment
Share on other sites

1 hour ago, Aut0mat3d said:

Only Thing missing is IGR, catched myselve giggling when automatically did the Combo on the Controller twice without effect :D

 

Cheers! 

 

I've not tried it but Evox Titan patched BIOS should still have IGR.  I know that Evox's IGR is a bit finicky to activate. 

If I try pressing all 4 buttons in the combo at the same time it doesn't activate on M8 like it does on other modified Xbox BIOSes: ind-bios, X2 or x3.

On Evox, I have to hold both triggers then add the Back and Black buttons to get it to activate.

 

Link to comment
Share on other sites

I have been reading on UDMA-5 support being limited to the Startech adapter. I have this adapter: En-Labs-3-5-HDD-SATA-to-IDE-PATA-Convert

The PCB says P103-5 on it, has anyone tested this one or is this just another RXD-629A7-7 clone? I am really excited about UDMA support to be honest!

Link to comment
Share on other sites

10 minutes ago, KaosEngineer said:

If UDMA 5 doesn't work with that adapter, you'll have to try one lower. No matter what you WANT!

My apologies, I was only joking around by quoting spinal tap. I've just ordered a startech adapter to get the most out of the xbox.

  • Haha 1
Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

Board Life Status


Board startup date: April 23, 2017 12:45:48
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.