FATX partition write support

Issue #31 resolved
psyko_chewbacca NA repo owner created an issue

Writing files to HDD requires:

  • FATX file entry

  • Identify free clusters in chainmap

  • Temporarly link required clusters for new file in chainmap

  • Copy file data to HDD at correct position pointed by clusters

  • Modify current FATX directory entry to add new file in it

  • Write cluster chain in chainmap for new file

  • Manage file deletion in cluster chainmap

Directory creation and deletion is similar except there is no file data to write and FATX entries are different.

Comments (8)

  1. psyko_chewbacca NA reporter
    • changed status to open

    Working on this at the moment. I'm currently adding FATX support in TinyFatFs. It's a embedded Fat library widely used. It's leaps and bounds ahead of what's currently in Cromwell.

  2. professor_jonny

    would it be possible to add xtaf support too so we could copy between the xbox and xbox 360 being that they play the same games and data could be transferred between the two?

    I believe the only real difference in endian issues between the two and it may be easy to implement?.

    I know it is probably not on the cards for the short term and possibly not many will use it but it does not hurt to ask :-)

  3. psyko_chewbacca NA reporter

    I think there are a couple difference in the FATX implementation of the Xbox 360, namely partition scheming. Other than that, I think it could be a somewhat easy addition. However it's not a priority feature at all. Maybe but don't hold your breath.

  4. professor_jonny

    Would it be possible to enable fat32 support from with in XblastOS for copying files between pc and Xbox without the hassle of slow ftp being that FATX and fat32 are very similar?

  5. psyko_chewbacca NA reporter

    Currently working on implementing FATX partition support in ELM Chan's FatFS library, and subsequently integrate it in XBlast OS.

    It's a self-contained C library that can handle regular FAT partitions. When adding FATX in it, I didn't remove FAT12/16/32 capabilities but I have not enabled it either. I prefer focusing on FATX partition handling for the time being.

    The library in question is not geared toward performance but rather being lightweight, self-contained(no external dependancies) and portable. That could prove to be an issue when transferring files from or to a FAT32 drive to FATX one. Even more, there is currently no DMA support in XBlast OS for file transfers.

    In the end, I suspect HDD-to-HDD file copy performance will not impressive at all. But that's not the goal of this task. I just want FATX write support to be able to implement a FTP server later on in XBlast OS, just to get you going; transfer a dashboard on your new drive and use it instead to do bulk transfer.

  6. psyko_chewbacca NA reporter

    Write support is now working in development tree.

    Be aware that it is slow at the moment. DMA transfer with HDD is to be implemented before this feature could be deemed useful.

  7. Log in to comment