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

Implement BIOS compressions #29

Open
1 of 4 tasks
pleonex opened this issue Jul 25, 2022 · 0 comments
Open
1 of 4 tasks

Implement BIOS compressions #29

pleonex opened this issue Jul 25, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request wip Work has started

Comments

@pleonex
Copy link
Member

pleonex commented Jul 25, 2022

Is your feature request related to a problem?
Implement converters that can decompress and compress binary data using the BIOS compression algorithms of NDS:

  • Implement LZSS compression
  • Implement BLZ (backward LZSS) compression
  • Implement Huffman (4-bits and 8-bits) compression
  • Implement RLE compression

Describe the solution you'd like
A converter for each algorithm so that can compress a BinaryFormat into a new one on-memory (optionally with an additional argument to specify the output stream).
A different converter to decompress.

Describe alternatives you've considered
Calling external programs that already exists but it makes complex cross-platform support.
Creating one single class for compressing and decompressing the same algorithm, but for single-responsible-principle and make things easier to understand, it's better one class per operation.

@pleonex pleonex added the enhancement New feature or request label Jul 25, 2022
@pleonex pleonex changed the title Implement BIOS decompressions Implement BIOS compressions Jul 25, 2022
@pleonex pleonex self-assigned this Feb 24, 2024
@pleonex pleonex moved this from Todo to In Progress in SceneGate Framework 1.0 Feb 24, 2024
@pleonex pleonex added the wip Work has started label Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request wip Work has started
Projects
Status: In Progress
Development

No branches or pull requests

1 participant