Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xbox 360 functionality #28

Open
JayFoxRox opened this issue Jun 4, 2019 · 5 comments
Open

Xbox 360 functionality #28

JayFoxRox opened this issue Jun 4, 2019 · 5 comments

Comments

@JayFoxRox
Copy link
Member

There's some Xbox 360 functionality.

We have to decide wether we want to keep these parts:

  • The XGD3 support: might be useful for the Burger King games?
  • The "$SystemUpdate" folder skip: a dirty hack and should be avoided / removed (broken anyway).

Unless it affects original Xbox, I feel that we should remove features.

Removing these features will probably prevent some users from switching to our fork, but we never test these features anyway (so they might be broken). I'd also assume that there's better tools for Xbox 360.

One negative aspect is that we might have to rebrand our fork: There's already extract-xiso in some distributions, and I doubt they'd allow 2 versions of the same tool. We couldn't replace the original tool anymore as people might depend on the 360 functionality.
If we keep these features, we could take-over those packages - the upstream hasn't been updated in more than 5 years and tickets remain unanswered.

@Pandoriaantje
Copy link

Please don't remove. This is the only tool I use on Linux for 360 iso management. a.f.a.i.k there are no other options. There is exiso, by somski and its GUI, but that is only extract-xiso, with his patches, and those are backported to extract-xiso (a.f.a.i.k).

case sensitivity could be fixed with strcasestr(). Mind you this is a non standard function, and could break windows build.
for windows, this coud be a viable option: https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strstria

and do a :

#include <shlwapi.h>

...

#define strcasestr StrStrIA

@JayFoxRox
Copy link
Member Author

JayFoxRox commented Mar 3, 2020

(This is my personal opinion, other XboxDev maintainers might disagree)

This is the only tool I use on Linux for 360 iso management. a.f.a.i.k there are no other options

I don't follow the 360 scene but I'd imagine that there are other tools, too. Even then you'd rarely need this as the 360 scene had better dumping standards.

So what do you actually use this tool for? What's your use-case?

Also note that we'll probably ditch extract-xiso or do some major refactors to solve these problems (which already existed in the original version):

On top of that we also never became an upstream for extract-xiso (which is probably good due to issues described in the first post).

If you feel like maintaining an XISO tool I'd suggest to fork extract-xiso (ours or another one) and fix these critical issues. I don't mind having a new upstream for this tool (potentially with 360 support).
I personally don't care for extract-xiso - it's easier to write a simple Python script in an hour or two.

The "$SystemUpdate" folder skip: a dirty hack and should be avoided / removed (broken anyway).
case sensitivity could be fixed with strcasestr().

It's not that we don't know how to fix it: we just have no motivation to do it. XboxDev is an organization for original Xbox. We don't care for 360.

For original Xbox, we have very few use-cases:

  • Extract XISO for emulation in Cxbx-R (by design, but it might eventually have its own XISO driver)
  • Repack XISO for emulation in XQEMU (temporary hack due to missing DVD drive security emulation, can be avoided by just trimming files)
  • Extraction for reverse engineering (in practice we have alternatives like getting files via FTP)
  • Creation of XISO for modding (in practice not necessary as people use FTP and modding scene is mostly dead)
  • Creation of XISO for homebrew

Note that with extract-xiso:

  • Extraction is broken
  • Repacking not necessary and not optimizing as it pretends
  • Creation creates a slow disc (typically not an issue when running in emulation or from harddisk)

...so it doesn't do any of these tasks properly. So expect refactors after complexity reduction, or different tools.

This "$SystemUpdate" feature is a dirty hack in my opinion (against UNIX Philosophy and unecessary + poorly implemented).
It increases code complexity but doesn't offer many benefits probably: extracting that path only takes a couple of seconds / couple of MiB - not an issue in 2020. It's also only for Xbox 360, which we do not care about.
Note that you also still have to pre-process your redump style dumps anyway (which is similar to the post-processing that would be necessary if we dropped this feature).

Maintaining this spaghetti code is hard enough as is - so any reduction in complexity would help to carry on with this codebase. Without a reduction of complexity I assume that this codebase will be replaced by something else entirely (and because of XboxDev roots, it almost certainly won't support 360 discs).

@Wontell
Copy link

Wontell commented Jun 19, 2023

(This is my personal opinion, other XboxDev maintainers might disagree)

This is the only tool I use on Linux for 360 iso management. a.f.a.i.k there are no other options

I don't follow the 360 scene but I'd imagine that there are other tools, too. Even then you'd rarely need this as the 360 scene had better dumping standards.

So what do you actually use this tool for? What's your use-case?

Hi, its 2023, whats the status of the tool for xbox360 images?
I only need it for the emulation, i used it to shrink OG xbox images and want to do the same for x360 images to save space.
It works, re-creates an image and emulator op[ens it fine
But i cant check every game and i have no idea if it will keep working in the middle of the game or end of the game

@B1BU
Copy link

B1BU commented Aug 2, 2023

(This is my personal opinion, other XboxDev maintainers might disagree)

This is the only tool I use on Linux for 360 iso management. a.f.a.i.k there are no other options

I don't follow the 360 scene but I'd imagine that there are other tools, too. Even then you'd rarely need this as the 360 scene had better dumping standards.
So what do you actually use this tool for? What's your use-case?

Hi, its 2023, whats the status of the tool for xbox360 images? I only need it for the emulation, i used it to shrink OG xbox images and want to do the same for x360 images to save space. It works, re-creates an image and emulator op[ens it fine But i cant check every game and i have no idea if it will keep working in the middle of the game or end of the game

Same here

@mborgerson
Copy link
Member

As JayFoxRox said above, XboxDev organization is focused exclusively on the original Xbox. We don't intend to support this tool, or others, for use on Xbox 360 media. Moreover, we will likely stop supporting the tool altogether now that we have alternatives.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants