extract-xiso icon indicating copy to clipboard operation
extract-xiso copied to clipboard

Replace extract-xiso with a different tool

Open JayFoxRox opened this issue 6 years ago • 6 comments

This is discussion. Not a plan.

With all those PRs pouring in (which remove legacy features or bad code), I'm wondering if it's such a good idea to even maintain extract-xiso. Aside for creating functional ISOs for XQEMU, nothing really seems to work.

It can obviously not create redump XISO (no tool can) and it can't even extract them.

mborgerson has mentioned that extract-xiso could be replaced with a short python script - and I agree. There's also other projects which seem to do a similiar, or even better job.

Yesterday I found myself with my redump XISO dumps and wanted to run a game on real Xbox. As I'm on Linux I had a hard time finding any software to deal with that. I'd expect extract-xiso to support this, but it doesn't. While looking around, someone on redump IRC recommended xbiso. I've used the xbiso C++ rewrite by @thrimbor ~~which worked just fine for extracting redump XISOs~~. It might work fine, but I used a custom branch which has a hack (not sure if relevant).

I'm not sure how good the code quality of xbiso is (despite having hacked together a version to export metadata about XISO in late 2017). In my opinion we should review tools like it (what is supported? is there feature creep?) and find one which could possibly replace extract-xiso if necessary.

Thoughts?

  • Should we keep extract-xiso?
  • Move xbiso to XboxDev?
  • New tool from scratch? ...

JayFoxRox avatar Aug 12 '18 09:08 JayFoxRox

The code for extract-xiso is not very easy to follow which of course stunts maintainability, but the tool itself does work well (at least in my experience). I don't foresee a lot of changes needed going forward once all build issues are resolved, but that's just speculation. If someone wants to clean the code up a bit (refactoring, cleaning up some of the error handling, adding comments), that would be nice and I'm open to reviewing PRs.

As xbiso does not actually support creating ISOs yet, I don't think it's a suitable candidate to outright supplant extract-xiso at this time...but if someone else wants to develop and maintain xbiso, or a new tool (preferably in Python), which can create/extract, I would support that.

mborgerson avatar Aug 16 '18 01:08 mborgerson

I had actually prototyped a tool in Python after the debacle in #25.

That code can be found here: https://github.com/JayFoxRox/extract-xiso/pull/2.

JayFoxRox avatar Sep 04 '19 18:09 JayFoxRox

I realize this is an old post and @JayFoxRox, I just remembered you're already familiar with xbfuxe but, I just wanted to point out that xbfuse can be used on Linux along with extract-xiso for creating functional ISOs for XQEMU:

    $ xbfuse halo.iso /xbox  # mount the ReDump-style rip
    $ ls /xbox               # look at the files on the disk, just for grins
    $ extract-xiso -c /xbox  # create the xiso that will be named xbox.iso
    $ mv xbox.iso halo.xiso  # rename xiso to something a little more useful
    $ fusermount -u /xbox    # unmount the rip

Source

extract-xiso seems to work okay from all I can tell too but, I am curious about the the state of this Python version you've created as well.

Natetronn avatar Sep 24 '20 22:09 Natetronn

@JayFoxRox "Yesterday I found myself with my redump XISO dumps and wanted to run a game on real Xbox. As I'm on Linux I had a hard time finding any software to deal with that."

If you are on linux you can just use DD in your terminal:

dd if=game.iso of=xiso.iso skip=387k bs=1k

vandoeselaar avatar Nov 26 '20 20:11 vandoeselaar

@Leadhood: Yes, I'm sure JFR is aware of that workaround. But it is just that, a workaround - not a fix.

dracc avatar Nov 27 '20 04:11 dracc

@antangelo has recently developed xdvdfs command line tool and library for xiso management. There's also a nice web interface for it. Apparently I missed, or forgot, that JayFoxRox's Python implementation can also read and write xisos.

Now that we have viable alternatives with read/write functionality, I'm in favor of just dropping support for extract-xiso unless another maintainer wants to continue development and review/merge patches.

mborgerson avatar Aug 02 '23 22:08 mborgerson