DC-SWAT Forum

Полная версия: lzo compressed images in DS?
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
i've watched the part 2 of the videos uploaded to youtube, and seems like txr2 is running a lot better than before.

Are you using some kind of compression -lzo?- in iso images? (if the answer is YES, i want to know how to do it!)


bye =)
Yes, there is a compressed image. You can compress the image with a new iso make pack v2.
i use linux and the iso make tools does not work on it. can i make a cso with lzop file compressor?
No, but you can compile this util from source code.
thanks!
SWAT, do you have compiled binaries for Linux? I compiled source code, but when I run "./ciso", it gives me Segmentation fault. When I run "./ciso lzo 9 image.iso image.cso" I get Floating point exception.
I no, but Guaripolo probably tried. And I do not see any problems there, it should work, the program is simple.
I was using fake iso image. If I use correct iso, all works great.

There should be info "wrong iso format, can't compress image" Smile
Yep Smile
1. There's no info, how to decompress .cso
I read source code, and now I know "ciso lzo 0 image.cso image.iso" is for decompressing. Smile

2. It seems that it compress only with level 1. If I compress with level 9, I get the same file size like with level 1, or level 5.

I tested the some iso file with lzop compressor. And lzop gives different file size, with different compression level.

I don"t have Windows OS right now. Can you test (win32) ciso.exe with different compression level with this iso?
http://www.retroguru.com/sqrxz/sqrxz-v0996-dc.iso
Using Linux "ciso", always give me 1 443 370 bytes, when I compress this iso.

3. Why you skip zlib compression? It can by useful with homebrew software.

4. How big is lzo decompression module? Some commercial games don't work with compression. Some freeze in the beginning of gameplay.
I'm just modified original code by BOOSTER, added lzo type (in original only zlib), no any more changes. I agree that it needs some work, at that time I had to do it quickly.
LZO compression supported only one mode 1x_999 at all. That is optimal for good compression and decompression speed of iso images on the fly.
ZLIB compression supported level selection, but zlib not supported by loader (no free memory for this), only DS kernel can mount this cso format as filesystem directory.
LZO library size is small, the problem is in the buffer for decompression. It uses an additional area of high memory. This memory area can be used in some games Sad
SWAT, thank you for explanations. I just read that lzo decompression speed is always the same, no matter what compression level we use. This means that maximum compression level is optimal, and there's no need to use lower compression levels.

"Segmentation fault" error was caused by "%s" in printf. Probably some old compilers may have problem with this.

I made a small change:
Цитата:printf("Usage: %s library level infile outfile\n", argv[0]);
printf(" level: 1-9 for compress (1=fast/large - 9=small/slow), 0 for decompress\n");
printf(" library: zlib or lzo\n\n");
return 0;
And now it works OK.
URL ссылки