Hi all,
da das Thema in einigen Unterthreads bereits mal angerissen wurde, wollte ich das auch mal hier reinstellen: Was nimmt man zweckmaessigerweise am besten, um Daten (Bilder, Programme, Musik...) zu komprimieren? Und vor allem: Wie kann man es dann in eigenen Programmen benutzen?
Kompression
- Octoate
- Erledigt
-
-
Ich hab immer den Cheese-Cruncher genommen. Wenn du damit Bilder komprimierst, musst du da aber noch was ändern. Du musst in den unsichtbaren bereich des bildes - z. B. &FFFE - ein &C9 (=RET) poken und das bild nochmal mit SAVE "BILD",B,&C000,&4000,&FFFE speichern. Der Cheese Cruncher will das Programm nämlich ausführen - ohne RET schmiert nach dem entpacken der CPC ab.
-
Zitat von "Octoate"
Hi all,
da das Thema in einigen Unterthreads bereits mal angerissen wurde, wollte ich das auch mal hier reinstellen: Was nimmt man zweckmaessigerweise am besten, um Daten (Bilder, Programme, Musik...) zu komprimieren? Und vor allem: Wie kann man es dann in eigenen Programmen benutzen?Hi,
In the past, I mainly used Crown Cruncher but I'm about to change for CPCT, the Overlanders' program. The files I tested are always smaller with CPCT, with the version 2.0. I've not tested the next versions yet... The advantage of CPCT and Crown is that the files are relocatable. Maybe is it the same for other programs I don't know.
For the screens, I always used SCRUNCH (Epsilon's tool) as he managed the palette. But of course, the crunched screen can be crunched again with other crunchers...
-
Currently I am using the Crown Cruncher. The only reason is the decrunching speed, no other cruncher is faster.
Crown suggested first to crunch with "Crown Crunch" and then in a second step with "Crown Imploder". I exactly did that in the past for my demos. I think the Cheese Cruncher does both steps at once, but I don't know exactly. In any case Cheese and Imploder have much longer decrunching times, as they use a more complicated crunching algorythm which leads to shorter files and also to shorter crunching time.
But as long as a crunched SymbOS fits into 64K rom, I will use the Crown Cruncher to have this great decrunching speed during booting.Btw, as someone on <!-- m --><a class="postlink" href="http://www.MSX.ORG">http://www.MSX.ORG</a><!-- m --> asked for a fast decruncher, I disassembled Crowns routine and posted it there with a few comments. Hope he will not be angry with me Here is the code:
Code
Alles anzeigenHere is the decruncher (by Crown of BENG! aka Andreas Stefan Winter). I didn't disassemble the code of the cruncher, but you can download the program here: http://genesis8.free.fr/frontend/utility/crunch14.zip The source should just give an idea, if this could be useful for you or not. Unfortunately I don't know anything about the MSX crunchers yet. di call #000f ;find out current address (normalley there is always a #c9 at #000f) dec sp dec sp pop hl ld bc,#c758 add hl,bc ld e,(hl) ;de=destination address inc hl ld d,(hl) ld bc,#0011 add hl,bc .l8292 ;main loop ld a,(hl) inc hl ld c,(hl) cp #ff ;** -1 = end of crunched data ret z nop nop cp #50 jr nc,l82a6 inc a ;** 0-79 = copy data 1:1 (length=code+1) ld c,a ld b,#00 ldir jr l8292 .l82a6 cp #a0 jr nc,l82b2 sub #4d ;** 80-159 = fill with zeros (length=code-77) ld c,a ld b,#00 xor a jr l8322 .l82b2 cp #f0 jr nc,l82bf sub #9c ;** 160-239 = fill with the next byte (length=code-156) ld c,a ld b,#00 ld a,(hl) inc hl jr l8322 .l82bf cp #fd jr nz,l82c8 ld b,#00 ;** #fd = copy up to 255 bytes... inc hl jr l82cf .l82c8 cp #fe jr nz,l82db inc hl ;** #fe = copy up to 65535 bytes... ld b,(hl) inc hl .l82cf push de ;** ...from an already decrunched area ld e,(hl) inc hl ld d,(hl) inc hl ex (sp),hl ex de,hl ldir pop hl jr l8292 .l82db sub #f0 jr nz,l82eb ld a,(hl) ;** #f0 = copy up to 255 new bytes inc hl add #51 ld c,a ld b,#00 jr nc,l82f1 inc b jr l82f1 .l82eb dec a jr nz,l82f5 inc hl ;** #f1 = copy up to 65535 new bytes ld b,(hl) inc hl .l82f1 ldir .l82f3 jr l8292 .l82f5 dec a jr nz,l8300 xor a ;** others = different fill methodes push af ld a,(hl) inc hl add #53 jr l8313 .l8300 dec a jr nz,l8309 inc hl ld b,(hl) inc hl xor a jr l8322 .l8309 dec a jr nz,l831c ld a,(hl) inc hl push af ld a,(hl) inc hl add #54 .l8313 ld c,a ld b,#00 jr nc,l8319 inc b .l8319 pop af jr l8322 .l831c ld a,(hl) inc hl ld c,(hl) inc hl ld b,(hl) inc hl .l8322 ;** repeat the same value x times push hl dec bc ld h,d ld l,e inc de ld (hl),a ldir pop hl jr l82f3
CU,
Prodatron -
Zitat von "Kangaroo MusiQue"
He will kill you for that
i can post somoe sources of Thriller's Rasters
i dont know why, but i have a disc full of sources from himPlease post them! And if you wanna have some more tons of groundbreaking mother fucking cool sources, you can download 23 (yes, 23, you all know this number!) discs full of pdt-sources of the 90ies on my website
CU,
ProdatronNach 15 Jahren interessiert der Kram doch eh keinen mehr.
-
-
Yes, that's the usual way for the MSX. One "cross compressor" example is Bitbuster:
<!-- m --><a class="postlink" href="http://www.msx.org/modules.php?op=modload&name=Downloads&file=index&req=visit&lid=835">http://www.msx.org/modules.php?op=modlo ... it&lid=835</a><!-- m -->CU,
Prodatron -
Hmm, looks nice, I will try to use it :). Did you use this program with one of your programs before?
-
No, I am still going with the Crown Cruncher!
As I can switch WinApe into TurboMode + Frameskip-Mode, the Cruncher runs so ultra fast, that I don't need a PC-based one yet.
But I guess Bitbuster is a very interesting alternative!CU,
Prodatron -
Well, the big advantage would be, that you can have a build file. You just start the build process and get a complete binary file, so you don't need to start the emulator, load that file, etc.
Ok, ok, ... I know, I am too lazy ;). -
Zitat von "Octoate"
Hi all,
da das Thema in einigen Unterthreads bereits mal angerissen wurde, wollte ich das auch mal hier reinstellen: Was nimmt man zweckmaessigerweise am besten, um Daten (Bilder, Programme, Musik...) zu komprimieren? Und vor allem: Wie kann man es dann in eigenen Programmen benutzen?pucrunch!!!!!!!!!!!
<!-- m --><a class="postlink" href="http://bree.homeunix.net/~ccfg/pucrunch/">http://bree.homeunix.net/~ccfg/pucrunch/</a><!-- m -->
I use it and it is fantastic!!!!
-
Hi Kevin, I wonder, if you speak German? :o
-
Yep, pucrunch seems to be very good indeed. I had a quick test with it. There also exists another routine by Maxim (http://www.smspower.org/maxim/smssoftware/pucrunch.html), but it didn't work when I tried it.