Closed BrianPugh closed 3 years ago
Awesome! I've merged #103 now so you should be able to rebase this branch to get rid of the extra commits.
I've pulled in the commits to the main branch of https://github.com/kbeckmann/retro-go-stm32/commits/main
PR has been rebased! I added back in ignoring linting rule E203 because it conflicts with black
GB/GBC compression support is basically ready (it just requires this PR as well as some additional stuff in retro-go-stm32
). You'll see a PR there soon, so we should merge that, update the submodule reference here, then merge (so at that point, both NES and GB/GBC work with zopfli)
Awesome, thanks! I have merged the pr in retro-go-stm32.
Could you update the help string too? Something like
help=f"Compression method. One of {', '.join(filter(lambda x: not x.startswith('.'), COMPRESSIONS.keys()))}. Defaults to no compression.",
or so. You can probably write it in a nicer way than me :smile: .
Before finalizing this PR, could you remove the commit 14474fbce8296e3cf57de1ffe32424c38da204b2 and then make a commit that updates the submodule to https://github.com/kbeckmann/retro-go-stm32/commit/4c3264831137d653c67358c614416bc82089530f instead? That way I don't have to cherry-pick from this PR and can just rebase and merge it later.
updated, should we mention something in the readme about setting COMPRESS=zopfli
during building if people want to use it?
Also, needing to run python3 -m pip install -r requirements.txt
if they choose to use this.
Great! Yeah, a comment in the readme is probably a good idea.
README updated, let me know if its too much.
Thanks! No it’s great.
Note: the other
parse_roms.py
related PRs should probably be merged in first, which will make this PR look much smaller.Summary:
zopfli
compression toparse_roms.py
. This is a high compression ratio algorithm that outputs DEFLATE encoded data.parse_roms.py
since zopfli takes longer to compress data.miniz
inretro-go-stm32
via cherry-picks. This originally was primarily used for encoding/decoding save-state screenshots as well as game artwork vialupng
. We don't use that at all in this project, so I disabled compilation and linking oflupng
.zlib
/DEFLATE
decompression support for NES roms. I detect to do this based on the ROM file extension.Current downside of this PR as is:
zopfli
compression to GB/GBC games. While the compression should be correct, I haven't coded up the pairing decoder (however thats my next task).retro-go-stm32
to my fork, we should merge in those cherry-picks to your forkFor completeness, here are some comparisons on NES games: