Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Pack chunks and depack anywhere EXOMIZER
2018-02-18 21:16
Golara
Account closed

Registered: Jan 2018
Posts: 212
Pack chunks and depack anywhere EXOMIZER

I have a question about the exomizer. In my demo part there's a lot of empty bytes between specific parts. For example, my code starts at $0801 and ends at about 2500, my music is at 2700, then i put stuff in the vic bank $4000, inside the bank i skip forward to $5000 to load bitmap etc...

Of course exomizer is quite good at packing this anyway, since it's just zeros, but I'm sure it can be better. I could put all my data back to back, compress that, extract and then copy it where I want it, but I'm sure there's an option to pack the stuff separatelly and just extract it to a specific address. The question is, how do you do it ? I can't find any exomizer tutorials or documentation except on how to do a basic sfx program.

This is what I'm looking for more or less

*=0801
; the addres of packed stuff
; and destination on some ZP addr
lda #<packed_for_0x1000
sta $10
lda #>packed_for_0x1000
sta $11
lda #$00
sta $12
lda #$10
sta $13
jsr depacker
; depack next stuff
lda #<packed_for_0x4000
sta $10
lda #>packed_for_0x4000
sta $11
lda #$00
sta $12
lda #$40
sta $13
jsr depacker
; depack next stuff
lda #<packed_for_0x6000
sta $10
lda #>packed_for_0x6000
sta $11
lda #$00
sta $12
lda #$60
sta $13
jsr depacker
depacker:
!binary depacker.bin
;-------
packed_for_0x1000:
!binary some_stuff_for_0x1000.bin
packed_for_0x4000:
!binary some_stuff_for_0x4000.bin
packed_for_0x6000:
!binary some_stuff_for_0x6000.bin
....
 
... 16 posts hidden. Click here to view all posts....
 
2018-02-22 11:32
Krill

Registered: Apr 2002
Posts: 2850
Quoting Zirias
Krill, this was about zero-filling as a side effect of decrunching vs. calling the decruncher multiple times for individual chunks (and **not** zero-filling at all between them).
Alright, sorry then. But yes, calling a decruncher multiple times for several chunks adds not only table-building overhead, but also decreases overall pack ratio. The zero-filled areas themselves might not be filled that much slower than with a dedicated zero-fill routine, and in the multiple decrunch scenario, the decruncher would have to fetch more literals than copy sequences, with the former seeming a tad slower than the latter.
2018-02-22 12:08
Zirias

Registered: Jan 2014
Posts: 48
Indeed, that's why I suggested to measure the individual case in order to be sure ;) That is, *if* you want to optimize the total decrunching time.

Another option might be to use a stream decruncher and implement the logic for skipping areas yourself, but that's probably just over the top.
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
OEP/AoD
Knut Clausen/SHAPE/F..
Tim/Silicon Limited
aNdy/AL/Cosine
Flex/Artline Designs
celticdesign/G★P/M..
Da Snake
DuncanTwain
Clayboy
t0m3000/ibex-crew
Guests online: 153
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Organizers
1 Burglar  (9.9)
2 Sixx  (9.8)
3 hedning  (9.7)
4 Irata  (9.7)
5 MWS  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.041 sec.