Compression Library

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

Post Reply
MERLiX
Newbie
Posts: 8
Joined: Mon Jan 15, 2007 10:45 pm

Compression Library

Post by MERLiX » Wed Feb 14, 2007 1:44 am

I was working on a huffman based compression library a few years back (Which I never got around to finishing *gasp surprise*)

And was wonder if anyone would like it? (Plus that would give me motivation to actually finish it.)

It uses 3 trees one for the uncompressed literals, one for the lengths and the last for the location. It was fairly compact in its size of tables, and could be tailored to work fairly well in 68k asm (The part I still need to finish)

So just wondering if anyone would be interested?

Plus I need something to do since I've (temporarily lost interest in my other Sega project).

Pascal
Very interested
Posts: 200
Joined: Wed Nov 29, 2006 11:29 am
Location: Belgium
Contact:

Post by Pascal » Wed Feb 14, 2007 7:59 am

sound interesting, specialy for including in Stef library. it would be a nice feature to add a direct vram write

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Fri Feb 16, 2007 11:30 am

Pascal wrote:sound interesting, specialy for including in Stef library. it would be a nice feature to add a direct vram write
As said Pascal, this sounds really interesting, it would be very nice if i could include it in my library (if you agree of course) :)

KanedaFr
Administrateur
Posts: 1139
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Post by KanedaFr » Fri Feb 16, 2007 1:42 pm

Fonzie, I thought you already had something like this no ?

personnaly, I use CMD RLE compression code for a long time now ;)

Fonzie
Genny lover
Posts: 323
Joined: Tue Aug 29, 2006 11:17 am
Contact:

Post by Fonzie » Fri Feb 16, 2007 1:54 pm

Yeah, I have megadrive super archiver :)
You select a folder and it pack all the files in a single file (using LZss or not) and it output tables for accessing files using three methods :
- ID (file number)
- Name (file name)
- Definition (C #define)

Actualy, its not me who coded the thing... The lzss routine was coded by FDarkangel and the windows tool by TulioAdriano.
It was developped for TavernRPG.

The result is : Super fast browsing archive... And compression stronger than ZIP/RAR. The bad thing is that , it cannot decompress in vram immediately and it is quite slow...

Btw : The lzss decompression routine have a problem on real hardware, so i'm trying to contact Fdarkangel, without success :/

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Fri Feb 16, 2007 3:17 pm

Fonzie wrote:Yeah, I have megadrive super archiver :)
You select a folder and it pack all the files in a single file (using LZss or not) and it output tables for accessing files using three methods :
- ID (file number)
- Name (file name)
- Definition (C #define)

Actualy, its not me who coded the thing... The lzss routine was coded by FDarkangel and the windows tool by TulioAdriano.
It was developped for TavernRPG.

The result is : Super fast browsing archive... And compression stronger than ZIP/RAR. The bad thing is that , it cannot decompress in vram immediately and it is quite slow...

Btw : The lzss decompression routine have a problem on real hardware, so i'm trying to contact Fdarkangel, without success :/
Anything which can be added in my library is welcome :p
I hope the library can be fixed :)

Pascal
Very interested
Posts: 200
Joined: Wed Nov 29, 2006 11:29 am
Location: Belgium
Contact:

Post by Pascal » Fri Feb 16, 2007 3:24 pm

KanedaFr wrote:personnaly, I use CMD RLE compression code for a long time now ;)
Do you have the C code for packing ? i wanted to add it to genitile ;)

fdarkangel
Interested
Posts: 24
Joined: Sun Dec 17, 2006 8:28 pm
Location: Osaka, Japan

Post by fdarkangel » Fri Feb 23, 2007 4:53 pm

Fonzie wrote:Btw : The lzss decompression routine have a problem on real hardware
It's weird that it appears only in real thing. Wish I had equipment to make some tests on h/w someday... Since it's harder to spot bugs in assembly code than C code, how about testing the C code on h/w instead? And is there a chance that bug is somewhere else than lzss_decode()?

Post Reply