View Single Post
Old 25 March 2010, 01:56   #27
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
OK, I'm at almost 1.5 scanlines gain now. It's getting exponentially harder as there's less code left to remove or do anything with). A for-sure gain of 1 branch per channel turns out to gain 0 cycles, so revert to good old version and back to profiling. I've focused mainly (there it is again, that word!) on distributing chunks of code rather than clever tricks or 'optimizing every effect' since I want to make sure the changes I do have no side effects that might not get tested properly with the modules I play.

The P61_slen (song length variable) bug was simply that it writes the length+1, and the only reason I didn't find it for the other (length >1) modules was that I had no Bxx/Dxx/SetPosition stuff that jumped to the last pattern in the song in them. It's now fixed to store the correct song length. The reason stepping to next pattern even worked (!) was that it doesn't check song length at all but does the same check as the search in P61_Init, or it would have been noticed long ago I think.

So when I fixed that I tested Bxx/Dxx/Setposition to last pattern and it all magically worked. I love it when that happens

I'm pretty much done, I'll see if I can remove a moveq from the playtime channel loop, possibly make a conditional for the decrunch to save a dbf, and if I have the oomph profile some commonly used effects to see if there's any use having a look at them.

I wrote before that it should be considered a 'branch from p6107' since I've started changing things in the main code. That's not really true now, I've made the distributions of code assembler options and wrote information about their use. The only real issue is if you use 'F01' commands (playingpatternsveryfastinabout1second!), and you can even use non lev6 mode with CIA-timing if you read the docu.

Uhm... Thundercats are GO! Back in a bit.
Photon is offline  
 
Page generated in 0.07529 seconds with 11 queries