Neues XBox Classic Bios TITAN für bis zu 16TB HDD's

  • Kurz vorab. Da ich eigentlich darauf gewartet habe das mbs18 die News selbst bring anstelle mich nur mit der Nase drauf zu stubsen (Danke alter Mann :ll: ). Credits somit an mbs18. :)


    Hier also also die News.


    Erneut hat ein Bios das Licht der welt erblickt was man eigenntlich nicht braucht. Die original News im QUOTE.


    Ich war so frei die Biose für XBox 1.0 - 1.4 und XBox 1.6 zu patchen. Diese liegen alle UDMA 2 / UDMA 4 / UDMA 5 patched sowie als noDVD und yesDVD vor. Ingesammt also 12 Biose.

    Das Patch Level ist v1.0.1 (Also aktuell). Den Download findet ihr unten im Anhang.


    Und GAAAAANZ WICHTIG, lest den Guide! : https://github.com/gaasedelen/titan/blob/main/GUIDE.md

    Ihr müsst euch die Software welche zum formatieren der HDD XBox HDD mit der richtigen cluster size Größe selber (!!!) unter Linux compelieren oder mit Visual Studio 2019 + Qt in Windows. Das ist also NICHTS (!!!) für Leute die sich damit nicht auskennen.

    Einfach flashen und geniesen GEHT HIER NICHT!


    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

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

  • anstelle mich nur mit der Nase drauf zu stubsen (Danke alter Mann :ll: ). Credits somit an mbs18. :)

    Nur darum ging es mir8o^^ mehr Speicher brauch das Land:thumbup:

  • Und ein Update von gaasedelen welches das patch lvl auf 1.1.0 anhebt und einige wichtige fixes bietet (Siehe Quote unten).

    Die pre patched bios files wie immer unten im Anhang.


    Zitat

    v1.1.0 -- CHANGELOG

    • Titan now supports an 'arbitrary' number of sectors per cluster (#5)
    • Fixed a bug where Titan was incorrectly calculating partition length (#6)
      • This change will 'break' existing Titan partitions... but it is best for long-term compatibility with the Xbox ecosystem
    • Updated README a bit with a few more notes since the initial release
  • 4TB? Bisher gingen maxiaml 2TB (1,85TB) (Oder eine 3TB von der dann volle 2TB nutzbar waren). Für alle XBox games (Pal/NTSCU/NTSCJ Mix) reicht quasi eine 3TB Platte voll und ganz aus wenn du jetzt nicht NBA 04 - 06, NFL 04 - 06, NBL 04- 06 usw usw, mit drauf haust und die zusätzlichen Sprachen, Demos und Updates enfernst. Und bezüglich emulation bis du mit einem Raspbarry PI warscheinlich besser bedient.


    BTW. eine kleines UPSDATE:


    Eaton hat sein FatXplorer 3.0 in der Version Beta 20 freigegeben und diese kann nun Festplatten für TITAN & Cerbios formatiern. :thumbup:

  • 4TB? Bisher gingen maxiaml 2TB (1,85TB) (Oder eine 3TB von der dann volle 2TB nutzbar waren). Für alle XBox games (Pal/NTSCU/NTSCJ Mix) reicht quasi eine 3TB Platte voll und ganz aus wenn du jetzt nicht NBA 04 - 06, NFL 04 - 06, NBL 04- 06 usw usw, mit drauf haust und die zusätzlichen Sprachen, Demos und Updates enfernst. Und bezüglich emulation bis du mit einem Raspbarry PI warscheinlich besser bedient.


    BTW. eine kleines UPSDATE:


    Eaton hat sein FatXplorer 3.0 in der Version Beta 20 freigegeben und diese kann nun Festplatten für TITAN & Cerbios formatiern. :thumbup:

    Asche über mein Haupt! Ich war im Kopf bei der PS2 dennoch ist eine derartige Festplattengröße für eine Voll ausgestattete OG XBOX einfach nur mehr als genial.


    Es ist ja nicht so, das ich auf Raspis zurück greifen müsste!; ;) Ich hatte vor jahren mal eine Xbox die ich verschenkt hatte. Diese War voll mit sämtlichen Kram und es hat nie gereicht :D. Es geht mir auch eher darum von sämtliche Konsolen voll ausgestattet zu besitzen. Quasi das eigene Retro Museum/Videothek zu haben. Soviel spielen kann man eh nicht aber archivieren, pflegen und sammeln ist voll mein Ding

  • Dann wirst schon sowas wie 8TB brauchen.


    Ich bastel grade an meinem OGXBox HDD Image (So ein: It`s done when it's done project). Habe dafür ALLE XBox games geladen (1050 oder sowas waren das + Alle Homebrew Games & Arcade Games), bearbeitet und für XBMC4Gamers, XBMC-Origins (Cutom revistet version), UnleashX sowie XvGM angepasst. Sprich egal welches Dash du lädst du hast überall covers, videos sounds etc. pp.. Begrenze mich dabei aber selbst auf 4TB. Vorranging sind eh die XBox GAmes und sowas wie Coinops ist dann beiwerk. Ich setz da mehr auf "Stand alone" Emulatoren mit den Games die mich interessieren.


    Mal sehen ob das jemals fertig wird. Da ist einfach so verdammt viel zu machen....

  • Ja und da ist noch nicht mal alles drin. Was für warez? Niemals nie nicht. Ich doch nicht. :D

  • Gibt es inzwischen einen Weg eine Xbox mit reinem Softmod zu mehr als 2TB zu bewegen? Möchte ungern einen Hardware Mod.

    Beim Softmod entfällt ja die Möglichkeit ein custom BIOS zu flashen und gelockt muss die HDD beim Softmod ja auch werden, wenn ich mich recht entsinne, oder 🤨


    Hab um mehr Platz zu haben vor knapp 2 Jahren eine alte 1,5 TB in meine softgemoddete eingebaut. Da die HDD noch nicht auf Kompatibilität getestet war, hab ich diesen Eintrag hinterlassen.

    Xbox Hard Drive Compatibility Chart

  • Beim Softmod entfällt ja die Möglichkeit ein custom BIOS zu flashen und gelockt muss die HDD beim Softmod ja auch werden, wenn ich mich recht entsinne, oder 🤨

    ja genau, des wegen ist eine Xbox Classic mit Chip schon pflicht xD alleine dafür das die HDD nicht gelockt werden muss 8o

  • Gibt es inzwischen einen Weg eine Xbox mit reinem Softmod zu mehr als 2TB zu bewegen? Möchte ungern einen Hardware Mod.

    Beim Softmod entfällt ja die Möglichkeit ein custom BIOS zu flashen und gelockt muss die HDD beim Softmod ja auch werden, wenn ich mich recht entsinne, oder 🤨


    Hab um mehr Platz zu haben vor knapp 2 Jahren eine alte 1,5 TB in meine softgemoddete eingebaut. Da die HDD noch nicht auf Kompatibilität getestet war, hab ich diesen Eintrag hinterlassen.

    https://xboxdrives.x-pec.com/?p=drive&did=6499

    Nein im Moment sind maximal 2TB mit Softmod möglich und ob John da was bastelt wage ich zu bezweifeln.

    Wenn das Cerbios Team von ihrem Bios eine BFM Version raus haut (Was ich persönlich für eminen Installer hoffe) wäre auch ohne Softmod über umwege mehr als 2TB drin (Denkspiel : DU bootest den SM und dann das BFM Cerbios was wiederum dann X4G läden würde um die weiteren PArtitionen nutzen zu können. Also umständlich und zeitraubend). TSOP Flash deine XBox (Wenn nicht grad eine 1.6).

  • Hi,

    ich hab 1 der Biose geflasht und läuft. KA wer die ganzen Biose gebastelt hat, aber scheint alles zu passen.

    Eigenarten:

    -Big F: ist hardgecodet. Wer ein G hat, hatte es dann mal :P

    -Titan schreibt (desswegen?) die LBA Infos nirgendwo(?) hin oder irgendwo anders(?), Apps wie XBPartitioner etc. fallen voll da auf die Nase. Ich hab testweise den LBA Check entfernt und dann 1a das Dateisystem getrasht 8o

    Folglich ist sicherlich switchen zwischen Titan und CerBios keine gute Idee.

    -mXm Reloaded hat keine Probleme mit Titan. Durch die Punkte oben hat der Code eine gewisse Selbstheilung betr. G: . :)


    LG,

    lu

  • Der Patch selbst in von gaasedelen und die biose habe ich gepatched. Gibt noch einige mehr nicht für die öffentlichkeit da die nicht n00b prof sind u.a. 128MB Ram patched versionen usw. (Bei interesse PM).


    Und Cerbios und TITAN kannst du mischen. Da stand mal was im Cerbios Discord da hat ein User das alles durchprobiert (Ist GLAUBE ich sogar ein sticky post). Aber wer will das schon. Entweder das eine oder das andere und bei den Problemen die TITAN hat würde ich eh zum Cerbios raten. Schaut nämlich nciht so aus als würde gaasedelen das bios jemals weiter als 1.1 bringen. Aber der code ist auf github ja frei verfügbar.

  • Ah trusted source also :) Hab nicht gesehen wo's herkam und grad keine Muße gehabt das selber zu frickeln.


    Wollte mal testen ob ich mit Titan zumindest 128k Cluster auf die Platte geprügelt kriege, aber ne :(
    Ist sehr eigenartig. Alle LBA Biose schreiben in Configsector die Info rein, bei Titan ist da nix. Sehr eigenartig. Ich hoffte dass wgn

    class Patch_HddPartitionCreate(XboxPatch):

    evtl doch was geht. Die Hoffnung stirbt zuletzt, aber er schreibt ja selber: Mit der XBOX formatieren ist halt nicht.


    Interessant in der readme vom Titanmann fand ich den Link zu:


    GitHub - mborgerson/fatx: Original Xbox FATX Filesystem Library, Python bindings, FUSE driver, and GUI explorer
    Original Xbox FATX Filesystem Library, Python bindings, FUSE driver, and GUI explorer - GitHub - mborgerson/fatx: Original Xbox FATX Filesystem Library, Python…
    github.com


    Das kriegst aber nicht in die alten XBOX-Linux reingewurstet, die mit nem 2.4 oder 2.6er Kernel laufen. Aber:


    GitHub - XboxDev/xbox-linux: Linux for the original Xbox
    Linux for the original Xbox. Contribute to XboxDev/xbox-linux development by creating an account on GitHub.
    github.com


    Quasi topaktueller Kernel. Wenn das funktioniert, dann sind schlagartig alle Probleme mit Formatieren, flashen etc gelöst!


    Was mich hier wieder irritiert: Irgendwie hat sich keiner hingesetzt und ein neues Linux für XBOX zusammengebaut. Na gut mXm lag auch 20 Jahre rum 8o


    So, down the rabbit hole,

    lu

  • Naja, was willst du noch wirklich mit Linux auf der XBox? Nur weils geht ist da zu wenig. Und dank XBlast man eigentlich eine super allround app/bios um alles einzustellen was du einstellen kannst. Das einzigste was wirklich fehlt und neue wege eröffnen würde ist eine neue Version vom XBPartitioner oder eine neue App die Cerbios & Titan formatieren kann (Wobei man auf Titan schon fast verzichten kann).


    Deinen einsatz beim MXM in allen ehren aber ich denke nicht dass sich das wirklich lohnt. Klar ist es nett ein neues update zu haben und neue funktionen aber mehr als "es geht und es ist neu" ist es nicht wenn wir ehrlich sind.

    Es gibt einfach zuviele ansätze von zuvielen leuten und nur für einen Installer? Hmm....


    Hier ein paar links:

    Ryzee117's neues Dash Lithium : https://github.com/Ryzee119/LithiumX was so ne art XBMC light ist.


    Dann ist da noch NevolutionX was auch noch aktiv entwickelt wird : https://github.com/dracc/NevolutionX

    xbox-os (finde den github link nicht und hänge das paket mit source deshalb unten mal an).

    Und finaly gibt es noch OpenDash-Reborn https://github.com/denali1/OpenDash-Reborn


    Also entweder du gehts wirklich all in und machst alles von grund auf als linux installer - just because you can - oder du schreibst eine XBox App mit der man an der xbox die HDD für Cerbios/Titan formatieren kann (Wie gesagt, Titan spilt meiner einschätzung nach keine wirkliche rolle). Das hätte dann den vorteil das viele diese app nutzen können für z.b. ihrere eigenen installer oder einfach so weils geht.


    Und bezüglich XBPartitioner. Mann muss die HDD ja auch nur 2 mal formatieren damit er alles richtig mach (Reboot dazwischen). Keiner weis so recht wieso der im ersten run rumzickt aber nach einem Reboot dann alles richtig macht bei großen HDD's. Ich weis ja nicht ob du das bei deinem XBP versuch berücksichtigt hast.

  • Hi,

    eigentlich ist es ja ganz einfach. Hat nix mit "because I can" zu tun (das wär steil wenn ich's einfach so könnte), aber Linux ist der einzige Weg. Und Linux starten ist auch kein Ding. Ist wie eine App starten, springt im Hintergrund dann die Linux-Maschine an, da merkt der Nutzer nix von.



    Ich habe von allem was ich finden konnte den Quellcode zerlegt, umgeschrieben und rumprobiert und die Ergebnisse decken sich mit dem was allseits bekannt ist: Formatieren mit mehr als 64KB Cluster sprich 1TB geht mit XBOX eigenen API-Calls ("XBOX-App") definitiv NICHT.

    Auch bei XBPartitioner sollte man sich nicht von der Anzeige täuschen lassen. Der rechnet die Clustersize ordentlich aus:

    Code
    void SelectClusterSize()
    {
    g_iClusterSize = 16;
    ULONGLONG compare = 0x20000000;
    while (PartTbl.TableEntries[g_iCurrentPart].LBASize > compare)
    {
    compare = compare * 2;
    g_iClusterSize = g_iClusterSize * 2;
    }
    }


    und schickt die dann mit


    Code
    XapiFormatFATVolumeEx(&partition_str[i], ClusterSize << 10);


    ab.

    Und hier liegt der Hase im Pfeffer. XapiFormatFATVolumeEx() kann maximal 64KB. Befehle mit 128KB oder mehr kann man abschicken, dann rattert es kurz und die Partition ist im Eimer: 0 B free.
    Also: Jedes Programm was auf der XBOX mit einem MS-basierten Kernel läuft (aka "XBOX-APP") rennt hier gegen die Wand.

    Zum Mitschreiben: Auf Programmebene ist da nix zu machen, du musst runter in den Kernel.


    Daraus ergeben sich nun die Möglichkeiten bzg. Formatieren von HDs mit Partitionen>1TB:


    -Ausbau und in PC stecken:
    FatXplorer, gfatx. Bekannte Methoden.

    -Original Kernel aufbohren:

    außerhalb meiner Möglichkeiten und vermutlich auch 99,999% der Menschheit. Mit aufbohren ist auch neu programmieren und nicht patchen=hex-gepoke gemeint. Die MS-Kernelsources schwirren seit 20 Jahren als Leaks durchs Netz, sind aber Stand XBOX 1.0 oder eher. Hab's durch Compiler gejagt, kommt auch ein 1MB Kernel raus der aber nicht bootet. Wegen der Rechtsabteilung von MS ist das auch keine Option.


    -Anderer Kernel (ReactOS, Linux)

    ReactOS xbox port <-ne noch nicht.


    Linux: Voila, alles da. Also fast. Da gibt es die alten 2,4/2.6er Kernel von damals und tatsächlich einen aktuellen Kernel von xboxdev, fatx Treiber von Matt Borgerson, raincoat 0.11, xromwell, etc.

    Also 2 Optionen: Alt oder neu:
    ->A) Alter Krams: Mit den alten Kernels zu arbeiten ist kein Spaß. Da die neue FATX lib reinzupatchen (falls nicht drin) und sonstiges Gefrickel mit steinalter Software ist echt mühselig. Doku und alte Patches ausfindig machen ist pita...

    -->B) Neuer Krams: Klingt gut alles ist da und auf aktuellem Stand, aber es hat sich noch keiner hingesetzt alles zusammen zu bauen. Hab kernel compiled, initrd erstellt, "bootloader" xromwell compiled aber: die ganze Soße bootet nur kurz in den Kernel und das wars dann. Jetzt heißt es wieder studieren.

    Ja es gibt viele Ansätze, aber die fallen alle wgn XapiFormatFATVolumeEx() auf die Nase. XBlast ist besser. Logo, weil basiert auf linux/cromwell :)



    Ich sehe hier in der Linux Abteilung die einzige Lösung für eine ordentliches System-Tool. Für abweichende gesicherte Erkenntnisse bin ich immer offen.

    LG,

    lu


    Noch Update mXm:
    Die Skin Engine ist weiter aufgebohrt, baue grad ein DemoSkin. mXm Kann jetzt synopsis, fanart, thumb, CD , screenshots von XBMC und die Videos von UnleashX GLEICHZEITIG anzeigen. Ich bau gerade noch etwas Kosmetik dass GameIcons nicht aus einem Image sondern aus der XBE direkt kommen (wie es bei allen anderen Dashboards auch ist).

    Ansonsten halte ich mich bei mXm an den Spirit von BJ:

    Zitat

    MXM is designed, first and foremost, as a great looking Games Launcher. It’s features are intended to reflect that.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!