| |
Kruthers
Registered: Jul 2016 Posts: 21 |
Covert Bitops loader + exomizer + TDE = corruption
I'm testing in Vice and when I use the covert bitops loader w/ exomizer and enable true drive emulation, I get corrupted data.
However, if I disable TDE (and the loader uses fake mode or whatever), it decrunches fine. Also, if I use the loader with an unpacked file, it works fine with or w/o TDE. It's only the combination of all three that fails for me!
I've tried 1 bit and 2 bit protocols, various other toggles in the cfg, made sure I'm not overwriting the loader, disabled all IRQs. I'm using vice 3.1, exomizer 2.0.9 and covert loader 2.26.
And weirdly the data isn't completely trashed, just partly. Here's a pic of part of the hex diff.
Any ideas what I'm doing wrong? I'm going crazy over here... |
|
| |
Style
Registered: Jun 2004 Posts: 498 |
maybe post the loader config you're using? |
| |
Flavioweb
Registered: Nov 2011 Posts: 463 |
I used this configuration many times and worked just fine.
My guess is that your code, at some point, overwrite exomizer buffers/zp "variables"... |
| |
cadaver
Registered: Feb 2002 Posts: 1160 |
Sector buffer overlapping Exomizer buffer? |
| |
Kruthers
Registered: Jul 2016 Posts: 21 |
Ahhhggg... i found it! What happened is I'm loading under basic but I didn't disable basic rom. Writing to rom is ok of course, but a compression routine like exomizer also needs to read where it writes so... doh.
What threw me off is it working fine without TDE. I don't understand that but don't need to.
ANyway, thx for the suggestions, they made me hunt harder. :) |
| |
iAN CooG
Registered: May 2002 Posts: 3193 |
I know for sure that Inject to RAM loading method sees all RAM, so it can load >202 blocks files.
But that works for prg files, from d64 it should always fail for >202 blocks files, or in any case exceeding $cfff.
Unless you're also using a cart like TFR 0.8 in VICE, which loads all mem also with TDE off. |
| |
Kruthers
Registered: Jul 2016 Posts: 21 |
My prg ends around $c300 so IO wasn't a problem.
The covert loader has a LOAD_UNDER_IO flag that seems to manipulate $01 at critical times, but I didn't even think to try because I didn't need to load under IO. But it might have fixed the problem if it switches out basic too... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
you dont have basic switched out by default? /o\ |
| |
Kruthers
Registered: Jul 2016 Posts: 21 |
Well in my defense I, uh... yeah there really is no excuse. |