fragglet / lhasa

Free Software LHA implementation
http://fragglet.github.io/lhasa/
ISC License
80 stars 15 forks source link

supporting -lhx- method #11

Closed roytam1 closed 12 years ago

roytam1 commented 12 years ago

-lhx- method is creatable with unlha32.dll (wrapped to command-line with undll, whole package: http://roy.orz.hm/test/unlha32.zip , usage is similar with original lha.exe: unlha32 a -jmm17 archive.lzh [files...]) by specifying -jmmXX option where XX = 17 - 19. -jmm17 = 128K dictionary, 18 = 256K and 19 = 512K.

roytam1 commented 12 years ago

BTW I am able to create -lh4- archive using lha213.exe by using pce emulator and limiting total memory to 256KB. http://roy.orz.hm/test/lh4.lzh

fragglet commented 12 years ago

Thanks for the information. The only archives I've been able to generated with unlha32.dll until now have been by using LHmelt, but I always assumed that there was a more direct (command line) way to generate archives, so this is very useful.

Ideally I do want to support -lhx- but it's difficult for me to do so: as far as I know there is no public description of the algorithm and the source code to unlha32.dll is not available for me to use as a reference. It's a fairly obscure algorithm (only supported by unlha32.dll) so without more information it's probably unlikely that I'll write a decoder for it.

By the way, if you have information like this in the future, please contact me directly by email (see the AUTHORS file); do not create bugs for things that are not bugs.

Thanks!

roytam1 commented 12 years ago

Ideally I do want to support -lhx- but it's difficult for me to do so: as far as I know there is no public description of the algorithm and the source code to unlha32.dll is not available for me to use as a reference. It's a fairly obscure algorithm (only supported by unlha32.dll) so without more information it's probably unlikely that I'll write a decoder for it.

It seems that lh_new_decoder.c is capable with lhx -jmm17/-jmm18 from my testing (#define HISTORY_BITS 19), but it fails with -jmm19 with CRC error and output differs.

By the way, if you have information like this in the future, please contact me directly by email (see the AUTHORS file); do not create bugs for things that are not bugs.

Got it, I'll do it next time.