just a quick glance -

Code:
SOFTPWM:
IF Mode > 0 then 
    goto SOFTPWMAUTO
    ELSE
    GOTO SOFTPWMMAN
    ENDIF

@ INT_RETURN
RETURN
shouldn't that be gosub softpwm... because otherwise it will not come back and process the @ INT_RETURN?

just a guess