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 > Exmoizser and Mem trash RAM?
2016-11-30 11:47
oziphantom

Registered: Oct 2014
Posts: 490
Exmoizser and Mem trash RAM?

I'm using the mem option, and the depack routine provided in the src of exomizer.

The data is from BB28-DF40 I set the load address to 1000 like so
exomizer mem -l $1000 -o drop64BitmapMem.prg  dropzonebitmap.prg

However it seems the Exomizer then wants to clear all RAM between 1000-BB28 when it depacks, which trashes the depacker. How do I stop it?
2016-11-30 12:28
oziphantom

Registered: Oct 2014
Posts: 490
If I set the load to $a000 it still does it.

Since my unpack code is at 4000, the memory clear stops there when it trashes its own code.
2016-11-30 13:25
iAN CooG

Registered: May 2002
Posts: 3193
Try adding -c to the exomizer commandline and enable LITERAL_SEQUENCES_NOT_USED = 1 in exodecrunch.s, sometimes literal seq make it bugs. It's unrelated to your problem btw. I tried a quick test and works, only memory bb28-df40 gets unpacked and no other memory is overwritten.
2016-11-30 13:38
lft

Registered: Jul 2007
Posts: 369
If you are decrunching into colour ram, here's a gotcha that I ran into a while ago:

For efficiency, many cruchers work from high addresses to low addresses. Suppose the original, uncompressed data contains e.g. "00 01 02" at address cff0 and "00 01 02" at address d800. It might happen that the decruncher writes "00 01 02" at d800 first, and then tries to copy that over to address cff0. But it will read back as "f0 f1 f2" (actually the high nybble would contain bus noise). So that's what gets written at cff0.
2016-11-30 13:46
iAN CooG

Registered: May 2002
Posts: 3193
Ah, I assumed that he intended to unpack after setting all ram (lda #$38 sta $01)
2016-11-30 14:35
oziphantom

Registered: Oct 2014
Posts: 490
Yes the unpack from $1000 upto BB28 is done with All RAM as it is under I/O & D800, although that is a nice quirk you found lft.

iAN did you do a mem depack or the sfx ?
2016-11-30 14:42
iAN CooG

Registered: May 2002
Posts: 3193
mem of course, here is my quick test
https://www.dropbox.com/s/tf3vsrdtvsqv6iv/exotest.rar?dl=0

test.prg is the test data, randomly prepared from some tunes and ranging $bb28-df3f

t.bat crunches the prg and compiles the exotest.s to exotest.prg, all mem is filled with $ea to check after it finishes that nothing else gets written to.

the test.exo gets linked at $1000, code is at $4000, like you are trying to do. Everything works as expected.

What I suspect is that your original data isn't exactly ranging as you said.
2016-11-30 14:55
Flavioweb

Registered: Nov 2011
Posts: 463
I guess if you set start address with -l at $1000, and your data starts at $bb28, exomizer fills $1000-$BB27 with $00.
Is normal exomizer behaviour... like if you pack more chunks of data, at different addresses: exomizer fills the ram in the middle with $00...
2016-11-30 14:59
iAN CooG

Registered: May 2002
Posts: 3193
-l <address> adds load address to the outfile, using "none" as <address>
will skip the load address.

it's just the load address of the crunched data, it only affects the 1st 2 bytes of the generated file in other words.
you can even skip it by using -l none, and then include the file with incbin which doesn't use a load address but includes every file as raw.
*=$1000
incbin test.exo

same result.
2016-11-30 15:40
oziphantom

Registered: Oct 2014
Posts: 490
iAN test works the same on my setup..
I've switched to Byteboozer, but that won't work in the end. So tomorrow ( well today its 2:30am here ) I will switch back to exomizer and see what I see. Well if I can get the 2nd file loading, first one loads, 2nd one Krill's loader just sits waiting on $dd00 I must be trashing something it wants somehow..

Thanks for the help guys.
2016-11-30 19:04
iAN CooG

Registered: May 2002
Posts: 3193
what? my test works, how can it be possible that bugs for you? or do you mean "works correctly also for me"? =)
 
... 5 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 - 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
Perplex/Offence
4gentE/ΤRIΛD
t0m3000/hf^boom!^ibx
Walt/Bonzai
REBEL 1/HF
Mibri/ATL^MSL^PRX
Inge/HVSC
Mike
Stratford/Xenon
lA-sTYLe/Quantum
sln.pixelrat
iAN CooG/HVSC
LightSide
zscs
The MeatBall
Guests online: 123
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

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