Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
win64-build | 2016-11-21 | ||
win32-build | 2016-11-21 | ||
source-packages | 2016-11-21 | ||
README.txt | 2016-11-21 | 3.6 kB | |
Totals: 4 Items | 3.6 kB | 11 |
unice68 - ice packer and depacker unice68 is part of the sc68 project (C) 1998-2016 Benjamin Gerard ABOUT UNICE68 unice68 project is a "C" library and a command line program for packing and depacking !Ice compressed files. Both the packer and depacker are buffer based only, you can't stream them. The depacker is based on the original ICE unpack public source file version 2.40. The packer is based on the original PACKICE version 2.35. This difference does not really matter as the file generated by the 2.35 cruncher are compatible with the 2.40 decruncher. The only problem is the magic 4CC identifier being different ('Ice!' for the version 2.35 / 'ICE!' for the version 2.40). Unice68 depacker will accept both. Unice68 packer will generate the 2.40 by default for compatibility issue, even if it should not. It is still possible to force the header with the library and the cli program. In the begin unice68 was a front-end to the original *native* ICE! depacker routine written in 68000 assembler. It was functional enough but pretty much slow so I decided to convert the 68000 assembly to "C" code. This conversion is straight forward and kind of ugly. In 2013 the packer source which was not available until then came to my attention (I think it was released in 2011 but I'm not sure). Because sndh files is the dominant format sc68 need the best possible support for them. Also it save me the time to maintaining the sc68 music database. A few sndh files are bugged and too many of them lack the duration information in their header, this is something I really don't like with them so I intended to fix that and submit the modified file back to their respective maintainer. SNDH files being by convention ICE! packed I can now do that without launching a ST (simulator or real) to achieve this goal. Just like the depacker I have first tried a simulated version but it was clearly too slow so I decided to do the same I had done before with the depacker: to convert the m68k assembler source into "C" code straight forward. Maybe someday I will take the time to do something cleaner but do not expect too much. To perform the first simulated try with the ice packer the source had to be cleaned. Mainly stripping every thing unnecessary like TOS/GEM/AES calls to keep only the main crunch routine. Also in the process it has become PIC (position independent code) and re-entrant (variables are stored in the stack rather than globally). ABOUT ICE! ICE was a common compressor running on Atari ST(tm) and compatible machines made by Axe of Superior. sc68 project needs to handle the many ICE! compressed Atari ST music files (namely sndh files). From the source files you can read: PACK-ICE is simply the best packer that's available on the ST. I used especially much time to get the depacking-routine as small and fast (!!!) as possible HERE COMES A NEW CHALLENGER pack-ice source code has been release. It's a much comprehensive ice packer/depacker library with various command line utilities. pack-ice by Lars Brinkhoff <lars@nocrew.org> is available at <https://github.com/larsbrinkhoff/pack-ice> I might or not use this library in the future. It's clearly cleaner than unice68 rough conversion of the 68K code. However unice68 has been extensively tested and it's working flawlessly (so far).