Exomizer 2.0.10

The place for codemasters or beginners to talk about programming any language for the Spectrum.
User avatar
Alessandro
Manic Miner
Posts: 491
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Exomizer 2.0.10

Post by Alessandro » Mon Jan 01, 2018 11:03 pm

Last Christmas, Magnus Lind released version 2.0.10 of Exomizer, his data compression utility, after more than two years from the previous update.

The utility is very efficient, although decompression is on the rather slow side. However, if data size is your priority, I think it is the better choice available at the moment. I had to use it for Lost In My Spectrum v2.0 to keep compressed files under 16384 bytes, in order to fit each game section into the 128K memory banks.

More information and download at the Exomizer web page. The package also contains the Z80 decompressor routines by Jaime Tejedor Gomez (Metalbrain), optimized by Antonio Villena and Urusergi.
2 x

Hikaru
Microbot
Posts: 100
Joined: Mon Nov 13, 2017 1:42 pm
Location: Russia
Contact:

Re: Exomizer 2.0.10

Post by Hikaru » Tue Jan 02, 2018 5:39 am

Thanks for the heads up. Excellent stuff, although I assume the unclear licensing status for the Z80 decompressors will prevent it from seeing more usage in original projects.
0 x
Inactive account

User avatar
Seven.FFF
Manic Miner
Posts: 340
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Exomizer 2.0.10

Post by Seven.FFF » Tue Jan 02, 2018 5:15 pm

Urgh. I recently used a nice Z80 heapsort routine that has a callback function to sort complicated datastructures. I'm really grateful to the author, am glad he made it available, and happy to comply with an opensource licence.

But I'm still annoyed I have to fill up valuable Spectrum RAM with unnecessary references to the Regents of the University of California, just cos he used a boilerplate copy of the 2-clause BSD licence instead of one that refers to "the copyright holder" :/
0 x
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

C.Born
Berk
Posts: 36
Joined: Sat Dec 09, 2017 4:09 pm

Re: Exomizer 2.0.10

Post by C.Born » Sat Jan 27, 2018 2:43 am

Hello,
I tried the new z80 decruncher, but with data compressed with the old version as used by wav2ay.

I manualy replaced the exomizer decruncher in the created asm but it fails, the screen is filled with a kind off 'square' blocks hieroglyph style
this is the 'original' but with out decruncher. this is the suposed result as datablocks
http://www.cborn.nl/zxfiles/plop-bump-flut.z80
this is the 'original' with OLD decruncher
htpp://www.cborn.nl/zxfiles/48k_plop-bump-flut.asm

this is with v2.0.10 z80 decruncher
http://www.cborn.nl/zxfiles/pbfexb0003.z80
http://www.cborn.nl/zxfiles/pbfexb0003.asm
i moved hl' and iy to the stack, but probably i forgot something Or perhaps the crunching changed to much inbetween different exomizer versions.
0 x

dwinters18
Berk
Posts: 20
Joined: Sat Dec 01, 2018 6:45 pm

Re: Exomizer 2.0.10

Post by dwinters18 » Sat Dec 01, 2018 6:49 pm

Hi,

I am having similar issues with exomizer. I have tried both versions of the decruncher that come with the main zip and both just don't decompress properly, fill the screen with garbage and then reset.

I am passing the compressed data to HL and target memory to DE and calling the deexo function.

I was wondering if perhaps I am calling exomizer wrong - the following works for decompressing if using the 6502 decruncher:-

exomizer level test1.dat,0 -o test1.pak

The .pak file that is created is of course smaller as expected.

Is there a way to get it to work anybody?

D
0 x

dwinters18
Berk
Posts: 20
Joined: Sat Dec 01, 2018 6:45 pm

Re: Exomizer 2.0.10

Post by dwinters18 » Sat Dec 01, 2018 9:50 pm

Just to add to my last post, in the z80 readme says

The deexo_simple.asm and deexo_simple_b.asm decrunchers don't handle literal
sequences and assumes that the table for bits and base is aligned to a
256 boundary.

Although I am not sure what part of the example deexo.asm files the above bits and base relates to ?

D
0 x

User avatar
lister_of_smeg
Berk
Posts: 37
Joined: Thu Nov 16, 2017 1:44 pm

Re: Exomizer 2.0.10

Post by lister_of_smeg » Sat Dec 01, 2018 10:05 pm

dwinters18 wrote:
Sat Dec 01, 2018 6:49 pm
Hi,

I am having similar issues with exomizer. I have tried both versions of the decruncher that come with the main zip and both just don't decompress properly, fill the screen with garbage and then reset.

I am passing the compressed data to HL and target memory to DE and calling the deexo function.

I was wondering if perhaps I am calling exomizer wrong - the following works for decompressing if using the 6502 decruncher:-

exomizer level test1.dat,0 -o test1.pak

The .pak file that is created is of course smaller as expected.

Is there a way to get it to work anybody?

D
Are you defining exo_mapbasebits? Or are you perhaps overwriting this buffer with your decompressed data?
0 x

dwinters18
Berk
Posts: 20
Joined: Sat Dec 01, 2018 6:45 pm

Re: Exomizer 2.0.10

Post by dwinters18 » Sat Dec 01, 2018 10:11 pm

Thanks for the reply.

I have tried exo_mapbasebits at the end of the deexo source code (where it was originally when first removed from the zip) and I have also tried org'ing it to for example 49152 (for testing) which I think caters for the 256 boundary thing (correct me if I am wrong please).

But both cases don't work. They just make spectrum emulator reset.

The exo_mapbasebits org at 49152 is below my test compressed data (only about 80 bytes) org'd for test at 50000 and the destination org'd at 52000

D
0 x

User avatar
lister_of_smeg
Berk
Posts: 37
Joined: Thu Nov 16, 2017 1:44 pm

Re: Exomizer 2.0.10

Post by lister_of_smeg » Sat Dec 01, 2018 10:18 pm

Is your code returning to BASIC? If it is, you'll need to push IY to the stack beforehand and pop it back afterwards.
0 x

dwinters18
Berk
Posts: 20
Joined: Sat Dec 01, 2018 6:45 pm

Re: Exomizer 2.0.10

Post by dwinters18 » Sat Dec 01, 2018 10:20 pm

Hi

No its not returning to basic. It is part of a setup of a main loop that will eventually be using the unpacked data. (if that makes sense.)

Its all an assembler thing no basic (apart from what runs it)

D
0 x

Post Reply