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

btile: alternative DATASET compression: ZX0 with initial prefix table #110

Open
1 of 2 tasks
jorgegv opened this issue Oct 10, 2022 · 1 comment
Open
1 of 2 tasks
Assignees
Labels
enhancement New feature or request size optimization
Milestone

Comments

@jorgegv
Copy link
Owner

jorgegv commented Oct 10, 2022

Again, Bedazzle in SC forums said:

My thought was - ZX0 does support compressing with prefix, thus memory blocks with some similar data can be compressed separately while using some constant dictionary at start, and achieving good results for dozen parts, like these were packed in one go.
Some time ago I played with compressing Lode runner levels. There was used ZX7, and of course compressing each level separately resulted in not so good compression, while packing all the levels in one go was brilliant. But having all 100+ levels in one compressed block does impossible to unpack one particular level. So I was pointed by one guy (thanks, Intospec) to create prefix (dictionary) for all these levels, and packed each one separately. Resulting total size was much smaller, than all the levels packed separately, and a little bigger than all levels together.

Ideas to test:

  • We can try to compress all DATASETs in a bank in this way, store the initial prefix table in the bank and see if better compression is achieved.

  • We can also compress all DATASETs and store the initial prefix table in low memory (if it's not big) and see if better compression achieved - Update: this is not possible. The prefix must be at the beginning of the decompressed data.

@jorgegv jorgegv added enhancement New feature or request size optimization labels Oct 10, 2022
@jorgegv jorgegv added this to the Release 0.6.0 milestone Oct 10, 2022
@jorgegv jorgegv self-assigned this Oct 10, 2022
@jorgegv jorgegv changed the title btile: alternative ZX0 compression with existing prefix table btile: alternative DATASET compression: ZX0 with initial prefix table Oct 10, 2022
@TheStruggleForAntiSpaghetti
Copy link

@jorgegv jorgegv modified the milestones: Release 0.6.0, Release 0.7.0 Apr 1, 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 size optimization
Projects
None yet
Development

No branches or pull requests

2 participants