Thanks Bruce,

I think I understand what was happening now. After implementing your code example I found that the NAP's were giving me the same pause period as the sleep command. I was using a bunch of nap's in my mainloop and that's why my program slowed down so much. I do need shorter delays in sleep than the 2.3 seconds @ 128 so I guess I'll have to lower the WTD timer postscaler to the smallest delay that I anticipate using then use multiple commands for the required longer delays that I need. I hope that doesn't increase my current draw but I guess I'll know soon enough.

I changed the sleep times just to see what I'd get and I found that a setting of sleep 5 would give me approximately 6 seconds and then sleep 6 would give the same results. Then sleep 7 gave me a pause time of approx. 8 seconds and sleep 8 & 9 yielded the same. Is there any rhythm or rime to that? I guess I'll have to check the times for whatever values I'm using to be sure. Also I read somewhere that the sleep times will change with temperature as well.

I've never seen code like your While X Wend code, I compiled a For..Next to compare and the for..next uses 2 bytes more to compile, is that why you used it? Another question, why did you use PORTD = PORTD ^ 1 in that code snip? I couldn't understand what it was doing in there and also if you could tell me, what does PORTD = 1 and TRISD = 0 do in pbp code? I'll be interested to hear your reply on that.

Thanks Again
jessey