Without going into tricks like manipulating the system variables used for the PAUSE statement there's no way to terminate a PAUSE statement prematurely. If you're using interrupts (not ON INTERRUPT though) the program can be made to respond DURING the PAUSE statement but then any time spent handling those events will of course be "added" to the duration of the pause.
The best way is probably to break the pause duration up in a a lot of shorter durations and check your inputs and what not as part of that loop. I read your response as if that's something you've tried but it's not clear why it didn't work for you. To keep accurate timin you must try Writing the "check-inputs-code" so that it always takes the same amount of time. Then of course I have no idea exactly how acurate you NEED to be.
If the polling code take 120us to execute then do a loop with PAUSEUS 876 (tweak it match) and GOSUB your polling code each time.
/Henrik.
Bookmarks