Hi,

I am having troubles recently. Programs that used to work ok are now behaving strangely, like certain lines of code being ignored, or so it seems. I may have only changed a pause time or something simple, but when compiled no longer work as expected. This started (though may be a coincidence) when I moved to windows 7 at work, PBP V2.5 did not seem to work, so I upgraded to PBP3, but still having problems. Here is an example.
Code:
goto start
pulse:
while pulseon = 1
high pulses
pauseus 100
low pulses
pauseus 100
wend
return

start:
if coil1 = 1 then
thy1 = 1
thy2 = 0
thy3 = 0
thy4 = 0
endif

if coil2 = 1 then
thy1 = 0
thy2 = 1
thy3 = 0
thy4 = 0
endif

if coil3 = 1 then
thy1 = 0
thy2 = 0
thy3 = 1
thy4 = 0
endif

if coil4 = 1 then
thy1 = 0
thy2 = 0
thy3 = 0
thy4 = 1
endif

if pulseon = 1 then gosub pulse

goto start
Now no matter which coil input is high, and when pulseon is low all the program will do is switch on thy1, and continually run the pulse subroutine.
Here is another:
Code:
if lastgun = 3 then goto jmp3   'if it was last to be used then no need to 
                                          'send settings or change relays
high coil3     ;switch on channel 3 relay
low coil1     ;swirch off all others
low coil2
low coil4
'load channel 3 settings ready to be sent to main card
let ivalue = current3
let tvalue = time3
let gvalue = gas3
let scvalue = sctime3
gosub sendmain ' send the values
pause 150
jmp3:   'jump to here if this was last gun used
let lastgun = 3 'set last gun flag
Here the first line is always ignored, all of the rest of this quite large program works fine, and these programs used to work fine.
I have tried changing chips, and PCBs so I know it cant be hardware faults, or blown chips.
Anyone have any ideas?

Regards
Bob.