Bagel is a new NES CHR compression codec. It decompresses to 64 byte blocks, saves roughly 43.3% in data size, and is only 3x as slow as a raw memory copy. The block decoder compiles to 137 bytes of ROM. Attached is a zip file containing the encoder, decoder, and a demonstration on the various setups the main block decoder can be used in. The demo also includes a game.
Prerelease discussion follows:
---
So lately I've had a few compression ideas that I might try out (and possibly silently fail at). If I were to try to make another compression scheme that had a fixed the decode window of 128 bytes, and has an optional dual segment setup like pb53, would this fulfill 99% of use case of how pb53 is currently used?
Prerelease discussion follows:
---
Last time on PBJ, tepples wrote:
Can your decoder break the RLEINC2 runs into fixed-size output packets? Say I wanted to decode 128 bytes, send that to VRAM, decode the next 128 bytes, send that to VRAM, etc. That was my original motivation behind PB8: to be able to decode while rendering is on.
So lately I've had a few compression ideas that I might try out (and possibly silently fail at). If I were to try to make another compression scheme that had a fixed the decode window of 128 bytes, and has an optional dual segment setup like pb53, would this fulfill 99% of use case of how pb53 is currently used?