News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_ervin

SOLVED: exomizer vs BitBuster

Started by ervin, 01:02, 15 September 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ervin

Hi folks.

I'm rushing to finish my game for the CPCRetroDev competition, but exomizer has been giving me some serious problems.
In the last few days it has been decompressing my tile data incorrectly, and even crashing outright.

There was a recent mention of potential exomizer crashes in my game's dev thread, but at that time everything was ok.
And I had used exomizer A LOT during Chunky Pixel Curator's development, and never had a problem!
Suddenly, with less than 6 weeks to go, exomizer is being problematic.
:( :'(

Anyway, it's time to stop banging my head against a brick wall (this has cost me several evenings of dev time), and have a look at bit buster (1.2).
The compression is slightly worse for the sort of data I'm throwing at it, but I'm willing to live with that, as my time is running out!
I'm looking forward to the improvement in decompression time (though exomizer was perfectly acceptable).

However, I'm having trouble making bit buster work.
Does anyone have a good depack routine, that has been used successfully recently?

Thanks.

[EDIT] Never mind!!!
I actually got BitBuster working, and I presume exomizer will be ok as well.

Somewhere along the line I had deleted the type declaration in this line of code:

__at(ADDR_EXO_BUFFER) char const G_a[1608] = {

I'm not sure how that happened, but it would likely have been when I was copy/pasting a new set of compressed data into the appropriate array.
SDCC assumed I meant 16-bit int, whereas of course I need the array to be 8-bit char.
How embarrassing!  :-[

Anyway, I am *so* relieved that things are working again!
I really thought my project was in jeopardy!

[EDIT 2] YAY!!! Exomizer is working again!
And so exomizer continues to be excellent and problem-free for me!

Incidentally, for anyone that is interested, here are some benchmarks:

uncompressed: 5729 bytes
BitBuster: 1608 bytes
exomizer: 1428 bytes


Quite a large win for exomizer in terms of compression ratio!


Singaja

To sum up Exomizer is more effective at compression rate but takes longer to decompress than BitBuster? What's the time difference in your case?

ervin

Quote from: Singaja on 10:34, 15 September 15
To sum up Exomizer is more effective at compression rate but takes longer to decompress than BitBuster? What's the time difference in your case?

Yes, apparently exomizer's algorithm is much more complex, and therefore takes longer to decompress.

Having said that, the data I'm decompressing takes something like half a second (note - not scientifically tested!).
It happens between stages in my game, and doesn't affect gameplay at all, so I'm perfectly happy with that.
There is a visible pause in the gameplay during decompression, but it's very quick, and I don't think anyone will mind.
:)

TFM

Quote from: Singaja on 10:34, 15 September 15
To sum up Exomizer is more effective at compression rate but takes longer to decompress than BitBuster? What's the time difference in your case?


Patience... Exomizer is still decompressing...  8)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

arnoldemu

@TFM: has it finished decompressing yet?  ;D
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TFM

No it crashed! Sometimes it happens, dunno why.  ;D
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Powered by SMFPacks Menu Editor Mod