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

Fix OoB checks in ZSO + Updated Python ZSO script #1209

Merged
merged 5 commits into from Apr 1, 2024

Conversation

JoseAaronLopezGarcia
Copy link
Contributor

Pull Request checklist

Note: these are not necessarily requirements

  • I reformatted the code with clang-format
  • I checked to make sure my submission worked
  • I am the author of submission or have permission from the original author
  • Requires update of the PS2SDK or other dependencies
  • Others (please specify below)

Pull Request description

  • Replaces the aproximated calculation of total zso blocks with an exact calculation.
  • Improved OoB checks in ZSO.
  • Updated ZSO script should generate better images (tested with Prince of Persia - Sands of Time on internal HDD, it would hang with the older script, this one generates a working image).

@10522
Copy link

10522 commented Apr 1, 2024

@JoseAaronLopezGarcia, is it also possible to fix this issue? By the way, this issue is already fixed in ZISO compressor.

@JoseAaronLopezGarcia
Copy link
Contributor Author

@JoseAaronLopezGarcia, is it also possible to fix this issue? By the way, this issue is already fixed in ZISO compressor.

The ziso script allows changing a few parameters, they might help fix some games, specially the threshold paramenter.

There's nothing I can do about CDROM images since they have a different block size than DVD, what I do is use WinBin2Iso to convert the CD image to an ISO and then convert that to ZSO.

The ziso script enforces a block size of a multiple of 2048, we can get rid of this and have any arbitrary block size, though the zso reader in opl is optimized for 2048 and won't work for any other block size. It is possible to make a zso reader that would work with arbitrary block size (the original zso reader I made was based off one that did just that), but without a proper way to modularize OPL there's not much we can do.

Copy link
Member

@uyjulian uyjulian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

@AKuHAK AKuHAK merged commit c27f39a into ps2homebrew:master Apr 1, 2024
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants