don't click here

[Up: 06/30/04] TSDC V2.1, KENS V1.3 + Source

Discussion in 'Engineering & Reverse Engineering' started by Magus, Apr 14, 2004.

Thread Status:
Not open for further replies.
  1. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
    Hello, I'm Magus, previously know as Chaos. I've been working on this tool for a while now, and some friend (Ultima) recommended me to post about it here too. So, I just copied the post that was on some other board.

    -----------------------------------------------------------------
    LATEST UPDATES

    KENS V1.3
    - Corrected a bug in the Game Maker wrapper functions. That bug prevented to use the decompression functions.
    - Added the Sonic 2 Sound Driver support to the Saxman compressor and decompressor.
    - Edited the headers and units to reflect the changes in the Saxman functions
    - Changed the info about the Saxman tools in the README.TXT file
    - Radically changed the copyright texts in the sources, so everybody who participated to the KENS Project is recognized for his work

    TSDC V2.1
    - Repacked with version 1.3 of the KENS DLLs
    - Supports the Sonic 2 Sound Driver

    -----------------------------------------------------------------

    Hello my friends !

    Here's the last release of The Sega Data Compressor (notice the name change). It fully supports both compression and decompression of Kosinski, Engima, Nemesis and Saxman formats. TSDC should no longer be updated (but could be repacked with newer versions of the DLLs), unless there's a new compression format.

    As for KENS, it is a pack that contains 4 DLLs, each of them featuring compression and decompression of a format. They are distributed under LGPL, so you have access to their source code. These DLLs can be used by both standard (AKA C/C++ :D), Visual Basic and (new !) Game Maker applications. Using these DLLs instead of having the code written in the application allows to correct bugs in the algorithm without having to recompile the application. I made these DLLs because I had several applications using the algorithms, and it was a pain to update all of them each time I changed something in an algorithm. Though, the very first time I compiled them, it was for Beta, but I then realized they would be extremely useful for everybody, me included. TSDC uses these DLLs.

    If you need help reusing these DLLs in your applications, don't hesitate to ask me for help.

    TSDC-V2.1 (ACE - 91 KB) [Sonik Team Mirror]
    TSDC-V2.1 (SFX ACE - 153 KB) [Sonik Team Mirror]
    TSDC-V2.1 (ZIP - 226 KB) [Sonik Team Mirror]

    KENS-V1.3 (ACE - 67 KB) [Sonik Team Mirror]
    KENS-V1.3 (ZIP - 118 KB) [Sonik Team Mirror]

    KENS-V1.3-Source (ACE - 42 KB) [Sonik Team Mirror]
    KENS-V1.3-Source (ZIP - 66 KB) [Sonik Team Mirror]

    Also available on SourceForge.

    As I heard that some people were asking how that tool works, here are some basic explanations:

    - In order to decompress a file, open one of the decompression tool, and choose the ROM from which you want to extract data, using the first "Set" button. Then, choose a file that will receive the decompressed data, using the second "Set" button. Then, you can either choose a location from the list or typing one yourself (in that case, you MUST write it in hex, and without the 0x prefix). Finally, press the "Decompress" button. The status line should say "Processing..." for a very short time (usually 2 or 3 ms, unless it's a big archive), and then "Done !".

    - Now, compression: run one of the compression tools, and choose the file containing the data which you want to compress, using the first "Set" button. Then, choose a file that will receive the compressed data, using the second "Set" button. All you have to do now is clicking the "Compress" button. The status line should say "Processing..." for a few seconds, and then "Done !".

    - Specific options:
    * Enigma: when compressing or decompressing, you can choose to add and remove padding. This option should only be used when compressing or decompressing a S1 Special Stage. If you added padding when decompressing the Special Stage, then you will have to remove it when recompressing.
    * Kosinski: when compressing or decompressing, you can choose whether the archive is moduled or not. Be very careful when using this. Moduled archives can't be used in place of standard archive and vice versa. In the decompressor, this option is semi-automatic: whenever you click a location line ending by (M), the checkbox will automatically be checked. Do remember to recompress these archives using the moduled option.
    * Kosinski (2): when compressing, you can change the sliding window and maximum recurrence length. This does not have any real use for end-users, but it might be interresting for hackers. If you do not know what I'm talking about, then you will not need these options.

    - Warning: Enigma and Nemesis compression formats are data-type specific. You CAN'T use the Enigma and Nemesis compression / decompression tools for archiving. You could use the Kosinski tools however, but this is pointless, as the compression process is quite long, and the compression ratio not interresting enough. As for the Saxman compression format, it can only compress very small files, and the maximum size of a compressed file is 64 K (I think).

    - Difficulties downloading: if you can't download the files, try opening the FTP folder instead of clicking that link, then drag-drop the file you want to download from your IE window to the desktop or on any folder.
     
  2. Quickman

    Quickman

    be attitude for gains Tech Member
    5,595
    18
    18
    :x
    omg porjcet
    Do you think a Linux version would be possible?
     
  3. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
    Well, Kram was supposed to work on a Linux version of the libraries (as you can see on SourceForge), but I haven't heard about it for a while now. I might make the Linux version myself, but this is quite unsure. However, if someone here wants to port the libraries to Linux, or any other OS, feel free to do it. Then, a GUI or console application could easily be programmed to use these libraries.
     
  4. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
    Okay, today I worked on the Linux port. Though, I had to work under Windows (Linux being mean today...). So, I simply made a console version which you should be able to compile quite easily under Linux, using gpp. I'm sorry I haven't tryed to compile it myself, but I need to reinstall Linux, and this is not really time to do it (2:11 AM here in France). All I know is that it compiles and works fine under Windows when using the Windows version of gpp.

    http://ssrg.shadowsoft-games.com/magus/dow...e-source.tar.gz

    I was about to forget. The Enigma and Nemesis compression algorithms were a bit difficult to port (different programmer, different programming methods :D), so I'm unsure if they will compile properly under Linux.

    Oh yeah another thing... These sources could also be compiled for several other OSes and platforms, I guess. Though, if the target platform is a big endian processor, you'll have to swap the content of some variables in order to get the program to work correctly.
     
  5. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
  6. Sonic McTails

    Sonic McTails

    Oldbie
    35
    0
    0
    Won't you like to know
    Sonic Classic/SSonicNet
    well, I got the K-Compression/K-Decompression working on OS X, but as I don't know how to fix the endians, that's that. However, once I get my hands on a PC Linux machine, I'll write the additions in the code that will have it use GNU Configure and friends.
     
  7. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
    Hello friends !

    Today I added Game Maker support to the KENS library, so Game Maker users will be able to make Sonic Hacking tools using Game Maker !

    KENS 1.2 is ready for download. Additionally, TSDC has been repacked to include the latest KENS DLLs.

    P.S: May I ask for this topic to be pinned ?
     
  8. NickW

    NickW

    Member
    If you mean GameMaker made by Mark Overmars, then that is good for me. (as I paid my $15 (now $18) registration fee)
     
  9. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
    Yes, it is Game Maker by Mark Overmars.

    I'm curious to know what tool you're planning to do using the KENS library.
     
  10. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
    Another update to KENS. This version (V1.3) supports the compression and decompression of the Sonic 2 Sound Driver (using a very slight variation of the Saxman format). I also corrected a bug that prevented to decompress from Game Maker (though, you were still able to compress ).

    TSDC was also updated, and supports the new Saxman functions (this means you are able to compress and decompress the Sonic 2 Sound Driver with it). This is quite special though, as you have to enter the size of the archive by yourself. That shouldn't be a problem anyway, as I wrote it in the location list, at the end of the Sonic 2 Sound Driver location.

    Enjoy.
     
  11. Magus

    Magus

    Fallen Hacker From The Past Tech Member
    157
    0
    16
    Paris, France
    Translating Grandia 2 PC to French
    Sorry to "bump" this topic, but I would need some feedback about the Sonic 2 Sound Driver compression/decompression support. Nemesis, you were requesting that support, does it suit your needs ?
     
Thread Status:
Not open for further replies.